From f1a1452fa4eb48cfecbe60605ec1c66118fcbe94 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Sat, 28 Dec 2019 12:15:21 +1000 Subject: [PATCH] Decompile cheatsActivate and rename many cheat related symbols --- src/game/cheats.c | 364 ++++++++++++++----------------- src/game/chr/chr.c | 20 +- src/game/chr/chraicommands.c | 8 +- src/game/game_000920.c | 4 +- src/game/game_00b820.c | 4 +- src/game/game_00c490.c | 4 +- src/game/game_011110.c | 46 ++-- src/game/game_066310.c | 12 +- src/game/game_097a50.c | 8 +- src/game/game_0b0420.c | 2 +- src/game/game_0b28d0.c | 18 +- src/game/game_0c37d0.c | 8 +- src/game/game_0c79f0.c | 4 +- src/game/game_10ccd0.c | 2 +- src/game/game_111600.c | 4 +- src/game/game_11ecf0.c | 2 +- src/game/game_1668e0.c | 4 +- src/game/game_187770.c | 2 +- src/gvars/gvars.c | 4 +- src/include/constants.h | 13 +- src/include/game/cheats.h | 18 +- src/include/gvars/gvars.h | 4 +- src/include/setup/setup_0160b0.h | 2 +- src/include/types.h | 4 +- src/library/library_0d520.c | 2 +- src/setup/setup_0160b0.c | 190 ++++++++-------- 26 files changed, 356 insertions(+), 397 deletions(-) diff --git a/src/game/cheats.c b/src/game/cheats.c index e6b0c173c..e2e27260e 100644 --- a/src/game/cheats.c +++ b/src/game/cheats.c @@ -16,8 +16,8 @@ GLOBAL_ASM( glabel cheatIsUnlocked -/* f106d40: 3c0f8007 */ lui $t7,%hi(g_CheatSpecs) -/* f106d44: 25ef3a90 */ addiu $t7,$t7,%lo(g_CheatSpecs) +/* f106d40: 3c0f8007 */ lui $t7,%hi(g_Cheats) +/* f106d44: 25ef3a90 */ addiu $t7,$t7,%lo(g_Cheats) /* f106d48: 000470c0 */ sll $t6,$a0,0x3 /* f106d4c: 01cf1821 */ addu $v1,$t6,$t7 /* f106d50: 90660006 */ lbu $a2,0x6($v1) @@ -105,32 +105,32 @@ glabel cheatIsUnlocked // done separately. //bool cheatIsUnlocked(s32 cheat_id) //{ -// struct cheatspec *spec = &g_CheatSpecs[cheat_id]; +// struct cheat *cheat = &g_Cheats[cheat_id]; // bool unlocked = false; // -// if (spec->method & CHEATMETHOD_FIRINGRANGE) { -// if (func0f19cf20(spec->time)) { +// if (cheat->flags & CHEATFLAG_FIRINGRANGE) { +// if (func0f19cf20(cheat->time)) { // unlocked = true; // } -// } else if (spec->method & CHEATMETHOD_COMPLETE) { -// if (g_BestTimes[spec->stage_index * 3]) { +// } else if (cheat->flags & CHEATFLAG_COMPLETION) { +// if (g_BestTimes[cheat->stage_index * 3]) { // unlocked++; // } -// if (g_BestTimes[spec->stage_index * 3 + 1]) { +// if (g_BestTimes[cheat->stage_index * 3 + 1]) { // unlocked++; // } -// if (g_BestTimes[spec->stage_index * 3 + 2]) { +// if (g_BestTimes[cheat->stage_index * 3 + 2]) { // unlocked++; // } // } else { -// s32 mytime = g_BestTimes[spec->stage_index * 3 + spec->difficulty]; +// s32 mytime = g_BestTimes[cheat->stage_index * 3 + cheat->difficulty]; // -// if (mytime && mytime <= spec->time) { +// if (mytime && mytime <= cheat->time) { // unlocked = true; // } // } // -// if (spec->method & CHEATMETHOD_TRANSFERPAK) { +// if (cheat->flags & CHEATFLAG_TRANSFERPAK) { // if (eepromGet(0x23)) { // unlocked++; // } @@ -139,17 +139,17 @@ glabel cheatIsUnlocked // return unlocked; //} -bool cheatIsEnabled(s32 cheat_id) +bool cheatIsActive(s32 cheat_id) { if (cheat_id < 32) { - return g_CheatsEnabledBank0 & (1 << cheat_id); + return g_CheatsActiveBank0 & (1 << cheat_id); } - return g_CheatsEnabledBank1 & (1 << cheat_id); + return g_CheatsActiveBank1 & (1 << cheat_id); } GLOBAL_ASM( -glabel func0f106ea0 +glabel cheatActivate /* f106ea0: 27bdffd8 */ addiu $sp,$sp,-40 /* f106ea4: 24010002 */ addiu $at,$zero,0x2 /* f106ea8: afbf001c */ sw $ra,0x1c($sp) @@ -356,8 +356,8 @@ glabel func0f106ea0 /* f10715c: 8fa40024 */ lw $a0,0x24($sp) /* f107160: 8faf0028 */ lw $t7,0x28($sp) .L0f107164: -/* f107164: 3c02800a */ lui $v0,%hi(g_CheatsEnabledBank0) -/* f107168: 244221d0 */ addiu $v0,$v0,%lo(g_CheatsEnabledBank0) +/* f107164: 3c02800a */ lui $v0,%hi(g_CheatsActiveBank0) +/* f107168: 244221d0 */ addiu $v0,$v0,%lo(g_CheatsActiveBank0) /* f10716c: 29e10020 */ slti $at,$t7,0x20 /* f107170: 10200007 */ beqz $at,.L0f107190 /* f107174: 00000000 */ sll $zero,$zero,0x0 @@ -368,9 +368,9 @@ glabel func0f106ea0 /* f107188: 10000009 */ beqz $zero,.L0f1071b0 /* f10718c: ac4b0000 */ sw $t3,0x0($v0) .L0f107190: -/* f107190: 3c02800a */ lui $v0,%hi(g_CheatsEnabledBank1) +/* f107190: 3c02800a */ lui $v0,%hi(g_CheatsActiveBank1) /* f107194: 8fac0028 */ lw $t4,0x28($sp) -/* f107198: 244221d4 */ addiu $v0,$v0,%lo(g_CheatsEnabledBank1) +/* f107198: 244221d4 */ addiu $v0,$v0,%lo(g_CheatsActiveBank1) /* f10719c: 8c580000 */ lw $t8,0x0($v0) /* f1071a0: 240d0001 */ addiu $t5,$zero,0x1 /* f1071a4: 018d7004 */ sllv $t6,$t5,$t4 @@ -385,7 +385,7 @@ glabel func0f106ea0 ); GLOBAL_ASM( -glabel func0f1071c4 +glabel cheatDeactivate /* f1071c4: 27bdffd8 */ addiu $sp,$sp,-40 /* f1071c8: 24010002 */ addiu $at,$zero,0x2 /* f1071cc: afbf001c */ sw $ra,0x1c($sp) @@ -592,8 +592,8 @@ glabel func0f1071c4 /* f107480: 8fa40024 */ lw $a0,0x24($sp) /* f107484: 8faf0028 */ lw $t7,0x28($sp) .L0f107488: -/* f107488: 3c02800a */ lui $v0,%hi(g_CheatsEnabledBank0) -/* f10748c: 244221d0 */ addiu $v0,$v0,%lo(g_CheatsEnabledBank0) +/* f107488: 3c02800a */ lui $v0,%hi(g_CheatsActiveBank0) +/* f10748c: 244221d0 */ addiu $v0,$v0,%lo(g_CheatsActiveBank0) /* f107490: 29e10020 */ slti $at,$t7,0x20 /* f107494: 10200007 */ beqz $at,.L0f1074b4 /* f107498: 24180001 */ addiu $t8,$zero,0x1 @@ -605,8 +605,8 @@ glabel func0f1071c4 /* f1074b0: ac4c0000 */ sw $t4,0x0($v0) .L0f1074b4: /* f1074b4: 8fad0028 */ lw $t5,0x28($sp) -/* f1074b8: 3c02800a */ lui $v0,%hi(g_CheatsEnabledBank1) -/* f1074bc: 244221d4 */ addiu $v0,$v0,%lo(g_CheatsEnabledBank1) +/* f1074b8: 3c02800a */ lui $v0,%hi(g_CheatsActiveBank1) +/* f1074bc: 244221d4 */ addiu $v0,$v0,%lo(g_CheatsActiveBank1) /* f1074c0: 8c590000 */ lw $t9,0x0($v0) /* f1074c4: 240e0001 */ addiu $t6,$zero,0x1 /* f1074c8: 01aec004 */ sllv $t8,$t6,$t5 @@ -621,134 +621,76 @@ glabel func0f1071c4 /* f1074e8: 27bd0028 */ addiu $sp,$sp,0x28 ); -void func0f1074ec(void) +void cheatsDisableAll(void) { + g_CheatsActiveBank0 = 0; + g_CheatsActiveBank1 = 0; g_CheatsEnabledBank0 = 0; g_CheatsEnabledBank1 = 0; - var800a21d8 = 0; - var800a21dc = 0; +} + +void cheatsActivate(void) +{ + s32 cheat_id; + + if (g_Vars.unk0004b4 != 38) { + g_CheatsActiveBank0 = g_CheatsEnabledBank0; + g_CheatsActiveBank1 = g_CheatsEnabledBank1; + + if (g_Vars.coopplayernum >= 0 || g_Vars.antiplayernum >= 0 || g_Vars.unk000318) { + // Co-op/counter-op - deactivate "Weapons for Jo in Solo" cheats + g_CheatsActiveBank0 &= ~( + (1 << CHEAT_TRENTSMAGNUM) | + (1 << CHEAT_FARSIGHT) | + (1 << CHEAT_ROCKETLAUNCHER) | + (1 << CHEAT_SNIPERRIFLE) | + (1 << CHEAT_XRAYSCANNER) | + (1 << CHEAT_SUPERDRAGON) | + (1 << CHEAT_LAPTOPGUN) + ); + g_CheatsActiveBank1 &= ~( + (1 << CHEAT_PHOENIX - 32) | + (1 << CHEAT_PSYCHOSISGUN - 32) | + (1 << CHEAT_PP9I - 32) | + (1 << CHEAT_CC13 - 32) | + (1 << CHEAT_KLO1313 - 32) | + (1 << CHEAT_KF7SPECIAL - 32) | + (1 << CHEAT_ZZT - 32) | + (1 << CHEAT_DMC - 32) | + (1 << CHEAT_AR53 - 32) | + (1 << CHEAT_RCP45 - 32) + ); + } + } else { + g_CheatsActiveBank0 = 0; + g_CheatsActiveBank1 = 0; + } + + for (cheat_id = 0; cheat_id != NUM_CHEATS; cheat_id++) { + if (g_Cheats[cheat_id].flags & CHEATFLAG_ALWAYSON) { + if (cheatIsUnlocked(cheat_id)) { + if (cheat_id < 32) { + g_CheatsActiveBank0 = g_CheatsActiveBank0 | (1 << cheat_id); + } else { + g_CheatsActiveBank1 = g_CheatsActiveBank1 | (1 << cheat_id); + } + } else { + if (cheat_id < 32) { + g_CheatsActiveBank0 = g_CheatsActiveBank0 & ~(1 << cheat_id); + } else { + g_CheatsActiveBank1 = g_CheatsActiveBank1 & ~(1 << cheat_id); + } + } + } + + if (cheatIsActive(cheat_id)) { + cheatActivate(cheat_id); + } + } } GLOBAL_ASM( -glabel func0f107510 -/* f107510: 27bdffd0 */ addiu $sp,$sp,-48 -/* f107514: 3c02800a */ lui $v0,%hi(g_Vars) -/* f107518: 24429fc0 */ addiu $v0,$v0,%lo(g_Vars) -/* f10751c: 8c4e04b4 */ lw $t6,0x4b4($v0) -/* f107520: 24010026 */ addiu $at,$zero,0x26 -/* f107524: afbf002c */ sw $ra,0x2c($sp) -/* f107528: afb40028 */ sw $s4,0x28($sp) -/* f10752c: afb30024 */ sw $s3,0x24($sp) -/* f107530: afb20020 */ sw $s2,0x20($sp) -/* f107534: afb1001c */ sw $s1,0x1c($sp) -/* f107538: 11c1001d */ beq $t6,$at,.L0f1075b0 -/* f10753c: afb00018 */ sw $s0,0x18($sp) -/* f107540: 3c0f800a */ lui $t7,0x800a -/* f107544: 8def21d8 */ lw $t7,0x21d8($t7) -/* f107548: 3c12800a */ lui $s2,%hi(g_CheatsEnabledBank0) -/* f10754c: 265221d0 */ addiu $s2,$s2,%lo(g_CheatsEnabledBank0) -/* f107550: 8c590298 */ lw $t9,0x298($v0) -/* f107554: 3c18800a */ lui $t8,0x800a -/* f107558: ae4f0000 */ sw $t7,0x0($s2) -/* f10755c: 8f1821dc */ lw $t8,0x21dc($t8) -/* f107560: 3c13800a */ lui $s3,%hi(g_CheatsEnabledBank1) -/* f107564: 267321d4 */ addiu $s3,$s3,%lo(g_CheatsEnabledBank1) -/* f107568: 07210007 */ bgez $t9,.L0f107588 -/* f10756c: ae780000 */ sw $t8,0x0($s3) -/* f107570: 8c48029c */ lw $t0,0x29c($v0) -/* f107574: 05030005 */ bgezl $t0,.L0f10758c -/* f107578: 8e4a0000 */ lw $t2,0x0($s2) -/* f10757c: 8c490318 */ lw $t1,0x318($v0) -/* f107580: 11200011 */ beqz $t1,.L0f1075c8 -/* f107584: 00000000 */ sll $zero,$zero,0x0 -.L0f107588: -/* f107588: 8e4a0000 */ lw $t2,0x0($s2) -.L0f10758c: -/* f10758c: 3c0107ff */ lui $at,0x7ff -/* f107590: 8e6c0000 */ lw $t4,0x0($s3) -/* f107594: 3421fcff */ ori $at,$at,0xfcff -/* f107598: 01415824 */ and $t3,$t2,$at -/* f10759c: 2401fc00 */ addiu $at,$zero,-1024 -/* f1075a0: 01816824 */ and $t5,$t4,$at -/* f1075a4: ae4b0000 */ sw $t3,0x0($s2) -/* f1075a8: 10000007 */ beqz $zero,.L0f1075c8 -/* f1075ac: ae6d0000 */ sw $t5,0x0($s3) -.L0f1075b0: -/* f1075b0: 3c12800a */ lui $s2,%hi(g_CheatsEnabledBank0) -/* f1075b4: 3c13800a */ lui $s3,%hi(g_CheatsEnabledBank1) -/* f1075b8: 267321d4 */ addiu $s3,$s3,%lo(g_CheatsEnabledBank1) -/* f1075bc: 265221d0 */ addiu $s2,$s2,%lo(g_CheatsEnabledBank0) -/* f1075c0: ae400000 */ sw $zero,0x0($s2) -/* f1075c4: ae600000 */ sw $zero,0x0($s3) -.L0f1075c8: -/* f1075c8: 3c118007 */ lui $s1,%hi(g_CheatSpecs) -/* f1075cc: 26313a90 */ addiu $s1,$s1,%lo(g_CheatSpecs) -/* f1075d0: 00008025 */ or $s0,$zero,$zero -/* f1075d4: 2414002a */ addiu $s4,$zero,0x2a -.L0f1075d8: -/* f1075d8: 922e0006 */ lbu $t6,0x6($s1) -/* f1075dc: 31cf0001 */ andi $t7,$t6,0x1 -/* f1075e0: 11e00022 */ beqz $t7,.L0f10766c -/* f1075e4: 00000000 */ sll $zero,$zero,0x0 -/* f1075e8: 0fc41b50 */ jal cheatIsUnlocked -/* f1075ec: 02002025 */ or $a0,$s0,$zero -/* f1075f0: 10400010 */ beqz $v0,.L0f107634 -/* f1075f4: 2a010020 */ slti $at,$s0,0x20 -/* f1075f8: 2a010020 */ slti $at,$s0,0x20 -/* f1075fc: 50200008 */ beqzl $at,.L0f107620 -/* f107600: 8e6c0000 */ lw $t4,0x0($s3) -/* f107604: 8e480000 */ lw $t0,0x0($s2) -/* f107608: 24180001 */ addiu $t8,$zero,0x1 -/* f10760c: 0218c804 */ sllv $t9,$t8,$s0 -/* f107610: 03284825 */ or $t1,$t9,$t0 -/* f107614: 10000015 */ beqz $zero,.L0f10766c -/* f107618: ae490000 */ sw $t1,0x0($s2) -/* f10761c: 8e6c0000 */ lw $t4,0x0($s3) -.L0f107620: -/* f107620: 240a0001 */ addiu $t2,$zero,0x1 -/* f107624: 020a5804 */ sllv $t3,$t2,$s0 -/* f107628: 016c6825 */ or $t5,$t3,$t4 -/* f10762c: 1000000f */ beqz $zero,.L0f10766c -/* f107630: ae6d0000 */ sw $t5,0x0($s3) -.L0f107634: -/* f107634: 10200008 */ beqz $at,.L0f107658 -/* f107638: 24090001 */ addiu $t1,$zero,0x1 -/* f10763c: 8e590000 */ lw $t9,0x0($s2) -/* f107640: 240e0001 */ addiu $t6,$zero,0x1 -/* f107644: 020e7804 */ sllv $t7,$t6,$s0 -/* f107648: 01e0c027 */ nor $t8,$t7,$zero -/* f10764c: 03194024 */ and $t0,$t8,$t9 -/* f107650: 10000006 */ beqz $zero,.L0f10766c -/* f107654: ae480000 */ sw $t0,0x0($s2) -.L0f107658: -/* f107658: 8e6c0000 */ lw $t4,0x0($s3) -/* f10765c: 02095004 */ sllv $t2,$t1,$s0 -/* f107660: 01405827 */ nor $t3,$t2,$zero -/* f107664: 016c6824 */ and $t5,$t3,$t4 -/* f107668: ae6d0000 */ sw $t5,0x0($s3) -.L0f10766c: -/* f10766c: 0fc41b99 */ jal cheatIsEnabled -/* f107670: 02002025 */ or $a0,$s0,$zero -/* f107674: 50400004 */ beqzl $v0,.L0f107688 -/* f107678: 26100001 */ addiu $s0,$s0,0x1 -/* f10767c: 0fc41ba8 */ jal func0f106ea0 -/* f107680: 02002025 */ or $a0,$s0,$zero -/* f107684: 26100001 */ addiu $s0,$s0,0x1 -.L0f107688: -/* f107688: 1614ffd3 */ bne $s0,$s4,.L0f1075d8 -/* f10768c: 26310008 */ addiu $s1,$s1,0x8 -/* f107690: 8fbf002c */ lw $ra,0x2c($sp) -/* f107694: 8fb00018 */ lw $s0,0x18($sp) -/* f107698: 8fb1001c */ lw $s1,0x1c($sp) -/* f10769c: 8fb20020 */ lw $s2,0x20($sp) -/* f1076a0: 8fb30024 */ lw $s3,0x24($sp) -/* f1076a4: 8fb40028 */ lw $s4,0x28($sp) -/* f1076a8: 03e00008 */ jr $ra -/* f1076ac: 27bd0030 */ addiu $sp,$sp,0x30 -); - -GLOBAL_ASM( -glabel menuhandlerCheat +glabel cheatMenuHandleCheatCheckbox /* f1076b0: 27bdffe8 */ addiu $sp,$sp,-24 /* f1076b4: afa60020 */ sw $a2,0x20($sp) /* f1076b8: 24010006 */ addiu $at,$zero,0x6 @@ -760,12 +702,12 @@ glabel menuhandlerCheat /* f1076d0: 54810054 */ bnel $a0,$at,.L0f107824 /* f1076d4: 00001025 */ or $v0,$zero,$zero /* f1076d8: 90a20001 */ lbu $v0,0x1($a1) -/* f1076dc: 3c06800a */ lui $a2,%hi(var800a21dc) -/* f1076e0: 3c05800a */ lui $a1,%hi(var800a21d8) +/* f1076dc: 3c06800a */ lui $a2,%hi(g_CheatsEnabledBank1) +/* f1076e0: 3c05800a */ lui $a1,%hi(g_CheatsEnabledBank0) /* f1076e4: 28410020 */ slti $at,$v0,0x20 /* f1076e8: 1020000c */ beqz $at,.L0f10771c -/* f1076ec: 24c621dc */ addiu $a2,$a2,%lo(var800a21dc) -/* f1076f0: 24a521d8 */ addiu $a1,$a1,%lo(var800a21d8) +/* f1076ec: 24c621dc */ addiu $a2,$a2,%lo(g_CheatsEnabledBank1) +/* f1076f0: 24a521d8 */ addiu $a1,$a1,%lo(g_CheatsEnabledBank0) /* f1076f4: 8cb80000 */ lw $t8,0x0($a1) /* f1076f8: 240e0001 */ addiu $t6,$zero,0x1 /* f1076fc: 004e7804 */ sllv $t7,$t6,$v0 @@ -796,8 +738,8 @@ glabel menuhandlerCheat /* f107750: 10400033 */ beqz $v0,.L0f107820 /* f107754: 8fa6001c */ lw $a2,0x1c($sp) /* f107758: 90c20001 */ lbu $v0,0x1($a2) -/* f10775c: 3c05800a */ lui $a1,%hi(var800a21d8) -/* f107760: 24a521d8 */ addiu $a1,$a1,%lo(var800a21d8) +/* f10775c: 3c05800a */ lui $a1,%hi(g_CheatsEnabledBank0) +/* f107760: 24a521d8 */ addiu $a1,$a1,%lo(g_CheatsEnabledBank0) /* f107764: 28410020 */ slti $at,$v0,0x20 /* f107768: 1020001f */ beqz $at,.L0f1077e8 /* f10776c: 00000000 */ sll $zero,$zero,0x0 @@ -835,8 +777,8 @@ glabel menuhandlerCheat /* f1077e0: 1000000f */ beqz $zero,.L0f107820 /* f1077e4: acaa0000 */ sw $t2,0x0($a1) .L0f1077e8: -/* f1077e8: 3c06800a */ lui $a2,%hi(var800a21dc) -/* f1077ec: 24c621dc */ addiu $a2,$a2,%lo(var800a21dc) +/* f1077e8: 3c06800a */ lui $a2,%hi(g_CheatsEnabledBank1) +/* f1077ec: 24c621dc */ addiu $a2,$a2,%lo(g_CheatsEnabledBank1) /* f1077f0: 8cc30000 */ lw $v1,0x0($a2) /* f1077f4: 240b0001 */ addiu $t3,$zero,0x1 /* f1077f8: 004b2004 */ sllv $a0,$t3,$v0 @@ -860,19 +802,19 @@ glabel menuhandlerCheat ); // Mismatch due to different registers in case 6 (v1/a0) -//s32 menuhandlerCheat(u32 arg0, struct menu_item *item, s32 arg2) +//s32 cheatMenuHandleCheatCheckbox(u32 arg0, struct menu_item *item, s32 arg2) //{ // switch (arg0) { // case 8: // if (item->param < 32) { -// if (var800a21d8 & (1 << item->param)) { +// if (g_CheatsEnabledBank0 & (1 << item->param)) { // return true; // } // // return false; // } // -// if (var800a21dc & (1 << item->param)) { +// if (g_CheatsEnabledBank1 & (1 << item->param)) { // return true; // } // @@ -880,25 +822,25 @@ glabel menuhandlerCheat // case 6: // if (cheatIsUnlocked(item->param)) { // if (item->param < 32) { // Bank 0 -// if (var800a21d8 & (1 << item->param)) { // Turning off -// var800a21d8 = var800a21d8 & ~(1 << item->param); +// if (g_CheatsEnabledBank0 & (1 << item->param)) { // Turning off +// g_CheatsEnabledBank0 = g_CheatsEnabledBank0 & ~(1 << item->param); // } else { // Turning on // // If enabling Marquis or enemy rockets, turn off the other // if (item->param == CHEAT_MARQUIS) { -// var800a21d8 = var800a21d8 & ~(1 << CHEAT_ENEMYROCKETS); +// g_CheatsEnabledBank0 = g_CheatsEnabledBank0 & ~(1 << CHEAT_ENEMYROCKETS); // } // // if (item->param == CHEAT_ENEMYROCKETS) { -// var800a21d8 = var800a21d8 & ~(1 << CHEAT_MARQUIS); +// g_CheatsEnabledBank0 = g_CheatsEnabledBank0 & ~(1 << CHEAT_MARQUIS); // } // -// var800a21d8 = var800a21d8 | (1 << item->param); +// g_CheatsEnabledBank0 = g_CheatsEnabledBank0 | (1 << item->param); // } // } else { // Bank 1 -// if ((1 << item->param) & var800a21dc) { // Turning off -// var800a21dc = var800a21dc & ~(1 << item->param); +// if ((1 << item->param) & g_CheatsEnabledBank1) { // Turning off +// g_CheatsEnabledBank1 = g_CheatsEnabledBank1 & ~(1 << item->param); // } else { // Turning on -// var800a21dc = var800a21dc | (1 << item->param); +// g_CheatsEnabledBank1 = g_CheatsEnabledBank1 | (1 << item->param); // } // } // } @@ -907,29 +849,41 @@ glabel menuhandlerCheat // return 0; //} -s32 menuhandlerCheatBuddy(s32 arg0, struct menu_item *item, s32 arg2) +s32 cheatMenuHandleBuddyCheckbox(s32 operation, struct menu_item *item, s32 arg2) { - switch (arg0) { - case 8: + switch (operation) { + case MENUOP_GET: if (item->param == 0) { - if ((var800a21d8 & 0x3c00000) != 0) { + if (g_CheatsEnabledBank0 & (1 << CHEAT_PUGILIST | 1 << CHEAT_HOTSHOT | 1 << CHEAT_HITANDRUN | 1 << CHEAT_ALIEN)) { return false; } return true; } - if ((var800a21d8 & (1 << item->param)) != 0) { + if (g_CheatsEnabledBank0 & (1 << item->param)) { return true; } return false; - case 6: + case MENUOP_SET: if (item->param == 0) { - var800a21d8 &= 0xfc3fffff; + // Velvet + g_CheatsEnabledBank0 &= ~( + (1 << CHEAT_PUGILIST) | + (1 << CHEAT_HOTSHOT) | + (1 << CHEAT_HITANDRUN) | + (1 << CHEAT_ALIEN) + ); } else if (cheatIsUnlocked(item->param)) { - var800a21d8 = var800a21d8 & 0xfc3fffff; - var800a21d8 = var800a21d8 | (1 << item->param); + // Not Velvet + g_CheatsEnabledBank0 = g_CheatsEnabledBank0 & ~( + (1 << CHEAT_PUGILIST) | + (1 << CHEAT_HOTSHOT) | + (1 << CHEAT_HITANDRUN) | + (1 << CHEAT_ALIEN) + ); + g_CheatsEnabledBank0 = g_CheatsEnabledBank0 | (1 << item->param); } } @@ -939,14 +893,14 @@ s32 menuhandlerCheatBuddy(s32 arg0, struct menu_item *item, s32 arg2) char *cheatGetNameIfUnlocked(struct menu_item *item) { if (cheatIsUnlocked(item->param)) { - return textGet(g_CheatSpecs[item->param].nametextid); + return textGet(g_Cheats[item->param].nametextid); } return textGet(0x544a); // "----------" } GLOBAL_ASM( -glabel menudialog00107990 +glabel cheatMenuHandleDialog /* f107990: 27bdffe8 */ addiu $sp,$sp,-24 /* f107994: 24010064 */ addiu $at,$zero,0x64 /* f107998: afbf0014 */ sw $ra,0x14($sp) @@ -1026,21 +980,21 @@ char *cheatGetMarquee(struct menu_item *arg0) if (g_MenuStack[g_MenuStackDepth].unk00->dialog == &menudialog_cheats_buddies && g_MenuStack[g_MenuStackDepth].unk00->item == &menuitems_cheats_buddies[0]) { // Velvet - sprintf(&g_CheatMarqueeString, "%s: %s", textGet(0x548f), textGet(0x5475)); // "Buddy Available", "Velvet Dark" + sprintf(g_CheatMarqueeString, "%s: %s", textGet(0x548f), textGet(0x5475)); // "Buddy Available", "Velvet Dark" return g_CheatMarqueeString; } if (cheatIsUnlocked(cheat_id)) { // Show cheat name - sprintf(&g_CheatMarqueeString, "%s: %s\n", + sprintf(g_CheatMarqueeString, "%s: %s\n", g_MenuStack[g_MenuStackDepth].unk00->dialog == &menudialog_cheats_buddies ? textGet(0x548f) : textGet(0x5488), // "Buddy Available", "Cheat available" - textGet(g_CheatSpecs[cheat_id].nametextid) + textGet(g_Cheats[cheat_id].nametextid) ); return g_CheatMarqueeString; } // Locked - strcpy(&cheatname, textGet(g_CheatSpecs[cheat_id].nametextid)); + strcpy(&cheatname, textGet(g_Cheats[cheat_id].nametextid)); ptr = cheatname; while (*ptr != '\n') { @@ -1049,17 +1003,17 @@ char *cheatGetMarquee(struct menu_item *arg0) *ptr = '\0'; - if (g_CheatSpecs[cheat_id].method & CHEATMETHOD_COMPLETE) { - sprintf(&g_CheatMarqueeString, "%s %s: %s %s %s", + if (g_Cheats[cheat_id].flags & CHEATFLAG_COMPLETION) { + sprintf(g_CheatMarqueeString, "%s %s: %s %s %s", textGet(0x5489), // "Complete" - textGet(g_StageNames[g_CheatSpecs[cheat_id].stage_index].name1), - textGet(g_StageNames[g_CheatSpecs[cheat_id].stage_index].name2), + textGet(g_StageNames[g_Cheats[cheat_id].stage_index].name1), + textGet(g_StageNames[g_Cheats[cheat_id].stage_index].name2), textGet(0x548a), // "for cheat:" &cheatname ); } else { // Timed - strcpy(&difficultyname, textGet(0x56fb + g_CheatSpecs[cheat_id].difficulty)); + strcpy(&difficultyname, textGet(0x56fb + g_Cheats[cheat_id].difficulty)); ptr = difficultyname; while (*ptr != '\n') { @@ -1068,21 +1022,21 @@ char *cheatGetMarquee(struct menu_item *arg0) *ptr = '\0'; - sprintf(&g_CheatMarqueeString, "%s %s: %s %s %s %s %d:%02d %s %s", + sprintf(g_CheatMarqueeString, "%s %s: %s %s %s %s %d:%02d %s %s", textGet(0x5489), // "Complete" - textGet(g_StageNames[g_CheatSpecs[cheat_id].stage_index].name1), - textGet(g_StageNames[g_CheatSpecs[cheat_id].stage_index].name2), + textGet(g_StageNames[g_Cheats[cheat_id].stage_index].name1), + textGet(g_StageNames[g_Cheats[cheat_id].stage_index].name2), textGet(0x548b), // "on" &difficultyname, textGet(0x548c), // "in under" - g_CheatSpecs[cheat_id].time / 60, - g_CheatSpecs[cheat_id].time % 60, + g_Cheats[cheat_id].time / 60, + g_Cheats[cheat_id].time % 60, textGet(0x548a), // "for cheat:" &cheatname ); } - if (g_CheatSpecs[cheat_id].method & CHEATMETHOD_TRANSFERPAK) { + if (g_Cheats[cheat_id].flags & CHEATFLAG_TRANSFERPAK) { func00013224(&g_CheatMarqueeString, textGet(0x548d)); // " or insert Game Boy ..." } @@ -1094,11 +1048,11 @@ char *cheatGetMarquee(struct menu_item *arg0) return textGet(0x548e); // "Select cheat for information" } -bool menuhandlerTurnOffAllCheats(u32 arg0, u32 arg1, u32 *arg2) +bool cheatMenuHandleTurnOffAllCheats(u32 operation, u32 arg1, u32 *arg2) { - if (arg0 == 6) { - var800a21d8 = 0; - var800a21dc = 0; + if (operation == MENUOP_SET) { + g_CheatsEnabledBank0 = 0; + g_CheatsEnabledBank1 = 0; } return false; @@ -1108,11 +1062,11 @@ s32 cheatGetByTimedStageIndex(s32 stage_index, s32 difficulty) { s32 cheat_id; - for (cheat_id = 0; cheat_id < 0x2a; cheat_id++) { - if (g_CheatSpecs[cheat_id].stage_index == stage_index && - g_CheatSpecs[cheat_id].difficulty == difficulty && - (g_CheatSpecs[cheat_id].method & CHEATMETHOD_COMPLETE) == 0 && - (g_CheatSpecs[cheat_id].method & CHEATMETHOD_FIRINGRANGE) == 0) { + for (cheat_id = 0; cheat_id < NUM_CHEATS; cheat_id++) { + if (g_Cheats[cheat_id].stage_index == stage_index && + g_Cheats[cheat_id].difficulty == difficulty && + (g_Cheats[cheat_id].flags & CHEATFLAG_COMPLETION) == 0 && + (g_Cheats[cheat_id].flags & CHEATFLAG_FIRINGRANGE) == 0) { return cheat_id; } } @@ -1124,8 +1078,8 @@ s32 cheatGetByCompletedStageIndex(s32 stage_index) { s32 cheat_id; - for (cheat_id = 0; cheat_id < 0x2a; cheat_id++) { - if (g_CheatSpecs[cheat_id].stage_index == stage_index && (g_CheatSpecs[cheat_id].method & CHEATMETHOD_COMPLETE)) { + for (cheat_id = 0; cheat_id < NUM_CHEATS; cheat_id++) { + if (g_Cheats[cheat_id].stage_index == stage_index && (g_Cheats[cheat_id].flags & CHEATFLAG_COMPLETION)) { return cheat_id; } } @@ -1135,10 +1089,10 @@ s32 cheatGetByCompletedStageIndex(s32 stage_index) s32 cheatGetTime(s32 cheat_id) { - return g_CheatSpecs[cheat_id].time; + return g_Cheats[cheat_id].time; } char *cheatGetName(s32 cheat_id) { - return textGet(g_CheatSpecs[cheat_id].nametextid); + return textGet(g_Cheats[cheat_id].nametextid); } diff --git a/src/game/chr/chr.c b/src/game/chr/chr.c index 7f756b61c..fd5d98cf6 100644 --- a/src/game/chr/chr.c +++ b/src/game/chr/chr.c @@ -3604,7 +3604,7 @@ glabel func0f020668 /* f02071c: 44812000 */ mtc1 $at,$f4 /* f020720: 24040015 */ addiu $a0,$zero,0x15 /* f020724: ae1900d8 */ sw $t9,0xd8($s0) -/* f020728: 0fc41b99 */ jal cheatIsEnabled +/* f020728: 0fc41b99 */ jal cheatIsActive /* f02072c: e60400dc */ swc1 $f4,0xdc($s0) /* f020730: 10400005 */ beqz $v0,.L0f020748 /* f020734: 8fa60024 */ lw $a2,0x24($sp) @@ -3983,7 +3983,7 @@ struct prop *func0f020cc8(s32 arg0, s32 arg1, s32 arg2, f32 arg3, s32 arg4) if (prop) { prop = func0f020b14(prop, arg0, arg1, arg2, arg3, arg4); - if (cheatIsEnabled(CHEAT_ENEMYSHIELDS)) { + if (cheatIsActive(CHEAT_ENEMYSHIELDS)) { chrSetShield(prop->chr, 8); } } @@ -4723,7 +4723,7 @@ glabel func0f02143c /* f021774: afa70158 */ sw $a3,0x158($sp) /* f021778: afa8014c */ sw $t0,0x14c($sp) /* f02177c: afa90144 */ sw $t1,0x144($sp) -/* f021780: 0fc41b99 */ jal cheatIsEnabled +/* f021780: 0fc41b99 */ jal cheatIsActive /* f021784: afaa0148 */ sw $t2,0x148($sp) /* f021788: 8fa50150 */ lw $a1,0x150($sp) /* f02178c: 8fa70158 */ lw $a3,0x158($sp) @@ -7366,7 +7366,7 @@ glabel func0f023098 /* f023d74: 01416825 */ or $t5,$t2,$at /* f023d78: ae0d0014 */ sw $t5,0x14($s0) .L0f023d7c: -/* f023d7c: 0fc41b99 */ jal cheatIsEnabled +/* f023d7c: 0fc41b99 */ jal cheatIsActive /* f023d80: 24040007 */ addiu $a0,$zero,0x7 /* f023d84: 10400004 */ beqz $v0,.L0f023d98 /* f023d88: 3c013ea0 */ lui $at,0x3ea0 @@ -9588,7 +9588,7 @@ glabel func0f025288 /* f025d78: 00000000 */ sll $zero,$zero,0x0 /* f025d7c: afa30058 */ sw $v1,0x58($sp) .L0f025d80: -/* f025d80: 0fc41b99 */ jal cheatIsEnabled +/* f025d80: 0fc41b99 */ jal cheatIsActive /* f025d84: e7a20050 */ swc1 $f2,0x50($sp) /* f025d88: 8fa30058 */ lw $v1,0x58($sp) /* f025d8c: 10400005 */ beqz $v0,.L0f025da4 @@ -17493,7 +17493,7 @@ glabel func0f02ce8c /* f02ced4: e7a80044 */ swc1 $f8,0x44($sp) /* f02ced8: 24040007 */ addiu $a0,$zero,0x7 /* f02cedc: afa2001c */ sw $v0,0x1c($sp) -/* f02cee0: 0fc41b99 */ jal cheatIsEnabled +/* f02cee0: 0fc41b99 */ jal cheatIsActive /* f02cee4: e7aa0040 */ swc1 $f10,0x40($sp) /* f02cee8: 10400005 */ beqz $v0,.L0f02cf00 /* f02ceec: c7b00044 */ lwc1 $f16,0x44($sp) @@ -17651,7 +17651,7 @@ glabel func0f02ce8c .L0f02d130: /* f02d130: 15800013 */ bnez $t4,.L0f02d180 /* f02d134: 00000000 */ sll $zero,$zero,0x0 -/* f02d138: 0fc41b99 */ jal cheatIsEnabled +/* f02d138: 0fc41b99 */ jal cheatIsActive /* f02d13c: 2404000b */ addiu $a0,$zero,0xb /* f02d140: 10400005 */ beqz $v0,.L0f02d158 /* f02d144: c7a40044 */ lwc1 $f4,0x44($sp) @@ -17660,7 +17660,7 @@ glabel func0f02ce8c /* f02d150: 46062282 */ mul.s $f10,$f4,$f6 /* f02d154: e7aa0044 */ swc1 $f10,0x44($sp) .L0f02d158: -/* f02d158: 0fc41b99 */ jal cheatIsEnabled +/* f02d158: 0fc41b99 */ jal cheatIsActive /* f02d15c: 24040007 */ addiu $a0,$zero,0x7 /* f02d160: 10400033 */ beqz $v0,.L0f02d230 /* f02d164: c7b00044 */ lwc1 $f16,0x44($sp) @@ -17671,7 +17671,7 @@ glabel func0f02ce8c /* f02d178: 1000002d */ beqz $zero,.L0f02d230 /* f02d17c: e7b20044 */ swc1 $f18,0x44($sp) .L0f02d180: -/* f02d180: 0fc41b99 */ jal cheatIsEnabled +/* f02d180: 0fc41b99 */ jal cheatIsActive /* f02d184: 2404000a */ addiu $a0,$zero,0xa /* f02d188: 10400029 */ beqz $v0,.L0f02d230 /* f02d18c: c7a40044 */ lwc1 $f4,0x44($sp) @@ -18271,7 +18271,7 @@ glabel func0f02d4fc /* f02d9e0: accf0114 */ sw $t7,0x114($a2) /* f02d9e4: 8e19001c */ lw $t9,0x1c($s0) /* f02d9e8: acd90118 */ sw $t9,0x118($a2) -/* f02d9ec: 0fc41b99 */ jal cheatIsEnabled +/* f02d9ec: 0fc41b99 */ jal cheatIsActive /* f02d9f0: afa6005c */ sw $a2,0x5c($sp) /* f02d9f4: 10400007 */ beqz $v0,.L0f02da14 /* f02d9f8: 8fa6005c */ lw $a2,0x5c($sp) diff --git a/src/game/chr/chraicommands.c b/src/game/chr/chraicommands.c index b3d5f6fb2..fadcb2d10 100644 --- a/src/game/chr/chraicommands.c +++ b/src/game/chr/chraicommands.c @@ -4486,7 +4486,7 @@ bool aiSetViewDistance(void) { u8 *cmd = g_Vars.ailist + g_Vars.aioffset; - if (!cheatIsEnabled(CHEAT_PERFECTDARKNESS)) { + if (!cheatIsActive(CHEAT_PERFECTDARKNESS)) { g_Vars.chrdata->visionrange = cmd[2]; } @@ -4688,7 +4688,7 @@ glabel ai010e /* f053b64: 2404000c */ addiu $a0,$zero,0xc /* f053b68: 468021a0 */ cvt.s.w $f6,$f4 /* f053b6c: 46083002 */ mul.s $f0,$f6,$f8 -/* f053b70: 0fc41b99 */ jal cheatIsEnabled +/* f053b70: 0fc41b99 */ jal cheatIsActive /* f053b74: e7a00018 */ swc1 $f0,0x18($sp) /* f053b78: 10400009 */ beqz $v0,.L0f053ba0 /* f053b7c: c7a00018 */ lwc1 $f0,0x18($sp) @@ -5920,7 +5920,7 @@ glabel aiTryEquipWeapon /* f055884: 11a0005e */ beqz $t5,.L0f055a00 /* f055888: 00000000 */ sll $zero,$zero,0x0 /* f05588c: afa70020 */ sw $a3,0x20($sp) -/* f055890: 0fc41b99 */ jal cheatIsEnabled +/* f055890: 0fc41b99 */ jal cheatIsActive /* f055894: afa80024 */ sw $t0,0x24($sp) /* f055898: 8fa5001c */ lw $a1,0x1c($sp) /* f05589c: 10400012 */ beqz $v0,.L0f0558e8 @@ -5944,7 +5944,7 @@ glabel aiTryEquipWeapon /* f0558e4: 8fa80024 */ lw $t0,0x24($sp) .L0f0558e8: /* f0558e8: 24040012 */ addiu $a0,$zero,0x12 -/* f0558ec: 0fc41b99 */ jal cheatIsEnabled +/* f0558ec: 0fc41b99 */ jal cheatIsActive /* f0558f0: afa70020 */ sw $a3,0x20($sp) /* f0558f4: 8fa5001c */ lw $a1,0x1c($sp) /* f0558f8: 10400036 */ beqz $v0,.L0f0559d4 diff --git a/src/game/game_000920.c b/src/game/game_000920.c index 2a8c4bf7c..49d09b795 100644 --- a/src/game/game_000920.c +++ b/src/game/game_000920.c @@ -2604,7 +2604,7 @@ glabel func0f002c28 /* f002c3c: afa5001c */ sw $a1,0x1c($sp) /* f002c40: a3a70027 */ sb $a3,0x27($sp) /* f002c44: a3a60023 */ sb $a2,0x23($sp) -/* f002c48: 0fc41b99 */ jal cheatIsEnabled +/* f002c48: 0fc41b99 */ jal cheatIsActive /* f002c4c: 24040015 */ addiu $a0,$zero,0x15 /* f002c50: 8fa5001c */ lw $a1,0x1c($sp) /* f002c54: 93a60023 */ lbu $a2,0x23($sp) @@ -3414,7 +3414,7 @@ glabel func0f0037ac /* f0037dc: f7b40020 */ sdc1 $f20,0x20($sp) /* f0037e0: afa000d0 */ sw $zero,0xd0($sp) /* f0037e4: afa000c8 */ sw $zero,0xc8($sp) -/* f0037e8: 0fc41b99 */ jal cheatIsEnabled +/* f0037e8: 0fc41b99 */ jal cheatIsActive /* f0037ec: 24040015 */ addiu $a0,$zero,0x15 /* f0037f0: 10400003 */ beqz $v0,.L0f003800 /* f0037f4: 00000000 */ sll $zero,$zero,0x0 diff --git a/src/game/game_00b820.c b/src/game/game_00b820.c index 70b4f1b18..1c10cfe46 100644 --- a/src/game/game_00b820.c +++ b/src/game/game_00b820.c @@ -112,7 +112,7 @@ glabel func0f00b820 /* f00b978: 90480000 */ lbu $t0,0x0($v0) /* f00b97c: 00008825 */ or $s1,$zero,$zero .L0f00b980: -/* f00b980: 0fc41b99 */ jal cheatIsEnabled +/* f00b980: 0fc41b99 */ jal cheatIsActive /* f00b984: 24040010 */ addiu $a0,$zero,0x10 /* f00b988: 10400005 */ beqz $v0,.L0f00b9a0 /* f00b98c: 3c148006 */ lui $s4,%hi(var80062c14) @@ -170,7 +170,7 @@ glabel func0f00b820 /* f00ba40: 26520004 */ addiu $s2,$s2,0x4 /* f00ba44: 00008825 */ or $s1,$zero,$zero .L0f00ba48: -/* f00ba48: 0fc41b99 */ jal cheatIsEnabled +/* f00ba48: 0fc41b99 */ jal cheatIsActive /* f00ba4c: 24040010 */ addiu $a0,$zero,0x10 /* f00ba50: 10400006 */ beqz $v0,.L0f00ba6c /* f00ba54: 3c148006 */ lui $s4,%hi(var80062c58) diff --git a/src/game/game_00c490.c b/src/game/game_00c490.c index 2b9356f99..1e295cb4b 100644 --- a/src/game/game_00c490.c +++ b/src/game/game_00c490.c @@ -1505,7 +1505,7 @@ glabel func0f00d670 /* f00d6bc: 24040014 */ addiu $a0,$zero,0x14 /* f00d6c0: 5320008d */ beqzl $t9,.L0f00d8f8 /* f00d6c4: 8fbf0014 */ lw $ra,0x14($sp) -/* f00d6c8: 0fc41b99 */ jal cheatIsEnabled +/* f00d6c8: 0fc41b99 */ jal cheatIsActive /* f00d6cc: afa60030 */ sw $a2,0x30($sp) /* f00d6d0: 10400011 */ beqz $v0,.L0f00d718 /* f00d6d4: 8fa60030 */ lw $a2,0x30($sp) @@ -1527,7 +1527,7 @@ glabel func0f00d670 /* f00d714: 8fbf0014 */ lw $ra,0x14($sp) .L0f00d718: /* f00d718: 24040012 */ addiu $a0,$zero,0x12 -/* f00d71c: 0fc41b99 */ jal cheatIsEnabled +/* f00d71c: 0fc41b99 */ jal cheatIsActive /* f00d720: afa60030 */ sw $a2,0x30($sp) /* f00d724: 10400023 */ beqz $v0,.L0f00d7b4 /* f00d728: 8fa60030 */ lw $a2,0x30($sp) diff --git a/src/game/game_011110.c b/src/game/game_011110.c index fb070e7ec..93f48284b 100644 --- a/src/game/game_011110.c +++ b/src/game/game_011110.c @@ -861,7 +861,7 @@ glabel func0f0118f4 .L0f011c98: /* f011c98: 0fc44762 */ jal func0f111d88 /* f011c9c: 24040001 */ addiu $a0,$zero,0x1 -/* f011ca0: 0fc41b99 */ jal cheatIsEnabled +/* f011ca0: 0fc41b99 */ jal cheatIsActive /* f011ca4: 24040008 */ addiu $a0,$zero,0x8 /* f011ca8: 10400006 */ beqz $v0,.L0f011cc4 /* f011cac: 00000000 */ sll $zero,$zero,0x0 @@ -871,7 +871,7 @@ glabel func0f0118f4 /* f011cbc: 0fc2a58a */ jal func0f0a9628 /* f011cc0: 24050050 */ addiu $a1,$zero,0x50 .L0f011cc4: -/* f011cc4: 0fc41b99 */ jal cheatIsEnabled +/* f011cc4: 0fc41b99 */ jal cheatIsActive /* f011cc8: 24040009 */ addiu $a0,$zero,0x9 /* f011ccc: 10400006 */ beqz $v0,.L0f011ce8 /* f011cd0: 00000000 */ sll $zero,$zero,0x0 @@ -881,7 +881,7 @@ glabel func0f0118f4 /* f011ce0: 0fc2a58a */ jal func0f0a9628 /* f011ce4: 24050050 */ addiu $a1,$zero,0x50 .L0f011ce8: -/* f011ce8: 0fc41b99 */ jal cheatIsEnabled +/* f011ce8: 0fc41b99 */ jal cheatIsActive /* f011cec: 24040001 */ addiu $a0,$zero,0x1 /* f011cf0: 10400006 */ beqz $v0,.L0f011d0c /* f011cf4: 00000000 */ sll $zero,$zero,0x0 @@ -891,21 +891,21 @@ glabel func0f0118f4 /* f011d04: 0fc2a58a */ jal func0f0a9628 /* f011d08: 24051c20 */ addiu $a1,$zero,0x1c20 .L0f011d0c: -/* f011d0c: 0fc41b99 */ jal cheatIsEnabled +/* f011d0c: 0fc41b99 */ jal cheatIsActive /* f011d10: 24040015 */ addiu $a0,$zero,0x15 /* f011d14: 10400003 */ beqz $v0,.L0f011d24 /* f011d18: 00000000 */ sll $zero,$zero,0x0 /* f011d1c: 0fc44762 */ jal func0f111d88 /* f011d20: 2404002d */ addiu $a0,$zero,0x2d .L0f011d24: -/* f011d24: 0fc41b99 */ jal cheatIsEnabled +/* f011d24: 0fc41b99 */ jal cheatIsActive /* f011d28: 2404001a */ addiu $a0,$zero,0x1a /* f011d2c: 10400003 */ beqz $v0,.L0f011d3c /* f011d30: 00000000 */ sll $zero,$zero,0x0 /* f011d34: 0fc44762 */ jal func0f111d88 /* f011d38: 24040037 */ addiu $a0,$zero,0x37 .L0f011d3c: -/* f011d3c: 0fc41b99 */ jal cheatIsEnabled +/* f011d3c: 0fc41b99 */ jal cheatIsActive /* f011d40: 2404001b */ addiu $a0,$zero,0x1b /* f011d44: 10400006 */ beqz $v0,.L0f011d60 /* f011d48: 00000000 */ sll $zero,$zero,0x0 @@ -915,7 +915,7 @@ glabel func0f0118f4 /* f011d58: 0fc2a58a */ jal func0f0a9628 /* f011d5c: 2405000a */ addiu $a1,$zero,0xa .L0f011d60: -/* f011d60: 0fc41b99 */ jal cheatIsEnabled +/* f011d60: 0fc41b99 */ jal cheatIsActive /* f011d64: 2404001c */ addiu $a0,$zero,0x1c /* f011d68: 10400006 */ beqz $v0,.L0f011d84 /* f011d6c: 00000000 */ sll $zero,$zero,0x0 @@ -925,14 +925,14 @@ glabel func0f0118f4 /* f011d7c: 0fc2a58a */ jal func0f0a9628 /* f011d80: 240500c8 */ addiu $a1,$zero,0xc8 .L0f011d84: -/* f011d84: 0fc41b99 */ jal cheatIsEnabled +/* f011d84: 0fc41b99 */ jal cheatIsActive /* f011d88: 2404001d */ addiu $a0,$zero,0x1d /* f011d8c: 10400003 */ beqz $v0,.L0f011d9c /* f011d90: 00000000 */ sll $zero,$zero,0x0 /* f011d94: 0fc44762 */ jal func0f111d88 /* f011d98: 2404002f */ addiu $a0,$zero,0x2f .L0f011d9c: -/* f011d9c: 0fc41b99 */ jal cheatIsEnabled +/* f011d9c: 0fc41b99 */ jal cheatIsActive /* f011da0: 2404001e */ addiu $a0,$zero,0x1e /* f011da4: 10400009 */ beqz $v0,.L0f011dcc /* f011da8: 00000000 */ sll $zero,$zero,0x0 @@ -945,7 +945,7 @@ glabel func0f0118f4 /* f011dc4: 0fc2a58a */ jal func0f0a9628 /* f011dc8: 24050014 */ addiu $a1,$zero,0x14 .L0f011dcc: -/* f011dcc: 0fc41b99 */ jal cheatIsEnabled +/* f011dcc: 0fc41b99 */ jal cheatIsActive /* f011dd0: 2404001f */ addiu $a0,$zero,0x1f /* f011dd4: 10400006 */ beqz $v0,.L0f011df0 /* f011dd8: 00000000 */ sll $zero,$zero,0x0 @@ -955,7 +955,7 @@ glabel func0f0118f4 /* f011de8: 0fc2a58a */ jal func0f0a9628 /* f011dec: 240500c8 */ addiu $a1,$zero,0xc8 .L0f011df0: -/* f011df0: 0fc41b99 */ jal cheatIsEnabled +/* f011df0: 0fc41b99 */ jal cheatIsActive /* f011df4: 24040020 */ addiu $a0,$zero,0x20 /* f011df8: 10400006 */ beqz $v0,.L0f011e14 /* f011dfc: 00000000 */ sll $zero,$zero,0x0 @@ -965,25 +965,25 @@ glabel func0f0118f4 /* f011e0c: 0fc2a58a */ jal func0f0a9628 /* f011e10: 240500c8 */ addiu $a1,$zero,0xc8 .L0f011e14: -/* f011e14: 0fc41b99 */ jal cheatIsEnabled +/* f011e14: 0fc41b99 */ jal cheatIsActive /* f011e18: 24040021 */ addiu $a0,$zero,0x21 /* f011e1c: 54400005 */ bnezl $v0,.L0f011e34 /* f011e20: 24040016 */ addiu $a0,$zero,0x16 -/* f011e24: 0fc41b99 */ jal cheatIsEnabled +/* f011e24: 0fc41b99 */ jal cheatIsActive /* f011e28: 24040003 */ addiu $a0,$zero,0x3 /* f011e2c: 10400009 */ beqz $v0,.L0f011e54 /* f011e30: 24040016 */ addiu $a0,$zero,0x16 .L0f011e34: /* f011e34: 0fc2a58a */ jal func0f0a9628 /* f011e38: 24050004 */ addiu $a1,$zero,0x4 -/* f011e3c: 0fc41b99 */ jal cheatIsEnabled +/* f011e3c: 0fc41b99 */ jal cheatIsActive /* f011e40: 24040021 */ addiu $a0,$zero,0x21 /* f011e44: 10400003 */ beqz $v0,.L0f011e54 /* f011e48: 00000000 */ sll $zero,$zero,0x0 /* f011e4c: 0fc44762 */ jal func0f111d88 /* f011e50: 2404002c */ addiu $a0,$zero,0x2c .L0f011e54: -/* f011e54: 0fc41b99 */ jal cheatIsEnabled +/* f011e54: 0fc41b99 */ jal cheatIsActive /* f011e58: 24040022 */ addiu $a0,$zero,0x22 /* f011e5c: 10400006 */ beqz $v0,.L0f011e78 /* f011e60: 00000000 */ sll $zero,$zero,0x0 @@ -993,7 +993,7 @@ glabel func0f0118f4 /* f011e70: 0fc2a58a */ jal func0f0a9628 /* f011e74: 240500c8 */ addiu $a1,$zero,0xc8 .L0f011e78: -/* f011e78: 0fc41b99 */ jal cheatIsEnabled +/* f011e78: 0fc41b99 */ jal cheatIsActive /* f011e7c: 24040023 */ addiu $a0,$zero,0x23 /* f011e80: 10400006 */ beqz $v0,.L0f011e9c /* f011e84: 00000000 */ sll $zero,$zero,0x0 @@ -1003,7 +1003,7 @@ glabel func0f0118f4 /* f011e94: 0fc2a58a */ jal func0f0a9628 /* f011e98: 240500c8 */ addiu $a1,$zero,0xc8 .L0f011e9c: -/* f011e9c: 0fc41b99 */ jal cheatIsEnabled +/* f011e9c: 0fc41b99 */ jal cheatIsActive /* f011ea0: 24040024 */ addiu $a0,$zero,0x24 /* f011ea4: 10400006 */ beqz $v0,.L0f011ec0 /* f011ea8: 00000000 */ sll $zero,$zero,0x0 @@ -1013,7 +1013,7 @@ glabel func0f0118f4 /* f011eb8: 0fc2a58a */ jal func0f0a9628 /* f011ebc: 240500c8 */ addiu $a1,$zero,0xc8 .L0f011ec0: -/* f011ec0: 0fc41b99 */ jal cheatIsEnabled +/* f011ec0: 0fc41b99 */ jal cheatIsActive /* f011ec4: 24040025 */ addiu $a0,$zero,0x25 /* f011ec8: 10400006 */ beqz $v0,.L0f011ee4 /* f011ecc: 00000000 */ sll $zero,$zero,0x0 @@ -1023,7 +1023,7 @@ glabel func0f0118f4 /* f011edc: 0fc2a58a */ jal func0f0a9628 /* f011ee0: 240500c8 */ addiu $a1,$zero,0xc8 .L0f011ee4: -/* f011ee4: 0fc41b99 */ jal cheatIsEnabled +/* f011ee4: 0fc41b99 */ jal cheatIsActive /* f011ee8: 24040026 */ addiu $a0,$zero,0x26 /* f011eec: 10400006 */ beqz $v0,.L0f011f08 /* f011ef0: 00000000 */ sll $zero,$zero,0x0 @@ -1033,7 +1033,7 @@ glabel func0f0118f4 /* f011f00: 0fc2a58a */ jal func0f0a9628 /* f011f04: 240500c8 */ addiu $a1,$zero,0xc8 .L0f011f08: -/* f011f08: 0fc41b99 */ jal cheatIsEnabled +/* f011f08: 0fc41b99 */ jal cheatIsActive /* f011f0c: 24040027 */ addiu $a0,$zero,0x27 /* f011f10: 10400006 */ beqz $v0,.L0f011f2c /* f011f14: 00000000 */ sll $zero,$zero,0x0 @@ -1043,7 +1043,7 @@ glabel func0f0118f4 /* f011f24: 0fc2a58a */ jal func0f0a9628 /* f011f28: 240500c8 */ addiu $a1,$zero,0xc8 .L0f011f2c: -/* f011f2c: 0fc41b99 */ jal cheatIsEnabled +/* f011f2c: 0fc41b99 */ jal cheatIsActive /* f011f30: 24040028 */ addiu $a0,$zero,0x28 /* f011f34: 10400006 */ beqz $v0,.L0f011f50 /* f011f38: 00000000 */ sll $zero,$zero,0x0 @@ -1053,7 +1053,7 @@ glabel func0f0118f4 /* f011f48: 0fc2a58a */ jal func0f0a9628 /* f011f4c: 240500c8 */ addiu $a1,$zero,0xc8 .L0f011f50: -/* f011f50: 0fc41b99 */ jal cheatIsEnabled +/* f011f50: 0fc41b99 */ jal cheatIsActive /* f011f54: 24040029 */ addiu $a0,$zero,0x29 /* f011f58: 50400007 */ beqzl $v0,.L0f011f78 /* f011f5c: 8fa90080 */ lw $t1,0x80($sp) @@ -1440,7 +1440,7 @@ glabel func0f012450 /* f0124d0: 8cab0318 */ lw $t3,0x318($a1) /* f0124d4: 55600009 */ bnezl $t3,.L0f0124fc /* f0124d8: 8cad0284 */ lw $t5,0x284($a1) -/* f0124dc: 0fc41b99 */ jal cheatIsEnabled +/* f0124dc: 0fc41b99 */ jal cheatIsActive /* f0124e0: 24040003 */ addiu $a0,$zero,0x3 /* f0124e4: 3c05800a */ lui $a1,%hi(g_Vars) /* f0124e8: 24a59fc0 */ addiu $a1,$a1,%lo(g_Vars) diff --git a/src/game/game_066310.c b/src/game/game_066310.c index 2a3b8ca32..b5feb6fc5 100644 --- a/src/game/game_066310.c +++ b/src/game/game_066310.c @@ -4827,7 +4827,7 @@ glabel func0f069144 /* f069250: 33191000 */ andi $t9,$t8,0x1000 /* f069254: 53200006 */ beqzl $t9,.L0f069270 /* f069258: 8fa40070 */ lw $a0,0x70($sp) -/* f06925c: 0fc41b99 */ jal cheatIsEnabled +/* f06925c: 0fc41b99 */ jal cheatIsActive /* f069260: 24040015 */ addiu $a0,$zero,0x15 /* f069264: 50400065 */ beqzl $v0,.L0f0693fc /* f069268: 920a0002 */ lbu $t2,0x2($s0) @@ -40632,12 +40632,12 @@ glabel func0f089014 /* f089258: 10400136 */ beqz $v0,.L0f089734 /* f08925c: 8fa70080 */ lw $a3,0x80($sp) /* f089260: 24040004 */ addiu $a0,$zero,0x4 -/* f089264: 0fc41b99 */ jal cheatIsEnabled +/* f089264: 0fc41b99 */ jal cheatIsActive /* f089268: afa70080 */ sw $a3,0x80($sp) /* f08926c: 14400006 */ bnez $v0,.L0f089288 /* f089270: 8fa70080 */ lw $a3,0x80($sp) /* f089274: 24040005 */ addiu $a0,$zero,0x5 -/* f089278: 0fc41b99 */ jal cheatIsEnabled +/* f089278: 0fc41b99 */ jal cheatIsActive /* f08927c: afa70080 */ sw $a3,0x80($sp) /* f089280: 10400003 */ beqz $v0,.L0f089290 /* f089284: 8fa70080 */ lw $a3,0x80($sp) @@ -41021,7 +41021,7 @@ glabel func0f089014 /* f0897cc: afa80050 */ sw $t0,0x50($sp) /* f0897d0: e7a2004c */ swc1 $f2,0x4c($sp) /* f0897d4: e7ac0044 */ swc1 $f12,0x44($sp) -/* f0897d8: 0fc41b99 */ jal cheatIsEnabled +/* f0897d8: 0fc41b99 */ jal cheatIsActive /* f0897dc: e7ae0048 */ swc1 $f14,0x48($sp) /* f0897e0: 0002182b */ sltu $v1,$zero,$v0 /* f0897e4: 8fa80050 */ lw $t0,0x50($sp) @@ -41033,7 +41033,7 @@ glabel func0f089014 /* f0897fc: afa80050 */ sw $t0,0x50($sp) /* f089800: e7a2004c */ swc1 $f2,0x4c($sp) /* f089804: e7ac0044 */ swc1 $f12,0x44($sp) -/* f089808: 0fc41b99 */ jal cheatIsEnabled +/* f089808: 0fc41b99 */ jal cheatIsActive /* f08980c: e7ae0048 */ swc1 $f14,0x48($sp) /* f089810: 8fa80050 */ lw $t0,0x50($sp) /* f089814: c7a2004c */ lwc1 $f2,0x4c($sp) @@ -43172,7 +43172,7 @@ glabel func0f08b27c /* f08b52c: a20200a9 */ sb $v0,0xa9($s0) .L0f08b530: /* f08b530: 24040013 */ addiu $a0,$zero,0x13 -/* f08b534: 0fc41b99 */ jal cheatIsEnabled +/* f08b534: 0fc41b99 */ jal cheatIsActive /* f08b538: afa60034 */ sw $a2,0x34($sp) /* f08b53c: 10400004 */ beqz $v0,.L0f08b550 /* f08b540: 8fa60034 */ lw $a2,0x34($sp) diff --git a/src/game/game_097a50.c b/src/game/game_097a50.c index 27b5731b1..65308b14b 100644 --- a/src/game/game_097a50.c +++ b/src/game/game_097a50.c @@ -5180,7 +5180,7 @@ glabel func0f09b500 /* f09b784: 240b0002 */ addiu $t3,$zero,0x2 /* f09b788: ae0b0608 */ sw $t3,0x608($s0) .L0f09b78c: -/* f09b78c: 0fc41b99 */ jal cheatIsEnabled +/* f09b78c: 0fc41b99 */ jal cheatIsActive /* f09b790: 00002025 */ or $a0,$zero,$zero /* f09b794: 10400002 */ beqz $v0,.L0f09b7a0 /* f09b798: 240c0002 */ addiu $t4,$zero,0x2 @@ -5199,7 +5199,7 @@ glabel func0f09b500 /* f09b7c4: 10000013 */ beqz $zero,.L0f09b814 /* f09b7c8: 24020001 */ addiu $v0,$zero,0x1 .L0f09b7cc: -/* f09b7cc: 0fc41b99 */ jal cheatIsEnabled +/* f09b7cc: 0fc41b99 */ jal cheatIsActive /* f09b7d0: 00002025 */ or $a0,$zero,$zero /* f09b7d4: 50400008 */ beqzl $v0,.L0f09b7f8 /* f09b7d8: 8e0e0614 */ lw $t6,0x614($s0) @@ -20488,7 +20488,7 @@ glabel func0f0a8d34 /* f0a9158: 24040001 */ addiu $a0,$zero,0x1 /* f0a915c: 0fc273a3 */ jal func0f09ce8c /* f0a9160: 00000000 */ sll $zero,$zero,0x0 -/* f0a9164: 0fc41b99 */ jal cheatIsEnabled +/* f0a9164: 0fc41b99 */ jal cheatIsActive /* f0a9168: 24040005 */ addiu $a0,$zero,0x5 /* f0a916c: 10400025 */ beqz $v0,.L0f0a9204 /* f0a9170: 3c02800a */ lui $v0,0x800a @@ -20532,7 +20532,7 @@ glabel func0f0a8d34 /* f0a91fc: 10000007 */ beqz $zero,.L0f0a921c /* f0a9200: 00000000 */ sll $zero,$zero,0x0 .L0f0a9204: -/* f0a9204: 0fc41b99 */ jal cheatIsEnabled +/* f0a9204: 0fc41b99 */ jal cheatIsActive /* f0a9208: 24040004 */ addiu $a0,$zero,0x4 /* f0a920c: 10400003 */ beqz $v0,.L0f0a921c /* f0a9210: 00000000 */ sll $zero,$zero,0x0 diff --git a/src/game/game_0b0420.c b/src/game/game_0b0420.c index 8dd72be5a..a6c5d6e70 100644 --- a/src/game/game_0b0420.c +++ b/src/game/game_0b0420.c @@ -2167,7 +2167,7 @@ glabel func0f0b1f58 /* f0b1f90: 1000001e */ beqz $zero,.L0f0b200c /* f0b1f94: 24020007 */ addiu $v0,$zero,0x7 .L0f0b1f98: -/* f0b1f98: 0fc41b99 */ jal cheatIsEnabled +/* f0b1f98: 0fc41b99 */ jal cheatIsActive /* f0b1f9c: 2404000f */ addiu $a0,$zero,0xf /* f0b1fa0: 10400003 */ beqz $v0,.L0f0b1fb0 /* f0b1fa4: 3c18800a */ lui $t8,0x800a diff --git a/src/game/game_0b28d0.c b/src/game/game_0b28d0.c index 50ab5b34b..6af7235e3 100644 --- a/src/game/game_0b28d0.c +++ b/src/game/game_0b28d0.c @@ -6555,7 +6555,7 @@ glabel func0f0b802c /* f0b80a8: 44806000 */ mtc1 $zero,$f12 /* f0b80ac: 0fc30884 */ jal func0f0c2210 /* f0b80b0: 00000000 */ sll $zero,$zero,0x0 -/* f0b80b4: 0fc41b99 */ jal cheatIsEnabled +/* f0b80b4: 0fc41b99 */ jal cheatIsActive /* f0b80b8: 2404000d */ addiu $a0,$zero,0xd /* f0b80bc: 10400004 */ beqz $v0,.L0f0b80d0 /* f0b80c0: 3c013f80 */ lui $at,0x3f80 @@ -6563,7 +6563,7 @@ glabel func0f0b802c /* f0b80c8: 0fc30884 */ jal func0f0c2210 /* f0b80cc: 00000000 */ sll $zero,$zero,0x0 .L0f0b80d0: -/* f0b80d0: 0fc41b99 */ jal cheatIsEnabled +/* f0b80d0: 0fc41b99 */ jal cheatIsActive /* f0b80d4: 2404000e */ addiu $a0,$zero,0xe /* f0b80d8: 10400008 */ beqz $v0,.L0f0b80fc /* f0b80dc: 3c013f80 */ lui $at,0x3f80 @@ -7117,7 +7117,7 @@ glabel func0f0b872c /* f0b8898: 24040011 */ addiu $a0,$zero,0x11 /* f0b889c: afa20018 */ sw $v0,0x18($sp) /* f0b88a0: afa70024 */ sw $a3,0x24($sp) -/* f0b88a4: 0fc41b99 */ jal cheatIsEnabled +/* f0b88a4: 0fc41b99 */ jal cheatIsActive /* f0b88a8: afa8001c */ sw $t0,0x1c($sp) /* f0b88ac: 3c03800a */ lui $v1,%hi(g_Vars) /* f0b88b0: 24639fc0 */ addiu $v1,$v1,%lo(g_Vars) @@ -14189,7 +14189,7 @@ glabel func0f0bd904 /* f0bee90: 0fc22eb4 */ jal func0f08bad0 /* f0bee94: 00003825 */ or $a3,$zero,$zero .L0f0bee98: -/* f0bee98: 0fc41b99 */ jal cheatIsEnabled +/* f0bee98: 0fc41b99 */ jal cheatIsActive /* f0bee9c: 24040016 */ addiu $a0,$zero,0x16 /* f0beea0: 10400058 */ beqz $v0,.L0f0bf004 /* f0beea4: 00000000 */ sll $zero,$zero,0x0 @@ -14285,7 +14285,7 @@ glabel func0f0bd904 /* f0beffc: 0fc08166 */ jal chrSetMaxDamage /* f0bf000: 02002025 */ or $a0,$s0,$zero .L0f0bf004: -/* f0bf004: 0fc41b99 */ jal cheatIsEnabled +/* f0bf004: 0fc41b99 */ jal cheatIsActive /* f0bf008: 24040018 */ addiu $a0,$zero,0x18 /* f0bf00c: 1040005e */ beqz $v0,.L0f0bf188 /* f0bf010: 00000000 */ sll $zero,$zero,0x0 @@ -14387,7 +14387,7 @@ glabel func0f0bd904 /* f0bf180: 0fc22eb4 */ jal func0f08bad0 /* f0bf184: 00003825 */ or $a3,$zero,$zero .L0f0bf188: -/* f0bf188: 0fc41b99 */ jal cheatIsEnabled +/* f0bf188: 0fc41b99 */ jal cheatIsActive /* f0bf18c: 24040017 */ addiu $a0,$zero,0x17 /* f0bf190: 10400062 */ beqz $v0,.L0f0bf31c /* f0bf194: 00000000 */ sll $zero,$zero,0x0 @@ -14493,7 +14493,7 @@ glabel func0f0bd904 /* f0bf314: 0fc22eb4 */ jal func0f08bad0 /* f0bf318: 3c071000 */ lui $a3,0x1000 .L0f0bf31c: -/* f0bf31c: 0fc41b99 */ jal cheatIsEnabled +/* f0bf31c: 0fc41b99 */ jal cheatIsActive /* f0bf320: 24040019 */ addiu $a0,$zero,0x19 /* f0bf324: 5040005d */ beqzl $v0,.L0f0bf49c /* f0bf328: 8fae0058 */ lw $t6,0x58($sp) @@ -17050,12 +17050,12 @@ glabel func0f0c17cc /* f0c17e4: 27bdffe8 */ addiu $sp,$sp,-24 /* f0c17e8: 10800005 */ beqz $a0,.L0f0c1800 /* f0c17ec: afbf0014 */ sw $ra,0x14($sp) -/* f0c17f0: 0fc41ba8 */ jal func0f106ea0 +/* f0c17f0: 0fc41ba8 */ jal cheatActivate /* f0c17f4: 24040002 */ addiu $a0,$zero,0x2 /* f0c17f8: 10000004 */ beqz $zero,.L0f0c180c /* f0c17fc: 8fbf0014 */ lw $ra,0x14($sp) .L0f0c1800: -/* f0c1800: 0fc41c71 */ jal func0f1071c4 +/* f0c1800: 0fc41c71 */ jal cheatDeactivate /* f0c1804: 24040002 */ addiu $a0,$zero,0x2 /* f0c1808: 8fbf0014 */ lw $ra,0x14($sp) .L0f0c180c: diff --git a/src/game/game_0c37d0.c b/src/game/game_0c37d0.c index 5154ccdd4..007d64f38 100644 --- a/src/game/game_0c37d0.c +++ b/src/game/game_0c37d0.c @@ -2909,7 +2909,7 @@ glabel func0f0c6080 /* f0c6108: 00000000 */ sll $zero,$zero,0x0 /* f0c610c: ac5919ac */ sw $t9,0x19ac($v0) .L0f0c6110: -/* f0c6110: 0fc41b99 */ jal cheatIsEnabled +/* f0c6110: 0fc41b99 */ jal cheatIsActive /* f0c6114: 2404000a */ addiu $a0,$zero,0xa /* f0c6118: 3c01428a */ lui $at,0x428a /* f0c611c: 44811000 */ mtc1 $at,$f2 @@ -3591,7 +3591,7 @@ glabel func0f0c69b8 /* f0c6a84: 46080002 */ mul.s $f0,$f0,$f8 /* f0c6a88: 00000000 */ sll $zero,$zero,0x0 .L0f0c6a8c: -/* f0c6a8c: 0fc41b99 */ jal cheatIsEnabled +/* f0c6a8c: 0fc41b99 */ jal cheatIsActive /* f0c6a90: e7a000c0 */ swc1 $f0,0xc0($sp) /* f0c6a94: 3c08800a */ lui $t0,%hi(g_Vars) /* f0c6a98: 10400006 */ beqz $v0,.L0f0c6ab4 @@ -3927,7 +3927,7 @@ glabel func0f0c69b8 /* f0c6f60: 460a3202 */ mul.s $f8,$f6,$f10 /* f0c6f64: 46044180 */ add.s $f6,$f8,$f4 /* f0c6f68: 46003082 */ mul.s $f2,$f6,$f0 -/* f0c6f6c: 0fc41b99 */ jal cheatIsEnabled +/* f0c6f6c: 0fc41b99 */ jal cheatIsActive /* f0c6f70: e7a200e0 */ swc1 $f2,0xe0($sp) /* f0c6f74: 3c08800a */ lui $t0,%hi(g_Vars) /* f0c6f78: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) @@ -3956,7 +3956,7 @@ glabel func0f0c69b8 /* f0c6fd0: c46003c0 */ lwc1 $f0,0x3c0($v1) /* f0c6fd4: c46203c8 */ lwc1 $f2,0x3c8($v1) /* f0c6fd8: e7a000dc */ swc1 $f0,0xdc($sp) -/* f0c6fdc: 0fc41b99 */ jal cheatIsEnabled +/* f0c6fdc: 0fc41b99 */ jal cheatIsActive /* f0c6fe0: e7a200d8 */ swc1 $f2,0xd8($sp) /* f0c6fe4: 3c08800a */ lui $t0,%hi(g_Vars) /* f0c6fe8: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) diff --git a/src/game/game_0c79f0.c b/src/game/game_0c79f0.c index e92d8f209..b5adf0bd7 100644 --- a/src/game/game_0c79f0.c +++ b/src/game/game_0c79f0.c @@ -5317,7 +5317,7 @@ glabel func0f0cc19c /* f0cc264: 46043200 */ add.s $f8,$f6,$f4 /* f0cc268: e4480380 */ swc1 $f8,0x380($v0) .L0f0cc26c: -/* f0cc26c: 0fc41b99 */ jal cheatIsEnabled +/* f0cc26c: 0fc41b99 */ jal cheatIsActive /* f0cc270: 2404000a */ addiu $a0,$zero,0xa /* f0cc274: 3c05800a */ lui $a1,%hi(g_Vars) /* f0cc278: 10400040 */ beqz $v0,.L0f0cc37c @@ -8183,7 +8183,7 @@ glabel func0f0ce924 /* f0ceb48: c44003c0 */ lwc1 $f0,0x3c0($v0) /* f0ceb4c: c44203c8 */ lwc1 $f2,0x3c8($v0) /* f0ceb50: e7a00084 */ swc1 $f0,0x84($sp) -/* f0ceb54: 0fc41b99 */ jal cheatIsEnabled +/* f0ceb54: 0fc41b99 */ jal cheatIsActive /* f0ceb58: e7a20080 */ swc1 $f2,0x80($sp) /* f0ceb5c: 3c08800a */ lui $t0,%hi(g_Vars) /* f0ceb60: 25089fc0 */ addiu $t0,$t0,%lo(g_Vars) diff --git a/src/game/game_10ccd0.c b/src/game/game_10ccd0.c index c01732a9b..800b07f7e 100644 --- a/src/game/game_10ccd0.c +++ b/src/game/game_10ccd0.c @@ -3396,7 +3396,7 @@ glabel func0f10fac8 /* f10fb60: 3c01800a */ lui $at,0x800a /* f10fb64: 144000c7 */ bnez $v0,.L0f10fe84 /* f10fb68: ac2221f8 */ sw $v0,0x21f8($at) -/* f10fb6c: 0fc41d3b */ jal func0f1074ec +/* f10fb6c: 0fc41d3b */ jal cheatsDisableAll /* f10fb70: 00000000 */ sll $zero,$zero,0x0 /* f10fb74: 3c05800a */ lui $a1,%hi(var800a2200) /* f10fb78: 24a52200 */ addiu $a1,$a1,%lo(var800a2200) diff --git a/src/game/game_111600.c b/src/game/game_111600.c index d9fd10972..13ec2c5b2 100644 --- a/src/game/game_111600.c +++ b/src/game/game_111600.c @@ -789,7 +789,7 @@ glabel func0f111fcc /* f111fcc: 27bdffe8 */ addiu $sp,$sp,-24 /* f111fd0: afbf0014 */ sw $ra,0x14($sp) /* f111fd4: afa40018 */ sw $a0,0x18($sp) -/* f111fd8: 0fc41b99 */ jal cheatIsEnabled +/* f111fd8: 0fc41b99 */ jal cheatIsActive /* f111fdc: 24040015 */ addiu $a0,$zero,0x15 /* f111fe0: 1040000e */ beqz $v0,.L0f11201c /* f111fe4: 8fa30018 */ lw $v1,0x18($sp) @@ -890,7 +890,7 @@ glabel func0f1120f0 /* f112128: 9050005c */ lbu $s0,0x5c($v0) /* f11212c: afa0002c */ sw $zero,0x2c($sp) /* f112130: afa20028 */ sw $v0,0x28($sp) -/* f112134: 0fc41b99 */ jal cheatIsEnabled +/* f112134: 0fc41b99 */ jal cheatIsActive /* f112138: afa20024 */ sw $v0,0x24($sp) /* f11213c: 10400006 */ beqz $v0,.L0f112158 /* f112140: 8fa7002c */ lw $a3,0x2c($sp) diff --git a/src/game/game_11ecf0.c b/src/game/game_11ecf0.c index 36fd5a558..83ff0cf29 100644 --- a/src/game/game_11ecf0.c +++ b/src/game/game_11ecf0.c @@ -10406,7 +10406,7 @@ glabel func0f127ae4 /* f128534: af201874 */ sw $zero,0x1874($t9) /* f128538: 8c6f0064 */ lw $t7,0x64($v1) /* f12853c: e5e018f4 */ swc1 $f0,0x18f4($t7) -/* f128540: 0fc41b99 */ jal cheatIsEnabled +/* f128540: 0fc41b99 */ jal cheatIsActive /* f128544: afa3001c */ sw $v1,0x1c($sp) /* f128548: 8fa3001c */ lw $v1,0x1c($sp) /* f12854c: 24040007 */ addiu $a0,$zero,0x7 diff --git a/src/game/game_1668e0.c b/src/game/game_1668e0.c index 463372557..3a33ebddb 100644 --- a/src/game/game_1668e0.c +++ b/src/game/game_1668e0.c @@ -1843,7 +1843,7 @@ glabel func0f167e7c /* f167eb4: ae0e04d8 */ sw $t6,0x4d8($s0) /* f167eb8: a20004d1 */ sb $zero,0x4d1($s0) /* f167ebc: a20004d0 */ sb $zero,0x4d0($s0) -/* f167ec0: 0fc41d44 */ jal func0f107510 +/* f167ec0: 0fc41d44 */ jal cheatsActivate /* f167ec4: ae0f04b4 */ sw $t7,0x4b4($s0) /* f167ec8: 24180001 */ addiu $t8,$zero,0x1 /* f167ecc: 3c018008 */ lui $at,0x8008 @@ -5865,7 +5865,7 @@ glabel func0f16b854 /* f16b900: 10000016 */ beqz $zero,.L0f16b95c /* f16b904: 24020002 */ addiu $v0,$zero,0x2 .L0f16b908: -/* f16b908: 0fc41b99 */ jal cheatIsEnabled +/* f16b908: 0fc41b99 */ jal cheatIsActive /* f16b90c: 24040006 */ addiu $a0,$zero,0x6 /* f16b910: 10400003 */ beqz $v0,.L0f16b920 /* f16b914: 00000000 */ sll $zero,$zero,0x0 diff --git a/src/game/game_187770.c b/src/game/game_187770.c index a08054851..313597dd5 100644 --- a/src/game/game_187770.c +++ b/src/game/game_187770.c @@ -10206,7 +10206,7 @@ glabel func0f190060 /* f1900ec: 31f80040 */ andi $t8,$t7,0x40 /* f1900f0: 5700000a */ bnezl $t8,.L0f19011c /* f1900f4: c6040008 */ lwc1 $f4,0x8($s0) -/* f1900f8: 0fc41b99 */ jal cheatIsEnabled +/* f1900f8: 0fc41b99 */ jal cheatIsActive /* f1900fc: 2404001a */ addiu $a0,$zero,0x1a /* f190100: 50400046 */ beqzl $v0,.L0f19021c /* f190104: 8e100020 */ lw $s0,0x20($s0) diff --git a/src/gvars/gvars.c b/src/gvars/gvars.c index 234dfeed3..6338bf487 100644 --- a/src/gvars/gvars.c +++ b/src/gvars/gvars.c @@ -20314,10 +20314,10 @@ u32 var800a21c0 = 0; u32 var800a21c4 = 0; u32 var800a21c8 = 0; u32 var800a21cc = 0; +u32 g_CheatsActiveBank0 = 0; +u32 g_CheatsActiveBank1 = 0; u32 g_CheatsEnabledBank0 = 0; u32 g_CheatsEnabledBank1 = 0; -u32 var800a21d8 = 0; -u32 var800a21dc = 0; u32 var800a21e0 = 0; u32 var800a21e4 = 0; u32 var800a21e8 = 0; diff --git a/src/include/constants.h b/src/include/constants.h index b9ec91483..7fdd3c850 100644 --- a/src/include/constants.h +++ b/src/include/constants.h @@ -138,11 +138,13 @@ #define CHEAT_DMC 39 #define CHEAT_AR53 40 #define CHEAT_RCP45 41 +#define NUM_CHEATS 42 -#define CHEATMETHOD_TIMED 0 -#define CHEATMETHOD_TRANSFERPAK 2 -#define CHEATMETHOD_COMPLETE 4 -#define CHEATMETHOD_FIRINGRANGE 8 +#define CHEATFLAG_TIMED 0 +#define CHEATFLAG_ALWAYSON 1 +#define CHEATFLAG_TRANSFERPAK 2 +#define CHEATFLAG_COMPLETION 4 +#define CHEATFLAG_FIRINGRANGE 8 #define CHR_P1P2_OPPOSITE 0xf1 #define CHR_P1P2 0xf2 @@ -478,6 +480,9 @@ #define MA_FACING 53 #define MA_PUNCHING 54 +#define MENUOP_SET 6 +#define MENUOP_GET 8 + // Object flags - bank 0 (object struct offset 0x08) #define OBJECTFLAG0_00000001 0x00000001 // Not used in scripts #define OBJECTFLAG0_00000002 0x00000002 // Not used in scripts diff --git a/src/include/game/cheats.h b/src/include/game/cheats.h index c9341c182..140d48418 100644 --- a/src/include/game/cheats.h +++ b/src/include/game/cheats.h @@ -4,20 +4,20 @@ #include "types.h" bool cheatIsUnlocked(s32 cheat_id); -bool cheatIsEnabled(s32 cheat_id); -u32 func0f106ea0(void); -u32 func0f1071c4(void); -void func0f1074ec(void); -u32 func0f107510(void); +bool cheatIsActive(s32 cheat_id); +void cheatActivate(s32 cheat_id); +void cheatDeactivate(s32 cheat_id); +void cheatsDisableAll(void); +void cheatsActivate(void); char *cheatGetNameIfUnlocked(struct menu_item *item); char *cheatGetMarquee(struct menu_item *item); s32 cheatGetByTimedStageIndex(s32 stage_index, s32 difficulty); s32 cheatGetByCompletedStageIndex(s32 stage_index); s32 cheatGetTime(s32 cheat_id); char *cheatGetName(s32 cheat_id); -s32 menudialog00107990(u32, u32, u32 *); -s32 menuhandlerCheat(u32 arg0, struct menu_item *item, s32 arg2); -s32 menuhandlerCheatBuddy(s32 arg0, struct menu_item *item, s32 arg2); -bool menuhandlerTurnOffAllCheats(u32 arg0, u32 arg1, u32 *arg2); +s32 cheatMenuHandleDialog(u32, u32, u32 *); +s32 cheatMenuHandleCheatCheckbox(u32 arg0, struct menu_item *item, s32 arg2); +s32 cheatMenuHandleBuddyCheckbox(s32 arg0, struct menu_item *item, s32 arg2); +bool cheatMenuHandleTurnOffAllCheats(u32 arg0, u32 arg1, u32 *arg2); #endif diff --git a/src/include/gvars/gvars.h b/src/include/gvars/gvars.h index b1c5a1981..31fdb5124 100644 --- a/src/include/gvars/gvars.h +++ b/src/include/gvars/gvars.h @@ -691,10 +691,10 @@ extern u32 var800a21b0; extern u32 var800a21b4; extern u32 var800a21b8; extern u32 var800a21c0; +extern u32 g_CheatsActiveBank0; +extern u32 g_CheatsActiveBank1; extern u32 g_CheatsEnabledBank0; extern u32 g_CheatsEnabledBank1; -extern u32 var800a21d8; -extern u32 var800a21dc; extern u32 var800a21e0; extern u32 var800a21e8; extern u32 var800a21f0; diff --git a/src/include/setup/setup_0160b0.h b/src/include/setup/setup_0160b0.h index 23b3a60e5..7da918f0a 100644 --- a/src/include/setup/setup_0160b0.h +++ b/src/include/setup/setup_0160b0.h @@ -206,7 +206,7 @@ extern u16 mainmenulabels_nocheats[]; extern u16 mainmenulabels_withcheats[]; extern struct menu_dialog menudialog_mainmenu; extern struct menu_dialog menudialog_mainmenu2; -extern struct cheatspec g_CheatSpecs[]; +extern struct cheat g_Cheats[]; extern struct menu_item menuitems_cheats_buddies[]; extern struct menu_dialog menudialog_cheats_buddies; extern u16 iomessages[]; diff --git a/src/include/types.h b/src/include/types.h index 732ef48a3..711dd085b 100644 --- a/src/include/types.h +++ b/src/include/types.h @@ -2603,12 +2603,12 @@ struct cutscenegroup { u16 namefileid; }; -struct cheatspec { +struct cheat { u16 nametextid; u16 time; u8 stage_index; u8 difficulty; - u8 method; + u8 flags; }; struct bodytableentry { diff --git a/src/library/library_0d520.c b/src/library/library_0d520.c index ca4e52ab7..374cf9464 100644 --- a/src/library/library_0d520.c +++ b/src/library/library_0d520.c @@ -497,7 +497,7 @@ glabel func0000d520 /* d9e4: 00000000 */ sll $zero,$zero,0x0 /* d9e8: 0fc59ebe */ jal func0f167af8 /* d9ec: 00000000 */ sll $zero,$zero,0x0 -/* d9f0: 0fc41d3b */ jal func0f1074ec +/* d9f0: 0fc41d3b */ jal cheatsDisableAll /* d9f4: 00000000 */ sll $zero,$zero,0x0 /* d9f8: 0c003a70 */ jal func0000e9c0 /* d9fc: 00000000 */ sll $zero,$zero,0x0 diff --git a/src/setup/setup_0160b0.c b/src/setup/setup_0160b0.c index 927020285..3f61715a6 100644 --- a/src/setup/setup_0160b0.c +++ b/src/setup/setup_0160b0.c @@ -2960,50 +2960,50 @@ struct menu_dialog menudialog_mainmenu2 = { u32 var80073a8c = 0x00000000; // 19ab0 -struct cheatspec g_CheatSpecs[] = { - // name, time, stage index, difficulty, method - { 0x544b, 123, 2, DIFF_A, CHEATMETHOD_TIMED | CHEATMETHOD_TRANSFERPAK }, // Hurricane Fists - { 0x544c, 100, 5, DIFF_A, CHEATMETHOD_TIMED | CHEATMETHOD_TRANSFERPAK }, // Cloaking Device - { 0x544d, 230, 8, DIFF_A, CHEATMETHOD_TIMED }, // Invincible - { 0x544e, 331, 16, DIFF_PA, CHEATMETHOD_TIMED | CHEATMETHOD_TRANSFERPAK }, // All Guns in Solo - { 0x544f, 427, 12, DIFF_SA, CHEATMETHOD_TIMED }, // Unlimited Ammo - { 0x5450, 191, 9, DIFF_SA, CHEATMETHOD_TIMED }, // Unlimited Ammo, No Reloads - { 0x5451, 0, 1, DIFF_A, CHEATMETHOD_COMPLETE }, // Slo-mo Single Player - { 0x5452, 0, 4, DIFF_A, CHEATMETHOD_COMPLETE }, // DK Mode - { 0x5453, 170, 11, DIFF_A, CHEATMETHOD_TIMED }, // Trent's Magnum - { 0x5454, 447, 13, DIFF_PA, CHEATMETHOD_TIMED }, // FarSight - { 0x5455, 0, 5, DIFF_A, CHEATMETHOD_COMPLETE }, // Small Jo - { 0x5456, 0, 6, DIFF_A, CHEATMETHOD_COMPLETE }, // Small Characters - { 0x5457, 0, 14, DIFF_A, CHEATMETHOD_COMPLETE }, // Enemy Shields - { 0x5458, 0, 13, DIFF_A, CHEATMETHOD_COMPLETE }, // Jo Shield - { 0x5459, 105, 14, DIFF_A, CHEATMETHOD_TIMED }, // Super Shield - { 0x545a, 0, 0, DIFF_A, CHEATMETHOD_COMPLETE }, // Classic Sight - { 0x545b, 0, 9, DIFF_A, CHEATMETHOD_COMPLETE }, // Team Heads Only - { 0x545c, 479, 7, DIFF_PA, CHEATMETHOD_TIMED }, // Play as Elvis - { 0x545d, 0, 12, DIFF_A, CHEATMETHOD_COMPLETE }, // Enemy Rockets - { 0x545e, 235, 10, DIFF_PA, CHEATMETHOD_TIMED }, // Unlimited Ammo - Laptop Sentry Gun - { 0x545f, 90, 0, DIFF_SA, CHEATMETHOD_TIMED }, // Marquis of Queensbury Rules - { 0x5460, 0, 11, DIFF_A, CHEATMETHOD_COMPLETE }, // Perfect Darkness - { 0x5461, 390, 1, DIFF_PA, CHEATMETHOD_TIMED }, // Pugilist - { 0x5462, 300, 6, DIFF_SA, CHEATMETHOD_TIMED }, // Hotshot - { 0x5463, 150, 3, DIFF_SA, CHEATMETHOD_TIMED }, // Hit and Run - { 0x5464, 317, 15, DIFF_SA, CHEATMETHOD_TIMED }, // Alien - { 0x5465, 0, 16, DIFF_A, CHEATMETHOD_COMPLETE | CHEATMETHOD_TRANSFERPAK }, // R-Tracker/Weapon Cache Locations - { 0x5466, 0, 2, DIFF_A, CHEATMETHOD_COMPLETE }, // Rocket Launcher - { 0x5467, 0, 3, DIFF_A, CHEATMETHOD_COMPLETE }, // Sniper Rifle - { 0x5468, 0, 7, DIFF_A, CHEATMETHOD_COMPLETE }, // X-Ray Scanner - { 0x5469, 0, 8, DIFF_A, CHEATMETHOD_COMPLETE }, // SuperDragon - { 0x546a, 0, 10, DIFF_A, CHEATMETHOD_COMPLETE }, // Laptop Gun - { 0x546b, 0, 15, DIFF_A, CHEATMETHOD_COMPLETE }, // Phoenix - { 0x546c, 120, 4, DIFF_PA, CHEATMETHOD_TIMED }, // Psychosis Gun - { 0x546d, 36, 0, DIFF_A, CHEATMETHOD_FIRINGRANGE }, // PP9i - { 0x546e, 37, 0, DIFF_A, CHEATMETHOD_FIRINGRANGE }, // CC13 - { 0x546f, 38, 0, DIFF_A, CHEATMETHOD_FIRINGRANGE }, // KLO1313 - { 0x5470, 39, 0, DIFF_A, CHEATMETHOD_FIRINGRANGE }, // KF7 Special - { 0x5471, 40, 0, DIFF_A, CHEATMETHOD_FIRINGRANGE }, // ZZT (9mm) - { 0x5472, 41, 0, DIFF_A, CHEATMETHOD_FIRINGRANGE }, // DMC - { 0x5473, 42, 0, DIFF_A, CHEATMETHOD_FIRINGRANGE }, // AR53 - { 0x5474, 43, 0, DIFF_A, CHEATMETHOD_FIRINGRANGE }, // RC-P45 +struct cheat g_Cheats[] = { + // name, time, stage index, difficulty, flags + { 0x544b, 123, 2, DIFF_A, CHEATFLAG_TIMED | CHEATFLAG_TRANSFERPAK }, // Hurricane Fists + { 0x544c, 100, 5, DIFF_A, CHEATFLAG_TIMED | CHEATFLAG_TRANSFERPAK }, // Cloaking Device + { 0x544d, 230, 8, DIFF_A, CHEATFLAG_TIMED }, // Invincible + { 0x544e, 331, 16, DIFF_PA, CHEATFLAG_TIMED | CHEATFLAG_TRANSFERPAK }, // All Guns in Solo + { 0x544f, 427, 12, DIFF_SA, CHEATFLAG_TIMED }, // Unlimited Ammo + { 0x5450, 191, 9, DIFF_SA, CHEATFLAG_TIMED }, // Unlimited Ammo, No Reloads + { 0x5451, 0, 1, DIFF_A, CHEATFLAG_COMPLETION }, // Slo-mo Single Player + { 0x5452, 0, 4, DIFF_A, CHEATFLAG_COMPLETION }, // DK Mode + { 0x5453, 170, 11, DIFF_A, CHEATFLAG_TIMED }, // Trent's Magnum + { 0x5454, 447, 13, DIFF_PA, CHEATFLAG_TIMED }, // FarSight + { 0x5455, 0, 5, DIFF_A, CHEATFLAG_COMPLETION }, // Small Jo + { 0x5456, 0, 6, DIFF_A, CHEATFLAG_COMPLETION }, // Small Characters + { 0x5457, 0, 14, DIFF_A, CHEATFLAG_COMPLETION }, // Enemy Shields + { 0x5458, 0, 13, DIFF_A, CHEATFLAG_COMPLETION }, // Jo Shield + { 0x5459, 105, 14, DIFF_A, CHEATFLAG_TIMED }, // Super Shield + { 0x545a, 0, 0, DIFF_A, CHEATFLAG_COMPLETION }, // Classic Sight + { 0x545b, 0, 9, DIFF_A, CHEATFLAG_COMPLETION }, // Team Heads Only + { 0x545c, 479, 7, DIFF_PA, CHEATFLAG_TIMED }, // Play as Elvis + { 0x545d, 0, 12, DIFF_A, CHEATFLAG_COMPLETION }, // Enemy Rockets + { 0x545e, 235, 10, DIFF_PA, CHEATFLAG_TIMED }, // Unlimited Ammo - Laptop Sentry Gun + { 0x545f, 90, 0, DIFF_SA, CHEATFLAG_TIMED }, // Marquis of Queensbury Rules + { 0x5460, 0, 11, DIFF_A, CHEATFLAG_COMPLETION }, // Perfect Darkness + { 0x5461, 390, 1, DIFF_PA, CHEATFLAG_TIMED }, // Pugilist + { 0x5462, 300, 6, DIFF_SA, CHEATFLAG_TIMED }, // Hotshot + { 0x5463, 150, 3, DIFF_SA, CHEATFLAG_TIMED }, // Hit and Run + { 0x5464, 317, 15, DIFF_SA, CHEATFLAG_TIMED }, // Alien + { 0x5465, 0, 16, DIFF_A, CHEATFLAG_COMPLETION | CHEATFLAG_TRANSFERPAK }, // R-Tracker/Weapon Cache Locations + { 0x5466, 0, 2, DIFF_A, CHEATFLAG_COMPLETION }, // Rocket Launcher + { 0x5467, 0, 3, DIFF_A, CHEATFLAG_COMPLETION }, // Sniper Rifle + { 0x5468, 0, 7, DIFF_A, CHEATFLAG_COMPLETION }, // X-Ray Scanner + { 0x5469, 0, 8, DIFF_A, CHEATFLAG_COMPLETION }, // SuperDragon + { 0x546a, 0, 10, DIFF_A, CHEATFLAG_COMPLETION }, // Laptop Gun + { 0x546b, 0, 15, DIFF_A, CHEATFLAG_COMPLETION }, // Phoenix + { 0x546c, 120, 4, DIFF_PA, CHEATFLAG_TIMED }, // Psychosis Gun + { 0x546d, 36, 0, DIFF_A, CHEATFLAG_FIRINGRANGE }, // PP9i + { 0x546e, 37, 0, DIFF_A, CHEATFLAG_FIRINGRANGE }, // CC13 + { 0x546f, 38, 0, DIFF_A, CHEATFLAG_FIRINGRANGE }, // KLO1313 + { 0x5470, 39, 0, DIFF_A, CHEATFLAG_FIRINGRANGE }, // KF7 Special + { 0x5471, 40, 0, DIFF_A, CHEATFLAG_FIRINGRANGE }, // ZZT (9mm) + { 0x5472, 41, 0, DIFF_A, CHEATFLAG_FIRINGRANGE }, // DMC + { 0x5473, 42, 0, DIFF_A, CHEATFLAG_FIRINGRANGE }, // AR53 + { 0x5474, 43, 0, DIFF_A, CHEATFLAG_FIRINGRANGE }, // RC-P45 }; // 19c00 @@ -3026,12 +3026,12 @@ struct menu_dialog menudialog_cheatwarning = { // 19c68 struct menu_item menuitems_cheats_fun[] = { - { MENUITEMTYPE_CHECKBOX, 7, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheat }, - { MENUITEMTYPE_CHECKBOX, 10, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheat }, - { MENUITEMTYPE_CHECKBOX, 11, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheat }, - { MENUITEMTYPE_CHECKBOX, 16, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheat }, - { MENUITEMTYPE_CHECKBOX, 17, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheat }, - { MENUITEMTYPE_CHECKBOX, 6, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheat }, + { MENUITEMTYPE_CHECKBOX, 7, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, 10, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, 11, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, 16, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, 17, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, 6, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL }, { MENUITEMTYPE_MARQUEE, 0, 0x00000a00, (u32) &cheatGetMarquee, 0x00000000, NULL }, { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL }, @@ -3044,21 +3044,21 @@ struct menu_dialog menudialog_cheats_fun = { MENUDIALOGTYPE_DEFAULT, 0x5476, // "Fun" menuitems_cheats_fun, - menudialog00107990, + cheatMenuHandleDialog, 0x00000000, NULL, }; // 19d5c struct menu_item menuitems_cheats_gameplay[] = { - { MENUITEMTYPE_CHECKBOX, 2, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheat }, - { MENUITEMTYPE_CHECKBOX, 1, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheat }, - { MENUITEMTYPE_CHECKBOX, 20, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheat }, - { MENUITEMTYPE_CHECKBOX, 13, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheat }, - { MENUITEMTYPE_CHECKBOX, 14, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheat }, - { MENUITEMTYPE_CHECKBOX, 12, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheat }, - { MENUITEMTYPE_CHECKBOX, 18, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheat }, - { MENUITEMTYPE_CHECKBOX, 21, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheat }, + { MENUITEMTYPE_CHECKBOX, 2, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, 1, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, 20, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, 13, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, 14, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, 12, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, 18, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, 21, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL }, { MENUITEMTYPE_MARQUEE, 0, 0x00000a00, (u32) &cheatGetMarquee, 0x00000000, NULL }, { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL }, @@ -3071,21 +3071,21 @@ struct menu_dialog menudialog_cheats_gameplay = { MENUDIALOGTYPE_DEFAULT, 0x5477, // "Gameplay" menuitems_cheats_gameplay, - menudialog00107990, + cheatMenuHandleDialog, 0x00000000, NULL, }; // 19e78 struct menu_item menuitems_cheats_soloweapons[] = { - { MENUITEMTYPE_CHECKBOX, 27, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheat }, - { MENUITEMTYPE_CHECKBOX, 28, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheat }, - { MENUITEMTYPE_CHECKBOX, 30, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheat }, - { MENUITEMTYPE_CHECKBOX, 31, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheat }, - { MENUITEMTYPE_CHECKBOX, 32, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheat }, - { MENUITEMTYPE_CHECKBOX, 33, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheat }, - { MENUITEMTYPE_CHECKBOX, 8, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheat }, - { MENUITEMTYPE_CHECKBOX, 9, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheat }, + { MENUITEMTYPE_CHECKBOX, 27, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, 28, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, 30, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, 31, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, 32, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, 33, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, 8, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, 9, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL }, { MENUITEMTYPE_MARQUEE, 0, 0x00000a00, (u32) &cheatGetMarquee, 0x00000000, NULL }, { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL }, @@ -3098,21 +3098,21 @@ struct menu_dialog menudialog_cheats_soloweapons = { MENUDIALOGTYPE_DEFAULT, 0x547a, // "Weapons for Jo in Solo" menuitems_cheats_soloweapons, - menudialog00107990, + cheatMenuHandleDialog, 0x00000000, NULL, }; // 19f94 struct menu_item menuitems_cheats_classicweapons[] = { - { MENUITEMTYPE_CHECKBOX, 34, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheat }, - { MENUITEMTYPE_CHECKBOX, 35, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheat }, - { MENUITEMTYPE_CHECKBOX, 36, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheat }, - { MENUITEMTYPE_CHECKBOX, 37, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheat }, - { MENUITEMTYPE_CHECKBOX, 38, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheat }, - { MENUITEMTYPE_CHECKBOX, 39, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheat }, - { MENUITEMTYPE_CHECKBOX, 40, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheat }, - { MENUITEMTYPE_CHECKBOX, 41, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheat }, + { MENUITEMTYPE_CHECKBOX, 34, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, 35, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, 36, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, 37, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, 38, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, 39, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, 40, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, 41, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x000000c8, 0x00000000, NULL }, { MENUITEMTYPE_MARQUEE, 0, 0x00000a00, 0x00005490, 0x00000000, NULL }, { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x000000c8, 0x00000000, NULL }, @@ -3125,21 +3125,21 @@ struct menu_dialog menudialog_cheats_classicweapons = { MENUDIALOGTYPE_DEFAULT, 0x547b, // "Classic Weapons for Jo in Solo" menuitems_cheats_classicweapons, - menudialog00107990, + cheatMenuHandleDialog, 0x00000000, NULL, }; // 1a0b0 struct menu_item menuitems_cheats_weapons[] = { - { MENUITEMTYPE_CHECKBOX, 15, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheat }, - { MENUITEMTYPE_CHECKBOX, 19, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheat }, - { MENUITEMTYPE_CHECKBOX, 0, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheat }, - { MENUITEMTYPE_CHECKBOX, 4, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheat }, - { MENUITEMTYPE_CHECKBOX, 5, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheat }, - { MENUITEMTYPE_CHECKBOX, 29, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheat }, - { MENUITEMTYPE_CHECKBOX, 26, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheat }, - { MENUITEMTYPE_CHECKBOX, 3, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheat }, + { MENUITEMTYPE_CHECKBOX, 15, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, 19, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, 0, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, 4, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, 5, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, 29, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, 26, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, + { MENUITEMTYPE_CHECKBOX, 3, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleCheatCheckbox }, { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL }, { MENUITEMTYPE_MARQUEE, 0, 0x00000a00, (u32) &cheatGetMarquee, 0x00000000, NULL }, { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL }, @@ -3152,18 +3152,18 @@ struct menu_dialog menudialog_cheats_weapons = { MENUDIALOGTYPE_DEFAULT, 0x5478, // "Weapons" menuitems_cheats_weapons, - menudialog00107990, + cheatMenuHandleDialog, 0x00000000, NULL, }; // 1a1cc struct menu_item menuitems_cheats_buddies[] = { - { MENUITEMTYPE_CHECKBOX, 0, 0x00000000, 0x00005475, 0x00000000, menuhandlerCheatBuddy }, // "Velvet Dark" - { MENUITEMTYPE_CHECKBOX, 22, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheatBuddy }, - { MENUITEMTYPE_CHECKBOX, 23, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheatBuddy }, - { MENUITEMTYPE_CHECKBOX, 24, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheatBuddy }, - { MENUITEMTYPE_CHECKBOX, 25, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, menuhandlerCheatBuddy }, + { MENUITEMTYPE_CHECKBOX, 0, 0x00000000, 0x00005475, 0x00000000, cheatMenuHandleBuddyCheckbox }, // "Velvet Dark" + { MENUITEMTYPE_CHECKBOX, 22, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleBuddyCheckbox }, + { MENUITEMTYPE_CHECKBOX, 23, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleBuddyCheckbox }, + { MENUITEMTYPE_CHECKBOX, 24, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleBuddyCheckbox }, + { MENUITEMTYPE_CHECKBOX, 25, 0x00000000, (u32) &cheatGetNameIfUnlocked, 0x00000000, cheatMenuHandleBuddyCheckbox }, { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL }, { MENUITEMTYPE_MARQUEE, 0, 0x00000a00, (u32) &cheatGetMarquee, 0x00000000, NULL }, { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL }, @@ -3176,7 +3176,7 @@ struct menu_dialog menudialog_cheats_buddies = { MENUDIALOGTYPE_DEFAULT, 0x5479, // "Buddies" menuitems_cheats_buddies, - menudialog00107990, + cheatMenuHandleDialog, 0x00000000, NULL, }; @@ -3190,7 +3190,7 @@ struct menu_item menuitems_cheats[] = { { MENUITEMTYPE_SELECTABLE, 0, 0x00000004, 0x00005478, 0x00000000, &menudialog_cheats_weapons }, // "Weapons" { MENUITEMTYPE_SELECTABLE, 0, 0x00000004, 0x00005479, 0x00000000, &menudialog_cheats_buddies }, // "Buddies" { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL }, - { MENUITEMTYPE_SELECTABLE, 0, 0x00000000, 0x000054d9, 0x00000000, menuhandlerTurnOffAllCheats }, // "Turn of all Cheats" + { MENUITEMTYPE_SELECTABLE, 0, 0x00000000, 0x000054d9, 0x00000000, cheatMenuHandleTurnOffAllCheats }, // "Turn of all Cheats" { MENUITEMTYPE_SEPARATOR, 0, 0x00000000, 0x00000096, 0x00000000, NULL }, { MENUITEMTYPE_SELECTABLE, 0, 0x00000028, 0x000051dd, 0x00000000, NULL }, // "Done" { MENUITEMTYPE_END, 0, 0x00000000, 0x00000000, 0x00000000, NULL }, @@ -3201,7 +3201,7 @@ struct menu_dialog menudialog_cheats = { MENUDIALOGTYPE_DEFAULT, 0x51dc, // "Cheats" menuitems_cheats, - menudialog00107990, + cheatMenuHandleDialog, 0x00000000, NULL, };