mirror of
https://github.com/zeldaret/tp
synced 2026-07-08 14:36:36 -04:00
d_file_select work + misc changes (#1873)
* setup TU * JASResArcLoader OK * d_a_obj_stoneMark work * some funcs in d_a_obj_stoneMark * many changes * quat, d_a_obj_stone, d_a_alink, fix python script, tidy makefile * d_file_select functions + pr cleanup * match many dfile_select_c methods * m_Do_main OK * selFileWakuAnm & bookIconAnm * selCopyFileWakuAnm & copyBookIconAnm * dataDelEffAnm & dataCopyEffAnm * selectDataBaseMoveAnmInitSet & selectDataBaseMoveAnm * dataSelectIn * _move & dataSelectInit * match a few more * comment * J2DPicture::drawTexCoord * draw_function * dScnPly_Create + fix typing on request_of_phase_process_fn * checkpoint * checkpoint * checkpoint * checkpoint 2 (fixed) * dFile_select_c::dataSelectAnmSet * dFile_select_c::selectDataOpenMove * dFile_select_c::copySelMoveAnmInitSet * fix brightcheck issues * rm comments, fix status update * small mod to pr template
This commit is contained in:
+5
-2
@@ -982,8 +982,11 @@ int cDylPhs::phase_03(void* param_0) {
|
||||
/* 8001884C-80018890 01318C 0044+00 0/0 2/2 0/0 .text
|
||||
* Link__7cDylPhsFP30request_of_phase_process_classs */
|
||||
int cDylPhs::Link(request_of_phase_process_class* i_phase, s16 param_1) {
|
||||
static int (*l_method[3])(void*) = {cDylPhs::phase_01, (int (*)(void*))cDylPhs::phase_02,
|
||||
cDylPhs::phase_03};
|
||||
static request_of_phase_process_fn l_method[3] = {
|
||||
(request_of_phase_process_fn)cDylPhs::phase_01,
|
||||
(request_of_phase_process_fn)cDylPhs::phase_02,
|
||||
(request_of_phase_process_fn)cDylPhs::phase_03
|
||||
};
|
||||
|
||||
if (i_phase->id == cPhs_TWO_e) {
|
||||
return cPhs_COMPLEATE_e;
|
||||
|
||||
@@ -401,4 +401,4 @@ asm dDlst_BrightCheck_c::~dDlst_BrightCheck_c() {
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
/* 803949D8-803949D8 021038 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
/* 803949D8-803949D8 021038 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
+1123
-196
File diff suppressed because it is too large
Load Diff
+89
-60
@@ -10,6 +10,7 @@
|
||||
#include "d/meter/d_meter2_info.h"
|
||||
#include "dolphin/types.h"
|
||||
#include "f_op/f_op_overlap_mng.h"
|
||||
#include "f_op/f_op_scene.h"
|
||||
#include "f_op/f_op_scene_mng.h"
|
||||
#include "f_pc/f_pc_manager.h"
|
||||
#include "global.h"
|
||||
@@ -18,69 +19,92 @@
|
||||
#include "m_Do/m_Do_graphic.h"
|
||||
#include "m_Do/m_Do_machine.h"
|
||||
#include "m_Do/m_Do_mtx.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
class dSn_HIO_c {
|
||||
public:
|
||||
/* 8025878C */ dSn_HIO_c();
|
||||
/* 802592DC */ virtual ~dSn_HIO_c() {}
|
||||
|
||||
/* 0x4 */ s8 field_0x4;
|
||||
/* 0x5 */ u8 mFileSelWaitTime;
|
||||
};
|
||||
|
||||
// TODO: Remove when dFile_select_c virtual functions are properly defined in header
|
||||
class dFile_select_c {
|
||||
public:
|
||||
/* 8018366C */ dFile_select_c(JKRArchive*);
|
||||
/* 8018375C */ virtual ~dFile_select_c();
|
||||
/* 801843CC */ void _create();
|
||||
/* 801844FC */ void _move();
|
||||
/* 8018DD38 */ void _draw();
|
||||
|
||||
bool getFadeFlag() { return mFadeFlag; }
|
||||
int isDataNew(u8 i) { return mDataNew[i]; }
|
||||
int isSelectEnd() { return mSelectEnd; }
|
||||
u8 getSelectNum() { return mSelectNum; }
|
||||
void setUseType(u8 type) { mUseType = type; }
|
||||
|
||||
private:
|
||||
u8 field_0x4[0x254];
|
||||
/* 0x0258 */ u8 mDataNew[3];
|
||||
/* 0x025B */ u8 field_0x25b[0x265 - 0x25b];
|
||||
/* 0x0265 */ u8 mSelectNum;
|
||||
/* 0x0266 */ u8 field_0x266[0x270 - 0x266];
|
||||
/* 0x0270 */ bool mSelectEnd;
|
||||
/* 0x0271 */ u8 field_0x271[0x3b0 - 0x271];
|
||||
/* 0x03B0 */ u8 mUseType;
|
||||
/* 0x03B1 */ u8 field_0x3b1[0x2374 - 0x3b1];
|
||||
/* 0x2374 */ bool mFadeFlag;
|
||||
/* 0x2375 */ u8 field_0x2375[0x237c - 0x2375];
|
||||
};
|
||||
|
||||
// TODO: Remove when dBrightCheck_c virtual functions are properly defined in header
|
||||
class dBrightCheck_c {
|
||||
public:
|
||||
/* 80192F10 */ dBrightCheck_c(JKRArchive*);
|
||||
/* 80192F98 */ virtual ~dBrightCheck_c();
|
||||
/* 801934D0 */ void _move();
|
||||
/* 80193594 */ void _draw();
|
||||
|
||||
bool isEnd() { return mEnd; }
|
||||
|
||||
u8 field_0x4[0x15];
|
||||
/* 0x19 */ bool mEnd;
|
||||
};
|
||||
|
||||
#include "f_op/f_op_overlap_mng.h"
|
||||
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__9dSn_HIO_cFv();
|
||||
extern "C" static void phase_1__FPc();
|
||||
extern "C" static void phase_2__FPc();
|
||||
extern "C" static void resLoad__FP30request_of_phase_process_classPc();
|
||||
extern "C" void create__10dScnName_cFv();
|
||||
extern "C" void setView__10dScnName_cFv();
|
||||
extern "C" void execute__10dScnName_cFv();
|
||||
extern "C" void draw__10dScnName_cFv();
|
||||
extern "C" void __dt__10dScnName_cFv();
|
||||
extern "C" void FileSelectOpen__10dScnName_cFv();
|
||||
extern "C" void FileSelectMain__10dScnName_cFv();
|
||||
extern "C" void FileSelectMainNormal__10dScnName_cFv();
|
||||
extern "C" void FileSelectClose__10dScnName_cFv();
|
||||
extern "C" void brightCheckOpen__10dScnName_cFv();
|
||||
extern "C" void brightCheck__10dScnName_cFv();
|
||||
extern "C" void changeGameScene__10dScnName_cFv();
|
||||
extern "C" static void dScnName_Draw__FP10dScnName_c();
|
||||
extern "C" static void dScnName_Execute__FP10dScnName_c();
|
||||
extern "C" static void dScnName_IsDelete__FP10dScnName_c();
|
||||
extern "C" static void dScnName_Delete__FP10dScnName_c();
|
||||
extern "C" static void dScnName_Create__FP11scene_class();
|
||||
extern "C" void __dt__17dScnName_camera_cFv();
|
||||
extern "C" void __dt__9dSn_HIO_cFv();
|
||||
extern "C" void __sinit_d_s_name_cpp();
|
||||
extern "C" extern char const* const d_s_d_s_name__stringBase0;
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void mDoMtx_lookAt__FPA4_fPC3VecPC3Vecs();
|
||||
extern "C" void mDoMtx_concatProjView__FPA4_CfPA4_CfPA4_f();
|
||||
extern "C" void mDoExt_getGameHeap__Fv();
|
||||
extern "C" void mDoExt_setCurrentHeap__FP7JKRHeap();
|
||||
extern "C" void fopOvlpM_IsPeek__Fv();
|
||||
extern "C" void fopScnM_ChangeReq__FP11scene_classssUs();
|
||||
extern "C" void dComIfG_resetToOpening__FP11scene_class();
|
||||
extern "C" void dComIfGp_setNextStage__FPCcsScSc();
|
||||
extern "C" void dComIfGs_gameStart__Fv();
|
||||
extern "C" void dComLbG_PhaseHandler__FP30request_of_phase_process_classPPFPv_iPv();
|
||||
extern "C" void offFirstBit__21dSv_player_get_item_cFUc();
|
||||
extern "C" void setRes__14dRes_control_cFPCcP11dRes_info_ciPCcUcP7JKRHeap();
|
||||
extern "C" void syncRes__14dRes_control_cFPCcP11dRes_info_ci();
|
||||
extern "C" void deleteRes__14dRes_control_cFPCcP11dRes_info_ci();
|
||||
extern "C" void getResInfo__14dRes_control_cFPCcP11dRes_info_ci();
|
||||
extern "C" void cleanup__13dPa_control_cFv();
|
||||
extern "C" void setViewPort__14dDlst_window_cFffffff();
|
||||
extern "C" void setScissor__14dDlst_window_cFffff();
|
||||
extern "C" void Run__12dVibration_cFv();
|
||||
extern "C" void Init__12dVibration_cFv();
|
||||
extern "C" void __ct__14dFile_select_cFP10JKRArchive();
|
||||
extern "C" void _create__14dFile_select_cFv();
|
||||
extern "C" void _move__14dFile_select_cFv();
|
||||
extern "C" void _draw__14dFile_select_cFv();
|
||||
extern "C" void __ct__14dBrightCheck_cFP10JKRArchive();
|
||||
extern "C" void _move__14dBrightCheck_cFv();
|
||||
extern "C" void _draw__14dBrightCheck_cFv();
|
||||
extern "C" void dKy_clear_game_init__Fv();
|
||||
extern "C" void dKy_setLight_init__Fv();
|
||||
extern "C" void changeWater__13dMeter2Info_cFUc();
|
||||
extern "C" void bgmStart__8Z2SeqMgrFUlUll();
|
||||
extern "C" void bgmStop__8Z2SeqMgrFUll();
|
||||
extern "C" void bgmStreamPrepare__8Z2SeqMgrFUl();
|
||||
extern "C" void bgmStreamPlay__8Z2SeqMgrFv();
|
||||
extern "C" void becomeCurrentHeap__7JKRHeapFv();
|
||||
extern "C" void destroy__7JKRHeapFv();
|
||||
extern "C" void* __nw__FUl();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void create__10JKRExpHeapFUlP7JKRHeapb();
|
||||
extern "C" void __register_global_object();
|
||||
extern "C" void __ptmf_scall();
|
||||
extern "C" void _savegpr_28();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" void* mRenderModeObj__15mDoMch_render_c[1 + 1 /* padding */];
|
||||
extern "C" u8 mFader__13mDoGph_gInf_c[4];
|
||||
extern "C" u8 mResetData__6mDoRst[4 + 4 /* padding */];
|
||||
extern "C" u8 sManager__10JFWDisplay[4];
|
||||
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
@@ -130,9 +154,12 @@ static s32 phase_2(char* resName) {
|
||||
/* 80258878-802588A0 2531B8 0028+00 1/1 0/0 0/0 .text
|
||||
* resLoad__FP30request_of_phase_process_classPc */
|
||||
static s32 resLoad(request_of_phase_process_class* i_phase, char* param_1) {
|
||||
static s32 (*l_method[2])(char*) = {phase_1, phase_2};
|
||||
static request_of_phase_process_fn l_method[2] = {
|
||||
(request_of_phase_process_fn)phase_1,
|
||||
(request_of_phase_process_fn)phase_2
|
||||
};
|
||||
|
||||
return dComLbG_PhaseHandler(i_phase, (request_of_phase_process_fn)l_method, param_1);
|
||||
return dComLbG_PhaseHandler(i_phase, l_method, param_1);
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
@@ -313,10 +340,11 @@ void dScnName_c::brightCheck() {
|
||||
if (mBrightCheck->isEnd()) {
|
||||
dComIfGs_setSaveTotalTime(dComIfGs_getTotalTime());
|
||||
dComIfGs_setSaveStartTime(OSGetTime());
|
||||
|
||||
mDoAud_bgmStop(0x2D);
|
||||
|
||||
field_0x41f = 0;
|
||||
field_0x41d = 5;
|
||||
|
||||
dComIfGs_offItemFirstBit(GREEN_RUPEE);
|
||||
dComIfGs_offItemFirstBit(BLUE_RUPEE);
|
||||
dComIfGs_offItemFirstBit(YELLOW_RUPEE);
|
||||
@@ -339,6 +367,7 @@ void dScnName_c::changeGameScene() {
|
||||
if (dFs_c->isDataNew(dFs_c->getSelectNum())) {
|
||||
dComIfGp_setNextStage("F_SP108", 21, 1, 13);
|
||||
}
|
||||
|
||||
dKy_clear_game_init();
|
||||
dComIfGs_resetDan();
|
||||
dComIfGs_setRestartRoomParam(0);
|
||||
|
||||
+2
-13
@@ -984,20 +984,9 @@ static int phase_compleate(void* param_0) {
|
||||
}
|
||||
|
||||
/* 8025AB94-8025ABC4 2554D4 0030+00 1/0 0/0 0/0 .text dScnPly_Create__FP11scene_class */
|
||||
#ifdef NONMATCHING
|
||||
static void dScnPly_Create(scene_class* scn) {
|
||||
dComLbG_PhaseHandler(&scn->field_0x1c4, l_method[0], scn);
|
||||
static void dScnPly_Create(scene_class* i_this) {
|
||||
dComLbG_PhaseHandler(&static_cast<dScnPly_c*>(i_this)->field_0x1c4, l_method, i_this);
|
||||
}
|
||||
#else
|
||||
#pragma push
|
||||
#pragma optimization_level 0
|
||||
#pragma optimizewithasm off
|
||||
static asm void dScnPly_Create(scene_class* param_0) {
|
||||
nofralloc
|
||||
#include "asm/d/s/d_s_play/dScnPly_Create__FP11scene_class.s"
|
||||
}
|
||||
#pragma pop
|
||||
#endif
|
||||
|
||||
/* 8025ABC4-8025AC0C 255504 0048+00 1/0 0/0 0/0 .text __dt__22dScnPly_env_debugHIO_cFv */
|
||||
#pragma push
|
||||
|
||||
@@ -431,4 +431,4 @@ JKRExpHeap* fopMsgM_createExpHeap(u32 i_heapSize, JKRHeap* i_heap) {
|
||||
/* 800203E0-80020400 01AD20 0020+00 0/0 3/3 0/0 .text fopMsgM_destroyExpHeap__FP10JKRExpHeap */
|
||||
void fopMsgM_destroyExpHeap(JKRExpHeap* i_heap) {
|
||||
i_heap->destroy();
|
||||
}
|
||||
}
|
||||
@@ -27,6 +27,7 @@
|
||||
#include "m_Do/m_Do_machine_exception.h"
|
||||
#include "m_Do/m_Do_main.h"
|
||||
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
+49
-107
@@ -32,23 +32,7 @@
|
||||
#include "m_Do/m_Do_graphic.h"
|
||||
#include "m_Do/m_Do_machine.h"
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" extern char const* const m_Do_m_Do_main__stringBase0;
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void dump__14dRes_control_cFv();
|
||||
extern "C" void dump__24DynamicModuleControlBaseFv();
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 800056C0-80005728 000000 0068+00 1/1 0/0 0/0 .text version_check__Fv */
|
||||
void version_check() {
|
||||
if (!strcmp("20Apr2004", "20Apr2004") && !strcmp("Patch2", "Patch2")) {
|
||||
return;
|
||||
@@ -60,77 +44,60 @@ void version_check() {
|
||||
} while (true);
|
||||
}
|
||||
|
||||
/* 80005728-8000578C 000068 0064+00 1/1 0/0 0/0 .text CheckHeap1__9HeapCheckFv */
|
||||
void HeapCheck::CheckHeap1() {
|
||||
s32 totalUsedSize = mHeap->getTotalUsedSize();
|
||||
s32 freeSize = mHeap->getFreeSize();
|
||||
|
||||
if (mMaxTotalUsedSize < totalUsedSize) {
|
||||
if (mMaxTotalUsedSize < totalUsedSize)
|
||||
mMaxTotalUsedSize = totalUsedSize;
|
||||
}
|
||||
|
||||
if (mMaxTotalFreeSize > freeSize) {
|
||||
if (mMaxTotalFreeSize > freeSize)
|
||||
mMaxTotalFreeSize = freeSize;
|
||||
}
|
||||
}
|
||||
|
||||
/* 803A2EE0-803A2EF4 000000 0012+02 2/2 1/1 0/0 .data COPYDATE_STRING__7mDoMain */
|
||||
char mDoMain::COPYDATE_STRING[18] = "??/??/?? ??:??:??";
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 803D32E0-803D3308 000000 0028+00 3/2 0/0 0/0 .bss RootHeapCheck */
|
||||
extern "C" HeapCheck RootHeapCheck;
|
||||
// static HeapCheck RootHeapCheck;
|
||||
static HeapCheck RootHeapCheck = HeapCheck(0,"Root","ルート");
|
||||
|
||||
/* 803D3308-803D3330 000028 0028+00 1/2 0/0 0/0 .bss SystemHeapCheck */
|
||||
extern "C" HeapCheck SystemHeapCheck;
|
||||
// static HeapCheck SystemHeapCheck;
|
||||
static HeapCheck SystemHeapCheck = HeapCheck(0,"System","システム");
|
||||
|
||||
/* 803D3330-803D3358 000050 0028+00 1/2 0/0 0/0 .bss ZeldaHeapCheck */
|
||||
extern "C" HeapCheck ZeldaHeapCheck;
|
||||
// static HeapCheck ZeldaHeapCheck;
|
||||
static HeapCheck ZeldaHeapCheck = HeapCheck(0,"Zelda","ゼルダ");
|
||||
|
||||
/* 803D3358-803D3380 000078 0028+00 1/2 0/0 0/0 .bss GameHeapCheck */
|
||||
extern "C" HeapCheck GameHeapCheck;
|
||||
// static HeapCheck GameHeapCheck;
|
||||
static HeapCheck GameHeapCheck = HeapCheck(0,"Game","ゲーム");
|
||||
|
||||
/* 803D3380-803D33A8 0000A0 0028+00 1/2 0/0 0/0 .bss ArchiveHeapCheck */
|
||||
extern "C" HeapCheck ArchiveHeapCheck;
|
||||
// static HeapCheck ArchiveHeapCheck;
|
||||
static HeapCheck ArchiveHeapCheck = HeapCheck(0,"Archive","アーカイブ");
|
||||
|
||||
/* 803D33A8-803D33D0 0000C8 0028+00 1/2 0/0 0/0 .bss J2dHeapCheck */
|
||||
extern "C" HeapCheck J2dHeapCheck;
|
||||
// static HeapCheck J2dHeapCheck;
|
||||
static HeapCheck J2dHeapCheck = HeapCheck(0,"J2d","J2D");
|
||||
|
||||
/* 803D33D0-803D33F8 0000F0 0028+00 1/2 0/0 0/0 .bss HostioHeapCheck */
|
||||
extern "C" HeapCheck HostioHeapCheck;
|
||||
// static HeapCheck HostioHeapCheck;
|
||||
static HeapCheck HostioHeapCheck = HeapCheck(0,"Hostio","ホストIO");
|
||||
|
||||
/* 803D33F8-803D3420 000118 0028+00 1/2 0/0 0/0 .bss CommandHeapCheck */
|
||||
extern "C" HeapCheck CommandHeapCheck;
|
||||
|
||||
/* 803A2EE0-803A2EF4 000000 0012+02 2/2 1/1 0/0 .data COPYDATE_STRING__7mDoMain */
|
||||
SECTION_DATA char mDoMain::COPYDATE_STRING[18] = "??/??/?? ??:??:??";
|
||||
// static HeapCheck CommandHeapCheck;
|
||||
static HeapCheck CommandHeapCheck = HeapCheck(0,"Command","コマンド");
|
||||
|
||||
/* 803A2EF4-803A2F14 -00001 0020+00 1/2 0/0 0/0 .data HeapCheckTable */
|
||||
SECTION_DATA static HeapCheck* HeapCheckTable[8] = {
|
||||
static HeapCheck* HeapCheckTable[8] = {
|
||||
&RootHeapCheck, &SystemHeapCheck, &ZeldaHeapCheck, &GameHeapCheck,
|
||||
&ArchiveHeapCheck, &J2dHeapCheck, &HostioHeapCheck, &CommandHeapCheck,
|
||||
};
|
||||
|
||||
/* 803D32E0-803D3308 000000 0028+00 3/2 0/0 0/0 .bss RootHeapCheck */
|
||||
static HeapCheck RootHeapCheck;
|
||||
|
||||
/* 803D3308-803D3330 000028 0028+00 1/2 0/0 0/0 .bss SystemHeapCheck */
|
||||
static HeapCheck SystemHeapCheck;
|
||||
|
||||
/* 803D3330-803D3358 000050 0028+00 1/2 0/0 0/0 .bss ZeldaHeapCheck */
|
||||
static HeapCheck ZeldaHeapCheck;
|
||||
|
||||
/* 803D3358-803D3380 000078 0028+00 1/2 0/0 0/0 .bss GameHeapCheck */
|
||||
static HeapCheck GameHeapCheck;
|
||||
|
||||
/* 803D3380-803D33A8 0000A0 0028+00 1/2 0/0 0/0 .bss ArchiveHeapCheck */
|
||||
static HeapCheck ArchiveHeapCheck;
|
||||
|
||||
/* 803D33A8-803D33D0 0000C8 0028+00 1/2 0/0 0/0 .bss J2dHeapCheck */
|
||||
static HeapCheck J2dHeapCheck;
|
||||
|
||||
/* 803D33D0-803D33F8 0000F0 0028+00 1/2 0/0 0/0 .bss HostioHeapCheck */
|
||||
static HeapCheck HostioHeapCheck;
|
||||
|
||||
/* 803D33F8-803D3420 000118 0028+00 1/2 0/0 0/0 .bss CommandHeapCheck */
|
||||
static HeapCheck CommandHeapCheck;
|
||||
|
||||
/* 8000578C-80005848 0000CC 00BC+00 1/1 0/0 0/0 .text CheckHeap__FUl */
|
||||
void CheckHeap(u32 i_padNo) {
|
||||
mDoMch_HeapCheckAll();
|
||||
@@ -154,6 +121,7 @@ void CheckHeap(u32 i_padNo) {
|
||||
}
|
||||
}
|
||||
|
||||
/* 80005848-800058A0 000188 0058+00 2/2 0/0 0/0 .text countUsed__FP10JKRExpHeap */
|
||||
static int countUsed(JKRExpHeap* heap) {
|
||||
OSDisableScheduler();
|
||||
int counter = 0;
|
||||
@@ -168,10 +136,12 @@ static int countUsed(JKRExpHeap* heap) {
|
||||
return counter;
|
||||
}
|
||||
|
||||
/* 800058A0-800058C4 0001E0 0024+00 2/2 0/0 0/0 .text getUsedCount__9HeapCheckCFv */
|
||||
s32 HeapCheck::getUsedCount() const {
|
||||
return countUsed(mHeap);
|
||||
}
|
||||
|
||||
/* 800058C4-80005AD8 000204 0214+00 1/1 0/0 0/0 .text heapDisplay__9HeapCheckCFv */
|
||||
void HeapCheck::heapDisplay() const {
|
||||
s32 heap_size = mHeap->getSize();
|
||||
s32 used_count = heap_size - mTargetHeapSize;
|
||||
@@ -199,13 +169,13 @@ void HeapCheck::heapDisplay() const {
|
||||
}
|
||||
|
||||
/* 80450580-80450584 000000 0004+00 3/3 6/6 0/0 .sdata None */
|
||||
SECTION_SDATA s8 mDoMain::developmentMode = -1;
|
||||
s8 mDoMain::developmentMode = -1;
|
||||
|
||||
/* 80450584-80450588 000004 0004+00 0/0 1/1 0/0 .sdata memMargin__7mDoMain */
|
||||
SECTION_SDATA u32 mDoMain::memMargin = 0xFFFFFFFF;
|
||||
u32 mDoMain::memMargin = 0xFFFFFFFF;
|
||||
|
||||
/* 80450588-80450590 000008 0008+00 2/2 0/0 0/0 .sdata None */
|
||||
SECTION_SDATA u8 mDoMain::mHeapBriefType = 4;
|
||||
u8 mDoMain::mHeapBriefType = 4;
|
||||
|
||||
/* 80450B00-80450B08 000000 0008+00 1/1 0/0 0/0 .sbss None */
|
||||
static u8 fillcheck_check_frame;
|
||||
@@ -218,10 +188,12 @@ OSTime mDoMain::sHungUpTime;
|
||||
|
||||
/* 80450B18-80450B1C -00001 0004+00 3/3 0/0 0/0 .sbss None */
|
||||
/* 80450B18 0001+00 data_80450B18 None */
|
||||
/* 80450B19 0001+00 data_80450B19 None */
|
||||
/* 80450B1A 0002+00 data_80450B1A None */
|
||||
static bool mDisplayHeapSize;
|
||||
|
||||
/* 80450B19 0001+00 data_80450B19 None */
|
||||
static u8 mSelectHeapBar;
|
||||
|
||||
/* 80450B1A 0002+00 data_80450B1A None */
|
||||
static bool mCheckHeap;
|
||||
|
||||
/* 80005AD8-80005D4C 000418 0274+00 1/1 0/0 0/0 .text debugDisplay__Fv */
|
||||
@@ -377,7 +349,8 @@ bool Debug_console(u32 i_padNo) {
|
||||
JKRAram::getAramHeap()->dump();
|
||||
}
|
||||
|
||||
dump__24DynamicModuleControlBaseFv();
|
||||
// dump__24DynamicModuleControlBaseFv();
|
||||
DynamicModuleControlBase::dump();
|
||||
g_dComIfG_gameInfo.mResControl.dump();
|
||||
}
|
||||
|
||||
@@ -416,6 +389,7 @@ s32 LOAD_COPYDATE(void*) {
|
||||
return status;
|
||||
}
|
||||
|
||||
/* 800061C8-8000628C 000B08 00C4+00 1/1 0/0 0/0 .text debug__Fv */
|
||||
static void debug() {
|
||||
if (mDoMain::developmentMode) {
|
||||
if (mCheckHeap) {
|
||||
@@ -447,8 +421,13 @@ static void debug() {
|
||||
void main01(void) {
|
||||
static u32 frame;
|
||||
|
||||
// Setup heaps, setup exception manager, set RNG seed, setup DVDError Thread, setup Memory card Thread
|
||||
mDoMch_Create();
|
||||
|
||||
// setup FrameBuffer and ZBuffer, init display lists
|
||||
mDoGph_Create();
|
||||
|
||||
// Setup control pad
|
||||
mDoCPd_c::create();
|
||||
|
||||
RootHeapCheck.setHeap((JKRExpHeap*)JKRHeap::getRootHeap());
|
||||
@@ -497,10 +476,10 @@ void main01(void) {
|
||||
console->setPosition(32, 42);
|
||||
|
||||
mDoDvdThd_callback_c::create((mDoDvdThd_callback_func)LOAD_COPYDATE, NULL);
|
||||
fapGm_Create();
|
||||
fapGm_Create(); // init framework
|
||||
fopAcM_initManager();
|
||||
mDisplayHeapSize = 0;
|
||||
cDyl_InitAsync();
|
||||
cDyl_InitAsync(); // init RELs
|
||||
|
||||
g_mDoAud_audioHeap = JKRSolidHeap::create(0x14D800, JKRHeap::getCurrentHeap(), false);
|
||||
|
||||
@@ -514,10 +493,10 @@ void main01(void) {
|
||||
g_mDoMemCd_control.update();
|
||||
}
|
||||
|
||||
mDoCPd_c::read();
|
||||
fapGm_Execute();
|
||||
mDoAud_Execute();
|
||||
debug();
|
||||
mDoCPd_c::read(); // read controller input
|
||||
fapGm_Execute(); // handle game execution
|
||||
mDoAud_Execute(); // handle audio execution
|
||||
debug(); // run debugger
|
||||
} while (true);
|
||||
}
|
||||
|
||||
@@ -572,8 +551,7 @@ void main() {
|
||||
}
|
||||
|
||||
s32 priority = OSGetThreadPriority(current_thread);
|
||||
OSCreateThread(&mainThread, main01, 0, stack + sizeof(mainThreadStack), sizeof(mainThreadStack),
|
||||
priority, 0);
|
||||
OSCreateThread(&mainThread, main01, 0, stack + sizeof(mainThreadStack), sizeof(mainThreadStack), priority, 0);
|
||||
OSResumeThread(&mainThread);
|
||||
OSSetThreadPriority(current_thread, 0x1F);
|
||||
OSSuspendThread(current_thread);
|
||||
@@ -584,42 +562,6 @@ 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
|
||||
#pragma optimizewithasm off
|
||||
asm void __sinit_m_Do_main_cpp(){nofralloc
|
||||
#include "asm/m_Do/m_Do_main/__sinit_m_Do_main_cpp.s"
|
||||
}
|
||||
#pragma pop
|
||||
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
REGISTER_CTORS(0x800065E0, __sinit_m_Do_main_cpp);
|
||||
#pragma pop
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80450B38-80450B3C 000038 0004+00 0/0 2/2 0/0 .sbss
|
||||
* sInstance__34JASGlobalInstance<13Z2WolfHowlMgr> */
|
||||
|
||||
Reference in New Issue
Block a user