From 6c6ffb7050005262087900838c223373d03cbf91 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Thu, 26 Dec 2019 12:16:52 +1000 Subject: [PATCH] Decompile cheatGetTime --- src/game/game_106d40.c | 32 ++++++++++++++------------------ src/game/game_10ccd0.c | 6 +++--- src/include/game/game_106d40.h | 2 +- src/include/setup/setup_0160b0.h | 2 +- src/setup/setup_0160b0.c | 2 +- 5 files changed, 20 insertions(+), 24 deletions(-) diff --git a/src/game/game_106d40.c b/src/game/game_106d40.c index cdc975ff4..c06e99c1e 100644 --- a/src/game/game_106d40.c +++ b/src/game/game_106d40.c @@ -24,8 +24,8 @@ const char var7f1b2efc[] = ""; GLOBAL_ASM( glabel func0f106d40 -/* f106d40: 3c0f8007 */ lui $t7,%hi(cheatspecs) -/* f106d44: 25ef3a90 */ addiu $t7,$t7,%lo(cheatspecs) +/* f106d40: 3c0f8007 */ lui $t7,%hi(g_CheatSpecs) +/* f106d44: 25ef3a90 */ addiu $t7,$t7,%lo(g_CheatSpecs) /* f106d48: 000470c0 */ sll $t6,$a0,0x3 /* f106d4c: 01cf1821 */ addu $v1,$t6,$t7 /* f106d50: 90660006 */ lbu $a2,0x6($v1) @@ -654,8 +654,8 @@ glabel func0f107510 /* f1075c0: ae400000 */ sw $zero,0x0($s2) /* f1075c4: ae600000 */ sw $zero,0x0($s3) .L0f1075c8: -/* f1075c8: 3c118007 */ lui $s1,%hi(cheatspecs) -/* f1075cc: 26313a90 */ addiu $s1,$s1,%lo(cheatspecs) +/* 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: @@ -1103,8 +1103,8 @@ glabel func0f107a78 /* f107be0: 100000a7 */ beqz $zero,.L0f107e80 /* f107be4: 2442dec0 */ addiu $v0,$v0,%lo(var8009dec0) .L0f107be8: -/* f107be8: 3c0c8007 */ lui $t4,%hi(cheatspecs) -/* f107bec: 258c3a90 */ addiu $t4,$t4,%lo(cheatspecs) +/* f107be8: 3c0c8007 */ lui $t4,%hi(g_CheatSpecs) +/* f107bec: 258c3a90 */ addiu $t4,$t4,%lo(g_CheatSpecs) /* f107bf0: 000950c0 */ sll $t2,$t1,0x3 /* f107bf4: 014c1021 */ addu $v0,$t2,$t4 /* f107bf8: 94440000 */ lhu $a0,0x0($v0) @@ -1303,8 +1303,8 @@ glabel menuhandlerTurnOffAllCheats GLOBAL_ASM( glabel func0f107eb8 -/* f107eb8: 3c028007 */ lui $v0,%hi(cheatspecs) -/* f107ebc: 24423a90 */ addiu $v0,$v0,%lo(cheatspecs) +/* f107eb8: 3c028007 */ lui $v0,%hi(g_CheatSpecs) +/* f107ebc: 24423a90 */ addiu $v0,$v0,%lo(g_CheatSpecs) /* f107ec0: 00001825 */ or $v1,$zero,$zero /* f107ec4: 2407002a */ addiu $a3,$zero,0x2a .L0f107ec8: @@ -1334,8 +1334,8 @@ glabel func0f107eb8 GLOBAL_ASM( glabel func0f107f18 -/* f107f18: 3c028007 */ lui $v0,%hi(cheatspecs) -/* f107f1c: 24423a90 */ addiu $v0,$v0,%lo(cheatspecs) +/* f107f18: 3c028007 */ lui $v0,%hi(g_CheatSpecs) +/* f107f1c: 24423a90 */ addiu $v0,$v0,%lo(g_CheatSpecs) /* f107f20: 00001825 */ or $v1,$zero,$zero /* f107f24: 2405002a */ addiu $a1,$zero,0x2a .L0f107f28: @@ -1357,14 +1357,10 @@ glabel func0f107f18 /* f107f60: 00000000 */ sll $zero,$zero,0x0 ); -GLOBAL_ASM( -glabel func0f107f64 -/* f107f64: 000470c0 */ sll $t6,$a0,0x3 -/* f107f68: 3c028007 */ lui $v0,0x8007 -/* f107f6c: 004e1021 */ addu $v0,$v0,$t6 -/* f107f70: 03e00008 */ jr $ra -/* f107f74: 94423a92 */ lhu $v0,0x3a92($v0) -); +s32 cheatGetTime(s32 cheat_id) +{ + return g_CheatSpecs[cheat_id].time; +} GLOBAL_ASM( glabel func0f107f78 diff --git a/src/game/game_10ccd0.c b/src/game/game_10ccd0.c index 5dd61a58e..277ea318c 100644 --- a/src/game/game_10ccd0.c +++ b/src/game/game_10ccd0.c @@ -1612,7 +1612,7 @@ glabel menuhandler0010e064 /* f10e1b4: 00992021 */ addu $a0,$a0,$t9 /* f10e1b8: 8c84ee20 */ lw $a0,-0x11e0($a0) /* f10e1bc: 308800ff */ andi $t0,$a0,0xff -/* f10e1c0: 0fc41fd9 */ jal func0f107f64 +/* f10e1c0: 0fc41fd9 */ jal cheatGetTime /* f10e1c4: 01002025 */ or $a0,$t0,$zero /* f10e1c8: 54400004 */ bnezl $v0,.L0f10e1dc /* f10e1cc: 8fa90028 */ lw $t1,0x28($sp) @@ -1680,7 +1680,7 @@ glabel menuhandler0010e064 /* f10e2b4: 304c0600 */ andi $t4,$v0,0x600 /* f10e2b8: 15800007 */ bnez $t4,.L0f10e2d8 /* f10e2bc: 00000000 */ sll $zero,$zero,0x0 -/* f10e2c0: 0fc41fd9 */ jal func0f107f64 +/* f10e2c0: 0fc41fd9 */ jal cheatGetTime /* f10e2c4: 304400ff */ andi $a0,$v0,0xff /* f10e2c8: 18400003 */ blez $v0,.L0f10e2d8 /* f10e2cc: 00000000 */ sll $zero,$zero,0x0 @@ -1859,7 +1859,7 @@ glabel func0f10e4d8 /* f10e520: 10000015 */ beqz $zero,.L0f10e578 /* f10e524: 00001025 */ or $v0,$zero,$zero .L0f10e528: -/* f10e528: 0fc41fd9 */ jal func0f107f64 +/* f10e528: 0fc41fd9 */ jal cheatGetTime /* f10e52c: 304400ff */ andi $a0,$v0,0xff /* f10e530: 14400003 */ bnez $v0,.L0f10e540 /* f10e534: 00403825 */ or $a3,$v0,$zero diff --git a/src/include/game/game_106d40.h b/src/include/game/game_106d40.h index 882be30ea..fb66dbc7a 100644 --- a/src/include/game/game_106d40.h +++ b/src/include/game/game_106d40.h @@ -13,7 +13,7 @@ u32 func0f10793c(void); u32 func0f107a78(void); u32 func0f107eb8(void); u32 func0f107f18(void); -u32 func0f107f64(void); +s32 cheatGetTime(s32 cheat_id); u32 func0f107f78(void); s32 menudialog00107990(u32, u32, u32 *); s32 menuhandlerCheat(u32, u32, u32 *); diff --git a/src/include/setup/setup_0160b0.h b/src/include/setup/setup_0160b0.h index d8ea217ba..197a993d9 100644 --- a/src/include/setup/setup_0160b0.h +++ b/src/include/setup/setup_0160b0.h @@ -205,7 +205,7 @@ extern u16 mainmenulabels_nocheats[]; extern u16 mainmenulabels_withcheats[]; extern struct menu_dialog menudialog_mainmenu; extern struct menu_dialog menudialog_mainmenu2; -extern struct cheatspec cheatspecs[]; +extern struct cheatspec g_CheatSpecs[]; extern struct menu_item menuitems_cheats_buddies[]; extern struct menu_dialog menudialog_cheats_buddies; extern u16 iomessages[]; diff --git a/src/setup/setup_0160b0.c b/src/setup/setup_0160b0.c index 783a1bb4a..5d0fe26e3 100644 --- a/src/setup/setup_0160b0.c +++ b/src/setup/setup_0160b0.c @@ -2959,7 +2959,7 @@ struct menu_dialog menudialog_mainmenu2 = { u32 var80073a8c = 0x00000000; // 19ab0 -struct cheatspec cheatspecs[] = { +struct cheatspec g_CheatSpecs[] = { // name, time, stage index, difficulty, method { 0x544b, 123, 2, DIFF_A, CHEATMETHOD_TIMED | CHEATMETHOD_TRANSFERPAK }, { 0x544c, 100, 5, DIFF_A, CHEATMETHOD_TIMED | CHEATMETHOD_TRANSFERPAK },