Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 0 additions & 3 deletions CaptureManagerClass.h
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,6 @@ class NOVTABLE CaptureManagerClass : public AbstractClass
void FreeAll()
{ JMP_THIS(0x472140); }

int NumControlNodes() const
{ return ControlNodes.Count; }

bool CanCapture(TechnoClass *Target) const
{ JMP_THIS(0x471C90); }
bool CannotControlAnyMore() const
Expand Down
12 changes: 12 additions & 0 deletions Conversions.h
Original file line number Diff line number Diff line change
Expand Up @@ -65,4 +65,16 @@ class Conversions
return Int2Highest(static_cast<DWORD>(v));
}

static unsigned int TranslateFixedPoint(size_t bitsFrom, size_t bitsTo, size_t value, size_t offset = 0)
{
size_t maskIn = ((1u << bitsFrom) - 1);
size_t maskOut = ((1u << bitsTo) - 1);

if (bitsFrom > bitsTo)
return (((((value & maskIn) >> (bitsFrom - bitsTo - 1)) + 1) >> 1) + offset) & maskOut;
else if (bitsFrom < bitsTo)
return (((value - offset) & maskIn) << (bitsTo - bitsFrom)) & maskOut;
else
return value & maskOut;
}
};