mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-07 03:17:22 -04:00
145 lines
4.3 KiB
C++
145 lines
4.3 KiB
C++
//
|
|
// Generated By: dol2asm
|
|
// Translation Unit: m_Do/m_Do_machine_exception
|
|
//
|
|
|
|
#include "m_Do/m_Do_machine_exception.h"
|
|
#include "JSystem/JFramework/JFWSystem.h"
|
|
#include "JSystem/JKernel/JKRAram.h"
|
|
#include "JSystem/JUtility/JUTConsole.h"
|
|
#include "d/com/d_com_inf_game.h"
|
|
#include "dol2asm.h"
|
|
#include "dolphin/types.h"
|
|
#include "m_Do/m_Do_ext.h"
|
|
#include "m_Do/m_Do_main.h"
|
|
|
|
//
|
|
// Types:
|
|
//
|
|
|
|
struct DynamicModuleControlBase {
|
|
/* 80262470 */ void dump();
|
|
};
|
|
|
|
//
|
|
// External References:
|
|
//
|
|
|
|
extern "C" void dump__24DynamicModuleControlBaseFv();
|
|
extern "C" void JUTConsole_print_f_va_();
|
|
|
|
//
|
|
// Declarations:
|
|
//
|
|
|
|
static JUTConsole* sConsole;
|
|
|
|
#pragma push
|
|
#pragma force_active on
|
|
u8 struct_80450C94[4];
|
|
#pragma pop
|
|
|
|
/* 80017D7C-80017E08 0126BC 008C+00 3/3 0/0 0/0 .text print_f__FPCce */
|
|
#pragma push
|
|
#pragma optimization_level 0
|
|
#pragma optimizewithasm off
|
|
static asm void print_f(char const* param_0, ...) {
|
|
nofralloc
|
|
#include "asm/m_Do/m_Do_machine_exception/print_f__FPCce.s"
|
|
}
|
|
#pragma pop
|
|
|
|
void print(char const* string) {
|
|
sConsole->print(string);
|
|
}
|
|
|
|
const char* stringBase_80374460 = "--------------------------------------\n";
|
|
|
|
void dispHeapInfo() {
|
|
JKRExpHeap* zelda = zeldaHeap;
|
|
JKRExpHeap* game = gameHeap;
|
|
JKRExpHeap* archive = archiveHeap;
|
|
|
|
u32 zeldaFree = zelda->getFreeSize();
|
|
u32 gameFree = game->getFreeSize();
|
|
u32 archiveFree = archive->getFreeSize();
|
|
u32 zeldaTotal = zelda->getTotalFreeSize();
|
|
u32 gameTotal = game->getTotalFreeSize();
|
|
u32 archiveTotal = archive->getTotalFreeSize();
|
|
|
|
print("-- Heap Free / TotalFree (KB) --\n");
|
|
print_f(" Zelda %5d / %5d\n", zeldaFree >> 10, zeldaTotal >> 10);
|
|
print_f(" Game %5d / %5d\n", gameFree >> 10, gameTotal >> 10);
|
|
print_f("Archive %5d / %5d\n", archiveFree >> 10, archiveTotal >> 10);
|
|
print("--------------------------------\n");
|
|
|
|
if (JKRAram::getAramHeap()) {
|
|
JKRAram::getAramHeap()->dump();
|
|
}
|
|
dump__24DynamicModuleControlBaseFv();
|
|
g_dComIfG_gameInfo.mResControl.dump();
|
|
|
|
zelda->dump_sort();
|
|
game->dump_sort();
|
|
archive->dump_sort();
|
|
}
|
|
|
|
void dispGameInfo() {
|
|
print_f("Start StageName:RoomNo [%s:%d]\n", dComIfGp_getStartStageName(),
|
|
dComIfGp_getStartStageRoomNo());
|
|
}
|
|
|
|
void dispDateInfo() {
|
|
print("------------- Date Infomation ---------\n");
|
|
print(" FINAL VERSION\n");
|
|
print("COMPILE USER: FINAL\n");
|
|
print_f("COPYDATE : %17s\n", mDoMain::COPYDATE_STRING);
|
|
|
|
OSCalendarTime time;
|
|
OSTicksToCalendarTime(mDoMain::sPowerOnTime, &time);
|
|
print_f("PowerOnTime: %04d/%2d/%2d %2d:%2d:%2d`%03d\"%03d\n", time.year, time.month,
|
|
time.day_of_month, time.hours, time.minutes, time.seconds, time.milliseconds,
|
|
time.microseconds);
|
|
|
|
OSTicksToCalendarTime(mDoMain::sHungUpTime, &time);
|
|
print_f("HungUpTime : %04d/%2d/%2d %2d:%2d:%2d`%03d\"%03d\n", time.year, time.month,
|
|
time.day_of_month, time.hours, time.minutes, time.seconds, time.milliseconds,
|
|
time.microseconds);
|
|
|
|
OSTicksToCalendarTime(mDoMain::sHungUpTime - mDoMain::sPowerOnTime, &time);
|
|
print_f("PlayTime : %4d days, %2d:%2d:%2d`%03d\"%03d\n", time.year_day, time.hours,
|
|
time.minutes, time.seconds, time.milliseconds, time.microseconds);
|
|
print("---------------------------------------\n");
|
|
}
|
|
|
|
void dispConsoleToTerminal() {
|
|
JFWSystem::getSystemConsole()->dumpToTerminal(0xFFFFFFFF);
|
|
}
|
|
|
|
void exception_addition(JUTConsole* pConsole) {
|
|
sConsole = pConsole;
|
|
dispHeapInfo();
|
|
dispDateInfo();
|
|
dispConsoleToTerminal();
|
|
dispGameInfo();
|
|
}
|
|
|
|
/* ############################################################################################## */
|
|
/* 80450C98-80450C9C -00001 0004+00 0/0 0/0 50/50 .sbss None */
|
|
/* 80450C98 0001+00 data_80450C98 None */
|
|
/* 80450C99 0001+00 data_80450C99 None */
|
|
/* 80450C9A 0001+00 data_80450C9A None */
|
|
/* 80450C9B 0001+00 data_80450C9B None */
|
|
extern u8 struct_80450C98[4];
|
|
u8 struct_80450C98[4];
|
|
|
|
/* 80450C9C-80450CA0 -00001 0004+00 0/0 0/0 6/6 .sbss None */
|
|
/* 80450C9C 0001+00 data_80450C9C None */
|
|
/* 80450C9D 0001+00 data_80450C9D None */
|
|
/* 80450C9E 0001+00 data_80450C9E None */
|
|
/* 80450C9F 0001+00 data_80450C9F None */
|
|
extern u8 struct_80450C9C[4];
|
|
u8 struct_80450C9C[4];
|
|
|
|
/* 80374460-80374460 000AC0 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|