Files
tww/include/d/actor/d_a_npc_nz.h
T
2025-03-17 22:26:56 -04:00

141 lines
3.8 KiB
C++

#ifndef D_A_NPC_NZ_H
#define D_A_NPC_NZ_H
#include "f_op/f_op_actor.h"
#include "m_Do/m_Do_hostIO.h"
#include "m_Do/m_Do_ext.h"
#include "d/d_particle.h"
#include "d/d_bg_s_acch.h"
#include "d/d_npc.h"
#include "d/actor/d_a_shop_item.h"
class J3DNode;
class daNpc_Nz_c : public fopNpc_npc_c {
public:
enum Proc_e {
PROC_INIT = 0,
PROC_EXEC = 1,
};
// objdiff says this is a weak function
// but defining it here with {} causes it to be inlined with fopAcM_SetupActor which breaks things
daNpc_Nz_c();
void modeProcInit(int newMode) { modeProc(PROC_INIT, newMode); }
BOOL NodeCallBack(J3DNode*, int);
BOOL TailNodeCallBack(J3DNode*, int);
void TailControl();
BOOL _createHeap();
s16 XyEventCB(int);
void eventOrder();
void checkOrder();
void setAttention();
void LookBack();
void setAnm(s8, bool);
void setMtx();
void modeWaitInit();
void modeWait();
void modeEventEsaInit();
void modeEventEsa();
void modeProc(Proc_e, int);
void createShopItem(u8, u8);
daShopItem_c* getShopItem(int);
void deleteShopItem();
u16 next_msgStatus(u32*);
void anmAtr(u16);
bool _execute();
bool _draw();
BOOL createInit();
void setSmokeParticle();
void getArg();
cPhs_State _create();
bool _delete();
BOOL _searchEsa(fopAc_ac_c*);
void cutProc();
void cutEatesaStart();
void cutEatesaProc();
void cutEatesaFirstStart();
void cutEatesaFirstProc();
void cutKillAllStart();
void cutKillAllProc();
void cutShowStart();
void cutShowProc();
void cutHideStart();
void cutHideProc();
void cutSetAnmStart();
void cutSetAnmProc();
void cutGoHomeStart();
void cutGoHomeProc();
void cutChkGetItemStart();
void cutChkGetItemProc();
public:
static const char m_arc_name[];
static const char m_bdl_arc_name[];
/* 0x6C4 */ cXyz field_0x6C4;
/* 0x6D0 */ int mCurMode;
/* 0x6D4 */ s8 field_0x6D4;
/* 0x6D5 */ s8 field_0x6D5;
/* 0x6D6 */ s8 field_0x6D6;
/* 0x6D8 */ request_of_phase_process_class mPhs1;
/* 0x6E0 */ request_of_phase_process_class mPhs2;
/* 0x6E8 */ mDoExt_McaMorf* mpMorf;
/* 0x6EC */ f32 field_0x6EC;
/* 0x6F0 */ dBgS_ObjAcch mAcch;
/* 0x8B4 */ dBgS_AcchCir mAcchCir;
/* 0x8F4 */ int field_0x8F4;
/* 0x8F8 */ u8 field_0x8F8;
/* 0x8FA */ s16 field_0x8FA;
/* 0x8FC */ bool field_0x8FC;
/* 0x8FE */ s16 field_0x8FE;
/* 0x900 */ u32 field_0x900;
/* 0x904 */ s16 field_0x904;
/* 0x906 */ s16 field_0x906;
/* 0x908 */ u8 field_0x908;
/* 0x909 */ u8 field_0x909;
/* 0x90A */ s16 field_0x90A;
/* 0x90C */ fopAc_ac_c* mpBait;
/* 0x910 */ f32 field_0x910;
/* 0x914 */ dPa_smokeEcallBack field_0x914;
/* 0x934 */ mDoExt_3DlineMat1_c field_0x934;
/* 0x970 */ u32 field_0x970;
/* 0x974 */ cXyz field_0x974[10];
/* 0x9EC */ cXyz field_0x9EC[10];
/* 0xA64 */ cXyz field_0xA64[2];
/* 0xA7C */ u8 field_0xA70[0xC];
/* 0xA88 */ u32 field_0xA88;
/* 0xA8C */ u32 field_0xA8C;
/* 0xA90 */ s16 field_0xA90;
}; // Size: 0xA92
class daNpc_Nz_HIO_c : public JORReflexible {
public:
daNpc_Nz_HIO_c();
virtual ~daNpc_Nz_HIO_c() {}
void genMessage(JORMContext* ctx);
public:
/* 0x00 - vtable */
/* 0x04 */ s8 mNo;
/* 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 */ s16 field_0x14;
/* 0x16 */ s16 field_0x16;
/* 0x18 */ s16 field_0x18;
/* 0x1A */ s8 field_0x1A;
/* 0x1C */ f32 field_0x1C;
/* 0x20 */ f32 field_0x20;
/* 0x24 */ f32 field_0x24;
}; // Size: 0x28
#endif /* D_A_NPC_NZ_H */