Merge branch 'flags'

This commit is contained in:
lepelog
2023-08-10 18:23:29 +02:00
11 changed files with 500 additions and 67 deletions
+11
View File
@@ -0,0 +1,11 @@
#pragma once
#include <types.h>
extern "C" {
void* memset(void* dest, s32 value, u32 count);
void* memcpy(void* dest, const void* src, u32 count);
void* checkedMemcpy(void* dest, u16 destLen, const void* src, u16 count);
}
+10
View File
@@ -0,0 +1,10 @@
#pragma once
#include <types.h>
class BitwiseFlagHelper {
public:
bool checkFlag(u16 slot, u16 shift, const u16 *pData, u16 flagCount);
void setFlag(u16 slot, u16 shift, u16 *pData, u16 flagCount);
void unsetFlag(u16 slot, u16 shift, u16 *pData, u16 flagCount);
};
+20
View File
@@ -0,0 +1,20 @@
#include <types.h>
// stub
struct FileManager {
u8 pad[0xa840];
u8 isFileUnk1[3];
static FileManager *sInstance;
u16* getSceneflags();
u16* getTempflags();
u16* getZoneflags();
u16* getSceneflags2();
u16* getTempflags2();
u16* getZoneflags2();
void setTempflags(u16*, u16, u16);
void setZoneflags(u16*, u16, u16);
void setSceneflags(u16*, u32, u16);
static FileManager* getInstance() {
return sInstance;
}
};
+25
View File
@@ -0,0 +1,25 @@
#pragma once
#include <types.h>
struct BaseFlagSpace {
u16 *mpFlags;
u16 mCount;
BaseFlagSpace(u16 *pFlags, u16 count): mpFlags(pFlags), mCount(count) {}
};
class FlagSpace: public BaseFlagSpace {
public:
void init(u16 *pFlags, u16 count) {
mpFlags = pFlags;
mCount = count;
}
FlagSpace(u16 *pFlags, u16 count): BaseFlagSpace(pFlags, count) {}
u16* getFlagPtrChecked();
u16* getFlagPtrUnchecked();
void unsetAll();
void setAllToZero(u16 offset, u16 flagCount);
void copyFromSaveFile2(u16 *pSaved, u16 offset, u16 flagCount);
void copyFromSaveFile(u16 *pSaved, u16 offset, u16 flagCount);
virtual void filemanagerCheck();
};
+1 -1
View File
@@ -118,7 +118,7 @@ public:
// 0x80009AA0
u16* getUnkFlags1();
// 0x80009AB0
s16* getPlayerName(); // using Shift JIS i assume
s16* getPlayerName(); // UTF16-BE
// 0x80009AC0
void setAreaT1(char* name);
// 0x80009BE0