mirror of https://github.com/zeldaret/tp.git
parent
3981a9d359
commit
e331c37001
|
|
@ -13,3 +13,4 @@ d/actor/d_a_obj_hb.cpp:
|
|||
.text start:0x00000078 end:0x000020B8
|
||||
.rodata start:0x00000000 end:0x00000108
|
||||
.data start:0x00000000 end:0x000000D4
|
||||
.bss start:0x00000000 end:0x00000004
|
||||
|
|
|
|||
|
|
@ -13,3 +13,4 @@ d/actor/d_a_obj_lv7bridge.cpp:
|
|||
.text start:0x00000078 end:0x00001698
|
||||
.rodata start:0x00000000 end:0x00000094
|
||||
.data start:0x00000000 end:0x00000180
|
||||
.bss start:0x00000000 end:0x00000004
|
||||
|
|
|
|||
|
|
@ -14,3 +14,4 @@ d/actor/d_a_obj_master_sword.cpp:
|
|||
.ctors start:0x00000000 end:0x00000004
|
||||
.rodata start:0x00000000 end:0x0000003C
|
||||
.data start:0x00000000 end:0x00000154
|
||||
.bss start:0x00000000 end:0x00000004
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ initWait__18daObjMasterSword_cFv = .text:0x00000078; // type:function size:0x58
|
|||
executeWait__18daObjMasterSword_cFv = .text:0x000000D0; // type:function size:0x100 scope:global
|
||||
createHeapCallBack__18daObjMasterSword_cFP10fopAc_ac_c = .text:0x000001D0; // type:function size:0x20 scope:global
|
||||
CreateHeap__18daObjMasterSword_cFv = .text:0x000001F0; // type:function size:0x128 scope:global
|
||||
daObjMasterSword_Create__FP10fopAc_ac_c = .text:0x00000318; // type:function size:0x20 scope:global
|
||||
daObjMasterSword_Create__FP10fopAc_ac_c = .text:0x00000318; // type:function size:0x20 scope:local
|
||||
create__18daObjMasterSword_cFv = .text:0x00000338; // type:function size:0x1B4 scope:global
|
||||
create_init__18daObjMasterSword_cFv = .text:0x000004EC; // type:function size:0x2A0 scope:global
|
||||
__dt__12dBgS_ObjAcchFv = .text:0x0000078C; // type:function size:0x70 scope:global
|
||||
|
|
@ -14,12 +14,12 @@ __dt__8cM3dGCylFv = .text:0x0000086C; // type:function size:0x48 scope:global
|
|||
__dt__8cM3dGAabFv = .text:0x000008B4; // type:function size:0x48 scope:global
|
||||
__dt__10dCcD_GSttsFv = .text:0x000008FC; // type:function size:0x5C scope:global
|
||||
__dt__12J3DFrameCtrlFv = .text:0x00000958; // type:function size:0x48 scope:global
|
||||
daObjMasterSword_Delete__FP18daObjMasterSword_c = .text:0x000009A0; // type:function size:0x28 scope:global
|
||||
daObjMasterSword_Delete__FP18daObjMasterSword_c = .text:0x000009A0; // type:function size:0x28 scope:local
|
||||
__dt__18daObjMasterSword_cFv = .text:0x000009C8; // type:function size:0x1A0 scope:global
|
||||
daObjMasterSword_Execute__FP18daObjMasterSword_c = .text:0x00000B68; // type:function size:0x10C scope:global
|
||||
daObjMasterSword_Draw__FP18daObjMasterSword_c = .text:0x00000C74; // type:function size:0x20 scope:global
|
||||
daObjMasterSword_Execute__FP18daObjMasterSword_c = .text:0x00000B68; // type:function size:0x10C scope:local
|
||||
daObjMasterSword_Draw__FP18daObjMasterSword_c = .text:0x00000C74; // type:function size:0x20 scope:local
|
||||
draw__18daObjMasterSword_cFv = .text:0x00000C94; // type:function size:0x180 scope:global
|
||||
daObjMasterSword_IsDelete__FP18daObjMasterSword_c = .text:0x00000E14; // type:function size:0x8 scope:global
|
||||
daObjMasterSword_IsDelete__FP18daObjMasterSword_c = .text:0x00000E14; // type:function size:0x8 scope:local
|
||||
__dt__10cCcD_GSttsFv = .text:0x00000E1C; // type:function size:0x48 scope:global
|
||||
__sinit_d_a_obj_master_sword_cpp = .text:0x00000E64; // type:function size:0x40 scope:local
|
||||
@36@__dt__12dBgS_ObjAcchFv = .text:0x00000EA4; // type:function size:0x8 scope:local
|
||||
|
|
@ -37,15 +37,16 @@ mAttr__18daObjMasterSword_c = .rodata:0x00000000; // type:object size:0x4 scope:
|
|||
@4091 = .rodata:0x00000028; // type:object size:0x4 scope:local
|
||||
@4092 = .rodata:0x0000002C; // type:object size:0x4 scope:local
|
||||
@stringBase0 = .rodata:0x00000030; // type:object size:0xA scope:local data:string_table
|
||||
cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:global
|
||||
...data.0 = .data:0x00000000; // type:label scope:local
|
||||
cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:local
|
||||
@1787 = .data:0x0000000C; // type:object size:0x4 scope:local
|
||||
lbl_568_data_10 = .data:0x00000010; // type:object size:0x10
|
||||
l_arcName = .data:0x00000020; // type:object size:0x4 scope:global data:4byte
|
||||
l_arcName = .data:0x00000020; // type:object size:0x4 scope:local data:4byte
|
||||
@3655 = .data:0x00000024; // type:object size:0xC scope:local
|
||||
@3656 = .data:0x00000030; // type:object size:0xC scope:local
|
||||
ActionTable__18daObjMasterSword_c = .data:0x0000003C; // type:object size:0x18 scope:global data:4byte
|
||||
ccCylSrc$localstatic3$initCollision__18daObjMasterSword_cFv = .data:0x00000054; // type:object size:0x44 scope:local align:4 data:float
|
||||
l_daObjMasterSword_Method = .data:0x00000098; // type:object size:0x20 scope:global
|
||||
l_daObjMasterSword_Method = .data:0x00000098; // type:object size:0x20 scope:local
|
||||
g_profile_Obj_MasterSword = .data:0x000000B8; // type:object size:0x30 scope:global
|
||||
__vt__10cCcD_GStts = .data:0x000000E8; // type:object size:0xC scope:global
|
||||
__vt__10dCcD_GStts = .data:0x000000F4; // type:object size:0xC scope:global
|
||||
|
|
@ -54,4 +55,4 @@ __vt__12dBgS_ObjAcch = .data:0x0000010C; // type:object size:0x24 scope:global
|
|||
__vt__8cM3dGCyl = .data:0x00000130; // type:object size:0xC scope:global
|
||||
__vt__8cM3dGAab = .data:0x0000013C; // type:object size:0xC scope:global
|
||||
__vt__12J3DFrameCtrl = .data:0x00000148; // type:object size:0xC scope:global
|
||||
lbl_568_bss_0 = .bss:0x00000000; // type:object size:0x1 data:byte
|
||||
lbl_568_bss_0 = .bss:0x00000000; // type:object size:0x1 scope:local data:byte
|
||||
|
|
|
|||
|
|
@ -21217,7 +21217,7 @@ memPool_$localstatic3$getMemPool___30JASPoolAllocObject<9JAIStream>Fv = .bss:0x8
|
|||
@632 = .bss:0x80436178; // type:object size:0xC scope:local align:4
|
||||
memPool_$localstatic3$getMemPool___39JASPoolAllocObject<17Z2SoundHandlePool>Fv = .bss:0x80436184; // type:object size:0x10 scope:weak align:4
|
||||
@1539 = .bss:0x80436198; // type:object size:0xC scope:local align:4
|
||||
memPool_$localstatic3$getMemPool___30JASPoolAllocObject<9Z2Audible>Fv = .bss:0x804361A4; // type:object size:0x10 scope:local align:4
|
||||
memPool_$localstatic3$getMemPool___30JASPoolAllocObject<9Z2Audible>Fv = .bss:0x804361A4; // type:object size:0x10 scope:weak align:4
|
||||
...bss.0 = .bss:0x804361B8; // type:label scope:local align:4
|
||||
sCorrectPhrase = .bss:0x804361B8; // type:object size:0x24 scope:global align:4 data:4byte
|
||||
sWindStoneSound = .bss:0x804361DC; // type:object size:0x24 scope:global align:4 data:4byte
|
||||
|
|
|
|||
18
configure.py
18
configure.py
|
|
@ -1804,7 +1804,7 @@ config.libs = [
|
|||
ActorRel(NonMatching, "d_a_e_ws"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_e_ww"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_e_yc"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_e_yd"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01"), "d_a_e_yd"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_e_yd_leaf"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_e_yg"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_e_yh"),
|
||||
|
|
@ -1884,7 +1884,7 @@ config.libs = [
|
|||
ActorRel(NonMatching, "d_a_npc_kasi_mich", extra_cflags=[DANPCF_C_HACK]),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_kdk"),
|
||||
ActorRel(NonMatching, "d_a_npc_kn"),
|
||||
ActorRel(NonMatching, "d_a_npc_knj"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_knj"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_npc_kolinb"),
|
||||
ActorRel(Equivalent, "d_a_npc_ks"), # weak func order
|
||||
ActorRel(NonMatching, "d_a_npc_kyury"),
|
||||
|
|
@ -2007,7 +2007,7 @@ config.libs = [
|
|||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_firepillar2"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_flag"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_flag2"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_flag3"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01"), "d_a_obj_flag3"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_food"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_fw"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_gadget"),
|
||||
|
|
@ -2030,7 +2030,7 @@ config.libs = [
|
|||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_hakai_ftr"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_hasu2"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_hata"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_hb"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01"), "d_a_obj_hb"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_hbombkoya"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_heavySw"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_hfuta"),
|
||||
|
|
@ -2100,7 +2100,7 @@ config.libs = [
|
|||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv5SwIce"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv5ychndlr"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv5yiblltray"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_lv6ChangeGate"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01"), "d_a_obj_lv6ChangeGate"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv6FurikoTrap"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv6Lblock"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv6SwGate"),
|
||||
|
|
@ -2117,14 +2117,14 @@ config.libs = [
|
|||
ActorRel(NonMatching, "d_a_obj_lv7PropellerY"),
|
||||
ActorRel(Equivalent, "d_a_obj_lv7bridge"), # small regalloc
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv8KekkaiTrap"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_lv8Lift"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_lv8OptiLift"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01"), "d_a_obj_lv8Lift"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01"), "d_a_obj_lv8OptiLift"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv8UdFloor"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_lv9SwShutter"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_magLift"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_magLiftRot"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_maki"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_master_sword"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01"), "d_a_obj_master_sword"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_mato"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_mhole"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_mie"),
|
||||
|
|
@ -2236,7 +2236,7 @@ config.libs = [
|
|||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_warp_kbrg"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_warp_obrg"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_waterGate"),
|
||||
ActorRel(MatchingFor("GZ2E01"), "d_a_obj_waterPillar"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01"), "d_a_obj_waterPillar"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_waterfall"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_wchain"),
|
||||
ActorRel(MatchingFor("GZ2E01", "GZ2P01", "GZ2J01"), "d_a_obj_wdStick"),
|
||||
|
|
|
|||
|
|
@ -3,6 +3,33 @@
|
|||
|
||||
#include "d/actor/d_a_npc.h"
|
||||
|
||||
struct daNpc_Knj_HIOParam {
|
||||
/* 0x00 */ daNpcT_HIOParam common;
|
||||
};
|
||||
|
||||
class daNpc_Knj_Param_c {
|
||||
public:
|
||||
/* 80A6FD10 */ virtual ~daNpc_Knj_Param_c() {}
|
||||
|
||||
static const daNpc_Knj_HIOParam m;
|
||||
};
|
||||
|
||||
#if DEBUG
|
||||
class daNpc_Knj_HIO_c : public mDoHIO_entry_c {
|
||||
public:
|
||||
daNpc_Knj_HIO_c();
|
||||
|
||||
void listenPropertyEvent(const JORPropertyEvent*);
|
||||
void genMessage(JORMContext*);
|
||||
|
||||
daNpc_Knj_HIOParam m;
|
||||
};
|
||||
|
||||
#define NPC_KNJ_HIO_CLASS daNpc_Knj_HIO_c
|
||||
#else
|
||||
#define NPC_KNJ_HIO_CLASS daNpc_Knj_Param_c
|
||||
#endif
|
||||
|
||||
/**
|
||||
* @ingroup actors-npcs
|
||||
* @class daNpc_Knj_c
|
||||
|
|
@ -11,54 +38,60 @@
|
|||
* @details
|
||||
*
|
||||
*/
|
||||
class daNpc_Knj_c : public fopAc_ac_c {
|
||||
class daNpc_Knj_c : public daNpcT_c {
|
||||
public:
|
||||
typedef int (daNpc_Knj_c::*actionFunc)(void*);
|
||||
typedef int (daNpc_Knj_c::*cutFunc)(int);
|
||||
|
||||
/* 80A4356C */ ~daNpc_Knj_c();
|
||||
/* 80A43608 */ void create();
|
||||
/* 80A43848 */ void CreateHeap();
|
||||
/* 80A439A0 */ void Delete();
|
||||
/* 80A439D4 */ void Execute();
|
||||
/* 80A439F4 */ void Draw();
|
||||
/* 80A43A88 */ void createHeapCallBack(fopAc_ac_c*);
|
||||
/* 80A43AA8 */ void getType();
|
||||
/* 80A43B1C */ void getFlowNodeNo();
|
||||
/* 80A43B38 */ bool isDelete();
|
||||
/* 80A43608 */ int create();
|
||||
/* 80A43848 */ int CreateHeap();
|
||||
/* 80A439A0 */ int Delete();
|
||||
/* 80A439D4 */ int Execute();
|
||||
/* 80A439F4 */ int Draw();
|
||||
/* 80A43A88 */ static int createHeapCallBack(fopAc_ac_c*);
|
||||
/* 80A43AA8 */ u8 getType();
|
||||
/* 80A43B1C */ int getFlowNodeNo();
|
||||
/* 80A43B38 */ BOOL isDelete();
|
||||
/* 80A43B40 */ void reset();
|
||||
/* 80A43C64 */ void setParam();
|
||||
/* 80A43D58 */ void srchActors();
|
||||
/* 80A43D5C */ void evtTalk();
|
||||
/* 80A43E5C */ void evtCutProc();
|
||||
/* 80A43D5C */ BOOL evtTalk();
|
||||
/* 80A43E5C */ BOOL evtCutProc();
|
||||
/* 80A43F24 */ void action();
|
||||
/* 80A43FAC */ void beforeMove();
|
||||
/* 80A44024 */ void setAttnPos();
|
||||
/* 80A44080 */ bool drawDbgInfo();
|
||||
/* 80A44088 */ void afterSetMotionAnm(int, int, f32, int);
|
||||
/* 80A44080 */ BOOL drawDbgInfo();
|
||||
/* 80A44088 */ bool afterSetMotionAnm(int, int, f32, int);
|
||||
/* 80A44264 */ void drawGhost();
|
||||
/* 80A442D0 */ void selectAction();
|
||||
/* 80A44318 */ void chkAction(int (daNpc_Knj_c::*)(void*));
|
||||
/* 80A44344 */ void setAction(int (daNpc_Knj_c::*)(void*));
|
||||
/* 80A443EC */ void wait(void*);
|
||||
/* 80A44598 */ void talk(void*);
|
||||
/* 80A45460 */ daNpc_Knj_c(daNpcT_faceMotionAnmData_c const*, daNpcT_motionAnmData_c const*,
|
||||
daNpcT_MotionSeqMngr_c::sequenceStepData_c const*, int,
|
||||
daNpcT_MotionSeqMngr_c::sequenceStepData_c const*, int,
|
||||
daNpcT_evtData_c const*, char**);
|
||||
/* 80A442D0 */ int selectAction();
|
||||
/* 80A44318 */ BOOL chkAction(actionFunc);
|
||||
/* 80A44344 */ int setAction(actionFunc);
|
||||
/* 80A443EC */ int wait(void*);
|
||||
/* 80A44598 */ int talk(void*);
|
||||
/* 80A45460 */ daNpc_Knj_c(
|
||||
daNpcT_faceMotionAnmData_c const* i_faceMotionAnmData,
|
||||
daNpcT_motionAnmData_c const* i_motionAnmData,
|
||||
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_faceMotionSequenceData,
|
||||
int i_faceMotionStepNum,
|
||||
daNpcT_MotionSeqMngr_c::sequenceStepData_c const* i_motionSequenceData, int i_motionStepNum,
|
||||
daNpcT_evtData_c const* i_evtData, char** i_arcNames)
|
||||
: daNpcT_c(i_faceMotionAnmData, i_motionAnmData, i_faceMotionSequenceData,
|
||||
i_faceMotionStepNum, i_motionSequenceData, i_motionStepNum, i_evtData,
|
||||
i_arcNames) {}
|
||||
|
||||
static char* mCutNameList[1];
|
||||
static u8 mCutList[12];
|
||||
static cutFunc mCutList[1];
|
||||
|
||||
private:
|
||||
/* 0x568 */ u8 field_0x568[0xe68 - 0x568];
|
||||
/* 0xE40 */ NPC_KNJ_HIO_CLASS* mpHIO;
|
||||
/* 0xE44 */ u8 mType;
|
||||
/* 0xE48 */ actionFunc mNextAction;
|
||||
/* 0xE54 */ actionFunc mAction;
|
||||
/* 0xE60 */ u8 field_0xe60[0xe64 - 0xe60];
|
||||
/* 0xE64 */ int field_0xe64;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daNpc_Knj_c) == 0xe68);
|
||||
|
||||
class daNpc_Knj_Param_c {
|
||||
public:
|
||||
/* 80A454A4 */ ~daNpc_Knj_Param_c();
|
||||
|
||||
static u8 const m[140];
|
||||
};
|
||||
|
||||
|
||||
#endif /* D_A_NPC_KNJ_H */
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue