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

365 lines
11 KiB
C++

#ifndef D_A_NPC_JI1_H
#define D_A_NPC_JI1_H
#include "f_op/f_op_actor.h"
#include "m_Do/m_Do_hostIO.h"
#include "d/d_cc_d.h"
#include "d/d_npc.h"
#include "d/d_particle.h"
class mDoExt_McaMorf;
class daNpc_Ji1_c : public fopAc_ac_c {
public:
typedef int (daNpc_Ji1_c::*Action_t)(void*);
typedef int (daNpc_Ji1_c::*SubAction_t)();
void SpRollCutChcek() {}
bool checkAction(Action_t action) {
return field_0x2B0 == action;
}
bool checkSubAction(SubAction_t subAction) {
return field_0x2D4 == subAction;
}
void setAction(Action_t action, void* arg) {
if(field_0x2B0 != action) {
if(field_0x2B0) {
field_0xC78 = 0xFF;
(this->*field_0x2B0)(arg);
}
field_0x2BC = field_0x2B0;
field_0x2B0 = action;
field_0xC78 = 0;
(this->*field_0x2B0)(arg);
}
}
void setSubAction(SubAction_t subAction) {
field_0x2D4 = subAction;
}
BOOL isGuardAnim();
BOOL isAttackAnim();
int isAttackFrame();
BOOL isItemWaitAnim();
BOOL isClearRecord(short);
void setClearRecord(short);
BOOL normalSubActionHarpoonGuard(short);
BOOL normalSubActionGuard(short);
BOOL normalAction(void*);
BOOL kaitenExpAction(void*);
BOOL kaitenspeakAction(void*);
BOOL kaitenwaitAction(void*);
BOOL kaitenAction(void*);
u32 getMsg1stType();
u32 getMsg2ndType();
u32 getMsg();
u16 next_msgStatus(u32* msgId);
BOOL talkAction(void*);
BOOL speakAction(void*);
BOOL speakBadAction(void*);
static void* initPosObject(void*, void*);
void initPos(int);
void createItem();
void set_mtx();
s32 getEventActionNo(int);
BOOL eventAction(void*);
u32 evn_init_pos_init(int);
u32 evn_setAnm_init(int);
u32 evn_talk_init(int);
u32 evn_talk();
u32 evn_continue_talk_init(int);
u32 evn_continue_talk();
u32 evn_setAngle_init(int);
u32 evn_sound_proc_init(int);
u32 evn_head_swing_init(int);
u32 evn_harpoon_proc_init(int);
u32 evn_RollAtControl_init(int);
u32 evn_RollAtControl();
u32 evn_game_mode_init(int);
u32 evn_turn_to_player();
u32 evn_hide_init(int);
void AnimeControlToWait();
u32 privateCut();
u32 setParticle(int, f32, f32);
void dtParticle();
u32 setParticleAT(int, f32, f32);
void dtParticleAT();
BOOL startspeakAction(void*);
BOOL endspeakAction(void*);
BOOL reiAction(void*);
BOOL plmoveAction(void*);
void teachMove(f32);
BOOL teachSpRollCutMove(f32);
void calcCoCorrectValue();
void calcBgCorrectValue();
BOOL MoveToPlayer(f32, u8);
void teachSubActionAttackInit();
BOOL teachSubActionAttack();
void teachSubActionJumpInit();
BOOL teachSubActionJump();
BOOL teachAction(void*);
BOOL teachSPRollCutAction(void*);
void battleGameSetTimer();
void battleMove(f32);
void battleSubActionWaitInit();
BOOL battleSubActionWait();
void battleSubActionNockBackInit(int);
BOOL battleSubActionNockBack();
void battleSubActionAttackInit();
BOOL battleSubActionAttack();
void battleSubActionTateAttackInit();
BOOL battleSubActionTateAttack();
void battleSubActionYokoAttackInit();
BOOL battleSubActionYokoAttack();
void battleSubActionJumpInit();
BOOL battleSubActionJump();
void battleSubActionDamageInit();
BOOL battleSubActionDamage();
void battleSubActionJpGuardInit();
BOOL battleSubActionJpGuard();
void battleSubActionGuardInit();
BOOL battleSubActionGuard();
void battleAtSet();
BOOL battleGuardCheck();
BOOL battleAction(void*);
BOOL checkCutType(int, int);
void setAnimFromMsgNo(u32);
BOOL setAnm(int, f32, int);
cPhs_State _create();
BOOL CreateHeap();
BOOL CreateInit();
BOOL _delete();
BOOL _execute();
BOOL _draw();
BOOL chkAttention(cXyz, s16);
BOOL lookBack();
void setHitParticle(cXyz*, u32);
void setGuardParticle();
void BackSlideInit();
void BackSlide(f32, f32);
void harpoonRelease(cXyz*);
void harpoonMove();
public:
/* 0x290 */ f32 field_0x290;
/* 0x294 */ f32 field_0x294;
/* 0x298 */ f32 field_0x298;
/* 0x29C */ f32 field_0x29C;
/* 0x2A0 */ f32 field_0x2A0;
/* 0x2A4 */ f32 field_0x2A4;
/* 0x2A8 */ u8 field_0x2A8;
/* 0x2AC */ u32 field_0x2AC;
/* 0x2B0 */ Action_t field_0x2B0;
/* 0x2BC */ Action_t field_0x2BC;
/* 0x2C8 */ Action_t field_0x2C8;
/* 0x2D4 */ SubAction_t field_0x2D4;
/* 0x2E0 */ dPa_smokeEcallBack field_0x2E0;
/* 0x300 */ dPa_smokeEcallBack field_0x300;
/* 0x320 */ cXyz field_0x320;
/* 0x32C */ s16 field_0x32C;
/* 0x330 */ mDoExt_McaMorf* field_0x330;
/* 0x334 */ dNpc_EventCut_c mEventCut;
/* 0x3A0 */ dNpc_JntCtrl_c m_jnt;
/* 0x3D4 */ J3DAnmTexPattern* headTexPattern;
/* 0x3D8 */ mDoExt_btpAnm field_0x3D8;
/* 0x3EC */ u8 field_0x3EC;
/* 0x3EE */ s16 field_0x3EE;
/* 0x3F0 */ u32 field_0x3F0;
/* 0x3F4 */ mDoExt_McaMorf* mpMorf;
/* 0x3F8 */ J3DModel* field_0x3F8;
/* 0x3FC */ mDoExt_brkAnm field_0x3FC;
/* 0x414 */ f32 field_0x414;
/* 0x418 */ mDoExt_btkAnm field_0x418;
/* 0x42C */ f32 field_0x42C;
/* 0x430 */ JPABaseEmitter* field_0x430;
/* 0x434 */ dBgS_ObjAcch field_0x434;
/* 0x5F8 */ dBgS_AcchCir field_0x5F8;
/* 0x638 */ dCcD_Stts field_0x638;
/* 0x674 */ dCcD_Stts field_0x674;
/* 0x6B0 */ dCcD_Cyl field_0x6B0;
/* 0x7E0 */ dCcD_Cyl field_0x7E0;
/* 0x910 */ dCcD_Cyl field_0x910;
/* 0xA40 */ dCcD_Cps field_0xA40;
/* 0xB78 */ cXyz field_0xB78;
/* 0xB84 */ cXyz field_0xB84;
/* 0xB90 */ cXyz field_0xB90;
/* 0xB9C */ s8 handRJointNo;
/* 0xB9D */ s8 hair1JointNo;
/* 0xB9E */ s8 hair2JointNo;
/* 0xB9F */ s8 hair3JointNo;
/* 0xBA0 */ s8 armLJointNo;
/* 0xBA1 */ s8 armRJointNo;
/* 0xBA2 */ s16 field_0xBA2;
/* 0xBA4 */ s16 field_0xBA4;
/* 0xBA6 */ s16 field_0xBA6;
/* 0xBA8 */ s16 field_0xBA8;
/* 0xBAA */ s16 field_0xBAA;
/* 0xBAC */ s16 field_0xBAC;
/* 0xBAE */ s16 field_0xBAE;
/* 0xBB0 */ s16 field_0xBB0;
/* 0xBB2 */ s16 field_0xBB2;
/* 0xBB4 */ s16 field_0xBB4;
/* 0xBB6 */ s16 field_0xBB6;
/* 0xBB8 */ s16 field_0xB86;
/* 0xBBA */ s16 field_0xBBA;
/* 0xBBC */ s16 field_0xBBC;
/* 0xBBE */ s16 field_0xBBE;
/* 0xBC0 */ s16 field_0xBC0;
/* 0xBC2 */ s16 field_0xBC2;
/* 0xBC4 */ s16 field_0xBC4;
/* 0xBC6 */ s16 field_0xBC6;
/* 0xBC8 */ s16 field_0xBC8;
/* 0xBCA */ s16 field_0xBCA;
/* 0xBCC */ s16 field_0xBCC;
/* 0xBCE */ s16 field_0xBCE;
/* 0xBD0 */ s16 field_0xBD0;
/* 0xBD2 */ s16 field_0xBD2;
/* 0xBD4 */ s16 field_0xBD4;
/* 0xBD6 */ s16 field_0xBD6;
/* 0xBD8 */ cXyz field_0xBD8[3];
/* 0xBFC */ dNpc_HeadAnm_c field_0xBFC;
/* 0xC20 */ u32 pad_0xC20;
/* 0xC24 */ s32 field_0xC24;
/* 0xC28 */ u32 field_0xC28;
/* 0xC2C */ u32 field_0xC2C;
/* 0xC30 */ s32 field_0xC30;
/* 0xC34 */ s32 field_0xC34;
/* 0xC38 */ s32 field_0xC38;
/* 0xC3C */ int field_0xC3C;
/* 0xC40 */ cXyz field_0xC40;
/* 0xC4C */ f32 field_0xC4C;
/* 0xC50 */ f32 field_0xC50;
/* 0xC54 */ s16 field_0xC54[0x12];
/* 0xC78 */ s8 field_0xC78;
/* 0xC7C */ request_of_phase_process_class field_0xC7C;
/* 0xC84 */ u32 field_0xC84;
/* 0xC88 */ s16 field_0xC88;
/* 0xC8C */ s32 field_0xC8C;
/* 0xC90 */ s32 field_0xC90;
/* 0xC94 */ u32 field_0xC94;
/* 0xC98 */ u32 field_0xC98;
/* 0xC9C */ f32 field_0xC9C;
/* 0xCA0 */ Mtx field_0xCA0;
/* 0xCD0 */ cXyz field_0xCD0;
/* 0xCDC */ cXyz field_0xCDC;
/* 0xCE8 */ u8 pad_0xCE8[0xC];
/* 0xCF4 */ Quaternion field_0xCF4;
/* 0xD04 */ f32 field_0xD04;
/* 0xD08 */ f32 field_0xD08;
/* 0xD0C */ f32 field_0xD0C;
/* 0xD10 */ f32 field_0xD10;
/* 0xD14 */ s16 field_0xD14;
/* 0xD16 */ s16 field_0xD16;
/* 0xD18 */ f32 field_0xD18;
/* 0xD1C */ cXyz field_0xD1C;
/* 0xD28 */ cXyz field_0xD28;
/* 0xD34 */ u32 field_0xD34;
/* 0xD38 */ cXyz field_0xD38;
/* 0xD44 */ u8 pad_0xD44[0xC];
/* 0xD50 */ cXyz field_0xD50;
/* 0xD5C */ csXyz field_0xD5C;
/* 0xD64 */ s32 field_0xD64;
/* 0xD68 */ s32 field_0xD68;
/* 0xD6C */ s32 field_0xD6C;
/* 0xD70 */ s32 field_0xD70;
/* 0xD74 */ s32 field_0xD74;
/* 0xD78 */ u8 field_0xD78;
/* 0xD79 */ u8 field_0xD79;
/* 0xD7A */ u8 field_0xD7A;
/* 0xD7B */ u8 field_0xD7B;
/* 0xD7C */ u8 field_0xD7C;
/* 0xD7D */ u8 field_0xD7D;
/* 0xD7E */ u8 field_0xD7E;
/* 0xD80 */ u32 field_0xD80;
/* 0xD84 */ u8 field_0xD84;
/* 0xD85 */ u8 field_0xD85;
static s8 game_life_point;
}; // Size: 0xD88
class daNpc_Ji1_HIO_c : public JORReflexible {
public:
daNpc_Ji1_HIO_c();
virtual ~daNpc_Ji1_HIO_c() {}
void genMessage(JORMContext* ctx);
public:
/* 0x004 */ s8 field_0x04;
/* 0x008 */ f32 field_0x08;
/* 0x00C */ s16 field_0x0C;
/* 0x00E */ s16 field_0x0E;
/* 0x010 */ s16 field_0x10;
/* 0x012 */ s16 field_0x12;
/* 0x014 */ s16 field_0x14;
/* 0x016 */ s16 field_0x16;
/* 0x018 */ s16 field_0x18;
/* 0x01A */ u8 field_0x1A;
/* 0x01C */ f32 field_0x1C;
/* 0x020 */ f32 field_0x20;
/* 0x024 */ f32 field_0x24;
/* 0x028 */ u8 field_0x28;
/* 0x02C */ f32 field_0x2C;
/* 0x030 */ u8 field_0x30;
/* 0x034 */ f32 field_0x34;
/* 0x038 */ f32 field_0x38;
/* 0x03C */ f32 field_0x3C;
/* 0x040 */ f32 field_0x40;
/* 0x044 */ f32 field_0x44;
/* 0x048 */ f32 field_0x48;
/* 0x04C */ f32 field_0x4C;
/* 0x050 */ f32 field_0x50;
/* 0x054 */ s16 field_0x54[6];
/* 0x060 */ s16 field_0x60[4];
/* 0x068 */ u8 field_0x68;
/* 0x06C */ f32 field_0x6C;
/* 0x070 */ f32 field_0x70;
/* 0x074 */ f32 field_0x74;
/* 0x078 */ f32 field_0x78;
/* 0x07C */ f32 field_0x7C;
/* 0x080 */ f32 field_0x80;
/* 0x084 */ f32 field_0x84;
/* 0x088 */ u16 field_0x88;
/* 0x08A */ u16 field_0x8A;
/* 0x08C */ u16 field_0x8C;
/* 0x08E */ u16 field_0x8E;
/* 0x090 */ u16 field_0x90;
/* 0x092 */ u16 field_0x92;
/* 0x094 */ u16 field_0x94;
/* 0x096 */ u16 field_0x96;
/* 0x098 */ u16 field_0x98;
/* 0x09A */ u16 field_0x9A;
/* 0x09C */ u16 field_0x9C;
/* 0x09E */ u16 field_0x9E;
/* 0x0A0 */ u16 field_0xA0;
/* 0x0A2 */ u8 field_0xA2;
/* 0x0A4 */ f32 field_0xA4;
/* 0x0A8 */ f32 field_0xA8;
/* 0x0AC */ f32 field_0xAC;
/* 0x0B0 */ f32 field_0xB0;
/* 0x0B4 */ f32 field_0xB4;
/* 0x0B8 */ u8 field_0xB8;
/* 0x0BC */ f32 field_0xBC;
/* 0x0C0 */ f32 field_0xC0;
/* 0x0C4 */ cXyz field_0xC4[3];
/* 0x0E8 */ s16 field_0xE8;
/* 0x0EA */ s16 field_0xEA;
/* 0x0EC */ s16 field_0xEC;
/* 0x0EE */ s16 field_0xEE;
/* 0x0F0 */ s16 field_0xF0;
/* 0x0F2 */ s16 field_0xF2;
/* 0x0F4 */ s16 field_0xF4;
/* 0x0F6 */ s16 field_0xF6;
/* 0x0F8 */ s16 field_0xF8;
/* 0x0FA */ s16 field_0xFA;
/* 0x0FC */ s16 field_0xFC;
/* 0x0FE */ s16 field_0xFE;
}; // Size: 0x100
#endif /* D_A_NPC_JI1_H */