diff options
| author | SuperDude88 <82904174+SuperDude88@users.noreply.github.com> | 2026-06-26 17:45:09 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-06-26 17:45:09 -0400 |
| commit | 4b401652d9253186067a16582581b86aa6283f14 (patch) | |
| tree | 75c94df710c7607f4798b5e04cbaa7d00d116dda /include/d/actor | |
| parent | f0f98bbcc385ce192bf89e33798d14bcc3db6b86 (diff) | |
d_a_kb Almost Matching (#1040)
* d_a_kb Almost Matching
- Get most of the logic in
Still need to switch over from inheritance to composition, will fix at least 2/3 of the functions
* Switch Inheritance -> Composition
Causes regressions in way_check and target_set
* Use More Enums
Now uses res/loop mode/item number/sound/particle/collision attribute/event flag enums properly
* Fix d_a_npc_people
Used kb_class in a couple spots
* Another Inline
Found it in the debug map
* Joint Enums
- Add joint enums with note about normal/big pigs needing to have (at least partially) identical joint setups
* Assert for Joint Numbers
- Make sure the joint numbers match for the normal pig + big pig models
- Update/extend note accordingly
Diffstat (limited to 'include/d/actor')
| -rw-r--r-- | include/d/actor/d_a_kb.h | 80 |
1 files changed, 57 insertions, 23 deletions
diff --git a/include/d/actor/d_a_kb.h b/include/d/actor/d_a_kb.h index 47fe1725..e5c37b47 100644 --- a/include/d/actor/d_a_kb.h +++ b/include/d/actor/d_a_kb.h @@ -6,12 +6,13 @@ #include "d/d_bg_s_acch.h" #include "SSystem/SComponent/c_phase.h" #include "d/d_path.h" +#include "d/d_particle.h" class mDoExt_McaMorf; class J3DTexNoAnm; class J3DMaterialTable; -class kb_class : public fopAc_ac_c { +class kb_class { public: void taura_pos_set(cXyz pos) { m450 = pos; @@ -19,57 +20,90 @@ public: } public: + /* 0x000 */ fopAc_ac_c actor; /* 0x290 */ dKy_tevstr_c mTevStr; - /* 0x340 */ u8 m340[0x3F4 - 0x340]; + /* 0x340 */ dKy_tevstr_c m340; + /* 0x3F0 */ u32 mShadowId; /* 0x3F4 */ request_of_phase_process_class mPhs; /* 0x3FC */ mDoExt_McaMorf* mpMorf; /* 0x400 */ u8 mShapeType; /* 0x401 */ u8 m401; /* 0x402 */ u8 mbCanBeBigPig; - /* 0x403 */ u8 m403[0x408 - 0x403]; + /* 0x403 */ u8 m403; + /* 0x404 */ u8 m404; + /* 0x405 */ u8 m405; + /* 0x406 */ u8 m406; + /* 0x407 */ u8 m407; /* 0x408 */ u8 m408; - /* 0x409 */ u8 m409[0x40C - 0x409]; + /* 0x409 */ u8 m409; + /* 0x40A */ u8 m40A; + /* 0x40B */ u8 m40B; /* 0x40C */ dPath* mpPath; /* 0x410 */ u8 m410[0x41D - 0x410]; /* 0x41D */ u8 m41D; - /* 0x41E */ u8 m41E[0x420 - 0x41E]; + /* 0x41E */ s16 m41E; /* 0x420 */ s16 m420; /* 0x422 */ s16 m422; /* 0x424 */ s16 m424; - /* 0x426 */ s16 m426; - /* 0x428 */ s16 m428; - /* 0x42A */ s16 m42A; - /* 0x42C */ u8 m42C[0x446 - 0x42C]; + /* 0x426 */ s16 m426[8]; + /* 0x436 */ s16 m436; + /* 0x438 */ s16 m438; + /* 0x43A */ s16 m43A; + /* 0x42C */ u8 m43C[0x440 - 0x43C]; + /* 0x440 */ s16 m440; + /* 0x442 */ s16 m442; + /* 0x444 */ s16 m444; /* 0x446 */ s16 m446; - /* 0x448 */ u8 m448[0x450 - 0x448]; + /* 0x448 */ s16 m448; + /* 0x44A */ s16 m44A; + /* 0x44C */ s16 m44C; + /* 0x44E */ s16 m44E; /* 0x450 */ cXyz m450; - /* 0x45C */ f32 m45C; - /* 0x460 */ u8 m460[0x464 - 0x460]; - /* 0x464 */ f32 m464; - /* 0x468 */ u8 m468[0x4A4 - 0x468]; + /* 0x45C */ cXyz m45C; + /* 0x468 */ cXyz field_0x468[2]; + /* 0x480 */ cXyz field_0x480[2]; + /* 0x498 */ cXyz field_0x498; /* 0x4A4 */ cXyz m4A4; - /* 0x4B0 */ u8 m4B0[0x4B4 - 0x4B0]; + /* 0x4B0 */ f32 m4B0; /* 0x4B4 */ f32 m4B4; /* 0x4B8 */ f32 m4B8; - /* 0x4BC */ u8 m4BC[0x4C4 - 0x4BC]; + /* 0x4BC */ f32 m4BC; + /* 0x4C0 */ f32 m4C0; /* 0x4C4 */ f32 m4C4; - /* 0x4C8 */ u8 m4C8[0x4CC - 0x4C8]; + /* 0x4C8 */ f32 m4C8; /* 0x4CC */ f32 m4CC; /* 0x4D0 */ u8 m4D0[0x4D4 - 0x4D0]; /* 0x4D4 */ f32 m4D4; - /* 0x4D8 */ u8 m4D8[0x4E8 - 0x4D8]; + /* 0x4D8 */ fpc_ProcID m4D8; + /* 0x4DC */ cXyz m4DC; /* 0x4E8 */ cXyz m4E8; - /* 0x4F4 */ u8 m4F4[0x504 - 0x4F4]; + /* 0x4F4 */ csXyz m4F4; + /* 0x4FA */ csXyz m4FA; + /* 0x500 */ J3DAnmTexPattern* m500; /* 0x504 */ J3DTexNoAnm* mpTexNoAnm; - /* 0x508 */ u8 m508[0x50C - 0x508]; + /* 0x508 */ u8 m508; + /* 0x509 */ u8 m509; + /* 0x50A */ u8 m50A; /* 0x50C */ int m50C; - /* 0x510 */ u8 m510[0x5F8 - 0x510]; + /* 0x510 */ u8 m510[0x514 - 0x510]; + /* 0x514 */ cXyz m514; + /* 0x520 */ cXyz m520; + /* 0x52C */ u8 m52C[0x53C - 0x52C]; + /* 0x53C */ f32 m53C; + /* 0x540 */ dPa_rippleEcallBack m540; + /* 0x554 */ dPa_smokeEcallBack m554; + /* 0x574 */ dPa_smokeEcallBack m574; + /* 0x594 */ dPa_followEcallBack m594; + /* 0x5A8 */ dPa_followEcallBack m5A8[2]; + /* 0x5D0 */ f32 m5D0; + /* 0x5D4 */ cXyz m5D4[2]; + /* 0x5EC */ csXyz m5EC[2]; /* 0x5F8 */ J3DMaterialTable* mpMaterialTable; /* 0x5FC */ dBgS_AcchCir mAcchCir; - /* 0x63C */ dBgS_Acch mAcch; + /* 0x63C */ dBgS_ObjAcch mAcch; /* 0x800 */ dCcD_Stts mStts; /* 0x83C */ dCcD_Sph mSph; - /* 0x968 */ u8 m968[0xA94 - 0x968]; + /* 0x968 */ dCcD_Sph m968; }; #endif /* D_A_KB_H */ |
