mirror of
https://github.com/zeldaret/tww.git
synced 2026-08-10 11:13:45 -04:00
194 lines
5.4 KiB
C++
194 lines
5.4 KiB
C++
#ifndef D_A_NPC_BA1_H
|
|
#define D_A_NPC_BA1_H
|
|
|
|
#include "d/d_npc.h"
|
|
#include "f_op/f_op_actor.h"
|
|
|
|
class J3DNode;
|
|
|
|
class daNpc_Ba1_c : public fopNpc_npc_c {
|
|
public:
|
|
typedef BOOL (daNpc_Ba1_c::*ProcFunc)(void*);
|
|
struct anm_prm_c {
|
|
/* 0x00 */ s8 mAnmNum;
|
|
/* 0x01 */ s8 mBtpNum;
|
|
/* 0x02 */ s16 field_0x02;
|
|
/* 0x04 */ f32 mMorf;
|
|
/* 0x08 */ f32 mSpeed;
|
|
/* 0x0C */ int mLoopMode;
|
|
};
|
|
|
|
void holdEventOn() { mbHoldEvent = 1; }
|
|
|
|
void nodeBa1Control(J3DNode*, J3DModel*);
|
|
bool XyCheck_cB(int);
|
|
s16 XyEvent_cB(int);
|
|
bool init_BA1_0();
|
|
bool init_BA1_1();
|
|
bool init_BA1_2();
|
|
bool init_BA1_3();
|
|
bool init_BA1_4();
|
|
bool createInit();
|
|
void setMtx(bool);
|
|
int anmNum_toResID(int);
|
|
int btpNum_toResID(int);
|
|
bool setBtp(bool, int);
|
|
bool iniTexPttrnAnm(bool);
|
|
void plyTexPttrnAnm();
|
|
void setAnm_tex(s8);
|
|
BOOL setAnm_anm(anm_prm_c*);
|
|
void setAnm_NUM(int, int);
|
|
bool setAnm();
|
|
void chg_anmTag();
|
|
void control_anmTag();
|
|
void chg_anmAtr(u8);
|
|
void control_anmAtr();
|
|
void setAnm_ATR(int);
|
|
void anmAtr(u16);
|
|
void eventOrder();
|
|
void checkOrder();
|
|
bool chk_talk();
|
|
bool chk_drct(f32);
|
|
bool chk_partsNotMove();
|
|
void lookBack();
|
|
u16 next_msgStatus(u32*);
|
|
u32 getMsg_BA1_0();
|
|
u32 getMsg_BA1_1();
|
|
u32 getMsg_BA1_3();
|
|
u32 getMsg_BA1_4();
|
|
u32 getMsg();
|
|
bool chkAttention();
|
|
void setAttention(bool);
|
|
fopAc_ac_c* searchByID(fpc_ProcID);
|
|
bool partner_srch_sub(fpcLyIt_JudgeFunc);
|
|
void partner_srch();
|
|
bool check_useFairyArea();
|
|
bool checkCommandTalk();
|
|
bool charDecide(int);
|
|
void eInit_SET_PLYER_GOL_();
|
|
void eInit_PLYER_INI_POS_();
|
|
void eInit_USE_FAIRY_END_();
|
|
void eInit_MOV_POS_();
|
|
void eInit_SET_PLYER_TRN_ANG_();
|
|
void eInit_ACTOR_DRW_CONTROL_(int*, int*);
|
|
void eInit_setEvTimer(int*);
|
|
void eInit_CHK_FAIRY_(int*);
|
|
f32 eInit_prmFloat(f32*, f32);
|
|
void eInit_SET_EYE_OFF_(f32*);
|
|
void eInit_EYE_OFF_ZRO_(f32*);
|
|
void eInit_CHK_FAIRY_MOV_1(int*);
|
|
void event_actionInit(int);
|
|
bool eMove_MOV_POS_();
|
|
bool eMove_CHK_FAIRY_();
|
|
bool eMove_EYE_OFF_ZRO_();
|
|
bool eMove_CHK_FAIRY_MOV_1();
|
|
bool event_action();
|
|
void cut_init_START_TALE1(int);
|
|
bool cut_move_START_TALE1();
|
|
void privateCut(int);
|
|
void endEvent();
|
|
BOOL isEventEntry();
|
|
void event_proc(int);
|
|
BOOL set_action(int (daNpc_Ba1_c::*)(void*), void*);
|
|
void setStt(s8);
|
|
BOOL wait_0();
|
|
BOOL wait_1();
|
|
BOOL talk_1();
|
|
BOOL talk_2();
|
|
BOOL wait_2();
|
|
BOOL wait_3();
|
|
BOOL ZZZwai();
|
|
BOOL wait_action1(void*);
|
|
BOOL wait_action2(void*);
|
|
BOOL demo_action1(void*);
|
|
BOOL wait_action3(void*);
|
|
BOOL wait_action4(void*);
|
|
bool demo();
|
|
void shadowDraw();
|
|
BOOL _draw();
|
|
BOOL _execute();
|
|
BOOL _delete();
|
|
cPhs_State _create();
|
|
J3DModelData* create_Anm();
|
|
bool create_itm_Mdl();
|
|
BOOL CreateHeap();
|
|
|
|
public:
|
|
/* 0x6C4 */ request_of_phase_process_class mPhs;
|
|
/* 0x6CC */ s8 m_hed_jnt_num;
|
|
/* 0x6CD */ s8 m_bbone_jnt_num;
|
|
/* 0x6CE */ s8 m_footL_jnt_num;
|
|
/* 0x6D0 */ J3DModel* mpClothModel;
|
|
/* 0x6D4 */ u32 mShadowID;
|
|
/* 0x6D8 */ J3DAnmTexPattern* m_hed_tex_pttrn;
|
|
/* 0x6DC */ mDoExt_btpAnm mHeadBtpAnm;
|
|
/* 0x6F0 */ u8 mBlinkFrame;
|
|
/* 0x6F2 */ s16 mBlinkTimer;
|
|
/* 0x6F4 */ ProcFunc mCurrProcFunc;
|
|
/* 0x700 */ u8 field_0x700[0x708 - 0x700];
|
|
/* 0x708 */ dNpc_EventCut_c mEventCut;
|
|
/* 0x774 */ fpc_ProcID mPartnerProcID;
|
|
/* 0x778 */ cXyz mInitialPos;
|
|
/* 0x784 */ csXyz mInitialAngle;
|
|
/* 0x78A */ csXyz m78A;
|
|
/* 0x790 */ cXyz mTransformedEyePos;
|
|
/* 0x79C */ cXyz m79C;
|
|
/* 0x7A8 */ u8 field_0x7A8[0x7C0 - 0x7A8];
|
|
/* 0x7C0 */ f32 mPrevMorfFrame;
|
|
/* 0x7C4 */ f32 mEyeOffset;
|
|
/* 0x7C8 */ f32 mEyeOffsetZero;
|
|
/* 0x7CC */ s16 mJointHeadY;
|
|
/* 0x7CE */ s16 mJointBackboneY;
|
|
/* 0x7D0 */ s16 mActorAngleY;
|
|
/* 0x7D2 */ s16 mEventIdTable[6];
|
|
/* 0x7DE */ s16 mEventIdx;
|
|
/* 0x7E0 */ s16 mEvTimer;
|
|
/* 0x7E2 */ s16 mEvTimer2;
|
|
/* 0x7E4 */ u8 field_0x7E4[0x7E8 - 0x7E4];
|
|
/* 0x7E8 */ s16 mLookAtMaxVel;
|
|
/* 0x7EA */ s16 mTargetYRot;
|
|
/* 0x7EC */ u8 field_0x7EC[0x7EE - 0x7EC];
|
|
/* 0x7EE */ s8 mbMorfAnimStopped;
|
|
/* 0x7EF */ u8 m7EF;
|
|
/* 0x7F0 */ s8 m7F0;
|
|
/* 0x7F1 */ u8 mItemNo;
|
|
#if VERSION > VERSION_JPN
|
|
/* 0x7F2 */ u8 m7F2;
|
|
#endif
|
|
/* 0x7F3 */ u8 field_0x7F3[0x7F4 - 0x7F3];
|
|
/* 0x7F4 */ bool mbInitGrandma0;
|
|
/* 0x7F5 */ bool m7F5;
|
|
/* 0x7F6 */ bool m7F6;
|
|
/* 0x7F7 */ bool m7F7;
|
|
/* 0x7F8 */ bool m7F8;
|
|
/* 0x7F9 */ bool mbHoldEvent;
|
|
/* 0x7FA */ bool m7FA;
|
|
/* 0x7FB */ bool m7FB;
|
|
/* 0x7FC */ bool mFairyUsed;
|
|
/* 0x7FD */ bool m7FD;
|
|
/* 0x7FE */ bool m7FE;
|
|
/* 0x7FF */ bool m7FF;
|
|
/* 0x800 */ bool mbRanExecute;
|
|
/* 0x804 */ BOOL mbSetEyePos;
|
|
/* 0x808 */ bool mbAttention;
|
|
/* 0x809 */ bool m809;
|
|
/* 0x80A */ bool mHeadOnlyFollow;
|
|
/* 0x80B */ bool mbInDemo;
|
|
/* 0x80C */ s8 mActionIndex;
|
|
/* 0x80D */ s8 mActNo;
|
|
/* 0x80E */ u8 m80E;
|
|
/* 0x80F */ u8 mMesgAnimeTagInfo;
|
|
/* 0x810 */ s8 mBtpNum;
|
|
/* 0x811 */ s8 mAnmNum;
|
|
/* 0x812 */ s8 m812;
|
|
/* 0x813 */ s8 mStatus;
|
|
/* 0x814 */ s8 mPrevStatus;
|
|
/* 0x815 */ s8 mLookBackState;
|
|
/* 0x816 */ s8 mType;
|
|
/* 0x817 */ s8 mSpecificType;
|
|
/* 0x818 */ s8 m818;
|
|
/* 0x819 */ s8 m819;
|
|
}; // Size: 0x81C
|
|
|
|
#endif /* D_A_NPC_BA1_H */
|