From defcb93d5fa456bad6c6f5994e75c74f31e3356c Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Sat, 4 Jan 2020 22:00:52 +1000 Subject: [PATCH] Rename mpIsOptionAvailable to mpIsChallengeComplete and related symbols --- src/game/game_00c490.c | 2 +- src/game/game_176d70.c | 78 +++++++++++++++++----------------- src/game/game_187770.c | 54 +++++++++++------------ src/game/game_1999b0.c | 40 ++++++++--------- src/gvars/gvars.c | 2 +- src/include/constants.h | 4 ++ src/include/game/game_1999b0.h | 2 +- src/include/gvars/gvars.h | 2 +- 8 files changed, 94 insertions(+), 90 deletions(-) diff --git a/src/game/game_00c490.c b/src/game/game_00c490.c index e82adac74..8d68c2036 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 mpIsOptionAvailable +/* f0102d8: 0fc67244 */ jal mpIsChallengeComplete /* 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 7797c3b62..356708c7a 100644 --- a/src/game/game_176d70.c +++ b/src/game/game_176d70.c @@ -3017,7 +3017,7 @@ glabel func0f179104 /* f179124: 26314bf8 */ addiu $s1,$s1,%lo(var80084bf8) /* f179128: 26104b98 */ addiu $s0,$s0,%lo(mpstages) .L0f17912c: -/* f17912c: 0fc67244 */ jal mpIsOptionAvailable +/* f17912c: 0fc67244 */ jal mpIsChallengeComplete /* f179130: 92040002 */ lbu $a0,0x2($s0) /* f179134: 10400002 */ beqz $v0,.L0f179140 /* f179138: 26100006 */ addiu $s0,$s0,0x6 @@ -3040,7 +3040,7 @@ glabel func0f179104 /* f179174: 26524bf8 */ addiu $s2,$s2,%lo(var80084bf8) /* f179178: 00001825 */ or $v1,$zero,$zero .L0f17917c: -/* f17917c: 0fc67244 */ jal mpIsOptionAvailable +/* f17917c: 0fc67244 */ jal mpIsChallengeComplete /* f179180: 92040002 */ lbu $a0,0x2($s0) /* f179184: 50400007 */ beqzl $v0,.L0f1791a4 /* f179188: 26100006 */ addiu $s0,$s0,0x6 @@ -3101,7 +3101,7 @@ glabel menuhandler001791c8 /* f179248: 3c108008 */ lui $s0,%hi(mpstages) /* f17924c: 26104b98 */ addiu $s0,$s0,%lo(mpstages) .L0f179250: -/* f179250: 0fc67244 */ jal mpIsOptionAvailable +/* f179250: 0fc67244 */ jal mpIsChallengeComplete /* f179254: 92040002 */ lbu $a0,0x2($s0) /* f179258: 10400002 */ beqz $v0,.L0f179264 /* f17925c: 26100006 */ addiu $s0,$s0,0x6 @@ -3116,7 +3116,7 @@ glabel menuhandler001791c8 /* f17927c: 3c108008 */ lui $s0,%hi(mpstages) /* f179280: 26104b98 */ addiu $s0,$s0,%lo(mpstages) .L0f179284: -/* f179284: 0fc67244 */ jal mpIsOptionAvailable +/* f179284: 0fc67244 */ jal mpIsChallengeComplete /* f179288: 92040002 */ lbu $a0,0x2($s0) /* f17928c: 10400009 */ beqz $v0,.L0f1792b4 /* f179290: 3c0c8008 */ lui $t4,0x8008 @@ -3138,7 +3138,7 @@ glabel menuhandler001791c8 /* f1792cc: 3c108008 */ lui $s0,%hi(mpstages) /* f1792d0: 26104b98 */ addiu $s0,$s0,%lo(mpstages) .L0f1792d4: -/* f1792d4: 0fc67244 */ jal mpIsOptionAvailable +/* f1792d4: 0fc67244 */ jal mpIsChallengeComplete /* f1792d8: 92040002 */ lbu $a0,0x2($s0) /* f1792dc: 10400004 */ beqz $v0,.L0f1792f0 /* f1792e0: 3c198008 */ lui $t9,0x8008 @@ -3165,7 +3165,7 @@ glabel menuhandler001791c8 /* f179328: 00000000 */ sll $zero,$zero,0x0 /* f17932c: ae510000 */ sw $s1,0x0($s2) .L0f179330: -/* f179330: 0fc67244 */ jal mpIsOptionAvailable +/* f179330: 0fc67244 */ jal mpIsChallengeComplete /* f179334: 92040002 */ lbu $a0,0x2($s0) /* f179338: 10400002 */ beqz $v0,.L0f179344 /* f17933c: 26100006 */ addiu $s0,$s0,0x6 @@ -3179,15 +3179,15 @@ glabel menuhandler001791c8 /* f179358: 00001025 */ or $v0,$zero,$zero /* f17935c: 24090003 */ addiu $t1,$zero,0x3 /* f179360: ae490000 */ sw $t1,0x0($s2) -/* f179364: 0fc67244 */ jal mpIsOptionAvailable +/* f179364: 0fc67244 */ jal mpIsChallengeComplete /* f179368: 24040024 */ addiu $a0,$zero,0x24 /* f17936c: 5440004b */ bnezl $v0,.L0f17949c /* f179370: 00001025 */ or $v0,$zero,$zero -/* f179374: 0fc67244 */ jal mpIsOptionAvailable +/* f179374: 0fc67244 */ jal mpIsChallengeComplete /* f179378: 24040027 */ addiu $a0,$zero,0x27 /* f17937c: 54400047 */ bnezl $v0,.L0f17949c /* f179380: 00001025 */ or $v0,$zero,$zero -/* f179384: 0fc67244 */ jal mpIsOptionAvailable +/* f179384: 0fc67244 */ jal mpIsChallengeComplete /* f179388: 2404002a */ addiu $a0,$zero,0x2a /* f17938c: 54400043 */ bnezl $v0,.L0f17949c /* f179390: 00001025 */ or $v0,$zero,$zero @@ -3196,15 +3196,15 @@ glabel menuhandler001791c8 /* f17939c: 1000003e */ beqz $zero,.L0f179498 /* f1793a0: ae4b0000 */ sw $t3,0x0($s2) /* f1793a4: 8e510000 */ lw $s1,0x0($s2) -/* f1793a8: 0fc67244 */ jal mpIsOptionAvailable +/* f1793a8: 0fc67244 */ jal mpIsChallengeComplete /* f1793ac: 24040024 */ addiu $a0,$zero,0x24 /* f1793b0: 5440000d */ bnezl $v0,.L0f1793e8 /* f1793b4: 001160c0 */ sll $t4,$s1,0x3 -/* f1793b8: 0fc67244 */ jal mpIsOptionAvailable +/* f1793b8: 0fc67244 */ jal mpIsChallengeComplete /* f1793bc: 24040027 */ addiu $a0,$zero,0x27 /* f1793c0: 54400009 */ bnezl $v0,.L0f1793e8 /* f1793c4: 001160c0 */ sll $t4,$s1,0x3 -/* f1793c8: 0fc67244 */ jal mpIsOptionAvailable +/* f1793c8: 0fc67244 */ jal mpIsChallengeComplete /* f1793cc: 2404002a */ addiu $a0,$zero,0x2a /* f1793d0: 54400005 */ bnezl $v0,.L0f1793e8 /* f1793d4: 001160c0 */ sll $t4,$s1,0x3 @@ -3219,15 +3219,15 @@ glabel menuhandler001791c8 /* f1793f4: 1000002a */ beqz $zero,.L0f1794a0 /* f1793f8: 8fbf0024 */ lw $ra,0x24($sp) /* f1793fc: 8e500000 */ lw $s0,0x0($s2) -/* f179400: 0fc67244 */ jal mpIsOptionAvailable +/* f179400: 0fc67244 */ jal mpIsChallengeComplete /* f179404: 24040024 */ addiu $a0,$zero,0x24 /* f179408: 5440000d */ bnezl $v0,.L0f179440 /* f17940c: 001068c0 */ sll $t5,$s0,0x3 -/* f179410: 0fc67244 */ jal mpIsOptionAvailable +/* f179410: 0fc67244 */ jal mpIsChallengeComplete /* f179414: 24040027 */ addiu $a0,$zero,0x27 /* f179418: 54400009 */ bnezl $v0,.L0f179440 /* f17941c: 001068c0 */ sll $t5,$s0,0x3 -/* f179420: 0fc67244 */ jal mpIsOptionAvailable +/* f179420: 0fc67244 */ jal mpIsChallengeComplete /* f179424: 2404002a */ addiu $a0,$zero,0x2a /* f179428: 14400004 */ bnez $v0,.L0f17943c /* f17942c: 24010001 */ addiu $at,$zero,0x1 @@ -3247,7 +3247,7 @@ glabel menuhandler001791c8 /* f17945c: 92040002 */ lbu $a0,0x2($s0) .L0f179460: /* f179460: afa3003c */ sw $v1,0x3c($sp) -/* f179464: 0fc67244 */ jal mpIsOptionAvailable +/* f179464: 0fc67244 */ jal mpIsChallengeComplete /* f179468: afa5002c */ sw $a1,0x2c($sp) /* f17946c: 8fa3003c */ lw $v1,0x3c($sp) /* f179470: 10400002 */ beqz $v0,.L0f17947c @@ -3819,7 +3819,7 @@ glabel func0f179da4 /* f179ea8: e4500d94 */ swc1 $f16,0xd94($v0) /* f179eac: 0fc62f1c */ jal func0f18bc70 /* f179eb0: 90c40003 */ lbu $a0,0x3($a2) -/* f179eb4: 0fc67244 */ jal mpIsOptionAvailable +/* f179eb4: 0fc67244 */ jal mpIsChallengeComplete /* f179eb8: 00402025 */ or $a0,$v0,$zero /* f179ebc: 54400056 */ bnezl $v0,.L0f17a018 /* f179ec0: 00001025 */ or $v0,$zero,$zero @@ -5456,7 +5456,7 @@ glabel func0f17b4f8 /* f17b6dc: e4700d94 */ swc1 $f16,0xd94($v1) /* f17b6e0: 0fc62ed2 */ jal func0f18bb48 /* f17b6e4: 90c40003 */ lbu $a0,0x3($a2) -/* f17b6e8: 0fc67244 */ jal mpIsOptionAvailable +/* f17b6e8: 0fc67244 */ jal mpIsChallengeComplete /* f17b6ec: 00402025 */ or $a0,$v0,$zero /* f17b6f0: 5440004f */ bnezl $v0,.L0f17b830 /* f17b6f4: 00001025 */ or $v0,$zero,$zero @@ -6485,7 +6485,7 @@ glabel menuhandler0017c6a4 /* f17c724: 263177bc */ addiu $s1,$s1,%lo(mpbodytable) /* f17c728: 2610772c */ addiu $s0,$s0,%lo(mpgeneralsimulants) .L0f17c72c: -/* f17c72c: 0fc67244 */ jal mpIsOptionAvailable +/* f17c72c: 0fc67244 */ jal mpIsChallengeComplete /* f17c730: 92040006 */ lbu $a0,0x6($s0) /* f17c734: 10400002 */ beqz $v0,.L0f17c740 /* f17c738: 26100008 */ addiu $s0,$s0,0x8 @@ -6500,7 +6500,7 @@ glabel menuhandler0017c6a4 /* f17c758: 263177bc */ addiu $s1,$s1,%lo(mpbodytable) /* f17c75c: 2610772c */ addiu $s0,$s0,%lo(mpgeneralsimulants) .L0f17c760: -/* f17c760: 0fc67244 */ jal mpIsOptionAvailable +/* f17c760: 0fc67244 */ jal mpIsChallengeComplete /* f17c764: 92040006 */ lbu $a0,0x6($s0) /* f17c768: 5040000a */ beqzl $v0,.L0f17c794 /* f17c76c: 26100008 */ addiu $s0,$s0,0x8 @@ -6557,7 +6557,7 @@ glabel menuhandler0017c6a4 /* f17c828: 00008825 */ or $s1,$zero,$zero /* f17c82c: 24130012 */ addiu $s3,$zero,0x12 .L0f17c830: -/* f17c830: 0fc67244 */ jal mpIsOptionAvailable +/* f17c830: 0fc67244 */ jal mpIsChallengeComplete /* f17c834: 92040006 */ lbu $a0,0x6($s0) /* f17c838: 50400005 */ beqzl $v0,.L0f17c850 /* f17c83c: 26310001 */ addiu $s1,$s1,0x1 @@ -6615,7 +6615,7 @@ glabel menuhandler0017c6a4 /* f17c8fc: 00008825 */ or $s1,$zero,$zero /* f17c900: 24130012 */ addiu $s3,$zero,0x12 .L0f17c904: -/* f17c904: 0fc67244 */ jal mpIsOptionAvailable +/* f17c904: 0fc67244 */ jal mpIsChallengeComplete /* f17c908: 92040006 */ lbu $a0,0x6($s0) /* f17c90c: 50400005 */ beqzl $v0,.L0f17c924 /* f17c910: 26310001 */ addiu $s1,$s1,0x1 @@ -6673,7 +6673,7 @@ glabel menuhandler0017c6a4 /* f17c9d8: 59e00010 */ blezl $t7,.L0f17ca1c /* f17c9dc: ae920008 */ sw $s2,0x8($s4) .L0f17c9e0: -/* f17c9e0: 0fc67244 */ jal mpIsOptionAvailable +/* f17c9e0: 0fc67244 */ jal mpIsChallengeComplete /* f17c9e4: 92040006 */ lbu $a0,0x6($s0) /* f17c9e8: 50400003 */ beqzl $v0,.L0f17c9f8 /* f17c9ec: 8e990000 */ lw $t9,0x0($s4) @@ -6891,7 +6891,7 @@ glabel menuhandlerMpSimulantDifficulty /* f17ceb4: 2631775c */ addiu $s1,$s1,%lo(mpspecialsimulants) /* f17ceb8: 2610772c */ addiu $s0,$s0,%lo(mpgeneralsimulants) .L0f17cebc: -/* f17cebc: 0fc67244 */ jal mpIsOptionAvailable +/* f17cebc: 0fc67244 */ jal mpIsChallengeComplete /* f17cec0: 92040006 */ lbu $a0,0x6($s0) /* f17cec4: 10400002 */ beqz $v0,.L0f17ced0 /* f17cec8: 26100008 */ addiu $s0,$s0,0x8 @@ -6906,7 +6906,7 @@ glabel menuhandlerMpSimulantDifficulty /* f17cee4: 2610772c */ addiu $s0,$s0,%lo(mpgeneralsimulants) /* f17cee8: 24130006 */ addiu $s3,$zero,0x6 .L0f17ceec: -/* f17ceec: 0fc67244 */ jal mpIsOptionAvailable +/* f17ceec: 0fc67244 */ jal mpIsChallengeComplete /* f17cef0: 92040006 */ lbu $a0,0x6($s0) /* f17cef4: 5040000a */ beqzl $v0,.L0f17cf20 /* f17cef8: 26310001 */ addiu $s1,$s1,0x1 @@ -7029,7 +7029,7 @@ glabel menuhandlerMpChangeSimulantType /* f17d0d8: 000250c0 */ sll $t2,$v0,0x3 /* f17d0dc: 01509021 */ addu $s2,$t2,$s0 .L0f17d0e0: -/* f17d0e0: 0fc67244 */ jal mpIsOptionAvailable +/* f17d0e0: 0fc67244 */ jal mpIsChallengeComplete /* f17d0e4: 92040006 */ lbu $a0,0x6($s0) /* f17d0e8: 10400002 */ beqz $v0,.L0f17d0f4 /* f17d0ec: 26100008 */ addiu $s0,$s0,0x8 @@ -7108,7 +7108,7 @@ s32 menuhandlerMpSimulantSlot(u32 operation, struct menu_item *item, s32 *value) } break; case MENUOP_CHECKHIDDEN: - if (item->param >= 4 && !mpIsOptionAvailable(0x40)) { + if (item->param >= 4 && !mpIsChallengeComplete(CHALLENGE_UNK64)) { return true; } break; @@ -9466,7 +9466,7 @@ glabel menuhandlerMpNumberOfSimulants /* f17f5d0: 01c00008 */ jr $t6 /* f17f5d4: 00000000 */ sll $zero,$zero,0x0 /* f17f5d8: 24040040 */ addiu $a0,$zero,0x40 -/* f17f5dc: 0fc67244 */ jal mpIsOptionAvailable +/* f17f5dc: 0fc67244 */ jal mpIsChallengeComplete /* f17f5e0: afa70020 */ sw $a3,0x20($sp) /* f17f5e4: 14400004 */ bnez $v0,.L0f17f5f8 /* f17f5e8: 8fa70020 */ lw $a3,0x20($sp) @@ -9595,7 +9595,7 @@ glabel menuhandler0017f74c /* f17f7a0: 2631775c */ addiu $s1,$s1,%lo(mpspecialsimulants) /* f17f7a4: 2610772c */ addiu $s0,$s0,%lo(mpgeneralsimulants) .L0f17f7a8: -/* f17f7a8: 0fc67244 */ jal mpIsOptionAvailable +/* f17f7a8: 0fc67244 */ jal mpIsChallengeComplete /* f17f7ac: 92040006 */ lbu $a0,0x6($s0) /* f17f7b0: 10400002 */ beqz $v0,.L0f17f7bc /* f17f7b4: 26100008 */ addiu $s0,$s0,0x8 @@ -9610,7 +9610,7 @@ glabel menuhandler0017f74c /* f17f7d4: 00008825 */ or $s1,$zero,$zero /* f17f7d8: 24130006 */ addiu $s3,$zero,0x6 .L0f17f7dc: -/* f17f7dc: 0fc67244 */ jal mpIsOptionAvailable +/* f17f7dc: 0fc67244 */ jal mpIsChallengeComplete /* f17f7e0: 92040006 */ lbu $a0,0x6($s0) /* f17f7e4: 5040000a */ beqzl $v0,.L0f17f810 /* f17f7e8: 26310001 */ addiu $s1,$s1,0x1 @@ -10022,7 +10022,7 @@ s32 menuhandlerMpDisplayTeam(u32 operation, struct menu_item *item, s32 *value) s32 menuhandlerMpOneHitKills(u32 operation, struct menu_item *item, s32 *value) { if (operation == MENUOP_CHECKDISABLED || operation == MENUOP_CHECKHIDDEN) { - if (mpIsOptionAvailable(0x1e)) { + if (mpIsChallengeComplete(CHALLENGE_7)) { return false; } @@ -10053,7 +10053,7 @@ glabel menuhandlerMpSlowMotion /* f17fe90: 8c2888dc */ lw $t0,%lo(var7f1b88dc)($at) /* f17fe94: 01000008 */ jr $t0 /* f17fe98: 00000000 */ sll $zero,$zero,0x0 -/* f17fe9c: 0fc67244 */ jal mpIsOptionAvailable +/* f17fe9c: 0fc67244 */ jal mpIsChallengeComplete /* f17fea0: 2404001d */ addiu $a0,$zero,0x1d /* f17fea4: 10400003 */ beqz $v0,.L0f17feb4 /* f17fea8: 00000000 */ sll $zero,$zero,0x0 @@ -16002,7 +16002,7 @@ glabel menuhandler00185068 /* f185118: 2631716c */ addiu $s1,$s1,%lo(var8008716c) /* f18511c: 26107148 */ addiu $s0,$s0,%lo(mpscenarios) .L0f185120: -/* f185120: 0fc67244 */ jal mpIsOptionAvailable +/* f185120: 0fc67244 */ jal mpIsChallengeComplete /* f185124: 92040004 */ lbu $a0,0x4($s0) /* f185128: 50400008 */ beqzl $v0,.L0f18514c /* f18512c: 26100006 */ addiu $s0,$s0,0x6 @@ -16024,7 +16024,7 @@ glabel menuhandler00185068 /* f185164: 2631716c */ addiu $s1,$s1,%lo(var8008716c) /* f185168: 26107148 */ addiu $s0,$s0,%lo(mpscenarios) .L0f18516c: -/* f18516c: 0fc67244 */ jal mpIsOptionAvailable +/* f18516c: 0fc67244 */ jal mpIsChallengeComplete /* f185170: 92040004 */ lbu $a0,0x4($s0) /* f185174: 5040000f */ beqzl $v0,.L0f1851b4 /* f185178: 26100006 */ addiu $s0,$s0,0x6 @@ -16054,7 +16054,7 @@ glabel menuhandler00185068 /* f1851cc: 00008825 */ or $s1,$zero,$zero /* f1851d0: 24130006 */ addiu $s3,$zero,0x6 .L0f1851d4: -/* f1851d4: 0fc67244 */ jal mpIsOptionAvailable +/* f1851d4: 0fc67244 */ jal mpIsChallengeComplete /* f1851d8: 92040004 */ lbu $a0,0x4($s0) /* f1851dc: 5040000d */ beqzl $v0,.L0f185214 /* f1851e0: 26310001 */ addiu $s1,$s1,0x1 @@ -16085,7 +16085,7 @@ glabel menuhandler00185068 /* f185234: 00008825 */ or $s1,$zero,$zero /* f185238: 24130006 */ addiu $s3,$zero,0x6 .L0f18523c: -/* f18523c: 0fc67244 */ jal mpIsOptionAvailable +/* f18523c: 0fc67244 */ jal mpIsChallengeComplete /* f185240: 92040004 */ lbu $a0,0x4($s0) /* f185244: 5040000d */ beqzl $v0,.L0f18527c /* f185248: 26310001 */ addiu $s1,$s1,0x1 @@ -16111,11 +16111,11 @@ glabel menuhandler00185068 /* f18528c: 24190002 */ addiu $t9,$zero,0x2 /* f185290: 12800009 */ beqz $s4,.L0f1852b8 /* f185294: aeb90000 */ sw $t9,0x0($s5) -/* f185298: 0fc67244 */ jal mpIsOptionAvailable +/* f185298: 0fc67244 */ jal mpIsChallengeComplete /* f18529c: 2404001f */ addiu $a0,$zero,0x1f /* f1852a0: 5440002e */ bnezl $v0,.L0f18535c /* f1852a4: 00001025 */ or $v0,$zero,$zero -/* f1852a8: 0fc67244 */ jal mpIsOptionAvailable +/* f1852a8: 0fc67244 */ jal mpIsChallengeComplete /* f1852ac: 24040021 */ addiu $a0,$zero,0x21 /* f1852b0: 5440002a */ bnezl $v0,.L0f18535c /* f1852b4: 00001025 */ or $v0,$zero,$zero @@ -16141,7 +16141,7 @@ glabel menuhandler00185068 /* f185300: 59c00015 */ blezl $t6,.L0f185358 /* f185304: aeb20008 */ sw $s2,0x8($s5) .L0f185308: -/* f185308: 0fc67244 */ jal mpIsOptionAvailable +/* f185308: 0fc67244 */ jal mpIsChallengeComplete /* 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 d56e27336..332f02092 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 mpIsOptionAvailable +/* f187878: 0fc67244 */ jal mpIsChallengeComplete /* 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 mpIsOptionAvailable +/* f18789c: 0fc67244 */ jal mpIsChallengeComplete /* f1878a0: 2404001d */ addiu $a0,$zero,0x1d /* f1878a4: 3c05800b */ lui $a1,%hi(g_MpSetup) /* f1878a8: 14400005 */ bnez $v0,.L0f1878c0 @@ -1735,7 +1735,7 @@ glabel mpGetNumWeaponOptions /* f188bfc: 96040004 */ lhu $a0,0x4($s0) .L0f188c00: /* f188c00: 308e007f */ andi $t6,$a0,0x7f -/* f188c04: 0fc67244 */ jal mpIsOptionAvailable +/* f188c04: 0fc67244 */ jal mpIsChallengeComplete /* f188c08: 01c02025 */ or $a0,$t6,$zero /* f188c0c: 10400002 */ beqz $v0,.L0f188c18 /* f188c10: 2610000a */ addiu $s0,$s0,0xa @@ -1767,7 +1767,7 @@ glabel mpGetWeaponLabel /* f188c64: 96040004 */ lhu $a0,0x4($s0) .L0f188c68: /* f188c68: 308e007f */ andi $t6,$a0,0x7f -/* f188c6c: 0fc67244 */ jal mpIsOptionAvailable +/* f188c6c: 0fc67244 */ jal mpIsChallengeComplete /* f188c70: 01c02025 */ or $a0,$t6,$zero /* f188c74: 5040001e */ beqzl $v0,.L0f188cf0 /* f188c78: 2610000a */ addiu $s0,$s0,0xa @@ -1834,7 +1834,7 @@ glabel mpSetWeaponSlot .L0f188d44: /* f188d44: 96040004 */ lhu $a0,0x4($s0) /* f188d48: 308e007f */ andi $t6,$a0,0x7f -/* f188d4c: 0fc67244 */ jal mpIsOptionAvailable +/* f188d4c: 0fc67244 */ jal mpIsChallengeComplete /* f188d50: 01c02025 */ or $a0,$t6,$zero /* f188d54: 14400002 */ bnez $v0,.L0f188d60 /* f188d58: 26520001 */ addiu $s2,$s2,0x1 @@ -1876,7 +1876,7 @@ glabel mpGetWeaponSlot /* f188dd0: 96040004 */ lhu $a0,0x4($s0) .L0f188dd4: /* f188dd4: 3098007f */ andi $t8,$a0,0x7f -/* f188dd8: 0fc67244 */ jal mpIsOptionAvailable +/* f188dd8: 0fc67244 */ jal mpIsChallengeComplete /* 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 mpIsOptionAvailable +/* f188f1c: 0fc67244 */ jal mpIsChallengeComplete /* f188f20: 92040008 */ lbu $a0,0x8($s0) /* f188f24: 5040000e */ beqzl $v0,.L0f188f60 /* f188f28: 920e000c */ lbu $t6,0xc($s0) -/* f188f2c: 0fc67244 */ jal mpIsOptionAvailable +/* f188f2c: 0fc67244 */ jal mpIsChallengeComplete /* f188f30: 92040009 */ lbu $a0,0x9($s0) /* f188f34: 5040000a */ beqzl $v0,.L0f188f60 /* f188f38: 920e000c */ lbu $t6,0xc($s0) -/* f188f3c: 0fc67244 */ jal mpIsOptionAvailable +/* f188f3c: 0fc67244 */ jal mpIsChallengeComplete /* f188f40: 9204000a */ lbu $a0,0xa($s0) /* f188f44: 50400006 */ beqzl $v0,.L0f188f60 /* f188f48: 920e000c */ lbu $t6,0xc($s0) -/* f188f4c: 0fc67244 */ jal mpIsOptionAvailable +/* f188f4c: 0fc67244 */ jal mpIsChallengeComplete /* 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 mpIsOptionAvailable +/* f188fd0: 0fc67244 */ jal mpIsChallengeComplete /* f188fd4: 92040008 */ lbu $a0,0x8($s0) /* f188fd8: 5040000e */ beqzl $v0,.L0f189014 /* f188fdc: 920e000c */ lbu $t6,0xc($s0) -/* f188fe0: 0fc67244 */ jal mpIsOptionAvailable +/* f188fe0: 0fc67244 */ jal mpIsChallengeComplete /* f188fe4: 92040009 */ lbu $a0,0x9($s0) /* f188fe8: 5040000a */ beqzl $v0,.L0f189014 /* f188fec: 920e000c */ lbu $t6,0xc($s0) -/* f188ff0: 0fc67244 */ jal mpIsOptionAvailable +/* f188ff0: 0fc67244 */ jal mpIsChallengeComplete /* f188ff4: 9204000a */ lbu $a0,0xa($s0) /* f188ff8: 50400006 */ beqzl $v0,.L0f189014 /* f188ffc: 920e000c */ lbu $t6,0xc($s0) -/* f189000: 0fc67244 */ jal mpIsOptionAvailable +/* f189000: 0fc67244 */ jal mpIsChallengeComplete /* 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 mpIsOptionAvailable +/* f189198: 0fc67244 */ jal mpIsChallengeComplete /* f18919c: 93c40008 */ lbu $a0,0x8($s8) /* f1891a0: 50400010 */ beqzl $v0,.L0f1891e4 /* f1891a4: 93d8000c */ lbu $t8,0xc($s8) -/* f1891a8: 0fc67244 */ jal mpIsOptionAvailable +/* f1891a8: 0fc67244 */ jal mpIsChallengeComplete /* f1891ac: 93c40009 */ lbu $a0,0x9($s8) /* f1891b0: 5040000c */ beqzl $v0,.L0f1891e4 /* f1891b4: 93d8000c */ lbu $t8,0xc($s8) -/* f1891b8: 0fc67244 */ jal mpIsOptionAvailable +/* f1891b8: 0fc67244 */ jal mpIsChallengeComplete /* f1891bc: 93c4000a */ lbu $a0,0xa($s8) /* f1891c0: 50400008 */ beqzl $v0,.L0f1891e4 /* f1891c4: 93d8000c */ lbu $t8,0xc($s8) -/* f1891c8: 0fc67244 */ jal mpIsOptionAvailable +/* f1891c8: 0fc67244 */ jal mpIsChallengeComplete /* 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 mpIsOptionAvailable +/* f18921c: 0fc67244 */ jal mpIsChallengeComplete /* 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 mpIsOptionAvailable +/* f189314: 0fc67244 */ jal mpIsChallengeComplete /* 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 mpIsOptionAvailable +/* f18933c: 0fc67244 */ jal mpIsChallengeComplete /* 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 mpIsOptionAvailable +/* f189364: 0fc67244 */ jal mpIsChallengeComplete /* 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 mpIsOptionAvailable +/* f18938c: 0fc67244 */ jal mpIsChallengeComplete /* 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 mpIsOptionAvailable +/* f189444: 0fc67244 */ jal mpIsChallengeComplete /* 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 mpIsOptionAvailable +/* f18cc94: 0fc67244 */ jal mpIsChallengeComplete /* 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 mpIsOptionAvailable +/* f18dbc0: 0fc67244 */ jal mpIsChallengeComplete /* 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 mpIsOptionAvailable +/* f18de48: 0fc67244 */ jal mpIsChallengeComplete /* 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 8752813c2..5d7db22c3 100644 --- a/src/game/game_1999b0.c +++ b/src/game/game_1999b0.c @@ -1901,10 +1901,10 @@ glabel func0f19afdc /* f19b2dc: 2a610004 */ slti $at,$s3,0x4 /* f19b2e0: 1420ffa0 */ bnez $at,.L0f19b164 /* f19b2e4: 00000000 */ sll $zero,$zero,0x0 -/* f19b2e8: 3c14800b */ lui $s4,%hi(g_MpAvailableOptions) -/* f19b2ec: 3c16800b */ lui $s6,%hi(g_MpAvailableOptions) -/* f19b2f0: 26d6ccc8 */ addiu $s6,$s6,%lo(g_MpAvailableOptions) -/* f19b2f4: 2694ccc8 */ addiu $s4,$s4,%lo(g_MpAvailableOptions) +/* f19b2e8: 3c14800b */ lui $s4,%hi(g_MpChallengesCompleted) +/* f19b2ec: 3c16800b */ lui $s6,%hi(g_MpChallengesCompleted) +/* f19b2f0: 26d6ccc8 */ addiu $s6,$s6,%lo(g_MpChallengesCompleted) +/* f19b2f4: 2694ccc8 */ addiu $s4,$s4,%lo(g_MpChallengesCompleted) /* f19b2f8: 00009825 */ or $s3,$zero,$zero /* f19b2fc: 24110010 */ addiu $s1,$zero,0x10 .L0f19b300: @@ -2001,8 +2001,8 @@ glabel func0f19afdc /* f19b43c: 3c088008 */ lui $t0,%hi(mpweaponstable) /* f19b440: 25087268 */ addiu $t0,$t0,%lo(mpweaponstable) /* f19b444: 0019c840 */ sll $t9,$t9,0x1 -/* f19b448: 3c11800b */ lui $s1,%hi(g_MpAvailableOptions) -/* f19b44c: 2631ccc8 */ addiu $s1,$s1,%lo(g_MpAvailableOptions) +/* f19b448: 3c11800b */ lui $s1,%hi(g_MpChallengesCompleted) +/* f19b44c: 2631ccc8 */ addiu $s1,$s1,%lo(g_MpChallengesCompleted) /* f19b450: 03288021 */ addu $s0,$t9,$t0 /* f19b454: 96090004 */ lhu $t1,0x4($s0) .L0f19b458: @@ -2029,7 +2029,7 @@ glabel func0f19afdc .L0f19b4a4: /* f19b4a4: 0fc6257a */ jal func0f1895e8 /* f19b4a8: 00000000 */ sll $zero,$zero,0x0 -/* f19b4ac: 0fc67244 */ jal mpIsOptionAvailable +/* f19b4ac: 0fc67244 */ jal mpIsChallengeComplete /* 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 mpIsOptionAvailable +/* f19b634: 0fc67244 */ jal mpIsChallengeComplete /* f19b638: 24040040 */ addiu $a0,$zero,0x40 /* f19b63c: 14400005 */ bnez $v0,.L0f19b654 /* f19b640: 3c06800b */ lui $a2,%hi(g_MpSetup) @@ -2967,8 +2967,8 @@ glabel func0f19bfa0 /* f19c134: 10200008 */ beqz $at,.L0f19c158 /* f19c138: 3c0c800b */ lui $t4,%hi(var800acca0) /* f19c13c: 258ccca0 */ addiu $t4,$t4,%lo(var800acca0) -/* f19c140: 3c03800b */ lui $v1,%hi(g_MpAvailableOptions) -/* f19c144: 2463ccc8 */ addiu $v1,$v1,%lo(g_MpAvailableOptions) +/* f19c140: 3c03800b */ lui $v1,%hi(g_MpChallengesCompleted) +/* f19c144: 2463ccc8 */ addiu $v1,$v1,%lo(g_MpChallengesCompleted) /* f19c148: 020c1021 */ addu $v0,$s0,$t4 .L0f19c14c: /* f19c14c: 24420001 */ addiu $v0,$v0,0x1 @@ -2995,9 +2995,9 @@ GLOBAL_ASM( glabel func0f19c190 /* f19c190: 27bdffe8 */ addiu $sp,$sp,-24 /* f19c194: 3c02800b */ lui $v0,%hi(var800acca0) -/* f19c198: 3c03800b */ lui $v1,%hi(g_MpAvailableOptions) +/* f19c198: 3c03800b */ lui $v1,%hi(g_MpChallengesCompleted) /* f19c19c: afbf0014 */ sw $ra,0x14($sp) -/* f19c1a0: 2463ccc8 */ addiu $v1,$v1,%lo(g_MpAvailableOptions) +/* f19c1a0: 2463ccc8 */ addiu $v1,$v1,%lo(g_MpChallengesCompleted) /* f19c1a4: 2442cca0 */ addiu $v0,$v0,%lo(var800acca0) .L0f19c1a8: /* f19c1a8: 24420001 */ addiu $v0,$v0,0x1 @@ -3431,27 +3431,27 @@ void func0f19c6bc(void) } } -bool mpIsOptionAvailable(s32 option) +bool mpIsChallengeComplete(s32 challenge) { - if (option == 0) { + if (challenge == 0) { return true; } - return (g_MpAvailableOptions[option] & 1) != 0; + return (g_MpChallengesCompleted[challenge] & 1) != 0; } -bool func0f19c938(u32 shiftamount, s32 option) +bool mpIsChallengeCompleteWithNumPlayers(u32 numplayers, s32 challenge) { - if (option == 0) { + if (challenge == 0) { return true; } - return (g_MpAvailableOptions[option] & (2 << shiftamount)) != 0; + return (g_MpChallengesCompleted[challenge] & (2 << numplayers)) != 0; } -bool func0f19c96c(s32 option) +bool func0f19c96c(s32 challenge) { - if (option) { + if (challenge) { return false; } diff --git a/src/gvars/gvars.c b/src/gvars/gvars.c index ae07003ae..f998a21a4 100644 --- a/src/gvars/gvars.c +++ b/src/gvars/gvars.c @@ -30801,7 +30801,7 @@ u32 var800accb8 = 0; u32 var800accbc = 0; u32 var800accc0 = 0; u32 var800accc4 = 0; -u8 g_MpAvailableOptions[4] = {0}; // This is one *byte* per option, and length is unknown +u8 g_MpChallengesCompleted[4] = {0}; // This is one *byte* per option, and length is unknown u32 var800acccc = 0; u32 var800accd0 = 0; u32 var800accd4 = 0; diff --git a/src/include/constants.h b/src/include/constants.h index ddfb46856..bda3849ab 100644 --- a/src/include/constants.h +++ b/src/include/constants.h @@ -88,6 +88,10 @@ #define CASING_RIFLE 2 #define CASING_SHOTGUN 3 +// Challenge numbers don't appear to be a 1:1 mapping :( +#define CHALLENGE_7 30 +#define CHALLENGE_UNK64 64 + #define CHANNEL_0 0 #define CHANNEL_1 1 #define CHANNEL_2 2 diff --git a/src/include/game/game_1999b0.h b/src/include/game/game_1999b0.h index 04939751b..64a88ad0b 100644 --- a/src/include/game/game_1999b0.h +++ b/src/include/game/game_1999b0.h @@ -59,6 +59,6 @@ u32 func0f19c47c(void); void func0f19c4b8(s32 arg0, s32 arg1, s32 numplayers, s32 arg3); u32 func0f19c53c(void); void func0f19c6bc(void); -bool mpIsOptionAvailable(s32 option); +bool mpIsChallengeComplete(s32 challenge); #endif diff --git a/src/include/gvars/gvars.h b/src/include/gvars/gvars.h index b70f22233..54750b722 100644 --- a/src/include/gvars/gvars.h +++ b/src/include/gvars/gvars.h @@ -858,7 +858,7 @@ extern u32 var800acc70; extern u32 var800acc74; extern u32 var800acc80; extern u32 var800acca0; -extern u8 g_MpAvailableOptions[]; +extern u8 g_MpChallengesCompleted[]; extern u32 var800acd20; extern u32 var800ad158; extern u32 var800ad1a0;