mirror of
https://github.com/zeldaret/tww.git
synced 2026-07-07 05:14:58 -04:00
D_a_npc_zl1 matching for retail (#900)
* should be fixed * matching ? * matching now * matching for GZLE01 and GZLP01 * fixed dDemo_setDemoData probably * matching except setfrontwalltype for demo
This commit is contained in:
+1
-1
@@ -1673,7 +1673,7 @@ config.libs = [
|
||||
ActorRel(NonMatching, "d_a_npc_ym1"),
|
||||
ActorRel(NonMatching, "d_a_npc_yw1"),
|
||||
ActorRel(NonMatching, "d_a_npc_zk1"),
|
||||
ActorRel(NonMatching, "d_a_npc_zl1"),
|
||||
ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_npc_zl1"),
|
||||
ActorRel(NonMatching, "d_a_nz"),
|
||||
ActorRel(NonMatching, "d_a_obj_Itnak"),
|
||||
ActorRel(NonMatching, "d_a_obj_Vds"),
|
||||
|
||||
+197
-90
@@ -1,53 +1,64 @@
|
||||
#ifndef D_A_NPC_ZL1_H
|
||||
#define D_A_NPC_ZL1_H
|
||||
|
||||
#include "f_op/f_op_actor.h"
|
||||
#include "d/d_npc.h"
|
||||
|
||||
class J3DMaterial;
|
||||
class J3DNode;
|
||||
|
||||
class daNpc_Zl1_matAnm_c {
|
||||
class daNpc_Zl1_matAnm_c : public J3DMaterialAnm{
|
||||
public:
|
||||
void clrMoveFlag() {}
|
||||
void getNowOffsetX() {}
|
||||
void getNowOffsetY() {}
|
||||
void setMoveFlag() {}
|
||||
void clrMoveFlag() {field_0x7C = false;}
|
||||
f32& getNowOffsetX() {return mOffset.x;}
|
||||
f32& getNowOffsetY() {return mOffset.y;}
|
||||
void setMoveFlag() {field_0x7C = true;}
|
||||
|
||||
daNpc_Zl1_matAnm_c();
|
||||
|
||||
void calc(J3DMaterial*) const;
|
||||
|
||||
public:
|
||||
/* Place member variables here */
|
||||
};
|
||||
/* 0x6C */ cXy mOffset;
|
||||
/* 0x74 */ cXy field_0x74;
|
||||
/* 0x7C */ bool field_0x7C;
|
||||
}; // Size: 0x7D
|
||||
|
||||
class daNpc_Zl1_c : public fopAc_ac_c {
|
||||
class daNpc_Zl1_c : public fopNpc_npc_c {
|
||||
public:
|
||||
|
||||
typedef int (daNpc_Zl1_c::*ActionFunc)(void*);
|
||||
|
||||
struct anm_prm_c {
|
||||
|
||||
s8 field_0x0;
|
||||
s8 field_0x1;
|
||||
f32 mMorf;
|
||||
f32 mPlaySpeed;
|
||||
int mLoopMode;
|
||||
};
|
||||
|
||||
daNpc_Zl1_c();
|
||||
void _nodeCB_Head(J3DNode*, J3DModel*);
|
||||
void _nodeCB_BackBone(J3DNode*, J3DModel*);
|
||||
void set_startPos(int);
|
||||
void init_ZL1_0();
|
||||
void init_ZL1_1();
|
||||
void init_ZL1_2();
|
||||
void init_ZL1_3();
|
||||
void init_ZL1_4();
|
||||
void init_ZL1_5();
|
||||
void init_ZL1_6();
|
||||
void init_ZL1_7();
|
||||
void createInit();
|
||||
BOOL set_startPos(int);
|
||||
bool init_ZL1_0();
|
||||
bool init_ZL1_1();
|
||||
bool init_ZL1_2();
|
||||
bool init_ZL1_3();
|
||||
bool init_ZL1_4();
|
||||
bool init_ZL1_5();
|
||||
bool init_ZL1_6();
|
||||
bool init_ZL1_7();
|
||||
bool createInit();
|
||||
void play_animation();
|
||||
void swoon_OnShip();
|
||||
bool swoon_OnShip();
|
||||
void setMtx(bool);
|
||||
void bckResID(int);
|
||||
void btpResID(int);
|
||||
void btkResID(int);
|
||||
void setBtp(signed char, bool);
|
||||
char* bckResID(int);
|
||||
char* btpResID(int);
|
||||
char* btkResID(int);
|
||||
bool setBtp(s8, bool);
|
||||
void setMat();
|
||||
void setBtk(signed char, bool);
|
||||
void init_texPttrnAnm(signed char, bool);
|
||||
bool setBtk(s8, bool);
|
||||
bool init_texPttrnAnm(s8, bool);
|
||||
void play_btp_anm();
|
||||
void eye_ctrl();
|
||||
void play_btk_anm();
|
||||
@@ -56,107 +67,203 @@ public:
|
||||
void setAnm();
|
||||
void chngAnmTag();
|
||||
void ctrlAnmTag();
|
||||
void chngAnmAtr(unsigned char);
|
||||
void chngAnmAtr(u8);
|
||||
void ctrlAnmAtr();
|
||||
void setAnm_ATR();
|
||||
void anmAtr(unsigned short);
|
||||
void next_msgStatus(unsigned long*);
|
||||
void getMsg_ZL1_2();
|
||||
void getMsg_ZL1_4();
|
||||
void getMsg_ZL1_5();
|
||||
void getMsg();
|
||||
void anmAtr(u16);
|
||||
u16 next_msgStatus(u32*);
|
||||
u32 getMsg_ZL1_2();
|
||||
u32 getMsg_ZL1_4();
|
||||
u32 getMsg_ZL1_5();
|
||||
u32 getMsg();
|
||||
void eventOrder();
|
||||
void checkOrder();
|
||||
void chk_talk();
|
||||
void chk_parts_notMov();
|
||||
void searchByID(fpc_ProcID, int*);
|
||||
void partner_search_sub(void* (*)(void*, void*));
|
||||
bool chk_talk();
|
||||
bool chk_parts_notMov();
|
||||
fopAc_ac_c* searchByID(fpc_ProcID, int*);
|
||||
bool partner_search_sub(void* (*)(void*, void*));
|
||||
void partner_search();
|
||||
void setEyeCtrl();
|
||||
void clrEyeCtrl();
|
||||
void lookBack();
|
||||
void chkAttention();
|
||||
bool chkAttention();
|
||||
void setAttention(bool);
|
||||
void decideType(int);
|
||||
void get_prmFloat(float*, float);
|
||||
void set_LightPos();
|
||||
bool decideType(int);
|
||||
f32 get_prmFloat(f32*, f32);
|
||||
cXyz set_LightPos();
|
||||
void init_Light();
|
||||
void incEnvironment();
|
||||
void decEnvironment();
|
||||
void darkProc();
|
||||
void cut_init_LOK_PLYER(int);
|
||||
void cut_move_LOK_PLYER();
|
||||
BOOL cut_move_LOK_PLYER();
|
||||
void cut_init_LOK_PARTNER(int);
|
||||
void cut_move_LOK_PARTNER();
|
||||
BOOL cut_move_LOK_PARTNER();
|
||||
void cut_init_CHG_ANM_ATR(int);
|
||||
void cut_move_CHG_ANM_ATR();
|
||||
BOOL cut_move_CHG_ANM_ATR();
|
||||
void cut_init_PLYER_TRN_PARTNER(int);
|
||||
void cut_move_PLYER_TRN_PARTNER();
|
||||
BOOL cut_move_PLYER_TRN_PARTNER();
|
||||
void cut_init_PLYER_TRN_TETRA(int);
|
||||
void cut_move_PLYER_TRN_TETRA();
|
||||
BOOL cut_move_PLYER_TRN_TETRA();
|
||||
void cut_init_MAJYU_START(int);
|
||||
void cut_move_MAJYU_START();
|
||||
BOOL cut_move_MAJYU_START();
|
||||
void cut_init_OKIRU(int);
|
||||
void cut_move_OKIRU();
|
||||
BOOL cut_move_OKIRU();
|
||||
void cut_init_OKIRU_2(int);
|
||||
void cut_move_OKIRU_2();
|
||||
BOOL cut_move_OKIRU_2();
|
||||
void cut_init_DRW_ONOFF(int);
|
||||
void cut_move_DRW_ONOFF();
|
||||
BOOL cut_move_DRW_ONOFF();
|
||||
void cut_init_PLYER_DRW_ONOFF(int);
|
||||
void cut_move_PLYER_DRW_ONOFF();
|
||||
BOOL cut_move_PLYER_DRW_ONOFF();
|
||||
void cut_init_JMP_OFF(int);
|
||||
void cut_move_JMP_OFF();
|
||||
BOOL cut_move_JMP_OFF();
|
||||
void cut_init_OMAMORI_ONOFF(int);
|
||||
void cut_move_OMAMORI_ONOFF();
|
||||
BOOL cut_move_OMAMORI_ONOFF();
|
||||
void cut_init_SURPRISED(int);
|
||||
void cut_move_SURPRISED();
|
||||
BOOL cut_move_SURPRISED();
|
||||
void privateCut(int);
|
||||
void endEvent();
|
||||
void isEventEntry();
|
||||
int isEventEntry();
|
||||
void event_proc(int);
|
||||
void set_action(int (daNpc_Zl1_c::*)(void*), void*);
|
||||
void setStt(signed char);
|
||||
void chk_areaIN(float, float, short, cXyz);
|
||||
bool set_action(ActionFunc, void*);
|
||||
void setStt(s8);
|
||||
bool chk_areaIN(f32, f32, s16, cXyz);
|
||||
void setWaterRipple();
|
||||
void setWaterSplash();
|
||||
#if VERSION != VERSION_DEMO
|
||||
void set_simpleLand(bool);
|
||||
#else
|
||||
void set_simpleLand();
|
||||
#endif
|
||||
void setEff();
|
||||
void setFrontWallType();
|
||||
void move_jmp();
|
||||
void kyoroPos(int);
|
||||
void kyorokyoro();
|
||||
void wait_1();
|
||||
void talk_1();
|
||||
void demo_1();
|
||||
void demo_2();
|
||||
void demo_3();
|
||||
void demo_4();
|
||||
void optn_1();
|
||||
void optn_2();
|
||||
void optn_3();
|
||||
void wait_action1(void*);
|
||||
void demo_action1(void*);
|
||||
void demo_action2(void*);
|
||||
void optn_action1(void*);
|
||||
void demo();
|
||||
BOOL setFrontWallType();
|
||||
bool move_jmp();
|
||||
cXyz kyoroPos(int);
|
||||
BOOL kyorokyoro();
|
||||
BOOL wait_1();
|
||||
BOOL talk_1();
|
||||
BOOL demo_1();
|
||||
BOOL demo_2();
|
||||
BOOL demo_3();
|
||||
BOOL demo_4();
|
||||
BOOL optn_1();
|
||||
BOOL optn_2();
|
||||
BOOL optn_3();
|
||||
int wait_action1(void*);
|
||||
int demo_action1(void*);
|
||||
int demo_action2(void*);
|
||||
int optn_action1(void*);
|
||||
u8 demo();
|
||||
void shadowDraw();
|
||||
BOOL _draw();
|
||||
BOOL _execute();
|
||||
BOOL _delete();
|
||||
cPhs_State _create();
|
||||
void bodyCreateHeap();
|
||||
void itemCreateHeap();
|
||||
void CreateHeap();
|
||||
BOOL bodyCreateHeap();
|
||||
BOOL itemCreateHeap();
|
||||
BOOL CreateHeap();
|
||||
public:
|
||||
/* Place member variables here */
|
||||
};
|
||||
|
||||
class daNpc_Zl1_HIO_c {
|
||||
public:
|
||||
daNpc_Zl1_HIO_c();
|
||||
|
||||
public:
|
||||
/* Place member variables here */
|
||||
};
|
||||
/* 0x6C4 */ request_of_phase_process_class mPhs;
|
||||
/* 0x6CC */ s8 m_hed_jnt_num;
|
||||
/* 0x6CD */ s8 m_bbone_jnt_num;
|
||||
/* 0x6CE */ u8 field_0x6CE[0x6D0 - 0x6CE];
|
||||
/* 0x6D0 */ J3DModel* mpModel;
|
||||
/* 0x6D4 */ daNpc_Zl1_matAnm_c* field_0x6D4[2];
|
||||
/* 0x6DC */ char mArcName[3];
|
||||
/* 0x6E0 */ u32 mShadowId;
|
||||
/* 0x6E4 */ u8 field_0x6E4[0x6E8 - 0x6E4];
|
||||
/* 0x6E8 */ mDoExt_btkAnm mBtkAnm;
|
||||
/* 0x6FC */ u8 mBtkAnmFrame;
|
||||
/* 0x700 */ mDoExt_btpAnm mBtpAnm;
|
||||
/* 0x714 */ u8 mBtpAnmFrame;
|
||||
/* 0x716 */ s16 mTimer;
|
||||
/* 0x718 */ ActionFunc mCurrActionFunc;
|
||||
/* 0x724 */ fpc_ProcID mProcId1;
|
||||
/* 0x728 */ fpc_ProcID mProcId2;
|
||||
/* 0x72C */ cXyz field_0x72C;
|
||||
/* 0x738 */ csXyz field_0x738;
|
||||
/* 0x73E */ csXyz field_0x73E;
|
||||
/* 0x744 */ csXyz field_0x744;
|
||||
/* 0x74A */ u8 field_0x74A[0x74C - 0x74A];
|
||||
/* 0x74C */ cXyz field_0x74C;
|
||||
/* 0x758 */ cXyz field_0x758;
|
||||
/* 0x764 */ cXyz field_0x764;
|
||||
/* 0x770 */ cXyz field_0x770;
|
||||
/* 0x77C */ cXyz field_0x77C;
|
||||
/* 0x788 */ f32 mRatio;
|
||||
/* 0x78C */ f32 mFrame;
|
||||
/* 0x790 */ u8 field_0x790[0x794 - 0x790];
|
||||
/* 0x794 */ csXyz field_0x794;
|
||||
/* 0x79C */ BOOL field_0x79C;
|
||||
/* 0x7A0 */ s16 mEventIdx[6];
|
||||
/* 0x7AC */ u8 field_0x7AC[0x7AE - 0x7AC];
|
||||
/* 0x7AE */ s16 field_0x7AE;
|
||||
/* 0x7B0 */ s16 field_0x7B0;
|
||||
/* 0x7B2 */ s16 field_0x7B2;
|
||||
/* 0x7B4 */ u8 field_0x7B4[0x7B6 - 0x7B4];
|
||||
/* 0x7B6 */ s16 field_0x7B6;
|
||||
/* 0x7B8 */ s16 field_0x7B8;
|
||||
/* 0x7BA */ s16 field_0x7BA;
|
||||
/* 0x7BC */ s16 field_0x7BC;
|
||||
/* 0x7BE */ u8 field_0x7BE[0x7C0 - 0x7BE];
|
||||
/* 0x7C0 */ s16 field_0x7C0;
|
||||
/* 0x7C2 */ s8 field_0x7C2;
|
||||
/* 0x7C3 */ s8 field_0x7C3;
|
||||
/* 0x7C4 */ s8 field_0x7C4;
|
||||
/* 0x7C5 */ u8 mItemNo;
|
||||
/* 0x7C6 */ bool field_0x7C6;
|
||||
/* 0x7C7 */ bool field_0x7C7;
|
||||
/* 0x7C8 */ bool field_0x7C8;
|
||||
/* 0x7C9 */ bool field_0x7C9;
|
||||
/* 0x7CA */ bool field_0x7CA;
|
||||
/* 0x7CB */ bool field_0x7CB;
|
||||
/* 0x7CC */ bool field_0x7CC;
|
||||
/* 0x7CD */ u8 field_0x7CD[0x7CE - 0x7CD];
|
||||
/* 0x7CE */ bool field_0x7CE;
|
||||
/* 0x7CF */ bool mStateIsComplaete;
|
||||
/* 0x7D0 */ bool field_0x7D0;
|
||||
/* 0x7D1 */ bool field_0x7D1;
|
||||
/* 0x7D2 */ bool field_0x7D2;
|
||||
/* 0x7D3 */ bool field_0x7D3;
|
||||
/* 0x7D4 */ bool field_0x7D4;
|
||||
/* 0x7D5 */ bool field_0x7D5;
|
||||
/* 0x7D6 */ bool mHasAttention;
|
||||
/* 0x7D7 */ bool field_0x7D7;
|
||||
/* 0x7D8 */ bool field_0x7D8;
|
||||
/* 0x7D9 */ bool field_0x7D9;
|
||||
/* 0x7DC */ dPa_rippleEcallBack mRippleCallBack;
|
||||
/* 0x7F0 */ LIGHT_INFLUENCE mLightInfluence1;
|
||||
/* 0x810 */ LIGHT_INFLUENCE mLightInfluence2;
|
||||
/* 0x830 */ cXyz field_0x830;
|
||||
/* 0x83C */ s16 field_0x83C;
|
||||
/* 0x83E */ s16 field_0x83E;
|
||||
/* 0x840 */ s16 field_0x840;
|
||||
/* 0x842 */ s16 field_0x842;
|
||||
/* 0x844 */ s8 mActIdx;
|
||||
/* 0x845 */ u8 field_0x845;
|
||||
/* 0x846 */ u8 field_0x846;
|
||||
/* 0x847 */ s8 field_0x847;
|
||||
/* 0x848 */ s8 field_0x848;
|
||||
/* 0x849 */ s8 field_0x849;
|
||||
/* 0x84A */ s8 field_0x84A;
|
||||
/* 0x84B */ s8 field_0x84B;
|
||||
/* 0x84C */ s8 field_0x84C;
|
||||
/* 0x84D */ s8 field_0x84D;
|
||||
/* 0x84E */ s8 field_0x84E;
|
||||
/* 0x84F */ s8 field_0x84F;
|
||||
/* 0x850 */ s8 field_0x850;
|
||||
/* 0x851 */ s8 field_0x851;
|
||||
/* 0x854 */ J3DJoint* mJoint1;
|
||||
/* 0x858 */ J3DJoint* mJoint2;
|
||||
/* 0x85C */ J3DJoint* mJoint3;
|
||||
/* 0x860 */ J3DMaterial* field_0x860[6];
|
||||
/* 0x878 */ J3DMaterial* field_0x878[6];
|
||||
/* 0x890 */ J3DShape* field_0x890[6];
|
||||
/* 0x8A8 */ J3DShape* field_0x8A8[6];
|
||||
/* 0x8C0 */ mDoExt_offCupOnAupPacket mOffCupOnAupPacket1;
|
||||
/* 0x8D0 */ mDoExt_offCupOnAupPacket mOffCupOnAupPacket2;
|
||||
/* 0x8E0 */ mDoExt_onCupOffAupPacket mOnCupOffAupPacket1;
|
||||
/* 0x8F0 */ mDoExt_onCupOffAupPacket mOnCupOffAupPacket2;
|
||||
}; // Size: 0x900
|
||||
|
||||
#endif /* D_A_NPC_ZL1_H */
|
||||
|
||||
@@ -209,10 +209,11 @@ public:
|
||||
f32 GetCx() { return pm_pos->x; }
|
||||
f32 GetCz() { return pm_pos->z; }
|
||||
|
||||
void SetOld() {*pm_old_pos = *pm_pos;}
|
||||
|
||||
// TODO
|
||||
void ChkGroundAway() {}
|
||||
void DrawWall(dBgS&) {}
|
||||
void SetOld() {}
|
||||
|
||||
public:
|
||||
/* 0x028 */ u32 m_flags;
|
||||
|
||||
@@ -40,4 +40,9 @@ public:
|
||||
virtual ~dBgS_LinkRoofChk() {}
|
||||
}; // Size: 0x4C
|
||||
|
||||
class dBgS_ObjRoofChk : public dBgS_RoofChk {
|
||||
public:
|
||||
dBgS_ObjRoofChk() { SetObj(); }
|
||||
virtual ~dBgS_ObjRoofChk() {}
|
||||
};
|
||||
#endif /* D_BG_D_BG_S_ROOF_CHK_H */
|
||||
|
||||
+2640
-220
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user