debugDisplay and Debug_console attemp

This commit is contained in:
Pheenoh
2021-02-07 17:20:16 -05:00
parent 315ef319fc
commit 34693ded85
70 changed files with 547 additions and 225 deletions
+1 -1
View File
@@ -1162,7 +1162,7 @@ void func_80361D60(void);
void func_80361F14(void);
void func_80362018(void);
void func_80362084(void);
void func_803620AC(void);
void __cvt_fp2unsigned(void);
void getGlbResource__13JKRFileLoaderFPCcP13JKRFileLoader(void);
void getLightDropNum__16dSv_light_drop_cCFUc(void);
void getNeckAimPos__9daAlink_cFP4cXyzPii(void);
+1 -1
View File
@@ -308,7 +308,7 @@ void fopCamM_GetParam(void);
void func_80361C24(void);
void func_80361D60(void);
void func_80362084(void);
void func_803620AC(void);
void __cvt_fp2unsigned(void);
void getE3Zhint__9daAlink_cFv(void);
void Inv__7cSAngleCFv(void);
void Invert__7cSGlobeFv(void);
+1 -1
View File
@@ -232,7 +232,7 @@ void func_80030E84(void);
void func_80030ECC(void);
void func_80361C24(void);
void func_80361D60(void);
void func_803620AC(void);
void __cvt_fp2unsigned(void);
void func_803664DC(void);
void getBottleNum__24dSv_player_item_record_cCFUc(void);
void getItem__17dSv_player_item_cCFib(void);
+1 -1
View File
@@ -95,7 +95,7 @@ void DUNGEON_LIGHT_NS_dtor(void);
void DUNGEON_LIGHT(void);
void func_80361C24(void);
void func_80361D60(void);
void func_803620AC(void);
void __cvt_fp2unsigned(void);
void GB_MAPLE_COL_CHANGE(void);
void GFSetFog(void);
void GXInitLightAttn(void);
+1 -1
View File
@@ -42,7 +42,7 @@ void dMsgFlow_c_NS_init(void);
void dMsgFlow_c(void);
void dMsgObject_c_NS_setLetterNameID(void);
void func_80361C24(void);
void func_803620AC(void);
void __cvt_fp2unsigned(void);
void getGlbResource__10JKRArchiveFUlPCcP10JKRArchive(void);
void getItem__17dSv_player_item_cCFib(void);
void isEventBit__11dSv_event_cCFUs(void);
+6 -3
View File
@@ -1,5 +1,7 @@
/* m_Do_machine.cpp autogenerated by split.py v0.4 at 2021-01-31 21:09:47.100423 */
#include "JSystem/JKernel/JKRExpHeap/JKRExpHeap.h"
#include "JSystem/JUtility/JUTConsole/JUTConsole.h"
#include "global.h"
#include "m_Do/m_Do_Reset/m_Do_Reset.h"
@@ -11,11 +13,11 @@ void JFWSystem_NS_init(void);
void JUTAssertion_NS_setVisible(void);
void JUTConsoleManager_NS_drawDirect(void);
void JUTConsoleManager_NS_setDirectConsole(void);
void JUTConsole_NS_getLineOffset(void);
void getLineOffset__10JUTConsoleCFv(void);
void JUTConsole_NS_getUsedLine(void);
void JUTConsole_NS_print(void);
void JUTConsole_NS_print_f(void);
void JUTConsole_NS_scroll(void);
void scroll__10JUTConsoleFi(void);
void JUTDbPrint_NS_start(void);
void JUTException_NS_appendMapFile(void);
void JUTException_NS_isEnablePad(void);
@@ -113,13 +115,14 @@ extern u8 lbl_80450C2C;
extern u8 lbl_80450C30;
extern u8 lbl_80450C34;
extern u8 lbl_804511A4;
extern u8 lbl_804511B8;
extern JUTConsole* lbl_804511B8;
extern u8 lbl_804514C8;
extern u8 lbl_80451508;
extern u8 lbl_8045151C;
extern u8 lbl_80451570;
extern u8 lbl_80451B00;
extern u8 lbl_80451B04;
extern JKRExpHeap* sSystemHeap__7JKRHeap;
extern "C" {
// myGetHeapTypeByString__FP7JKRHeap
+3 -2
View File
@@ -1,5 +1,6 @@
/* m_Do_machine_exception.cpp autogenerated by split.py v0.4 at 2021-01-31 21:28:06.026493 */
#include "JSystem/JKernel/JKRAram/JKRAram.h"
#include "d/d_com/d_com_inf_game/d_com_inf_game.h"
#include "global.h"
@@ -7,7 +8,7 @@
// autogenerated by split.py v0.4 at 2021-01-31 21:28:06.026518
extern "C" {
void DynamicModuleControlBase_NS_dump(void);
void JUTConsole_NS_dumpToTerminal(void);
void dumpToTerminal__10JUTConsoleFUi(void);
void JUTConsole_NS_print(void);
void JUTConsole_print_f_va_(void);
void _restgpr_23(void);
@@ -37,7 +38,7 @@ extern u8 lbl_80450C28;
extern u8 lbl_80450C2C;
extern u8 lbl_80450C34;
extern u8 lbl_80450C90;
extern u8 lbl_804511B8;
extern JUTConsole* lbl_804511B8;
extern "C" {
// print_f__FPCce
+222 -27
View File
@@ -1,4 +1,8 @@
#include "m_Do/m_Do_main/m_Do_main.h"
#include "JSystem/JKernel/JKRAram/JKRAram.h"
#include "JSystem/JKernel/JKRAramHeap/JKRAramHeap.h"
#include "JSystem/JUtility/JUTAssert/JUTAssert.h"
#include "JSystem/JUtility/JUTReport/JUTReport.h"
#include "SComponent/c_API_controller_pad.h"
#include "d/d_com/d_com_inf_game/d_com_inf_game.h"
#include "dvd/dvd.h"
@@ -11,16 +15,25 @@
#include "m_Do/m_Do_machine/m_Do_machine.h"
#include "m_Do/m_Do_reset/m_Do_reset.h"
extern u8 lbl_80451A00;
extern u8 lbl_80451A04;
extern u8 lbl_80451A08;
extern float lbl_80451A00;
extern float lbl_80451A04;
extern float lbl_80451A08;
extern u8 lbl_80451A0C;
extern u8 lbl_80451A10;
extern u8 lbl_80451A18;
extern u8 lbl_803D0000;
// extern char lbl_803739A0[0x310];
extern float lbl_80450B2C;
extern float lbl_80450B1C;
extern JKRExpHeap* sSystemHeap__7JKRHeap;
extern JKRExpHeap* lbl_80450C2C;
extern JKRExpHeap* lbl_80450C28;
extern JKRExpHeap* lbl_80450C34;
extern s8 lbl_80450B20;
extern s8 lbl_80450B28;
extern float lbl_80450B24;
extern s8 lbl_80450B30;
extern char lbl_803739A0;
extern char lbl_803739A0[0x310];
extern "C" {
int strcmp(const char*, const char*);
void cDyl_InitAsync(void);
@@ -42,13 +55,8 @@ void getTotalFreeSize__7JKRHeapCFv(void);
void getTotalUsedSize__10JKRExpHeapCFv(void);
void getUsedCount__9HeapCheckCFv(void);
void heapDisplay__9HeapCheckCFv(void);
void JUTAssertion_NS_setMessageCount(void);
void JUTConsole_NS_clear(void);
void JUTConsole_NS_dumpToTerminal(void);
void JUTConsole_NS_getLineOffset(void);
void JUTConsole_NS_scroll(void);
void JUTReport__FiiPCce(int, int, const char*, ...);
void JUTReport_X1_(void);
void JUTReport__FiiiPCce(void);
void mDoDvdThd_callback_c_NS_create(void);
void mDoMch_HeapCheckAll(void);
void mDoMemCd_Ctrl_c_NS_update(void);
@@ -57,8 +65,16 @@ void read__8mDoCPd_cFv(void);
void version_check__Fv(void);
void main01__Fv(void);
void ct__13dComIfG_inf_cFv(void);
int getLineOffset__10JUTConsoleCFv(void);
void dumpToTerminal__10JUTConsoleFUi(void);
void scroll__10JUTConsoleFi(void);
void clear__10JUTConsoleFv(void);
void setMessageCount__12JUTAssertionFi(void);
}
extern char* lbl_803A2F14[5];
extern char* lbl_803A2F28[5];
void version_check(void) {
if ((!strcmp("20Apr2004", "20Apr2004")) && (!strcmp("Patch2", "Patch2"))) {
return;
@@ -140,22 +156,22 @@ void HeapCheck::heapDisplay(void) const {
s32 heap_total_free_size = heap->getTotalFreeSize();
s32 heap_free_size = heap->getFreeSize();
JUTReport__FiiPCce(0x64, 0xd4, "[%sName]", names[0]);
JUTReport__FiiPCce(0x64, 0xe3, "HeapSize %8ld", heap_size1);
JUTReport__FiiPCce(0x64, 0xf0, "TargetHeapSize %8ld", heap_size);
JUTReport__FiiPCce(0x64, 0xfd, "TotalFree %8ld", heap_total_free_size - heap_size2);
JUTReport__FiiPCce(0x64, 0x10a, "FreeSize %8ld", heap_free_size - heap_size2);
JUTReport__FiiPCce(0x64, 0x117, "TotalUsedSize %8ld", heap_total_used_size);
JUTReport__FiiPCce(0x64, 0x124, "TotalUsedRate %3ld%%",
(int)(heap_total_used_size * 0x64) / (int)heap_size);
JUTReport__FiiPCce(0x64, 0x131, "MaxTotalUsedSize %8ld", max_total_used_size);
JUTReport__FiiPCce(0x64, 0x13e, "MaxTotalUsedRate %3ld%%",
(max_total_used_size * 0x64) / (int)heap_size);
JUTReport__FiiPCce(0x64, 0x14b, "MinFreeSize %8ld", max_total_free_size - heap_size2);
JUTReport__FiiPCce(0x64, 0x158, "MinFreeRate %3ld%%",
((max_total_free_size - heap_size2) * 0x64) / (int)heap_size);
JUTReport(0x64, 0xd4, "[%sName]", names[0]);
JUTReport(0x64, 0xe3, "HeapSize %8ld", heap_size1);
JUTReport(0x64, 0xf0, "TargetHeapSize %8ld", heap_size);
JUTReport(0x64, 0xfd, "TotalFree %8ld", heap_total_free_size - heap_size2);
JUTReport(0x64, 0x10a, "FreeSize %8ld", heap_free_size - heap_size2);
JUTReport(0x64, 0x117, "TotalUsedSize %8ld", heap_total_used_size);
JUTReport(0x64, 0x124, "TotalUsedRate %3ld%%",
(int)(heap_total_used_size * 0x64) / (int)heap_size);
JUTReport(0x64, 0x131, "MaxTotalUsedSize %8ld", max_total_used_size);
JUTReport(0x64, 0x13e, "MaxTotalUsedRate %3ld%%",
(max_total_used_size * 0x64) / (int)heap_size);
JUTReport(0x64, 0x14b, "MinFreeSize %8ld", max_total_free_size - heap_size2);
JUTReport(0x64, 0x158, "MinFreeRate %3ld%%",
((max_total_free_size - heap_size2) * 0x64) / (int)heap_size);
heap_size2 = countUsed(heap);
JUTReport__FiiPCce(0x64, 0x165, "UsedCount %3ld%", heap_size2);
JUTReport(0x64, 0x165, "UsedCount %3ld%", heap_size2);
}
const char* lbl_80373AEF = "";
@@ -178,15 +194,194 @@ const char* lbl_80373BB6 = "SCROLL
const char* lbl_80373BD5 = "Press L+R trigger to control console.";
const char* lbl_80373BFB = "Press [Z] trigger to close this window.";
#ifdef NONMATCHING
void debugDisplay(void) {
int tmp1;
int tmp2;
HeapCheck** hct = (HeapCheck**)lbl_803A2EE0;
if (lbl_80450B19 >= 1 && lbl_80450B19 <= 6) {
hct[lbl_80450B19 - 1]->heapDisplay();
}
if (lbl_80450588 == 5) {
JKRAramHeap* heap = sAramObject__7JKRAram->getAramHeap();
if (heap) {
JUTReport(0x1db, 100, lbl_803739A0 + 0x196);
JUTReport(0x1db, 0x72, lbl_803739A0 + 0x1A0, heap->getFreeSize());
JUTReport(0x1db, 0x80, lbl_803739A0 + 0x150);
JUTReport(0x1db, 0x8e, lbl_803739A0 + 0x1A0, heap->getTotalFreeSize());
}
} else {
if (lbl_80450588) {
JUTReport(0x1db, 100, lbl_803739A0 + 0x1A3, lbl_803A2F14[lbl_80450588]);
JUTReport(0x1db, 0x72, lbl_803739A0 + 0x1A3, lbl_803A2F28[lbl_80450588]);
int k = 0;
for (int i = 0; i < 8; i++, k += 0x2c) {
// heap check table stuff
HeapCheck* heap_check;
heap_check = HeapCheckTable[i];
switch (lbl_80450588) {
case 3: {
tmp1 = heap_check->getUsedCount();
tmp2 = heap_check->getHeap()->getTotalUsedSize();
break;
}
case 1: {
tmp1 = heap_check->getHeap()->getTotalFreeSize();
tmp2 = heap_check->getHeap()->getFreeSize();
break;
}
case 2: {
tmp1 = heap_check->getMaxTotalUsedSize();
tmp2 = heap_check->getHeap()->getSize();
break;
}
case 4: {
tmp1 = heap_check->getUsedCount() - heap_check->getUsedCountRef();
tmp2 = heap_check->getHeap()->getTotalUsedSize() -
heap_check->getTotalUsedSizeRef();
break;
}
JUTReport(0x1db, k + 0x96, lbl_80373B46, heap_check->getNames()[0]);
JUTReport(0x1db, k + 0xA4, lbl_80373B4C, tmp1);
JUTReport(0x1db, k + 0xB2, lbl_80373B4C, tmp2);
}
}
}
}
}
#else
asm void debugDisplay(void) {
nofralloc
#include "m_Do\m_Do_main\asm\func_80005AD8.s"
}
#endif
#ifndef NONMATCHING
void Debug_console(u32 controller_no) {
float tmp2;
float tmp3;
int tmp6;
// systemConsole
if (lbl_804511B8) {
if (!lbl_80450B20) {
lbl_80450B1C = lbl_80451A00;
lbl_80450B20 = 1;
}
if (!lbl_80450B28) {
lbl_80450B24 = lbl_80451A04;
lbl_80450B28 = 1;
}
if (!lbl_80450B30) {
lbl_80450B2C = lbl_80451A08;
lbl_80450B30 = 1;
}
u32 tmp5 = m_cpadInfo[controller_no].mPressedButtonFlags;
if ((m_cpadInfo[controller_no].mPressedButtonFlags & 0x10) &&
!(m_cpadInfo[controller_no].mButtonFlags & 0xFFFFFFEF)) {
lbl_804511B8->field_0x68 = !lbl_804511B8->field_0x68;
JUTAssertion::setMessageCount(0);
}
if (lbl_804511B8->field_0x68) {
u32 tmp = m_cpadInfo[controller_no].mButtonFlags;
// if R and L are pressed
if ((tmp & 0x40 && tmp & 0x20) ||
((lbl_80451A08 > m_cpadInfo[controller_no].mTriggerLeft) &&
(lbl_80451A08 > m_cpadInfo[controller_no].mTriggerRight))) {
tmp2 = m_cpadInfo[controller_no].mMainStickPosX;
tmp3 = m_cpadInfo[controller_no].mMainStickPosY;
// if x buttons are pressed, clear the console
if (tmp & 0xC00 && tmp5 & 0x1000) {
lbl_804511B8->clear();
}
u32 tmp = m_cpadInfo[controller_no].mButtonFlags;
if (!(tmp & 0xC00)) {
// subtract console scroll value from stick Y
float tmp4 = lbl_80450B2C;
lbl_80450B2C = tmp4 - tmp3;
if (lbl_80450B2C <= lbl_80451A0C) {
lbl_80451A10 <= lbl_80450B2C ? tmp = 0 : tmp = lbl_80451A0C;
} else {
tmp = (tmp4 - tmp3);
}
if (tmp) {
lbl_80450B2C -= (tmp ^ 0x80000000) - 4503601774854144.00000000;
lbl_804511B8->scroll(tmp);
}
} else {
if (tmp & 0x400) {
lbl_80450B2C += tmp2;
}
if (tmp & 0x800) {
lbl_80450B2C -= tmp3;
}
}
if (tmp5 & 0x100) {
lbl_804511B8->dumpToTerminal(0xFFFFFFFF);
lbl_804511B8->field_0x58 = 3;
}
JUTReport(0x1E, 0x186, 1, lbl_80373B51);
JUTReport(0x1E, 400, 1, lbl_80373B73);
JUTReport(0x1E, 0x19A, 1, lbl_80373B8D);
tmp6 = lbl_804511B8->getLineOffset();
JUTReport(0x1E, 0x1A4, 1, lbl_80373BB6, tmp6, lbl_804511B8->field_0x40,
lbl_804511B8->field_0x44, lbl_804511B8->field_0x58);
}
} else {
if (tmp5 & 4) {
g_HIO.field_0x15 ^= 1;
}
if (tmp5 & 1) {
if (sAramObject__7JKRAram->getAramHeap()) {
sAramObject__7JKRAram->getAramHeap()->dump();
}
DynamicModuleControlBase_NS_dump();
dRes_control_c_NS_dump();
}
if (tmp5 & 2) {
sSystemHeap__7JKRHeap->dump_sort();
}
if (tmp5 & 8) {
lbl_80450C2C->dump_sort();
lbl_80450C28->dump_sort();
lbl_80450C34->dump_sort();
}
JUTReport(0x1E, 0x1B8, 1, lbl_80373BD5);
JUTReport(0x1E, 0x1C2, 1, lbl_80373BFB);
}
lbl_804511B8->field_0x40 = lbl_80450B1C;
lbl_804511B8->field_0x44 = lbl_80450B24;
tmp6 = 1;
}
}
#else
asm void Debug_console(u32) {
nofralloc
#include "m_Do\m_Do_main\asm\func_80005D4C.s"
}
#endif
#ifdef NONMATCHING
void LOAD_COPYDATE(void*) {
@@ -239,7 +434,7 @@ void debug(void) {
if (lbl_80450B18) {
if (((m_gamePad[2]->buttons.mButtonFlags & ~0x10) == 0x40) &&
(m_gamePad[2]->buttons.mPressedButtonFlags & 0x10)) {
lbl_80450588[0] < 0x5 ? lbl_80450588[0]++ : lbl_80450588[0] = 0x1;
lbl_80450588 < 0x5 ? lbl_80450588++ : lbl_80450588 = 0x1;
}
debugDisplay();