mirror of
https://github.com/zeldaret/tww.git
synced 2026-06-12 21:44:47 -04:00
D_a_npc_hi1 matching for retail (#897)
* bit too difficult for me for now, might go back later * progress * getmsg * logic matching data isnt * data section matches * mathubcg 100% * cleanup * revert this change * final cleanup and configure.py * nevermind cleanup * Equivalent onstead of matching * removed padding * cleanup code comments and a bit more * matching * cleanup * matching for retail * little bit of cleanup
This commit is contained in:
+1
-1
@@ -1637,7 +1637,7 @@ config.libs = [
|
||||
ActorRel(NonMatching, "d_a_npc_ds1"),
|
||||
ActorRel(NonMatching, "d_a_npc_gk1"),
|
||||
ActorRel(NonMatching, "d_a_npc_gp1"),
|
||||
ActorRel(NonMatching, "d_a_npc_hi1"),
|
||||
ActorRel(MatchingFor("GZLJ01", "GZLE01", "GZLP01"), "d_a_npc_hi1"),
|
||||
ActorRel(NonMatching, "d_a_npc_ho"),
|
||||
ActorRel(NonMatching, "d_a_npc_hr"),
|
||||
ActorRel(NonMatching, "d_a_npc_jb1"),
|
||||
|
||||
@@ -2,27 +2,34 @@
|
||||
#define D_A_NPC_HI1_H
|
||||
|
||||
#include "f_op/f_op_actor.h"
|
||||
#include "d/d_npc.h"
|
||||
|
||||
class J3DNode;
|
||||
|
||||
class daNpc_Hi1_c : public fopAc_ac_c {
|
||||
class daNpc_Hi1_c : public fopNpc_npc_c {
|
||||
public:
|
||||
typedef int (daNpc_Hi1_c::*ActionFunc)(void*);
|
||||
|
||||
struct anm_prm_c {
|
||||
|
||||
s8 field_0x0;
|
||||
s8 field_0x1;
|
||||
f32 field_0x4;
|
||||
f32 field_0x8;
|
||||
int field_0xC;
|
||||
};
|
||||
|
||||
void _nodeCB_Head(J3DNode*, J3DModel*);
|
||||
void _nodeCB_BackBone(J3DNode*, J3DModel*);
|
||||
void init_HI1_0();
|
||||
void createInit();
|
||||
bool init_HI1_0();
|
||||
bool createInit();
|
||||
void play_animation();
|
||||
void setMtx(bool);
|
||||
void bckResID(int);
|
||||
void btpResID(int);
|
||||
void btkResID(int);
|
||||
void setBtp(signed char, bool);
|
||||
void setBtk(signed char, bool);
|
||||
void init_texPttrnAnm(signed char, bool);
|
||||
int bckResID(int);
|
||||
int btpResID(int);
|
||||
int btkResID(int);
|
||||
bool setBtp(s8, bool);
|
||||
bool setBtk(s8, bool);
|
||||
bool init_texPttrnAnm(s8, bool);
|
||||
void play_btp_anm();
|
||||
void play_btk_anm();
|
||||
void setAnm_anm(anm_prm_c*);
|
||||
@@ -30,50 +37,100 @@ 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_HI1_0();
|
||||
void getMsg();
|
||||
void anmAtr(u16);
|
||||
u16 next_msgStatus(u32*);
|
||||
u32 getMsg_HI1_0();
|
||||
u32 getMsg();
|
||||
void eventOrder();
|
||||
void checkOrder();
|
||||
void chk_talk();
|
||||
void chk_parts_notMov();
|
||||
void searchByID(fpc_ProcID, int*);
|
||||
bool chk_talk();
|
||||
bool chk_parts_notMov();
|
||||
fopAc_ac_c* searchByID(fpc_ProcID, int*);
|
||||
void lookBack();
|
||||
void chkAttention();
|
||||
bool chkAttention();
|
||||
void setAttention(bool);
|
||||
void decideType(int);
|
||||
bool decideType(int);
|
||||
void privateCut(int);
|
||||
void endEvent();
|
||||
void isEventEntry();
|
||||
int isEventEntry();
|
||||
void event_proc(int);
|
||||
void set_action(int (daNpc_Hi1_c::*)(void*), void*);
|
||||
bool set_action(ActionFunc, void*);
|
||||
void setStt(signed char);
|
||||
void wait_1();
|
||||
void talk_1();
|
||||
void wait_action1(void*);
|
||||
void demo();
|
||||
BOOL wait_1();
|
||||
BOOL talk_1();
|
||||
int wait_action1(void*);
|
||||
u8 demo();
|
||||
void shadowDraw();
|
||||
BOOL _draw();
|
||||
BOOL _execute();
|
||||
BOOL _delete();
|
||||
cPhs_State _create();
|
||||
void bodyCreateHeap();
|
||||
void CreateHeap();
|
||||
BOOL bodyCreateHeap();
|
||||
BOOL CreateHeap();
|
||||
|
||||
public:
|
||||
/* Place member variables here */
|
||||
};
|
||||
|
||||
class daNpc_Hi1_HIO_c {
|
||||
public:
|
||||
daNpc_Hi1_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 */ char mArcName[3];
|
||||
/* 0x6D4 */ u32 mShadowId;
|
||||
/* 0x6D8 */ mDoExt_btkAnm mBtkAnm;
|
||||
/* 0x6EC */ u8 mBtkAnmFrame;
|
||||
/* 0x6F0 */ mDoExt_btpAnm mBtpAnm;
|
||||
/* 0x704 */ u8 mBtpAnmFrame;
|
||||
/* 0x706 */ s16 mTimer1;
|
||||
/* 0x708 */ ActionFunc mCurrActionFunc;
|
||||
/* 0x714 */ u8 field_0x714[0x718 - 0x714];
|
||||
/* 0x718 */ u32 mPId;
|
||||
/* 0x71C */ u8 field_0x71C[0x724 - 0x71C];
|
||||
/* 0x724 */ cXyz field_0x724;
|
||||
/* 0x730 */ csXyz field_0x730;
|
||||
/* 0x736 */ csXyz field_0x736;
|
||||
/* 0x73C */ u8 field_0x73C[0x744 - 0x73C];
|
||||
/* 0x744 */ cXyz field_0x744;
|
||||
/* 0x750 */ cXyz field_0x750;
|
||||
/* 0x75C */ u8 field_0x75C[0x768 - 0x75C];
|
||||
/* 0x768 */ cXyz field_0x768;
|
||||
/* 0x774 */ u8 field_0x774[0x780 - 0x774];
|
||||
/* 0x780 */ f32 mFrame;
|
||||
/* 0x784 */ u8 field_0x784[0x788 - 0x784];
|
||||
/* 0x788 */ csXyz field_0x788;
|
||||
/* 0x790 */ int field_0x790;
|
||||
/* 0x794 */ s16 mEventIdx[6];
|
||||
/* 0x7A0 */ s16 mTimer2;
|
||||
/* 0x7A2 */ u8 field_0x7A2[0x7AA - 0x7A2];
|
||||
/* 0x7AA */ s16 field_0x7AA;
|
||||
/* 0x7AC */ s8 field_0x7AC;
|
||||
/* 0x7AD */ u8 field_0x7AD;
|
||||
/* 0x7AE */ u8 mItemNo;
|
||||
/* 0x7AF */ u8 field_0x7AF[0x7B0 - 0x7AF];
|
||||
/* 0x7B0 */ bool field_0x7B0;
|
||||
/* 0x7B1 */ bool mStateIsComplaete;
|
||||
/* 0x7B2 */ bool field_0x7B2;
|
||||
/* 0x7B3 */ bool field_0x7B3;
|
||||
/* 0x7B4 */ bool field_0x7B4;
|
||||
/* 0x7B5 */ bool field_0x7B5;
|
||||
/* 0x7B6 */ bool mHasAttention;
|
||||
/* 0x7B7 */ bool field_0x7B7;
|
||||
/* 0x7B8 */ bool field_0x7B8;
|
||||
/* 0x7B9 */ bool field_0x7B9;
|
||||
/* 0x7BA */ bool field_0x7BA;
|
||||
/* 0x7BB */ s8 mActIdx;
|
||||
/* 0x7BC */ u8 field_0x7BC;
|
||||
/* 0x7BD */ u8 field_0x7BD;
|
||||
/* 0x7BE */ s8 field_0x7BE;
|
||||
/* 0x7BF */ s8 field_0x7BF;
|
||||
/* 0x7C0 */ s8 field_0x7C0;
|
||||
/* 0x7C1 */ s8 field_0x7C1;
|
||||
/* 0x7C2 */ s8 field_0x7C2;
|
||||
/* 0x7C3 */ s8 field_0x7C3;
|
||||
/* 0x7C4 */ s8 field_0x7C4;
|
||||
/* 0x7C5 */ s8 field_0x7C5;
|
||||
/* 0x7C6 */ s8 field_0x7C6;
|
||||
/* 0x7C7 */ s8 field_0x7C7;
|
||||
/* 0x7C8 */ s8 field_0x7C8;
|
||||
}; // Size: 0x7CC
|
||||
#endif /* D_A_NPC_HI1_H */
|
||||
|
||||
+2
-2
@@ -67,9 +67,9 @@ public:
|
||||
~dDemo_actor_c();
|
||||
fopAc_ac_c* getActor();
|
||||
void setActor(fopAc_ac_c*);
|
||||
void* getP_BtpData(const char*);
|
||||
J3DAnmTexPattern* getP_BtpData(const char*);
|
||||
void* getP_BrkData(const char*);
|
||||
void* getP_BtkData(const char*);
|
||||
J3DAnmTextureSRTKey* getP_BtkData(const char*);
|
||||
f32 getPrm_Morf();
|
||||
void JSGSetData(u32, const void*, u32);
|
||||
void JSGSetTranslation(const Vec&);
|
||||
|
||||
@@ -285,5 +285,6 @@ void dNpc_calc_DisXZ_AngY(cXyz, cXyz, float*, short*);
|
||||
bool dNpc_chkArasoi();
|
||||
bool dNpc_chkLetterPassed();
|
||||
bool dNpc_setAnm_2(mDoExt_McaMorf* pMorf, int loopMode, f32 morf, f32 speed, int animFileIdx, int soundFileIdx, const char* arcName);
|
||||
bool dNpc_chkAttn(fopAc_ac_c* i_this, cXyz destPos, f32 param_3, f32 param_4, f32 param_5, bool param_6);
|
||||
|
||||
#endif /* D_NPC_H */
|
||||
|
||||
+767
-93
File diff suppressed because it is too large
Load Diff
+2
-2
@@ -52,7 +52,7 @@ void dDemo_actor_c::setActor(fopAc_ac_c* ac) {
|
||||
}
|
||||
|
||||
/* 80069434-80069550 .text getP_BtpData__13dDemo_actor_cFPCc */
|
||||
void* dDemo_actor_c::getP_BtpData(const char* name) {
|
||||
J3DAnmTexPattern* dDemo_actor_c::getP_BtpData(const char* name) {
|
||||
/* Nonmatching */
|
||||
if (!checkEnable(ENABLE_UNK_e))
|
||||
return NULL;
|
||||
@@ -64,7 +64,7 @@ void* dDemo_actor_c::getP_BrkData(const char*) {
|
||||
}
|
||||
|
||||
/* 800695E8-8006969C .text getP_BtkData__13dDemo_actor_cFPCc */
|
||||
void* dDemo_actor_c::getP_BtkData(const char*) {
|
||||
J3DAnmTextureSRTKey* dDemo_actor_c::getP_BtkData(const char*) {
|
||||
/* Nonmatching */
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user