summaryrefslogtreecommitdiff
path: root/include/d/actor
diff options
context:
space:
mode:
authorSuperDude88 <82904174+SuperDude88@users.noreply.github.com>2026-06-26 17:45:09 -0400
committerGitHub <noreply@github.com>2026-06-26 17:45:09 -0400
commit4b401652d9253186067a16582581b86aa6283f14 (patch)
tree75c94df710c7607f4798b5e04cbaa7d00d116dda /include/d/actor
parentf0f98bbcc385ce192bf89e33798d14bcc3db6b86 (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.h80
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 */