diff options
| author | Julgodis <> | 2021-04-10 07:02:38 +0200 |
|---|---|---|
| committer | Julgodis <> | 2021-04-10 07:02:38 +0200 |
| commit | 0ad6ebe7b499ad3efffad93e2e7eb1033bcb6598 (patch) | |
| tree | a40631b0654c4d310ebff2360e2a4ef32437a2b5 /src/m_Do | |
| parent | 2661db6aaa98a5bbd17691cb438ef64752dbcdf4 (diff) | |
moved strings + decompile simple store functions
Diffstat (limited to 'src/m_Do')
| -rw-r--r-- | src/m_Do/m_Do_MemCard.cpp | 20 | ||||
| -rw-r--r-- | src/m_Do/m_Do_MemCardRWmng.cpp | 24 | ||||
| -rw-r--r-- | src/m_Do/m_Do_Reset.cpp | 13 | ||||
| -rw-r--r-- | src/m_Do/m_Do_audio.cpp | 33 | ||||
| -rw-r--r-- | src/m_Do/m_Do_dvd_thread.cpp | 72 | ||||
| -rw-r--r-- | src/m_Do/m_Do_ext.cpp | 148 | ||||
| -rw-r--r-- | src/m_Do/m_Do_graphic.cpp | 27 | ||||
| -rw-r--r-- | src/m_Do/m_Do_lib.cpp | 2 | ||||
| -rw-r--r-- | src/m_Do/m_Do_machine.cpp | 143 | ||||
| -rw-r--r-- | src/m_Do/m_Do_machine_exception.cpp | 70 | ||||
| -rw-r--r-- | src/m_Do/m_Do_main.cpp | 150 | ||||
| -rw-r--r-- | src/m_Do/m_Do_mtx.cpp | 6 | ||||
| -rw-r--r-- | src/m_Do/m_Do_printf.cpp | 68 |
13 files changed, 453 insertions, 323 deletions
diff --git a/src/m_Do/m_Do_MemCard.cpp b/src/m_Do/m_Do_MemCard.cpp index 81fbb9868f..abf3f81cbb 100644 --- a/src/m_Do/m_Do_MemCard.cpp +++ b/src/m_Do/m_Do_MemCard.cpp @@ -176,6 +176,15 @@ asm void mDoMemCd_Ctrl_c::load() { } #pragma pop +/* ############################################################################################## */ +/* 803743F8-803743F8 000A58 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +#pragma push +#pragma force_active on +SECTION_DEAD static char const* const stringBase_803743F8 = "gczelda2"; +/* @stringBase0 padding */ +SECTION_DEAD static char const* const pad_80374401 = "\0\0\0\0\0\0"; +#pragma pop + /* 80016A0C-80016AB0 01134C 00A4+00 1/1 0/0 0/0 .text restore__15mDoMemCd_Ctrl_cFv */ #pragma push #pragma optimization_level 0 @@ -408,14 +417,7 @@ asm void __sinit_m_Do_MemCard_cpp() { #pragma push #pragma force_active on -SECTION_CTORS void* const _ctors_80017470 = (void*)__sinit_m_Do_MemCard_cpp; +REGISTER_CTORS(0x80017470, __sinit_m_Do_MemCard_cpp); #pragma pop -/* 803743F8-80374408 000A58 0009+07 3/3 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -#pragma section ".dead" -SECTION_DEAD static char const* const stringBase_803743F8 = "gczelda2"; -/* @stringBase0 padding */ -SECTION_DEAD static char const* const pad_80374401 = "\0\0\0\0\0\0"; -#pragma pop +/* 803743F8-803743F8 000A58 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/m_Do/m_Do_MemCardRWmng.cpp b/src/m_Do/m_Do_MemCardRWmng.cpp index d8ce2425d1..4b54218bd3 100644 --- a/src/m_Do/m_Do_MemCardRWmng.cpp +++ b/src/m_Do/m_Do_MemCardRWmng.cpp @@ -79,6 +79,18 @@ asm void mDoMemCdRWm_Restore(CARDFileInfo* param_0, void* param_1, u32 param_2) } #pragma pop +/* ############################################################################################## */ +/* 80374408-80374408 000A68 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +#pragma push +#pragma force_active on +SECTION_DEAD static char const* const stringBase_80374408 = "Zelda: Twilight Princess"; +SECTION_DEAD static char const* const stringBase_80374421 = "%d/%d Save Data"; +SECTION_DEAD static char const* const stringBase_80374431 = "zelda2_gc_banner.bti"; +SECTION_DEAD static char const* const stringBase_80374446 = "zelda2_gc_icon.bti"; +/* @stringBase0 padding */ +SECTION_DEAD static char const* const pad_80374459 = "\0\0\0\0\0\0"; +#pragma pop + /* 8001787C-800179E4 0121BC 0168+00 1/1 0/0 0/0 .text * mDoMemCdRWm_BuildHeader__FP22mDoMemCdRWm_HeaderData */ #pragma push @@ -151,14 +163,4 @@ asm void mDoMemCdRWm_SetCheckSumGameData(u8* param_0, u8 param_1) { } #pragma pop -/* 80374408-80374460 000A68 0051+07 1/1 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -#pragma section ".dead" -SECTION_DEAD static char const* const stringBase_80374408 = "Zelda: Twilight Princess"; -SECTION_DEAD static char const* const stringBase_80374421 = "%d/%d Save Data"; -SECTION_DEAD static char const* const stringBase_80374431 = "zelda2_gc_banner.bti"; -SECTION_DEAD static char const* const stringBase_80374446 = "zelda2_gc_icon.bti"; -/* @stringBase0 padding */ -SECTION_DEAD static char const* const pad_80374459 = "\0\0\0\0\0\0"; -#pragma pop +/* 80374408-80374408 000A68 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/m_Do/m_Do_Reset.cpp b/src/m_Do/m_Do_Reset.cpp index 74493fed81..b773c54475 100644 --- a/src/m_Do/m_Do_Reset.cpp +++ b/src/m_Do/m_Do_Reset.cpp @@ -119,6 +119,12 @@ static asm void destroyVideo() { #pragma pop /* ############################################################################################## */ +/* 80374198-80374198 0007F8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +#pragma push +#pragma force_active on +SECTION_DEAD static char const* const stringBase_80374198 = "DVD_STATE_BUSY\n"; +#pragma pop + /* 80450C78-80450C80 000178 0004+04 3/2 42/42 2/2 .sbss mResetData__6mDoRst */ u8 mDoRst::mResetData[4 + 4 /* padding */]; @@ -158,9 +164,4 @@ u8 struct_80450C80[8]; extern u8 data_80450C88[8]; u8 data_80450C88[8]; -/* 80374198-803741A8 0007F8 0010+00 1/1 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -#pragma section ".dead" -SECTION_DEAD static char const* const stringBase_80374198 = "DVD_STATE_BUSY\n"; -#pragma pop +/* 80374198-80374198 0007F8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/m_Do/m_Do_audio.cpp b/src/m_Do/m_Do_audio.cpp index d500c4660e..2958afff8f 100644 --- a/src/m_Do/m_Do_audio.cpp +++ b/src/m_Do/m_Do_audio.cpp @@ -39,10 +39,6 @@ struct mDoAud_zelAudio_c { /* 80007368 */ ~mDoAud_zelAudio_c(); }; -struct Z2StatusMgr { - /* 802B6758 */ void setEventBit(void*); -}; - struct Z2SceneMgr { /* 802B697C */ void setFadeOutStart(u8); /* 802B6A18 */ void setFadeInStart(u8); @@ -65,12 +61,12 @@ struct JGeometry { struct TVec3__template0 {}; }; -struct JAISoundID {}; - struct JKRSolidHeap { /* 802D0BF4 */ void adjustSize(); }; +struct JAISoundID {}; + struct JAISoundHandle { /* 80007838 */ ~JAISoundHandle(); /* 802A2184 */ void releaseSound(); @@ -232,6 +228,17 @@ asm void mDoAud_zelAudio_c::reset() { #pragma pop /* ############################################################################################## */ +/* 80373D68-80373D68 0003C8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +#pragma push +#pragma force_active on +SECTION_DEAD static char const* const stringBase_80373D68 = "/Audiores/Z2Sound.baa"; +SECTION_DEAD static char const* const stringBase_80373D7E = "/Audiores/Seqs/Z2SoundSeqs.arc"; +SECTION_DEAD static char const* const stringBase_80373D9D = + "ヒープ確保失敗につきオーディオ初期化できません\n"; +/* @stringBase0 padding */ +SECTION_DEAD static char const* const pad_80373DCD = "\0\0"; +#pragma pop + /* 803DBF40-803DBF4C 008C60 000C+00 1/1 0/1 0/0 .bss @3620 */ static u8 lit_3620[12]; @@ -348,7 +355,7 @@ asm void __sinit_m_Do_audio_cpp() { #pragma push #pragma force_active on -SECTION_CTORS void* const _ctors_80007318 = (void*)__sinit_m_Do_audio_cpp; +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 */ @@ -412,14 +419,4 @@ asm JAISeCategoryMgr::~JAISeCategoryMgr() { } #pragma pop -/* 80373D68-80373DD0 0003C8 0065+03 1/1 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -#pragma section ".dead" -SECTION_DEAD static char const* const stringBase_80373D68 = "/Audiores/Z2Sound.baa"; -SECTION_DEAD static char const* const stringBase_80373D7E = "/Audiores/Seqs/Z2SoundSeqs.arc"; -SECTION_DEAD static char const* const stringBase_80373D9D = - "ヒープ確保失敗につきオーディオ初期化できません\n"; -/* @stringBase0 padding */ -SECTION_DEAD static char const* const pad_80373DCD = "\0\0"; -#pragma pop +/* 80373D68-80373D68 0003C8 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/m_Do/m_Do_dvd_thread.cpp b/src/m_Do/m_Do_dvd_thread.cpp index 27f392ba56..be32126f17 100644 --- a/src/m_Do/m_Do_dvd_thread.cpp +++ b/src/m_Do/m_Do_dvd_thread.cpp @@ -369,6 +369,14 @@ asm void mDoDvdThd_param_c::cut(mDoDvdThd_command_c* param_0) { } #pragma pop +/* ############################################################################################## */ +/* 803741A8-803741A8 000808 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +#pragma push +#pragma force_active on +SECTION_DEAD static char const* const stringBase_803741A8 = + "mDoDvdThd_param_c::mainLoop() コマンドの実行が失敗しました。\n"; +#pragma pop + /* 80015A90-80015AD8 0103D0 0048+00 1/1 0/0 0/0 .text cb__FPv */ #pragma push #pragma optimization_level 0 @@ -413,7 +421,7 @@ asm mDoDvdThd_callback_c::~mDoDvdThd_callback_c() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm mDoDvdThd_callback_c::mDoDvdThd_callback_c(void* (*)(void*), void* param_1) { +asm mDoDvdThd_callback_c::mDoDvdThd_callback_c(void* (*param_0)(void*), void* param_1) { nofralloc #include "asm/m_Do/m_Do_dvd_thread/__ct__20mDoDvdThd_callback_cFPFPv_PvPv.s" } @@ -423,7 +431,7 @@ asm mDoDvdThd_callback_c::mDoDvdThd_callback_c(void* (*)(void*), void* param_1) #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -asm void mDoDvdThd_callback_c::create(void* (*)(void*), void* param_1) { +asm void mDoDvdThd_callback_c::create(void* (*param_0)(void*), void* param_1) { nofralloc #include "asm/m_Do/m_Do_dvd_thread/create__20mDoDvdThd_callback_cFPFPv_PvPv.s" } @@ -473,6 +481,29 @@ asm void mDoDvdThd_mountArchive_c::create(char const* param_0, u8 param_1, JKRHe } #pragma pop +/* ############################################################################################## */ +/* 803741A8-803741A8 000808 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +#pragma push +#pragma force_active on +SECTION_DEAD static char const* const stringBase_803741E6 = + "mDoDvdThd_mountArchive_c::execute マウント失敗\n"; +SECTION_DEAD static char const* const stringBase_80374216 = + "mDoDvdThd_mountArchive_c::execute ゼルダヒープで再チャレンジ!" + "\n"; +SECTION_DEAD static char const* const stringBase_80374256 = + "mDoDvdThd_mountArchive_c::execute アーカイブヒープで再チャレン" + "ジ!\n"; +SECTION_DEAD static char const* const stringBase_8037429A = + "mDoDvdThd_mountArchive_c::execute ゲームヒープで再チャレンジ!" + "\n"; +SECTION_DEAD static char const* const stringBase_803742DA = + "mDoDvdThd_mountArchive_c::execute J2Dヒープで再チャレンジ!" + "\n"; +SECTION_DEAD static char const* const stringBase_80374317 = + "mDoDvdThd_mountArchive_c::execute ヒープが致命的に足りません!" + "\n"; +#pragma pop + /* 80015EDC-80016108 01081C 022C+00 1/0 0/0 0/0 .text execute__24mDoDvdThd_mountArchive_cFv */ #pragma push #pragma optimization_level 0 @@ -582,34 +613,20 @@ asm void __sinit_m_Do_dvd_thread_cpp() { #pragma push #pragma force_active on -SECTION_CTORS void* const _ctors_80016574 = (void*)__sinit_m_Do_dvd_thread_cpp; +REGISTER_CTORS(0x80016574, __sinit_m_Do_dvd_thread_cpp); #pragma pop -/* 803741A8-803743F8 000808 0250+00 2/2 0/0 0/0 .rodata @stringBase0 */ +/* ############################################################################################## */ +/* 80374357-8037438B 0009B7 0034+00 0/0 0/0 0/0 .rodata None */ #pragma push #pragma force_active on -#pragma section ".dead" -SECTION_DEAD static char const* const stringBase_803741A8 = - "mDoDvdThd_param_c::mainLoop() コマンドの実行が失敗しました。\n"; -SECTION_DEAD static char const* const stringBase_803741E6 = - "mDoDvdThd_mountArchive_c::execute マウント失敗\n"; -SECTION_DEAD static char const* const stringBase_80374216 = - "mDoDvdThd_mountArchive_c::execute ゼルダヒープで再チャレンジ!" - "\n"; -SECTION_DEAD static char const* const stringBase_80374256 = - "mDoDvdThd_mountArchive_c::execute アーカイブヒープで再チャレン" - "ジ!\n"; -SECTION_DEAD static char const* const stringBase_8037429A = - "mDoDvdThd_mountArchive_c::execute ゲームヒープで再チャレンジ!" - "\n"; -SECTION_DEAD static char const* const stringBase_803742DA = - "mDoDvdThd_mountArchive_c::execute J2Dヒープで再チャレンジ!" - "\n"; -SECTION_DEAD static char const* const stringBase_80374317 = - "mDoDvdThd_mountArchive_c::execute ヒープが致命的に足りません!" - "\n"; SECTION_DEAD static char const* const stringBase_80374357 = "mDoDvdThd_getResource_c::create() クラス生成に失敗\n"; +#pragma pop + +/* 8037438B-803743C1 0009EB 0036+00 0/0 0/0 0/0 .rodata None */ +#pragma push +#pragma force_active on // MWCC ignores mapping of some japanese characters using the // byte 0x5C (ASCII '\'). This is why this string is hex-encoded. SECTION_DEAD static char const* const stringBase_8037438B = @@ -617,6 +634,11 @@ SECTION_DEAD static char const* const stringBase_8037438B = "\x3A\x3A\x63\x72\x65\x61\x74\x65\x28\x29\x20\x83\x8A\x83\x5C\x81\x5B\x83\x58\x8E\xE6\x93\xBE" "\x82\xC9" "\x8E\xB8\x94\x73\x0A"; +#pragma pop + +/* 803743C1-803743F8 000A21 0037+00 0/0 0/0 0/0 .rodata None */ +#pragma push +#pragma force_active on // MWCC ignores mapping of some japanese characters using the // byte 0x5C (ASCII '\'). This is why this string is hex-encoded. SECTION_DEAD static char const* const stringBase_803743C1 = @@ -625,3 +647,5 @@ SECTION_DEAD static char const* const stringBase_803743C1 = "\xBE\x82" "\xC9\x8E\xB8\x94\x73\x0A"; #pragma pop + +/* 803741A8-803741A8 000808 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/m_Do/m_Do_ext.cpp b/src/m_Do/m_Do_ext.cpp index b02ff44d27..580e0641b5 100644 --- a/src/m_Do/m_Do_ext.cpp +++ b/src/m_Do/m_Do_ext.cpp @@ -58,6 +58,10 @@ struct J3DAnmTextureSRTKey { /* 8032B0C0 */ void searchUpdateMaterialID(J3DMaterialTable*); }; +struct J3DAnmTexPattern { + /* 8032B004 */ void searchUpdateMaterialID(J3DMaterialTable*); +}; + struct J3DAnmTevRegKey { /* 8032B780 */ void searchUpdateMaterialID(J3DMaterialTable*); }; @@ -66,10 +70,6 @@ struct J3DAnmColor { /* 8032A8A4 */ void searchUpdateMaterialID(J3DMaterialTable*); }; -struct J3DAnmTexPattern { - /* 8032B004 */ void searchUpdateMaterialID(J3DMaterialTable*); -}; - struct J3DMaterialTable { /* 8032FAF4 */ void entryMatColorAnimator(J3DAnmColor*); /* 8032FBC8 */ void entryTexNoAnimator(J3DAnmTexPattern*); @@ -136,11 +136,11 @@ struct mDoExt_MtxCalcAnmBlendTbl { /* 80014F3C */ ~mDoExt_MtxCalcAnmBlendTbl(); }; -struct mDoExt_McaMorfCallBack1_c {}; +struct J3DTransformInfo {}; struct mDoExt_McaMorfCallBack2_c {}; -struct J3DTransformInfo {}; +struct mDoExt_McaMorfCallBack1_c {}; struct Z2Creature { /* 802C0628 */ void initAnime(void*, bool, f32, f32); @@ -212,12 +212,12 @@ struct mDoExt_3DlineMatSortPacket { /* 80014E20 */ ~mDoExt_3DlineMatSortPacket(); }; -struct dKy_tevstr_c {}; - struct ResTIMG {}; struct _GXColor {}; +struct dKy_tevstr_c {}; + struct mDoExt_3DlineMat1_c { /* 80013360 */ void init(u16, u16, ResTIMG*, int); /* 800134F8 */ void setMaterial(); @@ -258,10 +258,10 @@ struct _GXBlendMode {}; struct _GXBlendFactor {}; -struct Z2SoundHandlePool {}; - struct JAISoundID {}; +struct Z2SoundHandlePool {}; + struct Z2SoundObjBase { /* 802BE038 */ void framework(u32, s8); /* 802BE070 */ void dispose(); @@ -378,14 +378,14 @@ struct J3DGXColorS10 { /* 8000E460 */ J3DGXColorS10(); }; -struct J3DGXColor { - /* 8000E538 */ J3DGXColor(); -}; - struct J3DIndTevStage { /* 8000E14C */ J3DIndTevStage(); }; +struct J3DGXColor { + /* 8000E538 */ J3DGXColor(); +}; + struct J3DTevBlock { /* 8000DBC8 */ void patchTexNoAndTexCoordScale(); /* 8000DBD4 */ void patch(); @@ -428,10 +428,10 @@ struct J3DShape { static u8 sOldVcdVatCmd[4]; }; -struct J3DBlend {}; - struct J3DAlphaComp {}; +struct J3DBlend {}; + struct J3DPEBlock { /* 8000DBCC */ void patch(); /* 8000DF3C */ bool getZCompLoc() const; @@ -453,9 +453,9 @@ template <typename A0, typename B0> struct J3DMtxCalcNoAnm {}; /* J3DMtxCalcNoAnm<J3DMtxCalcCalcTransformMaya, J3DMtxCalcJ3DSysInitMaya> */ struct J3DMtxCalcNoAnm__template0 { - /* 8000FA20 */ void func_8000FA20(); - /* 8001505C */ void func_8001505C(Vec const&, f32 const (&)[3][4]); - /* 80015084 */ void func_80015084(); + /* 8000FA20 */ void func_8000FA20(void* _this); + /* 8001505C */ void func_8001505C(void* _this, Vec const&, f32 const (&)[3][4]); + /* 80015084 */ void func_80015084(void* _this); }; struct J3DMtxCalcJ3DSysInitMaya { @@ -477,10 +477,10 @@ struct J3DMtxCalcAnimation {}; /* J3DMtxCalcAnimation<J3DMtxCalcAnimationAdaptorDefault<J3DMtxCalcCalcTransformMaya>, * J3DMtxCalcJ3DSysInitMaya> */ struct J3DMtxCalcAnimation__template0 { - /* 8000D8E4 */ void func_8000D8E4(J3DAnmTransform*); - /* 80014FC8 */ void func_80014FC8(); - /* 80015034 */ void func_80015034(Vec const&, f32 const (&)[3][4]); - /* 800150AC */ void func_800150AC(); + /* 8000D8E4 */ void func_8000D8E4(void* _this, J3DAnmTransform*); + /* 80014FC8 */ void func_80014FC8(void* _this); + /* 80015034 */ void func_80015034(void* _this, Vec const&, f32 const (&)[3][4]); + /* 800150AC */ void func_800150AC(void* _this); }; struct J3DMtxCalc { @@ -573,7 +573,7 @@ extern "C" void entry__13mDoExt_btkAnmFP16J3DMaterialTablef(); extern "C" void init__13mDoExt_brkAnmFP16J3DMaterialTableP15J3DAnmTevRegKeyiifss(); extern "C" void entry__13mDoExt_brkAnmFP16J3DMaterialTablef(); extern "C" void init__13mDoExt_bckAnmFP15J3DAnmTransformiifssb(); -extern "C" void func_8000D8E4(J3DAnmTransform*); +extern "C" void func_8000D8E4(void* _this, J3DAnmTransform*); extern "C" void __dt__17J3DMtxCalcAnmBaseFv(); extern "C" void __dt__10J3DMtxCalcFv(); extern "C" void changeBckOnly__13mDoExt_bckAnmFP15J3DAnmTransform(); @@ -700,7 +700,7 @@ extern "C" void initOldFrameMorf__22mDoExt_MtxCalcOldFrameFfUsUs(); extern "C" void decOldFrameMorfCounter__22mDoExt_MtxCalcOldFrameFv(); extern "C" void __ct__13mDoExt_morf_cFv(); extern "C" void __dt__12J3DFrameCtrlFv(); -extern "C" void func_8000FA20(); +extern "C" void func_8000FA20(void* _this); extern "C" void __dt__19J3DMtxCalcNoAnmBaseFv(); extern "C" void __dt__13mDoExt_morf_cFv(); extern "C" void setMorf__13mDoExt_morf_cFf(); @@ -788,11 +788,11 @@ extern "C" void __dt__28mDoExt_MtxCalcAnmBlendTblOldFv(); extern "C" void __dt__25mDoExt_MtxCalcAnmBlendTblFv(); extern "C" void getAnmTransform__17J3DMtxCalcAnmBaseFv(); extern "C" void setAnmTransform__17J3DMtxCalcAnmBaseFP15J3DAnmTransform(); -extern "C" void func_80014FC8(); -extern "C" void func_80015034(Vec const&, f32 const (&)[3][4]); -extern "C" void func_8001505C(Vec const&, f32 const (&)[3][4]); -extern "C" void func_80015084(); -extern "C" void func_800150AC(); +extern "C" void func_80014FC8(void* _this); +extern "C" void func_80015034(void* _this, Vec const&, f32 const (&)[3][4]); +extern "C" void func_8001505C(void* _this, Vec const&, f32 const (&)[3][4]); +extern "C" void func_80015084(void* _this); +extern "C" void func_800150AC(void* _this); extern "C" extern char const* const m_Do_m_Do_ext__stringBase0; // @@ -950,7 +950,7 @@ extern "C" extern u32 j3dDefaultIndTexOrderNull; extern "C" extern u8 j3dDefaultIndTexCoordScaleInfo[4]; extern "C" extern u8 j3dDefaultTevSwapMode[4]; extern "C" extern u8 j3dDefaultColorChanInfo[8]; -extern "C" extern u8 struct_804563F8[4]; +extern "C" extern u16 data_804563F8; // // Declarations: @@ -1835,17 +1835,12 @@ asm void mDoExt_bckAnm::init(J3DAnmTransform* param_0, int param_1, int param_2, } #pragma pop -/* 8000D8E4-8000D8EC 008224 0008+00 1/0 0/0 0/0 .text +/* 8000D8E4-8000D8EC -00001 0008+00 0/0 0/0 0/0 .text * setAnmTransform__114J3DMtxCalcAnimation<64J3DMtxCalcAnimationAdaptorDefault<27J3DMtxCalcCalcTransformMaya>,24J3DMtxCalcJ3DSysInitMaya>FP15J3DAnmTransform */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -extern "C" asm void func_8000D8E4(J3DAnmTransform* param_0) { - nofralloc -#include "asm/m_Do/m_Do_ext/func_8000D8E4.s" +extern "C" void func_8000D8E4(void* _this, J3DAnmTransform* param_0) { + *(u32*)(((u8*)_this) + 4) /* _this->field_0x4 */ = (u32)(param_0); } -#pragma pop /* 8000D8EC-8000D948 00822C 005C+00 1/0 0/0 0/0 .text __dt__17J3DMtxCalcAnmBaseFv */ #pragma push @@ -2494,6 +2489,18 @@ asm void mDoExt_setupShareTexture(J3DModelData* param_0, J3DModelData* param_1) } #pragma pop +/* ############################################################################################## */ +/* 803740FC-803740FC 00075C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +#pragma push +#pragma force_active on +// MWCC ignores mapping of some japanese characters using the +// byte 0x5C (ASCII '\'). This is why this string is hex-encoded. +SECTION_DEAD static char const* const stringBase_803740FC = + "\x83\x5C\x83\x8A\x83\x62\x83\x68\x83\x71\x81\x5B\x83\x76\x82\xBF\x82\xE1\x82\xA4\x82\xAA\x82" + "\xC8\x81\x49\x0A"; +SECTION_DEAD static char const* const stringBase_80374118 = "%s.bti"; +#pragma pop + /* 8000EA80-8000ECC0 0093C0 0240+00 0/0 0/0 6/6 .text mDoExt_setupStageTexture__FP12J3DModelData */ #pragma push @@ -2738,6 +2745,15 @@ asm void mDoExt_createSolidHeapFromGameToCurrent(u32 param_0, u32 param_1) { } #pragma pop +/* ############################################################################################## */ +/* 803740FC-803740FC 00075C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +#pragma push +#pragma force_active on +SECTION_DEAD static char const* const stringBase_8037411F = + "親ヒープがExpでないのでアジャストできません %08x %08x\n"; +SECTION_DEAD static char const* const stringBase_80374156 = "adjustSize失敗 %08x\n"; +#pragma pop + /* 8000F08C-8000F158 0099CC 00CC+00 1/1 11/11 0/0 .text mDoExt_adjustSolidHeap__FP12JKRSolidHeap */ #pragma push @@ -2885,7 +2901,7 @@ asm J3DFrameCtrl::~J3DFrameCtrl() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -extern "C" asm void func_8000FA20() { +extern "C" asm void func_8000FA20(void* _this) { nofralloc #include "asm/m_Do/m_Do_ext/func_8000FA20.s" } @@ -3495,6 +3511,14 @@ asm void mDoExt_3DlineMatSortPacket::draw() { } #pragma pop +/* ############################################################################################## */ +/* 803740FC-803740FC 00075C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +#pragma push +#pragma force_active on +SECTION_DEAD static char const* const stringBase_8037416B = + "\nキャッシュフォントクラス作成に失敗しました\n"; +#pragma pop + /* 80014804-8001494C 00F144 0148+00 3/3 0/0 0/0 .text * mDoExt_initFontCommon__FPP7JUTFontPP7ResFONTP7JKRHeapPCcP10JKRArchiveUcUlUl */ #pragma push @@ -3543,7 +3567,7 @@ SECTION_RODATA static u8 const fontdata_8224[18 + 2 /* padding */] = { 0x00, 0x00, }; -COMPILER_STRIP_GATE(803740C0, &fontdata_8224); +COMPILER_STRIP_GATE(0x803740C0, &fontdata_8224); /* 80450C44-80450C48 000144 0004+00 3/3 0/0 0/0 .sbss mDoExt_font0 */ static u8 mDoExt_font0[4]; @@ -3590,7 +3614,7 @@ SECTION_RODATA static u8 const fontdata_8253[20] = { 0x72, 0x65, 0x69, 0x73, 0x68, 0x6F, 0x74, 0x61, 0x69, 0x5F, 0x32, 0x34, 0x5F, 0x32, 0x32, 0x2E, 0x62, 0x66, 0x6E, 0x00, }; -COMPILER_STRIP_GATE(803740D4, &fontdata_8253); +COMPILER_STRIP_GATE(0x803740D4, &fontdata_8253); /* 80450C50-80450C54 000150 0004+00 2/2 0/0 0/0 .sbss mDoExt_font1 */ static u8 mDoExt_font1[4]; @@ -3627,7 +3651,7 @@ SECTION_RODATA static u8 const fontdata_8287[20] = { 0x72, 0x65, 0x69, 0x73, 0x68, 0x6F, 0x74, 0x61, 0x69, 0x5F, 0x32, 0x34, 0x5F, 0x32, 0x32, 0x2E, 0x62, 0x66, 0x6E, 0x00, }; -COMPILER_STRIP_GATE(803740E8, &fontdata_8287); +COMPILER_STRIP_GATE(0x803740E8, &fontdata_8287); /* 80450C5C-80450C60 00015C 0004+00 3/3 0/0 0/0 .sbss mDoExt_font2 */ static u8 mDoExt_font2[4]; @@ -3824,16 +3848,11 @@ asm void J3DMtxCalcAnmBase::getAnmTransform() { } #pragma pop -/* 80014FC0-80014FC8 00F900 0008+00 1/0 0/0 0/0 .text +/* 80014FC0-80014FC8 -00001 0008+00 0/0 0/0 0/0 .text * setAnmTransform__17J3DMtxCalcAnmBaseFP15J3DAnmTransform */ -#pragma push -#pragma optimization_level 0 -#pragma optimizewithasm off -asm void J3DMtxCalcAnmBase::setAnmTransform(J3DAnmTransform* param_0) { - nofralloc -#include "asm/m_Do/m_Do_ext/setAnmTransform__17J3DMtxCalcAnmBaseFP15J3DAnmTransform.s" +void J3DMtxCalcAnmBase::setAnmTransform(J3DAnmTransform* param_0) { + *(u32*)(((u8*)this) + 4) /* this->field_0x4 */ = (u32)(param_0); } -#pragma pop /* 80014FC8-80015034 00F908 006C+00 1/0 0/0 0/0 .text * __dt__114J3DMtxCalcAnimation<64J3DMtxCalcAnimationAdaptorDefault<27J3DMtxCalcCalcTransformMaya>,24J3DMtxCalcJ3DSysInitMaya>Fv @@ -3841,7 +3860,7 @@ asm void J3DMtxCalcAnmBase::setAnmTransform(J3DAnmTransform* param_0) { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -extern "C" asm void func_80014FC8() { +extern "C" asm void func_80014FC8(void* _this) { nofralloc #include "asm/m_Do/m_Do_ext/func_80014FC8.s" } @@ -3853,7 +3872,7 @@ extern "C" asm void func_80014FC8() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -extern "C" asm void func_80015034(Vec const& param_0, f32 const (¶m_1)[3][4]) { +extern "C" asm void func_80015034(void* _this, Vec const& param_0, f32 const (¶m_1)[3][4]) { nofralloc #include "asm/m_Do/m_Do_ext/func_80015034.s" } @@ -3865,7 +3884,7 @@ extern "C" asm void func_80015034(Vec const& param_0, f32 const (¶m_1)[3][4] #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -extern "C" asm void func_8001505C(Vec const& param_0, f32 const (¶m_1)[3][4]) { +extern "C" asm void func_8001505C(void* _this, Vec const& param_0, f32 const (¶m_1)[3][4]) { nofralloc #include "asm/m_Do/m_Do_ext/func_8001505C.s" } @@ -3876,7 +3895,7 @@ extern "C" asm void func_8001505C(Vec const& param_0, f32 const (¶m_1)[3][4] #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -extern "C" asm void func_80015084() { +extern "C" asm void func_80015084(void* _this) { nofralloc #include "asm/m_Do/m_Do_ext/func_80015084.s" } @@ -3888,25 +3907,10 @@ extern "C" asm void func_80015084() { #pragma push #pragma optimization_level 0 #pragma optimizewithasm off -extern "C" asm void func_800150AC() { +extern "C" asm void func_800150AC(void* _this) { nofralloc #include "asm/m_Do/m_Do_ext/func_800150AC.s" } #pragma pop -/* 803740FC-80374198 00075C 009C+00 3/3 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -#pragma section ".dead" -// MWCC ignores mapping of some japanese characters using the -// byte 0x5C (ASCII '\'). This is why this string is hex-encoded. -SECTION_DEAD static char const* const stringBase_803740FC = - "\x83\x5C\x83\x8A\x83\x62\x83\x68\x83\x71\x81\x5B\x83\x76\x82\xBF\x82\xE1\x82\xA4\x82\xAA\x82" - "\xC8\x81\x49\x0A"; -SECTION_DEAD static char const* const stringBase_80374118 = "%s.bti"; -SECTION_DEAD static char const* const stringBase_8037411F = - "親ヒープがExpでないのでアジャストできません %08x %08x\n"; -SECTION_DEAD static char const* const stringBase_80374156 = "adjustSize失敗 %08x\n"; -SECTION_DEAD static char const* const stringBase_8037416B = - "\nキャッシュフォントクラス作成に失敗しました\n"; -#pragma pop +/* 803740FC-803740FC 00075C 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/m_Do/m_Do_graphic.cpp b/src/m_Do/m_Do_graphic.cpp index d78cd2e86c..8495a368de 100644 --- a/src/m_Do/m_Do_graphic.cpp +++ b/src/m_Do/m_Do_graphic.cpp @@ -76,10 +76,10 @@ struct dDlst_shadowControl_c { /* 80055A14 */ void draw(f32 (*)[4]); }; -struct dDlst_base_c {}; - struct J3DDrawBuffer {}; +struct dDlst_base_c {}; + struct dDlst_list_c { /* 80056390 */ void init(); /* 80056538 */ void reset(); @@ -854,6 +854,16 @@ static asm void drawItem3D() { #pragma pop /* ############################################################################################## */ +/* 80373DD0-80373DD0 000430 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +#pragma push +#pragma force_active on +SECTION_DEAD static char const* const stringBase_80373DD0 = "F_SP124"; +SECTION_DEAD static char const* const stringBase_80373DD8 = "D_MN08"; +SECTION_DEAD static char const* const stringBase_80373DDF = "F_SP127"; +/* @stringBase0 padding */ +SECTION_DEAD static char const* const pad_80373DE7 = ""; +#pragma pop + /* 80451AD8-80451ADC 0000D8 0004+00 1/1 0/0 0/0 .sdata2 @5023 */ SECTION_SDATA2 static f32 lit_5023 = -1.0f; @@ -927,7 +937,7 @@ asm void __sinit_m_Do_graphic_cpp() { #pragma push #pragma force_active on -SECTION_CTORS void* const _ctors_8000B1D0 = (void*)__sinit_m_Do_graphic_cpp; +REGISTER_CTORS(0x8000B1D0, __sinit_m_Do_graphic_cpp); #pragma pop /* 8000B1E4-8000B1EC 005B24 0008+00 0/0 1/0 0/0 .text getAtnActorID__9daPy_py_cCFv */ @@ -935,13 +945,4 @@ s32 daPy_py_c::getAtnActorID() const { return -1; } -/* 80373DD0-80373DE8 000430 0017+01 1/1 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -#pragma section ".dead" -SECTION_DEAD static char const* const stringBase_80373DD0 = "F_SP124"; -SECTION_DEAD static char const* const stringBase_80373DD8 = "D_MN08"; -SECTION_DEAD static char const* const stringBase_80373DDF = "F_SP127"; -/* @stringBase0 padding */ -SECTION_DEAD static char const* const pad_80373DE7 = ""; -#pragma pop +/* 80373DD0-80373DD0 000430 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/m_Do/m_Do_lib.cpp b/src/m_Do/m_Do_lib.cpp index 3a2e8d3e5c..00968e3e56 100644 --- a/src/m_Do/m_Do_lib.cpp +++ b/src/m_Do/m_Do_lib.cpp @@ -197,7 +197,7 @@ asm void __sinit_m_Do_lib_cpp() { #pragma push #pragma force_active on -SECTION_CTORS void* const _ctors_80015544 = (void*)__sinit_m_Do_lib_cpp; +REGISTER_CTORS(0x80015544, __sinit_m_Do_lib_cpp); #pragma pop /* 80015590-800155D8 00FED0 0048+00 2/1 0/0 0/0 .text __dt__11J3DUClipperFv */ diff --git a/src/m_Do/m_Do_machine.cpp b/src/m_Do/m_Do_machine.cpp index 8a9f7fbd15..713ba8b7d7 100644 --- a/src/m_Do/m_Do_machine.cpp +++ b/src/m_Do/m_Do_machine.cpp @@ -277,6 +277,24 @@ extern "C" u8 sManager__17JUTConsoleManager[4]; // /* ############################################################################################## */ +/* 80373DE8-80373DE8 000448 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +#pragma push +#pragma force_active on +SECTION_DEAD static char const* const stringBase_80373DE8 = "SystemHeap"; +SECTION_DEAD static char const* const stringBase_80373DF3 = "ZeldaHeap"; +SECTION_DEAD static char const* const stringBase_80373DFD = "GameHeap"; +SECTION_DEAD static char const* const stringBase_80373E06 = "ArchiveHeap"; +SECTION_DEAD static char const* const stringBase_80373E12 = "CommandHeap"; +SECTION_DEAD static char const* const stringBase_80373E1E = "DbPrintHeap"; +SECTION_DEAD static char const* const stringBase_80373E2A = "J2dHeap"; +SECTION_DEAD static char const* const stringBase_80373E32 = "ASTH"; +SECTION_DEAD static char const* const stringBase_80373E37 = "EXPH"; +SECTION_DEAD static char const* const stringBase_80373E3C = "SLID"; +SECTION_DEAD static char const* const stringBase_80373E41 = "STDH"; +SECTION_DEAD static char const* const stringBase_80373E46 = "UNIT"; +SECTION_DEAD static char const* const stringBase_80373E4B = "(Null)"; +#pragma pop + /* 80450BF0-80450BF4 0000F0 0004+00 1/1 0/0 0/0 .sbss None */ static u8 data_80450BF0[4]; @@ -319,6 +337,18 @@ static asm void myGetHeapTypeByString(JKRHeap* param_0) { } #pragma pop +/* ############################################################################################## */ +/* 80373DE8-80373DE8 000448 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +#pragma push +#pragma force_active on +SECTION_DEAD static char const* const stringBase_80373E52 = + "エラー: メモリを確保できません %d(0x%x)バイト、 %d バイトアライメント from " + "%08x\n"; +SECTION_DEAD static char const* const stringBase_80373EA3 = + "FreeSize=%08x TotalFreeSize=%08x HeapType=%08x(%" + "c%c%c%c) HeapSize=%08x %s\n"; +#pragma pop + /* 8000B3EC-8000B5C8 005D2C 01DC+00 1/1 0/0 0/0 .text myMemoryErrorRoutine__FPvUli */ #pragma push #pragma optimization_level 0 @@ -329,6 +359,13 @@ static asm void myMemoryErrorRoutine(void* param_0, u32 param_1, int param_2) { } #pragma pop +/* ############################################################################################## */ +/* 80373DE8-80373DE8 000448 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +#pragma push +#pragma force_active on +SECTION_DEAD static char const* const stringBase_80373EEE = "error in %08x(%s)\n"; +#pragma pop + /* 8000B5C8-8000B668 005F08 00A0+00 1/1 0/0 0/0 .text myHeapCheckRecursive__FP7JKRHeap */ #pragma push #pragma optimization_level 0 @@ -389,6 +426,18 @@ static asm void exceptionRestart() { } #pragma pop +/* ############################################################################################## */ +/* 80373DE8-80373DE8 000448 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +#pragma push +#pragma force_active on +SECTION_DEAD static char const* const stringBase_80373F01 = "振動停止&原点復帰\n"; +SECTION_DEAD static char const* const stringBase_80373F15 = "例外マネージャがありません\n"; +SECTION_DEAD static char const* const stringBase_80373F31 = "キー入力を受け付けています\n"; +SECTION_DEAD static char const* const stringBase_80373F4D = "JUTAssertionを可視化しました\n"; +SECTION_DEAD static char const* const stringBase_80373F6B = "3秒間停止\n"; +SECTION_DEAD static char const* const stringBase_80373F76 = "/map/Final/Release"; +#pragma pop + /* 8000B7C8-8000B95C 006108 0194+00 1/1 0/0 0/0 .text myExceptionCallback__FUsP9OSContextUlUl */ #pragma push #pragma optimization_level 0 @@ -400,6 +449,16 @@ static asm void myExceptionCallback(u16 param_0, OSContext* param_1, u32 param_2 #pragma pop /* ############################################################################################## */ +/* 80373DE8-80373DE8 000448 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +#pragma push +#pragma force_active on +SECTION_DEAD static char const* const stringBase_80373F89 = "(SRR0-3):%08X %08X %08X %08X\n"; +SECTION_DEAD static char const* const stringBase_80373FA7 = + "PUSH START BUTTON TO ADDITIONAL INFOMATION\n"; +SECTION_DEAD static char const* const stringBase_80373FD3 = + "--------------------------------------\n"; +#pragma pop + /* 80451B00-80451B04 000100 0004+00 1/1 0/0 0/0 .sdata2 @3940 */ SECTION_SDATA2 static f32 lit_3940 = 8.0f; @@ -421,6 +480,22 @@ static void my_PrintHeap(char const* param_0, u32 param_1) { /* empty function */ } +/* ############################################################################################## */ +/* 80373DE8-80373DE8 000448 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +#pragma push +#pragma force_active on +SECTION_DEAD static char const* const stringBase_80373FFB = "" + "\x1B" + "[32m%-24s = size=%d KB\n" + "\x1B" + "[m"; +SECTION_DEAD static char const* const stringBase_80374017 = "" + "\x1B" + "[32m%-24s = %08x-%08x size=%d KB\n" + "\x1B" + "[m"; +#pragma pop + /* 8000BCF8-8000BD44 006638 004C+00 1/1 0/0 0/0 .text my_SysPrintHeap__FPCcPvUl */ #pragma push #pragma optimization_level 0 @@ -432,6 +507,19 @@ static asm void my_SysPrintHeap(char const* param_0, void* param_1, u32 param_2) #pragma pop /* ############################################################################################## */ +/* 80373DE8-80373DE8 000448 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +#pragma push +#pragma force_active on +SECTION_DEAD static char const* const stringBase_8037403D = "アリーナ"; +SECTION_DEAD static char const* const stringBase_80374046 = "システムヒープ"; +SECTION_DEAD static char const* const stringBase_80374055 = "コマンドヒープ"; +SECTION_DEAD static char const* const stringBase_80374064 = "アーカイブヒープ"; +SECTION_DEAD static char const* const stringBase_80374075 = "J2D用ヒープ"; +SECTION_DEAD static char const* const stringBase_80374084 = "ゲームヒープ"; +SECTION_DEAD static char const* const stringBase_80374091 = "ゼルダヒープ"; +SECTION_DEAD static char const* const stringBase_8037409E = "/map/Final/Release/frameworkF.map"; +#pragma pop + /* 803A2F60-803A2F9C 000080 003C+00 1/0 0/0 0/0 .data g_ntscZeldaIntDf */ SECTION_DATA static u8 g_ntscZeldaIntDf[60] = { 0x00, 0x00, 0x00, 0x00, 0x02, 0x60, 0x01, 0xC0, 0x01, 0xC0, 0x00, 0x1B, 0x00, 0x10, 0x02, @@ -466,57 +554,4 @@ asm void mDoMch_Create() { } #pragma pop -/* 80373DE8-803740C0 000448 02D8+00 7/7 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -#pragma section ".dead" -SECTION_DEAD static char const* const stringBase_80373DE8 = "SystemHeap"; -SECTION_DEAD static char const* const stringBase_80373DF3 = "ZeldaHeap"; -SECTION_DEAD static char const* const stringBase_80373DFD = "GameHeap"; -SECTION_DEAD static char const* const stringBase_80373E06 = "ArchiveHeap"; -SECTION_DEAD static char const* const stringBase_80373E12 = "CommandHeap"; -SECTION_DEAD static char const* const stringBase_80373E1E = "DbPrintHeap"; -SECTION_DEAD static char const* const stringBase_80373E2A = "J2dHeap"; -SECTION_DEAD static char const* const stringBase_80373E32 = "ASTH"; -SECTION_DEAD static char const* const stringBase_80373E37 = "EXPH"; -SECTION_DEAD static char const* const stringBase_80373E3C = "SLID"; -SECTION_DEAD static char const* const stringBase_80373E41 = "STDH"; -SECTION_DEAD static char const* const stringBase_80373E46 = "UNIT"; -SECTION_DEAD static char const* const stringBase_80373E4B = "(Null)"; -SECTION_DEAD static char const* const stringBase_80373E52 = - "エラー: メモリを確保できません %d(0x%x)バイト、 %d バイトアライメント from " - "%08x\n"; -SECTION_DEAD static char const* const stringBase_80373EA3 = - "FreeSize=%08x TotalFreeSize=%08x HeapType=%08x(%" - "c%c%c%c) HeapSize=%08x %s\n"; -SECTION_DEAD static char const* const stringBase_80373EEE = "error in %08x(%s)\n"; -SECTION_DEAD static char const* const stringBase_80373F01 = "振動停止&原点復帰\n"; -SECTION_DEAD static char const* const stringBase_80373F15 = "例外マネージャがありません\n"; -SECTION_DEAD static char const* const stringBase_80373F31 = "キー入力を受け付けています\n"; -SECTION_DEAD static char const* const stringBase_80373F4D = "JUTAssertionを可視化しました\n"; -SECTION_DEAD static char const* const stringBase_80373F6B = "3秒間停止\n"; -SECTION_DEAD static char const* const stringBase_80373F76 = "/map/Final/Release"; -SECTION_DEAD static char const* const stringBase_80373F89 = "(SRR0-3):%08X %08X %08X %08X\n"; -SECTION_DEAD static char const* const stringBase_80373FA7 = - "PUSH START BUTTON TO ADDITIONAL INFOMATION\n"; -SECTION_DEAD static char const* const stringBase_80373FD3 = - "--------------------------------------\n"; -SECTION_DEAD static char const* const stringBase_80373FFB = "" - "\x1B" - "[32m%-24s = size=%d KB\n" - "\x1B" - "[m"; -SECTION_DEAD static char const* const stringBase_80374017 = "" - "\x1B" - "[32m%-24s = %08x-%08x size=%d KB\n" - "\x1B" - "[m"; -SECTION_DEAD static char const* const stringBase_8037403D = "アリーナ"; -SECTION_DEAD static char const* const stringBase_80374046 = "システムヒープ"; -SECTION_DEAD static char const* const stringBase_80374055 = "コマンドヒープ"; -SECTION_DEAD static char const* const stringBase_80374064 = "アーカイブヒープ"; -SECTION_DEAD static char const* const stringBase_80374075 = "J2D用ヒープ"; -SECTION_DEAD static char const* const stringBase_80374084 = "ゲームヒープ"; -SECTION_DEAD static char const* const stringBase_80374091 = "ゼルダヒープ"; -SECTION_DEAD static char const* const stringBase_8037409E = "/map/Final/Release/frameworkF.map"; -#pragma pop +/* 80373DE8-80373DE8 000448 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/m_Do/m_Do_machine_exception.cpp b/src/m_Do/m_Do_machine_exception.cpp index 4472d88b8c..a225ce6e6d 100644 --- a/src/m_Do/m_Do_machine_exception.cpp +++ b/src/m_Do/m_Do_machine_exception.cpp @@ -117,6 +117,19 @@ static asm void print(char const* param_0) { } #pragma pop +/* ############################################################################################## */ +/* 80374460-80374460 000AC0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +#pragma push +#pragma force_active on +SECTION_DEAD static char const* const stringBase_80374460 = + "--------------------------------------\n"; +SECTION_DEAD static char const* const stringBase_80374488 = "-- Heap Free / TotalFree (KB) --\n"; +SECTION_DEAD static char const* const stringBase_803744AA = " Zelda %5d / %5d\n"; +SECTION_DEAD static char const* const stringBase_803744BD = " Game %5d / %5d\n"; +SECTION_DEAD static char const* const stringBase_803744D0 = "Archive %5d / %5d\n"; +SECTION_DEAD static char const* const stringBase_803744E3 = "--------------------------------\n"; +#pragma pop + /* 80017E30-80017F8C 012770 015C+00 1/1 0/0 0/0 .text dispHeapInfo__Fv */ #pragma push #pragma optimization_level 0 @@ -127,6 +140,13 @@ static asm void dispHeapInfo() { } #pragma pop +/* ############################################################################################## */ +/* 80374460-80374460 000AC0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +#pragma push +#pragma force_active on +SECTION_DEAD static char const* const stringBase_80374505 = "Start StageName:RoomNo [%s:%d]\n"; +#pragma pop + /* 80017F8C-80017FD0 0128CC 0044+00 1/1 0/0 0/0 .text dispGameInfo__Fv */ #pragma push #pragma optimization_level 0 @@ -137,6 +157,27 @@ static asm void dispGameInfo() { } #pragma pop +/* ############################################################################################## */ +/* 80374460-80374460 000AC0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +#pragma push +#pragma force_active on +SECTION_DEAD static char const* const stringBase_80374525 = + "------------- Date Infomation ---------\n"; +SECTION_DEAD static char const* const stringBase_8037454E = " FINAL VERSION\n"; +SECTION_DEAD static char const* const stringBase_8037455E = "COMPILE USER: FINAL\n"; +SECTION_DEAD static char const* const stringBase_80374573 = "COPYDATE : %17s\n"; +SECTION_DEAD static char const* const stringBase_80374586 = + "PowerOnTime: %04d/%2d/%2d %2d:%2d:%2d`%03d\"%03d\n"; +SECTION_DEAD static char const* const stringBase_803745B7 = + "HungUpTime : %04d/%2d/%2d %2d:%2d:%2d`%03d\"%03d\n"; +SECTION_DEAD static char const* const stringBase_803745E8 = + "PlayTime : %4d days, %2d:%2d:%2d`%03d\"%03d\n"; +SECTION_DEAD static char const* const stringBase_80374616 = + "---------------------------------------\n"; +/* @stringBase0 padding */ +SECTION_DEAD static char const* const pad_8037463F = ""; +#pragma pop + /* 80017FD0-80018124 012910 0154+00 1/1 0/0 0/0 .text dispDateInfo__Fv */ #pragma push #pragma optimization_level 0 @@ -185,31 +226,4 @@ u8 struct_80450C98[4]; extern u8 struct_80450C9C[4]; u8 struct_80450C9C[4]; -/* 80374460-80374640 000AC0 01DF+01 3/3 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -#pragma section ".dead" -SECTION_DEAD static char const* const stringBase_80374460 = - "--------------------------------------\n"; -SECTION_DEAD static char const* const stringBase_80374488 = "-- Heap Free / TotalFree (KB) --\n"; -SECTION_DEAD static char const* const stringBase_803744AA = " Zelda %5d / %5d\n"; -SECTION_DEAD static char const* const stringBase_803744BD = " Game %5d / %5d\n"; -SECTION_DEAD static char const* const stringBase_803744D0 = "Archive %5d / %5d\n"; -SECTION_DEAD static char const* const stringBase_803744E3 = "--------------------------------\n"; -SECTION_DEAD static char const* const stringBase_80374505 = "Start StageName:RoomNo [%s:%d]\n"; -SECTION_DEAD static char const* const stringBase_80374525 = - "------------- Date Infomation ---------\n"; -SECTION_DEAD static char const* const stringBase_8037454E = " FINAL VERSION\n"; -SECTION_DEAD static char const* const stringBase_8037455E = "COMPILE USER: FINAL\n"; -SECTION_DEAD static char const* const stringBase_80374573 = "COPYDATE : %17s\n"; -SECTION_DEAD static char const* const stringBase_80374586 = - "PowerOnTime: %04d/%2d/%2d %2d:%2d:%2d`%03d\"%03d\n"; -SECTION_DEAD static char const* const stringBase_803745B7 = - "HungUpTime : %04d/%2d/%2d %2d:%2d:%2d`%03d\"%03d\n"; -SECTION_DEAD static char const* const stringBase_803745E8 = - "PlayTime : %4d days, %2d:%2d:%2d`%03d\"%03d\n"; -SECTION_DEAD static char const* const stringBase_80374616 = - "---------------------------------------\n"; -/* @stringBase0 padding */ -SECTION_DEAD static char const* const pad_8037463F = ""; -#pragma pop +/* 80374460-80374460 000AC0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/m_Do/m_Do_main.cpp b/src/m_Do/m_Do_main.cpp index 89cdd9d278..daa7763aae 100644 --- a/src/m_Do/m_Do_main.cpp +++ b/src/m_Do/m_Do_main.cpp @@ -237,6 +237,16 @@ extern "C" u8 sAramObject__7JKRAram[4]; // Declarations: // +/* ############################################################################################## */ +/* 803739A0-803739A0 000000 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +#pragma push +#pragma force_active on +SECTION_DEAD static char const* const stringBase_803739A0 = "20Apr2004"; +SECTION_DEAD static char const* const stringBase_803739AA = "Patch2"; +SECTION_DEAD static char const* const stringBase_803739B1 = + "SDKのバージョンが一致しません。停止します\n"; +#pragma pop + /* 800056C0-80005728 000000 0068+00 1/1 0/0 0/0 .text version_check__Fv */ #pragma push #pragma optimization_level 0 @@ -368,6 +378,24 @@ asm void HeapCheck::getUsedCount() const { } #pragma pop +/* ############################################################################################## */ +/* 803739A0-803739A0 000000 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +#pragma push +#pragma force_active on +SECTION_DEAD static char const* const stringBase_803739DC = "[%sName]"; +SECTION_DEAD static char const* const stringBase_803739E5 = "HeapSize %8ld"; +SECTION_DEAD static char const* const stringBase_803739FB = "TargetHeapSize %8ld"; +SECTION_DEAD static char const* const stringBase_80373A11 = "TotalFree %8ld"; +SECTION_DEAD static char const* const stringBase_80373A27 = "FreeSize %8ld"; +SECTION_DEAD static char const* const stringBase_80373A3D = "TotalUsedSize %8ld"; +SECTION_DEAD static char const* const stringBase_80373A53 = "TotalUsedRate %3ld%%"; +SECTION_DEAD static char const* const stringBase_80373A6F = "MaxTotalUsedSize %8ld"; +SECTION_DEAD static char const* const stringBase_80373A85 = "MaxTotalUsedRate %3ld%%"; +SECTION_DEAD static char const* const stringBase_80373AA1 = "MinFreeSize %8ld"; +SECTION_DEAD static char const* const stringBase_80373AB7 = "MinFreeRate %3ld%%"; +SECTION_DEAD static char const* const stringBase_80373AD3 = "UsedCount %3ld%"; +#pragma pop + /* 800058C4-80005AD8 000204 0214+00 1/1 0/0 0/0 .text heapDisplay__9HeapCheckCFv */ #pragma push #pragma optimization_level 0 @@ -379,6 +407,24 @@ asm void HeapCheck::heapDisplay() const { #pragma pop /* ############################################################################################## */ +/* 803739A0-803739A0 000000 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +#pragma push +#pragma force_active on +SECTION_DEAD static char const* const stringBase_80373AEF = ""; +SECTION_DEAD static char const* const stringBase_80373AF0 = "TotalFree"; +SECTION_DEAD static char const* const stringBase_80373AFA = "MaxUsed "; +SECTION_DEAD static char const* const stringBase_80373B04 = "Used "; +SECTION_DEAD static char const* const stringBase_80373B0E = "RelUsed "; +SECTION_DEAD static char const* const stringBase_80373B18 = "/ MaxFree"; +SECTION_DEAD static char const* const stringBase_80373B22 = "/HeapSize"; +SECTION_DEAD static char const* const stringBase_80373B2C = "Blk/Bytes"; +SECTION_DEAD static char const* const stringBase_80373B36 = "ARAM Free"; +SECTION_DEAD static char const* const stringBase_80373B40 = "%d"; +SECTION_DEAD static char const* const stringBase_80373B43 = "%s"; +SECTION_DEAD static char const* const stringBase_80373B46 = " [%s]"; +SECTION_DEAD static char const* const stringBase_80373B4C = "%10d"; +#pragma pop + /* 803A2F14-803A2F28 -00001 0014+00 0/1 0/0 0/0 .data desc1$3717 */ #pragma push #pragma force_active on @@ -450,6 +496,19 @@ static asm void debugDisplay() { #pragma pop /* ############################################################################################## */ +/* 803739A0-803739A0 000000 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +#pragma push +#pragma force_active on +SECTION_DEAD static char const* const stringBase_80373B51 = "Press X+Y+START to CLEAR console."; +SECTION_DEAD static char const* const stringBase_80373B73 = "3DStick UP/Down to scroll"; +SECTION_DEAD static char const* const stringBase_80373B8D = + "Press A to output terminal from console."; +SECTION_DEAD static char const* const stringBase_80373BB6 = "SCROLL:%3d %3d %3d Output=%1x"; +SECTION_DEAD static char const* const stringBase_80373BD5 = "Press L+R trigger to control console."; +SECTION_DEAD static char const* const stringBase_80373BFB = + "Press [Z] trigger to close this window."; +#pragma pop + /* 80450B1C-80450B20 00001C 0004+00 1/1 0/0 0/0 .sbss console_position_x$3776 */ static f32 console_position_x; @@ -505,6 +564,13 @@ static asm void Debug_console(u32 param_0) { } #pragma pop +/* ############################################################################################## */ +/* 803739A0-803739A0 000000 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +#pragma push +#pragma force_active on +SECTION_DEAD static char const* const stringBase_80373C23 = "/str/Final/Release/COPYDATE"; +#pragma pop + /* 8000614C-800061C8 000A8C 007C+00 1/1 0/0 0/0 .text LOAD_COPYDATE__FPv */ #pragma push #pragma optimization_level 0 @@ -561,6 +627,28 @@ bool JKRHeap::dump_sort() { return true; } +/* ############################################################################################## */ +/* 803739A0-803739A0 000000 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +#pragma push +#pragma force_active on +SECTION_DEAD static char const* const stringBase_80373C3F = "Root"; +SECTION_DEAD static char const* const stringBase_80373C44 = "ルート"; +SECTION_DEAD static char const* const stringBase_80373C4B = "System"; +SECTION_DEAD static char const* const stringBase_80373C52 = "システム"; +SECTION_DEAD static char const* const stringBase_80373C5B = "Zelda"; +SECTION_DEAD static char const* const stringBase_80373C61 = "ゼルダ"; +SECTION_DEAD static char const* const stringBase_80373C68 = "Game"; +SECTION_DEAD static char const* const stringBase_80373C6D = "ゲーム"; +SECTION_DEAD static char const* const stringBase_80373C74 = "Archive"; +SECTION_DEAD static char const* const stringBase_80373C7C = "アーカイブ"; +SECTION_DEAD static char const* const stringBase_80373C87 = "J2d"; +SECTION_DEAD static char const* const stringBase_80373C8B = "J2D"; +SECTION_DEAD static char const* const stringBase_80373C8F = "Hostio"; +SECTION_DEAD static char const* const stringBase_80373C96 = "ホストIO"; +SECTION_DEAD static char const* const stringBase_80373C9F = "Command"; +SECTION_DEAD static char const* const stringBase_80373CA7 = "コマンド"; +#pragma pop + /* 800065E0-80006798 000F20 01B8+00 0/0 1/0 0/0 .text __sinit_m_Do_main_cpp */ #pragma push #pragma optimization_level 0 @@ -573,7 +661,7 @@ asm void __sinit_m_Do_main_cpp() { #pragma push #pragma force_active on -SECTION_CTORS void* const _ctors_800065E0 = (void*)__sinit_m_Do_main_cpp; +REGISTER_CTORS(0x800065E0, __sinit_m_Do_main_cpp); #pragma pop /* ############################################################################################## */ @@ -703,62 +791,4 @@ u8 struct_80450B98[4]; extern u8 data_80450B9C[4]; u8 data_80450B9C[4]; -/* 803739A0-80373CB0 000000 0310+00 8/6 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -#pragma section ".dead" -SECTION_DEAD static char const* const stringBase_803739A0 = "20Apr2004"; -SECTION_DEAD static char const* const stringBase_803739AA = "Patch2"; -SECTION_DEAD static char const* const stringBase_803739B1 = - "SDKのバージョンが一致しません。停止します\n"; -SECTION_DEAD static char const* const stringBase_803739DC = "[%sName]"; -SECTION_DEAD static char const* const stringBase_803739E5 = "HeapSize %8ld"; -SECTION_DEAD static char const* const stringBase_803739FB = "TargetHeapSize %8ld"; -SECTION_DEAD static char const* const stringBase_80373A11 = "TotalFree %8ld"; -SECTION_DEAD static char const* const stringBase_80373A27 = "FreeSize %8ld"; -SECTION_DEAD static char const* const stringBase_80373A3D = "TotalUsedSize %8ld"; -SECTION_DEAD static char const* const stringBase_80373A53 = "TotalUsedRate %3ld%%"; -SECTION_DEAD static char const* const stringBase_80373A6F = "MaxTotalUsedSize %8ld"; -SECTION_DEAD static char const* const stringBase_80373A85 = "MaxTotalUsedRate %3ld%%"; -SECTION_DEAD static char const* const stringBase_80373AA1 = "MinFreeSize %8ld"; -SECTION_DEAD static char const* const stringBase_80373AB7 = "MinFreeRate %3ld%%"; -SECTION_DEAD static char const* const stringBase_80373AD3 = "UsedCount %3ld%"; -SECTION_DEAD static char const* const stringBase_80373AEF = ""; -SECTION_DEAD static char const* const stringBase_80373AF0 = "TotalFree"; -SECTION_DEAD static char const* const stringBase_80373AFA = "MaxUsed "; -SECTION_DEAD static char const* const stringBase_80373B04 = "Used "; -SECTION_DEAD static char const* const stringBase_80373B0E = "RelUsed "; -SECTION_DEAD static char const* const stringBase_80373B18 = "/ MaxFree"; -SECTION_DEAD static char const* const stringBase_80373B22 = "/HeapSize"; -SECTION_DEAD static char const* const stringBase_80373B2C = "Blk/Bytes"; -SECTION_DEAD static char const* const stringBase_80373B36 = "ARAM Free"; -SECTION_DEAD static char const* const stringBase_80373B40 = "%d"; -SECTION_DEAD static char const* const stringBase_80373B43 = "%s"; -SECTION_DEAD static char const* const stringBase_80373B46 = " [%s]"; -SECTION_DEAD static char const* const stringBase_80373B4C = "%10d"; -SECTION_DEAD static char const* const stringBase_80373B51 = "Press X+Y+START to CLEAR console."; -SECTION_DEAD static char const* const stringBase_80373B73 = "3DStick UP/Down to scroll"; -SECTION_DEAD static char const* const stringBase_80373B8D = - "Press A to output terminal from console."; -SECTION_DEAD static char const* const stringBase_80373BB6 = "SCROLL:%3d %3d %3d Output=%1x"; -SECTION_DEAD static char const* const stringBase_80373BD5 = "Press L+R trigger to control console."; -SECTION_DEAD static char const* const stringBase_80373BFB = - "Press [Z] trigger to close this window."; -SECTION_DEAD static char const* const stringBase_80373C23 = "/str/Final/Release/COPYDATE"; -SECTION_DEAD static char const* const stringBase_80373C3F = "Root"; -SECTION_DEAD static char const* const stringBase_80373C44 = "ルート"; -SECTION_DEAD static char const* const stringBase_80373C4B = "System"; -SECTION_DEAD static char const* const stringBase_80373C52 = "システム"; -SECTION_DEAD static char const* const stringBase_80373C5B = "Zelda"; -SECTION_DEAD static char const* const stringBase_80373C61 = "ゼルダ"; -SECTION_DEAD static char const* const stringBase_80373C68 = "Game"; -SECTION_DEAD static char const* const stringBase_80373C6D = "ゲーム"; -SECTION_DEAD static char const* const stringBase_80373C74 = "Archive"; -SECTION_DEAD static char const* const stringBase_80373C7C = "アーカイブ"; -SECTION_DEAD static char const* const stringBase_80373C87 = "J2d"; -SECTION_DEAD static char const* const stringBase_80373C8B = "J2D"; -SECTION_DEAD static char const* const stringBase_80373C8F = "Hostio"; -SECTION_DEAD static char const* const stringBase_80373C96 = "ホストIO"; -SECTION_DEAD static char const* const stringBase_80373C9F = "Command"; -SECTION_DEAD static char const* const stringBase_80373CA7 = "コマンド"; -#pragma pop +/* 803739A0-803739A0 000000 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ diff --git a/src/m_Do/m_Do_mtx.cpp b/src/m_Do/m_Do_mtx.cpp index dacf8701e6..6dfa32265a 100644 --- a/src/m_Do/m_Do_mtx.cpp +++ b/src/m_Do/m_Do_mtx.cpp @@ -11,10 +11,10 @@ // Types: // -struct Quaternion {}; - struct csXyz {}; +struct Quaternion {}; + struct Vec {}; struct cXyz { @@ -493,7 +493,7 @@ asm void __sinit_m_Do_mtx_cpp() { #pragma push #pragma force_active on -SECTION_CTORS void* const _ctors_8000CFB8 = (void*)__sinit_m_Do_mtx_cpp; +REGISTER_CTORS(0x8000CFB8, __sinit_m_Do_mtx_cpp); #pragma pop /* 8000D034-8000D070 007974 003C+00 1/1 0/0 0/0 .text __dt__18mDoMtx_quatStack_cFv */ diff --git a/src/m_Do/m_Do_printf.cpp b/src/m_Do/m_Do_printf.cpp index 8eeccd450a..ba6bd2e141 100644 --- a/src/m_Do/m_Do_printf.cpp +++ b/src/m_Do/m_Do_printf.cpp @@ -240,6 +240,18 @@ asm void OSReport() { } #pragma pop +/* ############################################################################################## */ +/* 80373CB0-80373CB0 000310 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +#pragma push +#pragma force_active on +SECTION_DEAD static char const* const stringBase_80373CB0 = "" + "\x1B" + "[41;37m***** FATAL ERROR *****\n"; +SECTION_DEAD static char const* const stringBase_80373CD1 = "***** FATAL ERROR *****\n" + "\x1B" + "[m"; +#pragma pop + /* 80006B3C-80006C0C 00147C 00D0+00 0/0 2/2 0/0 .text OSReport_FatalError */ #pragma push #pragma optimization_level 0 @@ -250,6 +262,18 @@ asm void OSReport_FatalError() { } #pragma pop +/* ############################################################################################## */ +/* 80373CB0-80373CB0 000310 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +#pragma push +#pragma force_active on +SECTION_DEAD static char const* const stringBase_80373CED = "" + "\x1B" + "[41;37m[ERROR]"; +SECTION_DEAD static char const* const stringBase_80373CFD = "" + "\x1B" + "[m"; +#pragma pop + /* 80006C0C-80006CEC 00154C 00E0+00 0/0 31/31 10/10 .text OSReport_Error */ #pragma push #pragma optimization_level 0 @@ -260,6 +284,15 @@ asm void OSReport_Error() { } #pragma pop +/* ############################################################################################## */ +/* 80373CB0-80373CB0 000310 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +#pragma push +#pragma force_active on +SECTION_DEAD static char const* const stringBase_80373D01 = "" + "\x1B" + "[43;30m[WARN]"; +#pragma pop + /* 80006CEC-80006DCC 00162C 00E0+00 0/0 6/6 0/0 .text OSReport_Warning */ #pragma push #pragma optimization_level 0 @@ -280,6 +313,16 @@ asm void OSReport_System() { } #pragma pop +/* ############################################################################################## */ +/* 80373CB0-80373CB0 000310 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ +#pragma push +#pragma force_active on +SECTION_DEAD static char const* const stringBase_80373D10 = " in \"%s\" on line %d.\n"; +SECTION_DEAD static char const* const stringBase_80373D26 = + "\nAddress: Back Chain LR Save\n"; +SECTION_DEAD static char const* const stringBase_80373D4C = "0x%08x: 0x%08x 0x%08x\n"; +#pragma pop + /* 80006E7C-80006FB4 0017BC 0138+00 0/0 9/9 0/0 .text OSPanic */ #pragma push #pragma optimization_level 0 @@ -290,27 +333,4 @@ asm void OSPanic() { } #pragma pop -/* 80373CB0-80373D68 000310 00B8+00 4/4 0/0 0/0 .rodata @stringBase0 */ -#pragma push -#pragma force_active on -#pragma section ".dead" -SECTION_DEAD static char const* const stringBase_80373CB0 = "" - "\x1B" - "[41;37m***** FATAL ERROR *****\n"; -SECTION_DEAD static char const* const stringBase_80373CD1 = "***** FATAL ERROR *****\n" - "\x1B" - "[m"; -SECTION_DEAD static char const* const stringBase_80373CED = "" - "\x1B" - "[41;37m[ERROR]"; -SECTION_DEAD static char const* const stringBase_80373CFD = "" - "\x1B" - "[m"; -SECTION_DEAD static char const* const stringBase_80373D01 = "" - "\x1B" - "[43;30m[WARN]"; -SECTION_DEAD static char const* const stringBase_80373D10 = " in \"%s\" on line %d.\n"; -SECTION_DEAD static char const* const stringBase_80373D26 = - "\nAddress: Back Chain LR Save\n"; -SECTION_DEAD static char const* const stringBase_80373D4C = "0x%08x: 0x%08x 0x%08x\n"; -#pragma pop +/* 80373CB0-80373CB0 000310 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */ |
