mirror of
https://github.com/zeldaret/tww.git
synced 2026-07-09 06:03:22 -04:00
136 lines
3.8 KiB
C++
136 lines
3.8 KiB
C++
#ifndef D_A_NPC_KM1_H
|
|
#define D_A_NPC_KM1_H
|
|
|
|
#include "d/d_npc.h"
|
|
#include "f_op/f_op_actor.h"
|
|
#include "m_Do/m_Do_hostIO.h"
|
|
|
|
class daNpc_Km1_c : public fopNpc_npc_c {
|
|
public:
|
|
typedef int (daNpc_Km1_c::*ActionFunc)(void*);
|
|
|
|
struct anm_prm_c {
|
|
s8 field_0x0;
|
|
s8 field_0x1;
|
|
f32 field_0x4;
|
|
f32 field_0x8;
|
|
int field_0xC;
|
|
};
|
|
|
|
enum Animation {
|
|
/* 0x0 */ ANM_WAIT,
|
|
/* 0x1 */ ANM_END,
|
|
};
|
|
|
|
enum TexPattern {
|
|
/* 0x0 */ TEXPATTERN_MABA,
|
|
/* 0x1 */ TEXPATTERN_END,
|
|
};
|
|
|
|
s8 getHeadJntNum() {return m_head_jnt_num;}
|
|
s8 getBackboneJntNum() {return m_backbone_jnt_num;}
|
|
s16 getBackbone_x() {return m_jnt.getBackbone_x();}
|
|
s16 getBackbone_y() {return m_jnt.getBackbone_y();}
|
|
s16 getHead_x() {return m_jnt.getHead_x();}
|
|
s16 getHead_y() {return m_jnt.getHead_y();}
|
|
Vec* getAttPos() {return &mAttPos;}
|
|
Vec* getEyePos() {return &mEyePos;}
|
|
|
|
bool createInit();
|
|
void setMtx();
|
|
bool anmResID(int, int*, int*);
|
|
void BtpNum2ResID(int, int*);
|
|
void setAnm_tex(signed char);
|
|
bool init_btp(bool, int);
|
|
bool initTexPatternAnm(bool);
|
|
void playTexPatternAnm();
|
|
s32 setAnm_anm(anm_prm_c*);
|
|
void setAnm();
|
|
void chngAnmTag();
|
|
void ctrlAnmTag();
|
|
void chngAnmAtr(unsigned char);
|
|
void ctrlAnmAtr();
|
|
void setAnm_ATR(int);
|
|
void anmAtr(unsigned short);
|
|
void setStt(signed char);
|
|
u16 next_msgStatus(unsigned long*);
|
|
u32 getMsg();
|
|
void eventOrder();
|
|
void checkOrder();
|
|
void lookBack();
|
|
bool chkAttention();
|
|
void setAttention();
|
|
bool decideType(int);
|
|
void event_actionInit(int);
|
|
bool event_action();
|
|
void privateCut();
|
|
void endEvent();
|
|
void event_proc();
|
|
bool set_action(ActionFunc, void*);
|
|
BOOL wait01();
|
|
BOOL talk01();
|
|
int wait_action1(void*);
|
|
u8 demo();
|
|
BOOL _draw();
|
|
BOOL _execute();
|
|
BOOL _delete();
|
|
cPhs_State _create();
|
|
BOOL CreateHeap();
|
|
|
|
public:
|
|
/* 0x6C4 */ request_of_phase_process_class field_0x6C4;
|
|
/* 0x6CC */ s8 m_head_jnt_num;
|
|
/* 0x6CD */ s8 m_backbone_jnt_num;
|
|
/* 0x6CE */ u8 field_0x6CE[0x6D0 - 0x6CE];
|
|
/* 0x6D0 */ u32 mShadowId;
|
|
/* 0x6D4 */ J3DModel* field_0x6D4;
|
|
/* 0x6D8 */ J3DAnmTexPattern* m_head_tex_pattern;
|
|
/* 0x6DC */ mDoExt_btpAnm mBtpAnm;
|
|
/* 0x6F0 */ u8 mBtpFrame;
|
|
/* 0x6F1 */ u8 field_0x6F1;
|
|
/* 0x6F2 */ s16 field_0x6F2;
|
|
/* 0x6F4 */ ActionFunc field_0x6F4;
|
|
/* 0x700 */ dNpc_EventCut_c mEventCut;
|
|
/* 0x76C */ csXyz field_0x76C;
|
|
/* 0x772 */ u8 field_0x772[0x774 - 0x772];
|
|
/* 0x774 */ cXyz field_0x774;
|
|
/* 0x780 */ cXyz mAttPos;
|
|
/* 0x78C */ cXyz mEyePos;
|
|
/* 0x798 */ cXyz field_0x798;
|
|
/* 0x7A4 */ f32 field_0x7A4;
|
|
/* 0x7A8 */ u8 field_0x7A8[0x7AC - 0x7A8];
|
|
/* 0x7AC */ f32 field_0x7AC;
|
|
/* 0x7B0 */ s16 field_0x7B0;
|
|
/* 0x7B2 */ s16 field_0x7B2;
|
|
/* 0x7B4 */ s8 field_0x7B4;
|
|
/* 0x7B5 */ s8 field_0x7B5;
|
|
/* 0x7B6 */ u8 field_0x7B6;
|
|
/* 0x7B7 */ u8 field_0x7B7;
|
|
/* 0x7B8 */ u8 field_0x7B8;
|
|
/* 0x7B9 */ u8 field_0x7B9[0x7BC - 0x7B9];
|
|
/* 0x7BC */ s32 field_0x7BC;
|
|
/* 0x7C0 */ s32 field_0x7C0;
|
|
/* 0x7C4 */ u8 field_0x7C4;
|
|
/* 0x7C5 */ u8 field_0x7C5;
|
|
/* 0x7C6 */ bool mHeadOnlyFollow;
|
|
/* 0x7C7 */ u8 field_0x7C7;
|
|
/* 0x7C8 */ u8 field_0x7C8;
|
|
/* 0x7C8 */ s8 field_0x7C9;
|
|
/* 0x7CA */ s8 field_0x7CA;
|
|
/* 0x7CB */ u8 field_0x7CB;
|
|
/* 0x7CC */ u8 field_0x7CC;
|
|
/* 0x7CD */ s8 field_0x7CD;
|
|
/* 0x7CE */ s8 field_0x7CE;
|
|
/* 0x7CF */ s8 field_0x7CF;
|
|
/* 0x7D0 */ s8 field_0x7D0;
|
|
/* 0x7D1 */ s8 field_0x7D1;
|
|
/* 0x7D2 */ s8 field_0x7D2;
|
|
/* 0x7D3 */ s8 field_0x7D3;
|
|
/* 0x7D4 */ s8 field_0x7D4;
|
|
/* 0x7D5 */ s8 field_0x7D5;
|
|
/* 0x7D6 */ s8 field_0x7D6;
|
|
/* 0x7D7 */ s8 field_0x7D7;
|
|
}; // Size: 0x7D8
|
|
|
|
#endif /* D_A_NPC_KM1_H */
|