d_a_npc_people Almost OK (#658)

* daNpcPeople Work

* Oops

Somehow I break this file every time I touch it
This commit is contained in:
SuperDude88
2024-06-16 01:55:31 -04:00
committed by GitHub
parent e855019ab4
commit 3f08458809
13 changed files with 8099 additions and 373 deletions
+2 -2
View File
@@ -30,8 +30,8 @@ public:
mNowDaizaNum = 0;
mNowItemNum = 0;
}
static s8 getMaxDaiza();
static s8 getDaizaSetItemNum();
static int getMaxDaiza();
static int getDaizaSetItemNum();
static s8 mNowDaizaNum;
static s8 mNowItemNum;
+6 -2
View File
@@ -13,7 +13,10 @@ class J3DMaterialTable;
class kb_class : public fopAc_ac_c {
public:
void taura_pos_set(cXyz) {}
void taura_pos_set(cXyz pos) {
m450 = pos;
m408 = 1;
}
public:
/* 0x290 */ dKy_tevstr_c mTevStr;
@@ -38,7 +41,8 @@ public:
/* 0x42A */ s16 m42A;
/* 0x42C */ u8 m42C[0x446 - 0x42C];
/* 0x446 */ s16 m446;
/* 0x448 */ u8 m448[0x45C - 0x448];
/* 0x448 */ u8 m448[0x450 - 0x448];
/* 0x450 */ cXyz m450;
/* 0x45C */ f32 m45C;
/* 0x460 */ u8 m460[0x464 - 0x460];
/* 0x464 */ f32 m464;
+175 -111
View File
@@ -8,66 +8,118 @@
#include "d/d_npc.h"
struct sUbMsgDat {
};
/* 0x00 */ u32 field_0x00;
/* 0x04 */ u8 field_0x04;
/* 0x05 */ u8 field_0x05;
/* 0x06 */ u8 field_0x06;
/* 0x06 */ u8 field_0x07;
}; // Size: 0x07
struct sPeopleAnmDat {
};
/* 0x00 */ u8 field_0x00;
/* 0x01 */ u8 field_0x01;
/* 0x02 */ u8 field_0x02;
}; // Size: 0x03
struct daNpcPeople_c__l_npc_dat {
};
/* 0x00 */ s16 field_0x00;
/* 0x02 */ s16 field_0x02;
/* 0x04 */ s16 field_0x04;
/* 0x06 */ s16 field_0x06;
/* 0x08 */ s16 field_0x08;
/* 0x0A */ s16 field_0x0A;
/* 0x0C */ s16 field_0x0C;
/* 0x0E */ s16 field_0x0E;
/* 0x10 */ s16 field_0x10;
/* 0x12 */ s16 field_0x12;
/* 0x14 */ f32 field_0x14;
/* 0x18 */ f32 field_0x18;
/* 0x1C */ f32 field_0x1C;
/* 0x20 */ f32 field_0x20;
/* 0x24 */ f32 field_0x24;
/* 0x28 */ f32 field_0x28;
/* 0x2C */ f32 field_0x2C;
/* 0x30 */ f32 field_0x30;
/* 0x34 */ s16 field_0x34;
/* 0x36 */ s16 field_0x36;
/* 0x38 */ s16 field_0x38;
/* 0x3A */ s16 field_0x3A;
/* 0x3C */ f32 field_0x3C;
/* 0x40 */ f32 field_0x40;
/* 0x44 */ f32 field_0x44;
/* 0x48 */ f32 field_0x48;
/* 0x4C */ s16 field_0x4C;
/* 0x4E */ s16 field_0x4E;
/* 0x50 */ s16 field_0x50;
/* 0x52 */ s16 field_0x52;
/* 0x54 */ s16 field_0x54;
/* 0x56 */ s16 field_0x56;
/* 0x58 */ s16 field_0x58;
/* 0x5A */ u8 field_0x5A;
/* 0x5B */ u8 field_0x5B;
/* 0x5C */ u8 field_0x5C;
/* 0x5D */ u8 field_0x5D;
/* 0x5E */ u8 field_0x5E;
/* 0x5F */ u8 field_0x5F;
}; // Size: 0x60
class daNpcPeople_c : public fopAc_ac_c {
class daNpcPeople_c : public fopNpc_npc_c {
public:
void getNpcNo() {}
void getPhaseP() {}
void setAnmFlag(unsigned char) {}
void setEtcFlag(unsigned long) {}
void setNoTalk(unsigned char) {}
void setOrderEventNum(unsigned char) {}
void setResFlag(unsigned char) {}
void setTalk(unsigned char) {}
enum Prm_e {
PRM_RAIL_ID_W = 0x8,
PRM_RAIL_ID_S = 0x10,
PRM_ARG0_W = 0x8,
PRM_ARG0_S = 0x0,
};
u8 getNpcNo() { return mNpcType; }
request_of_phase_process_class* getPhaseP() { return &mPhs; }
void setAnmFlag(u8) {}
void setEtcFlag(u32 flags) { m758 |= flags; }
void setNoTalk(u8) {}
void setOrderEventNum(u8) {}
void setResFlag(u8 flag) { m790 = flag; }
void setTalk(u8) {}
daNpcPeople_c();
s32 _create();
void createHeap();
void createInit();
BOOL _delete();
BOOL _draw();
BOOL _execute();
void executeCommon();
void executeSetMode(unsigned char);
void executeWaitInit();
BOOL createHeap();
s32 createInit();
bool _delete();
bool _draw();
bool _execute();
bool executeCommon();
void executeSetMode(u8);
s32 executeWaitInit();
void executeWait();
void executeTalkInit();
s32 executeTalkInit();
void executeTalk();
void executeWalkInit();
s32 executeWalkInit();
void executeWalk();
void executeTurnInit();
s32 executeTurnInit();
void executeTurn();
void executeBikkuriInit();
s32 executeBikkuriInit();
void executeBikkuri();
void executeFurueInit();
s32 executeFurueInit();
void executeFurue();
void executeKyoroInit();
s32 executeKyoroInit();
void executeKyoro();
void executeLetterInit();
s32 executeLetterInit();
void executeLetter();
void executeLookInit();
s32 executeLookInit();
void executeLook();
void executeLook2Init();
s32 executeLook2Init();
void executeLook2();
void executeUgWalkInit();
s32 executeUgWalkInit();
void executeUgWalk();
void executeUgTurnInit();
s32 executeUgTurnInit();
void executeUgTurn();
void executeUgLookInit();
s32 executeUgLookInit();
void executeUgLook();
void executeUgLook2Init();
s32 executeUgLook2Init();
void executeUgLook2();
void executeUgSitInit();
s32 executeUgSitInit();
void executeUgSit();
void checkOrder();
void eventOrder();
@@ -75,34 +127,34 @@ public:
void privateCut();
void eventMesSetTpInit(int);
void eventMesSetInit(int);
void eventMesSet();
void eventMesSet2();
bool eventMesSet();
bool eventMesSet2();
void eventFlagSetInit(int);
void eventGetItemInit(int);
void eventGetItem();
bool eventGetItem();
void eventTurnToPlayerInit();
void eventTurnToPlayer();
bool eventTurnToPlayer();
void eventUb1TalkInit(int);
void eventUb1Talk();
bool eventUb1Talk();
void eventUb1TalkXyInit(int);
void eventUb1TalkXy();
void eventUb2Talk();
void eventUbSetAnm();
bool eventUb1TalkXy();
bool eventUb2Talk();
bool eventUbSetAnm();
void eventAreaMaxInit();
void eventCameraStopInit();
void eventCameraStop();
bool eventCameraStop();
void eventCameraStartInit();
void eventCoCylRInit(int);
void eventLookPo();
bool eventLookPo();
void eventMesSetPoInit(int);
void eventMesSetPo();
void talk2(int, fopAc_ac_c*);
void talk3(int);
void next_msgStatus(unsigned long*);
void getMsg();
void getMsg3();
bool eventMesSetPo();
u16 talk2(int, fopAc_ac_c*);
u16 talk3(int);
u16 next_msgStatus(u32*);
u32 getMsg();
u32 getMsg3();
void chkMsg();
void setMessage(unsigned long);
void setMessage(u32);
void setMessageUb(sUbMsgDat*);
void setAnmFromMsgTag();
void setAnmFromMsgTagUo(int);
@@ -111,81 +163,84 @@ public:
void setAnmFromMsgTagUm(int);
void setAnmFromMsgTagSa(int);
void setAnmFromMsgTagUg(int);
void getPrmNpcNo();
void getPrmRailID();
void getPrmArg0();
u8 getPrmNpcNo();
u8 getPrmRailID();
u8 getPrmArg0();
void setMtx();
void chkAttention();
void lookBack();
void initTexPatternAnm(bool);
BOOL initTexPatternAnm(bool);
void playTexPatternAnm();
void playAnm();
void getBck(unsigned char);
void getHeadBck(unsigned char);
void setAnm(unsigned char, int, float, float);
void setAnmTbl(sPeopleAnmDat*, int);
int getBck(u8);
int getHeadBck(u8);
void setAnm(u8, int, f32, f32);
bool setAnmTbl(sPeopleAnmDat*, int);
void setWaitAnm();
void XyCheckCB(int);
void XyEventCB(int);
void photoCB(int);
void getRand(int);
void isPhoto(unsigned char);
void isColor();
void setCollision(dCcD_Cyl*, cXyz, float, float);
void chkSurprise();
void chkEndEvent();
void is1GetMap20();
void is1DayGetMap20();
void getWindDir();
void isUo1FdaiAll();
void isUo1FdaiOne();
void chkDaiza();
void checkPig();
void isPigOk();
void getPigTimer();
s16 XyCheckCB(int);
s16 XyEventCB(int);
s16 photoCB(int);
int getRand(int max);
BOOL isPhoto(u8);
BOOL isColor();
void setCollision(dCcD_Cyl*, cXyz, f32, f32);
BOOL chkSurprise();
BOOL chkEndEvent();
BOOL is1GetMap20();
BOOL is1DayGetMap20();
int getWindDir();
BOOL isUo1FdaiAll();
BOOL isUo1FdaiOne();
s32 chkDaiza();
BOOL checkPig();
BOOL isPigOk();
s16 getPigTimer();
void resetPig();
void initUgSearchArea();
void getDirDistToPos(short, float);
cXyz getDirDistToPos(s16, f32);
void warp();
public:
/* 0x6C4 */ u8 m6C4[0x6CC - 0x6C4];
/* 0x6CC */ request_of_phase_process_class mPhs;
/* 0x6D4 */ u8 m6D4[0x6E4 - 0x6D4];
/* 0x6C4 */ request_of_phase_process_class mPhs;
/* 0x6CC */ request_of_phase_process_class mPhs2;
/* 0x6D4 */ J3DModel* m6D4;
/* 0x6D8 */ J3DModel* m6D8;
/* 0x6DC */ mDoExt_McaMorf* m6DC;
/* 0x6E0 */ J3DAnmTexPattern* m_head_tex_pattern;
/* 0x6E4 */ mDoExt_btpAnm mBtpAnm;
/* 0x6F8 */ u8 m6F8[0x6FC - 0x6F8];
/* 0x6F8 */ u32 mShadowId;
/* 0x6FC */ dNpc_PathRun_c mPathRun;
/* 0x704 */ u8 m704[0x710 - 0x704];
/* 0x710 */ cXyz mLookAtPos;
/* 0x71C */ cXyz m71C;
/* 0x728 */ u8 m728[0x72C - 0x728];
/* 0x728 */ sPeopleAnmDat* m728;
/* 0x72C */ daNpcPeople_c__l_npc_dat* mpNpcDat;
/* 0x730 */ int m730;
/* 0x734 */ u8 m734[0x738 - 0x734];
/* 0x738 */ int m738;
/* 0x73C */ u8 m73C[0x740 - 0x73C];
/* 0x730 */ daNpcPeople_c* m730;
/* 0x734 */ u32* m734;
/* 0x738 */ sUbMsgDat* m738;
/* 0x73C */ sUbMsgDat** m73C;
/* 0x740 */ f32 m740;
/* 0x744 */ f32 m744;
/* 0x748 */ f32 m748;
/* 0x74C */ f32 m74C;
/* 0x750 */ u8 m750[0x758 - 0x750];
/* 0x750 */ f32 m750;
/* 0x754 */ u8 m754[0x758 - 0x754];
/* 0x758 */ u32 m758;
/* 0x75C */ u8 m75C[0x760 - 0x75C];
/* 0x75C */ int m75C;
/* 0x760 */ int m760;
/* 0x764 */ u8 m764;
/* 0x765 */ u8 m765[0x766 - 0x765];
/* 0x766 */ s16 m766;
/* 0x768 */ s16 m768;
/* 0x76A */ u8 m76A[0x76C - 0x76A];
/* 0x76C */ s16 m76C;
/* 0x764 */ bool m764;
/* 0x765 */ u8 m765;
/* 0x766 */ s16 m766[4];
/* 0x76E */ s16 m76E;
/* 0x770 */ u8 m770[0x776 - 0x770];
/* 0x770 */ s16 m770;
/* 0x772 */ s16 m772;
/* 0x774 */ s16 m774;
/* 0x776 */ s16 m776;
/* 0x778 */ s16 m778;
/* 0x77A */ s16 m77A;
/* 0x77C */ u8 m77C[0x77E - 0x77C];
/* 0x77C */ u16 m77C;
/* 0x77E */ u16 m77E;
/* 0x780 */ u8 m780[0x782 - 0x780];
/* 0x780 */ s16 m780;
/* 0x782 */ s16 m782;
/* 0x784 */ s16 m784;
/* 0x786 */ s16 m786;
@@ -195,26 +250,35 @@ public:
/* 0x78B */ u8 m78B;
/* 0x78C */ u8 m78C;
/* 0x78D */ u8 m78D;
/* 0x78E */ u8 m78E[0x78F - 0x78E];
/* 0x78E */ u8 m78E;
/* 0x78F */ u8 m78F;
/* 0x790 */ u8 m790;
/* 0x791 */ u8 mNpcType;
/* 0x792 */ u8 m792[0x793 - 0x792];
/* 0x792 */ u8 m792;
/* 0x793 */ u8 m793;
/* 0x794 */ u8 m794;
/* 0x795 */ u8 m795[0x799 - 0x795];
/* 0x799 */ u8 m799;
/* 0x79A */ u8 m79A[0x79B - 0x79A];
/* 0x79B */ bool mbIsNight;
/* 0x795 */ u8 m795;
/* 0x796 */ s8 m796;
/* 0x797 */ s8 m797;
/* 0x798 */ u8 m798;
/* 0x799 */ s8 m799;
/* 0x79A */ u8 m79A;
/* 0x79B */ u8 mbIsNight;
/* 0x79C */ u8 m79C;
/* 0x79D */ u8 m79D;
/* 0x79E */ u8 m79E;
/* 0x79F */ u8 m79F;
/* 0x7A0 */ u8 m7A0[0x7A1 - 0x7A0];
/* 0x7A0 */ u8 m7A0;
/* 0x7A1 */ u8 m7A1;
/* 0x7A2 */ u8 m7A2[0x7A6 - 0x7A2];
/* 0x7A2 */ u8 m7A2;
/* 0x7A3 */ s8 m7A3;
/* 0x7A4 */ u8 m7A4;
/* 0x7A5 */ u8 m7A5;
/* 0x7A6 */ u8 m7A6;
/* 0x7A7 */ u8 m7A7[0x7AC - 0x7A7];
};
/* 0x7A7 */ u8 m7A7;
/* 0x7A8 */ u8 m7A8;
static const char m_arcname[];
}; // Size: 0x7A9
#endif /* D_A_NPC_PEOPLE_H */