mirror of
https://github.com/zeldaret/tww.git
synced 2026-06-22 00:06:34 -04:00
141 lines
3.8 KiB
C++
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 */
|