2024-03-17 22:55:49 +00:00
|
|
|
#ifndef D_BASE_H
|
|
|
|
#define D_BASE_H
|
2023-08-09 14:59:04 +00:00
|
|
|
|
2023-10-06 11:49:50 +00:00
|
|
|
#include "f/f_base.h"
|
|
|
|
// #include "c/c_owner_set.h"
|
2023-08-09 14:59:04 +00:00
|
|
|
|
|
|
|
// Ghidra: dBase_c
|
|
|
|
// size: 0x68
|
|
|
|
// non-official but likely name
|
2023-08-10 17:46:38 +00:00
|
|
|
class dBase_c : public fBase_c {
|
|
|
|
public:
|
2024-10-16 13:00:47 +00:00
|
|
|
enum BaseProperties_e {
|
|
|
|
BASE_PROP_0x4 = 0x4,
|
|
|
|
};
|
2023-08-10 17:46:38 +00:00
|
|
|
/* 0x64 */ u32 baseProperties; // field from profile init
|
2023-08-09 14:59:04 +00:00
|
|
|
public:
|
|
|
|
/* 80050800 */ dBase_c();
|
|
|
|
/* 80050890 */ virtual int preExecute();
|
|
|
|
/* 800508f0 */ virtual void postExecute(MAIN_STATE_e state);
|
|
|
|
/* 80050920 */ virtual int preDraw();
|
|
|
|
/* 80050860 */ virtual void postDraw(MAIN_STATE_e state);
|
2024-06-15 05:50:35 +00:00
|
|
|
/* 8002c530 */ virtual ~dBase_c() {}
|
2023-08-09 14:59:04 +00:00
|
|
|
|
|
|
|
public:
|
|
|
|
/* 80050980 */ static void resetFlags();
|
2024-09-27 22:19:00 +00:00
|
|
|
/* 800509a0 */ bool isActorPlayer();
|
2023-08-09 14:59:04 +00:00
|
|
|
/* 800509e0 */ static void initLoader();
|
2024-05-12 20:04:01 +00:00
|
|
|
/* 80050a00 */ static dBase_c *createBase(ProfileName, dBase_c *, u32, u8);
|
|
|
|
/* 80050a10 */ static dBase_c *createRoot(ProfileName, u32, u8);
|
2023-08-09 14:59:04 +00:00
|
|
|
|
|
|
|
private:
|
|
|
|
/* 800509c0 */ static int loadAsyncCallback();
|
|
|
|
/* 800509d0 */ static void unloadCallback();
|
|
|
|
|
2024-03-17 22:55:49 +00:00
|
|
|
inline bool isProcControlFlag(u32 flag) const {
|
|
|
|
return (baseProperties & flag) != 0;
|
|
|
|
}
|
2023-08-09 14:59:04 +00:00
|
|
|
|
|
|
|
public:
|
2023-08-10 15:02:06 +00:00
|
|
|
/* 805750c0 */ static u32 s_ExecuteControlFlags;
|
|
|
|
/* 805750c0 */ static u32 s_DrawControlFlags;
|
|
|
|
/* 805750c0 */ static u32 s_NextExecuteControlFlags;
|
2023-08-09 14:59:04 +00:00
|
|
|
// /* 80575bc0 */ static fProfile::fBaseProfile_c** DAT_ACTOR_ALLOCATION_FUNCTIONS;
|
|
|
|
|
|
|
|
friend class fBase_c;
|
2024-03-17 22:55:49 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif
|