UnkFlagStuff cleanup

This commit is contained in:
lepelog
2023-08-10 11:32:03 +02:00
parent d7882c352e
commit d681c65480
5 changed files with 31 additions and 42 deletions
+14 -6
View File
@@ -3,12 +3,20 @@
#include "types.h"
struct UnkFlagDefinition {
u8 shift;
u8 mask;
u8 mIndex;
u8 mShiftMask;
};
struct UnkFlagStuff {
u16 definitionsCount;
UnkFlagDefinition* definitions;
class UnkFlagStuff {
u16 mDefinitionsCount;
UnkFlagDefinition* mpDefinitions;
public:
u16 calculateMask(s32 shift);
void doNothing(u32 unused);
UnkFlagStuff(u16 count, UnkFlagDefinition* definitions);
void prepareIndexShiftMask(u16 counterIdx, u32 flagCount, u16* pIndex, u8* pShift, u16* pMask);
u16 maskForIdx(u16 index);
u32 getCounterOrFlag(u16 counterIdx, u16* pData, u32 flagCount);
void setCounterOrFlag(u16 counterIdx, u16* pData, u32 flagCount, u32 value);
u32 checkFlagValid(u16 counterIdx, u32 flagCount);
};