This commit is contained in:
WilliamArnett
2025-05-22 00:34:26 -05:00
parent c9d38baa21
commit 20de5d926e
2 changed files with 865 additions and 316 deletions
+102 -47
View File
@@ -6,25 +6,63 @@
#include "f_op/f_op_actor.h"
#include "m_Do/m_Do_hostIO.h"
class J3DNode;
static void* searchActor_SWC00(void*, void*);
class daNpc_Kk1_c : public fopNpc_npc_c {
public:
typedef int (daNpc_Kk1_c::*ActionFunc)(void*);
typedef void* (pFunc)(void*, void*);
struct anm_prm_c {
s8 pad1;
s8 field_0x1;
f32 field_0x2;
u32 pad3;
u32 pad4;
s8 field0;
s8 field1;
u16 field2;
f32 field4;
f32 field8;
u32 fieldC;
};
struct prm_tbl {
u32 field_0x00;
u32 field_0x04;
u32 field_0x08;
u32 field_0x0C;
u32 field_0x10;
f32 field_0x14;
u32 field_0x18;
u32 field_0x1C;
u32 field_0x20;
u32 field_0x24;
f32 field_0x28;
f32 field_0x2C;
u32 field_0x30;
f32 field_0x34;
f32 field_0x38;
f32 field_0x3C;
u32 field_0x40;
f32 field_0x44;
f32 field_0x48;
u32 field_0x4C;
f32 field_0x50;
};
// struct struct_0x7E4{
// /* 0x0 */ u16 unk0;
// /* 0x2 */ u16 unk2;
// /* 0x4 */ u16 unk4;
// /* 0x6 */ u16 unk6;
// /* 0x8 */ u16 unk8;
// /* 0xA */ u16 unkA;
// };
int getSWbit();
void _nodeCB_Head(J3DNode*, J3DModel*);
void _nodeCB_BackBone(J3DNode*, J3DModel*);
static void* searchActor_SWC00(void*, void*); //Todo: Self-added. Do I need this?
bool init_KK1_0();
bool createInit();
void play_animation();
@@ -52,7 +90,7 @@ public:
bool chk_talk();
bool chk_parts_notMov();
fopAc_ac_c* searchByID(fpc_ProcID, int*);
bool partner_search_sub(void* (*)(void*, void*));
bool partner_search_sub(pFunc*);
void partner_search();
void lookBack();
bool chkAttention();
@@ -91,24 +129,24 @@ public:
void isEventEntry();
void event_proc(int);
bool checkCommandTalk();
void set_action(int (daNpc_Kk1_c::*)(void*), void*);
bool set_action(ActionFunc, void*);
void setStt(signed char);
void createTama(float);
void chk_areaIN(float, cXyz);
void startEvent_check();
void chkHitPlayer();
u32 chk_areaIN(float, cXyz);
bool startEvent_check();
bool chkHitPlayer();
void set_pthPoint(unsigned char);
bool event_move(bool);
void kyoroPos(int);
void kyorokyoro();
void chk_attn();
cXyz kyoroPos(int);
bool kyorokyoro();
bool chk_attn();
void setBikon(cXyz);
void delBikon();
void setAse();
void flwAse();
void delAse();
void wait_1();
void walk_1();
bool wait_1();
bool walk_1();
void wait_2();
void init_CMT_WAI();
void move_CMT_WAI();
@@ -132,21 +170,24 @@ public:
void CreateHeap();
public:
/* 0x6C4 */ f32 field_0x6C4;
/* 0x6C8 */ f32 field_0x6C8;
/* 0x6CC */ u16 field_0x6CC;
/* 0x6CE */ char mKkString;
/* 0x6C4 */ request_of_phase_process_class field_0x6C4;
/* 0x6CC */ s8 mAnmMtxIdx;
/* 0x6CD */ s8 field_0x6CD; //ui bodyCreateHeap
/* 0x6CE */ char mArcName;
/* 0x6CF */ u8 field_0x6CF;
/* 0x6D0 */ u8 field_0x6D0[0x6D8 - 0x6D0];
/* 0x6D8 */ mDoExt_btpAnm mBtpAnm;
/* 0x6EC*/ u8 field_0x6EC;
/* 0x6ED*/ s8 field_0x6ED;
/* 0x6EE*/ s16 field_0x6EE;
/* 0x6F2*/ u8 field_0x6F2[0x6FC - 0x6F2];
/* 0x6F0*/ ActionFunc field_0x6F0;
/* 0x6FC*/ fpc_ProcID mPartnerProcID;
/* 0x700*/ u32 field_0x700;
/* 0x704*/ dNpc_PathRun_c mRunPath;
/* 0x70C */ u8 field_0x70C[0x71E - 0x70C];
/* 0x70C */ u8 field_0x70C[0x71A - 0x70C];
/* 0x71A */ s16 field_0x71A;
/* 0x71C */ s16 field_0x71C;
/* 0x71E */ csXyz field_0x71E;
/* 0x724 */ u8 field_0x724[0x72C - 0x724];
/* 0x72C */ cXyz field_0x72C;
@@ -163,7 +204,10 @@ public:
/* 0x778 */ int field_0x778;
/* 0x77C */ s16 mEvtIDTbl[0x08]; //8 Elements * U16 = 16 bytes
/* 0x78C */ s16 mEvtIDIdx; //Array Index?
/* 0x78E */ s8 field_0x78E[0x798 - 0x78E];
/* 0x78E */ s8 field_0x78E[0x792 - 0x78E];
/* 0x792 */ s16 field_0x792;
/* 0x794 */ s16 field_0x794;
/* 0x796 */ s16 field_0x796;
/* 0x798 */ s16 field_0x798;
/* 0x79A */ s16 field_0x79A;
/* 0x79C */ s16 field_0x79C;
@@ -189,9 +233,9 @@ public:
/* 0x7B4 */ u8 field_0x7B4;
/* 0x7B5 */ u8 field_0x7B5;
/* 0x7B5 */ u8 field_0x7B6;
/* 0x7B5 */ u8 field_0x7B7[0x7B8 - 0x7B7];
/* 0x7B5 */ u8 field_0x7B7;
/* 0x7B8 */ u8 field_0x7B8;
/* 0x7B9 */ u8 field_0x7B9[0x7BA - 0x7B9];
/* 0x7B9 */ u8 field_0x7B9;
/* 0x7BA */ u8 field_0x7BA;
/* 0x7BB */ u8 field_0x7BB;
/* 0x7BC */ u8 field_0x7BC;
@@ -203,42 +247,39 @@ public:
/* 0x7C2 */ u8 field_0x7C2;
/* 0x7C3 */ u8 field_0x7C3;
/* 0x7C4 */ bool field_0x7C4;
/* 0x7C5 */ u8 field_0x7C5[0x7CE - 0x7C5];
/* 0x7C5 */ u8 field_0x7C5[0x7CF - 0x7C5];
/* 0x7CF */ u8 field_0x7CF;
/* 0x7D0 */ anm_prm_c* field_0x7D0;
/* 0x7D4 */ u8 field_0x7D4[0x7E4 - 0x7D4];
/* 0x7E4 */ u32 field_0x7E4[3]; //Appears to be a struct
/* 0x7E8 */ //u8 field_0x7E8[0x7F0 - 0x7E8];
/* 0x7D4 */ u8 field_0x7D4[0x7DC - 0x7D4];
// /* 0x7E4 */ s16* field_0x7E4; //Appears to be a struct
// /* 0x7E8 */ u8 field_0x7E8[0x7F0 - 0x7E8];
mDoExt_btkAnm field_0x7DC;
/* 0x7F0 */ mDoExt_bckAnm field_0x7F0;
/* 0x800 */ s16 field_0x800;
/* 0x802 */ s16 field_0x802;
/* 0x804 */ s16 field_0x804;
/* 0x806 */ u16 field_0x806;
//TODO: SOME KIND OF STRUCT HERE?
/* 0x808*/ u8 field_0x808_base[4]; //Offset 0
/* 0x80C */ J3DModelData* field_0x80C; //Offset 4
/* 0x810 */ u32 field_0x810;
/* 0x814 */ s8 field_0x814;
/* 0x815 */ u8 field_0x815;
/* 0x808*/ J3DModel* field_0x808; //Offset 0
/* 0x80C */ //J3DModelData* field_0x80C; //Offset 4
u8 field_0x80C[0x810-0x80C];
/* 0x810 */ JPABaseEmitter* field_0x810;
/* 0x814 */ s8 mCutsceneIndex;
/* 0x815 */ s8 field_0x815;
/* 0x816 */ s8 field_0x816;
/* 0x817 */ u8 anm_prm_idx;
/* 0x817 */ u8 mAnimationNum;
/* 0x818 */ u8 field_0x818;
/* 0x819 */ s8 field_0x819;
/* 0x81A */ s8 field_0x81A;
/* 0x81B */ s8 field_0x81B;
/* 0x81C */ u16 field_0x81C;
/* 0x81C */ s8 field_0x81C;
/* 0x81D */ u8 field_0x81D;
/* 0x81E */ u8 field_0x81E;
/* 0x81F */ s8 field_0x81F;
/* 0x820 */ s8 field_0x820;
/* 0x821 */ s8 field_0x821;
/* 0x822 */ s8 field_0x822;
/* 0x823 */ s8 field_0x823;
//TODO: Wtf out of class size?
// /* 0x824 */ u32 field_0x824;
// /* 0x828 */ u32 field_0x828;
// /* 0x82C */ u32 field_0x82C;
}; // Size: 0x824
@@ -251,16 +292,30 @@ public:
/* 0x08 */ s16 mHorizontalDistance;
/* 0x08 */ s32 field_0xA;
/* 0x0C */ s16 field_0xC;
/* 0x0E */ s16 field_0xE;
/* 0x10 */ u8 mUnusedU8;
/* 0x11 */ u8 field_0x11[0x1E - 0x11];
/* 0x1E */ s16 field_0x1E;
/* 0x20 */ f32 field_0x20;
/* 0x24 */ f32 field_0x24;
/* 0x28 */ f32 field_0x28;
/* 0x2C */ f32 field_0x2C;
/* 0x30 */ s16 field_0x30;
/* 0x28 */ s16 field_0x28;
/* 0x28 */ s16 field_0x2A;
/* 0x2C */ s16 field_0x2C;
/* 0x2C */ s16 field_0x2E;
/* 0x30 */ s16 field_0x30; //TODO: Struct
/* 0x32 */ s16 field_0x32;
/* 0x34 */ f32 field_0x34;
/* 0x38 */ f32 field_0x38;
/* 0x3C */ f32 field_0x3C;
/* 0x40 */ f32 field_0x40;
/* 0x44 */ f32 field_0x44;
///* 0x44 */ s16 field_0x46;
/* 0x48 */ f32 field_0x48;
/* 0x4C */ f32 field_0x4C;
/* 0x50 */ f32 field_0x50;
/* 0x54 */ f32 field_0x54;
/* 0x58 */ f32 field_0x58;
/* 0x5C */ f32 field_0x5C;
/* Place member variables here */
};
#endif /* D_A_NPC_KK1_H */
File diff suppressed because it is too large Load Diff