summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorlepelog <25211966+lepelog@users.noreply.github.com>2023-08-10 11:32:03 +0200
committerlepelog <25211966+lepelog@users.noreply.github.com>2023-08-10 11:32:03 +0200
commitd681c65480683b8c161a2ff2c5028f033ee83b76 (patch)
treed050493ed9e8248c91f44d1a83a9df19823b425a /src
parentd7882c352e3acc0e33e4a8409122ffe738217b71 (diff)
UnkFlagStuff cleanup
Diffstat (limited to 'src')
-rw-r--r--src/toBeSorted/unk_flag_stuff.cpp (renamed from src/unk_flag_stuff.cpp)47
1 files changed, 14 insertions, 33 deletions
diff --git a/src/unk_flag_stuff.cpp b/src/toBeSorted/unk_flag_stuff.cpp
index b68696dd..e755a7a5 100644
--- a/src/unk_flag_stuff.cpp
+++ b/src/toBeSorted/unk_flag_stuff.cpp
@@ -1,25 +1,6 @@
#pragma once
-#include <types.h>
-
-struct UnkFlagDefinition {
- u8 index;
- u8 shiftMask;
-};
-
-class UnkFlagStuff {
-u16 definitionsCount;
-UnkFlagDefinition* definitions;
-public:
- u16 calculateMask(s32 shift);
- void doNothing(u32 unused);
- UnkFlagStuff(u16 count, UnkFlagDefinition* definitions);
- void prepareIndexShiftMask(u16 counterIdx, u32 unused, u16* indexPtr, u8* shiftPtr, u16* maskPtr);
- u16 maskForIdx(u16 index);
- u32 getCounterOrFlag(u16 counterIdx, u16* dataPtr, u32 param4);
- void setCounterOrFlag(u16 counterIdx, u16* dataPtr, u32 flagCount, u32 value);
- u32 unk(u16 param1, u32 param2);
-};
+#include <toBeSorted/unk_flag_stuff.h>
u16 UnkFlagStuff::calculateMask(s32 shift) {
return (2 << (shift & 0xF)) - 1;
@@ -28,21 +9,21 @@ u16 UnkFlagStuff::calculateMask(s32 shift) {
void UnkFlagStuff::doNothing(u32 unused) {}
UnkFlagStuff::UnkFlagStuff(u16 count, UnkFlagDefinition* definitions) {
- this->definitionsCount = count;
- this->definitions = definitions;
+ this->mDefinitionsCount = count;
+ this->mpDefinitions = definitions;
}
void UnkFlagStuff::prepareIndexShiftMask(u16 counterIdx, u32 unused, u16* indexPtr, u8* shiftPtr, u16* maskPtr) {
doNothing(counterIdx);
- *indexPtr = definitions[counterIdx].index;
- *shiftPtr = definitions[counterIdx].shiftMask >> 4;
- *maskPtr = calculateMask(definitions[counterIdx].shiftMask);
+ *indexPtr = mpDefinitions[counterIdx].mIndex;
+ *shiftPtr = mpDefinitions[counterIdx].mShiftMask >> 4;
+ *maskPtr = calculateMask(mpDefinitions[counterIdx].mShiftMask);
}
u16 UnkFlagStuff::maskForIdx(u16 index) {
doNothing(index);
- return calculateMask(definitions[index].shiftMask);
+ return calculateMask(mpDefinitions[index].mShiftMask);
}
u32 UnkFlagStuff::getCounterOrFlag(u16 counterIdx, u16* dataPtr, u32 param4) {
@@ -62,21 +43,21 @@ void UnkFlagStuff::setCounterOrFlag(u16 counterIdx, u16* dataPtr, u32 flagCount,
dataPtr[index] = (u16)(value << shift) | dataPtr[index];
}
-inline bool check(int a, int b) {
+inline bool isLessThan(int a, int b) {
return a <= b;
}
-u32 UnkFlagStuff::unk(u16 param1, u32 param2) {
- if (definitions == nullptr) {
+u32 UnkFlagStuff::checkFlagValid(u16 counterIdx, u32 flagCount) {
+ if (mpDefinitions == nullptr) {
return 0;
}
- if (definitionsCount <= param1 || definitions[param1].index == 0xFF) {
+ if (mDefinitionsCount <= counterIdx || mpDefinitions[counterIdx].mIndex == 0xFF) {
return 0;
} else {
- if (!check(param2, definitions[param1].index)) {
- return 1;
- } else {
+ if (isLessThan(flagCount, mpDefinitions[counterIdx].mIndex)) {
return 0;
+ } else {
+ return 1;
}
}
}