ss/include/d/d_base.h
Elijah Thomas b5aa43ff37
Misc Collision (#51)
* Initial Commit - Starting to translate from TP

* Collision Updates

* Actor Collision -> dBgW (DZB Collision)

* bg .text splits complete

* fix errors

* file organization

* missed files

* progress

* weee

* most of cM3dG

* Revert mAng change

* Progress

* Progress -> Need to update from main

* Fixup Merge

* d_bg_s symbols....

* TList Changes

* oops

* d_bg_s large progress

* d_bg_s_acch majority done

* d_bg_s_chk OK

* d_bg_s_gnd_chk OK

* d_bg_s_grp_pass_chk OK

* d_bg_lin_chk OK

* d_bg_s_poly_pass_chk OK

* d_bg_s_roof_chk and d_bg_s_sph_chk OK

* d_bg_s_spl_grp_chk OK

* d_bg_s_wtr_chk OK

* d_bg_w started

* d_bg_w_base OK

* name d_bg_w_kcol symbols

* d_bg_w_sv split/started

* most of d_bg_w_time

* stopping d_bg_w_kcol for now

* d_bg_w_sv OK

* work on d_bg_w_time

* revert TList to take offset arg

* fixup some compiler warnings

* set c_bg_w OK

* Update rel_sieve.py

* Remove TList Macros

* Bomb Header started
2024-10-16 09:00:47 -04:00

49 lines
1.4 KiB
C++

#ifndef D_BASE_H
#define D_BASE_H
#include "f/f_base.h"
// #include "c/c_owner_set.h"
// Ghidra: dBase_c
// size: 0x68
// non-official but likely name
class dBase_c : public fBase_c {
public:
enum BaseProperties_e {
BASE_PROP_0x4 = 0x4,
};
/* 0x64 */ u32 baseProperties; // field from profile init
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);
/* 8002c530 */ virtual ~dBase_c() {}
public:
/* 80050980 */ static void resetFlags();
/* 800509a0 */ bool isActorPlayer();
/* 800509e0 */ static void initLoader();
/* 80050a00 */ static dBase_c *createBase(ProfileName, dBase_c *, u32, u8);
/* 80050a10 */ static dBase_c *createRoot(ProfileName, u32, u8);
private:
/* 800509c0 */ static int loadAsyncCallback();
/* 800509d0 */ static void unloadCallback();
inline bool isProcControlFlag(u32 flag) const {
return (baseProperties & flag) != 0;
}
public:
/* 805750c0 */ static u32 s_ExecuteControlFlags;
/* 805750c0 */ static u32 s_DrawControlFlags;
/* 805750c0 */ static u32 s_NextExecuteControlFlags;
// /* 80575bc0 */ static fProfile::fBaseProfile_c** DAT_ACTOR_ALLOCATION_FUNCTIONS;
friend class fBase_c;
};
#endif