diff --git a/config/GZ2E01/rels/d_a_tag_TWgate/symbols.txt b/config/GZ2E01/rels/d_a_tag_TWgate/symbols.txt index d84b8417d1b..4edc5191514 100644 --- a/config/GZ2E01/rels/d_a_tag_TWgate/symbols.txt +++ b/config/GZ2E01/rels/d_a_tag_TWgate/symbols.txt @@ -33,17 +33,17 @@ initTalk__13daTagTWGate_cFiPP10fopAc_ac_c = .text:0x00002AAC; // type:function s talkProc__13daTagTWGate_cFPiiPP10fopAc_ac_c = .text:0x00002AE8; // type:function size:0xF8 scope:global createHeapCallBack__13daTagTWGate_cFP10fopAc_ac_c = .text:0x00002BE0; // type:function size:0x20 scope:global CreateHeap__13daTagTWGate_cFv = .text:0x00002C00; // type:function size:0x108 scope:global -daTagTWGate_Create__FP10fopAc_ac_c = .text:0x00002D08; // type:function size:0x100 scope:global -daTagTWGate_Delete__FP13daTagTWGate_c = .text:0x00002E08; // type:function size:0xB4 scope:global -daTagTWGate_Execute__FP13daTagTWGate_c = .text:0x00002EBC; // type:function size:0xA8 scope:global -daTagTWGate_Draw__FP13daTagTWGate_c = .text:0x00002F64; // type:function size:0x34 scope:global -daTagTWGate_IsDelete__FP13daTagTWGate_c = .text:0x00002F98; // type:function size:0x8 scope:global +daTagTWGate_Create__FP10fopAc_ac_c = .text:0x00002D08; // type:function size:0x100 scope:local +daTagTWGate_Delete__FP13daTagTWGate_c = .text:0x00002E08; // type:function size:0xB4 scope:local +daTagTWGate_Execute__FP13daTagTWGate_c = .text:0x00002EBC; // type:function size:0xA8 scope:local +daTagTWGate_Draw__FP13daTagTWGate_c = .text:0x00002F64; // type:function size:0x34 scope:local +daTagTWGate_IsDelete__FP13daTagTWGate_c = .text:0x00002F98; // type:function size:0x8 scope:local __sinit_d_a_tag_TWgate_cpp = .text:0x00002FA0; // type:function size:0x280 scope:local _ctors = .ctors:0x00000000; // type:label scope:global _dtors = .dtors:0x00000000; // type:label scope:global ...rodata.0 = .rodata:0x00000000; // type:label scope:local mAttr__13daTagTWGate_c = .rodata:0x00000000; // type:object size:0x1 scope:global -l_zevParamTbl = .rodata:0x00000004; // type:object size:0x70 scope:global +l_zevParamTbl = .rodata:0x00000004; // type:object size:0x70 scope:local @3857 = .rodata:0x00000074; // type:object size:0x4 scope:local data:float @3858 = .rodata:0x00000078; // type:object size:0x8 scope:local data:double @4079 = .rodata:0x00000080; // type:object size:0x4 scope:local data:float @@ -55,9 +55,9 @@ l_zevParamTbl = .rodata:0x00000004; // type:object size:0x70 scope:global @4791 = .rodata:0x00000098; // type:object size:0x4 scope:local @stringBase0 = .rodata:0x0000009C; // type:object size:0x129 scope:local data:string_table ...data.0 = .data:0x00000000; // type:label scope:local -cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:global +cNullVec__6Z2Calc = .data:0x00000000; // type:object size:0xC scope:local @1787 = .data:0x0000000C; // type:object size:0x4 scope:local -l_myName = .data:0x00000020; // type:object size:0x4 scope:global data:4byte +l_myName = .data:0x00000020; // type:object size:0x4 scope:local data:4byte @3744 = .data:0x00000024; // type:object size:0xC scope:local @3745 = .data:0x00000030; // type:object size:0xC scope:local @3746 = .data:0x0000003C; // type:object size:0xC scope:local @@ -85,5 +85,5 @@ l_myName = .data:0x00000020; // type:object size:0x4 scope:global data:4byte @3768 = .data:0x00000144; // type:object size:0xC scope:local @3769 = .data:0x00000150; // type:object size:0xC scope:local ActionTable__13daTagTWGate_c = .data:0x0000015C; // type:object size:0x138 scope:global data:4byte -l_daTagTWGate_Method = .data:0x00000294; // type:object size:0x20 scope:global +l_daTagTWGate_Method = .data:0x00000294; // type:object size:0x20 scope:local g_profile_Tag_TWGate = .data:0x000002B4; // type:object size:0x30 scope:global diff --git a/config/GZ2E01/rels/d_a_tag_qs/symbols.txt b/config/GZ2E01/rels/d_a_tag_qs/symbols.txt index 02464a9e1d2..a371051e8ae 100644 --- a/config/GZ2E01/rels/d_a_tag_qs/symbols.txt +++ b/config/GZ2E01/rels/d_a_tag_qs/symbols.txt @@ -12,14 +12,14 @@ getPower80__9daTagQs_cFv = .text:0x00000444; // type:function size:0x24 scope:gl getCenterPower__9daTagQs_cFv = .text:0x00000468; // type:function size:0x24 scope:global calcPower__9daTagQs_cFff = .text:0x0000048C; // type:function size:0x16C scope:global hikiyose__FP4cXyzP4cXyzP4cXyzf = .text:0x000005F8; // type:function size:0x254 scope:global -search__FPvPv = .text:0x0000084C; // type:function size:0x3AC scope:global +search__FPvPv = .text:0x0000084C; // type:function size:0x3AC scope:local execute__9daTagQs_cFv = .text:0x00000BF8; // type:function size:0x200 scope:global draw__9daTagQs_cFv = .text:0x00000DF8; // type:function size:0x8 scope:global -daTagQs_Draw__FP9daTagQs_c = .text:0x00000E00; // type:function size:0x20 scope:global -daTagQs_Execute__FP9daTagQs_c = .text:0x00000E20; // type:function size:0x20 scope:global -daTagQs_IsDelete__FP9daTagQs_c = .text:0x00000E40; // type:function size:0x8 scope:global -daTagQs_Delete__FP9daTagQs_c = .text:0x00000E48; // type:function size:0x28 scope:global -daTagQs_Create__FP10fopAc_ac_c = .text:0x00000E70; // type:function size:0x20 scope:global +daTagQs_Draw__FP9daTagQs_c = .text:0x00000E00; // type:function size:0x20 scope:local +daTagQs_Execute__FP9daTagQs_c = .text:0x00000E20; // type:function size:0x20 scope:local +daTagQs_IsDelete__FP9daTagQs_c = .text:0x00000E40; // type:function size:0x8 scope:local +daTagQs_Delete__FP9daTagQs_c = .text:0x00000E48; // type:function size:0x28 scope:local +daTagQs_Create__FP10fopAc_ac_c = .text:0x00000E70; // type:function size:0x20 scope:local __dt__10cCcD_GSttsFv = .text:0x00000E90; // type:function size:0x48 scope:global _ctors = .ctors:0x00000000; // type:label scope:global _dtors = .dtors:0x00000000; // type:label scope:global @@ -44,8 +44,8 @@ _dtors = .dtors:0x00000000; // type:label scope:global @4042 = .rodata:0x00000058; // type:object size:0x4 scope:local @4043 = .rodata:0x0000005C; // type:object size:0x4 scope:local data:string @4090 = .rodata:0x00000060; // type:object size:0x4 scope:local -l_cc_cyl_src = .data:0x00000000; // type:object size:0x44 scope:global -l_daTagQs_Method = .data:0x00000044; // type:object size:0x20 scope:global +l_cc_cyl_src = .data:0x00000000; // type:object size:0x44 scope:local +l_daTagQs_Method = .data:0x00000044; // type:object size:0x20 scope:local g_profile_TAG_QS = .data:0x00000064; // type:object size:0x30 scope:global __vt__8cM3dGAab = .data:0x00000094; // type:object size:0xC scope:global __vt__8cM3dGCyl = .data:0x000000A0; // type:object size:0xC scope:global diff --git a/configure.py b/configure.py index 104e2687c3f..b3033344bb1 100644 --- a/configure.py +++ b/configure.py @@ -331,7 +331,7 @@ config.libs = [ "objects": [ Object(Matching, "m_Do/m_Do_main.cpp"), Object(NonMatching, "m_Do/m_Do_printf.cpp"), - Object(NonMatching, "m_Do/m_Do_audio.cpp"), + Object(Matching, "m_Do/m_Do_audio.cpp"), Object(Matching, "m_Do/m_Do_controller_pad.cpp"), Object(NonMatching, "m_Do/m_Do_graphic.cpp"), Object(NonMatching, "m_Do/m_Do_machine.cpp"), @@ -540,7 +540,7 @@ config.libs = [ Object(Matching, "d/d_menu_insect.cpp"), Object(Matching, "d/d_menu_item_explain.cpp"), Object(NonMatching, "d/d_menu_letter.cpp"), - Object(NonMatching, "d/d_menu_option.cpp"), + Object(Matching, "d/d_menu_option.cpp"), Object(Matching, "d/d_menu_ring.cpp"), Object(NonMatching, "d/d_menu_save.cpp"), Object(Matching, "d/d_menu_skill.cpp"), @@ -2061,7 +2061,7 @@ config.libs = [ ActorRel(NonMatching, "d_a_tag_Lv6Gate"), ActorRel(Matching, "d_a_tag_Lv7Gate"), ActorRel(Matching, "d_a_tag_Lv8Gate"), - ActorRel(NonMatching, "d_a_tag_TWgate"), + ActorRel(Matching, "d_a_tag_TWgate"), ActorRel(Matching, "d_a_tag_arena"), ActorRel(Matching, "d_a_tag_assistance"), ActorRel(Matching, "d_a_tag_bottle_item"), @@ -2082,7 +2082,7 @@ config.libs = [ ActorRel(Matching, "d_a_tag_myna_light"), ActorRel(Matching, "d_a_tag_pachi"), ActorRel(Matching, "d_a_tag_poFire"), - ActorRel(NonMatching, "d_a_tag_qs"), + ActorRel(Matching, "d_a_tag_qs"), ActorRel(Matching, "d_a_tag_ret_room"), ActorRel(Matching, "d_a_tag_river_back"), ActorRel(Matching, "d_a_tag_rmbit_sw"), diff --git a/include/JSystem/JAudio2/JAISeMgr.h b/include/JSystem/JAudio2/JAISeMgr.h index 03e1d895273..afd7aca7537 100644 --- a/include/JSystem/JAudio2/JAISeMgr.h +++ b/include/JSystem/JAudio2/JAISeMgr.h @@ -95,7 +95,7 @@ public: /* 802A0768 */ bool startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3 const*); /* 802A08D0 */ int getNumActiveSe() const; - /* 802A08FC */ virtual ~JAISeMgr(); // inline? + /* 802A08FC */ virtual ~JAISeMgr() {} /* 802A0168 */ virtual bool isUsingSeqData(JAISeqDataRegion const&); /* 802A01D8 */ virtual int releaseSeqData(JAISeqDataRegion const&); diff --git a/include/JSystem/JAudio2/JAISeqMgr.h b/include/JSystem/JAudio2/JAISeqMgr.h index 81642eeef1b..f15f3d75a3d 100644 --- a/include/JSystem/JAudio2/JAISeqMgr.h +++ b/include/JSystem/JAudio2/JAISeqMgr.h @@ -29,7 +29,7 @@ public: /* 802A1F58 */ JAISeq* beginStartSeq_(); /* 802A1FE8 */ bool endStartSeq_(JAISeq*, JAISoundHandle*); - /* 802A20F0 */ virtual ~JAISeqMgr(); // inline? + /* 802A20F0 */ virtual ~JAISeqMgr() {} /* 802A1804 */ virtual bool isUsingSeqData(JAISeqDataRegion const&); /* 802A1870 */ virtual int releaseSeqData(JAISeqDataRegion const&); diff --git a/include/Z2AudioLib/Z2SoundInfo.h b/include/Z2AudioLib/Z2SoundInfo.h index 2ccc73ff7f2..df17a68936e 100644 --- a/include/Z2AudioLib/Z2SoundInfo.h +++ b/include/Z2AudioLib/Z2SoundInfo.h @@ -17,7 +17,7 @@ public: /* 802BB6DC */ virtual void getSeInfo(JAISoundID, JAISe*) const; /* 802BB8B4 */ virtual void getSeqInfo(JAISoundID, JAISeq*) const; /* 802BB8E0 */ virtual void getStreamInfo(JAISoundID, JAIStream*) const; - /* 802BBBE0 */ virtual ~Z2SoundInfo(); + /* 802BBBE0 */ virtual ~Z2SoundInfo() {} /* 802BB158 */ JAUAudibleParam getAudibleSwFull(JAISoundID); /* 802BBA10 */ const char* getStreamFilePath(JAISoundID); diff --git a/include/Z2AudioLib/Z2SpeechMgr2.h b/include/Z2AudioLib/Z2SpeechMgr2.h index 515ebb69b22..780e8151247 100644 --- a/include/Z2AudioLib/Z2SpeechMgr2.h +++ b/include/Z2AudioLib/Z2SpeechMgr2.h @@ -8,7 +8,7 @@ struct Z2SpeechStarter : public Z2SoundStarter { /* 802CCFB8 */ Z2SpeechStarter(); - /* 802CBCEC */ virtual ~Z2SpeechStarter(); + /* 802CBCEC */ virtual ~Z2SpeechStarter() {} /* 802CCFF8 */ virtual bool startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3 const*, u32, f32, f32, f32, f32, f32, u32); @@ -20,6 +20,7 @@ struct Z2SpeechMgr : public JASGlobalInstance { struct Z2SpeechMgr2 : public JASGlobalInstance { /* 802CBC60 */ Z2SpeechMgr2(); + ~Z2SpeechMgr2() {} /* 802CBD88 */ void setString(u16 const*, s16, u8, u16); /* 802CBF60 */ void setTextCount(s16); /* 802CC190 */ void speakOneWord(bool); diff --git a/include/d/actor/d_a_tag_TWgate.h b/include/d/actor/d_a_tag_TWgate.h index 77f290a1719..c28a50cb8b9 100644 --- a/include/d/actor/d_a_tag_TWgate.h +++ b/include/d/actor/d_a_tag_TWgate.h @@ -112,7 +112,7 @@ public: callInit(); } - static u8 const mAttr[1 + 3 /* padding */]; + static u8 const mAttr[1]; static actionFunc ActionTable[13][2]; private: diff --git a/include/d/actor/d_a_tag_qs.h b/include/d/actor/d_a_tag_qs.h index 7a6ef1e3215..a47e02f3da9 100644 --- a/include/d/actor/d_a_tag_qs.h +++ b/include/d/actor/d_a_tag_qs.h @@ -1,5 +1,31 @@ #ifndef D_A_TAG_QS_H #define D_A_TAG_QS_H +#include "f_op/f_op_actor.h" +#include "f_op/f_op_actor_mng.h" +#include "d/d_cc_d.h" + +class daTagQs_c : public fopAc_ac_c { +public: + /* 80D5DE78 */ ~daTagQs_c(); + /* 80D5DFB0 */ int create(); + /* 80D5E1FC */ f32 getPower(); + /* 80D5E220 */ f32 getSafeArea(); + /* 80D5E244 */ f32 getPower80(); + /* 80D5E268 */ f32 getCenterPower(); + /* 80D5E28C */ f32 calcPower(f32, f32); + /* 80D5E9F8 */ int execute(); + /* 80D5EBF8 */ int draw(); + + u8 getType() { return fopAcM_GetParamBit(this, 0, 1); } + int getSwNo() { return fopAcM_GetParamBit(this, 1, 8); } + + /* 0x568 */ f32 field_0x568; + /* 0x56C */ f32 field_0x56c; + /* 0x570 */ int field_0x570; + /* 0x574 */ int field_0x574; + /* 0x578 */ dCcD_Cyl mCyl; + /* 0x6B4 */ dCcD_Stts mStts; +}; #endif /* D_A_TAG_QS_H */ diff --git a/include/d/d_menu_option.h b/include/d/d_menu_option.h index 356a3a1c069..81d7ff4a865 100644 --- a/include/d/d_menu_option.h +++ b/include/d/d_menu_option.h @@ -87,7 +87,7 @@ public: /* 801E8CB0 */ void yesnoWakuAlpahAnmInit(u8, u8, u8, u8); /* 801E8CFC */ u8 yesnoWakuAlpahAnm(u8); - /* 801E8E6C */ virtual void draw(); + /* 801E8E6C */ virtual void draw() { _draw(); } /* 801E2014 */ virtual ~dMenu_Option_c(); u8 getQuitStatus() { return mQuitStatus; } diff --git a/src/Z2AudioLib/Z2SoundInfo.cpp b/src/Z2AudioLib/Z2SoundInfo.cpp index 3989c0d1a61..67b957282b9 100644 --- a/src/Z2AudioLib/Z2SoundInfo.cpp +++ b/src/Z2AudioLib/Z2SoundInfo.cpp @@ -430,7 +430,7 @@ void Z2SoundInfo::getSoundInfo_(JAISoundID param_1, JAISound* param_2) const { /* 802BBBE0-802BBCBC 2B6520 00DC+00 2/1 0/0 0/0 .text __dt__11Z2SoundInfoFv */ -Z2SoundInfo::~Z2SoundInfo() {} +// Z2SoundInfo::~Z2SoundInfo() {} /* 802BBCBC-802BBCC4 2B65FC 0008+00 1/0 0/0 0/0 .text * @4@getBgmSeqResourceID__11Z2SoundInfoCF10JAISoundID */ @@ -453,4 +453,4 @@ static void func_802BBCCC() { * @8@getStreamFileEntry__11Z2SoundInfoF10JAISoundID */ static void func_802BBCD4() { // NONMATCHING -} \ No newline at end of file +} diff --git a/src/Z2AudioLib/Z2SpeechMgr2.cpp b/src/Z2AudioLib/Z2SpeechMgr2.cpp index 44149d03d7e..cf0410558f9 100644 --- a/src/Z2AudioLib/Z2SpeechMgr2.cpp +++ b/src/Z2AudioLib/Z2SpeechMgr2.cpp @@ -316,7 +316,7 @@ SECTION_DATA extern void* __vt__15Z2SpeechStarter[5] = { }; /* 802CBCEC-802CBD88 2C662C 009C+00 1/0 0/0 0/0 .text __dt__15Z2SpeechStarterFv */ -Z2SpeechStarter::~Z2SpeechStarter() {} +//Z2SpeechStarter::~Z2SpeechStarter() {} /* 802CBD88-802CBF60 2C66C8 01D8+00 1/0 1/1 0/0 .text setString__12Z2SpeechMgr2FPCUssUcUs */ @@ -1937,4 +1937,4 @@ bool Z2SpeechStarter::startSound(JAISoundID param_0, JAISoundHandle* param_1, f32 param_5, f32 param_6, f32 param_7, f32 param_8, u32 param_9) { // NONMATCHING -} \ No newline at end of file +} diff --git a/src/d/actor/d_a_obj_twGate.cpp b/src/d/actor/d_a_obj_twGate.cpp index d32f368f0b8..f56e02eef0e 100644 --- a/src/d/actor/d_a_obj_twGate.cpp +++ b/src/d/actor/d_a_obj_twGate.cpp @@ -416,4 +416,4 @@ void __sinit_d_a_obj_twGate_cpp() { REGISTER_CTORS(0x80D202B8, __sinit_d_a_obj_twGate_cpp); #pragma pop -/* 80D20554-80D20554 00024C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file +/* 80D20554-80D20554 00024C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/actor/d_a_tag_TWgate.cpp b/src/d/actor/d_a_tag_TWgate.cpp index 3a9bcd633c3..4493134370f 100644 --- a/src/d/actor/d_a_tag_TWgate.cpp +++ b/src/d/actor/d_a_tag_TWgate.cpp @@ -1,19 +1,13 @@ // -// Generated By: dol2asm -// Translation Unit: d_a_tag_TWgate +// d_a_tag_TWgate // #include "d/actor/d_a_tag_TWgate.h" #include "d/actor/d_a_player.h" #include "d/d_com_inf_game.h" #include "d/d_msg_object.h" -#include "dol2asm.h" #include "f_op/f_op_actor_mng.h" -// -// Types: -// - struct daTagTWGate_zevParam { /* 0x00 */ char* mArcName; /* 0x04 */ char* mEventName; @@ -26,195 +20,18 @@ struct daTagTWGate_zevParam { /* 0x1B */ s8 mLayer; }; -// -// Forward References: -// - -extern "C" void initWait__13daTagTWGate_cFv(); -extern "C" void executeWait__13daTagTWGate_cFv(); -extern "C" void initDemoFilone1__13daTagTWGate_cFv(); -extern "C" void executeDemoFilone1__13daTagTWGate_cFv(); -extern "C" void initDemoFilone2__13daTagTWGate_cFv(); -extern "C" void executeDemoFilone2__13daTagTWGate_cFv(); -extern "C" void initDemoFilone3__13daTagTWGate_cFv(); -extern "C" void executeDemoFilone3__13daTagTWGate_cFv(); -extern "C" void initDemoOrdin1__13daTagTWGate_cFv(); -extern "C" void executeDemoOrdin1__13daTagTWGate_cFv(); -extern "C" void initDemoOrdin2__13daTagTWGate_cFv(); -extern "C" void executeDemoOrdin2__13daTagTWGate_cFv(); -extern "C" void initDemoOrdin3__13daTagTWGate_cFv(); -extern "C" void executeDemoOrdin3__13daTagTWGate_cFv(); -extern "C" void initDemoRanail1__13daTagTWGate_cFv(); -extern "C" void executeDemoRanail1__13daTagTWGate_cFv(); -extern "C" void initDemoRanail2__13daTagTWGate_cFv(); -extern "C" void executeDemoRanail2__13daTagTWGate_cFv(); -extern "C" void initDemoRanail3__13daTagTWGate_cFv(); -extern "C" void executeDemoRanail3__13daTagTWGate_cFv(); -extern "C" void initDemoHyral1__13daTagTWGate_cFv(); -extern "C" void executeDemoHyral1__13daTagTWGate_cFv(); -extern "C" void initDemoHyral2__13daTagTWGate_cFv(); -extern "C" void executeDemoHyral2__13daTagTWGate_cFv(); -extern "C" void initDemoHyral3__13daTagTWGate_cFv(); -extern "C" void executeDemoHyral3__13daTagTWGate_cFv(); -extern "C" void initBaseMtx__13daTagTWGate_cFv(); -extern "C" void downloadModels__13daTagTWGate_cFv(); -extern "C" void initTalk__13daTagTWGate_cFiPP10fopAc_ac_c(); -extern "C" void talkProc__13daTagTWGate_cFPiiPP10fopAc_ac_c(); -extern "C" void createHeapCallBack__13daTagTWGate_cFP10fopAc_ac_c(); -extern "C" void CreateHeap__13daTagTWGate_cFv(); -extern "C" static void daTagTWGate_Create__FP10fopAc_ac_c(); -extern "C" static void daTagTWGate_Delete__FP13daTagTWGate_c(); -extern "C" static void daTagTWGate_Execute__FP13daTagTWGate_c(); -extern "C" static void daTagTWGate_Draw__FP13daTagTWGate_c(); -extern "C" static bool daTagTWGate_IsDelete__FP13daTagTWGate_c(); -extern "C" void __sinit_d_a_tag_TWgate_cpp(); -extern "C" u8 const mAttr__13daTagTWGate_c[1 + 3 /* padding */]; -extern "C" extern char const* const d_a_tag_TWgate__stringBase0; -extern "C" u8 ActionTable__13daTagTWGate_c[312]; -extern "C" extern void* g_profile_Tag_TWGate[12]; - -// -// External References: -// - -extern "C" void mDoMtx_YrotM__FPA4_fs(); -extern "C" void transS__14mDoMtx_stack_cFRC4cXyz(); -extern "C" void transM__14mDoMtx_stack_cFfff(); -extern "C" void -__ct__16mDoExt_McaMorfSOFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiP10Z2CreatureUlUl(); -extern "C" void play__16mDoExt_McaMorfSOFUlSc(); -extern "C" void entryDL__16mDoExt_McaMorfSOFv(); -extern "C" void modelCalc__16mDoExt_McaMorfSOFv(); -extern "C" void stopZelAnime__16mDoExt_McaMorfSOFv(); -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl(); -extern "C" void fopAcM_searchActorDistanceXZ2__FPC10fopAc_ac_cPC10fopAc_ac_c(); -extern "C" void fopAcM_orderChangeEventId__FP10fopAc_ac_csUsUs(); -extern "C" void fopAcM_orderOtherEventId__FP10fopAc_ac_csUcUsUsUs(); -extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc(); -extern "C" void dComIfGp_setNextStage__FPCcsScSc(); -extern "C" void isDarkClearLV__21dSv_player_status_b_cCFi(); -extern "C" void onEventBit__11dSv_event_cFUs(); -extern "C" void onSwitch__10dSv_info_cFii(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci(); -extern "C" void reset__14dEvt_control_cFv(); -extern "C" void reset__14dEvt_control_cFPv(); -extern "C" void dEv_noFinishSkipProc__FPvi(); -extern "C" void setSkipProc__14dEvt_control_cFPvPFPvi_ii(); -extern "C" void onSkipFade__14dEvt_control_cFv(); -extern "C" void setObjectArchive__16dEvent_manager_cFPc(); -extern "C" void getEventIdx__16dEvent_manager_cFP10fopAc_ac_cPCcUc(); -extern "C" void endCheck__16dEvent_manager_cFs(); -extern "C" void getMyStaffId__16dEvent_manager_cFPCcP10fopAc_ac_ci(); -extern "C" void getIsAddvance__16dEvent_manager_cFi(); -extern "C" void getMyNowCutName__16dEvent_manager_cFi(); -extern "C" void cutEnd__16dEvent_manager_cFi(); -extern "C" void -set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf(); -extern "C" void offMsgSendControl__12dMsgObject_cFv(); -extern "C" void isMsgSendControl__12dMsgObject_cFv(); -extern "C" void __ct__10dMsgFlow_cFv(); -extern "C" void __dt__10dMsgFlow_cFv(); -extern "C" void init__10dMsgFlow_cFP10fopAc_ac_ciiPP10fopAc_ac_c(); -extern "C" void doFlow__10dMsgFlow_cFP10fopAc_ac_cPP10fopAc_ac_ci(); -extern "C" void getMsgNo__10dMsgFlow_cFv(); -extern "C" void getMsg__10dMsgFlow_cFv(); -extern "C" void __ct__5csXyzFsss(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void* __nw__FUl(); -extern "C" void __ptmf_scall(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" u8 saveBitLabels__16dSv_event_flag_c[1644 + 4 /* padding */]; -extern "C" u8 now__14mDoMtx_stack_c[48]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; - -// -// Declarations: -// - /* 80D525F8-80D52604 000078 000C+00 1/0 0/0 0/0 .text initWait__13daTagTWGate_cFv */ void daTagTWGate_c::initWait() { mEventID = -1; } -/* ############################################################################################## */ -/* 80D55848-80D55852 00009C 000A+00 4/3 0/0 0/0 .rodata None */ -extern "C" char const* const stringBase_80D55848; - -/* 80D55852-80D55861 0000A6 000F+00 1/0 0/0 0/0 .rodata None */ -extern "C" char const* const stringBase_80D55852; - -/* 80D55861-80D55875 0000B5 0014+00 1/0 0/0 0/0 .rodata None */ -extern "C" char const* const stringBase_80D55861; - -/* 80D55875-80D55887 0000C9 0012+00 1/0 0/0 0/0 .rodata None */ -extern "C" char const* const stringBase_80D55875; - -/* 80D55887-80D5588F 0000DB 0008+00 1/0 0/0 0/0 .rodata None */ -extern "C" char const* const stringBase_80D55887; - -/* 80D5588F-80D55899 0000E3 000A+00 1/0 0/0 0/0 .rodata None */ -extern "C" char const* const stringBase_80D5588F; - -/* 80D55899-80D558A7 0000ED 000E+00 1/0 0/0 0/0 .rodata None */ -extern "C" char const* const stringBase_80D55899; - -/* 80D558A7-80D558BA 0000FB 0013+00 1/0 0/0 0/0 .rodata None */ -extern "C" char const* const stringBase_80D558A7; - -/* 80D558BA-80D558CB 00010E 0011+00 1/0 0/0 0/0 .rodata None */ -extern "C" char const* const stringBase_80D558BA; - -/* 80D558CB-80D558D3 00011F 0008+00 1/0 0/0 0/0 .rodata None */ -extern "C" char const* const stringBase_80D558CB; - -/* 80D558D3-80D558DD 000127 000A+00 1/0 0/0 0/0 .rodata None */ -extern "C" char const* const stringBase_80D558D3; - -/* 80D558DD-80D558EC 000131 000F+00 1/0 0/0 0/0 .rodata None */ -extern "C" char const* const stringBase_80D558DD; - -/* 80D558EC-80D55900 000140 0014+00 1/0 0/0 0/0 .rodata None */ -extern "C" char const* const stringBase_80D558EC; - -/* 80D55900-80D55912 000154 0012+00 1/0 0/0 0/0 .rodata None */ -extern "C" char const* const stringBase_80D55900; - -/* 80D55912-80D5591C 000166 000A+00 1/0 0/0 0/0 .rodata None */ -extern "C" char const* const stringBase_80D55912; - -/* 80D5591C-80D5592A 000170 000E+00 1/0 0/0 0/0 .rodata None */ -extern "C" char const* const stringBase_80D5591C; - -/* 80D5592A-80D5593D 00017E 0013+00 1/0 0/0 0/0 .rodata None */ -extern "C" char const* const stringBase_80D5592A; - -/* 80D5593D-80D5594E 000191 0011+00 1/0 0/0 0/0 .rodata None */ -extern "C" char const* const stringBase_80D5593D; - /* 80D557AC-80D557B0 000000 0001+03 5/5 0/0 0/0 .rodata mAttr__13daTagTWGate_c */ -SECTION_RODATA u8 const daTagTWGate_c::mAttr[1 + 3 /* padding */] = { - 0x00, - /* padding */ - 0x00, - 0x00, +u8 const daTagTWGate_c::mAttr[1] = { 0x00, }; -COMPILER_STRIP_GATE(0x80D557AC, &daTagTWGate_c::mAttr); /* 80D557B0-80D55820 -00001 0070+00 14/18 0/0 0/0 .rodata l_zevParamTbl */ -SECTION_RODATA static daTagTWGate_zevParam const l_zevParamTbl[4] = { +static daTagTWGate_zevParam const l_zevParamTbl[4] = { { "TWGate_FL", "TW_GATE_FILONE", @@ -260,51 +77,16 @@ SECTION_RODATA static daTagTWGate_zevParam const l_zevParamTbl[4] = { 14, }, }; -COMPILER_STRIP_GATE(0x80D557B0, &l_zevParamTbl); - -/* 80D55820-80D55824 000074 0004+00 1/1 0/0 0/0 .rodata @3857 */ -SECTION_RODATA static f32 const lit_3857 = 100.0f; -COMPILER_STRIP_GATE(0x80D55820, &lit_3857); - -/* 80D55824-80D5582C 000078 0008+00 1/1 0/0 0/0 .rodata @3858 */ -SECTION_RODATA static u8 const lit_3858[8] = { - 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80D55824, &lit_3858); - -/* 80D55848-80D55848 00009C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80D55848 = "TWGate_FL"; -SECTION_DEAD static char const* const stringBase_80D55852 = "TW_GATE_FILONE"; -SECTION_DEAD static char const* const stringBase_80D55861 = "TW_GATE_FILONE_TALK"; -SECTION_DEAD static char const* const stringBase_80D55875 = "TW_GATE_FILONE_IN"; -SECTION_DEAD static char const* const stringBase_80D55887 = "F_SP108"; -SECTION_DEAD static char const* const stringBase_80D5588F = "TWGate_OD"; -SECTION_DEAD static char const* const stringBase_80D55899 = "TW_GATE_ORDIN"; -SECTION_DEAD static char const* const stringBase_80D558A7 = "TW_GATE_ORDIN_TALK"; -SECTION_DEAD static char const* const stringBase_80D558BA = "TW_GATE_ORDIN_IN"; -SECTION_DEAD static char const* const stringBase_80D558CB = "F_SP121"; -SECTION_DEAD static char const* const stringBase_80D558D3 = "TWGate_RN"; -SECTION_DEAD static char const* const stringBase_80D558DD = "TW_GATE_RANAIL"; -SECTION_DEAD static char const* const stringBase_80D558EC = "TW_GATE_RANAIL_TALK"; -SECTION_DEAD static char const* const stringBase_80D55900 = "TW_GATE_RANAIL_IN"; -SECTION_DEAD static char const* const stringBase_80D55912 = "TWGate_HY"; -SECTION_DEAD static char const* const stringBase_80D5591C = "TW_GATE_HYRAL"; -SECTION_DEAD static char const* const stringBase_80D5592A = "TW_GATE_HYRAL_TALK"; -SECTION_DEAD static char const* const stringBase_80D5593D = "TW_GATE_HYRAL_IN"; -SECTION_DEAD static char const* const stringBase_80D5594E = "Gate"; -#pragma pop /* 80D55974-80D55980 000000 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */ -SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { +static u8 cNullVec__6Z2Calc[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; /* 80D55980-80D55994 00000C 0004+10 0/0 0/0 0/0 .data @1787 */ #pragma push #pragma force_active on -SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = { +static u32 lit_1787[1 + 4 /* padding */] = { 0x02000201, /* padding */ 0x40080000, @@ -315,10 +97,10 @@ SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = { #pragma pop /* 80D55994-80D55998 -00001 0004+00 12/12 0/0 0/0 .data l_myName */ -SECTION_DATA static const char* l_myName = "Gate"; +static const char* l_myName = "Gate"; /* 80D55AD0-80D55C08 00015C 0138+00 14/15 0/0 0/0 .data ActionTable__13daTagTWGate_c */ -SECTION_DATA actionFunc daTagTWGate_c::ActionTable[13][2] = { +actionFunc daTagTWGate_c::ActionTable[13][2] = { {&daTagTWGate_c::initWait, &daTagTWGate_c::executeWait}, {&daTagTWGate_c::initDemoFilone1, &daTagTWGate_c::executeDemoFilone1}, {&daTagTWGate_c::initDemoFilone2, &daTagTWGate_c::executeDemoFilone2}, @@ -442,26 +224,22 @@ void daTagTWGate_c::executeDemoFilone1() { /* 80D52AF4-80D52BF0 000574 00FC+00 1/0 0/0 0/0 .text initDemoFilone2__13daTagTWGate_cFv */ -#ifdef NONMATCHING void daTagTWGate_c::initDemoFilone2() { fopAcM_onSwitch(this, getSwitch()); eventInfo.setArchiveName(l_zevParamTbl[mType].mArcName); - dComIfGp_getEventManager().setObjectArchive(eventInfo.getArchiveName()); + dComIfG_play_c& play = g_dComIfG_gameInfo.play; + dEvent_manager_c& mng = play.getEvtManager(); + mng.setObjectArchive(eventInfo.getArchiveName()); mEventID = - dComIfGp_getEventManager().getEventIdx(this, l_zevParamTbl[mType].mTalkEventName, -1); + mng.getEventIdx(this, l_zevParamTbl[mType].mTalkEventName, -1); - if (dComIfGp_event_runCheck()) { + if (play.getEvent().mEventStatus != 0) { dComIfGp_getEvent().reset(this); fopAcM_orderChangeEventId(this, mEventID, 1, -1); } else { fopAcM_orderOtherEventId(this, mEventID, -1, -1, 4, 1); } } -#else -void daTagTWGate_c::initDemoFilone2() { - // NONMATCHING -} -#endif /* 80D52BF0-80D52DB4 000670 01C4+00 1/0 0/0 0/0 .text executeDemoFilone2__13daTagTWGate_cFv */ void daTagTWGate_c::executeDemoFilone2() { @@ -522,38 +300,6 @@ void daTagTWGate_c::initDemoFilone3() { fopAcM_orderChangeEventId(this, mEventID, 1, -1); } -/* ############################################################################################## */ -/* 80D5582C-80D55830 000080 0004+00 1/5 0/0 0/0 .rodata @4079 */ -SECTION_RODATA static f32 const lit_4079 = 1.0f; -COMPILER_STRIP_GATE(0x80D5582C, &lit_4079); - -/* 80D55830-80D55834 000084 0004+00 1/6 0/0 0/0 .rodata @4080 */ -SECTION_RODATA static u8 const lit_4080[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80D55830, &lit_4080); - -/* 80D55834-80D55838 000088 0004+00 0/4 0/0 0/0 .rodata @4081 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4081 = 240.0f; -COMPILER_STRIP_GATE(0x80D55834, &lit_4081); -#pragma pop - -/* 80D55838-80D5583C 00008C 0004+00 0/4 0/0 0/0 .rodata @4082 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4082 = -710.0f; -COMPILER_STRIP_GATE(0x80D55838, &lit_4082); -#pragma pop - -/* 80D5583C-80D55840 000090 0004+00 1/5 0/0 0/0 .rodata @4083 */ -SECTION_RODATA static f32 const lit_4083 = -1.0f; -COMPILER_STRIP_GATE(0x80D5583C, &lit_4083); - /* 80D52E7C-80D53250 0008FC 03D4+00 1/0 0/0 0/0 .text executeDemoFilone3__13daTagTWGate_cFv */ void daTagTWGate_c::executeDemoFilone3() { s32 staffId = dComIfGp_evmng_getMyStaffId(l_myName, NULL, 0); @@ -644,7 +390,6 @@ void daTagTWGate_c::executeDemoFilone3() { } } - /* 80D53250-80D532DC 000CD0 008C+00 1/0 0/0 0/0 .text initDemoOrdin1__13daTagTWGate_cFv */ void daTagTWGate_c::initDemoOrdin1() { @@ -655,18 +400,90 @@ void daTagTWGate_c::initDemoOrdin1() { /* 80D532DC-80D53454 000D5C 0178+00 1/0 0/0 0/0 .text executeDemoOrdin1__13daTagTWGate_cFv */ void daTagTWGate_c::executeDemoOrdin1() { - // NONMATCHING + dEvent_manager_c& evtMng = dComIfGp_getEventManager(); + int staffId = evtMng.getMyStaffId(l_myName, NULL, 0); + if (staffId != -1) { + int* cutName = (int*)evtMng.getMyNowCutName(staffId); + if (evtMng.getIsAddvance(staffId)) { + switch (*cutName) { + case '0001': + dComIfGp_getEvent().startCheckSkipEdge(this); + break; + } + } + switch (*cutName) { + case '0001': + if (dComIfGp_getEvent().checkSkipEdge()) { + dComIfGp_getEvent().onSkipFade(); + setAction(ACT_DEMO_ORDIN_2); + } + evtMng.cutEnd(staffId); + break; + } + if (eventInfo.checkCommandDemoAccrpt() && mEventID != -1 && evtMng.endCheck(mEventID)) { + setAction(ACT_DEMO_ORDIN_2); + } + } } /* 80D53454-80D53550 000ED4 00FC+00 1/0 0/0 0/0 .text initDemoOrdin2__13daTagTWGate_cFv */ void daTagTWGate_c::initDemoOrdin2() { - // NONMATCHING + fopAcM_onSwitch(this, getSwitch()); + eventInfo.setArchiveName(l_zevParamTbl[mType].mArcName); + dComIfG_play_c& play = g_dComIfG_gameInfo.play; + dEvent_manager_c& mng = play.getEvtManager(); + mng.setObjectArchive(eventInfo.getArchiveName()); + mEventID = mng.getEventIdx(this, l_zevParamTbl[mType].mTalkEventName, 0xff); + if (play.getEvent().mEventStatus != 0) { + dComIfGp_getEvent().reset(this); + fopAcM_orderChangeEventId(this, mEventID, 1, 0xffff); + } else { + fopAcM_orderOtherEventId(this, mEventID, 0xff, 0xffff, 4, 1); + } } /* 80D53550-80D53714 000FD0 01C4+00 1/0 0/0 0/0 .text executeDemoOrdin2__13daTagTWGate_cFv */ void daTagTWGate_c::executeDemoOrdin2() { - // NONMATCHING + dEvent_manager_c& evtMng = dComIfGp_getEventManager(); + int staffId = evtMng.getMyStaffId(l_myName, NULL, 0); + if (staffId == -1) { + return; + } + int* cutName = (int*)evtMng.getMyNowCutName(staffId); + if (evtMng.getIsAddvance(staffId)) { + switch(*cutName) { + case '0001': + break; + case '0002': + initTalk(0xbc1, NULL); + break; + case '0003': + break; + } + } + switch(*cutName) { + case '0001': + case '0003': + evtMng.cutEnd(staffId); + break; + case '0002': + if (talkProc(NULL, 1, NULL)) { + if (mMsgFlow.getChoiceNo() == 0) { + setAction(ACT_DEMO_ORDIN_3); + } + evtMng.cutEnd(staffId); + } + break; + } + + if (eventInfo.checkCommandDemoAccrpt() && mEventID != -1 && + evtMng.endCheck(mEventID)) + { + dComIfGp_event_reset(); + field_0x5e0 = 0; + setAction(ACT_WAIT); + } } /* 80D53714-80D537DC 001194 00C8+00 1/0 0/0 0/0 .text initDemoOrdin3__13daTagTWGate_cFv @@ -684,7 +501,84 @@ void daTagTWGate_c::initDemoOrdin3() { /* 80D537DC-80D53BD0 00125C 03F4+00 1/0 0/0 0/0 .text executeDemoOrdin3__13daTagTWGate_cFv */ void daTagTWGate_c::executeDemoOrdin3() { - // NONMATCHING + dEvent_manager_c& evtMng = dComIfGp_getEventManager(); + int staffId = evtMng.getMyStaffId(l_myName, NULL, 0); + if (staffId == -1) { + return; + } + int* cutName = (int*)evtMng.getMyNowCutName(staffId); + if (evtMng.getIsAddvance(staffId)) { + switch(*cutName) { + case '0001': + break; + case '0002': + dComIfGp_getEvent().startCheckSkipEdge(this); + field_0x5e1 = 0; + break; + case '0003': + initBaseMtx(); + mpMorf->setPlaySpeed(1.0f); + field_0x5e0 = 1; + break; + } + } + switch(*cutName) { + case '0001': + int downloadResult = downloadModels(); + if (downloadResult == 1) { + evtMng.cutEnd(staffId); + } else if (downloadResult == -1) { + dComIfGp_setNextStage( + l_zevParamTbl[mType].mStage, + l_zevParamTbl[mType].mPoint, + l_zevParamTbl[mType].mRoomNo, + l_zevParamTbl[mType].mLayer); + } + break; + case '0002': + if (dComIfGp_getEvent().checkSkipEdge()) { + dComIfGp_getEvent().onSkipFade(); + dComIfGp_setNextStage( + l_zevParamTbl[mType].mStage, + l_zevParamTbl[mType].mPoint, + l_zevParamTbl[mType].mRoomNo, + l_zevParamTbl[mType].mLayer); + } + int dVar2 = daPy_py_c::i_checkNowWolf() ? 0x2e : 0x4a; + if (field_0x5e1++ == dVar2) { + daPy_py_c* player = daPy_getPlayerActorClass(); + cXyz cStack_30; + csXyz cStack_38(0, fopAcM_GetShapeAngle_p(player)->y + 0x8000, 0); + mDoMtx_stack_c::transS(fopAcM_GetPosition(player)); + mDoMtx_stack_c::YrotM(cStack_38.y); + mDoMtx_stack_c::transM(0.0f, 240.0f, -710.0f); + mDoMtx_stack_c::multVecZero(&cStack_30); + dComIfGp_particle_set(0x86c5, &cStack_30, &cStack_38, NULL); + Z2GetAudioMgr()->seStart(Z2SE_OBJ_DARK_GATE_RIPPLE, &cStack_30, 0, 0, + 1.0f, 1.0f, -1.0f, -1.0f, 0); + evtMng.cutEnd(staffId); + } + break; + case '0003': + if (dComIfGp_getEvent().checkSkipEdge()) { + dComIfGp_getEvent().onSkipFade(); + dComIfGp_setNextStage( + l_zevParamTbl[mType].mStage, + l_zevParamTbl[mType].mPoint, + l_zevParamTbl[mType].mRoomNo, + l_zevParamTbl[mType].mLayer); + } + if (mpMorf->isStop()) { + evtMng.cutEnd(staffId); + } + break; + } + + if (eventInfo.checkCommandDemoAccrpt() && mEventID != -1 && evtMng.endCheck(mEventID)) { + dComIfGp_event_reset(); + field_0x5e0 = 0; + setAction(ACT_WAIT); + } } /* 80D53BD0-80D53C5C 001650 008C+00 1/0 0/0 0/0 .text initDemoRanail1__13daTagTWGate_cFv @@ -697,18 +591,90 @@ void daTagTWGate_c::initDemoRanail1() { /* 80D53C5C-80D53DD4 0016DC 0178+00 1/0 0/0 0/0 .text executeDemoRanail1__13daTagTWGate_cFv */ void daTagTWGate_c::executeDemoRanail1() { - // NONMATCHING + dEvent_manager_c& evtMng = dComIfGp_getEventManager(); + int staffId = evtMng.getMyStaffId(l_myName, NULL, 0); + if (staffId != -1) { + int* cutName = (int*)evtMng.getMyNowCutName(staffId); + if (evtMng.getIsAddvance(staffId)) { + switch (*cutName) { + case '0001': + dComIfGp_getEvent().startCheckSkipEdge(this); + break; + } + } + switch (*cutName) { + case '0001': + if (dComIfGp_getEvent().checkSkipEdge()) { + dComIfGp_getEvent().onSkipFade(); + setAction(ACT_DEMO_RANAIL_2); + } + evtMng.cutEnd(staffId); + break; + } + if (eventInfo.checkCommandDemoAccrpt() && mEventID != -1 && evtMng.endCheck(mEventID)) { + setAction(ACT_DEMO_RANAIL_2); + } + } } /* 80D53DD4-80D53ED0 001854 00FC+00 1/0 0/0 0/0 .text initDemoRanail2__13daTagTWGate_cFv */ void daTagTWGate_c::initDemoRanail2() { - // NONMATCHING + fopAcM_onSwitch(this, getSwitch()); + eventInfo.setArchiveName(l_zevParamTbl[mType].mArcName); + dComIfG_play_c& play = g_dComIfG_gameInfo.play; + dEvent_manager_c& mng = play.getEvtManager(); + mng.setObjectArchive(eventInfo.getArchiveName()); + mEventID = mng.getEventIdx(this, l_zevParamTbl[mType].mTalkEventName, 0xff); + if (play.getEvent().mEventStatus != 0) { + dComIfGp_getEvent().reset(this); + fopAcM_orderChangeEventId(this, mEventID, 1, 0xffff); + } else { + fopAcM_orderOtherEventId(this, mEventID, 0xff, 0xffff, 4, 1); + } } /* 80D53ED0-80D54094 001950 01C4+00 1/0 0/0 0/0 .text executeDemoRanail2__13daTagTWGate_cFv */ void daTagTWGate_c::executeDemoRanail2() { - // NONMATCHING + dEvent_manager_c& evtMng = dComIfGp_getEventManager(); + int staffId = evtMng.getMyStaffId(l_myName, NULL, 0); + if (staffId == -1) { + return; + } + int* cutName = (int*)evtMng.getMyNowCutName(staffId); + if (evtMng.getIsAddvance(staffId)) { + switch(*cutName) { + case '0001': + break; + case '0002': + initTalk(0xbc1, NULL); + break; + case '0003': + break; + } + } + switch(*cutName) { + case '0001': + case '0003': + evtMng.cutEnd(staffId); + break; + case '0002': + if (talkProc(NULL, 1, NULL)) { + if (mMsgFlow.getChoiceNo() == 0) { + setAction(ACT_DEMO_RANAIL_3); + } + evtMng.cutEnd(staffId); + } + break; + } + + if (eventInfo.checkCommandDemoAccrpt() && mEventID != -1 && + evtMng.endCheck(mEventID)) + { + dComIfGp_event_reset(); + field_0x5e0 = 0; + setAction(ACT_WAIT); + } } /* 80D54094-80D54178 001B14 00E4+00 1/0 0/0 0/0 .text initDemoRanail3__13daTagTWGate_cFv @@ -727,7 +693,84 @@ void daTagTWGate_c::initDemoRanail3() { /* 80D54178-80D5456C 001BF8 03F4+00 1/0 0/0 0/0 .text executeDemoRanail3__13daTagTWGate_cFv */ void daTagTWGate_c::executeDemoRanail3() { - // NONMATCHING + dEvent_manager_c& evtMng = dComIfGp_getEventManager(); + int staffId = evtMng.getMyStaffId(l_myName, NULL, 0); + if (staffId == -1) { + return; + } + int* cutName = (int*)evtMng.getMyNowCutName(staffId); + if (evtMng.getIsAddvance(staffId)) { + switch(*cutName) { + case '0001': + break; + case '0002': + dComIfGp_getEvent().startCheckSkipEdge(this); + field_0x5e1 = 0; + break; + case '0003': + initBaseMtx(); + mpMorf->setPlaySpeed(1.0f); + field_0x5e0 = 1; + break; + } + } + switch(*cutName) { + case '0001': + int downloadResult = downloadModels(); + if (downloadResult == 1) { + evtMng.cutEnd(staffId); + } else if (downloadResult == -1) { + dComIfGp_setNextStage( + l_zevParamTbl[mType].mStage, + l_zevParamTbl[mType].mPoint, + l_zevParamTbl[mType].mRoomNo, + l_zevParamTbl[mType].mLayer); + } + break; + case '0002': + if (dComIfGp_getEvent().checkSkipEdge()) { + dComIfGp_getEvent().onSkipFade(); + dComIfGp_setNextStage( + l_zevParamTbl[mType].mStage, + l_zevParamTbl[mType].mPoint, + l_zevParamTbl[mType].mRoomNo, + l_zevParamTbl[mType].mLayer); + } + int dVar2 = daPy_py_c::i_checkNowWolf() ? 0x2e : 0x4a; + if (field_0x5e1++ == dVar2) { + daPy_py_c* player = daPy_getPlayerActorClass(); + cXyz cStack_30; + csXyz cStack_38(0, fopAcM_GetShapeAngle_p(player)->y + 0x8000, 0); + mDoMtx_stack_c::transS(fopAcM_GetPosition(player)); + mDoMtx_stack_c::YrotM(cStack_38.y); + mDoMtx_stack_c::transM(0.0f, 240.0f, -710.0f); + mDoMtx_stack_c::multVecZero(&cStack_30); + dComIfGp_particle_set(0x86c5, &cStack_30, &cStack_38, NULL); + Z2GetAudioMgr()->seStart(Z2SE_OBJ_DARK_GATE_RIPPLE, &cStack_30, 0, 0, + 1.0f, 1.0f, -1.0f, -1.0f, 0); + evtMng.cutEnd(staffId); + } + break; + case '0003': + if (dComIfGp_getEvent().checkSkipEdge()) { + dComIfGp_getEvent().onSkipFade(); + dComIfGp_setNextStage( + l_zevParamTbl[mType].mStage, + l_zevParamTbl[mType].mPoint, + l_zevParamTbl[mType].mRoomNo, + l_zevParamTbl[mType].mLayer); + } + if (mpMorf->isStop()) { + evtMng.cutEnd(staffId); + } + break; + } + + if (eventInfo.checkCommandDemoAccrpt() && mEventID != -1 && evtMng.endCheck(mEventID)) { + dComIfGp_event_reset(); + field_0x5e0 = 0; + setAction(ACT_WAIT); + } } /* 80D5456C-80D545F8 001FEC 008C+00 1/0 0/0 0/0 .text initDemoHyral1__13daTagTWGate_cFv @@ -740,30 +783,48 @@ void daTagTWGate_c::initDemoHyral1() { /* 80D545F8-80D54770 002078 0178+00 1/0 0/0 0/0 .text executeDemoHyral1__13daTagTWGate_cFv */ void daTagTWGate_c::executeDemoHyral1() { - // NONMATCHING + dEvent_manager_c& evtMng = dComIfGp_getEventManager(); + int staffId = evtMng.getMyStaffId(l_myName, NULL, 0); + if (staffId != -1) { + int* cutName = (int*)evtMng.getMyNowCutName(staffId); + if (evtMng.getIsAddvance(staffId)) { + switch (*cutName) { + case '0001': + dComIfGp_getEvent().startCheckSkipEdge(this); + break; + } + } + switch (*cutName) { + case '0001': + if (dComIfGp_getEvent().checkSkipEdge()) { + dComIfGp_getEvent().onSkipFade(); + setAction(ACT_DEMO_HYRAL_2); + } + evtMng.cutEnd(staffId); + break; + } + if (eventInfo.checkCommandDemoAccrpt() && mEventID != -1 && evtMng.endCheck(mEventID)) { + setAction(ACT_DEMO_HYRAL_2); + } + } } /* 80D54770-80D5486C 0021F0 00FC+00 1/0 0/0 0/0 .text initDemoHyral2__13daTagTWGate_cFv */ -// load order -#ifdef NONMATCHING void daTagTWGate_c::initDemoHyral2() { fopAcM_onSwitch(this, getSwitch()); eventInfo.setArchiveName(l_zevParamTbl[mType].mArcName); - dComIfGp_getEventManager().setObjectArchive(eventInfo.getArchiveName()); - mEventID = dComIfGp_getEventManager().getEventIdx(this, l_zevParamTbl[mType].mTalkEventName, 0xff); - if (dComIfGp_event_runCheck()) { + dComIfG_play_c& play = g_dComIfG_gameInfo.play; + dEvent_manager_c& mng = play.getEvtManager(); + mng.setObjectArchive(eventInfo.getArchiveName()); + mEventID = mng.getEventIdx(this, l_zevParamTbl[mType].mTalkEventName, 0xff); + if (play.getEvent().mEventStatus != 0) { dComIfGp_getEvent().reset(this); fopAcM_orderChangeEventId(this, mEventID, 1, 0xffff); } else { fopAcM_orderOtherEventId(this, mEventID, 0xff, 0xffff, 4, 1); } } -#else -void daTagTWGate_c::initDemoHyral2() { - // NONMATCHING -} -#endif /* 80D5486C-80D54A30 0022EC 01C4+00 1/0 0/0 0/0 .text executeDemoHyral2__13daTagTWGate_cFv */ void daTagTWGate_c::executeDemoHyral2() { @@ -892,22 +953,6 @@ void daTagTWGate_c::executeDemoHyral3() { } } - -/* ############################################################################################## */ -/* 80D55840-80D55844 000094 0004+00 0/1 0/0 0/0 .rodata @4790 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4790 = 250.0f; -COMPILER_STRIP_GATE(0x80D55840, &lit_4790); -#pragma pop - -/* 80D55844-80D55848 000098 0004+00 0/1 0/0 0/0 .rodata @4791 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4791 = -840.0f; -COMPILER_STRIP_GATE(0x80D55844, &lit_4791); -#pragma pop - /* 80D54ECC-80D54F88 00294C 00BC+00 4/4 0/0 0/0 .text initBaseMtx__13daTagTWGate_cFv */ void daTagTWGate_c::initBaseMtx() { cullMtx = mpMorf->getModel()->getBaseTRMtx(); @@ -925,7 +970,6 @@ void daTagTWGate_c::initBaseMtx() { mpMorf->getModel()->setBaseTRMtx(mDoMtx_stack_c::get()); } - /* 80D54F88-80D5502C 002A08 00A4+00 4/4 0/0 0/0 .text downloadModels__13daTagTWGate_cFv */ int daTagTWGate_c::downloadModels() { @@ -1004,7 +1048,6 @@ int daTagTWGate_c::CreateHeap() { } } - int daTagTWGate_c::create() { fopAcM_SetupActor(this, daTagTWGate_c); @@ -1052,7 +1095,6 @@ static int daTagTWGate_Execute(daTagTWGate_c* i_gate) { return i_gate->execute(); } - /* 80D554E4-80D55518 002F64 0034+00 1/0 0/0 0/0 .text daTagTWGate_Draw__FP13daTagTWGate_c */ static int daTagTWGate_Draw(daTagTWGate_c* i_gate) { @@ -1066,25 +1108,28 @@ static int daTagTWGate_IsDelete(daTagTWGate_c*) { /* ############################################################################################## */ /* 80D55C08-80D55C28 -00001 0020+00 1/0 0/0 0/0 .data l_daTagTWGate_Method */ -SECTION_DATA static void* l_daTagTWGate_Method[8] = { - (void*)daTagTWGate_Create__FP10fopAc_ac_c, - (void*)daTagTWGate_Delete__FP13daTagTWGate_c, - (void*)daTagTWGate_Execute__FP13daTagTWGate_c, - (void*)daTagTWGate_IsDelete__FP13daTagTWGate_c, - (void*)daTagTWGate_Draw__FP13daTagTWGate_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, +static actor_method_class l_daTagTWGate_Method = { + (process_method_func)daTagTWGate_Create, (process_method_func)daTagTWGate_Delete, + (process_method_func)daTagTWGate_Execute, (process_method_func)daTagTWGate_IsDelete, + (process_method_func)daTagTWGate_Draw, }; /* 80D55C28-80D55C58 -00001 0030+00 0/0 0/0 1/0 .data g_profile_Tag_TWGate */ -SECTION_DATA extern void* g_profile_Tag_TWGate[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x02C80000, (void*)&g_fpcLf_Method, - (void*)0x000005E4, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x01050000, (void*)&l_daTagTWGate_Method, - (void*)0x00040000, (void*)0x000E0000, +extern actor_process_profile_definition g_profile_Tag_TWGate = { + fpcLy_CURRENT_e, + 7, + fpcPi_CURRENT_e, + PROC_Tag_TWGate, + &g_fpcLf_Method.mBase, + sizeof(daTagTWGate_c), + 0, + 0, + &g_fopAc_Method.base, + 0x105, + &l_daTagTWGate_Method, + 0x40000, + fopAc_ACTOR_e, + fopAc_CULLBOX_CUSTOM_e, }; -/* 80D55848-80D55848 00009C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file +/* 80D55848-80D55848 00009C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/d/actor/d_a_tag_qs.cpp b/src/d/actor/d_a_tag_qs.cpp index 8bef61ab73b..0b7416bc72c 100644 --- a/src/d/actor/d_a_tag_qs.cpp +++ b/src/d/actor/d_a_tag_qs.cpp @@ -1,111 +1,15 @@ // -// Generated By: dol2asm -// Translation Unit: d_a_tag_qs +// d_a_tag_qs // #include "d/actor/d_a_tag_qs.h" +#include "d/actor/d_a_obj_carry.h" +#include "d/actor/d_a_player.h" #include "d/d_cc_d.h" -#include "dol2asm.h" - -// -// Types: -// - -struct fopAc_ac_c { - /* 80018B64 */ fopAc_ac_c(); - /* 80018C8C */ ~fopAc_ac_c(); -}; - -struct daTagQs_c { - /* 80D5DE78 */ ~daTagQs_c(); - /* 80D5DFB0 */ void create(); - /* 80D5E1FC */ void getPower(); - /* 80D5E220 */ void getSafeArea(); - /* 80D5E244 */ void getPower80(); - /* 80D5E268 */ void getCenterPower(); - /* 80D5E28C */ void calcPower(f32, f32); - /* 80D5E9F8 */ void execute(); - /* 80D5EBF8 */ bool draw(); -}; - -struct daItem_c { - /* 80037BE0 */ void startCtrl(); -}; - -struct daItemBase_c { - /* 80037A5C */ void getItemNo(); -}; - -struct dSv_info_c { - /* 80035360 */ void isSwitch(int, int) const; -}; - -// -// Forward References: -// - -extern "C" void __dt__9daTagQs_cFv(); -extern "C" void create__9daTagQs_cFv(); -extern "C" void __dt__10dCcD_GSttsFv(); -extern "C" void __dt__8cM3dGCylFv(); -extern "C" void __dt__8cM3dGAabFv(); -extern "C" void getPower__9daTagQs_cFv(); -extern "C" void getSafeArea__9daTagQs_cFv(); -extern "C" void getPower80__9daTagQs_cFv(); -extern "C" void getCenterPower__9daTagQs_cFv(); -extern "C" void calcPower__9daTagQs_cFff(); -extern "C" static void hikiyose__FP4cXyzP4cXyzP4cXyzf(); -extern "C" static void search__FPvPv(); -extern "C" void execute__9daTagQs_cFv(); -extern "C" bool draw__9daTagQs_cFv(); -extern "C" static void daTagQs_Draw__FP9daTagQs_c(); -extern "C" static void daTagQs_Execute__FP9daTagQs_c(); -extern "C" static bool daTagQs_IsDelete__FP9daTagQs_c(); -extern "C" static void daTagQs_Delete__FP9daTagQs_c(); -extern "C" static void daTagQs_Create__FP10fopAc_ac_c(); -extern "C" void __dt__10cCcD_GSttsFv(); - -// -// External References: -// - -extern "C" void __ct__10fopAc_ac_cFv(); -extern "C" void __dt__10fopAc_ac_cFv(); -extern "C" void fopAc_IsActor__FPv(); -extern "C" void fopAcIt_Judge__FPFPvPv_PvPv(); -extern "C" void fopAcM_delete__FP10fopAc_ac_c(); -extern "C" void dComIfGp_getReverb__Fi(); -extern "C" void dComIfGs_BossLife_public_Set__FSc(); -extern "C" void isSwitch__10dSv_info_cCFii(); -extern "C" void getItemNo__12daItemBase_cFv(); -extern "C" void startCtrl__8daItem_cFv(); -extern "C" void __ct__10dCcD_GSttsFv(); -extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c(); -extern "C" void __ct__12dCcD_GObjInfFv(); -extern "C" void __dt__12dCcD_GObjInfFv(); -extern "C" void Set__8dCcD_CylFRC11dCcD_SrcCyl(); -extern "C" void __mi__4cXyzCFRC3Vec(); -extern "C" void normalize__4cXyzFv(); -extern "C" void cM_atan2s__Fff(); -extern "C" void cM_rndFX__Ff(); -extern "C" void seStartLevel__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void __dl__FPv(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" extern void* g_fopAc_Method[8]; -extern "C" extern void* __vt__8dCcD_Cyl[36]; -extern "C" extern void* __vt__9dCcD_Stts[11]; -extern "C" extern void* __vt__12cCcD_CylAttr[25]; -extern "C" extern void* __vt__14cCcD_ShapeAttr[22]; -extern "C" extern void* __vt__9cCcD_Stts[8]; -extern "C" extern u8 g_dComIfG_gameInfo[122384]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; - -// -// Declarations: -// +#include "d/d_a_item_static.h" +#include "d/d_save.h" +#include "d/d_com_inf_game.h" +#include "SSystem/SComponent/c_math.h" /* ############################################################################################## */ /* 80D5ED44-80D5ED88 000000 0044+00 1/1 0/0 0/0 .data l_cc_cyl_src */ @@ -123,295 +27,244 @@ static dCcD_SrcCyl l_cc_cyl_src = { } // mCyl }; -/* 80D5ED88-80D5EDA8 -00001 0020+00 1/0 0/0 0/0 .data l_daTagQs_Method */ -SECTION_DATA static void* l_daTagQs_Method[8] = { - (void*)daTagQs_Create__FP10fopAc_ac_c, - (void*)daTagQs_Delete__FP9daTagQs_c, - (void*)daTagQs_Execute__FP9daTagQs_c, - (void*)daTagQs_IsDelete__FP9daTagQs_c, - (void*)daTagQs_Draw__FP9daTagQs_c, - (void*)NULL, - (void*)NULL, - (void*)NULL, -}; - -/* 80D5EDA8-80D5EDD8 -00001 0030+00 0/0 0/0 1/0 .data g_profile_TAG_QS */ -SECTION_DATA extern void* g_profile_TAG_QS[12] = { - (void*)0xFFFFFFFD, (void*)0x0007FFFD, - (void*)0x02230000, (void*)&g_fpcLf_Method, - (void*)0x000006F0, (void*)NULL, - (void*)NULL, (void*)&g_fopAc_Method, - (void*)0x01120000, (void*)&l_daTagQs_Method, - (void*)0x00040000, (void*)NULL, -}; - -/* 80D5EDD8-80D5EDE4 000094 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGAab */ -SECTION_DATA extern void* __vt__8cM3dGAab[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGAabFv, -}; - -/* 80D5EDE4-80D5EDF0 0000A0 000C+00 3/3 0/0 0/0 .data __vt__8cM3dGCyl */ -SECTION_DATA extern void* __vt__8cM3dGCyl[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__8cM3dGCylFv, -}; - -/* 80D5EDF0-80D5EDFC 0000AC 000C+00 3/3 0/0 0/0 .data __vt__10cCcD_GStts */ -SECTION_DATA extern void* __vt__10cCcD_GStts[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__10cCcD_GSttsFv, -}; - -/* 80D5EDFC-80D5EE08 0000B8 000C+00 2/2 0/0 0/0 .data __vt__10dCcD_GStts */ -SECTION_DATA extern void* __vt__10dCcD_GStts[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__10dCcD_GSttsFv, -}; - /* 80D5DE78-80D5DFB0 000078 0138+00 1/1 0/0 0/0 .text __dt__9daTagQs_cFv */ -daTagQs_c::~daTagQs_c() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80D5ECE0-80D5ECE4 000000 0004+00 5/5 0/0 0/0 .rodata @3734 */ -SECTION_RODATA static f32 const lit_3734 = 1.0f; -COMPILER_STRIP_GATE(0x80D5ECE0, &lit_3734); - -/* 80D5ECE4-80D5ECE8 000004 0004+00 1/3 0/0 0/0 .rodata @3735 */ -SECTION_RODATA static f32 const lit_3735 = 20.0f; -COMPILER_STRIP_GATE(0x80D5ECE4, &lit_3735); - -/* 80D5ECE8-80D5ECEC 000008 0004+00 0/1 0/0 0/0 .rodata @3736 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3736 = 50.0f; -COMPILER_STRIP_GATE(0x80D5ECE8, &lit_3736); -#pragma pop +daTagQs_c::~daTagQs_c() {} /* 80D5DFB0-80D5E110 0001B0 0160+00 1/1 0/0 0/0 .text create__9daTagQs_cFv */ -void daTagQs_c::create() { - // NONMATCHING +int daTagQs_c::create() { + fopAcM_SetupActor(this, daTagQs_c); + f32 typeScale; + if (getType() == 0) { + typeScale = 1.0f; + } else { + typeScale = 20.0f; + } + field_0x568 = scale.x * 50.0f * typeScale; + field_0x56c = scale.y * 50.0f * typeScale; + field_0x570 = 0; + field_0x574 = 0; + mStts.Init(0xff, 0, this); + mCyl.Set(l_cc_cyl_src); + mCyl.SetStts(&mStts); + return cPhs_COMPLEATE_e; } -/* 80D5E110-80D5E16C 000310 005C+00 1/0 0/0 0/0 .text __dt__10dCcD_GSttsFv */ -// dCcD_GStts::~dCcD_GStts() { -extern "C" void __dt__10dCcD_GSttsFv() { - // NONMATCHING -} - -/* 80D5E16C-80D5E1B4 00036C 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGCylFv */ -// cM3dGCyl::~cM3dGCyl() { -extern "C" void __dt__8cM3dGCylFv() { - // NONMATCHING -} - -/* 80D5E1B4-80D5E1FC 0003B4 0048+00 1/0 0/0 0/0 .text __dt__8cM3dGAabFv */ -// cM3dGAab::~cM3dGAab() { -extern "C" void __dt__8cM3dGAabFv() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 80D5ECEC-80D5ECF0 00000C 0004+00 1/2 0/0 0/0 .rodata @3813 */ -SECTION_RODATA static f32 const lit_3813 = 4.0f; -COMPILER_STRIP_GATE(0x80D5ECEC, &lit_3813); - -/* 80D5ECF0-80D5ECF4 000010 0004+00 1/1 0/0 0/0 .rodata @3814 */ -SECTION_RODATA static f32 const lit_3814 = 5.0f; -COMPILER_STRIP_GATE(0x80D5ECF0, &lit_3814); - /* 80D5E1FC-80D5E220 0003FC 0024+00 2/2 0/0 0/0 .text getPower__9daTagQs_cFv */ -void daTagQs_c::getPower() { - // NONMATCHING +f32 daTagQs_c::getPower() { + return getType() == 0 ? 4.0f : 5.0f; } -/* ############################################################################################## */ -/* 80D5ECF4-80D5ECF8 000014 0004+00 1/2 0/0 0/0 .rodata @3823 */ -SECTION_RODATA static f32 const lit_3823 = 4.0f / 5.0f; -COMPILER_STRIP_GATE(0x80D5ECF4, &lit_3823); - -/* 80D5ECF8-80D5ECFC 000018 0004+00 1/2 0/0 0/0 .rodata @3824 */ -SECTION_RODATA static f32 const lit_3824 = 0.5f; -COMPILER_STRIP_GATE(0x80D5ECF8, &lit_3824); - /* 80D5E220-80D5E244 000420 0024+00 1/1 0/0 0/0 .text getSafeArea__9daTagQs_cFv */ -void daTagQs_c::getSafeArea() { - // NONMATCHING +f32 daTagQs_c::getSafeArea() { + return getType() == 0 ? 0.8f : 0.5f; } -/* ############################################################################################## */ -/* 80D5ECFC-80D5ED00 00001C 0004+00 1/1 0/0 0/0 .rodata @3833 */ -SECTION_RODATA static f32 const lit_3833 = 6.0f; -COMPILER_STRIP_GATE(0x80D5ECFC, &lit_3833); - -/* 80D5ED00-80D5ED04 000020 0004+00 1/1 0/0 0/0 .rodata @3834 */ -SECTION_RODATA static f32 const lit_3834 = 10.0f; -COMPILER_STRIP_GATE(0x80D5ED00, &lit_3834); - /* 80D5E244-80D5E268 000444 0024+00 1/1 0/0 0/0 .text getPower80__9daTagQs_cFv */ -void daTagQs_c::getPower80() { - // NONMATCHING +f32 daTagQs_c::getPower80() { + return getType() == 0 ? 6.0f : 10.0f; } -/* ############################################################################################## */ -/* 80D5ED04-80D5ED08 000024 0004+00 1/1 0/0 0/0 .rodata @3843 */ -SECTION_RODATA static f32 const lit_3843 = 12.0f; -COMPILER_STRIP_GATE(0x80D5ED04, &lit_3843); - /* 80D5E268-80D5E28C 000468 0024+00 1/1 0/0 0/0 .text getCenterPower__9daTagQs_cFv */ -void daTagQs_c::getCenterPower() { - // NONMATCHING +f32 daTagQs_c::getCenterPower() { + return getType() == 0 ? 12.0f : 20.0f; } -/* ############################################################################################## */ -/* 80D5ED08-80D5ED10 000028 0004+04 0/2 0/0 0/0 .rodata @3863 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3863[1 + 1 /* padding */] = { - 30.0f, - /* padding */ - 0.0f, -}; -COMPILER_STRIP_GATE(0x80D5ED08, &lit_3863); -#pragma pop - -/* 80D5ED10-80D5ED18 000030 0008+00 0/2 0/0 0/0 .rodata @3865 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3865[8] = { - 0x43, 0x30, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80D5ED10, &lit_3865); -#pragma pop - /* 80D5E28C-80D5E3F8 00048C 016C+00 1/1 0/0 0/0 .text calcPower__9daTagQs_cFff */ -void daTagQs_c::calcPower(f32 param_0, f32 param_1) { - // NONMATCHING +f32 daTagQs_c::calcPower(f32 param_1, f32 param_2) { + f32 dVar12 = 1.0f; + if (getSwNo() != 0xff) { + if (fopAcM_isSwitch(this, getSwNo())) { + dVar12 = field_0x570 / 30.0f; + } else { + dVar12 = (30 - field_0x574) / 30.0f; + } + } + if (param_2 > (param_1 * 0.8f)) { + return dVar12 * getPower(); + } + + return dVar12 * + ((1.0f - (param_2 / (param_1 * getSafeArea()))) * (getCenterPower() - getPower80()) + + getPower80()); } -/* ############################################################################################## */ -/* 80D5ED18-80D5ED1C 000038 0004+00 0/2 0/0 0/0 .rodata @3934 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3934[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; -COMPILER_STRIP_GATE(0x80D5ED18, &lit_3934); -#pragma pop - -/* 80D5ED1C-80D5ED20 00003C 0004+00 0/2 0/0 0/0 .rodata @3935 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_3935 = 100.0f; -COMPILER_STRIP_GATE(0x80D5ED1C, &lit_3935); -#pragma pop - -/* 80D5ED20-80D5ED28 000040 0008+00 0/2 0/0 0/0 .rodata @3936 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3936[8] = { - 0x3F, 0xE0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80D5ED20, &lit_3936); -#pragma pop - -/* 80D5ED28-80D5ED30 000048 0008+00 0/2 0/0 0/0 .rodata @3937 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3937[8] = { - 0x40, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80D5ED28, &lit_3937); -#pragma pop - -/* 80D5ED30-80D5ED38 000050 0008+00 0/2 0/0 0/0 .rodata @3938 */ -#pragma push -#pragma force_active on -SECTION_RODATA static u8 const lit_3938[8] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; -COMPILER_STRIP_GATE(0x80D5ED30, &lit_3938); -#pragma pop - /* 80D5E3F8-80D5E64C 0005F8 0254+00 1/1 0/0 0/0 .text hikiyose__FP4cXyzP4cXyzP4cXyzf */ -static void hikiyose(cXyz* param_0, cXyz* param_1, cXyz* param_2, f32 param_3) { - // NONMATCHING +static int hikiyose(cXyz* param_1, cXyz* param_2, cXyz* param_3, f32 param_4) { + cXyz cStack_44 = *param_1 - *param_2; + cXyz cStack_50(cStack_44); + cStack_50.y = 0.0f; + f32 dVar6 = fabsf(cStack_50.getSquareMag()); + if (dVar6 < 4.0f) { + param_2->x = param_1->x + cM_rndFX(1.0f); + param_2->y -= 0.5f; + param_2->z = param_1->z + cM_rndFX(1.0f); + param_3->y = param_2->y; + if (param_2->y < param_1->y - 100.0f) { + return 2; + } + return 1; + } else if (cStack_44.abs() < param_4) { + param_2->x = param_1->x; + param_2->y = param_1->y; + param_2->z = param_1->z; + } else { + cStack_44.normalize(); + cStack_44 *= param_4; + *param_2 += cStack_44; + } + return 0; } -/* ############################################################################################## */ -/* 80D5ED38-80D5ED3C 000058 0004+00 0/1 0/0 0/0 .rodata @4042 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4042 = 110.0f; -COMPILER_STRIP_GATE(0x80D5ED38, &lit_4042); -#pragma pop - -/* 80D5ED3C-80D5ED40 00005C 0004+00 0/1 0/0 0/0 .rodata @4043 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4043 = 9.0f / 10.0f; -COMPILER_STRIP_GATE(0x80D5ED3C, &lit_4043); -#pragma pop - /* 80D5E64C-80D5E9F8 00084C 03AC+00 1/1 0/0 0/0 .text search__FPvPv */ -static void search(void* param_0, void* param_1) { - // NONMATCHING +static void* search(void* param_1, void* param_2) { + if (param_1 == NULL || !fopAcM_IsActor(param_1)) { + return NULL; + } + fopAc_ac_c* actor1 = (fopAc_ac_c*) param_1; + daTagQs_c* actor2 = (daTagQs_c*) param_2; + f32 dVar9 = actor2->current.pos.absXZ(actor1->current.pos); + if (dVar9 > actor2->field_0x568) { + return NULL; + } + if (actor2->current.pos.y - 110.0f > actor1->current.pos.y || + actor2->current.pos.y + actor2->field_0x56c < actor1->current.pos.y) + { + return NULL; + } + if (actor1->current.pos.y > + actor2->current.pos.y + (actor2->field_0x56c * dVar9) / (actor2->field_0x568 * 0.9f) + 20.0f) + { + return NULL; + } + if (fopAcM_GetProfName(param_1) == PROC_ITEM) { + daItem_c* item = (daItem_c*)param_1; + item->getItemNo(); + if (item->getItemNo() <= 3) { + int iVar3 = hikiyose(&actor2->current.pos, &actor1->current.pos, &actor1->old.pos, + actor2->calcPower(actor2->field_0x568, dVar9)); + if (iVar3 == 1) { + item->startCtrl(); + } else if (iVar3 == 2) { + fopAcM_delete(actor1); + } + } + return NULL; + } + if (fopAcM_GetProfName(param_1) == PROC_Obj_Carry) { + daObjCarry_c* carry = (daObjCarry_c*)param_1; + if (carry->getType() == 7 || carry->getType() == 1 || carry->getType() == 5) { + int iVar3 = hikiyose(&actor2->current.pos, &carry->current.pos, &carry->old.pos, actor2->calcPower(actor2->field_0x568, dVar9)); + if (iVar3 == 1) { + carry->startCtrl(); + } else if (iVar3 == 2) { + fopAcM_delete(carry); + } + } + return NULL; + } + if (param_1 == daPy_getPlayerActorClass()) { + daPy_py_c* player = daPy_getPlayerActorClass(); + cXyz local_58 = actor2->current.pos - player->current.pos; + if (local_58.getSquareMag() >= actor2->getPower()) { + s16 sVar6 = cM_atan2s(local_58.x, local_58.z); + if (!player->checkPlayerFly()) { + player->setOutPower(actor2->calcPower(actor2->field_0x568, dVar9), sVar6, 0); + } + } + return NULL; + } + + return NULL; } -/* ############################################################################################## */ -/* 80D5ED40-80D5ED44 000060 0004+00 0/1 0/0 0/0 .rodata @4090 */ -#pragma push -#pragma force_active on -SECTION_RODATA static f32 const lit_4090 = -1.0f; -COMPILER_STRIP_GATE(0x80D5ED40, &lit_4090); -#pragma pop - /* 80D5E9F8-80D5EBF8 000BF8 0200+00 1/1 0/0 0/0 .text execute__9daTagQs_cFv */ -void daTagQs_c::execute() { - // NONMATCHING +int daTagQs_c::execute() { + fopAcM_Search(search, this); + if (getSwNo() != 0xff) { + int bossLife; + if (fopAcM_isSwitch(this, getSwNo())) { + field_0x570++; + if (field_0x570 > 30) { + field_0x570 = 30; + } + field_0x574 = 0; + bossLife = (field_0x570 * 100.0f) / 30.0f; + if (getType() == 0) { + Z2GetAudioMgr()->seStartLevel(Z2SE_ENV_QUICKSAND_LOOP, ¤t.pos, 0, + dComIfGp_getReverb(fopAcM_GetRoomNo(this)), 1.0f, + 1.0f, -1.0f, -1.0f, 0); + } + } else { + field_0x574++; + if (field_0x574 > 30) { + field_0x574 = 30; + } + field_0x570 = 0; + bossLife = 100.0f - field_0x574 * 100.0f / 30.0f; + } + dComIfGs_BossLife_public_Set(bossLife); + } else { + if (getType() == 0) { + Z2GetAudioMgr()->seStartLevel(Z2SE_ENV_QUICKSAND_LOOP, ¤t.pos, 0, + dComIfGp_getReverb(fopAcM_GetRoomNo(this)), 1.0f, 1.0f, + -1.0f, -1.0f, 0); + } + } + return 1; } /* 80D5EBF8-80D5EC00 000DF8 0008+00 1/1 0/0 0/0 .text draw__9daTagQs_cFv */ -bool daTagQs_c::draw() { - return true; +int daTagQs_c::draw() { + return 1; } /* 80D5EC00-80D5EC20 000E00 0020+00 1/0 0/0 0/0 .text daTagQs_Draw__FP9daTagQs_c */ -static void daTagQs_Draw(daTagQs_c* param_0) { - // NONMATCHING +static int daTagQs_Draw(daTagQs_c* i_this) { + return i_this->draw(); } /* 80D5EC20-80D5EC40 000E20 0020+00 1/0 0/0 0/0 .text daTagQs_Execute__FP9daTagQs_c */ -static void daTagQs_Execute(daTagQs_c* param_0) { - // NONMATCHING +static int daTagQs_Execute(daTagQs_c* i_this) { + return i_this->execute(); } /* 80D5EC40-80D5EC48 000E40 0008+00 1/0 0/0 0/0 .text daTagQs_IsDelete__FP9daTagQs_c */ -static bool daTagQs_IsDelete(daTagQs_c* param_0) { - return true; +static int daTagQs_IsDelete(daTagQs_c* i_this) { + return 1; } /* 80D5EC48-80D5EC70 000E48 0028+00 1/0 0/0 0/0 .text daTagQs_Delete__FP9daTagQs_c */ -static void daTagQs_Delete(daTagQs_c* param_0) { - // NONMATCHING +static int daTagQs_Delete(daTagQs_c* i_this) { + i_this->~daTagQs_c(); + return 1; } /* 80D5EC70-80D5EC90 000E70 0020+00 1/0 0/0 0/0 .text daTagQs_Create__FP10fopAc_ac_c */ -static void daTagQs_Create(fopAc_ac_c* param_0) { - // NONMATCHING +static int daTagQs_Create(fopAc_ac_c* i_this) { + return static_cast(i_this)->create(); } -/* 80D5EC90-80D5ECD8 000E90 0048+00 1/0 0/0 0/0 .text __dt__10cCcD_GSttsFv */ -// cCcD_GStts::~cCcD_GStts() { -extern "C" void __dt__10cCcD_GSttsFv() { - // NONMATCHING -} \ No newline at end of file +/* 80D5ED88-80D5EDA8 -00001 0020+00 1/0 0/0 0/0 .data l_daTagQs_Method */ +static actor_method_class l_daTagQs_Method = { + (process_method_func)daTagQs_Create, (process_method_func)daTagQs_Delete, + (process_method_func)daTagQs_Execute, (process_method_func)daTagQs_IsDelete, + (process_method_func)daTagQs_Draw, +}; + +/* 80D5EDA8-80D5EDD8 -00001 0030+00 0/0 0/0 1/0 .data g_profile_TAG_QS */ +extern actor_process_profile_definition g_profile_TAG_QS = { + fpcLy_CURRENT_e, + 7, + fpcPi_CURRENT_e, + PROC_TAG_QS, + &g_fpcLf_Method.mBase, + sizeof(daTagQs_c), + 0, + 0, + &g_fopAc_Method.base, + 274, + &l_daTagQs_Method, + 0x40000, + fopAc_ACTOR_e, + fopAc_CULLBOX_0_e, +}; diff --git a/src/d/d_menu_collect.cpp b/src/d/d_menu_collect.cpp index 57bc52ac287..61d8f4106e5 100644 --- a/src/d/d_menu_collect.cpp +++ b/src/d/d_menu_collect.cpp @@ -20,6 +20,8 @@ #include "d/d_msg_object.h" #include "d/d_msg_string.h" #include "d/d_pane_class.h" +#include "d/d_item.h" +#include "d/d_lib.h" #include "dol2asm.h" #include "dolphin/os.h" #include "dolphin/types.h" @@ -389,69 +391,6 @@ SECTION_DATA static void* brk_name_7688[4] = { (void*)(((char*)&d_menu_d_menu_collect__stringBase0) + 0x1B2), }; -/* 803BC75C-803BC768 01987C 000C+00 2/2 0/0 0/0 .data __vt__15dMenu_Collect_c */ -SECTION_DATA extern void* __vt__15dMenu_Collect_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__15dMenu_Collect_cFv, -}; - -/* 803BC768-803BC790 019888 0010+18 2/2 0/0 0/0 .data __vt__20dMenu_Collect2DTop_c */ -SECTION_DATA extern void* __vt__20dMenu_Collect2DTop_c[4 + 6 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)draw__20dMenu_Collect2DTop_cFv, - (void*)__dt__20dMenu_Collect2DTop_cFv, - /* padding */ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, -}; - -/* 803BC790-803BC7C4 0198B0 000C+28 2/2 0/0 0/0 .data __vt__17dMenu_Collect3D_c */ -SECTION_DATA extern void* __vt__17dMenu_Collect3D_c[3 + 10 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)__dt__17dMenu_Collect3D_cFv, - /* padding */ - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, - NULL, -}; - -/* 803BC7C4-803BC7E0 0198E4 0010+0C 2/2 0/0 0/0 .data __vt__17dMenu_Collect2D_c */ -SECTION_DATA extern void* __vt__17dMenu_Collect2D_c[4 + 3 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)draw__17dMenu_Collect2D_cFv, - (void*)__dt__17dMenu_Collect2D_cFv, - /* padding */ - NULL, - NULL, - NULL, -}; - -/* 80453F28-80453F2C 002528 0004+00 14/14 0/0 0/0 .sdata2 @4481 */ -SECTION_SDATA2 static u8 lit_4481[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - -/* 80453F2C-80453F30 00252C 0004+00 15/15 0/0 0/0 .sdata2 @4482 */ -SECTION_SDATA2 static f32 lit_4482 = 1.0f; - /* 801AFD48-801AFE34 1AA688 00EC+00 1/1 0/0 0/0 .text * __ct__17dMenu_Collect2D_cFP10JKRExpHeapP9STControlP10CSTControl */ dMenu_Collect2D_c::dMenu_Collect2D_c(JKRExpHeap* param_0, STControl* param_1, CSTControl* param_2) { @@ -507,7 +446,7 @@ void dMenu_Collect2D_c::_create() { mpBlackTex = new J2DPicture(image); mpBlackTex->setBlackWhite(JUtility::TColor(0, 0, 0, 0), JUtility::TColor(0, 0, 0, 255)); mpBlackTex->setAlpha(0); - mpDrawCursor = new dSelect_cursor_c(2, lit_4482, NULL); + mpDrawCursor = new dSelect_cursor_c(2, 1.0f, NULL); mpString = new dMsgString_c(); mpSaveScrn = NULL; mpOptionScrn = NULL; @@ -723,15 +662,7 @@ static const u64 text_b_tag_4778[5] = { }; #pragma pop -/* 80453F30-80453F34 002530 0004+00 2/2 0/0 0/0 .sdata2 @5173 */ -SECTION_SDATA2 static f32 lit_5173 = 0.5f; - -/* 80453F34-80453F38 002534 0004+00 2/2 0/0 0/0 .sdata2 @5174 */ -SECTION_SDATA2 static f32 lit_5174 = -1000.0f; - /* 801B074C-801B1C3C 1AB08C 14F0+00 1/1 0/0 0/0 .text screenSet__17dMenu_Collect2D_cFv */ -// issues with addi instructions -#ifdef NONMATCHING void dMenu_Collect2D_c::screenSet() { static_cast(mpScreen->search('f_t00'))->setFont(mDoExt_getRubyFont()); static_cast(mpScreen->search('f_t00'))->setString(0x20, ""); @@ -748,8 +679,8 @@ void dMenu_Collect2D_c::screenSet() { 0x60, static_cast(mpScreen->search(ftext_sv[i]))->getStringPtr(), NULL); dMeter2Info_getStringKanji( 0x5F, static_cast(mpScreen->search(ftext_op[i]))->getStringPtr(), NULL); - mpScreen->search(ftext_sv[i])->hide(); - mpScreen->search(ftext_op[i])->hide(); + mpScreen->search(text_sv[i])->hide(); + mpScreen->search(text_op[i])->hide(); } for (int i = 0; i < 5; i++) { @@ -1005,8 +936,8 @@ void dMenu_Collect2D_c::screenSet() { field_0x1d8[0][3] = field_0x184[0][3] + 0x100; field_0x1d8[1][3] = field_0x184[1][3] + 0x100; field_0x1d8[2][3] = 0x5b9; - field_0x1d8[2][3] = 0x5b1; - field_0x1d8[3][3] = 0; + field_0x1d8[3][3] = 0x5b1; + field_0x1d8[4][3] = 0; field_0x1d8[5][3] = 0; field_0x1d8[6][3] = 0; field_0x1d8[0][4] = dMsgObject_getSmellTypeMessageID() + 0x100; @@ -1103,11 +1034,6 @@ void dMenu_Collect2D_c::screenSet() { setHeartPiece(); setPohMaxNum(dComIfGs_getPohSpiritNum()); } -#else -void dMenu_Collect2D_c::screenSet() { - // NONMATCHING -} -#endif /* 801B1C3C-801B1CE0 1AC57C 00A4+00 1/1 0/0 0/0 .text animationSet__17dMenu_Collect2D_cFv */ @@ -1122,11 +1048,6 @@ void dMenu_Collect2D_c::animationSet() { field_0x3c = 0.0f; } - -/* ############################################################################################## */ -/* 80453F38-80453F40 002538 0008+00 2/2 0/0 0/0 .sdata2 @5199 */ -SECTION_SDATA2 static f64 lit_5199 = 4503601774854144.0 /* cast s32 to float */; - /* 801B1CE0-801B1EDC 1AC620 01FC+00 1/1 0/0 0/0 .text * btkAnimeLoop0__17dMenu_Collect2D_cFP19J2DAnmTextureSRTKey */ void dMenu_Collect2D_c::btkAnimeLoop0(J2DAnmTextureSRTKey* i_SRTKey) { @@ -1147,17 +1068,6 @@ void dMenu_Collect2D_c::btkAnimeLoop0(J2DAnmTextureSRTKey* i_SRTKey) { static_cast(mpScreen->search('modelbg5'))->setAnimation(i_SRTKey); } - -/* ############################################################################################## */ -/* 80453F40-80453F44 002540 0004+00 1/1 0/0 0/0 .sdata2 @5268 */ -SECTION_SDATA2 static f32 lit_5268 = 150.0f; - -/* 80453F44-80453F48 002544 0004+00 1/1 0/0 0/0 .sdata2 @5269 */ -SECTION_SDATA2 static f32 lit_5269 = 1.0f / 5.0f; - -/* 80453F48-80453F50 002548 0008+00 1/1 0/0 0/0 .sdata2 @5271 */ -SECTION_SDATA2 static f64 lit_5271 = 4503599627370496.0 /* cast u32 to float */; - /* 801B1EDC-801B1FAC 1AC81C 00D0+00 1/1 0/0 0/0 .text setBackAlpha__17dMenu_Collect2D_cFv */ void dMenu_Collect2D_c::setBackAlpha() { @@ -1258,8 +1168,225 @@ SECTION_SDATA2 static f32 lit_5531 = -1.0f; /* 801B1FAC-801B27EC 1AC8EC 0840+00 1/1 0/0 0/0 .text cursorMove__17dMenu_Collect2D_cFv */ +// NONMATCHING +// goto logic is wrong void dMenu_Collect2D_c::cursorMove() { - // NONMATCHING + u8 dVar1 = mCursorX; + u8 dVar2 = mCursorY; + mpStick->checkTrigger(); + if (mpStick->checkRightTrigger()) { + if (mCursorX < 6) { + if (mCursorX == 0 && mCursorY == 0 && + field_0x259 >= 3 && field_0x25a < 3) + { + mCursorX = field_0x259; + mCursorY = field_0x25a; + } else { + do { + mCursorX++; + if (mCursorX == 6 && mCursorY < 3) { + if (field_0x22d[6][0] != 0) { + if (getItemTag(6, 0, false) && field_0x22d[6][0] != 0) { + mCursorX = 6; + mCursorY = 0; + } + } else { + mCursorX = dVar1; + mCursorY = dVar2; + goto LAB_802ba744; + } + } + if (dVar1 == 4 && dVar2 == 1) { + mCursorX = 5; + mCursorY = 0; + goto LAB_802ba744; + } + if (getItemTag(mCursorX, mCursorY, true)) { + goto LAB_802ba744; + } + } while (mCursorX < 6); + mCursorX = dVar1; + } + } + } else { + if (mpStick->checkLeftTrigger() && mCursorX != 0) { + if (mCursorX == 6 && + mCursorY == 0 && field_0x259 >= 3 && + field_0x25a < 3) + { + mCursorX = field_0x259; + mCursorY = field_0x25a; + } else if (dVar1 == 5 && dVar2 == 0 && + field_0x259 == 4 && + field_0x25a == 1) + { + mCursorX = field_0x259; + mCursorY = field_0x25a; + } else { + do { + mCursorX--; + if (getItemTag(mCursorX, mCursorY, true)) { + goto LAB_802ba744; + } + } while (mCursorX != 0); + mCursorX = dVar1; + } + } + } +LAB_802ba744: + if (mpStick->checkUpTrigger()) { + if (mCursorY != 0) { + bool bVar3; + restart_loop: + do { + mCursorY--; + if (mCursorY == 2) { + u8 local_3c[9] = {3,3,4,3,4,5,4,5,5}; + u8 local_48[9] = {2,1,2,0,1,2,0,1,0}; + for (int i = 0; i < 9; i++) { + if (getItemTag(local_3c[i], local_48[i], true)) { + mCursorX = local_3c[i]; + mCursorY = local_48[i]; + break; + } + } + } + if (dVar2 == 5) { + + if (dVar1 == 0) { + if (field_0x25a < 5) { + mCursorX = field_0x259; + mCursorY = field_0x25a; + break; + } + bVar3 = false; + for (int i = 0; i < 4; i++) { + if (getItemTag(i, mCursorY, true)) { + mCursorX = i; + bVar3 = true; + break; + } + } + if (mCursorY == 0) { + mCursorX = dVar1; + mCursorY = dVar2; + bVar3 = true; + } + if (bVar3) { + break; + } + goto restart_loop; + } + if (field_0x25a < 5) { + mCursorX = field_0x259; + mCursorY = field_0x25a; + break; + } + bVar3 = false; + for (int i = 3; i < 7; i++) { + if (getItemTag(i, mCursorY, true)) { + mCursorX = i; + bVar3 = true; + break; + } + } + if (mCursorY == 0) { + mCursorX = dVar1; + mCursorY = dVar2; + bVar3 = true; + } + } + } while (!bVar3); + if (!getItemTag(mCursorX, mCursorY, true)) { + if (mCursorY != 0) { + goto restart_loop; + } + } + mCursorY = dVar2; + } + } else { + if (mpStick->checkDownTrigger()) { + if (mCursorY < 4) { + do { + mCursorY++; + if (mCursorY == 3) { + u8 local_50[8] = {3, 2, 3, 1, 2, 0, 1, 0}; + u8 local_58[8] = {3, 3, 4, 3, 4, 3, 4, 4}; + for (int i = 0; i < 8; i++) { + if (getItemTag(local_50[i], local_58[i], true)) { + mCursorX = local_50[i]; + mCursorY = local_58[i]; + break; + } + } + } + if (getItemTag(mCursorX, mCursorY, true)) { + goto LAB_802bab54; + } + } while (mCursorY < 4); + mCursorY = 5; + if (mCursorX <= 2) { + mCursorX = 0; + } else { + mCursorX = 1; + } + } else if (mCursorY == 4) { + mCursorY = 5; + if (mCursorX <= 3) { + mCursorX = 0; + } else { + mCursorX = 1; + } + } + } + } +LAB_802bab54: + if (mCursorX != dVar1 || mCursorY != dVar2) { + field_0x259 = dVar1; + field_0x25a = dVar2; + if ((mCursorX == 1 && mCursorY == 5) || (mCursorX == 0 && mCursorY == 5)) { + Z2GetAudioMgr()->seStart(Z2SE_SY_CURSOR_OPTION, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, + 0); + } else { + Z2GetAudioMgr()->seStart(Z2SE_SY_CURSOR_ITEM, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); + } + cursorPosSet(); + setItemNameString(mCursorX, mCursorY); + } + if (field_0x44[0] != g_drawHIO.mCollectScreen.mUnselectItemScale || + field_0x44[1] != g_drawHIO.mCollectScreen.mSelectItemScale || + field_0x4c[0] != g_drawHIO.mCollectScreen.mUnselectSaveOptionScale || + field_0x4c[1] != g_drawHIO.mCollectScreen.mSelectSaveOptionScale) + { + field_0x44[0] = g_drawHIO.mCollectScreen.mUnselectItemScale; + field_0x44[1] = g_drawHIO.mCollectScreen.mSelectItemScale; + field_0x4c[0] = g_drawHIO.mCollectScreen.mUnselectSaveOptionScale; + field_0x4c[1] = g_drawHIO.mCollectScreen.mSelectSaveOptionScale; + for (int i = 0; i < 7; i++) { + for (int j = 0; j < 6; j++) { + if (getItemTag(i, j, true)) { + J2DPane* pane = mpScreen->search(getItemTag(i, j, true)); + if ((i != 0 || j != 0) && (i != 6 || j != 0)) { + if (j == 5) { + if (i == mCursorX && j == mCursorY) { + pane->scale(g_drawHIO.mCollectScreen.mSelectSaveOptionScale, + g_drawHIO.mCollectScreen.mSelectSaveOptionScale); + } else { + pane->scale(g_drawHIO.mCollectScreen.mUnselectSaveOptionScale, + g_drawHIO.mCollectScreen.mUnselectSaveOptionScale); + } + } else if (i == mCursorX && j == mCursorY) { + pane->scale(g_drawHIO.mCollectScreen.mSelectItemScale, + g_drawHIO.mCollectScreen.mSelectItemScale); + } else { + pane->scale(g_drawHIO.mCollectScreen.mUnselectItemScale, + g_drawHIO.mCollectScreen.mUnselectItemScale); + } + } + } + } + } + } } /* ############################################################################################## */ @@ -2766,19 +2893,6 @@ void dMenu_Collect3D_c::setJ3D(const char* param_0, const char* param_1, const c } #endif -/* ############################################################################################## */ -/* 80453FB4-80453FB8 0025B4 0004+00 1/1 0/0 0/0 .sdata2 @7505 */ -SECTION_SDATA2 static f32 lit_7505 = -1.0f / 10.0f; - -/* 80453FB8-80453FBC 0025B8 0004+00 1/1 0/0 0/0 .sdata2 @7506 */ -SECTION_SDATA2 static f32 lit_7506 = -3.0f / 5.0f; - -/* 80453FBC-80453FC0 0025BC 0004+00 1/1 0/0 0/0 .sdata2 @7507 */ -SECTION_SDATA2 static f32 lit_7507 = -2.0f / 5.0f; - -/* 80453FC0-80453FC4 0025C0 0004+00 1/1 0/0 0/0 .sdata2 @7508 */ -SECTION_SDATA2 static f32 lit_7508 = -3.0f / 10.0f; - /* 801B6D30-801B6E70 1B1670 0140+00 2/2 0/0 0/0 .text set_mtx__17dMenu_Collect3D_cFv */ void dMenu_Collect3D_c::set_mtx() { f32 scale = 0.0f; @@ -3154,4 +3268,4 @@ dMenu_Collect2DTop_c::~dMenu_Collect2DTop_c() { // void dMenu_Collect2D_c::draw() { extern "C" void draw__17dMenu_Collect2D_cFv() { // NONMATCHING -} \ No newline at end of file +} diff --git a/src/d/d_menu_option.cpp b/src/d/d_menu_option.cpp index d09dce35406..05b5a096ec9 100644 --- a/src/d/d_menu_option.cpp +++ b/src/d/d_menu_option.cpp @@ -1,10 +1,10 @@ // -// Generated By: dol2asm -// Translation Unit: d/d_menu_option +// Option Menu // #include "d/d_menu_option.h" #include "JSystem/JKernel/JKRMemArchive.h" +#include "JSystem/J2DGraph/J2DAnmLoader.h" #include "d/d_com_inf_game.h" #include "d/d_lib.h" #include "d/d_select_cursor.h" @@ -15,200 +15,19 @@ #include "d/d_meter_HIO.h" #include "d/d_meter_haihai.h" #include "d/d_msg_string.h" -#include "dol2asm.h" #include "dolphin/os/OSRtc.h" #include "dolphin/types.h" #include "f_op/f_op_msg_mng.h" #include "m_Do/m_Do_controller_pad.h" #include "m_Do/m_Do_graphic.h" #include "string.h" -#include "JSystem/J2DGraph/J2DAnmLoader.h" - -// -// Forward References: -// - -extern "C" void __ct__14dMenu_Option_cFP10JKRArchiveP9STControl(); -extern "C" void __dt__14dMenu_Option_cFv(); -extern "C" void _create__14dMenu_Option_cFv(); -extern "C" void _delete__14dMenu_Option_cFv(); -extern "C" void _move__14dMenu_Option_cFv(); -extern "C" void _draw__14dMenu_Option_cFv(); -extern "C" void drawHaihai__14dMenu_Option_cFv(); -extern "C" void isSync__14dMenu_Option_cFv(); -extern "C" void checkLeftTrigger__14dMenu_Option_cFv(); -extern "C" void checkRightTrigger__14dMenu_Option_cFv(); -extern "C" void setAnimation__14dMenu_Option_cFv(); -extern "C" void _open__14dMenu_Option_cFv(); -extern "C" void _close__14dMenu_Option_cFv(); -extern "C" void atten_init__14dMenu_Option_cFv(); -extern "C" void atten_move__14dMenu_Option_cFv(); -extern "C" void vib_init__14dMenu_Option_cFv(); -extern "C" void vib_move__14dMenu_Option_cFv(); -extern "C" void sound_init__14dMenu_Option_cFv(); -extern "C" void sound_move__14dMenu_Option_cFv(); -extern "C" void change_init__14dMenu_Option_cFv(); -extern "C" void change_move__14dMenu_Option_cFv(); -extern "C" void confirm_open_init__14dMenu_Option_cFv(); -extern "C" void confirm_open_move__14dMenu_Option_cFv(); -extern "C" void confirm_move_init__14dMenu_Option_cFv(); -extern "C" void confirm_move_move__14dMenu_Option_cFv(); -extern "C" void confirm_select_init__14dMenu_Option_cFv(); -extern "C" void confirm_select_move__14dMenu_Option_cFv(); -extern "C" void confirm_close_init__14dMenu_Option_cFv(); -extern "C" void confirm_close_move__14dMenu_Option_cFv(); -extern "C" void tv_open1_move__14dMenu_Option_cFv(); -extern "C" void tv_open2_move__14dMenu_Option_cFv(); -extern "C" void tv_move_move__14dMenu_Option_cFv(); -extern "C" void tv_close1_move__14dMenu_Option_cFv(); -extern "C" void tv_close2_move__14dMenu_Option_cFv(); -extern "C" void calibration_open1_move__14dMenu_Option_cFv(); -extern "C" void calibration_open2_move__14dMenu_Option_cFv(); -extern "C" void calibration_move_move__14dMenu_Option_cFv(); -extern "C" void calibration_close1_move__14dMenu_Option_cFv(); -extern "C" void calibration_close2_move__14dMenu_Option_cFv(); -extern "C" void menuVisible__14dMenu_Option_cFv(); -extern "C" void menuShow__14dMenu_Option_cFi(); -extern "C" void menuHide__14dMenu_Option_cFi(); -extern "C" void screenSet__14dMenu_Option_cFv(); -extern "C" void setSoundMode__14dMenu_Option_cFUl(); -extern "C" void setAttenString__14dMenu_Option_cFv(); -extern "C" void setVibString__14dMenu_Option_cFv(); -extern "C" void setSoundString__14dMenu_Option_cFv(); -extern "C" void setCursorPos__14dMenu_Option_cFUc(); -extern "C" void setSelectColor__14dMenu_Option_cFUcb(); -extern "C" void getSelectType__14dMenu_Option_cFv(); -extern "C" void changeBarColor__14dMenu_Option_cFb(); -extern "C" void setHIO__14dMenu_Option_cFb(); -extern "C" void cursorAnime__14dMenu_Option_cFf(); -extern "C" void setZButtonString__14dMenu_Option_cFUs(); -extern "C" void changeTVCheck__14dMenu_Option_cFv(); -extern "C" void setAButtonString__14dMenu_Option_cFUs(); -extern "C" void setBButtonString__14dMenu_Option_cFUs(); -extern "C" void isRumbleSupported__14dMenu_Option_cFv(); -extern "C" bool dpdMenuMove__14dMenu_Option_cFv(); -extern "C" void paneResize__14dMenu_Option_cFUx(); -extern "C" void initialize__14dMenu_Option_cFv(); -extern "C" void yesnoMenuMoveAnmInitSet__14dMenu_Option_cFii(); -extern "C" void yesnoMenuMoveAnm__14dMenu_Option_cFv(); -extern "C" void yesnoSelectMoveAnm__14dMenu_Option_cFv(); -extern "C" void yesnoCursorShow__14dMenu_Option_cFv(); -extern "C" void yesNoSelectStart__14dMenu_Option_cFv(); -extern "C" void yesnoSelectAnmSet__14dMenu_Option_cFv(); -extern "C" void yesnoCancelAnmSet__14dMenu_Option_cFv(); -extern "C" void yesnoWakuAlpahAnmInit__14dMenu_Option_cFUcUcUcUc(); -extern "C" void yesnoWakuAlpahAnm__14dMenu_Option_cFUc(); -extern "C" void draw__14dMenu_Option_cFv(); -extern "C" void __sinit_d_menu_option_cpp(); -extern "C" extern char const* const d_menu_d_menu_option__stringBase0; - -// -// External References: -// - -extern "C" void mDoExt_getMesgFont__Fv(); -extern "C" void mDoExt_getRubyFont__Fv(); -extern "C" void create__24mDoDvdThd_mountArchive_cFPCcUcP7JKRHeap(); -extern "C" void fopMsgM_messageGet__FPcUl(); -extern "C" void setNowVibration__14dComIfG_play_cFUc(); -extern "C" void getNowVibration__14dComIfG_play_cFv(); -extern "C" void checkTrigger__9STControlFv(); -extern "C" void checkLeftTrigger__9STControlFv(); -extern "C" void checkRightTrigger__9STControlFv(); -extern "C" void checkUpTrigger__9STControlFv(); -extern "C" void checkDownTrigger__9STControlFv(); -extern "C" void getSound__19dSv_player_config_cFv(); -extern "C" void setSound__19dSv_player_config_cFUc(); -extern "C" void setVibration__19dSv_player_config_cFUc(); -extern "C" void __ct__15dFile_warning_cFP10JKRArchiveUc(); -extern "C" void _move__15dFile_warning_cFv(); -extern "C" void openInit__15dFile_warning_cFv(); -extern "C" void closeInit__15dFile_warning_cFv(); -extern "C" void drawSelf__15dFile_warning_cFv(); -extern "C" void setText__15dFile_warning_cFUl(); -extern "C" void setFontColor__15dFile_warning_cFQ28JUtility6TColorQ28JUtility6TColor(); -extern "C" void __ct__Q28JUtility6TColorFv(); -extern "C" void __ct__16dSelect_cursor_cFUcfP10JKRArchive(); -extern "C" void setPos__16dSelect_cursor_cFffP7J2DPaneb(); -extern "C" void setParam__16dSelect_cursor_cFfffff(); -extern "C" void setScale__16dSelect_cursor_cFf(); -extern "C" void setAlphaRate__16dSelect_cursor_cFf(); -extern "C" void _move__19dMenu_Calibration_cFv(); -extern "C" void dMw_fade_out__5dMw_cFv(); -extern "C" void dMw_fade_in__5dMw_cFv(); -extern "C" void __ct__14dMeterHaihai_cFUc(); -extern "C" void drawHaihai__14dMeterHaihai_cFUcffff(); -extern "C" void getStringKanji__13dMeter2Info_cFUlPcP14JMSMesgEntry_c(); -extern "C" void dMeter2Info_set2DVibration__Fv(); -extern "C" void dMeter2Info_set2DVibrationM__Fv(); -extern "C" void __ct__12dMsgString_cFv(); -extern "C" void __dt__12dMsgString_cFv(); -extern "C" void __ct__8CPaneMgrFv(); -extern "C" void __ct__8CPaneMgrFP9J2DScreenUxUcP10JKRExpHeap(); -extern "C" void __dt__8CPaneMgrFv(); -extern "C" void paneTrans__8CPaneMgrFff(); -extern "C" void -colorAnime__8CPaneMgrFsQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColorQ28JUtility6TColorUc(); -extern "C" void getGlobalVtxCenter__8CPaneMgrFP7J2DPanebs(); -extern "C" void dPaneClass_showNullPane__FP9J2DScreen(); -extern "C" void show__13CPaneMgrAlphaFv(); -extern "C" void hide__13CPaneMgrAlphaFv(); -extern "C" void setAlphaRate__13CPaneMgrAlphaFf(); -extern "C" void alphaAnime__13CPaneMgrAlphaFsUcUcUc(); -extern "C" void cLib_addCalc2__FPffff(); -extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc(); -extern "C" void setOutputMode__10Z2AudioMgrFUl(); -extern "C" void* __nw__FUl(); -extern "C" void __dl__FPv(); -extern "C" void getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader(); -extern "C" void startPatternedRumble__Q210JUTGamePad7CRumbleFPvQ310JUTGamePad7CRumble7ERumbleUl(); -extern "C" void getBounds__7J2DPaneFv(); -extern "C" void setBasePosition__7J2DPaneF15J2DBasePosition(); -extern "C" void animationTransform__7J2DPaneFv(); -extern "C" void __ct__9J2DScreenFv(); -extern "C" void setPriority__9J2DScreenFPCcUlP10JKRArchive(); -extern "C" void draw__9J2DScreenFffPC14J2DGrafContext(); -extern "C" void animation__9J2DScreenFv(); -extern "C" void __ct__10J2DPictureFPC7ResTIMG(); -extern "C" void getStringPtr__10J2DTextBoxCFv(); -extern "C" void setString__10J2DTextBoxFsPCce(); -extern "C" void load__20J2DAnmLoaderDataBaseFPCv(); -extern "C" void __construct_array(); -extern "C" void __ptmf_scall(); -extern "C" void _savegpr_20(); -extern "C" void _savegpr_23(); -extern "C" void _savegpr_24(); -extern "C" void _savegpr_25(); -extern "C" void _savegpr_26(); -extern "C" void _savegpr_27(); -extern "C" void _savegpr_28(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_20(); -extern "C" void _restgpr_23(); -extern "C" void _restgpr_24(); -extern "C" void _restgpr_25(); -extern "C" void _restgpr_26(); -extern "C" void _restgpr_27(); -extern "C" void _restgpr_28(); -extern "C" void _restgpr_29(); -extern "C" extern void* __vt__12dDlst_base_c[3]; -extern "C" u8 m_gamePad__8mDoCPd_c[16]; -extern "C" u8 m_cpadInfo__8mDoCPd_c[256]; -extern "C" u8 mFader__13mDoGph_gInf_c[4]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; -extern "C" u8 sRumbleSupported__10JUTGamePad[4]; - -// -// Declarations: -// /* ############################################################################################## */ /* 803BDBA8-803BDBB4 01ACC8 000C+00 1/1 0/0 0/0 .data cNullVec__6Z2Calc */ -SECTION_DATA static u8 cNullVec__6Z2Calc[12] = { +static u8 cNullVec__6Z2Calc[12] = { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; -#ifdef NONMATCHING typedef void (dMenu_Option_c::*initFunc)(); static initFunc init[] = { &dMenu_Option_c::atten_init, &dMenu_Option_c::vib_init, @@ -238,423 +57,16 @@ static calibrationFunc calibration_process[] = { &dMenu_Option_c::calibration_close2_move, }; -#else -/* 803BDBB4-803BDBC0 -00001 000C+00 0/1 0/0 0/0 .data @3838 */ +// Unclear why this is created #pragma push #pragma force_active on -SECTION_DATA static void* lit_3838[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)atten_init__14dMenu_Option_cFv, -}; -#pragma pop - -/* 803BDBC0-803BDBCC -00001 000C+00 0/1 0/0 0/0 .data @3839 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3839[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)vib_init__14dMenu_Option_cFv, -}; -#pragma pop - -/* 803BDBCC-803BDBD8 -00001 000C+00 0/1 0/0 0/0 .data @3840 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3840[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)sound_init__14dMenu_Option_cFv, -}; -#pragma pop - -/* 803BDBD8-803BDBE4 -00001 000C+00 0/1 0/0 0/0 .data @3841 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3841[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)change_init__14dMenu_Option_cFv, -}; -#pragma pop - -/* 803BDBE4-803BDBF0 -00001 000C+00 0/1 0/0 0/0 .data @3842 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3842[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)confirm_open_init__14dMenu_Option_cFv, -}; -#pragma pop - -/* 803BDBF0-803BDBFC -00001 000C+00 0/1 0/0 0/0 .data @3843 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3843[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)confirm_move_init__14dMenu_Option_cFv, -}; -#pragma pop - -/* 803BDBFC-803BDC08 -00001 000C+00 0/1 0/0 0/0 .data @3844 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3844[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)confirm_select_init__14dMenu_Option_cFv, -}; -#pragma pop - -/* 803BDC08-803BDC14 -00001 000C+00 0/1 0/0 0/0 .data @3845 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3845[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)confirm_close_init__14dMenu_Option_cFv, -}; -#pragma pop - -/* 803BDC14-803BDC74 01AD34 0060+00 1/2 0/0 0/0 .data init */ -SECTION_DATA static u8 init[96] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -/* 803BDC74-803BDC80 -00001 000C+00 0/1 0/0 0/0 .data @3846 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3846[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)atten_move__14dMenu_Option_cFv, -}; -#pragma pop - -/* 803BDC80-803BDC8C -00001 000C+00 0/1 0/0 0/0 .data @3847 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3847[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)vib_move__14dMenu_Option_cFv, -}; -#pragma pop - -/* 803BDC8C-803BDC98 -00001 000C+00 0/1 0/0 0/0 .data @3848 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3848[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)sound_move__14dMenu_Option_cFv, -}; -#pragma pop - -/* 803BDC98-803BDCA4 -00001 000C+00 0/1 0/0 0/0 .data @3849 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3849[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)change_move__14dMenu_Option_cFv, -}; -#pragma pop - -/* 803BDCA4-803BDCB0 -00001 000C+00 0/1 0/0 0/0 .data @3850 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3850[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)confirm_open_move__14dMenu_Option_cFv, -}; -#pragma pop - -/* 803BDCB0-803BDCBC -00001 000C+00 0/1 0/0 0/0 .data @3851 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3851[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)confirm_move_move__14dMenu_Option_cFv, -}; -#pragma pop - -/* 803BDCBC-803BDCC8 -00001 000C+00 0/1 0/0 0/0 .data @3852 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3852[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)confirm_select_move__14dMenu_Option_cFv, -}; -#pragma pop - -/* 803BDCC8-803BDCD4 -00001 000C+00 0/1 0/0 0/0 .data @3853 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3853[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)confirm_close_move__14dMenu_Option_cFv, -}; -#pragma pop - -/* 803BDCD4-803BDD34 01ADF4 0060+00 1/2 0/0 0/0 .data process */ -SECTION_DATA static u8 process[96] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -/* 803BDD34-803BDD40 -00001 000C+00 0/1 0/0 0/0 .data @3854 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3854[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)tv_open1_move__14dMenu_Option_cFv, -}; -#pragma pop - -/* 803BDD40-803BDD4C -00001 000C+00 0/1 0/0 0/0 .data @3855 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3855[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)tv_open2_move__14dMenu_Option_cFv, -}; -#pragma pop - -/* 803BDD4C-803BDD58 -00001 000C+00 0/1 0/0 0/0 .data @3856 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3856[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)tv_move_move__14dMenu_Option_cFv, -}; -#pragma pop - -/* 803BDD58-803BDD64 -00001 000C+00 0/1 0/0 0/0 .data @3857 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3857[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)tv_close1_move__14dMenu_Option_cFv, -}; -#pragma pop - -/* 803BDD64-803BDD70 -00001 000C+00 0/1 0/0 0/0 .data @3858 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3858[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)tv_close2_move__14dMenu_Option_cFv, -}; -#pragma pop - -/* 803BDD70-803BDDAC 01AE90 003C+00 3/4 0/0 0/0 .data tv_process */ -SECTION_DATA static u8 tv_process[60] = { - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, -}; - -/* 803BDDAC-803BDDB8 -00001 000C+00 0/1 0/0 0/0 .data @3859 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3859[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)calibration_open1_move__14dMenu_Option_cFv, -}; -#pragma pop - -/* 803BDDB8-803BDDC4 -00001 000C+00 0/1 0/0 0/0 .data @3860 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3860[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)calibration_open2_move__14dMenu_Option_cFv, -}; -#pragma pop - -/* 803BDDC4-803BDDD0 -00001 000C+00 0/1 0/0 0/0 .data @3861 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3861[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)calibration_move_move__14dMenu_Option_cFv, -}; -#pragma pop - -/* 803BDDD0-803BDDDC -00001 000C+00 0/1 0/0 0/0 .data @3862 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3862[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)calibration_close1_move__14dMenu_Option_cFv, -}; -#pragma pop - -/* 803BDDDC-803BDDE8 -00001 000C+00 0/1 0/0 0/0 .data @3863 */ -#pragma push -#pragma force_active on -SECTION_DATA static void* lit_3863[3] = { - (void*)NULL, - (void*)0xFFFFFFFF, - (void*)calibration_close2_move__14dMenu_Option_cFv, -}; -#pragma pop - -/* 803BDDE8-803BDE54 01AF08 003C+30 0/1 0/0 0/0 .data calibration_process */ -#pragma push -#pragma force_active on -SECTION_DATA static u8 calibration_process[60 + 48 /* padding */] = { - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, +static u8 calibration_padding[36 /* padding */] = { /* padding */ - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, }; #pragma pop -#endif - -/* 803BDE54-803BDE70 01AF74 0010+0C 2/2 0/0 0/0 .data __vt__14dMenu_Option_c */ -SECTION_DATA extern void* __vt__14dMenu_Option_c[4 + 3 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)draw__14dMenu_Option_cFv, - (void*)__dt__14dMenu_Option_cFv, - /* padding */ - NULL, - NULL, - NULL, -}; /* 801E1F10-801E2014 1DC850 0104+00 0/0 2/2 0/0 .text * __ct__14dMenu_Option_cFP10JKRArchiveP9STControl */ @@ -676,103 +88,51 @@ dMenu_Option_c::~dMenu_Option_c() {} static const u32 dMo_soundMode[3] = {0, 1, 2}; /* 80396EB8-80396EE0 023518 0028+00 0/1 0/0 0/0 .rodata text_a_tag$3904 */ -#pragma push -#pragma force_active on static const u64 text_a_tag_3904[5] = { 'atext1_1', 'atext1_2', 'atext1_3', 'atext1_4', 'atext1_5', }; -#pragma pop /* 80396EE0-80396F08 023540 0028+00 0/1 0/0 0/0 .rodata text_b_tag$3905 */ -#pragma push -#pragma force_active on static const u64 text_b_tag_3905[5] = { 'btext1_1', 'btext1_2', 'btext1_3', 'btext1_4', 'btext1_5', }; -#pragma pop /* 80396F08-80396F18 023568 0010+00 0/1 0/0 0/0 .rodata l_tagName012$3918 */ -#pragma push -#pragma force_active on static const u64 l_tagName012[2] = { 'w_no_n', 'w_yes_n', }; -#pragma pop /* 80396F18-80396F28 023578 0010+00 0/1 0/0 0/0 .rodata l_tagName013$3919 */ -#pragma push -#pragma force_active on static const u64 l_tagName013[2] = { 'w_no_t', 'w_yes_t', }; -#pragma pop /* 80396F28-80396F38 023588 0010+00 0/1 0/0 0/0 .rodata l_tagName9$3928 */ -#pragma push -#pragma force_active on static const u64 l_tagName9[2] = { 'w_no_m', 'w_yes_m', }; -#pragma pop /* 80396F38-80396F48 023598 0010+00 0/1 0/0 0/0 .rodata l_tagName10$3929 */ -#pragma push -#pragma force_active on static const u64 l_tagName10[2] = { 'w_no_g', 'w_yes_g', }; -#pragma pop /* 80396F48-80396F58 0235A8 0010+00 0/1 0/0 0/0 .rodata l_tagName11$3930 */ -#pragma push -#pragma force_active on static const u64 l_tagName11[2] = { 'w_no_gr', 'w_yes_gr', }; -#pragma pop - -/* 803975D8-803975D8 023C38 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_803975D8 = "zelda_option_select_menu.blo"; -SECTION_DEAD static char const* const stringBase_803975F5 = ""; -SECTION_DEAD static char const* const stringBase_803975F6 = "zelda_option_base.blo"; -SECTION_DEAD static char const* const stringBase_8039760C = "zelda_option_menu_text.blo"; -SECTION_DEAD static char const* const stringBase_80397627 = "zelda_option_menu_shadow.blo"; -SECTION_DEAD static char const* const stringBase_80397644 = "zelda_option_check.blo"; -SECTION_DEAD static char const* const stringBase_8039765B = "zelda_collect_soubi_do_icon_parts.blo"; -SECTION_DEAD static char const* const stringBase_80397681 = "tt_block8x8.bti"; -SECTION_DEAD static char const* const stringBase_80397691 = "zelda_file_select_yes_no_window.blo"; -SECTION_DEAD static char const* const stringBase_803976B5 = "zelda_file_select_yes_no_window.bck"; -SECTION_DEAD static char const* const stringBase_803976D9 = "zelda_file_select_yes_no_window.bpk"; -SECTION_DEAD static char const* const stringBase_803976FD = "zelda_file_select_yes_no_window.btk"; -#pragma pop /* 80454328-8045432C 002928 0002+02 1/1 0/0 0/0 .sdata2 l_msgNum2$3920 */ -SECTION_SDATA2 static u8 l_msgNum2[2 + 2 /* padding */] = { +static const u8 l_msgNum2[2] = { 0x08, 0x07, - /* padding */ - 0x00, - 0x00, }; -/* 8045432C-80454330 00292C 0004+00 11/11 0/0 0/0 .sdata2 @4068 */ -SECTION_SDATA2 static u8 lit_4068[4] = { - 0x00, - 0x00, - 0x00, - 0x00, -}; - -/* 80454330-80454334 002930 0004+00 18/18 0/0 0/0 .sdata2 @4069 */ -SECTION_SDATA2 static f32 lit_4069 = 1.0f; - /* 801E205C-801E2C1C 1DC99C 0BC0+00 1/1 0/0 0/0 .text _create__14dMenu_Option_cFv */ void dMenu_Option_c::_create() { mpFont = mDoExt_getMesgFont(); @@ -920,7 +280,6 @@ void dMenu_Option_c::_create() { setHIO(true); } - /* 801E2C1C-801E3408 1DD55C 07EC+00 0/0 3/3 0/0 .text _delete__14dMenu_Option_cFv */ void dMenu_Option_c::_delete() { delete mpString; @@ -1100,8 +459,6 @@ void dMenu_Option_c::_delete() { } /* 801E3408-801E36CC 1DDD48 02C4+00 0/0 2/2 0/0 .text _move__14dMenu_Option_cFv */ -#ifdef NONMATCHING -// matches but sinit and literals void dMenu_Option_c::_move() { mpStick->checkTrigger(); if (field_0x3ea != 0 && !isRumbleSupported()) { @@ -1163,25 +520,6 @@ skip: } setHIO(false); } -#else -void dMenu_Option_c::_move() { - // NONMATCHING -} -#endif - -/* ############################################################################################## */ -/* 80454334-80454338 002934 0004+00 1/1 0/0 0/0 .sdata2 @4442 */ -SECTION_SDATA2 static f32 lit_4442 = 608.0f; - -/* 80454338-80454340 002938 0004+04 1/1 0/0 0/0 .sdata2 @4443 */ -SECTION_SDATA2 static f32 lit_4443[1 + 1 /* padding */] = { - 448.0f, - /* padding */ - 0.0f, -}; - -/* 80454340-80454348 002940 0008+00 1/1 0/0 0/0 .sdata2 @4445 */ -SECTION_SDATA2 static f64 lit_4445 = 4503599627370496.0 /* cast u32 to float */; /* 801E36CC-801E38CC 1DE00C 0200+00 1/1 1/1 0/0 .text _draw__14dMenu_Option_cFv */ void dMenu_Option_c::_draw() { @@ -1211,20 +549,6 @@ void dMenu_Option_c::_draw() { } } - -/* ############################################################################################## */ -/* 80454348-8045434C 002948 0004+00 1/1 0/0 0/0 .sdata2 @4469 */ -SECTION_SDATA2 static f32 lit_4469 = 43.0f / 10.0f; - -/* 8045434C-80454350 00294C 0004+00 1/1 0/0 0/0 .sdata2 @4470 */ -SECTION_SDATA2 static f32 lit_4470 = -5.0f; - -/* 80454350-80454354 002950 0004+00 5/5 0/0 0/0 .sdata2 @4471 */ -SECTION_SDATA2 static f32 lit_4471 = 0.5f; - -/* 80454354-80454358 002954 0004+00 11/11 0/0 0/0 .sdata2 @4472 */ -SECTION_SDATA2 static f32 lit_4472 = -1.0f; - /* 801E38CC-801E3A7C 1DE20C 01B0+00 1/1 0/0 0/0 .text drawHaihai__14dMenu_Option_cFv */ void dMenu_Option_c::drawHaihai() { CPaneMgr pane; @@ -1251,7 +575,6 @@ void dMenu_Option_c::drawHaihai() { } } - /* 801E3A7C-801E3AA4 1DE3BC 0028+00 0/0 1/1 0/0 .text isSync__14dMenu_Option_cFv */ bool dMenu_Option_c::isSync() { if (mpMount != NULL && mpMount->sync() == false) { @@ -1270,10 +593,6 @@ bool dMenu_Option_c::checkRightTrigger() { return mpStick->checkRightTrigger(); } -/* ############################################################################################## */ -/* 80454358-80454360 002958 0008+00 8/8 0/0 0/0 .sdata2 @4520 */ -SECTION_SDATA2 static f64 lit_4520 = 4503601774854144.0 /* cast s32 to float */; - /* 801E3AEC-801E3B98 1DE42C 00AC+00 4/4 0/0 0/0 .text setAnimation__14dMenu_Option_cFv */ void dMenu_Option_c::setAnimation() { s16 frameMax; @@ -1293,14 +612,6 @@ void dMenu_Option_c::setAnimation() { field_0x30->setFrame(field_0x3c4); } - -/* ############################################################################################## */ -/* 803975D8-803975D8 023C38 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -SECTION_DEAD static char const* const stringBase_80397721 = "/res/Layout/optres.arc"; -#pragma pop - /* 801E3B98-801E3DE0 1DE4D8 0248+00 0/0 2/2 0/0 .text _open__14dMenu_Option_cFv */ bool dMenu_Option_c::_open() { if (!mpMount) { @@ -1349,7 +660,6 @@ bool dMenu_Option_c::_open() { } } - /* 801E3DE0-801E3F6C 1DE720 018C+00 0/0 1/1 0/0 .text _close__14dMenu_Option_cFv */ bool dMenu_Option_c::_close() { s16 closeFrame = g_drawHIO.mOptionScreen.mCloseFrames; @@ -1379,7 +689,6 @@ bool dMenu_Option_c::_close() { } } - /* 801E3F6C-801E3FC4 1DE8AC 0058+00 2/1 0/0 0/0 .text atten_init__14dMenu_Option_cFv */ void dMenu_Option_c::atten_init() { mpDrawCursor->setAlphaRate(1.0f); @@ -1388,10 +697,7 @@ void dMenu_Option_c::atten_init() { setBButtonString(0x3F9); } - /* 801E3FC4-801E41A0 1DE904 01DC+00 1/0 0/0 0/0 .text atten_move__14dMenu_Option_cFv */ -#ifdef NONMATCHING -// matches but sinit and literals void dMenu_Option_c::atten_move() { bool downTrigger = mpStick->checkDownTrigger(); bool leftTrigger = checkLeftTrigger(); @@ -1428,11 +734,6 @@ void dMenu_Option_c::atten_move() { changeTVCheck(); } } -#else -void dMenu_Option_c::atten_move() { - // NONMATCHING -} -#endif /* 801E41A0-801E41F8 1DEAE0 0058+00 1/0 0/0 0/0 .text vib_init__14dMenu_Option_cFv */ void dMenu_Option_c::vib_init() { @@ -1442,10 +743,7 @@ void dMenu_Option_c::vib_init() { setBButtonString(0x3F9); } - /* 801E41F8-801E4488 1DEB38 0290+00 1/0 0/0 0/0 .text vib_move__14dMenu_Option_cFv */ -#ifdef NONMATCHING -// matches but sinit and literals void dMenu_Option_c::vib_move() { bool upTrigger = mpStick->checkUpTrigger(); bool downTrigger = mpStick->checkDownTrigger(); @@ -1494,11 +792,6 @@ void dMenu_Option_c::vib_move() { changeTVCheck(); } } -#else -void dMenu_Option_c::vib_move() { - // NONMATCHING -} -#endif /* 801E4488-801E44E0 1DEDC8 0058+00 1/0 0/0 0/0 .text sound_init__14dMenu_Option_cFv */ void dMenu_Option_c::sound_init() { @@ -1508,10 +801,7 @@ void dMenu_Option_c::sound_init() { setBButtonString(0x3F9); } - /* 801E44E0-801E48AC 1DEE20 03CC+00 1/0 0/0 0/0 .text sound_move__14dMenu_Option_cFv */ -#ifdef NONMATCHING -// matches but sinit and literals void dMenu_Option_c::sound_move() { bool upTrigger = mpStick->checkUpTrigger(); mpStick->checkDownTrigger(); @@ -1579,11 +869,6 @@ void dMenu_Option_c::sound_move() { changeTVCheck(); } } -#else -void dMenu_Option_c::sound_move() { - // NONMATCHING -} -#endif /* 801E48AC-801E48E8 1DF1EC 003C+00 1/0 0/0 0/0 .text change_init__14dMenu_Option_cFv */ void dMenu_Option_c::change_init() { @@ -1591,13 +876,7 @@ void dMenu_Option_c::change_init() { setBButtonString(0x3F9); } -/* ############################################################################################## */ -/* 80454360-80454364 002960 0004+00 2/2 0/0 0/0 .sdata2 @4862 */ -SECTION_SDATA2 static f32 lit_4862 = 5.0f; - /* 801E48E8-801E4B34 1DF228 024C+00 1/0 0/0 0/0 .text change_move__14dMenu_Option_cFv */ -#ifdef NONMATCHING -// matches but sinit and literals void dMenu_Option_c::change_move() { f32 x = 0.0f; @@ -1658,11 +937,6 @@ void dMenu_Option_c::change_move() { field_0x3ef = field_0x3f5; } } -#else -void dMenu_Option_c::change_move() { - // NONMATCHING -} -#endif /* 801E4B34-801E4C10 1DF474 00DC+00 1/0 0/0 0/0 .text confirm_open_init__14dMenu_Option_cFv */ void dMenu_Option_c::confirm_open_init() { @@ -1681,14 +955,6 @@ void dMenu_Option_c::confirm_open_init() { Z2GetAudioMgr()->seStart(Z2SE_SY_EXP_WIN_OPEN, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); } - -/* ############################################################################################## */ -/* 80454364-80454368 002964 0004+00 2/2 0/0 0/0 .sdata2 @4893 */ -SECTION_SDATA2 static f32 lit_4893 = 2.0f / 5.0f; - -/* 80454368-8045436C 002968 0004+00 2/2 0/0 0/0 .sdata2 @4894 */ -SECTION_SDATA2 static f32 lit_4894 = 1.0f / 10.0f; - /* 801E4C10-801E4CE4 1DF550 00D4+00 1/0 0/0 0/0 .text confirm_open_move__14dMenu_Option_cFv */ void dMenu_Option_c::confirm_open_move() { bool status = mpWarning->getStatus(); @@ -1708,7 +974,6 @@ void dMenu_Option_c::confirm_open_move() { setAnimation(); } - /* 801E4CE4-801E4D20 1DF624 003C+00 1/0 0/0 0/0 .text confirm_move_init__14dMenu_Option_cFv */ void dMenu_Option_c::confirm_move_init() { setAButtonString(0x40C); @@ -1752,10 +1017,8 @@ void dMenu_Option_c::confirm_move_move() { setAnimation(); } - /* 801E4E98-801E4E9C 1DF7D8 0004+00 1/0 0/0 0/0 .text confirm_select_init__14dMenu_Option_cFv */ void dMenu_Option_c::confirm_select_init() { - /* empty function */ } /* 801E4E9C-801E4F18 1DF7DC 007C+00 1/0 0/0 0/0 .text confirm_select_move__14dMenu_Option_cFv */ @@ -1781,17 +1044,6 @@ void dMenu_Option_c::confirm_close_init() { Z2GetAudioMgr()->seStart(Z2SE_SY_EXP_WIN_CLOSE, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); } - -/* ############################################################################################## */ -/* 8045436C-80454370 00296C 0004+00 2/2 0/0 0/0 .sdata2 @5026 */ -SECTION_SDATA2 static f32 lit_5026 = 101.0f / 100.0f; - -/* 80454370-80454374 002970 0004+00 2/2 0/0 0/0 .sdata2 @5027 */ -SECTION_SDATA2 static f32 lit_5027 = 17.0f / 20.0f; - -/* 80454374-80454378 002974 0004+00 2/2 0/0 0/0 .sdata2 @5028 */ -SECTION_SDATA2 static f32 lit_5028 = 1.0f / 50.0f; - /* 801E4FB0-801E51CC 1DF8F0 021C+00 1/0 0/0 0/0 .text confirm_close_move__14dMenu_Option_cFv */ void dMenu_Option_c::confirm_close_move() { bool status = mpWarning->getStatus(); @@ -1835,7 +1087,6 @@ void dMenu_Option_c::confirm_close_move() { setAnimation(); } - /* 801E51CC-801E5244 1DFB0C 0078+00 1/0 0/0 0/0 .text tv_open1_move__14dMenu_Option_cFv */ void dMenu_Option_c::tv_open1_move() { @@ -1849,7 +1100,6 @@ void dMenu_Option_c::tv_open1_move() { } } - /* 801E5244-801E5260 1DFB84 001C+00 1/0 0/0 0/0 .text tv_open2_move__14dMenu_Option_cFv */ void dMenu_Option_c::tv_open2_move() { @@ -1870,7 +1120,6 @@ void dMenu_Option_c::tv_move_move() { } } - /* 801E5300-801E5364 1DFC40 0064+00 1/0 0/0 0/0 .text tv_close1_move__14dMenu_Option_cFv */ void dMenu_Option_c::tv_close1_move() { @@ -1987,345 +1236,222 @@ void dMenu_Option_c::menuHide(int index) { /* ############################################################################################## */ /* 80396F58-80396F88 0235B8 0030+00 0/1 0/0 0/0 .rodata tag_frame$5201 */ -#pragma push -#pragma force_active on static const u64 tag_frame[6] = { 'flame_00', 'flame_01', 'flame_02', 'flame_03', 'flame_04', 'flame_05', }; -#pragma pop /* 80396F88-80396FB8 0235E8 0030+00 0/1 0/0 0/0 .rodata tag_menu0$5202 */ -#pragma push -#pragma force_active on static const u64 tag_menu0[6] = { 'fenu_t0', 'fenu_t1', 'fenu_t2', 'fenu_t3', 'fenu_t4', 'fenu_t5', }; -#pragma pop /* 80396FB8-80396FE8 023618 0030+00 0/1 0/0 0/0 .rodata let_n$5214 */ -#pragma push -#pragma force_active on static const u64 let_n[6] = { 'let_00_n', 'let_01_n', 'let_02_n', 'let_03_n', 'let_04_n', 'let_05_n', }; -#pragma pop /* 80396FE8-80397018 023648 0030+00 0/1 0/0 0/0 .rodata let2_n$5215 */ -#pragma push -#pragma force_active on static const u64 let2_n[6] = { 'let_00_n', 'let_01_n', 'let_02_n', 'let_03_n', 'let_04_n', }; -#pragma pop /* 80397018-80397048 023678 0030+00 0/1 0/0 0/0 .rodata menu_n$5216 */ -#pragma push -#pragma force_active on static const u64 menu_n[6] = { 'menu_n0', 'menu_n1', 'menu_n2', 'menu_n3', 'menu_n4', 'menu_n5', }; -#pragma pop /* 80397048-80397078 0236A8 0030+00 0/1 0/0 0/0 .rodata menu2_n$5217 */ -#pragma push -#pragma force_active on static const u64 menu2_n[6] = { 'mw_n_0', 'mw_n_1', 'mw_n_2', 'mw_n_3', 'mw_n_4', }; -#pragma pop /* 80397078-803970A8 0236D8 0030+00 0/1 0/0 0/0 .rodata al0_n$5218 */ -#pragma push -#pragma force_active on static const u64 al0_n[6] = { 's_grr_00', 's_grr_01', 's_grr_02', 's_grr_03', 's_grr_04', 's_grr_05', }; -#pragma pop /* 803970A8-803970D8 023708 0030+00 0/1 0/0 0/0 .rodata al1_n$5219 */ -#pragma push -#pragma force_active on static const u64 al1_n[6] = { 'c_grr_00', 'c_grr_01', 'c_grr_02', 'c_grr_03', 'c_grr_04', 'c_grr_05', }; -#pragma pop /* 803970D8-80397108 023738 0030+00 0/1 0/0 0/0 .rodata al2_n$5220 */ -#pragma push -#pragma force_active on static const u64 al2_n[6] = { 's_grl_00', 's_grl_01', 's_grl_02', 's_grl_03', 's_grl_04', 's_grl_05', }; -#pragma pop /* 80397108-80397138 023768 0030+00 0/1 0/0 0/0 .rodata al3_n$5221 */ -#pragma push -#pragma force_active on static const u64 al3_n[6] = { 'c_grl_00', 'c_grl_01', 'c_grl_02', 'c_grl_03', 'c_grl_04', 'c_grl_05', }; -#pragma pop /* 80397138-80397160 023798 0028+00 0/1 0/0 0/0 .rodata haihail_n$5238 */ -#pragma push -#pragma force_active on static const u64 haihail_n[5] = { 'y_set_l0', 'y_set_l1', 'y_set_l2', 'y_set_l3', 'y_set_l4', }; -#pragma pop /* 80397160-80397188 0237C0 0028+00 0/1 0/0 0/0 .rodata haihair_n$5239 */ -#pragma push -#pragma force_active on static const u64 haihair_n[5] = { 'y_set_r0', 'y_set_r1', 'y_set_r2', 'y_set_r3', 'y_set_r4', }; -#pragma pop /* 80397188-803971B8 0237E8 0030+00 0/1 0/0 0/0 .rodata menu3_n$5256 */ -#pragma push -#pragma force_active on static const u64 menu3_n[6] = { 'menuapn0', 'menuapn1', 'menuapn2', 'menuapn3', 'menuapn4', }; -#pragma pop /* 803971B8-803971E0 023818 0028+00 0/1 0/0 0/0 .rodata tv_btnA$5275 */ -#pragma push -#pragma force_active on static const u64 tv_btnA[5] = { 'cont_at1', 'cont_at2', 'cont_at3', 'cont_at4', 'cont_at', }; -#pragma pop /* 803971E0-80397208 023840 0028+00 0/1 0/0 0/0 .rodata ftv_btnA$5276 */ -#pragma push -#pragma force_active on static const u64 ftv_btnA[5] = { 'font_a1', 'font_at2', 'font_at3', 'font_at4', 'font_at', }; -#pragma pop /* 80397208-80397218 023868 0010+00 0/1 0/0 0/0 .rodata fenu_t0$5282 */ -#pragma push -#pragma force_active on static const u64 fenu_t0[2] = { 'fenu_t0s', 'fenu_t0', }; -#pragma pop /* 80397218-80397228 023878 0010+00 0/1 0/0 0/0 .rodata menu_t0$5283 */ -#pragma push -#pragma force_active on static const u64 menu_t0[2] = { 'menu_t0s', 'menu_t0', }; -#pragma pop /* 80397228-80397238 023888 0010+00 0/1 0/0 0/0 .rodata fenu_t2$5289 */ -#pragma push -#pragma force_active on static const u64 fenu_t2[2] = { 'fenu_t1s', 'fenu_t1', }; -#pragma pop /* 80397238-80397248 023898 0010+00 0/1 0/0 0/0 .rodata menu_t2$5290 */ -#pragma push -#pragma force_active on static const u64 menu_t2[2] = { 'menu_t1s', 'menu_t1', }; -#pragma pop /* 80397248-80397258 0238A8 0010+00 0/1 0/0 0/0 .rodata fenu_t3$5296 */ -#pragma push -#pragma force_active on static const u64 fenu_t3[2] = {'fenu_t2s', 'fenu_t2'}; -#pragma pop /* 80397258-80397268 0238B8 0010+00 0/1 0/0 0/0 .rodata menu_t3$5297 */ -#pragma push -#pragma force_active on static const u64 menu_t3[2] = { 'menu_t2s', 'menu_t2', }; -#pragma pop /* 80397268-80397278 0238C8 0010+00 0/1 0/0 0/0 .rodata fenu_t4$5303 */ -#pragma push -#pragma force_active on static const u64 fenu_t4[2] = { 'fenu_t3s', 'fenu_t3', }; -#pragma pop /* 80397278-80397288 0238D8 0010+00 0/1 0/0 0/0 .rodata menu_t4$5304 */ -#pragma push -#pragma force_active on static const u64 menu_t4[2] = { 'menu_t3s', 'menu_t3', }; -#pragma pop /* 80397288-80397298 0238E8 0010+00 0/1 0/0 0/0 .rodata fenu_t1$5310 */ -#pragma push -#pragma force_active on static const u64 fenu_t1[2] = { 'fenu_t4s', 'fenu_t4', }; -#pragma pop /* 80397298-803972A8 0238F8 0010+00 0/1 0/0 0/0 .rodata menu_t1$5311 */ -#pragma push -#pragma force_active on static const u64 menu_t1[2] = { 'menu_t4s', 'menu_t4', }; -#pragma pop /* 803972A8-803972B8 023908 0010+00 0/1 0/0 0/0 .rodata fenu_t5$5317 */ -#pragma push -#pragma force_active on static const u64 fenu_t5[2] = { 'fenu_t5s', 'fenu_t5', }; -#pragma pop /* 803972B8-803972C8 023918 0010+00 0/1 0/0 0/0 .rodata menu_t5$5318 */ -#pragma push -#pragma force_active on static const u64 menu_t5[2] = { 'menu_t5s', 'menu_t5', }; -#pragma pop /* 803972C8-803972F8 023928 0030+00 0/1 0/0 0/0 .rodata menut_0$5324 */ -#pragma push -#pragma force_active on static const u64 menut_0[6] = { 'menut0as', 'menut0a', 'menut0a2', 'menut0a1', 'menut0a4', 'menut0a3', }; -#pragma pop /* 803972F8-80397328 023958 0030+00 0/1 0/0 0/0 .rodata fenut_0$5325 */ -#pragma push -#pragma force_active on static const u64 fenut_0[6] = { 'menut010', 'menut0a9', 'menut0a8', 'menut0a7', 'menut0a6', 'menut0a5', }; -#pragma pop /* 80397328-80397358 023988 0030+00 0/1 0/0 0/0 .rodata menut_1$5332 */ -#pragma push -#pragma force_active on static const u64 menut_1[6] = { 'menut1as', 'menut1a', 'menut1a2', 'menut1a1', 'menut1a4', 'menut1a3', }; -#pragma pop /* 80397358-80397388 0239B8 0030+00 0/1 0/0 0/0 .rodata fenut_1$5333 */ -#pragma push -#pragma force_active on static const u64 fenut_1[6] = { 'menut110', 'menut1a9', 'menut1a8', 'menut1a7', 'menut1a6', 'menut1a5', }; -#pragma pop /* 80397388-803973B8 0239E8 0030+00 0/1 0/0 0/0 .rodata menut_2$5340 */ -#pragma push -#pragma force_active on static const u64 menut_2[6] = { 'menut2as', 'menut2a', 'menut2a2', 'menut2a1', 'menut2a4', 'menut2a3', }; -#pragma pop /* 803973B8-803973E8 023A18 0030+00 0/1 0/0 0/0 .rodata fenut_2$5341 */ -#pragma push -#pragma force_active on static const u64 fenut_2[6] = { 'menut210', 'menut2a9', 'menut2a8', 'menut2a7', 'menut2a6', 'menut2a5', }; -#pragma pop /* 803973E8-80397418 023A48 0030+00 0/1 0/0 0/0 .rodata menut_3$5348 */ -#pragma push -#pragma force_active on static const u64 menut_3[6] = { 'menut3a5', 'menut3a6', 'menut3a7', 'menut3a8', 'menut3a9', 'menut310', }; -#pragma pop /* 80397418-80397448 023A78 0030+00 0/1 0/0 0/0 .rodata fenut_3$5349 */ -#pragma push -#pragma force_active on static const u64 fenut_3[6] = { 'menut315', 'menut314', 'menut313', 'menut312', 'menut311', 'menut001', }; -#pragma pop /* 80397448-80397478 023AA8 0030+00 0/1 0/0 0/0 .rodata menut_4$5356 */ -#pragma push -#pragma force_active on static const u64 menut_4[6] = { 'menut3as', 'menut3a', 'menut3a2', 'menut3a1', 'menut3a4', 'menut3a3', }; -#pragma pop /* 80397478-803974A8 023AD8 0030+00 0/1 0/0 0/0 .rodata fenut_4$5357 */ -#pragma push -#pragma force_active on static const u64 fenut_4[6] = { 'menut321', 'menut320', 'menut319', 'menut318', 'menut317', 'menut316', }; -#pragma pop /* 803974A8-803974D8 023B08 0030+00 0/1 0/0 0/0 .rodata tx$5381 */ -#pragma push -#pragma force_active on static const u64 tx[6] = { 'w_p_tex5', 'w_p_tex6', 'w_p_tex3', 'w_p_tex4', 'fps_tex1', 'f_p_tex1', }; -#pragma pop /* 803974D8-803974F8 023B38 0020+00 0/0 0/0 0/0 .rodata op_tx$5393 */ -#pragma push -#pragma force_active on static const u64 op_tx[4] = { 'w_text_n', 'w_btn_n', 'w_k_t_n', 'w_abtn_n', }; -#pragma pop /* 803974F8-80397510 023B58 0018+00 0/1 0/0 0/0 .rodata z_tx$5399 */ -#pragma push -#pragma force_active on static const u64 z_tx[3] = { 'z_gc_n', }; -#pragma pop /* 80397510-80397560 023B70 0050+00 0/1 0/0 0/0 .rodata txTV$5409 */ -#pragma push -#pragma force_active on static const u64 txTV[10] = { 'menu_t61', 'menu_t2', 'menu_t91', 'menu_t1', 'menut101', 'menu_t01', 'menu_t71', 'menu_t3', 'menu_t81', 'menu_t4', }; -#pragma pop /* 801E5678-801E6FBC 1DFFB8 1944+00 1/1 0/0 0/0 .text screenSet__14dMenu_Option_cFv */ void dMenu_Option_c::screenSet() { @@ -2569,7 +1695,6 @@ void dMenu_Option_c::screenSet() { } } - /* 801E6FBC-801E7004 1E18FC 0048+00 2/2 0/0 0/0 .text setSoundMode__14dMenu_Option_cFUl */ void dMenu_Option_c::setSoundMode(u32 param_0) { @@ -2871,14 +1996,10 @@ void dMenu_Option_c::changeTVCheck() { } } - /* 80397560-80397588 023BC0 0028+00 0/0 0/0 0/0 .rodata txTVhide$5410 */ -#pragma push -#pragma force_active on static const u64 txTVhide[5] = { 'menu_6n', 'menu_9n', 'menu_10n', 'menu_7n', 'menu_8n', }; -#pragma pop /* 80397588-803975B0 023BE8 0028+00 1/1 0/0 0/0 .rodata text_a_tag$6194 */ static const u64 text_a_tag_6194[5] = { @@ -2890,22 +2011,20 @@ void dMenu_Option_c::setAButtonString(u16 i_stringID) { u32 stringId = i_stringID; if (stringId != field_0x3dc) { field_0x3dc = i_stringID; - } - - if (stringId == 0) { - for (int i = 0; i < 5; i++) { - J2DTextBox* textBox = (J2DTextBox*)mpScreenIcon->search(text_a_tag_6194[i]); - strcpy(textBox->getStringPtr(), ""); - } - } else { - for (int i = 0; i < 5; i++) { - J2DTextBox* textBox = (J2DTextBox*)mpScreenIcon->search(text_a_tag_6194[i]); - dMeter2Info_getStringKanji(stringId, textBox->getStringPtr(), NULL); + if (stringId == 0) { + for (int i = 0; i < 5; i++) { + J2DTextBox* textBox = (J2DTextBox*)mpScreenIcon->search(text_a_tag_6194[i]); + strcpy(textBox->getStringPtr(), ""); + } + } else { + for (int i = 0; i < 5; i++) { + J2DTextBox* textBox = (J2DTextBox*)mpScreenIcon->search(text_a_tag_6194[i]); + dMeter2Info_getStringKanji(stringId, textBox->getStringPtr(), NULL); + } } } } - /* 803975B0-803975D8 023C10 0028+00 1/1 0/0 0/0 .rodata text_b_tag$6217 */ static const u64 text_b_tag_6217[5] = { 'btext1_1', 'btext1_2', 'btext1_3', 'btext1_4', 'btext1_5', @@ -2916,22 +2035,21 @@ void dMenu_Option_c::setBButtonString(u16 i_stringID) { u32 stringId = i_stringID; if (stringId != field_0x3de) { field_0x3de = i_stringID; - } - if (stringId == 0) { - for (int i = 0; i < 5; i++) { - J2DTextBox* textBox = (J2DTextBox*)mpScreenIcon->search(text_b_tag_6217[i]); - strcpy(textBox->getStringPtr(), ""); - } - } else { - for (int i = 0; i < 5; i++) { - J2DTextBox* textBox = (J2DTextBox*)mpScreenIcon->search(text_b_tag_6217[i]); - dMeter2Info_getStringKanji(stringId, textBox->getStringPtr(), NULL); + if (stringId == 0) { + for (int i = 0; i < 5; i++) { + J2DTextBox* textBox = (J2DTextBox*)mpScreenIcon->search(text_b_tag_6217[i]); + strcpy(textBox->getStringPtr(), ""); + } + } else { + for (int i = 0; i < 5; i++) { + J2DTextBox* textBox = (J2DTextBox*)mpScreenIcon->search(text_b_tag_6217[i]); + dMeter2Info_getStringKanji(stringId, textBox->getStringPtr(), NULL); + } } } } - /* 801E80A0-801E80AC 1E29E0 000C+00 4/4 0/0 0/0 .text isRumbleSupported__14dMenu_Option_cFv */ bool dMenu_Option_c::isRumbleSupported() { return JUTGamePad::sRumbleSupported >> 0x1f; @@ -2944,26 +2062,21 @@ bool dMenu_Option_c::dpdMenuMove() { /* ############################################################################################## */ /* 80454378-8045437C 002978 0004+00 1/1 0/0 0/0 .sdata2 @6256 */ -SECTION_SDATA2 static f32 lit_6256 = 10.0f; +// SECTION_SDATA2 static f32 lit_6256 = 10.0f; /* 801E80B4-801E8210 1E29F4 015C+00 1/1 0/0 0/0 .text paneResize__14dMenu_Option_cFUx */ -#ifdef NONMATCHING -// float regswap void dMenu_Option_c::paneResize(u64 i_tag) { f32 boundsY = mpClipScreen->search(i_tag)->getBounds().i.y; f32 boundsX = mpClipScreen->search(i_tag)->getBounds().i.x - 5.0f; mpClipScreen->search(i_tag)->move(boundsX, boundsY); - f32 height = mpClipScreen->search(i_tag)->getHeight(); - f32 width = mpClipScreen->search(i_tag)->getWidth(); + // Fake match + JGeometry::TBox2& bounds = mpClipScreen->search(i_tag)->mBounds; + boundsY = bounds.f.y - bounds.i.y; + boundsX = mpClipScreen->search(i_tag)->getWidth(); - mpClipScreen->search(i_tag)->resize(width + 10.0f, height); + mpClipScreen->search(i_tag)->resize(boundsX + 10.0f, boundsY); } -#else -void dMenu_Option_c::paneResize(u64 param_0) { - // NONMATCHING -} -#endif /* 801E8210-801E82C4 1E2B50 00B4+00 1/1 1/1 0/0 .text initialize__14dMenu_Option_cFv */ void dMenu_Option_c::initialize() { @@ -3009,7 +2122,6 @@ void dMenu_Option_c::yesnoMenuMoveAnmInitSet(int param_0, int param_1) { mpYesNoSelBase_c[1]->getPanePtr()->animationTransform(); } - /* 801E8438-801E85D4 1E2D78 019C+00 2/2 0/0 0/0 .text yesnoMenuMoveAnm__14dMenu_Option_cFv */ bool dMenu_Option_c::yesnoMenuMoveAnm() { bool ret; @@ -3048,7 +2160,6 @@ bool dMenu_Option_c::yesnoMenuMoveAnm() { return ret; } - /* 80450730-80450738 0001B0 0008+00 2/2 0/0 0/0 .sdata OptYnSelStartFrameTbl */ static s32 OptYnSelStartFrameTbl[2] = {1251, 1236}; @@ -3121,16 +2232,6 @@ u8 dMenu_Option_c::yesnoSelectMoveAnm() { return ret; } - -/* 8045437C-80454380 00297C 0004+00 1/1 0/0 0/0 .sdata2 @6507 */ -SECTION_SDATA2 static f32 lit_6507 = 24.0f / 25.0f; - -/* 80454380-80454384 002980 0004+00 1/1 0/0 0/0 .sdata2 @6508 */ -SECTION_SDATA2 static f32 lit_6508 = 21.0f / 25.0f; - -/* 80454384-80454388 002984 0004+00 1/1 0/0 0/0 .sdata2 @6509 */ -SECTION_SDATA2 static f32 lit_6509 = 3.0f / 50.0f; - /* 801E8888-801E89F8 1E31C8 0170+00 2/2 0/0 0/0 .text yesnoCursorShow__14dMenu_Option_cFv */ void dMenu_Option_c::yesnoCursorShow() { @@ -3148,7 +2249,6 @@ void dMenu_Option_c::yesnoCursorShow() { } } - /* 801E89F8-801E8AC8 1E3338 00D0+00 1/1 0/0 0/0 .text yesNoSelectStart__14dMenu_Option_cFv */ void dMenu_Option_c::yesNoSelectStart() { if (field_0x3f9 != 0) { @@ -3164,7 +2264,6 @@ void dMenu_Option_c::yesNoSelectStart() { } } - /* 801E8AC8-801E8C38 1E3408 0170+00 1/1 0/0 0/0 .text yesnoSelectAnmSet__14dMenu_Option_cFv */ void dMenu_Option_c::yesnoSelectAnmSet() { if (field_0x3fa != 0xff) { @@ -3183,7 +2282,6 @@ void dMenu_Option_c::yesnoSelectAnmSet() { } } - /* 801E8C38-801E8CB0 1E3578 0078+00 2/2 0/0 0/0 .text yesnoCancelAnmSet__14dMenu_Option_cFv */ void dMenu_Option_c::yesnoCancelAnmSet() { Z2GetAudioMgr()->seStart(Z2SE_SY_CURSOR_CANCEL, NULL, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0); @@ -3191,7 +2289,6 @@ void dMenu_Option_c::yesnoCancelAnmSet() { yesnoMenuMoveAnmInitSet(0x47D, 0x473); } - /* 801E8CB0-801E8CFC 1E35F0 004C+00 1/1 0/0 0/0 .text * yesnoWakuAlpahAnmInit__14dMenu_Option_cFUcUcUcUc */ void dMenu_Option_c::yesnoWakuAlpahAnmInit(u8 i_idx, u8 param_1, u8 param_2, u8 param_3) { @@ -3236,23 +2333,3 @@ u8 dMenu_Option_c::yesnoWakuAlpahAnm(u8 i_idx) { } return ret; } - -/* 801E8E6C-801E8E8C 1E37AC 0020+00 1/0 0/0 0/0 .text draw__14dMenu_Option_cFv */ -// void dMenu_Option_c::draw() { -extern "C" void draw__14dMenu_Option_cFv() { - // NONMATCHING -} - -/* 801E8E8C-801E9118 1E37CC 028C+00 0/0 1/0 0/0 .text __sinit_d_menu_option_cpp */ -#ifdef NONMATCHING - -#else -void __sinit_d_menu_option_cpp(){// NONMATCHING -} - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x801E8E8C, __sinit_d_menu_option_cpp); -#pragma pop - -#endif \ No newline at end of file diff --git a/src/m_Do/m_Do_audio.cpp b/src/m_Do/m_Do_audio.cpp index 510fd7587c9..5134ebabdd7 100644 --- a/src/m_Do/m_Do_audio.cpp +++ b/src/m_Do/m_Do_audio.cpp @@ -6,107 +6,26 @@ #include "m_Do/m_Do_audio.h" #include "JSystem/JKernel/JKRSolidHeap.h" #include "d/d_com_inf_game.h" -#include "dol2asm.h" #include "m_Do/m_Do_Reset.h" #include "m_Do/m_Do_dvd_thread.h" -// -// Forward References: -// - -extern "C" void reset__17mDoAud_zelAudio_cFv(); -extern "C" static void mDoAud_Create__Fv(); -extern "C" void mDoAud_Execute__Fv(); -extern "C" void mDoAud_setSceneName__FPCcll(); -extern "C" void mDoAud_load1stDynamicWave__Fv(); -extern "C" void mDoAud_setFadeOutStart__FUc(); -extern "C" void mDoAud_setFadeInStart__FUc(); -extern "C" void mDoAud_resetProcess__Fv(); -extern "C" void mDoAud_resetRecover__Fv(); -extern "C" void __sinit_m_Do_audio_cpp(); -extern "C" void __dt__17mDoAud_zelAudio_cFv(); -extern "C" void __dt__10Z2AudioMgrFv(); -extern "C" void __dt__14JAISoundHandleFv(); -extern "C" void __dt__12Z2MultiSeObjFv(); -extern "C" void __dt__16JAISeCategoryMgrFv(); -extern "C" extern char const* const m_Do_m_Do_audio__stringBase0; - -// -// External References: -// - -extern "C" void create__25mDoDvdThd_mountXArchive_cFPCcUcQ210JKRArchive10EMountModeP7JKRHeap(); -extern "C" void create__21mDoDvdThd_toMainRam_cFPCcUcP7JKRHeap(); -extern "C" void __dt__15JASAudioReseterFv(); -extern "C" void __dt__14JAISeqDataUserFv(); -extern "C" void releaseSound__14JAISoundHandleFv(); -extern "C" void __dt__12JAISoundInfoFv(); -extern "C" void __dt__15JAISoundStarterFv(); -extern "C" void __dt__16JAIStreamDataMgrFv(); -extern "C" void __dt__12Z2MultiSeMgrFv(); -extern "C" void setEventBit__11Z2StatusMgrFPv(); -extern "C" void setFadeOutStart__10Z2SceneMgrFUc(); -extern "C" void setFadeInStart__10Z2SceneMgrFUc(); -extern "C" void setSceneName__10Z2SceneMgrFPcll(); -extern "C" void load1stDynamicWave__10Z2SceneMgrFv(); -extern "C" void __dt__10Z2AudienceFv(); -extern "C" void __ct__10Z2AudioMgrFv(); -extern "C" void init__10Z2AudioMgrFP12JKRSolidHeapUlPvP10JKRArchive(); -extern "C" void setOutputMode__10Z2AudioMgrFUl(); -extern "C" void gframeProcess__10Z2AudioMgrFv(); -extern "C" void resetProcess__10Z2AudioMgrFUlb(); -extern "C" void resetRecover__10Z2AudioMgrFv(); -extern "C" void hasReset__10Z2AudioMgrCFv(); -extern "C" void func_802CDB1C(); -extern "C" void free__7JKRHeapFPvP7JKRHeap(); -extern "C" void changeGroupID__7JKRHeapFUc(); -extern "C" void __dl__FPv(); -extern "C" void adjustSize__12JKRSolidHeapFv(); -extern "C" void __dt__10JSUPtrListFv(); -extern "C" void __register_global_object(); -extern "C" void __destroy_arr(); -extern "C" void _savegpr_29(); -extern "C" void _restgpr_29(); -extern "C" extern void* __vt__8JAISeMgr[5]; -extern "C" extern void* __vt__16JAISeCategoryMgr[5]; -extern "C" extern void* __vt__9JAISeqMgr[5 + 1 /* padding */]; -extern "C" extern void* __vt__10Z2SoundMgr[3 + 1 /* padding */]; -extern "C" extern void* __vt__14Z2SoundStarter[5 + 1 /* padding */]; -extern "C" extern void* __vt__11Z2SoundInfo[20]; -extern "C" extern void* __vt__15Z2SpeechStarter[5]; -extern "C" extern void* __vt__10Z2AudioMgr[3]; -extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */]; -extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */]; -extern "C" u8 sCurrentHeap__7JKRHeap[4]; - -// -// Declarations: -// - -/* ############################################################################################## */ /* 80450BB8-80450BBC -00001 0004+00 5/5 6/6 0/0 .sbss None */ /* 80450BB8 0001+00 data_80450BB8 None */ /* 80450BB9 0001+00 data_80450BB9 None */ /* 80450BBA 0002+00 data_80450BBA None */ -#pragma push -#pragma force_active on bool mDoAud_zelAudio_c::mInitFlag; bool mDoAud_zelAudio_c::mResetFlag; bool mDoAud_zelAudio_c::mBgmSet; -#pragma pop /* 80006FB4-80006FC0 0018F4 000C+00 1/1 0/0 0/0 .text reset__17mDoAud_zelAudio_cFv */ void mDoAud_zelAudio_c::reset() { mBgmSet = false; } -/* 803DBF40-803DBF4C 008C60 000C+00 1/1 0/1 0/0 .bss @3620 */ -static u8 lit_3620[12]; - /* 803DBF4C-803DD2D8 008C6C 138C+00 3/3 0/0 0/0 .bss g_mDoAud_zelAudio */ -static u8 g_mDoAud_zelAudio[5004]; +static mDoAud_zelAudio_c g_mDoAud_zelAudio; /* 80450BBC-80450BC0 0000BC 0004+00 1/1 1/1 0/0 .sbss g_mDoAud_audioHeap */ JKRSolidHeap* g_mDoAud_audioHeap; @@ -139,7 +58,7 @@ static void mDoAud_Create() { if (l_affCommand->sync() && l_arcCommand->sync()) { if (g_mDoAud_audioHeap != NULL) { s32 groupID = JKRHeap::sCurrentHeap->changeGroupID(5); - (*(mDoAud_zelAudio_c*)g_mDoAud_zelAudio) + g_mDoAud_zelAudio .init(g_mDoAud_audioHeap, 0xA00000, l_affCommand->getMemAddress(), l_arcCommand->getArchive()); JKRHeap::sCurrentHeap->changeGroupID(groupID); @@ -149,9 +68,9 @@ static void mDoAud_Create() { OSReport_Error("ヒープ確保失敗につきオーディオ初期化できません\n"); } - (*(mDoAud_zelAudio_c*)g_mDoAud_zelAudio) + (g_mDoAud_zelAudio) .setEventBit(dComIfGs_getPEventBit()); - (*(mDoAud_zelAudio_c*)g_mDoAud_zelAudio).reset(); + (g_mDoAud_zelAudio).reset(); u32 soundMode = OSGetSoundMode(); Z2AudioMgr::getInterface()->setOutputMode(soundMode); @@ -171,7 +90,7 @@ void mDoAud_Execute() { mDoAud_Create(); } } else { - (*(mDoAud_zelAudio_c*)g_mDoAud_zelAudio).gframeProcess(); + g_mDoAud_zelAudio.gframeProcess(); } } @@ -216,63 +135,4 @@ bool mDoAud_resetRecover() { return 1; } -/* ############################################################################################## */ -/* 803A2F40-803A2F4C 000060 000C+00 2/2 0/0 0/0 .data __vt__17mDoAud_zelAudio_c */ -SECTION_DATA extern void* __vt__17mDoAud_zelAudio_c[3] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)func_802CDB1C, -}; - -/* 80007318-80007368 001C58 0050+00 0/0 1/0 0/0 .text __sinit_m_Do_audio_cpp */ -void __sinit_m_Do_audio_cpp() { - // NONMATCHING -} - -#pragma push -#pragma force_active on -REGISTER_CTORS(0x80007318, __sinit_m_Do_audio_cpp); -#pragma pop - -/* 80007368-800073C8 001CA8 0060+00 1/1 0/0 0/0 .text __dt__17mDoAud_zelAudio_cFv */ -extern "C" void __dt__17mDoAud_zelAudio_cFv() { - // asm mDoAud_zelAudio_c::~mDoAud_zelAudio_c() { - // NONMATCHING -} - -/* ############################################################################################## */ -/* 803A2F4C-803A2F60 00006C 0010+04 1/1 2/2 0/0 .data __vt__12JAUSoundInfo */ -SECTION_DATA extern void* __vt__12JAUSoundInfo[4 + 1 /* padding */] = { - (void*)NULL /* RTTI */, - (void*)NULL, - (void*)NULL, - (void*)NULL, - /* padding */ - NULL, -}; - -/* 800073C8-80007838 001D08 0470+00 1/1 0/0 0/0 .text __dt__10Z2AudioMgrFv */ -extern "C" void __dt__10Z2AudioMgrFv() { - // asm Z2AudioMgr::~Z2AudioMgr() { - // NONMATCHING -} - -/* 80007838-80007888 002178 0050+00 1/1 1/1 0/0 .text __dt__14JAISoundHandleFv */ -extern "C" void __dt__14JAISoundHandleFv() { - // asm JAISoundHandle::~JAISoundHandle() { - // NONMATCHING -} - -/* 80007888-800078DC 0021C8 0054+00 1/1 1/1 0/0 .text __dt__12Z2MultiSeObjFv */ -extern "C" void __dt__12Z2MultiSeObjFv() { - // asm Z2MultiSeObj::~Z2MultiSeObj() { - // NONMATCHING -} - -/* 800078DC-80007954 00221C 0078+00 1/1 3/2 0/0 .text __dt__16JAISeCategoryMgrFv */ -extern "C" void __dt__16JAISeCategoryMgrFv() { - // asm JAISeCategoryMgr::~JAISeCategoryMgr() { - // NONMATCHING -} - -/* 80373D68-80373D68 0003C8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ \ No newline at end of file +/* 80373D68-80373D68 0003C8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */