diff --git a/src/game/bg.c b/src/game/bg.c index f893dfae3..2df3dc60c 100644 --- a/src/game/bg.c +++ b/src/game/bg.c @@ -2788,7 +2788,7 @@ glabel func0f15a2c4 /* f15a624: 00408825 */ or $s1,$v0,$zero /* f15a628: 0c012d20 */ jal osVirtualToPhysical /* f15a62c: 00402025 */ or $a0,$v0,$zero -/* f15a630: 0fc47b60 */ jal debugEnablePropRendering +/* f15a630: 0fc47b60 */ jal debugIsPropRenderingEnabled /* f15a634: ae220004 */ sw $v0,0x4($s1) /* f15a638: 10400013 */ beqz $v0,.L0f15a688 /* f15a63c: 00000000 */ nop @@ -3253,7 +3253,7 @@ glabel func0f15a6f4 /* f15aca0: 02202025 */ or $a0,$s1,$zero /* f15aca4: 0fc599b2 */ jal gfxConsiderDisableFog /* f15aca8: af220004 */ sw $v0,0x4($t9) -/* f15acac: 0fc47b60 */ jal debugEnablePropRendering +/* f15acac: 0fc47b60 */ jal debugIsPropRenderingEnabled /* f15acb0: 00408825 */ or $s1,$v0,$zero /* f15acb4: 50400014 */ beqzl $v0,.L0f15ad08 /* f15acb8: 3c0c0103 */ lui $t4,0x103 @@ -3340,7 +3340,7 @@ glabel func0f15a6f4 /* f15adec: 02202025 */ or $a0,$s1,$zero /* f15adf0: 0fc599b2 */ jal gfxConsiderDisableFog /* f15adf4: ada20004 */ sw $v0,0x4($t5) -/* f15adf8: 0fc47b60 */ jal debugEnablePropRendering +/* f15adf8: 0fc47b60 */ jal debugIsPropRenderingEnabled /* f15adfc: 00408825 */ or $s1,$v0,$zero /* f15ae00: 10400013 */ beqz $v0,.L0f15ae50 /* f15ae04: 00000000 */ nop @@ -3492,7 +3492,7 @@ glabel func0f15a6f4 /* f15b02c: 02202025 */ or $a0,$s1,$zero /* f15b030: 0fc599b2 */ jal gfxConsiderDisableFog /* f15b034: af220004 */ sw $v0,0x4($t9) -/* f15b038: 0fc47b60 */ jal debugEnablePropRendering +/* f15b038: 0fc47b60 */ jal debugIsPropRenderingEnabled /* f15b03c: 00408825 */ or $s1,$v0,$zero /* f15b040: 10400013 */ beqz $v0,.L0f15b090 /* f15b044: 00000000 */ nop @@ -3963,7 +3963,7 @@ glabel func0f15a6f4 /* f155300: 02202025 */ or $a0,$s1,$zero /* f155304: 0fc583b2 */ jal gfxConsiderDisableFog /* f155308: af220004 */ sw $v0,0x4($t9) -/* f15530c: 0fc46640 */ jal debugEnablePropRendering +/* f15530c: 0fc46640 */ jal debugIsPropRenderingEnabled /* f155310: 00408825 */ or $s1,$v0,$zero /* f155314: 50400014 */ beqzl $v0,.NB0f155368 /* f155318: 3c0c0103 */ lui $t4,0x103 @@ -4019,7 +4019,7 @@ glabel func0f15a6f4 /* f1553d8: 00402025 */ or $a0,$v0,$zero /* f1553dc: 0fc58328 */ jal func0f1664a0 /* f1553e0: 00002825 */ or $a1,$zero,$zero -/* f1553e4: 0fc4663d */ jal debug0f1198f4nb +/* f1553e4: 0fc4663d */ jal debugIsBgRenderingEnabled /* f1553e8: 00408825 */ or $s1,$v0,$zero /* f1553ec: 5040000e */ beqzl $v0,.NB0f155428 /* f1553f0: 3c0c0103 */ lui $t4,0x103 @@ -4050,7 +4050,7 @@ glabel func0f15a6f4 /* f15544c: 02202025 */ or $a0,$s1,$zero /* f155450: 0fc583b2 */ jal gfxConsiderDisableFog /* f155454: ada20004 */ sw $v0,0x4($t5) -/* f155458: 0fc46640 */ jal debugEnablePropRendering +/* f155458: 0fc46640 */ jal debugIsPropRenderingEnabled /* f15545c: 00408825 */ or $s1,$v0,$zero /* f155460: 10400013 */ beqz $v0,.NB0f1554b0 /* f155464: 00000000 */ sll $zero,$zero,0x0 @@ -4176,7 +4176,7 @@ glabel func0f15a6f4 /* f15562c: 00402025 */ or $a0,$v0,$zero /* f155630: 0fc58328 */ jal func0f1664a0 /* f155634: 24050001 */ addiu $a1,$zero,0x1 -/* f155638: 0fc4663d */ jal debug0f1198f4nb +/* f155638: 0fc4663d */ jal debugIsBgRenderingEnabled /* f15563c: 00408825 */ or $s1,$v0,$zero /* f155640: 50400009 */ beqzl $v0,.NB0f155668 /* f155644: 3c0b0103 */ lui $t3,0x103 @@ -4202,7 +4202,7 @@ glabel func0f15a6f4 /* f15568c: 02202025 */ or $a0,$s1,$zero /* f155690: 0fc583b2 */ jal gfxConsiderDisableFog /* f155694: af220004 */ sw $v0,0x4($t9) -/* f155698: 0fc46640 */ jal debugEnablePropRendering +/* f155698: 0fc46640 */ jal debugIsPropRenderingEnabled /* f15569c: 00408825 */ or $s1,$v0,$zero /* f1556a0: 10400013 */ beqz $v0,.NB0f1556f0 /* f1556a4: 00000000 */ sll $zero,$zero,0x0 diff --git a/src/game/bondgrab.c b/src/game/bondgrab.c index 86e2e24c9..aa304fe12 100644 --- a/src/game/bondgrab.c +++ b/src/game/bondgrab.c @@ -3976,7 +3976,7 @@ glabel var7f1ada2c /* f0cc3dc: 460a2200 */ add.s $f8,$f4,$f10 /* f0cc3e0: 0fc324de */ jal bmoveUpdateMoveInitSpeed /* f0cc3e4: e7a8007c */ swc1 $f8,0x7c($sp) -/* f0cc3e8: 0fc46661 */ jal debug0f119984nb +/* f0cc3e8: 0fc46661 */ jal debugIsTurboModeEnabled /* f0cc3ec: 00000000 */ sll $zero,$zero,0x0 /* f0cc3f0: 3c08800a */ lui $t0,0x800a /* f0cc3f4: 1040001f */ beqz $v0,.NB0f0cc474 diff --git a/src/game/bondwalk.c b/src/game/bondwalk.c index 615a21dda..0bed6869d 100644 --- a/src/game/bondwalk.c +++ b/src/game/bondwalk.c @@ -3099,7 +3099,7 @@ glabel var7f1a7b20nb /* f0c31c8: c44e0080 */ lwc1 $f14,0x80($v0) /* f0c31cc: e7a20084 */ swc1 $f2,0x84($sp) /* f0c31d0: afa000ec */ sw $zero,0xec($sp) -/* f0c31d4: 0fc46661 */ jal debug0f119984nb +/* f0c31d4: 0fc46661 */ jal debugIsTurboModeEnabled /* f0c31d8: e7ae0080 */ swc1 $f14,0x80($sp) /* f0c31dc: 8fa300ec */ lw $v1,0xec($sp) /* f0c31e0: c7ae0080 */ lwc1 $f14,0x80($sp) @@ -6407,7 +6407,7 @@ glabel var7f1ad854 /* f0c4940: e7a400cc */ swc1 $f4,0xcc($sp) /* f0c4944: 0fc324de */ jal bmoveUpdateMoveInitSpeed /* f0c4948: e7a600d4 */ swc1 $f6,0xd4($sp) -/* f0c494c: 0fc46661 */ jal debug0f119984nb +/* f0c494c: 0fc46661 */ jal debugIsTurboModeEnabled /* f0c4950: 00000000 */ sll $zero,$zero,0x0 /* f0c4954: 3c08800a */ lui $t0,0x800a /* f0c4958: 1040001f */ beqz $v0,.NB0f0c49d8 diff --git a/src/game/chr/chraction.c b/src/game/chr/chraction.c index 7c53de10a..d08a55ee6 100644 --- a/src/game/chr/chraction.c +++ b/src/game/chr/chraction.c @@ -23029,7 +23029,7 @@ void chrTick(struct chrdata *chr) } } -void func0f0482cc(u32 ailistid) +void cutsceneStart(u32 ailistid) { struct prop *prop; @@ -23217,7 +23217,7 @@ glabel func0f048398 /* f0485b0: 8042a492 */ lb $v0,%lo(g_Vars+0x4d2)($v0) /* f0485b4: 04400009 */ bltz $v0,.L0f0485dc /* f0485b8: 00000000 */ nop -/* f0485bc: 0fc120b3 */ jal func0f0482cc +/* f0485bc: 0fc120b3 */ jal cutsceneStart /* f0485c0: 24440c00 */ addiu $a0,$v0,0xc00 /* f0485c4: 240bffff */ addiu $t3,$zero,-1 /* f0485c8: 3c01800a */ lui $at,%hi(g_Vars+0x4d2) @@ -23677,7 +23677,7 @@ glabel func0f048398 /* f0485b0: 8042a492 */ lb $v0,%lo(g_Vars+0x4d2)($v0) /* f0485b4: 04400009 */ bltz $v0,.L0f0485dc /* f0485b8: 00000000 */ nop -/* f0485bc: 0fc120b3 */ jal func0f0482cc +/* f0485bc: 0fc120b3 */ jal cutsceneStart /* f0485c0: 24440c00 */ addiu $a0,$v0,0xc00 /* f0485c4: 240bffff */ addiu $t3,$zero,-1 /* f0485c8: 3c01800a */ lui $at,%hi(g_Vars+0x4d2) @@ -24014,7 +24014,7 @@ glabel func0f048398 /* f047b18: 8042eb92 */ lb $v0,-0x146e($v0) /* f047b1c: 04400009 */ bltz $v0,.NB0f047b44 /* f047b20: 00000000 */ sll $zero,$zero,0x0 -/* f047b24: 0fc11e7c */ jal func0f0482cc +/* f047b24: 0fc11e7c */ jal cutsceneStart /* f047b28: 24440c00 */ addiu $a0,$v0,0xc00 /* f047b2c: 3c02800a */ lui $v0,0x800a /* f047b30: 2442e6c0 */ addiu $v0,$v0,-6464 @@ -24368,7 +24368,7 @@ glabel func0f048398 // } // // if (g_Vars.autocutnum >= 0) { -// func0f0482cc(g_Vars.autocutnum + 0xc00); +// cutsceneStart(g_Vars.autocutnum + 0xc00); // g_Vars.autocutnum = -1; // g_Vars.autocutplaying = true; // } diff --git a/src/game/debug.c b/src/game/debug.c index 25d334f98..d2c0c9abd 100644 --- a/src/game/debug.c +++ b/src/game/debug.c @@ -16,9 +16,9 @@ * which functions are the same between beta and 1.0. */ -s32 var80075d60 = 0x00000002; -u32 var80075d64 = 0x00000002; -u32 var80075d68 = 0x00000002; +s32 var80075d60 = 2; +s32 var80075d64 = 2; +s32 var80075d68 = 2; u32 var80075d6c = 0x00000002; u32 var80075d70 = 0x00000000; bool g_DebugTurboMode = false; @@ -122,7 +122,7 @@ bool debugEnableBgRendering(void) return true; } -bool debugEnablePropRendering(void) +bool debugIsPropRenderingEnabled(void) { return true; } @@ -217,7 +217,7 @@ bool debugForceAllObjectivesComplete(void) return false; } -bool debug0f11ee28(void) +bool debugIsZBufferDisabled(void) { return false; } @@ -262,7 +262,7 @@ bool debug0f11ee68(void) // not called return false; } -u32 debugGetSlowMotion(void) +s32 debugGetSlowMotion(void) { return SLOWMOTION_OFF; } @@ -277,12 +277,12 @@ bool debug0f11ee80(void) // not called return false; } -bool debug0f11ee88(void) +bool debugGetTilesDebugMode(void) { return false; } -bool debug0f11ee90(void) +bool debugGetPadsDebugMode(void) { return false; } @@ -347,7 +347,7 @@ bool debug0f11eef0(void) // not called return false; } -bool debugEnableFootsteps(void) +bool debugIsFootstepsEnabled(void) { return true; } @@ -427,7 +427,7 @@ bool debug0f11ef70(void) // not called return false; } -bool debug0f11ef78(void) +bool debugIsChrStatsEnabled(void) { return false; } diff --git a/src/game/debug1.c b/src/game/debug1.c index 0f61f7b5d..91fed7e45 100644 --- a/src/game/debug1.c +++ b/src/game/debug1.c @@ -185,7 +185,7 @@ glabel dmenuNavigateDown ); GLOBAL_ASM( -glabel dmenuNavigateLeft +glabel dmenuNavigateRight /* f119080: 3c038008 */ lui $v1,0x8008 /* f119084: 8c638134 */ lw $v1,-0x7ecc($v1) /* f119088: 3c088008 */ lui $t0,0x8008 @@ -255,7 +255,7 @@ glabel dmenuNavigateLeft ); GLOBAL_ASM( -glabel dmenuNavigateRight +glabel dmenuNavigateLeft /* f119174: 3c038008 */ lui $v1,0x8008 /* f119178: 8c638134 */ lw $v1,-0x7ecc($v1) /* f11917c: 3c078008 */ lui $a3,0x8008 diff --git a/src/game/debug2.c b/src/game/debug2.c index 0b9b950cf..31464d786 100644 --- a/src/game/debug2.c +++ b/src/game/debug2.c @@ -1,10 +1,29 @@ #include #include "constants.h" +#include "game/chr/chraction.h" #include "game/debug.h" +#include "lib/vi.h" +#include "lib/vm.h" #include "bss.h" #include "data.h" #include "types.h" +#define DEBUGMENU_MAIN 0 +#define DEBUGMENU_CUTSCENE 1 + +#define DEBUGOPT_PROPS 32 +#define DEBUGOPT_PADS 40 +#define DEBUGOPT_44 44 +#define DEBUGOPT_ALLTRAINING 29 +#define DEBUGOPT_TILES 39 +#define DEBUGOPT_ALLLEVELS 13 +#define DEBUGOPT_CHRSTATS 65 +#define DEBUGOPT_ALLCHALLENGES 67 +#define DEBUGOPT_VMSTATS 69 +#define DEBUGOPT_MEMINFO 70 +#define DEBUGOPT_ALLBUDDIES 94 +#define DEBUGOPT_MANPOS 101 + s32 var80078150nb[] = { 15, 30, @@ -271,76 +290,76 @@ u32 var8007868cnb[] = { 8, 11, }; -u32 var800786dcnb = 0x00000000; -u32 var800786e0nb = 0x00000000; -u32 var800786e4nb = 0x00000000; +s32 g_DebugCurMenu = DEBUGMENU_MAIN; +s32 var800786e0nb = 0; +s32 var800786e4nb = 0; s32 var80075d60 = 2; -u32 var80075d64 = 2; -u32 var80075d68 = 2; -u32 var800786f4nb = 0x00000002; -u32 var800786f8nb = 0x00000000; -u32 var800786fcnb = 0x00000001; -u32 var80078700nb = 0x00000001; -u32 var80078704nb = 0x00000001; -u32 var80078708nb = 0x00000000; -u32 var8007870cnb = 0x00000000; -u32 var80078710nb = 0x00000000; -u32 var80078714nb = 0x00000000; -u32 var80078718nb = 0x00000000; -u32 var8007871cnb = 0x00000000; +s32 var80075d64 = 2; +s32 var80075d68 = 2; +s32 var800786f4nb = 2; +s32 var800786f8nb = 0; +bool g_DebugRenderBg = true; +bool g_DebugRenderProps = true; +s32 var80078704nb = 1; +s32 var80078708nb = 0; +bool g_DebugRoomState = false; +s32 var80078710nb = 0; +s32 var80078714nb = 0; +s32 var80078718nb = 0; +s32 var8007871cnb = 0; bool g_DebugLineMode = false; -u32 var80078724nb = 0x00000000; -u32 var80078728nb = 0x00000000; -u32 var8007872cnb = 0x00000000; -u32 var80078730nb = 0x00000000; -u32 var80078734nb = 0x00000000; -u32 var80078738nb = 0x00000000; -u32 var8007873cnb = 0x00000000; -u32 var80078740nb = 0x00000000; -u32 var80078744nb = 0x00000000; -u32 var80078748nb = 0x00000000; -u32 var8007874cnb = 0x00000000; -u32 var80078750nb = 0x00000000; -u32 var80078754nb = 0x00000000; -u32 var80078758nb = 0x00000000; -u32 var8007875cnb = 0x00000000; -u32 var80078760nb = 0x00000000; -u32 var80078764nb = 0x00000000; -u32 var80078768nb = 0x00000000; -u32 var8007876cnb = 0x00000000; -u32 var80078770nb = 0x00000000; -u32 var80078774nb = 0x00000000; -u32 var80078778nb = 0x00000000; -u32 var8007877cnb = 0x00000000; -u32 var80078780nb = 0x00000000; -u32 var80078784nb = 0x00000000; -u32 var80078788nb = 0x00000000; -u32 var8007878cnb = 0x00000000; -u32 var80078790nb = 0x00000000; -u32 var80078794nb = 0x00000001; -u32 var80078798nb = 0x00000000; -u32 var8007879cnb = 0x00000000; -u32 var800787a0nb = 0x00000000; -u32 var800787a4nb = 0x00000000; -u32 var800787a8nb = 0x00000000; +s32 var80078724nb = 0; +s32 var80078728nb = 0; +s32 var8007872cnb = 0; +bool g_DebugManPos = false; +bool g_DebugTurboMode = false; +bool g_DebugObjectives = false; +bool g_DebugZBufferDisabled = false; +s32 var80078740nb = 0; +s32 var80078744nb = 0; +s32 var80078748nb = 0; +s32 var8007874cnb = 0; +s32 var80078750nb = 0; +s32 var80078754nb = 0; +s32 var80078758nb = 0; +s32 var8007875cnb = 0; +s32 var80078760nb = 0; +s32 g_DebugSlowMotion = SLOWMOTION_OFF; +s32 var80078768nb = 0; +s32 g_DebugTiles = 0; +s32 g_DebugPads = 0; +s32 var80078774nb = 0; +s32 var80078778nb = 0; +s32 var8007877cnb = 0; +s32 var80078780nb = 0; +s32 var80078784nb = 0; +s32 var80078788nb = 0; +s32 var8007878cnb = 0; +s32 var80078790nb = 0; +bool g_DebugFootsteps = true; +bool g_DebugAllChallenges = false; +bool g_DebugAllBuddies = false; +bool g_DebugAllTraining = false; +s32 var800787a4nb = 0; +s32 var800787a8nb = 0; bool g_DebugMemInfo = false; -u32 var800787b0nb = 0x00000000; -u32 var800787b4nb = 0x00000000; -u32 var800787b8nb = 0x00000000; -u32 var800787bcnb = 0x00000000; -u32 var800787c0nb = 0x00000000; -u32 var800787c4nb = 0x00000001; -u32 var800787c8nb = 0x00000000; -u32 var800787ccnb = 0x00000000; -u32 var800787d0nb = 0x00000000; -u32 var800787d4nb = 0x00000000; -u32 var800787d8nb = 0x00000000; -u32 var800787dcnb = 0x00000000; -u32 var800787e0nb = 0x00000000; -u32 var800787e4nb = 0x00000000; -u32 var800787e8nb = 0x00000000; -u32 var800787ecnb = 0x00000000; -u32 var800787f0nb = 0x00000000; +s32 var800787b0nb = 0; +s32 var800787b4nb = 0; +s32 var800787b8nb = 0; +s32 var800787bcnb = 0; +s32 var800787c0nb = 0; +s32 var800787c4nb = 1; +s32 var800787c8nb = 0; +s32 var800787ccnb = 0; +s32 var800787d0nb = 0; +s32 var800787d4nb = 0; +s32 var800787d8nb = 0; +s32 var800787dcnb = 0; +s32 var800787e0nb = 0; +bool g_DebugChrStats = false; +s32 var800787e8nb = 0; +s32 var800787ecnb = 0; +s32 var800787f0nb = 0; u32 var800787f4nb = 0x80500000; u32 var800787f8nb = 0x00040000; u32 var800787fcnb = 0x7f000000; @@ -349,39 +368,39 @@ u32 var80078804nb = 0x80600000; u32 var80078808nb = 0x00040000; u32 var8007880cnb = 0x70000000; u32 var80078810nb = 0x70100000; -u32 var80078814nb = 0x00000000; -u32 var80078818nb = 0x00000000; -u32 var8007881cnb = 0x00000000; -u32 var80078820nb = 0x00000000; -u32 var80078824nb = 0x00000000; -u32 var80078828nb = 0x00000000; -u32 var8007882cnb = 0x00000000; -u32 var80078830nb = 0x00000000; +s32 g_DebugScreenshotRgb = 0; +s32 g_DebugScreenshotJpg = 0; +bool g_DebugIsMenuOpen = false; + +u32 var80078820nb = 0; +u32 var80078824nb = 0; +u32 var80078828nb = 0; +u32 var8007882cnb = 0; +u32 var80078830nb = 0; u32 var80078834nb = 0xbf800000; -u32 var80078838nb = 0x00000000; +u32 var80078838nb = 0; u32 var8007883cnb = 0x3f800000; -u32 var80078840nb = 0x00000000; -u32 var80078844nb = 0x00000000; +u32 var80078840nb = 0; +u32 var80078844nb = 0; u32 var80078848nb = 0x3f800000; -u32 var8007884cnb = 0x00000000; -u32 var80078850nb = 0x00000000; +u32 var8007884cnb = 0; +u32 var80078850nb = 0; u32 var80078854nb = 0x3f800000; -u32 var80078858nb = 0x00000000; -u32 var8007885cnb = 0x00000000; -u32 var80078860nb = 0x00000000; -u32 var80078864nb = 0x00000000; -u32 var80078868nb = 0x00000000; -u32 var8007886cnb = 0x00000000; -u32 var80078870nb = 0x00000000; -u32 var80078874nb = 0x00000000; +u32 var80078858nb = 0; +u32 var8007885cnb = 0; +u32 var80078860nb = 0; +u32 var80078864nb = 0; +u32 var80078868nb = 0; +u32 var8007886cnb = 0; +u32 var80078870nb = 0; +u32 var80078874nb = 0; u32 var80078878nb = 0x3f800000; -u32 var8007887cnb = 0x00000000; const char var7f1af378nb[] = "main"; const char var7f1af380nb[] = "scene %d"; GLOBAL_ASM( -glabel debugTick +glabel debugUpdateMenu /* f119270: 27bdffd8 */ addiu $sp,$sp,-40 /* f119274: 3c028008 */ lui $v0,0x8008 /* f119278: 8c4286dc */ lw $v0,-0x7924($v0) @@ -538,511 +557,169 @@ glabel debug0f11944cnb /* f119468: 00000000 */ sll $zero,$zero,0x0 ); -GLOBAL_ASM( -glabel debug0f11946cnb -.late_rodata -glabel var7f1af38cnb -.word debug0f11946cnb+0x2a8 -glabel var7f1af390nb -.word debug0f11946cnb+0x428 -glabel var7f1af394nb -.word debug0f11946cnb+0x428 -glabel var7f1af398nb -.word debug0f11946cnb+0x428 -glabel var7f1af39cnb -.word debug0f11946cnb+0x428 -glabel var7f1af3a0nb -.word debug0f11946cnb+0x428 -glabel var7f1af3a4nb -.word debug0f11946cnb+0x428 -glabel var7f1af3a8nb -.word debug0f11946cnb+0x428 -glabel var7f1af3acnb -.word debug0f11946cnb+0x428 -glabel var7f1af3b0nb -.word debug0f11946cnb+0x428 -glabel var7f1af3b4nb -.word debug0f11946cnb+0x428 -glabel var7f1af3b8nb -.word debug0f11946cnb+0x428 -glabel var7f1af3bcnb -.word debug0f11946cnb+0x428 -glabel var7f1af3c0nb -.word debug0f11946cnb+0x428 -glabel var7f1af3c4nb -.word debug0f11946cnb+0x428 -glabel var7f1af3c8nb -.word debug0f11946cnb+0x428 -glabel var7f1af3ccnb -.word debug0f11946cnb+0x328 -glabel var7f1af3d0nb -.word debug0f11946cnb+0x428 -glabel var7f1af3d4nb -.word debug0f11946cnb+0x428 -glabel var7f1af3d8nb -.word debug0f11946cnb+0x3e4 -glabel var7f1af3dcnb -.word debug0f11946cnb+0x428 -glabel var7f1af3e0nb -.word debug0f11946cnb+0x428 -glabel var7f1af3e4nb -.word debug0f11946cnb+0x428 -glabel var7f1af3e8nb -.word debug0f11946cnb+0x428 -glabel var7f1af3ecnb -.word debug0f11946cnb+0x428 -glabel var7f1af3f0nb -.word debug0f11946cnb+0x428 -glabel var7f1af3f4nb -.word debug0f11946cnb+0x27c -glabel var7f1af3f8nb -.word debug0f11946cnb+0x250 -glabel var7f1af3fcnb -.word debug0f11946cnb+0x428 -glabel var7f1af400nb -.word debug0f11946cnb+0x428 -glabel var7f1af404nb -.word debug0f11946cnb+0x428 -glabel var7f1af408nb -.word debug0f11946cnb+0x3b4 -glabel var7f1af40cnb -.word debug0f11946cnb+0x428 -glabel var7f1af410nb -.word debug0f11946cnb+0x428 -glabel var7f1af414nb -.word debug0f11946cnb+0x428 -glabel var7f1af418nb -.word debug0f11946cnb+0x428 -glabel var7f1af41cnb -.word debug0f11946cnb+0x428 -glabel var7f1af420nb -.word debug0f11946cnb+0x428 -glabel var7f1af424nb -.word debug0f11946cnb+0x428 -glabel var7f1af428nb -.word debug0f11946cnb+0x428 -glabel var7f1af42cnb -.word debug0f11946cnb+0x428 -glabel var7f1af430nb -.word debug0f11946cnb+0x428 -glabel var7f1af434nb -.word debug0f11946cnb+0x428 -glabel var7f1af438nb -.word debug0f11946cnb+0x428 -glabel var7f1af43cnb -.word debug0f11946cnb+0x428 -glabel var7f1af440nb -.word debug0f11946cnb+0x428 -glabel var7f1af444nb -.word debug0f11946cnb+0x428 -glabel var7f1af448nb -.word debug0f11946cnb+0x428 -glabel var7f1af44cnb -.word debug0f11946cnb+0x428 -glabel var7f1af450nb -.word debug0f11946cnb+0x428 -glabel var7f1af454nb -.word debug0f11946cnb+0x428 -glabel var7f1af458nb -.word debug0f11946cnb+0x428 -glabel var7f1af45cnb -.word debug0f11946cnb+0x3cc -glabel var7f1af460nb -.word debug0f11946cnb+0x428 -glabel var7f1af464nb -.word debug0f11946cnb+0x2f0 -glabel var7f1af468nb -.word debug0f11946cnb+0x428 -glabel var7f1af46cnb -.word debug0f11946cnb+0x3fc -glabel var7f1af470nb -.word debug0f11946cnb+0x414 -glabel var7f1af474nb -.word debug0f11946cnb+0x428 -glabel var7f1af478nb -.word debug0f11946cnb+0x428 -glabel var7f1af47cnb -.word debug0f11946cnb+0x428 -glabel var7f1af480nb -.word debug0f11946cnb+0x428 -glabel var7f1af484nb -.word debug0f11946cnb+0x428 -glabel var7f1af488nb -.word debug0f11946cnb+0x428 -glabel var7f1af48cnb -.word debug0f11946cnb+0x428 -glabel var7f1af490nb -.word debug0f11946cnb+0x428 -glabel var7f1af494nb -.word debug0f11946cnb+0x428 -glabel var7f1af498nb -.word debug0f11946cnb+0x428 -glabel var7f1af49cnb -.word debug0f11946cnb+0x428 -glabel var7f1af4a0nb -.word debug0f11946cnb+0x428 -glabel var7f1af4a4nb -.word debug0f11946cnb+0x428 -glabel var7f1af4a8nb -.word debug0f11946cnb+0x428 -glabel var7f1af4acnb -.word debug0f11946cnb+0x428 -glabel var7f1af4b0nb -.word debug0f11946cnb+0x428 -glabel var7f1af4b4nb -.word debug0f11946cnb+0x428 -glabel var7f1af4b8nb -.word debug0f11946cnb+0x428 -glabel var7f1af4bcnb -.word debug0f11946cnb+0x428 -glabel var7f1af4c0nb -.word debug0f11946cnb+0x428 -glabel var7f1af4c4nb -.word debug0f11946cnb+0x428 -glabel var7f1af4c8nb -.word debug0f11946cnb+0x428 -glabel var7f1af4ccnb -.word debug0f11946cnb+0x428 -glabel var7f1af4d0nb -.word debug0f11946cnb+0x310 -glabel var7f1af4d4nb -.word debug0f11946cnb+0x428 -glabel var7f1af4d8nb -.word debug0f11946cnb+0x428 -glabel var7f1af4dcnb -.word debug0f11946cnb+0x428 -glabel var7f1af4e0nb -.word debug0f11946cnb+0x428 -glabel var7f1af4e4nb -.word debug0f11946cnb+0x428 -glabel var7f1af4e8nb -.word debug0f11946cnb+0x428 -glabel var7f1af4ecnb -.word debug0f11946cnb+0x238 -.text -/* f11946c: 27bdffd0 */ addiu $sp,$sp,-48 -/* f119470: afbf0014 */ sw $ra,0x14($sp) -/* f119474: afa40030 */ sw $a0,0x30($sp) -/* f119478: afa50034 */ sw $a1,0x34($sp) -/* f11947c: afa60038 */ sw $a2,0x38($sp) -/* f119480: 0fc4649c */ jal debugTick -/* f119484: afa7003c */ sw $a3,0x3c($sp) -/* f119488: 3c048008 */ lui $a0,0x8008 -/* f11948c: 24848814 */ addiu $a0,$a0,-30700 -/* f119490: 8c820000 */ lw $v0,0x0($a0) -/* f119494: 24060003 */ addiu $a2,$zero,0x3 -/* f119498: 1040000b */ beqz $v0,.NB0f1194c8 -/* f11949c: 244e0001 */ addiu $t6,$v0,0x1 -/* f1194a0: 14c20009 */ bne $a2,$v0,.NB0f1194c8 -/* f1194a4: ac8e0000 */ sw $t6,0x0($a0) -/* f1194a8: 0c00305e */ jal vi0000bfa4 -/* f1194ac: 00000000 */ sll $zero,$zero,0x0 -/* f1194b0: 3c048008 */ lui $a0,0x8008 -/* f1194b4: 24848814 */ addiu $a0,$a0,-30700 -/* f1194b8: 0c002b20 */ jal viSet16Bit -/* f1194bc: ac800000 */ sw $zero,0x0($a0) -/* f1194c0: 0c01282c */ jal osViBlack -/* f1194c4: 00002025 */ or $a0,$zero,$zero -.NB0f1194c8: -/* f1194c8: 3c048008 */ lui $a0,0x8008 -/* f1194cc: 24848818 */ addiu $a0,$a0,-30696 -/* f1194d0: 8c820000 */ lw $v0,0x0($a0) -/* f1194d4: 24060003 */ addiu $a2,$zero,0x3 -/* f1194d8: 1040000b */ beqz $v0,.NB0f119508 -/* f1194dc: 244f0001 */ addiu $t7,$v0,0x1 -/* f1194e0: 14c20009 */ bne $a2,$v0,.NB0f119508 -/* f1194e4: ac8f0000 */ sw $t7,0x0($a0) -/* f1194e8: 0c00305a */ jal vi0000bf94 -/* f1194ec: 00000000 */ sll $zero,$zero,0x0 -/* f1194f0: 3c048008 */ lui $a0,0x8008 -/* f1194f4: 24848818 */ addiu $a0,$a0,-30696 -/* f1194f8: 0c002b20 */ jal viSet16Bit -/* f1194fc: ac800000 */ sw $zero,0x0($a0) -/* f119500: 0c01282c */ jal osViBlack -/* f119504: 00002025 */ or $a0,$zero,$zero -.NB0f119508: -/* f119508: 3c188008 */ lui $t8,0x8008 -/* f11950c: 8f18881c */ lw $t8,-0x77e4($t8) -/* f119510: 3c048008 */ lui $a0,0x8008 -/* f119514: 3c018008 */ lui $at,0x8008 -/* f119518: 1700000c */ bnez $t8,.NB0f11954c -/* f11951c: 248486f0 */ addiu $a0,$a0,-30992 -/* f119520: 97a4003a */ lhu $a0,0x3a($sp) -/* f119524: 30820008 */ andi $v0,$a0,0x8 -/* f119528: 0002182b */ sltu $v1,$zero,$v0 -/* f11952c: 10600004 */ beqz $v1,.NB0f119540 -/* f119530: 00000000 */ sll $zero,$zero,0x0 -/* f119534: 30830004 */ andi $v1,$a0,0x4 -/* f119538: 0003402b */ sltu $t0,$zero,$v1 -/* f11953c: 01001825 */ or $v1,$t0,$zero -.NB0f119540: -/* f119540: ac23881c */ sw $v1,-0x77e4($at) -/* f119544: 100000e4 */ beqz $zero,.NB0f1198d8 -/* f119548: 00601025 */ or $v0,$v1,$zero -.NB0f11954c: -/* f11954c: 8c820000 */ lw $v0,0x0($a0) -/* f119550: 2403fffe */ addiu $v1,$zero,-2 -/* f119554: 3c018008 */ lui $at,0x8008 -/* f119558: 50620004 */ beql $v1,$v0,.NB0f11956c -/* f11955c: 97a9003e */ lhu $t1,0x3e($sp) -/* f119560: ac2286f4 */ sw $v0,-0x790c($at) -/* f119564: ac830000 */ sw $v1,0x0($a0) -/* f119568: 97a9003e */ lhu $t1,0x3e($sp) -.NB0f11956c: -/* f11956c: 312a0200 */ andi $t2,$t1,0x200 -/* f119570: 11400007 */ beqz $t2,.NB0f119590 -/* f119574: afa9001c */ sw $t1,0x1c($sp) -/* f119578: 0fc4645d */ jal dmenuNavigateRight -/* f11957c: 00000000 */ sll $zero,$zero,0x0 -/* f119580: 3c048008 */ lui $a0,0x8008 -/* f119584: 248486f0 */ addiu $a0,$a0,-30992 -/* f119588: 2403fffe */ addiu $v1,$zero,-2 -/* f11958c: ac830000 */ sw $v1,0x0($a0) -.NB0f119590: -/* f119590: 8fab001c */ lw $t3,0x1c($sp) -/* f119594: 316c0100 */ andi $t4,$t3,0x100 -/* f119598: 51800008 */ beqzl $t4,.NB0f1195bc -/* f11959c: 8fad001c */ lw $t5,0x1c($sp) -/* f1195a0: 0fc46420 */ jal dmenuNavigateLeft -/* f1195a4: 00000000 */ sll $zero,$zero,0x0 -/* f1195a8: 3c048008 */ lui $a0,0x8008 -/* f1195ac: 248486f0 */ addiu $a0,$a0,-30992 -/* f1195b0: 2403fffe */ addiu $v1,$zero,-2 -/* f1195b4: ac830000 */ sw $v1,0x0($a0) -/* f1195b8: 8fad001c */ lw $t5,0x1c($sp) -.NB0f1195bc: -/* f1195bc: 31ae0800 */ andi $t6,$t5,0x800 -/* f1195c0: 51c00008 */ beqzl $t6,.NB0f1195e4 -/* f1195c4: 8faf001c */ lw $t7,0x1c($sp) -/* f1195c8: 0fc463e2 */ jal dmenuNavigateUp -/* f1195cc: 00000000 */ sll $zero,$zero,0x0 -/* f1195d0: 3c048008 */ lui $a0,0x8008 -/* f1195d4: 248486f0 */ addiu $a0,$a0,-30992 -/* f1195d8: 2403fffe */ addiu $v1,$zero,-2 -/* f1195dc: ac830000 */ sw $v1,0x0($a0) -/* f1195e0: 8faf001c */ lw $t7,0x1c($sp) -.NB0f1195e4: -/* f1195e4: 31f80400 */ andi $t8,$t7,0x400 -/* f1195e8: 53000008 */ beqzl $t8,.NB0f11960c -/* f1195ec: 8fb9001c */ lw $t9,0x1c($sp) -/* f1195f0: 0fc46402 */ jal dmenuNavigateDown -/* f1195f4: 00000000 */ sll $zero,$zero,0x0 -/* f1195f8: 3c048008 */ lui $a0,0x8008 -/* f1195fc: 248486f0 */ addiu $a0,$a0,-30992 -/* f119600: 2403fffe */ addiu $v1,$zero,-2 -/* f119604: ac830000 */ sw $v1,0x0($a0) -/* f119608: 8fb9001c */ lw $t9,0x1c($sp) -.NB0f11960c: -/* f11960c: 3c028008 */ lui $v0,0x8008 -/* f119610: 33289000 */ andi $t0,$t9,0x9000 -/* f119614: 510000a0 */ beqzl $t0,.NB0f119898 -/* f119618: 8faf001c */ lw $t7,0x1c($sp) -/* f11961c: 8c4286dc */ lw $v0,-0x7924($v0) -/* f119620: 24010001 */ addiu $at,$zero,0x1 -/* f119624: 14410011 */ bne $v0,$at,.NB0f11966c -/* f119628: 00000000 */ sll $zero,$zero,0x0 -/* f11962c: 0fc463dc */ jal dmenuGetSelectedOption -/* f119630: 00000000 */ sll $zero,$zero,0x0 -/* f119634: 14400007 */ bnez $v0,.NB0f119654 -/* f119638: 3c018008 */ lui $at,0x8008 -/* f11963c: 0c0050b5 */ jal func000142d4nb -/* f119640: ac2086dc */ sw $zero,-0x7924($at) -/* f119644: 0fc4649c */ jal debugTick -/* f119648: 00000000 */ sll $zero,$zero,0x0 -/* f11964c: 10000092 */ beqz $zero,.NB0f119898 -/* f119650: 8faf001c */ lw $t7,0x1c($sp) -.NB0f119654: -/* f119654: 0fc463dc */ jal dmenuGetSelectedOption -/* f119658: 00000000 */ sll $zero,$zero,0x0 -/* f11965c: 0fc11e7c */ jal func0f0482cc -/* f119660: 24440bff */ addiu $a0,$v0,0xbff -/* f119664: 1000008c */ beqz $zero,.NB0f119898 -/* f119668: 8faf001c */ lw $t7,0x1c($sp) -.NB0f11966c: -/* f11966c: 5440008a */ bnezl $v0,.NB0f119898 -/* f119670: 8faf001c */ lw $t7,0x1c($sp) -/* f119674: 0fc463dc */ jal dmenuGetSelectedOption -/* f119678: 00000000 */ sll $zero,$zero,0x0 -/* f11967c: 2449fff3 */ addiu $t1,$v0,-13 -/* f119680: 2d210059 */ sltiu $at,$t1,0x59 -/* f119684: 10200083 */ beqz $at,.NB0f119894 -/* f119688: 24060003 */ addiu $a2,$zero,0x3 -/* f11968c: 00094880 */ sll $t1,$t1,0x2 -/* f119690: 3c017f1b */ lui $at,0x7f1b -/* f119694: 00290821 */ addu $at,$at,$t1 -/* f119698: 8c29f38c */ lw $t1,-0xc74($at) -/* f11969c: 01200008 */ jr $t1 -/* f1196a0: 00000000 */ sll $zero,$zero,0x0 -/* f1196a4: 3c028008 */ lui $v0,0x8008 -/* f1196a8: 24428730 */ addiu $v0,$v0,-30928 -/* f1196ac: 8c4a0000 */ lw $t2,0x0($v0) -/* f1196b0: 394b0001 */ xori $t3,$t2,0x1 -/* f1196b4: 10000077 */ beqz $zero,.NB0f119894 -/* f1196b8: ac4b0000 */ sw $t3,0x0($v0) -/* f1196bc: 3c028008 */ lui $v0,0x8008 -/* f1196c0: 24428770 */ addiu $v0,$v0,-30864 -/* f1196c4: 8c4c0000 */ lw $t4,0x0($v0) -/* f1196c8: 258d0001 */ addiu $t5,$t4,0x1 -/* f1196cc: 05a10004 */ bgez $t5,.NB0f1196e0 -/* f1196d0: 31ae0003 */ andi $t6,$t5,0x3 -/* f1196d4: 11c00002 */ beqz $t6,.NB0f1196e0 -/* f1196d8: 00000000 */ sll $zero,$zero,0x0 -/* f1196dc: 25cefffc */ addiu $t6,$t6,-4 -.NB0f1196e0: -/* f1196e0: 1000006c */ beqz $zero,.NB0f119894 -/* f1196e4: ac4e0000 */ sw $t6,0x0($v0) -/* f1196e8: 3c028008 */ lui $v0,0x8008 -/* f1196ec: 2442876c */ addiu $v0,$v0,-30868 -/* f1196f0: 8c4f0000 */ lw $t7,0x0($v0) -/* f1196f4: 25f80001 */ addiu $t8,$t7,0x1 -/* f1196f8: 07010004 */ bgez $t8,.NB0f11970c -/* f1196fc: 33190003 */ andi $t9,$t8,0x3 -/* f119700: 13200002 */ beqz $t9,.NB0f11970c -/* f119704: 00000000 */ sll $zero,$zero,0x0 -/* f119708: 2739fffc */ addiu $t9,$t9,-4 -.NB0f11970c: -/* f11970c: 10000061 */ beqz $zero,.NB0f119894 -/* f119710: ac590000 */ sw $t9,0x0($v0) -/* f119714: 3c05800a */ lui $a1,0x800a -/* f119718: 3c07800a */ lui $a3,0x800a -/* f11971c: 24e7676e */ addiu $a3,$a3,0x676e -/* f119720: 24a566f0 */ addiu $a1,$a1,0x66f0 -/* f119724: 24040007 */ addiu $a0,$zero,0x7 -/* f119728: 00001025 */ or $v0,$zero,$zero -.NB0f11972c: -/* f11972c: 00a01825 */ or $v1,$a1,$zero -.NB0f119730: -/* f119730: 24420001 */ addiu $v0,$v0,0x1 -/* f119734: 24630002 */ addiu $v1,$v1,0x2 -/* f119738: 1446fffd */ bne $v0,$a2,.NB0f119730 -/* f11973c: a464001e */ sh $a0,0x1e($v1) -/* f119740: 24a50006 */ addiu $a1,$a1,0x6 -/* f119744: 54a7fff9 */ bnel $a1,$a3,.NB0f11972c -/* f119748: 00001025 */ or $v0,$zero,$zero -/* f11974c: 24080001 */ addiu $t0,$zero,0x1 -/* f119750: 3c01800a */ lui $at,0x800a -/* f119754: 1000004f */ beqz $zero,.NB0f119894 -/* f119758: a028681b */ sb $t0,0x681b($at) -/* f11975c: 3c028008 */ lui $v0,0x8008 -/* f119760: 24428798 */ addiu $v0,$v0,-30824 -/* f119764: 8c490000 */ lw $t1,0x0($v0) -/* f119768: 392a0001 */ xori $t2,$t1,0x1 -/* f11976c: 0fc65417 */ jal mpDetermineUnlockedFeatures -/* f119770: ac4a0000 */ sw $t2,0x0($v0) -/* f119774: 10000048 */ beqz $zero,.NB0f119898 -/* f119778: 8faf001c */ lw $t7,0x1c($sp) -/* f11977c: 3c028008 */ lui $v0,0x8008 -/* f119780: 2442879c */ addiu $v0,$v0,-30820 -/* f119784: 8c4b0000 */ lw $t3,0x0($v0) -/* f119788: 396c0001 */ xori $t4,$t3,0x1 -/* f11978c: 10000041 */ beqz $zero,.NB0f119894 -/* f119790: ac4c0000 */ sw $t4,0x0($v0) -/* f119794: 3c048008 */ lui $a0,0x8008 -/* f119798: 248487a0 */ addiu $a0,$a0,-30816 -/* f11979c: 8c8d0000 */ lw $t5,0x0($a0) -/* f1197a0: 3c02800a */ lui $v0,0x800a -/* f1197a4: 244266f0 */ addiu $v0,$v0,0x66f0 -/* f1197a8: 39ae0001 */ xori $t6,$t5,0x1 -/* f1197ac: ac8e0000 */ sw $t6,0x0($a0) -/* f1197b0: 3c04800a */ lui $a0,0x800a -/* f1197b4: 248466f9 */ addiu $a0,$a0,0x66f9 -/* f1197b8: 240300ff */ addiu $v1,$zero,0xff -.NB0f1197bc: -/* f1197bc: 24420001 */ addiu $v0,$v0,0x1 -/* f1197c0: 1444fffe */ bne $v0,$a0,.NB0f1197bc -/* f1197c4: a04300ab */ sb $v1,0xab($v0) -/* f1197c8: 0fc425a7 */ jal gamefileSetFlag -/* f1197cc: 24040030 */ addiu $a0,$zero,0x30 -/* f1197d0: 0fc425a7 */ jal gamefileSetFlag -/* f1197d4: 24040031 */ addiu $a0,$zero,0x31 -/* f1197d8: 0fc425a7 */ jal gamefileSetFlag -/* f1197dc: 24040032 */ addiu $a0,$zero,0x32 -/* f1197e0: 0fc425a7 */ jal gamefileSetFlag -/* f1197e4: 24040033 */ addiu $a0,$zero,0x33 -/* f1197e8: 0fc425a7 */ jal gamefileSetFlag -/* f1197ec: 24040034 */ addiu $a0,$zero,0x34 -/* f1197f0: 0fc425a7 */ jal gamefileSetFlag -/* f1197f4: 24040035 */ addiu $a0,$zero,0x35 -/* f1197f8: 0fc425a7 */ jal gamefileSetFlag -/* f1197fc: 24040036 */ addiu $a0,$zero,0x36 -/* f119800: 0fc425a7 */ jal gamefileSetFlag -/* f119804: 24040037 */ addiu $a0,$zero,0x37 -/* f119808: 0fc425a7 */ jal gamefileSetFlag -/* f11980c: 24040038 */ addiu $a0,$zero,0x38 -/* f119810: 0fc425a7 */ jal gamefileSetFlag -/* f119814: 24040039 */ addiu $a0,$zero,0x39 -/* f119818: 1000001f */ beqz $zero,.NB0f119898 -/* f11981c: 8faf001c */ lw $t7,0x1c($sp) -/* f119820: 3c028008 */ lui $v0,0x8008 -/* f119824: 244287a4 */ addiu $v0,$v0,-30812 -/* f119828: 8c4f0000 */ lw $t7,0x0($v0) -/* f11982c: 39f80001 */ xori $t8,$t7,0x1 -/* f119830: 10000018 */ beqz $zero,.NB0f119894 -/* f119834: ac580000 */ sw $t8,0x0($v0) -/* f119838: 3c028008 */ lui $v0,0x8008 -/* f11983c: 244287e4 */ addiu $v0,$v0,-30748 -/* f119840: 8c590000 */ lw $t9,0x0($v0) -/* f119844: 3b280001 */ xori $t0,$t9,0x1 -/* f119848: 10000012 */ beqz $zero,.NB0f119894 -/* f11984c: ac480000 */ sw $t0,0x0($v0) -/* f119850: 3c028008 */ lui $v0,0x8008 -/* f119854: 24428700 */ addiu $v0,$v0,-30976 -/* f119858: 8c490000 */ lw $t1,0x0($v0) -/* f11985c: 392a0001 */ xori $t2,$t1,0x1 -/* f119860: 1000000c */ beqz $zero,.NB0f119894 -/* f119864: ac4a0000 */ sw $t2,0x0($v0) -/* f119868: 3c028006 */ lui $v0,0x8006 -/* f11986c: 2442e710 */ addiu $v0,$v0,-6384 -/* f119870: 904b0000 */ lbu $t3,0x0($v0) -/* f119874: 396c0001 */ xori $t4,$t3,0x1 -/* f119878: 10000006 */ beqz $zero,.NB0f119894 -/* f11987c: a04c0000 */ sb $t4,0x0($v0) -/* f119880: 3c028008 */ lui $v0,0x8008 -/* f119884: 244287ac */ addiu $v0,$v0,-30804 -/* f119888: 8c4d0000 */ lw $t5,0x0($v0) -/* f11988c: 39ae0001 */ xori $t6,$t5,0x1 -/* f119890: ac4e0000 */ sw $t6,0x0($v0) -.NB0f119894: -/* f119894: 8faf001c */ lw $t7,0x1c($sp) -.NB0f119898: -/* f119898: 3c198008 */ lui $t9,0x8008 -/* f11989c: 31f81000 */ andi $t8,$t7,0x1000 -/* f1198a0: 13000009 */ beqz $t8,.NB0f1198c8 -/* f1198a4: 00000000 */ sll $zero,$zero,0x0 -/* f1198a8: 8f39881c */ lw $t9,-0x77e4($t9) -/* f1198ac: 24010001 */ addiu $at,$zero,0x1 -/* f1198b0: 17210003 */ bne $t9,$at,.NB0f1198c0 -/* f1198b4: 00000000 */ sll $zero,$zero,0x0 -/* f1198b8: 0c0050b5 */ jal func000142d4nb -/* f1198bc: 00000000 */ sll $zero,$zero,0x0 -.NB0f1198c0: -/* f1198c0: 3c018008 */ lui $at,0x8008 -/* f1198c4: ac20881c */ sw $zero,-0x77e4($at) -.NB0f1198c8: -/* f1198c8: 0fc464ec */ jal debug0f1193b0nb -/* f1198cc: 00000000 */ sll $zero,$zero,0x0 -/* f1198d0: 3c028008 */ lui $v0,0x8008 -/* f1198d4: 8c42881c */ lw $v0,-0x77e4($v0) -.NB0f1198d8: -/* f1198d8: 8fbf0014 */ lw $ra,0x14($sp) -/* f1198dc: 27bd0030 */ addiu $sp,$sp,0x30 -/* f1198e0: 03e00008 */ jr $ra -/* f1198e4: 00000000 */ sll $zero,$zero,0x0 -); +bool debugProcessInput(s8 stickx, s8 sticky, u16 buttons, u16 buttonsthisframe) +{ + s32 i; + s32 prev; + s32 tmp = 3; + + debugUpdateMenu(); + + if (g_DebugScreenshotRgb) { + prev = g_DebugScreenshotRgb++; + + if (tmp == prev) { + viGrabRgb32(); + g_DebugScreenshotRgb = 0; + viSet16Bit(); + osViBlack(false); + } + } + + if (g_DebugScreenshotJpg) { + prev = g_DebugScreenshotJpg++; + + if (tmp == prev) { + viGrabJpg32(); + g_DebugScreenshotJpg = 0; + viSet16Bit(); + osViBlack(false); + } + } + + if (!g_DebugIsMenuOpen) { + tmp = (buttons & U_CBUTTONS) && (buttons & D_CBUTTONS); + g_DebugIsMenuOpen = tmp; + return tmp; + } + + if (var80075d68 != -2) { + var800786f4nb = var80075d68; + var80075d68 = -2; + } + + if (buttonsthisframe & L_JPAD) { + dmenuNavigateLeft(); + var80075d68 = -2; + } + + if (buttonsthisframe & R_JPAD) { + dmenuNavigateRight(); + var80075d68 = -2; + } + + if (buttonsthisframe & U_JPAD) { + dmenuNavigateUp(); + var80075d68 = -2; + } + + if (buttonsthisframe & D_JPAD) { + dmenuNavigateDown(); + var80075d68 = -2; + } + + if (buttonsthisframe & (A_BUTTON | START_BUTTON)) { + if (g_DebugCurMenu == DEBUGMENU_CUTSCENE) { + if (dmenuGetSelectedOption() == 0) { + // Selected "main" from cutscene menu + g_DebugCurMenu = DEBUGMENU_MAIN; + func000142d4nb(); + debugUpdateMenu(); + } else { + cutsceneStart(0xc00 + dmenuGetSelectedOption() - 1); + } + } else if (g_DebugCurMenu == DEBUGMENU_MAIN) { + switch (dmenuGetSelectedOption()) { + case DEBUGOPT_MANPOS: + g_DebugManPos ^= 1; + break; + case DEBUGOPT_PADS: + g_DebugPads = (g_DebugPads + 1) % 4; + break; + case DEBUGOPT_TILES: + g_DebugTiles = (g_DebugTiles + 1) % 4; + break; + case DEBUGOPT_ALLLEVELS: + for (i = 0; i < 21; i++) { + for (tmp = 0; tmp < 3; tmp++) { + g_GameFile.besttimes[i][tmp] = 7; + } + } + + g_AltTitleUnlocked = true; + break; + case DEBUGOPT_ALLCHALLENGES: + g_DebugAllChallenges ^= 1; + mpDetermineUnlockedFeatures(); + break; + case DEBUGOPT_ALLBUDDIES: + g_DebugAllBuddies ^= 1; + break; + case DEBUGOPT_ALLTRAINING: + g_DebugAllTraining ^= 1; + + for (i = 0; i < ARRAYCOUNT(g_GameFile.firingrangescores); i++) { + g_GameFile.firingrangescores[i] = 0xff; + } + + gamefileSetFlag(GAMEFILEFLAG_CI_CLOAK_DONE); + gamefileSetFlag(GAMEFILEFLAG_CI_DISGUISE_DONE); + gamefileSetFlag(GAMEFILEFLAG_CI_XRAY_DONE); + gamefileSetFlag(GAMEFILEFLAG_CI_IR_DONE); + gamefileSetFlag(GAMEFILEFLAG_CI_RTRACKER_DONE); + gamefileSetFlag(GAMEFILEFLAG_CI_DOORDECODER_DONE); + gamefileSetFlag(GAMEFILEFLAG_CI_NIGHTVISION_DONE); + gamefileSetFlag(GAMEFILEFLAG_CI_CAMSPY_DONE); + gamefileSetFlag(GAMEFILEFLAG_CI_ECMMINE_DONE); + gamefileSetFlag(GAMEFILEFLAG_CI_UPLINK_DONE); + break; + case DEBUGOPT_44: + // This is one of the "-" labels. The value is returned in a + // getter function but the getter function is never called. + var800787a4nb ^= 1; + break; + case DEBUGOPT_CHRSTATS: + g_DebugChrStats ^= 1; + break; + case DEBUGOPT_PROPS: + g_DebugRenderProps ^= 1; + break; + case DEBUGOPT_VMSTATS: + g_VmShowStats ^= 1; + break; + case DEBUGOPT_MEMINFO: + g_DebugMemInfo ^= 1; + break; + } + } + } + + if (buttonsthisframe & START_BUTTON) { + if (g_DebugIsMenuOpen == true) { + func000142d4nb(); + } + + g_DebugIsMenuOpen = false; + } + + debug0f1193b0nb(); + + return g_DebugIsMenuOpen; +} bool debug0f11ed70(void) { return var800786f8nb; } -bool debug0f1198f4nb(void) +bool debugIsBgRenderingEnabled(void) { - return var800786fcnb; + return g_DebugRenderBg; } -bool debugEnablePropRendering(void) +bool debugIsPropRenderingEnabled(void) { - return var80078700nb; + return g_DebugRenderProps; } bool debug0f11990cnb(void) @@ -1050,14 +727,14 @@ bool debug0f11990cnb(void) return var80078708nb; } -bool debug0f119918nb(void) +bool debugIsManPosEnabled(void) { - return var80078730nb; + return g_DebugManPos; } -void debug0f119924nb(bool enabled) +void debugSetManPos(bool enabled) { - var80078730nb = enabled; + g_DebugManPos = enabled; } bool debug0f119930nb(void) @@ -1082,7 +759,7 @@ bool debug0f119954nb(void) bool debugIsRoomStateDebugEnabled(void) { - return var8007870cnb; + return g_DebugRoomState; } bool debugIsLineModeEnabled(void) @@ -1095,24 +772,24 @@ void debugSetLineModeEnabled(bool enabled) g_DebugLineMode = enabled; } -bool debug0f119984nb(void) +bool debugIsTurboModeEnabled(void) { - return var80078734nb; + return g_DebugTurboMode; } -void debug0f119990nb(bool enabled) +void debugSetTurboMode(bool enabled) { - var80078734nb = enabled; + g_DebugTurboMode = enabled; } bool debugForceAllObjectivesComplete(void) { - return var80078738nb; + return g_DebugObjectives; } -bool debug0f11ee28(void) +bool debugIsZBufferDisabled(void) { - return var8007873cnb; + return g_DebugZBufferDisabled; } bool debug0f11ee30(void) @@ -1170,9 +847,9 @@ bool debug0f119a2cnb(void) return var8007875cnb; } -u32 debugGetSlowMotion(void) +s32 debugGetSlowMotion(void) { - return var80078764nb; + return g_DebugSlowMotion; } bool debug0f119a44nb(void) @@ -1185,14 +862,14 @@ bool debug0f119a50nb(void) return var80078760nb; } -bool debug0f11ee88(void) +s32 debugGetTilesDebugMode(void) { - return var8007876cnb; + return g_DebugTiles; } -bool debug0f11ee90(void) +s32 debugGetPadsDebugMode(void) { - return var80078770nb; + return g_DebugPads; } bool debug0f119a74nb(void) @@ -1285,24 +962,24 @@ bool debug0f119b3cnb(void) return var800787d4nb; } -bool debugEnableFootsteps(void) +bool debugIsFootstepsEnabled(void) { - return var80078794nb; + return g_DebugFootsteps; } -bool debug0f119b54nb(void) +bool debugIsAllChallengesEnabled(void) { - return var80078798nb; + return g_DebugAllChallenges; } -bool debug0f119b60nb(void) +bool debugIsAllBuddiesEnabled(void) { - return var8007879cnb; + return g_DebugAllBuddies; } -bool debugAllFrWeapons(void) +bool debugIsAllTrainingEnabled(void) { - return var800787a0nb; + return g_DebugAllTraining; } bool debug0f119b78nb(void) @@ -1330,9 +1007,9 @@ bool debug0f119ba8nb(void) return var800787bcnb; } -bool debug0f11ef78(void) +bool debugIsChrStatsEnabled(void) { - return var800787e4nb; + return g_DebugChrStats; } bool debug0f11ef80(void) diff --git a/src/game/game_005fd0.c b/src/game/game_005fd0.c index 6733c500b..ca4f282e9 100644 --- a/src/game/game_005fd0.c +++ b/src/game/game_005fd0.c @@ -153,7 +153,7 @@ glabel chrCheckFootstep /* f0061e0: afbf004c */ sw $ra,0x4c($sp) /* f0061e4: afb10048 */ sw $s1,0x48($sp) /* f0061e8: 00808825 */ move $s1,$a0 -/* f0061ec: 0fc47e7e */ jal debugEnableFootsteps +/* f0061ec: 0fc47e7e */ jal debugIsFootstepsEnabled /* f0061f0: afb00044 */ sw $s0,0x44($sp) /* f0061f4: 104000c2 */ beqz $v0,.PF0f006500 /* f0061f8: 24010001 */ li $at,0x1 @@ -386,7 +386,7 @@ glabel chrCheckFootstep /* f0061e0: afbf004c */ sw $ra,0x4c($sp) /* f0061e4: afb10048 */ sw $s1,0x48($sp) /* f0061e8: 00808825 */ or $s1,$a0,$zero -/* f0061ec: 0fc47bbe */ jal debugEnableFootsteps +/* f0061ec: 0fc47bbe */ jal debugIsFootstepsEnabled /* f0061f0: afb00044 */ sw $s0,0x44($sp) /* f0061f4: 104000c5 */ beqz $v0,.L0f00650c /* f0061f8: 24010001 */ addiu $at,$zero,0x1 @@ -622,7 +622,7 @@ glabel chrCheckFootstep /* f005f30: afbf004c */ sw $ra,0x4c($sp) /* f005f34: afb10048 */ sw $s1,0x48($sp) /* f005f38: 00808825 */ or $s1,$a0,$zero -/* f005f3c: 0fc466d2 */ jal debugEnableFootsteps +/* f005f3c: 0fc466d2 */ jal debugIsFootstepsEnabled /* f005f40: afb00044 */ sw $s0,0x44($sp) /* f005f44: 104000c3 */ beqz $v0,.NB0f006254 /* f005f48: 24010001 */ addiu $at,$zero,0x1 @@ -859,7 +859,7 @@ glabel chrCheckFootstep // Mismatch: load of 10.0f into $at is swapped with load of prevframe from stack //void chrCheckFootstep(struct chrdata *chr) //{ -// if (debugEnableFootsteps() && PLAYERCOUNT() == 1 && chr) { +// if (debugIsFootstepsEnabled() && PLAYERCOUNT() == 1 && chr) { // chr->footstep = 0; // chr->magicanim = -1; // chr->magicframe = 0; @@ -927,7 +927,7 @@ void chrCheckFootstepMagic(struct chrdata *chr) f32 zdiff; s32 soundnum; - if (debugEnableFootsteps() && PLAYERCOUNT() == 1 && chr->magicanim >= 0) { + if (debugIsFootstepsEnabled() && PLAYERCOUNT() == 1 && chr->magicanim >= 0) { #if VERSION >= VERSION_PAL_FINAL chr->magicframe += g_Vars.lvupdate240freal * chr->magicspeed; #else diff --git a/src/game/game_0f09f0.c b/src/game/game_0f09f0.c index 5ab6886b8..e518fb581 100644 --- a/src/game/game_0f09f0.c +++ b/src/game/game_0f09f0.c @@ -21091,8 +21091,8 @@ glabel var7f1b2a64 /* f0f93d0: 0080f025 */ or $s8,$a0,$zero /* f0f93d4: 15000005 */ bnez $t0,.L0f0f93ec /* f0f93d8: afa20114 */ sw $v0,0x114($sp) -/* f0f93dc: 3c098006 */ lui $t1,%hi(var8005dd58) -/* f0f93e0: 8d29dd58 */ lw $t1,%lo(var8005dd58)($t1) +/* f0f93dc: 3c098006 */ lui $t1,%hi(g_MainIsDebugMenuOpen) +/* f0f93e0: 8d29dd58 */ lw $t1,%lo(g_MainIsDebugMenuOpen)($t1) /* f0f93e4: 5120001e */ beqzl $t1,.L0f0f9460 /* f0f93e8: 90580e40 */ lbu $t8,0xe40($v0) .L0f0f93ec: @@ -21929,7 +21929,7 @@ glabel var7f1b2a64 .L0f0f9fcc: /* f0f9fcc: 8d8c1448 */ lw $t4,%lo(g_MpPlayerNum)($t4) /* f0f9fd0: 3c0d800a */ lui $t5,%hi(g_Menus+0xe40) -/* f0f9fd4: 3c0f8006 */ lui $t7,%hi(var8005dd58) +/* f0f9fd4: 3c0f8006 */ lui $t7,%hi(g_MainIsDebugMenuOpen) /* f0f9fd8: 000c58c0 */ sll $t3,$t4,0x3 /* f0f9fdc: 016c5823 */ subu $t3,$t3,$t4 /* f0f9fe0: 000b5880 */ sll $t3,$t3,0x2 @@ -21942,7 +21942,7 @@ glabel var7f1b2a64 /* f0f9ffc: 000d77c2 */ srl $t6,$t5,0x1f /* f0fa000: 55c00023 */ bnezl $t6,.L0f0fa090 /* f0fa004: 92e90668 */ lbu $t1,0x668($s7) -/* f0fa008: 8defdd58 */ lw $t7,%lo(var8005dd58)($t7) +/* f0fa008: 8defdd58 */ lw $t7,%lo(g_MainIsDebugMenuOpen)($t7) /* f0fa00c: 8fb40128 */ lw $s4,0x128($sp) /* f0fa010: 15e0001e */ bnez $t7,.L0f0fa08c /* f0fa014: 32980001 */ andi $t8,$s4,0x1 @@ -22265,7 +22265,7 @@ glabel var7f1b2a64 .L0f0fa498: /* f0fa498: 8d6b1448 */ lw $t3,%lo(g_MpPlayerNum)($t3) /* f0fa49c: 3c0d800a */ lui $t5,%hi(g_Menus+0xe40) -/* f0fa4a0: 3c0f8006 */ lui $t7,%hi(var8005dd58) +/* f0fa4a0: 3c0f8006 */ lui $t7,%hi(g_MainIsDebugMenuOpen) /* f0fa4a4: 000b60c0 */ sll $t4,$t3,0x3 /* f0fa4a8: 018b6023 */ subu $t4,$t4,$t3 /* f0fa4ac: 000c6080 */ sll $t4,$t4,0x2 @@ -22280,7 +22280,7 @@ glabel var7f1b2a64 /* f0fa4d0: 000d77c2 */ srl $t6,$t5,0x1f /* f0fa4d4: 55c00005 */ bnezl $t6,.L0f0fa4ec /* f0fa4d8: a3000014 */ sb $zero,0x14($t8) -/* f0fa4dc: 8defdd58 */ lw $t7,%lo(var8005dd58)($t7) +/* f0fa4dc: 8defdd58 */ lw $t7,%lo(g_MainIsDebugMenuOpen)($t7) /* f0fa4e0: 51e00019 */ beqzl $t7,.L0f0fa548 /* f0fa4e4: 8fbf0044 */ lw $ra,0x44($sp) /* f0fa4e8: a3000014 */ sb $zero,0x14($t8) diff --git a/src/game/game_19aa80.c b/src/game/game_19aa80.c index c8fd3edbd..169c3f454 100644 --- a/src/game/game_19aa80.c +++ b/src/game/game_19aa80.c @@ -679,7 +679,7 @@ glabel mpDetermineUnlockedFeatures /* f195164: 10000006 */ beqz $zero,.NB0f195180 /* f195168: 26940001 */ addiu $s4,$s4,0x1 .NB0f19516c: -/* f19516c: 0fc466d5 */ jal debug0f119b54nb +/* f19516c: 0fc466d5 */ jal debugIsAllChallengesEnabled /* f195170: 00000000 */ sll $zero,$zero,0x0 /* f195174: 50400003 */ beqzl $v0,.NB0f195184 /* f195178: 922e0004 */ lbu $t6,0x4($s1) diff --git a/src/game/lv.c b/src/game/lv.c index 325ee8562..74b765f67 100644 --- a/src/game/lv.c +++ b/src/game/lv.c @@ -1282,7 +1282,7 @@ glabel var7f1b1f68 /* f163418: afbf003c */ sw $ra,0x3c($sp) /* f16341c: afb10038 */ sw $s1,0x38($sp) /* f163420: 00808825 */ or $s1,$a0,$zero -/* f163424: 0fc46646 */ jal debug0f119918nb +/* f163424: 0fc46646 */ jal debugIsManPosEnabled /* f163428: afb00034 */ sw $s0,0x34($sp) /* f16342c: 104000f6 */ beqz $v0,.NB0f163808 /* f163430: 3c10800a */ lui $s0,0x800a @@ -1828,7 +1828,7 @@ glabel var7f1b8e7cpf /* f16a378: 3c0f0600 */ lui $t7,0x600 /* f16a37c: ac4f0000 */ sw $t7,0x0($v0) /* f16a380: ac580004 */ sw $t8,0x4($v0) -/* f16a384: 0fc47e4a */ jal debug0f11ee28 +/* f16a384: 0fc47e4a */ jal debugIsZBufferDisabled /* f16a388: 26730008 */ addiu $s3,$s3,0x8 /* f16a38c: 10400008 */ beqz $v0,.PF0f16a3b0 /* f16a390: 02601025 */ move $v0,$s3 @@ -2321,7 +2321,7 @@ glabel var7f1b8e7cpf /* f16aad8: ac4e0000 */ sw $t6,0x0($v0) /* f16aadc: 8fac006c */ lw $t4,0x6c($sp) /* f16aae0: 26730008 */ addiu $s3,$s3,0x8 -/* f16aae4: 0fc47e4a */ jal debug0f11ee28 +/* f16aae4: 0fc47e4a */ jal debugIsZBufferDisabled /* f16aae8: ac4c0004 */ sw $t4,0x4($v0) /* f16aaec: 10400009 */ beqz $v0,.PF0f16ab14 /* f16aaf0: 3c0f0600 */ lui $t7,0x600 @@ -3459,11 +3459,11 @@ glabel var7f1b8e7cpf /* f16bb44: 00402025 */ move $a0,$v0 /* f16bb48: 00409825 */ move $s3,$v0 .PF0f16bb4c: -/* f16bb4c: 0fc47e62 */ jal debug0f11ee88 +/* f16bb4c: 0fc47e62 */ jal debugGetTilesDebugMode /* f16bb50: 00000000 */ nop /* f16bb54: 14400013 */ bnez $v0,.PF0f16bba4 /* f16bb58: 00000000 */ nop -/* f16bb5c: 0fc47e64 */ jal debug0f11ee90 +/* f16bb5c: 0fc47e64 */ jal debugGetPadsDebugMode /* f16bb60: 00000000 */ nop /* f16bb64: 1440000f */ bnez $v0,.PF0f16bba4 /* f16bb68: 00000000 */ nop @@ -3475,7 +3475,7 @@ glabel var7f1b8e7cpf /* f16bb80: 00000000 */ nop /* f16bb84: 14400007 */ bnez $v0,.PF0f16bba4 /* f16bb88: 00000000 */ nop -/* f16bb8c: 0fc47e9e */ jal debug0f11ef78 +/* f16bb8c: 0fc47e9e */ jal debugIsChrStatsEnabled /* f16bb90: 00000000 */ nop /* f16bb94: 14400003 */ bnez $v0,.PF0f16bba4 /* f16bb98: 00000000 */ nop @@ -3718,7 +3718,7 @@ Gfx *lvRender(Gfx *gdl) || (g_Vars.stagenum == STAGE_TEST_OLD && titleIsKeepingMode())) { gSPDisplayList(gdl++, &var800613a0); - if (debug0f11ee28()) { + if (debugIsZBufferDisabled()) { gSPDisplayList(gdl++, &var80061360); } else { gSPDisplayList(gdl++, &var80061380); @@ -3843,7 +3843,7 @@ Gfx *lvRender(Gfx *gdl) gSPDisplayList(gdl++, &var800613a0); - if (debug0f11ee28()) { + if (debugIsZBufferDisabled()) { gSPDisplayList(gdl++, &var80061360); } else { gSPDisplayList(gdl++, &var80061380); @@ -4290,11 +4290,11 @@ Gfx *lvRender(Gfx *gdl) gdl = frRenderHud(gdl); } - if (debug0f11ee88() == 0 - && debug0f11ee90() == 0 + if (debugGetTilesDebugMode() == 0 + && debugGetPadsDebugMode() == 0 && debug0f11eea8() == 0 && debug0f11ef80() == 0 - && debug0f11ef78() == 0) { + && !debugIsChrStatsEnabled()) { debug0f11ee40(); } @@ -4430,7 +4430,7 @@ glabel var7f1b1fd4nb /* f1640c4: 3c0f0600 */ lui $t7,0x600 /* f1640c8: ac4f0000 */ sw $t7,0x0($v0) /* f1640cc: ac580004 */ sw $t8,0x4($v0) -/* f1640d0: 0fc4666a */ jal debug0f11ee28 +/* f1640d0: 0fc4666a */ jal debugIsZBufferDisabled /* f1640d4: 26730008 */ addiu $s3,$s3,0x8 /* f1640d8: 10400008 */ beqz $v0,.NB0f1640fc /* f1640dc: 02601025 */ or $v0,$s3,$zero @@ -4906,7 +4906,7 @@ glabel var7f1b1fd4nb /* f1647dc: ac590000 */ sw $t9,0x0($v0) /* f1647e0: 8fab006c */ lw $t3,0x6c($sp) /* f1647e4: 26730008 */ addiu $s3,$s3,0x8 -/* f1647e8: 0fc4666a */ jal debug0f11ee28 +/* f1647e8: 0fc4666a */ jal debugIsZBufferDisabled /* f1647ec: ac4b0004 */ sw $t3,0x4($v0) /* f1647f0: 10400009 */ beqz $v0,.NB0f164818 /* f1647f4: 3c0e0600 */ lui $t6,0x600 @@ -6196,11 +6196,11 @@ glabel var7f1b1fd4nb /* f165a8c: 00402025 */ or $a0,$v0,$zero /* f165a90: 00409825 */ or $s3,$v0,$zero .NB0f165a94: -/* f165a94: 0fc46697 */ jal debug0f11ee88 +/* f165a94: 0fc46697 */ jal debugGetTilesDebugMode /* f165a98: 00000000 */ sll $zero,$zero,0x0 /* f165a9c: 54400016 */ bnezl $v0,.NB0f165af8 /* f165aa0: 8e4d0284 */ lw $t5,0x284($s2) -/* f165aa4: 0fc4669a */ jal debug0f11ee90 +/* f165aa4: 0fc4669a */ jal debugGetPadsDebugMode /* f165aa8: 00000000 */ sll $zero,$zero,0x0 /* f165aac: 54400012 */ bnezl $v0,.NB0f165af8 /* f165ab0: 8e4d0284 */ lw $t5,0x284($s2) @@ -6212,7 +6212,7 @@ glabel var7f1b1fd4nb /* f165ac8: 00000000 */ sll $zero,$zero,0x0 /* f165acc: 5440000a */ bnezl $v0,.NB0f165af8 /* f165ad0: 8e4d0284 */ lw $t5,0x284($s2) -/* f165ad4: 0fc466ed */ jal debug0f11ef78 +/* f165ad4: 0fc466ed */ jal debugIsChrStatsEnabled /* f165ad8: 00000000 */ sll $zero,$zero,0x0 /* f165adc: 54400006 */ bnezl $v0,.NB0f165af8 /* f165ae0: 8e4d0284 */ lw $t5,0x284($s2) @@ -6261,7 +6261,7 @@ glabel var7f1b1fd4nb /* f165b7c: 5684fff7 */ bnel $s4,$a0,.NB0f165b5c /* f165b80: 02a02825 */ or $a1,$s5,$zero .NB0f165b84: -/* f165b84: 0fc466ed */ jal debug0f11ef78 +/* f165b84: 0fc466ed */ jal debugIsChrStatsEnabled /* f165b88: 00000000 */ sll $zero,$zero,0x0 /* f165b8c: 10400004 */ beqz $v0,.NB0f165ba0 /* f165b90: 02602025 */ or $a0,$s3,$zero diff --git a/src/game/mainmenu.c b/src/game/mainmenu.c index ac29f27f3..3db2bb9ee 100644 --- a/src/game/mainmenu.c +++ b/src/game/mainmenu.c @@ -1870,7 +1870,7 @@ glabel menuhandlerCoopBuddy /* f10010c: 00000000 */ sll $zero,$zero,0x0 /* f100110: 24080001 */ addiu $t0,$zero,0x1 .NB0f100114: -/* f100114: 0fc466d8 */ jal debug0f119b60nb +/* f100114: 0fc466d8 */ jal debugIsAllBuddiesEnabled /* f100118: afa80030 */ sw $t0,0x30($sp) /* f10011c: 10400002 */ beqz $v0,.NB0f100128 /* f100120: 8fa80030 */ lw $t0,0x30($sp) diff --git a/src/game/training/training.c b/src/game/training/training.c index 5965abe4c..d5292154c 100644 --- a/src/game/training/training.c +++ b/src/game/training/training.c @@ -206,7 +206,7 @@ bool frIsWeaponAvailable(s32 weapon) } #if VERSION < VERSION_NTSC_1_0 - if (debugAllFrWeapons() && weapon <= WEAPON_XRAYSCANNER) { + if (debugIsAllTrainingEnabled() && weapon <= WEAPON_XRAYSCANNER) { return true; } #endif diff --git a/src/include/data.h b/src/include/data.h index 48d3295bb..80aeb8df9 100644 --- a/src/include/data.h +++ b/src/include/data.h @@ -31,7 +31,7 @@ extern u32 var8005cf84; extern u8 g_LoadType; extern s32 g_MainIsEndscreen; extern s32 var8005dd18; -extern u32 var8005dd58; +extern bool g_MainIsDebugMenuOpen; extern bool g_SndDisabled; extern u16 g_SfxVolume; extern s32 g_SoundMode; @@ -324,8 +324,8 @@ extern struct filelist *g_FileLists[]; extern bool var80075bd0[]; extern struct var80075c00 var80075c00[]; extern s32 var80075d60; -extern u32 var80075d64; -extern u32 var80075d68; +extern s32 var80075d64; +extern s32 var80075d68; extern s32 var80075d78; extern u8 unregistered_function1[]; extern u8 unregistered_function2[]; diff --git a/src/include/game/chr/chraction.h b/src/include/game/chr/chraction.h index 558f30168..63caeaa04 100644 --- a/src/include/game/chr/chraction.h +++ b/src/include/game/chr/chraction.h @@ -178,7 +178,7 @@ void chrTickPatrol(struct chrdata *chr); bool chrStartSkJump(struct chrdata *chr, u8 arg1, u8 arg2, s32 arg3, u8 arg4); void chrTickSkJump(struct chrdata *chr); void chrTick(struct chrdata *chr); -void func0f0482cc(u32 ailistid); +void cutsceneStart(u32 ailistid); void func0f048398(void); f32 chrGetAngleToPos(struct chrdata *chr, struct coord *pos); void chrGetAttackEntityPos(struct chrdata *chr, u32 attackflags, s32 entityid, struct coord *pos, s16 *rooms); diff --git a/src/include/game/debug.h b/src/include/game/debug.h index 1dc2f76a0..c5241b424 100644 --- a/src/include/game/debug.h +++ b/src/include/game/debug.h @@ -7,31 +7,37 @@ u32 dprint(); s32 debug0f11ed70(void); bool debugEnableBgRendering(void); -bool debugEnablePropRendering(void); +bool debugIsPropRenderingEnabled(void); bool debug0f11edb0(void); bool debug0f11edb8(void); bool debugIsRoomStateDebugEnabled(void); s32 debugIsTurboModeEnabled(void); bool debugForceAllObjectivesComplete(void); -bool debug0f11ee28(void); +bool debugIsZBufferDisabled(void); bool debug0f11ee40(void); -u32 debugGetSlowMotion(void); -bool debug0f11ee88(void); -bool debug0f11ee90(void); +s32 debugGetSlowMotion(void); +s32 debugGetTilesDebugMode(void); +s32 debugGetPadsDebugMode(void); bool debug0f11eea8(void); bool debugDangerousProps(void); s32 debugGetMotionBlur(void); -bool debugEnableFootsteps(void); +bool debugIsFootstepsEnabled(void); bool debugAllowEndLevel(void); -bool debug0f11ef78(void); +bool debugIsChrStatsEnabled(void); bool debug0f11ef80(void); +s32 dmenuGetSelectedOption(void); +void dmenuNavigateRight(void); +void dmenuNavigateLeft(void); +void dmenuNavigateUp(void); +void dmenuNavigateDown(void); Gfx *dmenuRender(Gfx *gdl); -void debugTick(void); -s32 debug0f11946cnb(s8 stickx, s8 sticky, u16 buttons, u16 buttonsthisframe); + +void debugUpdateMenu(void); +bool debugProcessInput(s8 stickx, s8 sticky, u16 buttons, u16 buttonsthisframe); bool debugIsLineModeEnabled(void); -extern u32 var800786f4nb; +extern s32 var800786f4nb; extern s32 g_DebugMenuPositions[][2]; extern char *g_DebugMenuLabels[]; diff --git a/src/include/lib/vm.h b/src/include/lib/vm.h index 84d42b2a6..87fa050fb 100644 --- a/src/include/lib/vm.h +++ b/src/include/lib/vm.h @@ -4,6 +4,8 @@ #include "data.h" #include "types.h" +extern u8 g_VmShowStats; + u32 vmInit(void); #endif diff --git a/src/lib/lib_13790.c b/src/lib/lib_13790.c index 04abbbe2c..d9645ffac 100644 --- a/src/lib/lib_13790.c +++ b/src/lib/lib_13790.c @@ -537,7 +537,7 @@ glabel func000137ec #endif #if VERSION >= VERSION_NTSC_1_0 -void func000137fc(s32 arg0) +void func000137fc(char *text) { // empty } diff --git a/src/lib/main.c b/src/lib/main.c index 38b50d363..488ddff88 100644 --- a/src/lib/main.c +++ b/src/lib/main.c @@ -1695,7 +1695,7 @@ u32 var8005dd48 = 0x00000000; u32 var8005dd4c = 0x00000000; u32 var8005dd50 = 0x00000000; s32 g_MainChangeToStageNum = -1; -u32 var8005dd58 = 0x00000000; +bool g_MainIsDebugMenuOpen = false; #if VERSION < VERSION_NTSC_1_0 GLOBAL_ASM( @@ -2770,7 +2770,7 @@ glabel mainTick /* ea60: 01402025 */ or $a0,$t2,$zero /* ea64: 83a5003b */ lb $a1,0x3b($sp) /* ea68: 3206ffff */ andi $a2,$s0,0xffff -/* ea6c: 0fc4651b */ jal debug0f11946cnb +/* ea6c: 0fc4651b */ jal debugProcessInput /* ea70: 3047ffff */ andi $a3,$v0,0xffff /* ea74: 3c018006 */ lui $at,0x8006 /* ea78: 10000021 */ beqz $zero,.NB0000eb00 @@ -2805,7 +2805,7 @@ glabel mainTick /* eae4: 01a02025 */ or $a0,$t5,$zero /* eae8: 83a5003b */ lb $a1,0x3b($sp) /* eaec: 3206ffff */ andi $a2,$s0,0xffff -/* eaf0: 0fc4651b */ jal debug0f11946cnb +/* eaf0: 0fc4651b */ jal debugProcessInput /* eaf4: 3047ffff */ andi $a3,$v0,0xffff /* eaf8: 3c018006 */ lui $at,0x8006 /* eafc: ac22f678 */ sw $v0,-0x988($at) @@ -3005,7 +3005,7 @@ glabel mainTick /* edc8: 8d6bf678 */ lw $t3,-0x988($t3) /* edcc: 51600007 */ beqzl $t3,.NB0000edec /* edd0: 8fac0094 */ lw $t4,0x94($sp) -/* edd4: 0fc4649c */ jal debugTick +/* edd4: 0fc4649c */ jal debugUpdateMenu /* edd8: 00000000 */ sll $zero,$zero,0x0 /* eddc: 0fc4633d */ jal dmenuRender /* ede0: 8fa40094 */ lw $a0,0x94($sp) @@ -3090,13 +3090,13 @@ u32 var8005f690nb[] = { // gDPSetTile(gdl++, G_IM_FMT_RGBA, G_IM_SIZ_4b, 0, 0x0100, 6, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOLOD); // // // If menu is open (?) or player has pressed C down + C up -// if (var8005dd58 || joyGetButtons(0, U_CBUTTONS | D_CBUTTONS) == (U_CBUTTONS | D_CBUTTONS)) { +// if (g_MainIsDebugMenuOpen || joyGetButtons(0, U_CBUTTONS | D_CBUTTONS) == (U_CBUTTONS | D_CBUTTONS)) { // stickx = joyGetStickX(0); // sticky = joyGetStickY(0); // buttons = joyGetButtons(0, 0xffff); // buttonsthisframe = joyGetButtonsPressedThisFrame(0, 0xffff); // -// var8005dd58 = debug0f11946cnb(stickx, sticky, buttons, buttonsthisframe); +// g_MainIsDebugMenuOpen = debugProcessInput(stickx, sticky, buttons, buttonsthisframe); // } else if (joyGetButtons(0, START_BUTTON) == 0) { // var80075d68 = var800786f4nb; // } else { @@ -3105,7 +3105,7 @@ u32 var8005f690nb[] = { // buttons = joyGetButtons(0, 0xffff); // buttonsthisframe = joyGetButtonsPressedThisFrame(0, 0xffff); // -// var8005dd58 = debug0f11946cnb(stickx, sticky, buttons, buttonsthisframe); +// g_MainIsDebugMenuOpen = debugProcessInput(stickx, sticky, buttons, buttonsthisframe); // } // // lvTick(); @@ -3146,8 +3146,8 @@ u32 var8005f690nb[] = { // gdl = profileRender(gdl); // } // -// if (var8005dd58) { -// debugTick(); +// if (g_MainIsDebugMenuOpen) { +// debugUpdateMenu(); // gdl = dmenuRender(gdl); // } // diff --git a/src/lib/vi.c b/src/lib/vi.c index 7088e3ba3..94a03ba84 100644 --- a/src/lib/vi.c +++ b/src/lib/vi.c @@ -2200,22 +2200,22 @@ Gfx *viSetFillColour(Gfx *gdl, s32 r, s32 g, s32 b) return gdl; } -void vi0000bf8c(void) +void viGrabJpg16(void) { // empty } -void vi0000bf94(void) +void viGrabJpg32(void) { // empty } -void vi0000bf9c(void) +void viGrabRgb16(void) { // empty } -void vi0000bfa4(void) +void viGrabRgb32(void) { // empty } diff --git a/src/lib/vm.c b/src/lib/vm.c index f9fcec1d2..e8ccd4196 100644 --- a/src/lib/vm.c +++ b/src/lib/vm.c @@ -18,7 +18,8 @@ u32 var80090b08; u32 var80090b0c; #if VERSION < VERSION_NTSC_1_0 -u8 fillnb[0x0c] = {0}; +u8 g_VmShowStats = false; +u32 fillnb[2] = {0}; #endif u32 var8005cf80 = 0;