From 539afdbfb91f6dc24075edebae0f22cb28f09d0d Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Wed, 1 Jan 2020 23:45:53 +1000 Subject: [PATCH] Decompile menuhandlerMpOneHitKills --- src/game/game_00c490.c | 2 +- src/game/game_176d70.c | 116 ++++++++++++++------------------- src/game/game_187770.c | 54 +++++++-------- src/game/game_1999b0.c | 6 +- src/include/game/game_176d70.h | 2 +- src/include/game/game_1999b0.h | 2 +- 6 files changed, 83 insertions(+), 99 deletions(-) diff --git a/src/game/game_00c490.c b/src/game/game_00c490.c index 2d1bdb6d6..f217138d9 100644 --- a/src/game/game_00c490.c +++ b/src/game/game_00c490.c @@ -4534,7 +4534,7 @@ glabel func0f00f174 /* f0102cc: 00000000 */ sll $zero,$zero,0x0 /* f0102d0: 1040004b */ beqz $v0,.L0f010400 /* f0102d4: 24040040 */ addiu $a0,$zero,0x40 -/* f0102d8: 0fc67244 */ jal func0f19c910 +/* f0102d8: 0fc67244 */ jal mpIsOptionAvailable /* f0102dc: afa000fc */ sw $zero,0xfc($sp) /* f0102e0: 10400003 */ beqz $v0,.L0f0102f0 /* f0102e4: 27a30120 */ addiu $v1,$sp,0x120 diff --git a/src/game/game_176d70.c b/src/game/game_176d70.c index 9d9137f14..0210227c1 100644 --- a/src/game/game_176d70.c +++ b/src/game/game_176d70.c @@ -3074,7 +3074,7 @@ glabel func0f179104 /* f179124: 26314bf8 */ addiu $s1,$s1,%lo(var80084bf8) /* f179128: 26104b98 */ addiu $s0,$s0,%lo(mpstages) .L0f17912c: -/* f17912c: 0fc67244 */ jal func0f19c910 +/* f17912c: 0fc67244 */ jal mpIsOptionAvailable /* f179130: 92040002 */ lbu $a0,0x2($s0) /* f179134: 10400002 */ beqz $v0,.L0f179140 /* f179138: 26100006 */ addiu $s0,$s0,0x6 @@ -3097,7 +3097,7 @@ glabel func0f179104 /* f179174: 26524bf8 */ addiu $s2,$s2,%lo(var80084bf8) /* f179178: 00001825 */ or $v1,$zero,$zero .L0f17917c: -/* f17917c: 0fc67244 */ jal func0f19c910 +/* f17917c: 0fc67244 */ jal mpIsOptionAvailable /* f179180: 92040002 */ lbu $a0,0x2($s0) /* f179184: 50400007 */ beqzl $v0,.L0f1791a4 /* f179188: 26100006 */ addiu $s0,$s0,0x6 @@ -3158,7 +3158,7 @@ glabel menuhandler001791c8 /* f179248: 3c108008 */ lui $s0,%hi(mpstages) /* f17924c: 26104b98 */ addiu $s0,$s0,%lo(mpstages) .L0f179250: -/* f179250: 0fc67244 */ jal func0f19c910 +/* f179250: 0fc67244 */ jal mpIsOptionAvailable /* f179254: 92040002 */ lbu $a0,0x2($s0) /* f179258: 10400002 */ beqz $v0,.L0f179264 /* f17925c: 26100006 */ addiu $s0,$s0,0x6 @@ -3173,7 +3173,7 @@ glabel menuhandler001791c8 /* f17927c: 3c108008 */ lui $s0,%hi(mpstages) /* f179280: 26104b98 */ addiu $s0,$s0,%lo(mpstages) .L0f179284: -/* f179284: 0fc67244 */ jal func0f19c910 +/* f179284: 0fc67244 */ jal mpIsOptionAvailable /* f179288: 92040002 */ lbu $a0,0x2($s0) /* f17928c: 10400009 */ beqz $v0,.L0f1792b4 /* f179290: 3c0c8008 */ lui $t4,0x8008 @@ -3195,7 +3195,7 @@ glabel menuhandler001791c8 /* f1792cc: 3c108008 */ lui $s0,%hi(mpstages) /* f1792d0: 26104b98 */ addiu $s0,$s0,%lo(mpstages) .L0f1792d4: -/* f1792d4: 0fc67244 */ jal func0f19c910 +/* f1792d4: 0fc67244 */ jal mpIsOptionAvailable /* f1792d8: 92040002 */ lbu $a0,0x2($s0) /* f1792dc: 10400004 */ beqz $v0,.L0f1792f0 /* f1792e0: 3c198008 */ lui $t9,0x8008 @@ -3222,7 +3222,7 @@ glabel menuhandler001791c8 /* f179328: 00000000 */ sll $zero,$zero,0x0 /* f17932c: ae510000 */ sw $s1,0x0($s2) .L0f179330: -/* f179330: 0fc67244 */ jal func0f19c910 +/* f179330: 0fc67244 */ jal mpIsOptionAvailable /* f179334: 92040002 */ lbu $a0,0x2($s0) /* f179338: 10400002 */ beqz $v0,.L0f179344 /* f17933c: 26100006 */ addiu $s0,$s0,0x6 @@ -3236,15 +3236,15 @@ glabel menuhandler001791c8 /* f179358: 00001025 */ or $v0,$zero,$zero /* f17935c: 24090003 */ addiu $t1,$zero,0x3 /* f179360: ae490000 */ sw $t1,0x0($s2) -/* f179364: 0fc67244 */ jal func0f19c910 +/* f179364: 0fc67244 */ jal mpIsOptionAvailable /* f179368: 24040024 */ addiu $a0,$zero,0x24 /* f17936c: 5440004b */ bnezl $v0,.L0f17949c /* f179370: 00001025 */ or $v0,$zero,$zero -/* f179374: 0fc67244 */ jal func0f19c910 +/* f179374: 0fc67244 */ jal mpIsOptionAvailable /* f179378: 24040027 */ addiu $a0,$zero,0x27 /* f17937c: 54400047 */ bnezl $v0,.L0f17949c /* f179380: 00001025 */ or $v0,$zero,$zero -/* f179384: 0fc67244 */ jal func0f19c910 +/* f179384: 0fc67244 */ jal mpIsOptionAvailable /* f179388: 2404002a */ addiu $a0,$zero,0x2a /* f17938c: 54400043 */ bnezl $v0,.L0f17949c /* f179390: 00001025 */ or $v0,$zero,$zero @@ -3253,15 +3253,15 @@ glabel menuhandler001791c8 /* f17939c: 1000003e */ beqz $zero,.L0f179498 /* f1793a0: ae4b0000 */ sw $t3,0x0($s2) /* f1793a4: 8e510000 */ lw $s1,0x0($s2) -/* f1793a8: 0fc67244 */ jal func0f19c910 +/* f1793a8: 0fc67244 */ jal mpIsOptionAvailable /* f1793ac: 24040024 */ addiu $a0,$zero,0x24 /* f1793b0: 5440000d */ bnezl $v0,.L0f1793e8 /* f1793b4: 001160c0 */ sll $t4,$s1,0x3 -/* f1793b8: 0fc67244 */ jal func0f19c910 +/* f1793b8: 0fc67244 */ jal mpIsOptionAvailable /* f1793bc: 24040027 */ addiu $a0,$zero,0x27 /* f1793c0: 54400009 */ bnezl $v0,.L0f1793e8 /* f1793c4: 001160c0 */ sll $t4,$s1,0x3 -/* f1793c8: 0fc67244 */ jal func0f19c910 +/* f1793c8: 0fc67244 */ jal mpIsOptionAvailable /* f1793cc: 2404002a */ addiu $a0,$zero,0x2a /* f1793d0: 54400005 */ bnezl $v0,.L0f1793e8 /* f1793d4: 001160c0 */ sll $t4,$s1,0x3 @@ -3276,15 +3276,15 @@ glabel menuhandler001791c8 /* f1793f4: 1000002a */ beqz $zero,.L0f1794a0 /* f1793f8: 8fbf0024 */ lw $ra,0x24($sp) /* f1793fc: 8e500000 */ lw $s0,0x0($s2) -/* f179400: 0fc67244 */ jal func0f19c910 +/* f179400: 0fc67244 */ jal mpIsOptionAvailable /* f179404: 24040024 */ addiu $a0,$zero,0x24 /* f179408: 5440000d */ bnezl $v0,.L0f179440 /* f17940c: 001068c0 */ sll $t5,$s0,0x3 -/* f179410: 0fc67244 */ jal func0f19c910 +/* f179410: 0fc67244 */ jal mpIsOptionAvailable /* f179414: 24040027 */ addiu $a0,$zero,0x27 /* f179418: 54400009 */ bnezl $v0,.L0f179440 /* f17941c: 001068c0 */ sll $t5,$s0,0x3 -/* f179420: 0fc67244 */ jal func0f19c910 +/* f179420: 0fc67244 */ jal mpIsOptionAvailable /* f179424: 2404002a */ addiu $a0,$zero,0x2a /* f179428: 14400004 */ bnez $v0,.L0f17943c /* f17942c: 24010001 */ addiu $at,$zero,0x1 @@ -3304,7 +3304,7 @@ glabel menuhandler001791c8 /* f17945c: 92040002 */ lbu $a0,0x2($s0) .L0f179460: /* f179460: afa3003c */ sw $v1,0x3c($sp) -/* f179464: 0fc67244 */ jal func0f19c910 +/* f179464: 0fc67244 */ jal mpIsOptionAvailable /* f179468: afa5002c */ sw $a1,0x2c($sp) /* f17946c: 8fa3003c */ lw $v1,0x3c($sp) /* f179470: 10400002 */ beqz $v0,.L0f17947c @@ -4065,7 +4065,7 @@ glabel func0f179da4 /* f179ea8: e4500d94 */ swc1 $f16,0xd94($v0) /* f179eac: 0fc62f1c */ jal func0f18bc70 /* f179eb0: 90c40003 */ lbu $a0,0x3($a2) -/* f179eb4: 0fc67244 */ jal func0f19c910 +/* f179eb4: 0fc67244 */ jal mpIsOptionAvailable /* f179eb8: 00402025 */ or $a0,$v0,$zero /* f179ebc: 54400056 */ bnezl $v0,.L0f17a018 /* f179ec0: 00001025 */ or $v0,$zero,$zero @@ -5785,7 +5785,7 @@ glabel func0f17b4f8 /* f17b6dc: e4700d94 */ swc1 $f16,0xd94($v1) /* f17b6e0: 0fc62ed2 */ jal func0f18bb48 /* f17b6e4: 90c40003 */ lbu $a0,0x3($a2) -/* f17b6e8: 0fc67244 */ jal func0f19c910 +/* f17b6e8: 0fc67244 */ jal mpIsOptionAvailable /* f17b6ec: 00402025 */ or $a0,$v0,$zero /* f17b6f0: 5440004f */ bnezl $v0,.L0f17b830 /* f17b6f4: 00001025 */ or $v0,$zero,$zero @@ -6954,7 +6954,7 @@ glabel menuhandler0017c6a4 /* f17c724: 263177bc */ addiu $s1,$s1,%lo(mpbodytable) /* f17c728: 2610772c */ addiu $s0,$s0,%lo(mpgeneralsimulants) .L0f17c72c: -/* f17c72c: 0fc67244 */ jal func0f19c910 +/* f17c72c: 0fc67244 */ jal mpIsOptionAvailable /* f17c730: 92040006 */ lbu $a0,0x6($s0) /* f17c734: 10400002 */ beqz $v0,.L0f17c740 /* f17c738: 26100008 */ addiu $s0,$s0,0x8 @@ -6969,7 +6969,7 @@ glabel menuhandler0017c6a4 /* f17c758: 263177bc */ addiu $s1,$s1,%lo(mpbodytable) /* f17c75c: 2610772c */ addiu $s0,$s0,%lo(mpgeneralsimulants) .L0f17c760: -/* f17c760: 0fc67244 */ jal func0f19c910 +/* f17c760: 0fc67244 */ jal mpIsOptionAvailable /* f17c764: 92040006 */ lbu $a0,0x6($s0) /* f17c768: 5040000a */ beqzl $v0,.L0f17c794 /* f17c76c: 26100008 */ addiu $s0,$s0,0x8 @@ -7026,7 +7026,7 @@ glabel menuhandler0017c6a4 /* f17c828: 00008825 */ or $s1,$zero,$zero /* f17c82c: 24130012 */ addiu $s3,$zero,0x12 .L0f17c830: -/* f17c830: 0fc67244 */ jal func0f19c910 +/* f17c830: 0fc67244 */ jal mpIsOptionAvailable /* f17c834: 92040006 */ lbu $a0,0x6($s0) /* f17c838: 50400005 */ beqzl $v0,.L0f17c850 /* f17c83c: 26310001 */ addiu $s1,$s1,0x1 @@ -7084,7 +7084,7 @@ glabel menuhandler0017c6a4 /* f17c8fc: 00008825 */ or $s1,$zero,$zero /* f17c900: 24130012 */ addiu $s3,$zero,0x12 .L0f17c904: -/* f17c904: 0fc67244 */ jal func0f19c910 +/* f17c904: 0fc67244 */ jal mpIsOptionAvailable /* f17c908: 92040006 */ lbu $a0,0x6($s0) /* f17c90c: 50400005 */ beqzl $v0,.L0f17c924 /* f17c910: 26310001 */ addiu $s1,$s1,0x1 @@ -7142,7 +7142,7 @@ glabel menuhandler0017c6a4 /* f17c9d8: 59e00010 */ blezl $t7,.L0f17ca1c /* f17c9dc: ae920008 */ sw $s2,0x8($s4) .L0f17c9e0: -/* f17c9e0: 0fc67244 */ jal func0f19c910 +/* f17c9e0: 0fc67244 */ jal mpIsOptionAvailable /* f17c9e4: 92040006 */ lbu $a0,0x6($s0) /* f17c9e8: 50400003 */ beqzl $v0,.L0f17c9f8 /* f17c9ec: 8e990000 */ lw $t9,0x0($s4) @@ -7490,7 +7490,7 @@ glabel menuhandlerMpSimulantDifficulty /* f17ceb4: 2631775c */ addiu $s1,$s1,%lo(mpspecialsimulants) /* f17ceb8: 2610772c */ addiu $s0,$s0,%lo(mpgeneralsimulants) .L0f17cebc: -/* f17cebc: 0fc67244 */ jal func0f19c910 +/* f17cebc: 0fc67244 */ jal mpIsOptionAvailable /* f17cec0: 92040006 */ lbu $a0,0x6($s0) /* f17cec4: 10400002 */ beqz $v0,.L0f17ced0 /* f17cec8: 26100008 */ addiu $s0,$s0,0x8 @@ -7505,7 +7505,7 @@ glabel menuhandlerMpSimulantDifficulty /* f17cee4: 2610772c */ addiu $s0,$s0,%lo(mpgeneralsimulants) /* f17cee8: 24130006 */ addiu $s3,$zero,0x6 .L0f17ceec: -/* f17ceec: 0fc67244 */ jal func0f19c910 +/* f17ceec: 0fc67244 */ jal mpIsOptionAvailable /* f17cef0: 92040006 */ lbu $a0,0x6($s0) /* f17cef4: 5040000a */ beqzl $v0,.L0f17cf20 /* f17cef8: 26310001 */ addiu $s1,$s1,0x1 @@ -7649,7 +7649,7 @@ glabel menuhandlerMpChangeSimulantType /* f17d0d8: 000250c0 */ sll $t2,$v0,0x3 /* f17d0dc: 01509021 */ addu $s2,$t2,$s0 .L0f17d0e0: -/* f17d0e0: 0fc67244 */ jal func0f19c910 +/* f17d0e0: 0fc67244 */ jal mpIsOptionAvailable /* f17d0e4: 92040006 */ lbu $a0,0x6($s0) /* f17d0e8: 10400002 */ beqz $v0,.L0f17d0f4 /* f17d0ec: 26100008 */ addiu $s0,$s0,0x8 @@ -7807,7 +7807,7 @@ glabel menuhandlerMpSimulantSlot /* f17d328: 29e10004 */ slti $at,$t7,0x4 /* f17d32c: 5420000e */ bnezl $at,.L0f17d368 /* f17d330: 00001025 */ or $v0,$zero,$zero -/* f17d334: 0fc67244 */ jal func0f19c910 +/* f17d334: 0fc67244 */ jal mpIsOptionAvailable /* f17d338: 24040040 */ addiu $a0,$zero,0x40 /* f17d33c: 5440000a */ bnezl $v0,.L0f17d368 /* f17d340: 00001025 */ or $v0,$zero,$zero @@ -10336,7 +10336,7 @@ glabel menuhandlerMpNumberOfSimulants /* f17f5d0: 01c00008 */ jr $t6 /* f17f5d4: 00000000 */ sll $zero,$zero,0x0 /* f17f5d8: 24040040 */ addiu $a0,$zero,0x40 -/* f17f5dc: 0fc67244 */ jal func0f19c910 +/* f17f5dc: 0fc67244 */ jal mpIsOptionAvailable /* f17f5e0: afa70020 */ sw $a3,0x20($sp) /* f17f5e4: 14400004 */ bnez $v0,.L0f17f5f8 /* f17f5e8: 8fa70020 */ lw $a3,0x20($sp) @@ -10465,7 +10465,7 @@ glabel menuhandler0017f74c /* f17f7a0: 2631775c */ addiu $s1,$s1,%lo(mpspecialsimulants) /* f17f7a4: 2610772c */ addiu $s0,$s0,%lo(mpgeneralsimulants) .L0f17f7a8: -/* f17f7a8: 0fc67244 */ jal func0f19c910 +/* f17f7a8: 0fc67244 */ jal mpIsOptionAvailable /* f17f7ac: 92040006 */ lbu $a0,0x6($s0) /* f17f7b0: 10400002 */ beqz $v0,.L0f17f7bc /* f17f7b4: 26100008 */ addiu $s0,$s0,0x8 @@ -10480,7 +10480,7 @@ glabel menuhandler0017f74c /* f17f7d4: 00008825 */ or $s1,$zero,$zero /* f17f7d8: 24130006 */ addiu $s3,$zero,0x6 .L0f17f7dc: -/* f17f7dc: 0fc67244 */ jal func0f19c910 +/* f17f7dc: 0fc67244 */ jal mpIsOptionAvailable /* f17f7e0: 92040006 */ lbu $a0,0x6($s0) /* f17f7e4: 5040000a */ beqzl $v0,.L0f17f810 /* f17f7e8: 26310001 */ addiu $s1,$s1,0x1 @@ -10915,34 +10915,18 @@ s32 menuhandlerMpDisplayTeam(u32 operation, struct menu_item *item, s32 *value) return menuhandlerMpCheckboxOption(operation, item, value); } -GLOBAL_ASM( -glabel menuhandlerMpOneHitKills -/* f17fdfc: 27bdffe8 */ addiu $sp,$sp,-24 -/* f17fe00: 2401000c */ addiu $at,$zero,0xc -/* f17fe04: 10810004 */ beq $a0,$at,.L0f17fe18 -/* f17fe08: afbf0014 */ sw $ra,0x14($sp) -/* f17fe0c: 24010018 */ addiu $at,$zero,0x18 -/* f17fe10: 14810009 */ bne $a0,$at,.L0f17fe38 -/* f17fe14: 00000000 */ sll $zero,$zero,0x0 -.L0f17fe18: -/* f17fe18: 0fc67244 */ jal func0f19c910 -/* f17fe1c: 2404001e */ addiu $a0,$zero,0x1e -/* f17fe20: 10400003 */ beqz $v0,.L0f17fe30 -/* f17fe24: 00000000 */ sll $zero,$zero,0x0 -/* f17fe28: 10000005 */ beqz $zero,.L0f17fe40 -/* f17fe2c: 00001025 */ or $v0,$zero,$zero -.L0f17fe30: -/* f17fe30: 10000003 */ beqz $zero,.L0f17fe40 -/* f17fe34: 24020001 */ addiu $v0,$zero,0x1 -.L0f17fe38: -/* f17fe38: 0fc5e626 */ jal menuhandlerMpCheckboxOption -/* f17fe3c: 00000000 */ sll $zero,$zero,0x0 -.L0f17fe40: -/* f17fe40: 8fbf0014 */ lw $ra,0x14($sp) -/* f17fe44: 27bd0018 */ addiu $sp,$sp,0x18 -/* f17fe48: 03e00008 */ jr $ra -/* f17fe4c: 00000000 */ sll $zero,$zero,0x0 -); +s32 menuhandlerMpOneHitKills(u32 operation, struct menu_item *item, s32 *value) +{ + if (operation == MENUOP_CHECKDISABLED || operation == MENUOP_CHECKHIDDEN) { + if (mpIsOptionAvailable(0x1e)) { + return false; + } + + return true; + } + + return menuhandlerMpCheckboxOption(operation, item, value); +} GLOBAL_ASM( glabel menuhandlerMpSlowMotion @@ -10965,7 +10949,7 @@ glabel menuhandlerMpSlowMotion /* f17fe90: 8c2888dc */ lw $t0,%lo(var7f1b88dc)($at) /* f17fe94: 01000008 */ jr $t0 /* f17fe98: 00000000 */ sll $zero,$zero,0x0 -/* f17fe9c: 0fc67244 */ jal func0f19c910 +/* f17fe9c: 0fc67244 */ jal mpIsOptionAvailable /* f17fea0: 2404001d */ addiu $a0,$zero,0x1d /* f17fea4: 10400003 */ beqz $v0,.L0f17feb4 /* f17fea8: 00000000 */ sll $zero,$zero,0x0 @@ -16941,7 +16925,7 @@ glabel menuhandler00185068 /* f185118: 2631716c */ addiu $s1,$s1,%lo(var8008716c) /* f18511c: 26107148 */ addiu $s0,$s0,%lo(mpscenarios) .L0f185120: -/* f185120: 0fc67244 */ jal func0f19c910 +/* f185120: 0fc67244 */ jal mpIsOptionAvailable /* f185124: 92040004 */ lbu $a0,0x4($s0) /* f185128: 50400008 */ beqzl $v0,.L0f18514c /* f18512c: 26100006 */ addiu $s0,$s0,0x6 @@ -16963,7 +16947,7 @@ glabel menuhandler00185068 /* f185164: 2631716c */ addiu $s1,$s1,%lo(var8008716c) /* f185168: 26107148 */ addiu $s0,$s0,%lo(mpscenarios) .L0f18516c: -/* f18516c: 0fc67244 */ jal func0f19c910 +/* f18516c: 0fc67244 */ jal mpIsOptionAvailable /* f185170: 92040004 */ lbu $a0,0x4($s0) /* f185174: 5040000f */ beqzl $v0,.L0f1851b4 /* f185178: 26100006 */ addiu $s0,$s0,0x6 @@ -16993,7 +16977,7 @@ glabel menuhandler00185068 /* f1851cc: 00008825 */ or $s1,$zero,$zero /* f1851d0: 24130006 */ addiu $s3,$zero,0x6 .L0f1851d4: -/* f1851d4: 0fc67244 */ jal func0f19c910 +/* f1851d4: 0fc67244 */ jal mpIsOptionAvailable /* f1851d8: 92040004 */ lbu $a0,0x4($s0) /* f1851dc: 5040000d */ beqzl $v0,.L0f185214 /* f1851e0: 26310001 */ addiu $s1,$s1,0x1 @@ -17024,7 +17008,7 @@ glabel menuhandler00185068 /* f185234: 00008825 */ or $s1,$zero,$zero /* f185238: 24130006 */ addiu $s3,$zero,0x6 .L0f18523c: -/* f18523c: 0fc67244 */ jal func0f19c910 +/* f18523c: 0fc67244 */ jal mpIsOptionAvailable /* f185240: 92040004 */ lbu $a0,0x4($s0) /* f185244: 5040000d */ beqzl $v0,.L0f18527c /* f185248: 26310001 */ addiu $s1,$s1,0x1 @@ -17050,11 +17034,11 @@ glabel menuhandler00185068 /* f18528c: 24190002 */ addiu $t9,$zero,0x2 /* f185290: 12800009 */ beqz $s4,.L0f1852b8 /* f185294: aeb90000 */ sw $t9,0x0($s5) -/* f185298: 0fc67244 */ jal func0f19c910 +/* f185298: 0fc67244 */ jal mpIsOptionAvailable /* f18529c: 2404001f */ addiu $a0,$zero,0x1f /* f1852a0: 5440002e */ bnezl $v0,.L0f18535c /* f1852a4: 00001025 */ or $v0,$zero,$zero -/* f1852a8: 0fc67244 */ jal func0f19c910 +/* f1852a8: 0fc67244 */ jal mpIsOptionAvailable /* f1852ac: 24040021 */ addiu $a0,$zero,0x21 /* f1852b0: 5440002a */ bnezl $v0,.L0f18535c /* f1852b4: 00001025 */ or $v0,$zero,$zero @@ -17080,7 +17064,7 @@ glabel menuhandler00185068 /* f185300: 59c00015 */ blezl $t6,.L0f185358 /* f185304: aeb20008 */ sw $s2,0x8($s5) .L0f185308: -/* f185308: 0fc67244 */ jal func0f19c910 +/* f185308: 0fc67244 */ jal mpIsOptionAvailable /* f18530c: 92040004 */ lbu $a0,0x4($s0) /* f185310: 50400008 */ beqzl $v0,.L0f185334 /* f185314: 8ea80000 */ lw $t0,0x0($s5) diff --git a/src/game/game_187770.c b/src/game/game_187770.c index 7d0db56f5..e8951f4fa 100644 --- a/src/game/game_187770.c +++ b/src/game/game_187770.c @@ -309,7 +309,7 @@ glabel func0f187864 /* f18786c: afb00018 */ sw $s0,0x18($sp) /* f187870: 0fc5fc98 */ jal func0f17f260 /* f187874: 00008025 */ or $s0,$zero,$zero -/* f187878: 0fc67244 */ jal func0f19c910 +/* f187878: 0fc67244 */ jal mpIsOptionAvailable /* f18787c: 2404001e */ addiu $a0,$zero,0x1e /* f187880: 14400006 */ bnez $v0,.L0f18789c /* f187884: 3c05800b */ lui $a1,%hi(g_MpSetup) @@ -319,7 +319,7 @@ glabel func0f187864 /* f187894: 01c17824 */ and $t7,$t6,$at /* f187898: acaf000c */ sw $t7,0xc($a1) .L0f18789c: -/* f18789c: 0fc67244 */ jal func0f19c910 +/* f18789c: 0fc67244 */ jal mpIsOptionAvailable /* f1878a0: 2404001d */ addiu $a0,$zero,0x1d /* f1878a4: 3c05800b */ lui $a1,%hi(g_MpSetup) /* f1878a8: 14400005 */ bnez $v0,.L0f1878c0 @@ -1735,7 +1735,7 @@ glabel func0f188bd4 /* f188bfc: 96040004 */ lhu $a0,0x4($s0) .L0f188c00: /* f188c00: 308e007f */ andi $t6,$a0,0x7f -/* f188c04: 0fc67244 */ jal func0f19c910 +/* f188c04: 0fc67244 */ jal mpIsOptionAvailable /* f188c08: 01c02025 */ or $a0,$t6,$zero /* f188c0c: 10400002 */ beqz $v0,.L0f188c18 /* f188c10: 2610000a */ addiu $s0,$s0,0xa @@ -1767,7 +1767,7 @@ glabel func0f188c3c /* f188c64: 96040004 */ lhu $a0,0x4($s0) .L0f188c68: /* f188c68: 308e007f */ andi $t6,$a0,0x7f -/* f188c6c: 0fc67244 */ jal func0f19c910 +/* f188c6c: 0fc67244 */ jal mpIsOptionAvailable /* f188c70: 01c02025 */ or $a0,$t6,$zero /* f188c74: 5040001e */ beqzl $v0,.L0f188cf0 /* f188c78: 2610000a */ addiu $s0,$s0,0xa @@ -1834,7 +1834,7 @@ glabel func0f188d18 .L0f188d44: /* f188d44: 96040004 */ lhu $a0,0x4($s0) /* f188d48: 308e007f */ andi $t6,$a0,0x7f -/* f188d4c: 0fc67244 */ jal func0f19c910 +/* f188d4c: 0fc67244 */ jal mpIsOptionAvailable /* f188d50: 01c02025 */ or $a0,$t6,$zero /* f188d54: 14400002 */ bnez $v0,.L0f188d60 /* f188d58: 26520001 */ addiu $s2,$s2,0x1 @@ -1876,7 +1876,7 @@ glabel func0f188d94 /* f188dd0: 96040004 */ lhu $a0,0x4($s0) .L0f188dd4: /* f188dd4: 3098007f */ andi $t8,$a0,0x7f -/* f188dd8: 0fc67244 */ jal func0f19c910 +/* f188dd8: 0fc67244 */ jal mpIsOptionAvailable /* f188ddc: 03002025 */ or $a0,$t8,$zero /* f188de0: 50400003 */ beqzl $v0,.L0f188df0 /* f188de4: 92790018 */ lbu $t9,0x18($s3) @@ -1974,19 +1974,19 @@ glabel func0f188ed4 /* f188f14: 261073f0 */ addiu $s0,$s0,%lo(mpweaponsetstable) /* f188f18: 2414005c */ addiu $s4,$zero,0x5c .L0f188f1c: -/* f188f1c: 0fc67244 */ jal func0f19c910 +/* f188f1c: 0fc67244 */ jal mpIsOptionAvailable /* f188f20: 92040008 */ lbu $a0,0x8($s0) /* f188f24: 5040000e */ beqzl $v0,.L0f188f60 /* f188f28: 920e000c */ lbu $t6,0xc($s0) -/* f188f2c: 0fc67244 */ jal func0f19c910 +/* f188f2c: 0fc67244 */ jal mpIsOptionAvailable /* f188f30: 92040009 */ lbu $a0,0x9($s0) /* f188f34: 5040000a */ beqzl $v0,.L0f188f60 /* f188f38: 920e000c */ lbu $t6,0xc($s0) -/* f188f3c: 0fc67244 */ jal func0f19c910 +/* f188f3c: 0fc67244 */ jal mpIsOptionAvailable /* f188f40: 9204000a */ lbu $a0,0xa($s0) /* f188f44: 50400006 */ beqzl $v0,.L0f188f60 /* f188f48: 920e000c */ lbu $t6,0xc($s0) -/* f188f4c: 0fc67244 */ jal func0f19c910 +/* f188f4c: 0fc67244 */ jal mpIsOptionAvailable /* f188f50: 9204000b */ lbu $a0,0xb($s0) /* f188f54: 54400005 */ bnezl $v0,.L0f188f6c /* f188f58: 26520001 */ addiu $s2,$s2,0x1 @@ -2028,19 +2028,19 @@ glabel func0f188f9c /* f188fc8: 2413005c */ addiu $s3,$zero,0x5c /* f188fcc: 2414000c */ addiu $s4,$zero,0xc .L0f188fd0: -/* f188fd0: 0fc67244 */ jal func0f19c910 +/* f188fd0: 0fc67244 */ jal mpIsOptionAvailable /* f188fd4: 92040008 */ lbu $a0,0x8($s0) /* f188fd8: 5040000e */ beqzl $v0,.L0f189014 /* f188fdc: 920e000c */ lbu $t6,0xc($s0) -/* f188fe0: 0fc67244 */ jal func0f19c910 +/* f188fe0: 0fc67244 */ jal mpIsOptionAvailable /* f188fe4: 92040009 */ lbu $a0,0x9($s0) /* f188fe8: 5040000a */ beqzl $v0,.L0f189014 /* f188fec: 920e000c */ lbu $t6,0xc($s0) -/* f188ff0: 0fc67244 */ jal func0f19c910 +/* f188ff0: 0fc67244 */ jal mpIsOptionAvailable /* f188ff4: 9204000a */ lbu $a0,0xa($s0) /* f188ff8: 50400006 */ beqzl $v0,.L0f189014 /* f188ffc: 920e000c */ lbu $t6,0xc($s0) -/* f189000: 0fc67244 */ jal func0f19c910 +/* f189000: 0fc67244 */ jal mpIsOptionAvailable /* f189004: 9204000b */ lbu $a0,0xb($s0) /* f189008: 14400004 */ bnez $v0,.L0f18901c /* f18900c: 00000000 */ sll $zero,$zero,0x0 @@ -2170,19 +2170,19 @@ glabel func0f18913c /* f189190: 2416000a */ addiu $s6,$zero,0xa /* f189194: afa00044 */ sw $zero,0x44($sp) .L0f189198: -/* f189198: 0fc67244 */ jal func0f19c910 +/* f189198: 0fc67244 */ jal mpIsOptionAvailable /* f18919c: 93c40008 */ lbu $a0,0x8($s8) /* f1891a0: 50400010 */ beqzl $v0,.L0f1891e4 /* f1891a4: 93d8000c */ lbu $t8,0xc($s8) -/* f1891a8: 0fc67244 */ jal func0f19c910 +/* f1891a8: 0fc67244 */ jal mpIsOptionAvailable /* f1891ac: 93c40009 */ lbu $a0,0x9($s8) /* f1891b0: 5040000c */ beqzl $v0,.L0f1891e4 /* f1891b4: 93d8000c */ lbu $t8,0xc($s8) -/* f1891b8: 0fc67244 */ jal func0f19c910 +/* f1891b8: 0fc67244 */ jal mpIsOptionAvailable /* f1891bc: 93c4000a */ lbu $a0,0xa($s8) /* f1891c0: 50400008 */ beqzl $v0,.L0f1891e4 /* f1891c4: 93d8000c */ lbu $t8,0xc($s8) -/* f1891c8: 0fc67244 */ jal func0f19c910 +/* f1891c8: 0fc67244 */ jal mpIsOptionAvailable /* f1891cc: 93c4000b */ lbu $a0,0xb($s8) /* f1891d0: 50400004 */ beqzl $v0,.L0f1891e4 /* f1891d4: 93d8000c */ lbu $t8,0xc($s8) @@ -2206,7 +2206,7 @@ glabel func0f18913c /* f189210: 92500000 */ lbu $s0,0x0($s2) /* f189214: 56140007 */ bnel $s0,$s4,.L0f189234 /* f189218: 92390018 */ lbu $t9,0x18($s1) -/* f18921c: 0fc67244 */ jal func0f19c910 +/* f18921c: 0fc67244 */ jal mpIsOptionAvailable /* f189220: 24040016 */ addiu $a0,$zero,0x16 /* f189224: 54400003 */ bnezl $v0,.L0f189234 /* f189228: 92390018 */ lbu $t9,0x18($s1) @@ -2277,7 +2277,7 @@ glabel func0f1892dc /* f189308: 000e7040 */ sll $t6,$t6,0x1 /* f18930c: 3c048008 */ lui $a0,0x8008 /* f189310: 008e2021 */ addu $a0,$a0,$t6 -/* f189314: 0fc67244 */ jal func0f19c910 +/* f189314: 0fc67244 */ jal mpIsOptionAvailable /* f189318: 908473f8 */ lbu $a0,0x73f8($a0) /* f18931c: 50400029 */ beqzl $v0,.L0f1893c4 /* f189320: 8e0d0000 */ lw $t5,0x0($s0) @@ -2287,7 +2287,7 @@ glabel func0f1892dc /* f189330: 030fc021 */ addu $t8,$t8,$t7 /* f189334: 0018c040 */ sll $t8,$t8,0x1 /* f189338: 00982021 */ addu $a0,$a0,$t8 -/* f18933c: 0fc67244 */ jal func0f19c910 +/* f18933c: 0fc67244 */ jal mpIsOptionAvailable /* f189340: 908473f9 */ lbu $a0,0x73f9($a0) /* f189344: 5040001f */ beqzl $v0,.L0f1893c4 /* f189348: 8e0d0000 */ lw $t5,0x0($s0) @@ -2297,7 +2297,7 @@ glabel func0f1892dc /* f189358: 01996021 */ addu $t4,$t4,$t9 /* f18935c: 000c6040 */ sll $t4,$t4,0x1 /* f189360: 008c2021 */ addu $a0,$a0,$t4 -/* f189364: 0fc67244 */ jal func0f19c910 +/* f189364: 0fc67244 */ jal mpIsOptionAvailable /* f189368: 908473fa */ lbu $a0,0x73fa($a0) /* f18936c: 50400015 */ beqzl $v0,.L0f1893c4 /* f189370: 8e0d0000 */ lw $t5,0x0($s0) @@ -2307,7 +2307,7 @@ glabel func0f1892dc /* f189380: 01cd7021 */ addu $t6,$t6,$t5 /* f189384: 000e7040 */ sll $t6,$t6,0x1 /* f189388: 008e2021 */ addu $a0,$a0,$t6 -/* f18938c: 0fc67244 */ jal func0f19c910 +/* f18938c: 0fc67244 */ jal mpIsOptionAvailable /* f189390: 908473fb */ lbu $a0,0x73fb($a0) /* f189394: 5040000b */ beqzl $v0,.L0f1893c4 /* f189398: 8e0d0000 */ lw $t5,0x0($s0) @@ -2356,7 +2356,7 @@ glabel func0f1892dc /* f189438: afa60038 */ sw $a2,0x38($sp) /* f18943c: afa0003c */ sw $zero,0x3c($sp) /* f189440: afaa0024 */ sw $t2,0x24($sp) -/* f189444: 0fc67244 */ jal func0f19c910 +/* f189444: 0fc67244 */ jal mpIsOptionAvailable /* f189448: afab0028 */ sw $t3,0x28($sp) /* f18944c: 3c088008 */ lui $t0,%hi(mpweaponstable) /* f189450: 25087268 */ addiu $t0,$t0,%lo(mpweaponstable) @@ -6542,7 +6542,7 @@ GLOBAL_ASM( glabel func0f18cc8c /* f18cc8c: 27bdffe8 */ addiu $sp,$sp,-24 /* f18cc90: afbf0014 */ sw $ra,0x14($sp) -/* f18cc94: 0fc67244 */ jal func0f19c910 +/* f18cc94: 0fc67244 */ jal mpIsOptionAvailable /* f18cc98: 24040040 */ addiu $a0,$zero,0x40 /* f18cc9c: 10400003 */ beqz $v0,.L0f18ccac /* f18cca0: 3c04800b */ lui $a0,0x800b @@ -7653,7 +7653,7 @@ glabel func0f18db84 /* f18dbb8: 24120016 */ addiu $s2,$zero,0x16 /* f18dbbc: 24130010 */ addiu $s3,$zero,0x10 .L0f18dbc0: -/* f18dbc0: 0fc67244 */ jal func0f19c910 +/* f18dbc0: 0fc67244 */ jal mpIsOptionAvailable /* f18dbc4: 92040008 */ lbu $a0,0x8($s0) /* f18dbc8: 14400006 */ bnez $v0,.L0f18dbe4 /* f18dbcc: 26310001 */ addiu $s1,$s1,0x1 @@ -7840,7 +7840,7 @@ glabel func0f18dcec /* f18de3c: 26f70004 */ addiu $s7,$s7,0x4 /* f18de40: 1420ffd2 */ bnez $at,.L0f18dd8c /* f18de44: a239ffc5 */ sb $t9,-0x3b($s1) -/* f18de48: 0fc67244 */ jal func0f19c910 +/* f18de48: 0fc67244 */ jal mpIsOptionAvailable /* f18de4c: 24040016 */ addiu $a0,$zero,0x16 /* f18de50: 1440000c */ bnez $v0,.L0f18de84 /* f18de54: 3c04800b */ lui $a0,0x800b diff --git a/src/game/game_1999b0.c b/src/game/game_1999b0.c index 7f29b156c..19d60ab2b 100644 --- a/src/game/game_1999b0.c +++ b/src/game/game_1999b0.c @@ -2029,7 +2029,7 @@ glabel func0f19afdc .L0f19b4a4: /* f19b4a4: 0fc6257a */ jal func0f1895e8 /* f19b4a8: 00000000 */ sll $zero,$zero,0x0 -/* f19b4ac: 0fc67244 */ jal func0f19c910 +/* f19b4ac: 0fc67244 */ jal mpIsOptionAvailable /* f19b4b0: 24040040 */ addiu $a0,$zero,0x40 /* f19b4b4: 14400018 */ bnez $v0,.L0f19b518 /* f19b4b8: 24100004 */ addiu $s0,$zero,0x4 @@ -2140,7 +2140,7 @@ glabel func0f19b540 /* f19b62c: 10000009 */ beqz $zero,.L0f19b654 /* f19b630: ac2aa444 */ sw $t2,-0x5bbc($at) .L0f19b634: -/* f19b634: 0fc67244 */ jal func0f19c910 +/* f19b634: 0fc67244 */ jal mpIsOptionAvailable /* f19b638: 24040040 */ addiu $a0,$zero,0x40 /* f19b63c: 14400005 */ bnez $v0,.L0f19b654 /* f19b640: 3c06800b */ lui $a2,%hi(g_MpSetup) @@ -3585,7 +3585,7 @@ glabel func0f19c6bc ); GLOBAL_ASM( -glabel func0f19c910 +glabel mpIsOptionAvailable /* f19c910: 14800003 */ bnez $a0,.L0f19c920 /* f19c914: 3c02800b */ lui $v0,0x800b /* f19c918: 03e00008 */ jr $ra diff --git a/src/include/game/game_176d70.h b/src/include/game/game_176d70.h index 7d467ea82..241045f47 100644 --- a/src/include/game/game_176d70.h +++ b/src/include/game/game_176d70.h @@ -240,7 +240,7 @@ s32 menuhandlerMpMaximumTeams(u32, u32, u32 *); s32 menuhandlerMpMedal(u32, u32, u32 *); s32 menuhandlerMpMultipleTunes(u32, u32, u32 *); s32 menuhandlerMpNumberOfSimulants(u32, u32, u32 *); -s32 menuhandlerMpOneHitKills(u32, u32, u32 *); +s32 menuhandlerMpOneHitKills(u32 operation, struct menu_item *item, s32 *value); s32 menuhandlerMpOpenOptions(u32 operation, struct menu_item *item, s32 *value); s32 menuhandlerMpQuickteamOption(u32, u32, u32 *); s32 menuhandlerMpRestoreHandicapDefaults(u32, u32, u32 *); diff --git a/src/include/game/game_1999b0.h b/src/include/game/game_1999b0.h index a23819970..3852d801c 100644 --- a/src/include/game/game_1999b0.h +++ b/src/include/game/game_1999b0.h @@ -59,6 +59,6 @@ u32 func0f19c47c(void); u32 func0f19c4b8(void); u32 func0f19c53c(void); u32 func0f19c6bc(void); -u32 func0f19c910(void); +s32 mpIsOptionAvailable(s32 arg0); #endif