daNpcCd work (#1896)

* daNpcCd work

* Work on daNpcCd, daNpcCd2, and related libraries.

* Work on daNpcCd, daNpcCd2, and related libraries.
This commit is contained in:
Noah McQueen
2023-08-24 23:25:23 -06:00
committed by GitHub
parent 775667ef1e
commit 73cdbf5495
28 changed files with 611 additions and 2607 deletions
+44
View File
@@ -1,6 +1,50 @@
#ifndef A_NPC_D_A_NPC_CD_H
#define A_NPC_D_A_NPC_CD_H
#include "Z2AudioLib/Z2Creature.h"
#include "d/com/d_com_inf_game.h"
#include "dolphin/types.h"
class daNpcCd_c : public fopAc_ac_c {
public:
/* 8015605C */ int NpcCreate(int);
/* 801561E8 */ J3DModel* ObjCreate(int);
/* 80156228 */ void isM_();
/* 80156248 */ void getAnmP(int, int);
/* 801563C8 */ void setAttention(int);
/* 80156B4C */ int loadResrc(int, int);
/* 80156C50 */ int removeResrc(int, int);
/* 80156D1C */ void setEnvTevCol();
/* 80156D78 */ void setRoomNo();
/* 80156DBC */ void animation();
/* 80156E20 */ void setAnm(J3DAnmTransformKey*, f32, f32, int, int, int);
/* 80156E8C */ void drawObj(int, J3DModel*, f32);
/* 80156F74 */ void drawNpc();
/* 80157084 */ void jntNodeCB(J3DJoint*, J3DModel*);
/* 8015736C */ void setHitodamaParticle();
/* 80157524 */ J3DModelData* getNpcMdlDataP(int);
/* 80157588 */ J3DModelData* getObjMdlDataP(int);
/* 80AA8694 */ virtual ~daNpcCd_c();
static u8 const m_cylDat[68];
/* 0x56C */ request_of_phase_process_class mPhase1;
/* 0x574 */ request_of_phase_process_class mPhase2;
/* 0x57C */ request_of_phase_process_class mPhase3;
/* 0x584 */ request_of_phase_process_class mPhase4;
/* 0x58C */ mDoExt_McaMorfSO* mpMorf;
/* 0x590 */ Z2CreatureCitizen mCreature;
/* 0x634 */ dBgS_ObjAcch mAcch;
/* 0x80C */ dBgS_AcchCir mAcchCir;
/* 0x84C */ dCcD_Stts mStts;
/* 0x888 */ dCcD_Cyl mCyl;
/* 0x9C4 */ u32 field_0x9c4;
/* 0x9C8 */ int field_0x9c8;
/* 0x9CC */ int field_0x9cc[3];
/* 0x9D8 */ cXyz field_0x9d8;
/* 0x9E4 */ u16 field_0x9e4;
/* 0x9E6 */ s16 field_0x9e6;
/* 0x9E8 */ bool field_0x9e8;
};
#endif /* A_NPC_D_A_NPC_CD_H */
+66
View File
@@ -1,6 +1,72 @@
#ifndef A_NPC_D_A_NPC_CD2_H
#define A_NPC_D_A_NPC_CD2_H
#include "Z2AudioLib/Z2Creature.h"
#include "d/com/d_com_inf_game.h"
#include "d/d_npc_lib.h"
#include "dolphin/types.h"
class PathTrace_c {
public:
/* 80159A38 */ void setPath(int, int, int, cXyz*, bool);
/* 80159C14 */ void checkPoint(cXyz, f32);
/* 80159DC0 */ void checkPathEnd(cXyz, f32);
/* 80159E54 */ void getTargetPoint(Vec*);
/* 80159ECC */ void setAvoidPoint();
/* 8015A0D0 */ void setNextPoint();
/* 80159F98 */ void setNextPoint(cXyz&);
/* 8015A264 */ void incIndex(int);
/* 8015A294 */ void decIndex(int);
/* 8015A370 */ fopAc_ac_c* checkObstacle(fopAc_ac_c*);
/* 8015A3E4 */ void* checkObstacleSub(fopAc_ac_c*);
/* 0x00 */ fopAc_ac_c* field_0x00;
/* 0x04 */ fopAc_ac_c* field_0x04;
};
class daNpcCd2_c : public fopAc_ac_c {
public:
/* 80157D00 */ void NpcCreate(int);
/* 80157F28 */ J3DModel* ObjCreate(int);
/* 80157F68 */ void ChairCreate(f32);
/* 801580A8 */ bool isM_();
/* 801580F0 */ void* getAnmP(int, int);
/* 80158420 */ void setAttention(int);
/* 80158BB8 */ int loadResrc(int, int);
/* 80158CBC */ int removeResrc(int, int);
/* 80158D88 */ void setEnvTevCol();
/* 80158DE4 */ void setRoomNo();
/* 80158E28 */ void animation(int);
/* 80158F00 */ void setAnm(J3DAnmTransformKey*, f32, f32, int, int, int);
/* 80158F6C */ int drawShadow(f32);
/* 80158FF0 */ int drawObj(int, J3DModel*, f32);
/* 801590FC */ int drawNpc();
/* 80159258 */ void jntNodeCB(J3DJoint*, J3DModel*);
/* 80159550 */ void setHitodamaParticle();
/* 801597C0 */ void* getEscapeTag();
/* 80159818 */ void checkFearSituation();
/* 801598E8 */ void getNpcMdlDataP(int);
/* 8015994C */ J3DModelData* getObjMdlDataP(int);
/* 801599C4 */ void getTexAnmP(int);
/* 8097F030 */ virtual ~daNpcCd2_c();
static u8 const m_cylDat[68];
/* 0x56C */ request_of_phase_process_class mPhase1;
/* 0x574 */ request_of_phase_process_class mPhase2;
/* 0x57C */ request_of_phase_process_class mPhase3;
/* 0x584 */ request_of_phase_process_class mPhase4;
/* 0x58C */ mDoExt_McaMorfSO* mpMorf;
/* 0x590 */ mDoExt_btpAnm* mpBtpAnm;
/* 0x594 */ Z2CreatureCitizen mCitizen;
/* 0x638 */ dBgS_Acch mAcch;
/* 0x810 */ dBgS_AcchCir mAcchCir;
/* 0x850 */ dCcD_Stts mStts;
/* 0x88C */ dCcD_Cyl mCyl;
/* 0x9C8 */ dNpcLib_lookat_c mLookat;
/* 0xA98 */ u8 field_0xa98[0xAC4 - 0xA98];
/* 0xAC4 */ s16 field_0xac4;
/* 0xAC6 */ bool field_0xac6;
};
#endif /* A_NPC_D_A_NPC_CD2_H */
+22
View File
@@ -1,6 +1,28 @@
#ifndef D_D_NPC_LIB_H
#define D_D_NPC_LIB_H
#include "d/com/d_com_inf_game.h"
#include "dolphin/types.h"
struct dNpcLib_lookat_c {
/* 80251314 */ dNpcLib_lookat_c();
/* 8025140C */ void init(J3DModel*, int*, csXyz*, csXyz*);
/* 80251534 */ void action(cXyz, cXyz, fopAc_ac_c*, f32 (*)[4], int);
/* 80251B60 */ void dbView();
/* 80251B64 */ void setPrm();
/* 80251EF8 */ void update();
/* 80252018 */ int limitter(s16*, s16, s16, s16);
/* 80252094 */ virtual ~dNpcLib_lookat_c();
/* 0x04 */ cXyz field_0x04[4];
/* 0x34 */ csXyz field_0x34[4];
/* 0x4C */ csXyz field_0x4c[4];
/* 0x64 */ csXyz field_0x64[4];
/* 0x7C */ csXyz field_0x7c[4];
/* 0x94 */ csXyz field_0x94[4];
/* 0xAC */ f32 field_0xac[4];
/* 0xBC */ s32 field_0xbc[4];
/* 0xCC */ s32 mCount;
};
#endif /* D_D_NPC_LIB_H */