From 7cb1502b72b255b1d25ccdb951a4853b47ef9d21 Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Sun, 5 Apr 2020 23:29:01 +1000 Subject: [PATCH] Decompile frSetDifficulty --- src/game/game_19c990.c | 27 ++++++++++++--------------- src/game/game_1a3340.c | 8 ++++---- src/include/game/game_19c990.h | 2 +- 3 files changed, 17 insertions(+), 20 deletions(-) diff --git a/src/game/game_19c990.c b/src/game/game_19c990.c index 8933cbd40..003d1b20a 100644 --- a/src/game/game_19c990.c +++ b/src/game/game_19c990.c @@ -904,21 +904,18 @@ glabel func0f19d560 /* f19d5bc: 00000000 */ sll $zero,$zero,0x0 ); -GLOBAL_ASM( -glabel func0f19d5c0 -/* f19d5c0: 04830003 */ bgezl $a0,.L0f19d5d0 -/* f19d5c4: 28810003 */ slti $at,$a0,0x3 -/* f19d5c8: 00002025 */ or $a0,$zero,$zero -/* f19d5cc: 28810003 */ slti $at,$a0,0x3 -.L0f19d5d0: -/* f19d5d0: 14200002 */ bnez $at,.L0f19d5dc -/* f19d5d4: 00000000 */ sll $zero,$zero,0x0 -/* f19d5d8: 24040002 */ addiu $a0,$zero,0x2 -.L0f19d5dc: -/* f19d5dc: 3c01800b */ lui $at,%hi(g_FiringRangeData+0x448) -/* f19d5e0: 03e00008 */ jr $ra -/* f19d5e4: a024d168 */ sb $a0,%lo(g_FiringRangeData+0x448)($at) -); +void frSetDifficulty(s32 difficulty) +{ + if (difficulty < DIFF_A) { + difficulty = DIFF_A; + } + + if (difficulty > DIFF_PA) { + difficulty = DIFF_PA; + } + + g_FiringRangeData.difficulty = difficulty; +} u32 frGetDifficulty(void) { diff --git a/src/game/game_1a3340.c b/src/game/game_1a3340.c index bab9df32f..a822051eb 100644 --- a/src/game/game_1a3340.c +++ b/src/game/game_1a3340.c @@ -215,7 +215,7 @@ glabel var7f1b9940 /* f1a3540: 8fa400a4 */ lw $a0,0xa4($sp) /* f1a3544: 0fc6726c */ jal ciGetFiringRangeScore /* f1a3548: 00402025 */ or $a0,$v0,$zero -/* f1a354c: 0fc67570 */ jal func0f19d5c0 +/* f1a354c: 0fc67570 */ jal frSetDifficulty /* f1a3550: 00402025 */ or $a0,$v0,$zero /* f1a3554: 3c048009 */ lui $a0,%hi(menudialog_frdifficulty) /* f1a3558: 0fc3cbd3 */ jal menuPushDialog @@ -223,7 +223,7 @@ glabel var7f1b9940 /* f1a3560: 1000010d */ beqz $zero,.L0f1a3998 /* f1a3564: 00001025 */ or $v0,$zero,$zero .L0f1a3568: -/* f1a3568: 0fc67570 */ jal func0f19d5c0 +/* f1a3568: 0fc67570 */ jal frSetDifficulty /* f1a356c: 00002025 */ or $a0,$zero,$zero /* f1a3570: 3c048009 */ lui $a0,%hi(menudialog_frtraininginfo2) /* f1a3574: 0fc3cbd3 */ jal menuPushDialog @@ -668,7 +668,7 @@ glabel menudialog001a3af4 /* f1a3bd0: 1000000e */ beqz $zero,.L0f1a3c0c /* f1a3bd4: 8fbf0014 */ lw $ra,0x14($sp) .L0f1a3bd8: -/* f1a3bd8: 0fc67570 */ jal func0f19d5c0 +/* f1a3bd8: 0fc67570 */ jal frSetDifficulty /* f1a3bdc: 8cc40000 */ lw $a0,0x0($a2) /* f1a3be0: 3c048009 */ lui $a0,%hi(menudialog_frtraininginfo2) /* f1a3be4: 0fc3cbd3 */ jal menuPushDialog @@ -720,7 +720,7 @@ glabel menuhandlerFrDifficulty /* f1a3c7c: 24020001 */ addiu $v0,$zero,0x1 .L0f1a3c80: /* f1a3c80: 8fb8001c */ lw $t8,0x1c($sp) -/* f1a3c84: 0fc67570 */ jal func0f19d5c0 +/* f1a3c84: 0fc67570 */ jal frSetDifficulty /* f1a3c88: 93040001 */ lbu $a0,0x1($t8) /* f1a3c8c: 3c048009 */ lui $a0,%hi(menudialog_frtraininginfo2) /* f1a3c90: 0fc3cbd3 */ jal menuPushDialog diff --git a/src/include/game/game_19c990.h b/src/include/game/game_19c990.h index 674791d83..9b944e9ad 100644 --- a/src/include/game/game_19c990.h +++ b/src/include/game/game_19c990.h @@ -22,7 +22,7 @@ u32 func0f19d338(void); u32 func0f19d414(void); void func0f19d4ec(void); u32 func0f19d560(void); -u32 func0f19d5c0(void); +void frSetDifficulty(s32 difficulty); u32 frGetDifficulty(void); u32 func0f19d5f4(void); struct frdata *getFiringRangeData(void);