Reintroduce missing changes from pull request #2200 (#2213)

* Reintroduce missing changes from pull request  #2200

* m_Do_audio OK
This commit is contained in:
hatal175 2024-10-16 22:41:21 +03:00 committed by GitHub
parent 030d6533f0
commit ec07abb09b
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
18 changed files with 894 additions and 1918 deletions

View File

@ -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

View File

@ -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

View File

@ -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"),

View File

@ -95,7 +95,7 @@ public:
/* 802A0768 */ bool startSound(JAISoundID, JAISoundHandle*, JGeometry::TVec3<f32> const*);
/* 802A08D0 */ int getNumActiveSe() const;
/* 802A08FC */ virtual ~JAISeMgr(); // inline?
/* 802A08FC */ virtual ~JAISeMgr() {}
/* 802A0168 */ virtual bool isUsingSeqData(JAISeqDataRegion const&);
/* 802A01D8 */ virtual int releaseSeqData(JAISeqDataRegion const&);

View File

@ -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&);

View File

@ -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);

View File

@ -8,7 +8,7 @@
struct Z2SpeechStarter : public Z2SoundStarter {
/* 802CCFB8 */ Z2SpeechStarter();
/* 802CBCEC */ virtual ~Z2SpeechStarter();
/* 802CBCEC */ virtual ~Z2SpeechStarter() {}
/* 802CCFF8 */ virtual bool startSound(JAISoundID, JAISoundHandle*,
JGeometry::TVec3<f32> const*, u32, f32, f32, f32, f32,
f32, u32);
@ -20,6 +20,7 @@ struct Z2SpeechMgr : public JASGlobalInstance<Z2SpeechMgr> {
struct Z2SpeechMgr2 : public JASGlobalInstance<Z2SpeechMgr2> {
/* 802CBC60 */ Z2SpeechMgr2();
~Z2SpeechMgr2() {}
/* 802CBD88 */ void setString(u16 const*, s16, u8, u16);
/* 802CBF60 */ void setTextCount(s16);
/* 802CC190 */ void speakOneWord(bool);

View File

@ -112,7 +112,7 @@ public:
callInit();
}
static u8 const mAttr[1 + 3 /* padding */];
static u8 const mAttr[1];
static actionFunc ActionTable[13][2];
private:

View File

@ -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 */

View File

@ -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; }

View File

@ -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
}
}

View File

@ -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
}
}

View File

@ -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 */
/* 80D20554-80D20554 00024C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */

View File

@ -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 */
/* 80D55848-80D55848 00009C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */

View File

@ -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, &current.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, &current.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<daTagQs_c*>(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
}
/* 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,
};

View File

@ -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<J2DTextBox*>(mpScreen->search('f_t00'))->setFont(mDoExt_getRubyFont());
static_cast<J2DTextBox*>(mpScreen->search('f_t00'))->setString(0x20, "");
@ -748,8 +679,8 @@ void dMenu_Collect2D_c::screenSet() {
0x60, static_cast<J2DTextBox*>(mpScreen->search(ftext_sv[i]))->getStringPtr(), NULL);
dMeter2Info_getStringKanji(
0x5F, static_cast<J2DTextBox*>(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<J2DTextBox*>(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
}
}

File diff suppressed because it is too large Load Diff

View File

@ -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 */
/* 80373D68-80373D68 0003C8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */