diff options
| author | Howard Luck <pheenoh@gmail.com> | 2025-09-28 18:35:50 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-09-28 17:35:50 -0700 |
| commit | 143f19636bdf5099836a6173eda1be3d0be52831 (patch) | |
| tree | 0f57cae112e94d1c83a9e8a49f29852bdde6ca35 /include | |
| parent | 9a97d8925628159ee582083d02344119ff772c88 (diff) | |
d_a_obj_swLight OK (#2712)
* checkpoint
* d_a_obj_swLight OK
* fixup symbols and splits
* put static assert back
* fixes for taka
Diffstat (limited to 'include')
| -rw-r--r-- | include/d/actor/d_a_obj_swLight.h | 55 |
1 files changed, 44 insertions, 11 deletions
diff --git a/include/d/actor/d_a_obj_swLight.h b/include/d/actor/d_a_obj_swLight.h index 383b09e652..ccfd68cf28 100644 --- a/include/d/actor/d_a_obj_swLight.h +++ b/include/d/actor/d_a_obj_swLight.h @@ -1,6 +1,10 @@ #ifndef D_A_OBJ_SWLIGHT_H #define D_A_OBJ_SWLIGHT_H +#include "SSystem/SComponent/c_phase.h" +#include "d/d_bg_s_movebg_actor.h" +#include "d/d_cc_d.h" +#include "d/d_event_lib.h" #include "f_op/f_op_actor_mng.h" /** @@ -11,14 +15,13 @@ * @details * */ -class daObjSwLight_c : public fopAc_ac_c { +class daObjSwLight_c : public dBgS_MoveBgActor, public dEvLib_callback_c { public: + typedef void (daObjSwLight_c::*modeFunc)(); + /* 80CF6F98 */ void initBaseMtx(); /* 80CF6FD4 */ void setBaseMtx(); - /* 80CF7038 */ void Create(); - /* 80CF71F0 */ void CreateHeap(); - /* 80CF7260 */ void create1st(); - /* 80CF7320 */ void Execute(Mtx**); + /* 80CF7260 */ int create1st(); /* 80CF73E0 */ void action(); /* 80CF761C */ void init_modeSwOnWait(); /* 80CF766C */ void modeSwOnWait(); @@ -27,17 +30,47 @@ public: /* 80CF77D8 */ void init_modeSwOffWait(); /* 80CF7838 */ void modeSwOffWait(); /* 80CF7974 */ void modeDead(); - /* 80CF7978 */ void checkHit(); + /* 80CF7978 */ int checkHit(); /* 80CF7A6C */ void setOnTimer(); - /* 80CF7A98 */ void Draw(); - /* 80CF7BA8 */ void Delete(); - /* 80CF8124 */ ~daObjSwLight_c(); + + /* 80CF7038 */ virtual int Create(); + /* 80CF71F0 */ virtual int CreateHeap(); + /* 80CF7320 */ virtual int Execute(Mtx**); + /* 80CF7A98 */ virtual int Draw(); + /* 80CF7BA8 */ virtual int Delete(); + /* 80CF8124 */ virtual ~daObjSwLight_c() {}; + + daObjSwLight_c() : dEvLib_callback_c(this) {}; + + u8 getSwbit() { return fopAcM_GetParamBit(this, 0, 8); } + u8 getSwbit2() { return fopAcM_GetParamBit(this, 24, 8); } + u8 getOnTime() { return fopAcM_GetParamBit(this, 16, 8); } + u8 getEvent() { return (u8)field_0xb22; } private: - /* 0x568 */ u8 field_0x568[0xb28 - 0x568]; + /* 0x5B0 */ request_of_phase_process_class mPhase; + /* 0x5B8 */ J3DModel* mpModel; + /* 0x6F4 */ dCcD_Stts mStts; + /* 0x614 */ dCcD_Sph mAtSph; + /* 0x730 */ dCcD_Sph mTgSph[2]; + /* 0x9BC */ dCcD_Cyl mCyl; + /* 0xADC */ f32 field_0xadc; + /* 0xAE0 */ u8 field_0xae0; + /* 0xAE1 */ u8 field_0xae1; + /* 0xAE2 */ u8 field_0xae2; + /* 0xAE3 */ u8 field_0xae3; + /* 0xAE0 */ u16 field_0xae4; + /* 0xAE0 */ u8 field_0xae6; + /* 0xAE0 */ u8 field_0xae7; + /* 0xAE8 */ u16 field_0xae8; + /* 0xAE8 */ u16 field_0xaea; + /* 0xAEC */ DALKMIST_INFLUENCE mInfluence; + /* 0xB00 */ Z2SoundObjSimple mSound; + /* 0xB20 */ u8 field_0xb20; + /* 0xB22 */ u16 field_0xb22; + /* 0xB24 */ u16 field_0xb24; }; STATIC_ASSERT(sizeof(daObjSwLight_c) == 0xb28); - #endif /* D_A_OBJ_SWLIGHT_H */ |
