summaryrefslogtreecommitdiff
path: root/src/m_Do
diff options
context:
space:
mode:
authorJulgodis <>2021-04-10 07:02:38 +0200
committerJulgodis <>2021-04-10 07:02:38 +0200
commit0ad6ebe7b499ad3efffad93e2e7eb1033bcb6598 (patch)
treea40631b0654c4d310ebff2360e2a4ef32437a2b5 /src/m_Do
parent2661db6aaa98a5bbd17691cb438ef64752dbcdf4 (diff)
moved strings + decompile simple store functions
Diffstat (limited to 'src/m_Do')
-rw-r--r--src/m_Do/m_Do_MemCard.cpp20
-rw-r--r--src/m_Do/m_Do_MemCardRWmng.cpp24
-rw-r--r--src/m_Do/m_Do_Reset.cpp13
-rw-r--r--src/m_Do/m_Do_audio.cpp33
-rw-r--r--src/m_Do/m_Do_dvd_thread.cpp72
-rw-r--r--src/m_Do/m_Do_ext.cpp148
-rw-r--r--src/m_Do/m_Do_graphic.cpp27
-rw-r--r--src/m_Do/m_Do_lib.cpp2
-rw-r--r--src/m_Do/m_Do_machine.cpp143
-rw-r--r--src/m_Do/m_Do_machine_exception.cpp70
-rw-r--r--src/m_Do/m_Do_main.cpp150
-rw-r--r--src/m_Do/m_Do_mtx.cpp6
-rw-r--r--src/m_Do/m_Do_printf.cpp68
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 (&param_1)[3][4]) {
+extern "C" asm void func_80015034(void* _this, Vec const& param_0, f32 const (&param_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 (&param_1)[3][4]
#pragma push
#pragma optimization_level 0
#pragma optimizewithasm off
-extern "C" asm void func_8001505C(Vec const& param_0, f32 const (&param_1)[3][4]) {
+extern "C" asm void func_8001505C(void* _this, Vec const& param_0, f32 const (&param_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 (&param_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 */