#include #include "constants.h" #include "constants.h" #include "game/camdraw.h" #include "game/cheats.h" #include "game/game_0b69d0.h" #include "game/game_0d4690.h" #include "game/bg.h" #include "game/game_19aa80.h" #include "game/training/training.h" #include "game/gamefile.h" #include "game/mplayer/mplayer.h" #include "game/pak/pak.h" #include "game/options.h" #include "game/utils.h" #include "bss.h" #include "lib/lib_0bfb0.h" #include "lib/snd.h" #include "lib/lib_126b0.h" #include "lib/lib_4b170.h" #include "data.h" #include "types.h" u8 *savefileGetFlags(void) { return g_SoloSaveFile.flags; } void savefileSetFlag(u32 value) { pakSetBitflag(value, g_SoloSaveFile.flags, true); } void savefileUnsetFlag(u32 value) { pakSetBitflag(value, g_SoloSaveFile.flags, false); } u32 savefileHasFlag(u32 value) { return pakHasBitflag(value, g_SoloSaveFile.flags); } void savefilePrintFlags(void) { s32 i; for (i = 0x23; i != 0x4f; i++) { osSyncPrintf("Flag %d = %s", i, pakHasBitflag(i, g_SoloSaveFile.flags) ? "TRUE" : "FALSE"); } } #if VERSION >= VERSION_PAL_FINAL GLOBAL_ASM( glabel savefileApplyOptions /* f10fb94: 3c03800a */ lui $v1,0x800a /* f10fb98: 2463a510 */ addiu $v1,$v1,-23280 /* f10fb9c: 8c620298 */ lw $v0,0x298($v1) /* f10fba0: 27bdffd8 */ addiu $sp,$sp,-40 /* f10fba4: afbf001c */ sw $ra,0x1c($sp) /* f10fba8: afb00018 */ sw $s0,0x18($sp) /* f10fbac: 04410005 */ bgez $v0,.PF0f10fbc4 /* f10fbb0: 00803025 */ move $a2,$a0 /* f10fbb4: 8c6e029c */ lw $t6,0x29c($v1) /* f10fbb8: 240f0004 */ li $t7,0x4 /* f10fbbc: 05c20004 */ bltzl $t6,.PF0f10fbd0 /* f10fbc0: afaf0024 */ sw $t7,0x24($sp) .PF0f10fbc4: /* f10fbc4: 10000002 */ b .PF0f10fbd0 /* f10fbc8: afa00024 */ sw $zero,0x24($sp) /* f10fbcc: afaf0024 */ sw $t7,0x24($sp) .PF0f10fbd0: /* f10fbd0: 04410004 */ bgez $v0,.PF0f10fbe4 /* f10fbd4: 00002025 */ move $a0,$zero /* f10fbd8: 8c78029c */ lw $t8,0x29c($v1) /* f10fbdc: 24080005 */ li $t0,0x5 /* f10fbe0: 07000003 */ bltz $t8,.PF0f10fbf0 .PF0f10fbe4: /* f10fbe4: 24190001 */ li $t9,0x1 /* f10fbe8: 10000002 */ b .PF0f10fbf4 /* f10fbec: afb90020 */ sw $t9,0x20($sp) .PF0f10fbf0: /* f10fbf0: afa80020 */ sw $t0,0x20($sp) .PF0f10fbf4: /* f10fbf4: 24d00014 */ addiu $s0,$a2,0x14 /* f10fbf8: 0fc47c20 */ jal pakHasBitflag /* f10fbfc: 02002825 */ move $a1,$s0 /* f10fc00: 8fa40024 */ lw $a0,0x24($sp) /* f10fc04: 0fc54d7e */ jal optionsSetForwardPitch /* f10fc08: 00402825 */ move $a1,$v0 /* f10fc0c: 24040001 */ li $a0,0x1 /* f10fc10: 0fc47c20 */ jal pakHasBitflag /* f10fc14: 02002825 */ move $a1,$s0 /* f10fc18: 8fa40024 */ lw $a0,0x24($sp) /* f10fc1c: 0fc54d94 */ jal optionsSetAutoAim /* f10fc20: 00402825 */ move $a1,$v0 /* f10fc24: 24040002 */ li $a0,0x2 /* f10fc28: 0fc47c20 */ jal pakHasBitflag /* f10fc2c: 02002825 */ move $a1,$s0 /* f10fc30: 8fa40024 */ lw $a0,0x24($sp) /* f10fc34: 0fc54dc0 */ jal optionsSetAimControl /* f10fc38: 00402825 */ move $a1,$v0 /* f10fc3c: 24040003 */ li $a0,0x3 /* f10fc40: 0fc47c20 */ jal pakHasBitflag /* f10fc44: 02002825 */ move $a1,$s0 /* f10fc48: 8fa40024 */ lw $a0,0x24($sp) /* f10fc4c: 0fc54dd6 */ jal optionsSetSightOnScreen /* f10fc50: 00402825 */ move $a1,$v0 /* f10fc54: 24040004 */ li $a0,0x4 /* f10fc58: 0fc47c20 */ jal pakHasBitflag /* f10fc5c: 02002825 */ move $a1,$s0 /* f10fc60: 8fa40024 */ lw $a0,0x24($sp) /* f10fc64: 0fc54daa */ jal optionsSetLookAhead /* f10fc68: 00402825 */ move $a1,$v0 /* f10fc6c: 24040005 */ li $a0,0x5 /* f10fc70: 0fc47c20 */ jal pakHasBitflag /* f10fc74: 02002825 */ move $a1,$s0 /* f10fc78: 8fa40024 */ lw $a0,0x24($sp) /* f10fc7c: 0fc54dec */ jal optionsSetAmmoOnScreen /* f10fc80: 00402825 */ move $a1,$v0 /* f10fc84: 24040009 */ li $a0,0x9 /* f10fc88: 0fc47c20 */ jal pakHasBitflag /* f10fc8c: 02002825 */ move $a1,$s0 /* f10fc90: 8fa40024 */ lw $a0,0x24($sp) /* f10fc94: 0fc54e76 */ jal optionsSetHeadRoll /* f10fc98: 00402825 */ move $a1,$v0 /* f10fc9c: 2404000a */ li $a0,0xa /* f10fca0: 0fc47c20 */ jal pakHasBitflag /* f10fca4: 02002825 */ move $a1,$s0 /* f10fca8: 8fa40024 */ lw $a0,0x24($sp) /* f10fcac: 0fc54e02 */ jal optionsSetShowGunFunction /* f10fcb0: 00402825 */ move $a1,$v0 /* f10fcb4: 24040015 */ li $a0,0x15 /* f10fcb8: 0fc47c20 */ jal pakHasBitflag /* f10fcbc: 02002825 */ move $a1,$s0 /* f10fcc0: 8fa40024 */ lw $a0,0x24($sp) /* f10fcc4: 0fc54e18 */ jal optionsSetAlwaysShowTarget /* f10fcc8: 00402825 */ move $a1,$v0 /* f10fccc: 24040017 */ li $a0,0x17 /* f10fcd0: 0fc47c20 */ jal pakHasBitflag /* f10fcd4: 02002825 */ move $a1,$s0 /* f10fcd8: 8fa40024 */ lw $a0,0x24($sp) /* f10fcdc: 0fc54e2e */ jal optionsSetShowZoomRange /* f10fce0: 00402825 */ move $a1,$v0 /* f10fce4: 2404001a */ li $a0,0x1a /* f10fce8: 0fc47c20 */ jal pakHasBitflag /* f10fcec: 02002825 */ move $a1,$s0 /* f10fcf0: 8fa40024 */ lw $a0,0x24($sp) /* f10fcf4: 0fc54e5a */ jal optionsSetShowMissionTime /* f10fcf8: 00402825 */ move $a1,$v0 /* f10fcfc: 24040020 */ li $a0,0x20 /* f10fd00: 0fc47c20 */ jal pakHasBitflag /* f10fd04: 02002825 */ move $a1,$s0 /* f10fd08: 8fa40024 */ lw $a0,0x24($sp) /* f10fd0c: 0fc54e44 */ jal optionsSetPaintball /* f10fd10: 00402825 */ move $a1,$v0 /* f10fd14: 2404000c */ li $a0,0xc /* f10fd18: 0fc47c20 */ jal pakHasBitflag /* f10fd1c: 02002825 */ move $a1,$s0 /* f10fd20: 8fa40020 */ lw $a0,0x20($sp) /* f10fd24: 0fc54d7e */ jal optionsSetForwardPitch /* f10fd28: 00402825 */ move $a1,$v0 /* f10fd2c: 2404000d */ li $a0,0xd /* f10fd30: 0fc47c20 */ jal pakHasBitflag /* f10fd34: 02002825 */ move $a1,$s0 /* f10fd38: 8fa40020 */ lw $a0,0x20($sp) /* f10fd3c: 0fc54d94 */ jal optionsSetAutoAim /* f10fd40: 00402825 */ move $a1,$v0 /* f10fd44: 2404000e */ li $a0,0xe /* f10fd48: 0fc47c20 */ jal pakHasBitflag /* f10fd4c: 02002825 */ move $a1,$s0 /* f10fd50: 8fa40020 */ lw $a0,0x20($sp) /* f10fd54: 0fc54dc0 */ jal optionsSetAimControl /* f10fd58: 00402825 */ move $a1,$v0 /* f10fd5c: 2404000f */ li $a0,0xf /* f10fd60: 0fc47c20 */ jal pakHasBitflag /* f10fd64: 02002825 */ move $a1,$s0 /* f10fd68: 8fa40020 */ lw $a0,0x20($sp) /* f10fd6c: 0fc54dd6 */ jal optionsSetSightOnScreen /* f10fd70: 00402825 */ move $a1,$v0 /* f10fd74: 24040010 */ li $a0,0x10 /* f10fd78: 0fc47c20 */ jal pakHasBitflag /* f10fd7c: 02002825 */ move $a1,$s0 /* f10fd80: 8fa40020 */ lw $a0,0x20($sp) /* f10fd84: 0fc54daa */ jal optionsSetLookAhead /* f10fd88: 00402825 */ move $a1,$v0 /* f10fd8c: 24040011 */ li $a0,0x11 /* f10fd90: 0fc47c20 */ jal pakHasBitflag /* f10fd94: 02002825 */ move $a1,$s0 /* f10fd98: 8fa40020 */ lw $a0,0x20($sp) /* f10fd9c: 0fc54dec */ jal optionsSetAmmoOnScreen /* f10fda0: 00402825 */ move $a1,$v0 /* f10fda4: 24040012 */ li $a0,0x12 /* f10fda8: 0fc47c20 */ jal pakHasBitflag /* f10fdac: 02002825 */ move $a1,$s0 /* f10fdb0: 8fa40020 */ lw $a0,0x20($sp) /* f10fdb4: 0fc54e76 */ jal optionsSetHeadRoll /* f10fdb8: 00402825 */ move $a1,$v0 /* f10fdbc: 24040013 */ li $a0,0x13 /* f10fdc0: 0fc47c20 */ jal pakHasBitflag /* f10fdc4: 02002825 */ move $a1,$s0 /* f10fdc8: 8fa40020 */ lw $a0,0x20($sp) /* f10fdcc: 0fc54e02 */ jal optionsSetShowGunFunction /* f10fdd0: 00402825 */ move $a1,$v0 /* f10fdd4: 24040016 */ li $a0,0x16 /* f10fdd8: 0fc47c20 */ jal pakHasBitflag /* f10fddc: 02002825 */ move $a1,$s0 /* f10fde0: 8fa40020 */ lw $a0,0x20($sp) /* f10fde4: 0fc54e18 */ jal optionsSetAlwaysShowTarget /* f10fde8: 00402825 */ move $a1,$v0 /* f10fdec: 24040018 */ li $a0,0x18 /* f10fdf0: 0fc47c20 */ jal pakHasBitflag /* f10fdf4: 02002825 */ move $a1,$s0 /* f10fdf8: 8fa40020 */ lw $a0,0x20($sp) /* f10fdfc: 0fc54e2e */ jal optionsSetShowZoomRange /* f10fe00: 00402825 */ move $a1,$v0 /* f10fe04: 2404001b */ li $a0,0x1b /* f10fe08: 0fc47c20 */ jal pakHasBitflag /* f10fe0c: 02002825 */ move $a1,$s0 /* f10fe10: 8fa40020 */ lw $a0,0x20($sp) /* f10fe14: 0fc54e5a */ jal optionsSetShowMissionTime /* f10fe18: 00402825 */ move $a1,$v0 /* f10fe1c: 24040021 */ li $a0,0x21 /* f10fe20: 0fc47c20 */ jal pakHasBitflag /* f10fe24: 02002825 */ move $a1,$s0 /* f10fe28: 8fa40020 */ lw $a0,0x20($sp) /* f10fe2c: 0fc54e44 */ jal optionsSetPaintball /* f10fe30: 00402825 */ move $a1,$v0 /* f10fe34: 2404000b */ li $a0,0xb /* f10fe38: 0fc47c20 */ jal pakHasBitflag /* f10fe3c: 02002825 */ move $a1,$s0 /* f10fe40: 0fc54e70 */ jal optionsSetInGameSubtitles /* f10fe44: 00402025 */ move $a0,$v0 /* f10fe48: 24040014 */ li $a0,0x14 /* f10fe4c: 0fc47c20 */ jal pakHasBitflag /* f10fe50: 02002825 */ move $a1,$s0 /* f10fe54: 0fc54e73 */ jal optionsSetCutsceneSubtitles /* f10fe58: 00402025 */ move $a0,$v0 /* f10fe5c: 24040021 */ li $a0,0x21 /* f10fe60: 0fc47c20 */ jal pakHasBitflag /* f10fe64: 02002825 */ move $a1,$s0 /* f10fe68: 8fa40020 */ lw $a0,0x20($sp) /* f10fe6c: 0fc54e44 */ jal optionsSetPaintball /* f10fe70: 00402825 */ move $a1,$v0 /* f10fe74: 24040040 */ li $a0,0x40 /* f10fe78: 0fc47c20 */ jal pakHasBitflag /* f10fe7c: 02002825 */ move $a1,$s0 /* f10fe80: 3c01800a */ lui $at,0x800a /* f10fe84: a022a9f3 */ sb $v0,-0x560d($at) /* f10fe88: 24040022 */ li $a0,0x22 /* f10fe8c: 0fc47c20 */ jal pakHasBitflag /* f10fe90: 02002825 */ move $a1,$s0 /* f10fe94: 1040000d */ beqz $v0,.PF0f10fecc /* f10fe98: 3c098009 */ lui $t1,0x8009 /* f10fe9c: 91291040 */ lbu $t1,0x1040($t1) /* f10fea0: 24010001 */ li $at,0x1 /* f10fea4: 15210005 */ bne $t1,$at,.PF0f10febc /* f10fea8: 00000000 */ nop /* f10feac: 0fc2f26f */ jal optionsSetHiRes /* f10feb0: 00002025 */ move $a0,$zero /* f10feb4: 10000007 */ b .PF0f10fed4 /* f10feb8: 00000000 */ nop .PF0f10febc: /* f10febc: 0fc2f26f */ jal optionsSetHiRes /* f10fec0: 24040001 */ li $a0,0x1 /* f10fec4: 10000003 */ b .PF0f10fed4 /* f10fec8: 00000000 */ nop .PF0f10fecc: /* f10fecc: 0fc2f26f */ jal optionsSetHiRes /* f10fed0: 00002025 */ move $a0,$zero .PF0f10fed4: /* f10fed4: 3c0a8009 */ lui $t2,0x8009 /* f10fed8: 914a1040 */ lbu $t2,0x1040($t2) /* f10fedc: 24010001 */ li $at,0x1 /* f10fee0: 55410008 */ bnel $t2,$at,.PF0f10ff04 /* f10fee4: 24040019 */ li $a0,0x19 /* f10fee8: 0fc54efc */ jal optionsSetScreenSplit /* f10feec: 00002025 */ move $a0,$zero /* f10fef0: 0fc54ef6 */ jal optionsSetScreenRatio /* f10fef4: 00002025 */ move $a0,$zero /* f10fef8: 1000000c */ b .PF0f10ff2c /* f10fefc: 24040008 */ li $a0,0x8 /* f10ff00: 24040019 */ li $a0,0x19 .PF0f10ff04: /* f10ff04: 0fc47c20 */ jal pakHasBitflag /* f10ff08: 02002825 */ move $a1,$s0 /* f10ff0c: 0fc54efc */ jal optionsSetScreenSplit /* f10ff10: 304400ff */ andi $a0,$v0,0xff /* f10ff14: 24040007 */ li $a0,0x7 /* f10ff18: 0fc47c20 */ jal pakHasBitflag /* f10ff1c: 02002825 */ move $a1,$s0 /* f10ff20: 0fc54ef6 */ jal optionsSetScreenRatio /* f10ff24: 00402025 */ move $a0,$v0 /* f10ff28: 24040008 */ li $a0,0x8 .PF0f10ff2c: /* f10ff2c: 0fc47c20 */ jal pakHasBitflag /* f10ff30: 02002825 */ move $a1,$s0 /* f10ff34: 50400006 */ beqzl $v0,.PF0f10ff50 /* f10ff38: 24040006 */ li $a0,0x6 /* f10ff3c: 0fc54ef0 */ jal optionsSetScreenSize /* f10ff40: 24040002 */ li $a0,0x2 /* f10ff44: 1000000d */ b .PF0f10ff7c /* f10ff48: 2404001f */ li $a0,0x1f /* f10ff4c: 24040006 */ li $a0,0x6 .PF0f10ff50: /* f10ff50: 0fc47c20 */ jal pakHasBitflag /* f10ff54: 02002825 */ move $a1,$s0 /* f10ff58: 10400005 */ beqz $v0,.PF0f10ff70 /* f10ff5c: 00000000 */ nop /* f10ff60: 0fc54ef0 */ jal optionsSetScreenSize /* f10ff64: 24040001 */ li $a0,0x1 /* f10ff68: 10000004 */ b .PF0f10ff7c /* f10ff6c: 2404001f */ li $a0,0x1f .PF0f10ff70: /* f10ff70: 0fc54ef0 */ jal optionsSetScreenSize /* f10ff74: 00002025 */ move $a0,$zero /* f10ff78: 2404001f */ li $a0,0x1f .PF0f10ff7c: /* f10ff7c: 0fc47c20 */ jal pakHasBitflag /* f10ff80: 02002825 */ move $a1,$s0 /* f10ff84: 10400005 */ beqz $v0,.PF0f10ff9c /* f10ff88: 2404001c */ li $a0,0x1c /* f10ff8c: 240b0001 */ li $t3,0x1 /* f10ff90: 3c01800a */ lui $at,0x800a /* f10ff94: 10000003 */ b .PF0f10ffa4 /* f10ff98: ac2ba960 */ sw $t3,-0x56a0($at) .PF0f10ff9c: /* f10ff9c: 3c01800a */ lui $at,0x800a /* f10ffa0: ac20a960 */ sw $zero,-0x56a0($at) .PF0f10ffa4: /* f10ffa4: 0fc47c20 */ jal pakHasBitflag /* f10ffa8: 02002825 */ move $a1,$s0 /* f10ffac: 10400005 */ beqz $v0,.PF0f10ffc4 /* f10ffb0: 2404001d */ li $a0,0x1d /* f10ffb4: 240c0001 */ li $t4,0x1 /* f10ffb8: 3c01800a */ lui $at,0x800a /* f10ffbc: 10000003 */ b .PF0f10ffcc /* f10ffc0: ac2ca958 */ sw $t4,-0x56a8($at) .PF0f10ffc4: /* f10ffc4: 3c01800a */ lui $at,0x800a /* f10ffc8: ac20a958 */ sw $zero,-0x56a8($at) .PF0f10ffcc: /* f10ffcc: 0fc47c20 */ jal pakHasBitflag /* f10ffd0: 02002825 */ move $a1,$s0 /* f10ffd4: 10400005 */ beqz $v0,.PF0f10ffec /* f10ffd8: 2404001e */ li $a0,0x1e /* f10ffdc: 240d0001 */ li $t5,0x1 /* f10ffe0: 3c01800a */ lui $at,0x800a /* f10ffe4: 10000003 */ b .PF0f10fff4 /* f10ffe8: ac2da964 */ sw $t5,-0x569c($at) .PF0f10ffec: /* f10ffec: 3c01800a */ lui $at,0x800a /* f10fff0: ac20a964 */ sw $zero,-0x569c($at) .PF0f10fff4: /* f10fff4: 0fc47c20 */ jal pakHasBitflag /* f10fff8: 02002825 */ move $a1,$s0 /* f10fffc: 10400005 */ beqz $v0,.PF0f110014 /* f110000: 24040044 */ li $a0,0x44 /* f110004: 240e0001 */ li $t6,0x1 /* f110008: 3c01800a */ lui $at,0x800a /* f11000c: 10000003 */ b .PF0f11001c /* f110010: ac2ea95c */ sw $t6,-0x56a4($at) .PF0f110014: /* f110014: 3c01800a */ lui $at,0x800a /* f110018: ac20a95c */ sw $zero,-0x56a4($at) .PF0f11001c: /* f11001c: 3c01800a */ lui $at,0x800a /* f110020: a420a992 */ sh $zero,-0x566e($at) /* f110024: 0fc47c20 */ jal pakHasBitflag /* f110028: 02002825 */ move $a1,$s0 /* f11002c: 10400006 */ beqz $v0,.PF0f110048 /* f110030: 24040045 */ li $a0,0x45 /* f110034: 3c0f800a */ lui $t7,0x800a /* f110038: 95efa992 */ lhu $t7,-0x566e($t7) /* f11003c: 3c01800a */ lui $at,0x800a /* f110040: 35f80001 */ ori $t8,$t7,0x1 /* f110044: a438a992 */ sh $t8,-0x566e($at) .PF0f110048: /* f110048: 0fc47c20 */ jal pakHasBitflag /* f11004c: 02002825 */ move $a1,$s0 /* f110050: 10400006 */ beqz $v0,.PF0f11006c /* f110054: 24040046 */ li $a0,0x46 /* f110058: 3c19800a */ lui $t9,0x800a /* f11005c: 9739a992 */ lhu $t9,-0x566e($t9) /* f110060: 3c01800a */ lui $at,0x800a /* f110064: 37280002 */ ori $t0,$t9,0x2 /* f110068: a428a992 */ sh $t0,-0x566e($at) .PF0f11006c: /* f11006c: 0fc47c20 */ jal pakHasBitflag /* f110070: 02002825 */ move $a1,$s0 /* f110074: 10400006 */ beqz $v0,.PF0f110090 /* f110078: 3c04800a */ lui $a0,0x800a /* f11007c: 3c09800a */ lui $t1,0x800a /* f110080: 9529a992 */ lhu $t1,-0x566e($t1) /* f110084: 3c01800a */ lui $at,0x800a /* f110088: 352a0004 */ ori $t2,$t1,0x4 /* f11008c: a42aa992 */ sh $t2,-0x566e($at) .PF0f110090: /* f110090: 0fc5bdd7 */ jal func0f16f75c /* f110094: 9484a992 */ lhu $a0,-0x566e($a0) /* f110098: 8fbf001c */ lw $ra,0x1c($sp) /* f11009c: 8fb00018 */ lw $s0,0x18($sp) /* f1100a0: 27bd0028 */ addiu $sp,$sp,0x28 /* f1100a4: 03e00008 */ jr $ra /* f1100a8: 00000000 */ nop ); #else void savefileApplyOptions(struct savefile_solo *file) { s32 player1 = (g_Vars.coopplayernum >= 0 || g_Vars.antiplayernum >= 0) ? 0 : 4; s32 player2 = (g_Vars.coopplayernum >= 0 || g_Vars.antiplayernum >= 0) ? 1 : 5; optionsSetForwardPitch(player1, pakHasBitflag(SAVEFILEFLAG_P1_FORWARDPITCH, file->flags)); optionsSetAutoAim(player1, pakHasBitflag(SAVEFILEFLAG_P1_AUTOAIM, file->flags)); optionsSetAimControl(player1, pakHasBitflag(SAVEFILEFLAG_P1_AIMCONTROL, file->flags)); optionsSetSightOnScreen(player1, pakHasBitflag(SAVEFILEFLAG_P1_SIGHTONSCREEN, file->flags)); optionsSetLookAhead(player1, pakHasBitflag(SAVEFILEFLAG_P1_LOOKAHEAD, file->flags)); optionsSetAmmoOnScreen(player1, pakHasBitflag(SAVEFILEFLAG_P1_AMMOONSCREEN, file->flags)); optionsSetHeadRoll(player1, pakHasBitflag(SAVEFILEFLAG_P1_HEADROLL, file->flags)); optionsSetShowGunFunction(player1, pakHasBitflag(SAVEFILEFLAG_P1_SHOWGUNFUNCTION, file->flags)); optionsSetAlwaysShowTarget(player1, pakHasBitflag(SAVEFILEFLAG_P1_ALWAYSSHOWTARGET, file->flags)); optionsSetShowZoomRange(player1, pakHasBitflag(SAVEFILEFLAG_P1_SHOWZOOMRANGE, file->flags)); optionsSetShowMissionTime(player1, pakHasBitflag(SAVEFILEFLAG_P1_SHOWMISSIONTIME, file->flags)); optionsSetPaintball(player1, pakHasBitflag(SAVEFILEFLAG_P1_PAINTBALL, file->flags)); optionsSetForwardPitch(player2, pakHasBitflag(SAVEFILEFLAG_P2_FORWARDPITCH, file->flags)); optionsSetAutoAim(player2, pakHasBitflag(SAVEFILEFLAG_P2_AUTOAIM, file->flags)); optionsSetAimControl(player2, pakHasBitflag(SAVEFILEFLAG_P2_AIMCONTROL, file->flags)); optionsSetSightOnScreen(player2, pakHasBitflag(SAVEFILEFLAG_P2_SIGHTONSCREEN, file->flags)); optionsSetLookAhead(player2, pakHasBitflag(SAVEFILEFLAG_P2_LOOKAHEAD, file->flags)); optionsSetAmmoOnScreen(player2, pakHasBitflag(SAVEFILEFLAG_P2_AMMOONSCREEN, file->flags)); optionsSetHeadRoll(player2, pakHasBitflag(SAVEFILEFLAG_P2_HEADROLL, file->flags)); optionsSetShowGunFunction(player2, pakHasBitflag(SAVEFILEFLAG_P2_SHOWGUNFUNCTION, file->flags)); optionsSetAlwaysShowTarget(player2, pakHasBitflag(SAVEFILEFLAG_P2_ALWAYSSHOWTARGET, file->flags)); optionsSetShowZoomRange(player2, pakHasBitflag(SAVEFILEFLAG_P2_SHOWZOOMRANGE, file->flags)); optionsSetShowMissionTime(player2, pakHasBitflag(SAVEFILEFLAG_P2_SHOWMISSIONTIME, file->flags)); optionsSetPaintball(player2, pakHasBitflag(SAVEFILEFLAG_P2_PAINTBALL, file->flags)); optionsSetInGameSubtitles(pakHasBitflag(SAVEFILEFLAG_INGAMESUBTITLES, file->flags)); optionsSetCutsceneSubtitles(pakHasBitflag(SAVEFILEFLAG_CUTSCENESUBTITLES, file->flags)); // Duplicate optionsSetPaintball(player2, pakHasBitflag(SAVEFILEFLAG_P2_PAINTBALL, file->flags)); g_Vars.langfilteron = pakHasBitflag(SAVEFILEFLAG_LANGFILTERON, file->flags); if (pakHasBitflag(SAVEFILEFLAG_HIRES, file->flags)) { if (IS4MB()) { optionsSetHiRes(false); } else { optionsSetHiRes(true); } } else { optionsSetHiRes(false); } if (IS4MB()) { optionsSetScreenSplit(SCREENSPLIT_HORIZONTAL); optionsSetScreenRatio(SCREENRATIO_NORMAL); } else { optionsSetScreenSplit(pakHasBitflag(SAVEFILEFLAG_SCREENSPLIT, file->flags)); optionsSetScreenRatio(pakHasBitflag(SAVEFILEFLAG_SCREENRATIO, file->flags)); } if (pakHasBitflag(SAVEFILEFLAG_SCREENSIZE_CINEMA, file->flags)) { optionsSetScreenSize(SCREENSIZE_CINEMA); } else if (pakHasBitflag(SAVEFILEFLAG_SCREENSIZE_WIDE, file->flags)) { optionsSetScreenSize(SCREENSIZE_WIDE); } else { optionsSetScreenSize(SCREENSIZE_FULL); } g_Vars.pendingantiplayernum = pakHasBitflag(SAVEFILEFLAG_ANTIPLAYERNUM, file->flags) ? 1 : 0; g_Vars.coopradaron = pakHasBitflag(SAVEFILEFLAG_COOPRADARON, file->flags) ? 1 : 0; g_Vars.coopfriendlyfire = pakHasBitflag(SAVEFILEFLAG_COOPFRIENDLYFIRE, file->flags) ? 1 : 0; g_Vars.antiradaron = pakHasBitflag(SAVEFILEFLAG_ANTIRADARON, file->flags) ? 1 : 0; } #endif #if VERSION >= VERSION_PAL_FINAL const char var7f1b4bd0pf[] = "Dark"; GLOBAL_ASM( glabel savefileLoadDefaults /* f1100ac: 27bdffd8 */ addiu $sp,$sp,-40 /* f1100b0: afb20020 */ sw $s2,0x20($sp) /* f1100b4: 3c12800a */ lui $s2,0x800a /* f1100b8: 2652a510 */ addiu $s2,$s2,-23280 /* f1100bc: 8e420298 */ lw $v0,0x298($s2) /* f1100c0: afbf0024 */ sw $ra,0x24($sp) /* f1100c4: afb1001c */ sw $s1,0x1c($sp) /* f1100c8: afb00018 */ sw $s0,0x18($sp) /* f1100cc: 04410005 */ bgez $v0,.PF0f1100e4 /* f1100d0: afa40028 */ sw $a0,0x28($sp) /* f1100d4: 8e4e029c */ lw $t6,0x29c($s2) /* f1100d8: 24110004 */ li $s1,0x4 /* f1100dc: 05c00003 */ bltz $t6,.PF0f1100ec /* f1100e0: 00000000 */ nop .PF0f1100e4: /* f1100e4: 10000001 */ b .PF0f1100ec /* f1100e8: 00008825 */ move $s1,$zero .PF0f1100ec: /* f1100ec: 04410005 */ bgez $v0,.PF0f110104 /* f1100f0: 8fa40028 */ lw $a0,0x28($sp) /* f1100f4: 8e4f029c */ lw $t7,0x29c($s2) /* f1100f8: 24100005 */ li $s0,0x5 /* f1100fc: 05e00003 */ bltz $t7,.PF0f11010c /* f110100: 00000000 */ nop .PF0f110104: /* f110104: 10000001 */ b .PF0f11010c /* f110108: 24100001 */ li $s0,0x1 .PF0f11010c: /* f11010c: 3c057f1b */ lui $a1,0x7f1b /* f110110: 0c004bb0 */ jal strcpy /* f110114: 24a54bd0 */ addiu $a1,$a1,0x4bd0 /* f110118: 8fa20028 */ lw $v0,0x28($sp) /* f11011c: 24045000 */ li $a0,0x5000 /* f110120: 9058000b */ lbu $t8,0xb($v0) /* f110124: a040000c */ sb $zero,0xc($v0) /* f110128: ac400010 */ sw $zero,0x10($v0) /* f11012c: 3308ff07 */ andi $t0,$t8,0xff07 /* f110130: 310900f8 */ andi $t1,$t0,0xf8 /* f110134: a048000b */ sb $t0,0xb($v0) /* f110138: 0c0039df */ jal sndSetSfxVolume /* f11013c: a049000b */ sb $t1,0xb($v0) /* f110140: 0fc54f08 */ jal optionsSetMusicVolume /* f110144: 24045000 */ li $a0,0x5000 /* f110148: 0c003c3b */ jal sndSetSoundMode /* f11014c: 24040001 */ li $a0,0x1 /* f110150: 02202025 */ move $a0,$s1 /* f110154: 0fc54cf7 */ jal optionsSetControlMode /* f110158: 00002825 */ move $a1,$zero /* f11015c: 02002025 */ move $a0,$s0 /* f110160: 0fc54cf7 */ jal optionsSetControlMode /* f110164: 00002825 */ move $a1,$zero /* f110168: 8fb00028 */ lw $s0,0x28($sp) /* f11016c: 26100014 */ addiu $s0,$s0,0x14 /* f110170: 0fc47c2e */ jal pakClearAllBitflags /* f110174: 02002025 */ move $a0,$s0 /* f110178: 00002025 */ move $a0,$zero /* f11017c: 02002825 */ move $a1,$s0 /* f110180: 0fc47c0b */ jal pakSetBitflag /* f110184: 00003025 */ move $a2,$zero /* f110188: 24040001 */ li $a0,0x1 /* f11018c: 02002825 */ move $a1,$s0 /* f110190: 0fc47c0b */ jal pakSetBitflag /* f110194: 24060001 */ li $a2,0x1 /* f110198: 24040002 */ li $a0,0x2 /* f11019c: 02002825 */ move $a1,$s0 /* f1101a0: 0fc47c0b */ jal pakSetBitflag /* f1101a4: 00003025 */ move $a2,$zero /* f1101a8: 24040003 */ li $a0,0x3 /* f1101ac: 02002825 */ move $a1,$s0 /* f1101b0: 0fc47c0b */ jal pakSetBitflag /* f1101b4: 24060001 */ li $a2,0x1 /* f1101b8: 24040004 */ li $a0,0x4 /* f1101bc: 02002825 */ move $a1,$s0 /* f1101c0: 0fc47c0b */ jal pakSetBitflag /* f1101c4: 24060001 */ li $a2,0x1 /* f1101c8: 24040005 */ li $a0,0x5 /* f1101cc: 02002825 */ move $a1,$s0 /* f1101d0: 0fc47c0b */ jal pakSetBitflag /* f1101d4: 24060001 */ li $a2,0x1 /* f1101d8: 24040009 */ li $a0,0x9 /* f1101dc: 02002825 */ move $a1,$s0 /* f1101e0: 0fc47c0b */ jal pakSetBitflag /* f1101e4: 24060001 */ li $a2,0x1 /* f1101e8: 2404000a */ li $a0,0xa /* f1101ec: 02002825 */ move $a1,$s0 /* f1101f0: 0fc47c0b */ jal pakSetBitflag /* f1101f4: 24060001 */ li $a2,0x1 /* f1101f8: 2404000b */ li $a0,0xb /* f1101fc: 02002825 */ move $a1,$s0 /* f110200: 0fc47c0b */ jal pakSetBitflag /* f110204: 24060001 */ li $a2,0x1 /* f110208: 24040015 */ li $a0,0x15 /* f11020c: 02002825 */ move $a1,$s0 /* f110210: 0fc47c0b */ jal pakSetBitflag /* f110214: 24060001 */ li $a2,0x1 /* f110218: 24040017 */ li $a0,0x17 /* f11021c: 02002825 */ move $a1,$s0 /* f110220: 0fc47c0b */ jal pakSetBitflag /* f110224: 24060001 */ li $a2,0x1 /* f110228: 2404001a */ li $a0,0x1a /* f11022c: 02002825 */ move $a1,$s0 /* f110230: 0fc47c0b */ jal pakSetBitflag /* f110234: 00003025 */ move $a2,$zero /* f110238: 24040020 */ li $a0,0x20 /* f11023c: 02002825 */ move $a1,$s0 /* f110240: 0fc47c0b */ jal pakSetBitflag /* f110244: 00003025 */ move $a2,$zero /* f110248: 2404000c */ li $a0,0xc /* f11024c: 02002825 */ move $a1,$s0 /* f110250: 0fc47c0b */ jal pakSetBitflag /* f110254: 00003025 */ move $a2,$zero /* f110258: 2404000d */ li $a0,0xd /* f11025c: 02002825 */ move $a1,$s0 /* f110260: 0fc47c0b */ jal pakSetBitflag /* f110264: 24060001 */ li $a2,0x1 /* f110268: 2404000e */ li $a0,0xe /* f11026c: 02002825 */ move $a1,$s0 /* f110270: 0fc47c0b */ jal pakSetBitflag /* f110274: 00003025 */ move $a2,$zero /* f110278: 2404000f */ li $a0,0xf /* f11027c: 02002825 */ move $a1,$s0 /* f110280: 0fc47c0b */ jal pakSetBitflag /* f110284: 24060001 */ li $a2,0x1 /* f110288: 24040010 */ li $a0,0x10 /* f11028c: 02002825 */ move $a1,$s0 /* f110290: 0fc47c0b */ jal pakSetBitflag /* f110294: 24060001 */ li $a2,0x1 /* f110298: 24040011 */ li $a0,0x11 /* f11029c: 02002825 */ move $a1,$s0 /* f1102a0: 0fc47c0b */ jal pakSetBitflag /* f1102a4: 24060001 */ li $a2,0x1 /* f1102a8: 24040012 */ li $a0,0x12 /* f1102ac: 02002825 */ move $a1,$s0 /* f1102b0: 0fc47c0b */ jal pakSetBitflag /* f1102b4: 24060001 */ li $a2,0x1 /* f1102b8: 24040013 */ li $a0,0x13 /* f1102bc: 02002825 */ move $a1,$s0 /* f1102c0: 0fc47c0b */ jal pakSetBitflag /* f1102c4: 24060001 */ li $a2,0x1 /* f1102c8: 24040014 */ li $a0,0x14 /* f1102cc: 02002825 */ move $a1,$s0 /* f1102d0: 0fc47c0b */ jal pakSetBitflag /* f1102d4: 00003025 */ move $a2,$zero /* f1102d8: 24040016 */ li $a0,0x16 /* f1102dc: 02002825 */ move $a1,$s0 /* f1102e0: 0fc47c0b */ jal pakSetBitflag /* f1102e4: 24060001 */ li $a2,0x1 /* f1102e8: 24040018 */ li $a0,0x18 /* f1102ec: 02002825 */ move $a1,$s0 /* f1102f0: 0fc47c0b */ jal pakSetBitflag /* f1102f4: 24060001 */ li $a2,0x1 /* f1102f8: 2404001b */ li $a0,0x1b /* f1102fc: 02002825 */ move $a1,$s0 /* f110300: 0fc47c0b */ jal pakSetBitflag /* f110304: 00003025 */ move $a2,$zero /* f110308: 24040021 */ li $a0,0x21 /* f11030c: 02002825 */ move $a1,$s0 /* f110310: 0fc47c0b */ jal pakSetBitflag /* f110314: 00003025 */ move $a2,$zero /* f110318: 24040019 */ li $a0,0x19 /* f11031c: 02002825 */ move $a1,$s0 /* f110320: 0fc47c0b */ jal pakSetBitflag /* f110324: 00003025 */ move $a2,$zero /* f110328: 24040007 */ li $a0,0x7 /* f11032c: 02002825 */ move $a1,$s0 /* f110330: 0fc47c0b */ jal pakSetBitflag /* f110334: 00003025 */ move $a2,$zero /* f110338: 24040008 */ li $a0,0x8 /* f11033c: 02002825 */ move $a1,$s0 /* f110340: 0fc47c0b */ jal pakSetBitflag /* f110344: 00003025 */ move $a2,$zero /* f110348: 24040006 */ li $a0,0x6 /* f11034c: 02002825 */ move $a1,$s0 /* f110350: 0fc47c0b */ jal pakSetBitflag /* f110354: 00003025 */ move $a2,$zero /* f110358: 24040022 */ li $a0,0x22 /* f11035c: 02002825 */ move $a1,$s0 /* f110360: 0fc47c0b */ jal pakSetBitflag /* f110364: 00003025 */ move $a2,$zero /* f110368: 24040040 */ li $a0,0x40 /* f11036c: 02002825 */ move $a1,$s0 /* f110370: 0fc47c0b */ jal pakSetBitflag /* f110374: 00003025 */ move $a2,$zero /* f110378: 24040041 */ li $a0,0x41 /* f11037c: 02002825 */ move $a1,$s0 /* f110380: 0fc47c0b */ jal pakSetBitflag /* f110384: 00003025 */ move $a2,$zero /* f110388: 24040042 */ li $a0,0x42 /* f11038c: 02002825 */ move $a1,$s0 /* f110390: 0fc47c0b */ jal pakSetBitflag /* f110394: 00003025 */ move $a2,$zero /* f110398: 24040043 */ li $a0,0x43 /* f11039c: 02002825 */ move $a1,$s0 /* f1103a0: 0fc47c0b */ jal pakSetBitflag /* f1103a4: 00003025 */ move $a2,$zero /* f1103a8: 2404001c */ li $a0,0x1c /* f1103ac: 02002825 */ move $a1,$s0 /* f1103b0: 0fc47c0b */ jal pakSetBitflag /* f1103b4: 24060001 */ li $a2,0x1 /* f1103b8: 2404001d */ li $a0,0x1d /* f1103bc: 02002825 */ move $a1,$s0 /* f1103c0: 0fc47c0b */ jal pakSetBitflag /* f1103c4: 24060001 */ li $a2,0x1 /* f1103c8: 2404001e */ li $a0,0x1e /* f1103cc: 02002825 */ move $a1,$s0 /* f1103d0: 0fc47c0b */ jal pakSetBitflag /* f1103d4: 24060001 */ li $a2,0x1 /* f1103d8: 2404001f */ li $a0,0x1f /* f1103dc: 02002825 */ move $a1,$s0 /* f1103e0: 0fc47c0b */ jal pakSetBitflag /* f1103e4: 24060001 */ li $a2,0x1 /* f1103e8: 96460482 */ lhu $a2,0x482($s2) /* f1103ec: 3c10800a */ lui $s0,0x800a /* f1103f0: 261027b4 */ addiu $s0,$s0,0x27b4 /* f1103f4: 30ca0001 */ andi $t2,$a2,0x1 /* f1103f8: 394b0001 */ xori $t3,$t2,0x1 /* f1103fc: 2d660001 */ sltiu $a2,$t3,0x1 /* f110400: 02002825 */ move $a1,$s0 /* f110404: 0fc47c0b */ jal pakSetBitflag /* f110408: 24040044 */ li $a0,0x44 /* f11040c: 96460482 */ lhu $a2,0x482($s2) /* f110410: 24040045 */ li $a0,0x45 /* f110414: 02002825 */ move $a1,$s0 /* f110418: 30cc0002 */ andi $t4,$a2,0x2 /* f11041c: 398d0002 */ xori $t5,$t4,0x2 /* f110420: 0fc47c0b */ jal pakSetBitflag /* f110424: 2da60001 */ sltiu $a2,$t5,0x1 /* f110428: 96460482 */ lhu $a2,0x482($s2) /* f11042c: 24040046 */ li $a0,0x46 /* f110430: 02002825 */ move $a1,$s0 /* f110434: 30ce0004 */ andi $t6,$a2,0x4 /* f110438: 39cf0004 */ xori $t7,$t6,0x4 /* f11043c: 0fc47c0b */ jal pakSetBitflag /* f110440: 2de60001 */ sltiu $a2,$t7,0x1 /* f110444: 8fa40028 */ lw $a0,0x28($sp) /* f110448: 00009025 */ move $s2,$zero /* f11044c: 24030003 */ li $v1,0x3 /* f110450: a480001e */ sh $zero,0x1e($a0) .PF0f110454: /* f110454: 00008025 */ move $s0,$zero /* f110458: 00801025 */ move $v0,$a0 .PF0f11045c: /* f11045c: 26100001 */ addiu $s0,$s0,0x1 /* f110460: 24420002 */ addiu $v0,$v0,0x2 /* f110464: 1603fffd */ bne $s0,$v1,.PF0f11045c /* f110468: a440001e */ sh $zero,0x1e($v0) /* f11046c: 26520001 */ addiu $s2,$s2,0x1 /* f110470: 2a410015 */ slti $at,$s2,0x15 /* f110474: 1420fff7 */ bnez $at,.PF0f110454 /* f110478: 24840006 */ addiu $a0,$a0,0x6 /* f11047c: 00009025 */ move $s2,$zero /* f110480: 24110005 */ li $s1,0x5 /* f110484: 24100001 */ li $s0,0x1 .PF0f110488: /* f110488: 02402025 */ move $a0,$s2 .PF0f11048c: /* f11048c: 02002825 */ move $a1,$s0 /* f110490: 0fc67543 */ jal mpSetChallengeCompletedByAnyPlayerWithNumPlayers /* f110494: 00003025 */ move $a2,$zero /* f110498: 26100001 */ addiu $s0,$s0,0x1 /* f11049c: 5611fffb */ bnel $s0,$s1,.PF0f11048c /* f1104a0: 02402025 */ move $a0,$s2 /* f1104a4: 26520001 */ addiu $s2,$s2,0x1 /* f1104a8: 2a41001e */ slti $at,$s2,0x1e /* f1104ac: 5420fff6 */ bnezl $at,.PF0f110488 /* f1104b0: 24100001 */ li $s0,0x1 /* f1104b4: 0fc67037 */ jal mpDetermineUnlockedFeatures /* f1104b8: 00000000 */ nop /* f1104bc: 3c02800a */ lui $v0,0x800a /* f1104c0: 3c03800a */ lui $v1,0x800a /* f1104c4: 246327ac */ addiu $v1,$v1,0x27ac /* f1104c8: 244227a0 */ addiu $v0,$v0,0x27a0 .PF0f1104cc: /* f1104cc: 24420004 */ addiu $v0,$v0,0x4 /* f1104d0: 0043082b */ sltu $at,$v0,$v1 /* f1104d4: 1420fffd */ bnez $at,.PF0f1104cc /* f1104d8: ac40009c */ sw $zero,0x9c($v0) /* f1104dc: 3c02800a */ lui $v0,0x800a /* f1104e0: 3c03800a */ lui $v1,0x800a /* f1104e4: 246327a9 */ addiu $v1,$v1,0x27a9 /* f1104e8: 244227a0 */ addiu $v0,$v0,0x27a0 .PF0f1104ec: /* f1104ec: 24420001 */ addiu $v0,$v0,0x1 /* f1104f0: 0043082b */ sltu $at,$v0,$v1 /* f1104f4: 1420fffd */ bnez $at,.PF0f1104ec /* f1104f8: a04000ab */ sb $zero,0xab($v0) /* f1104fc: 3c02800a */ lui $v0,0x800a /* f110500: 3c03800a */ lui $v1,0x800a /* f110504: 246327a6 */ addiu $v1,$v1,0x27a6 /* f110508: 244227a0 */ addiu $v0,$v0,0x27a0 .PF0f11050c: /* f11050c: 24420001 */ addiu $v0,$v0,0x1 /* f110510: 1443fffe */ bne $v0,$v1,.PF0f11050c /* f110514: a04000b4 */ sb $zero,0xb4($v0) /* f110518: 0fc43ee5 */ jal savefileApplyOptions /* f11051c: 8fa40028 */ lw $a0,0x28($sp) /* f110520: 8fbf0024 */ lw $ra,0x24($sp) /* f110524: 8fb00018 */ lw $s0,0x18($sp) /* f110528: 8fb1001c */ lw $s1,0x1c($sp) /* f11052c: 8fb20020 */ lw $s2,0x20($sp) /* f110530: 03e00008 */ jr $ra /* f110534: 27bd0028 */ addiu $sp,$sp,0x28 ); #else void savefileLoadDefaults(struct savefile_solo *file) { s32 player1 = (g_Vars.coopplayernum >= 0 || g_Vars.antiplayernum >= 0) ? 0 : 4; s32 player2 = (g_Vars.coopplayernum >= 0 || g_Vars.antiplayernum >= 0) ? 1 : 5; s32 i; s32 j; strcpy(file->name, "Dark"); file->thumbnail = 0; file->autodifficulty = 0; file->autostageindex = 0; file->totaltime = 0; sndSetSfxVolume(0x5000); optionsSetMusicVolume(0x5000); sndSetSoundMode(SOUNDMODE_STEREO); optionsSetControlMode(player1, CONTROLMODE_11); optionsSetControlMode(player2, CONTROLMODE_11); pakClearAllBitflags(file->flags); pakSetBitflag(SAVEFILEFLAG_P1_FORWARDPITCH, file->flags, false); pakSetBitflag(SAVEFILEFLAG_P1_AUTOAIM, file->flags, true); pakSetBitflag(SAVEFILEFLAG_P1_AIMCONTROL, file->flags, AIMCONTROL_HOLD); pakSetBitflag(SAVEFILEFLAG_P1_SIGHTONSCREEN, file->flags, true); pakSetBitflag(SAVEFILEFLAG_P1_LOOKAHEAD, file->flags, true); pakSetBitflag(SAVEFILEFLAG_P1_AMMOONSCREEN, file->flags, true); pakSetBitflag(SAVEFILEFLAG_P1_HEADROLL, file->flags, true); pakSetBitflag(SAVEFILEFLAG_P1_SHOWGUNFUNCTION, file->flags, true); pakSetBitflag(SAVEFILEFLAG_INGAMESUBTITLES, file->flags, true); pakSetBitflag(SAVEFILEFLAG_P1_ALWAYSSHOWTARGET, file->flags, true); pakSetBitflag(SAVEFILEFLAG_P1_SHOWZOOMRANGE, file->flags, true); pakSetBitflag(SAVEFILEFLAG_P1_SHOWMISSIONTIME, file->flags, false); pakSetBitflag(SAVEFILEFLAG_P1_PAINTBALL, file->flags, false); pakSetBitflag(SAVEFILEFLAG_P2_FORWARDPITCH, file->flags, false); pakSetBitflag(SAVEFILEFLAG_P2_AUTOAIM, file->flags, true); pakSetBitflag(SAVEFILEFLAG_P2_AIMCONTROL, file->flags, AIMCONTROL_HOLD); pakSetBitflag(SAVEFILEFLAG_P2_SIGHTONSCREEN, file->flags, true); pakSetBitflag(SAVEFILEFLAG_P2_LOOKAHEAD, file->flags, true); pakSetBitflag(SAVEFILEFLAG_P2_AMMOONSCREEN, file->flags, true); pakSetBitflag(SAVEFILEFLAG_P2_HEADROLL, file->flags, true); pakSetBitflag(SAVEFILEFLAG_P2_SHOWGUNFUNCTION, file->flags, true); pakSetBitflag(SAVEFILEFLAG_CUTSCENESUBTITLES, file->flags, false); pakSetBitflag(SAVEFILEFLAG_P2_ALWAYSSHOWTARGET, file->flags, true); pakSetBitflag(SAVEFILEFLAG_P2_SHOWZOOMRANGE, file->flags, true); pakSetBitflag(SAVEFILEFLAG_P2_SHOWMISSIONTIME, file->flags, false); pakSetBitflag(SAVEFILEFLAG_P2_PAINTBALL, file->flags, false); pakSetBitflag(SAVEFILEFLAG_SCREENSPLIT, file->flags, SCREENSPLIT_HORIZONTAL); pakSetBitflag(SAVEFILEFLAG_SCREENRATIO, file->flags, SCREENRATIO_NORMAL); pakSetBitflag(SAVEFILEFLAG_SCREENSIZE_CINEMA, file->flags, false); pakSetBitflag(SAVEFILEFLAG_SCREENSIZE_WIDE, file->flags, false); pakSetBitflag(SAVEFILEFLAG_HIRES, file->flags, false); pakSetBitflag(SAVEFILEFLAG_LANGFILTERON, file->flags, false); #if VERSION >= VERSION_NTSC_1_0 pakSetBitflag(SAVEFILEFLAG_41, file->flags, false); pakSetBitflag(SAVEFILEFLAG_42, file->flags, false); pakSetBitflag(SAVEFILEFLAG_43, file->flags, false); #endif pakSetBitflag(SAVEFILEFLAG_COOPRADARON, file->flags, true); pakSetBitflag(SAVEFILEFLAG_COOPFRIENDLYFIRE, file->flags, true); pakSetBitflag(SAVEFILEFLAG_ANTIRADARON, file->flags, true); pakSetBitflag(SAVEFILEFLAG_ANTIPLAYERNUM, file->flags, 1); file->unk1e = 0; for (i = 0; i < ARRAYCOUNT(file->besttimes); i++) { for (j = 0; j < ARRAYCOUNT(file->besttimes[0]); j++) { file->besttimes[i][j] = 0; } } for (i = 0; i < 30; i++) { for (j = 1; j != 5; j++) { mpSetChallengeCompletedByAnyPlayerWithNumPlayers(i, j, false); } } mpDetermineUnlockedFeatures(); for (i = 0; i < ARRAYCOUNT(g_SoloSaveFile.coopcompletions); i++) { g_SoloSaveFile.coopcompletions[i] = 0; } for (i = 0; i < ARRAYCOUNT(g_SoloSaveFile.firingrangescores); i++) { g_SoloSaveFile.firingrangescores[i] = 0; } for (i = 0; i < ARRAYCOUNT(g_SoloSaveFile.weaponsfound); i++) { g_SoloSaveFile.weaponsfound[i] = 0; } savefileApplyOptions(file); } #endif const char var7f1b38e8[] = "MAX_FUDGE_DATA_SIZE>=sizeof(PakFileTypeGameSetup_s)"; const char var7f1b391c[] = "pdoptions.c"; const char var7f1b3928[] = "MAX_FUDGE_DATA_SIZE>=sizeof(PakFileTypeGameSetup_s)"; const char var7f1b395c[] = "pdoptions.c"; const char var7f1b3968[] = "MAX_FUDGE_DATA_SIZE>=sizeof(PakFileTypeGameSetup_s)"; const char var7f1b399c[] = "pdoptions.c"; const char var7f1b39a8[] = ""; const char var7f1b39ac[] = ""; const char var7f1b39b0[] = "fileGuid"; const char var7f1b39bc[] = "bossfile.c"; const char var7f1b39c8[] = ""; const char var7f1b39cc[] = ""; const char var7f1b39d0[] = "Rebuilding pakWad %d:\n"; const u32 var7f1b39e8[] = {0x00000080}; const u32 var7f1b39ec[] = {0x00000040}; const u32 var7f1b39f0[] = {0x00000020}; const u32 var7f1b39f4[] = {0x00000008}; const u32 var7f1b39f8[] = {0x04000102}; const u32 var7f1b39fc[] = {0x03000000}; const u32 var7f1b3a00[] = {0x01020304}; const u32 var7f1b3a04[] = {0x00000000}; const char var7f1b3a08[] = "tc != NULL"; const char var7f1b3a14[] = "gamefile.c"; #if VERSION >= VERSION_NTSC_1_0 GLOBAL_ASM( glabel func0f10fac8 /* f10fac8: 27bdfec0 */ addiu $sp,$sp,-320 /* f10facc: 3c03800a */ lui $v1,%hi(g_Vars) /* f10fad0: 24639fc0 */ addiu $v1,$v1,%lo(g_Vars) /* f10fad4: 8c620298 */ lw $v0,0x298($v1) /* f10fad8: afb00018 */ sw $s0,0x18($sp) /* f10fadc: 00808025 */ or $s0,$a0,$zero /* f10fae0: afbf002c */ sw $ra,0x2c($sp) /* f10fae4: afb40028 */ sw $s4,0x28($sp) /* f10fae8: afb30024 */ sw $s3,0x24($sp) /* f10faec: afb20020 */ sw $s2,0x20($sp) /* f10faf0: 04410005 */ bgez $v0,.L0f10fb08 /* f10faf4: afb1001c */ sw $s1,0x1c($sp) /* f10faf8: 8c6e029c */ lw $t6,0x29c($v1) /* f10fafc: 24110004 */ addiu $s1,$zero,0x4 /* f10fb00: 05c00003 */ bltz $t6,.L0f10fb10 /* f10fb04: 00000000 */ nop .L0f10fb08: /* f10fb08: 10000001 */ b .L0f10fb10 /* f10fb0c: 00008825 */ or $s1,$zero,$zero .L0f10fb10: /* f10fb10: 04410005 */ bgez $v0,.L0f10fb28 /* f10fb14: 27b4004c */ addiu $s4,$sp,0x4c /* f10fb18: 8c6f029c */ lw $t7,0x29c($v1) /* f10fb1c: 24120005 */ addiu $s2,$zero,0x5 /* f10fb20: 05e00003 */ bltz $t7,.L0f10fb30 /* f10fb24: 00000000 */ nop .L0f10fb28: /* f10fb28: 10000001 */ b .L0f10fb30 /* f10fb2c: 24120001 */ addiu $s2,$zero,0x1 .L0f10fb30: /* f10fb30: 060000d6 */ bltz $s0,.L0f10fe8c /* f10fb34: 2402ffff */ addiu $v0,$zero,-1 /* f10fb38: 0fc35517 */ jal func0f0d545c /* f10fb3c: 02802025 */ or $a0,$s4,$zero /* f10fb40: 00102600 */ sll $a0,$s0,0x18 /* f10fb44: 0004c603 */ sra $t8,$a0,0x18 /* f10fb48: 3c05800a */ lui $a1,%hi(g_FilemgrLoadedMainFile) /* f10fb4c: 8ca522c0 */ lw $a1,%lo(g_FilemgrLoadedMainFile)($a1) /* f10fb50: 03002025 */ or $a0,$t8,$zero /* f10fb54: 27a60050 */ addiu $a2,$sp,0x50 /* f10fb58: 0fc45a00 */ jal func0f116800 /* f10fb5c: 00003825 */ or $a3,$zero,$zero /* f10fb60: 3c01800a */ lui $at,%hi(var800a21f8) /* f10fb64: 144000c7 */ bnez $v0,.L0f10fe84 /* f10fb68: ac2221f8 */ sw $v0,%lo(var800a21f8)($at) /* f10fb6c: 0fc41d3b */ jal cheatsDisableAll /* f10fb70: 00000000 */ nop /* f10fb74: 3c05800a */ lui $a1,%hi(g_SoloSaveFile) /* f10fb78: 24a52200 */ addiu $a1,$a1,%lo(g_SoloSaveFile) /* f10fb7c: 02802025 */ or $a0,$s4,$zero /* f10fb80: 0fc35539 */ jal func0f0d54e4 /* f10fb84: 00003025 */ or $a2,$zero,$zero /* f10fb88: 02802025 */ or $a0,$s4,$zero /* f10fb8c: 0fc354fe */ jal savefileGetInteger /* f10fb90: 24050005 */ addiu $a1,$zero,0x5 /* f10fb94: 3c03800a */ lui $v1,%hi(g_SoloSaveFile) /* f10fb98: 24632200 */ addiu $v1,$v1,%lo(g_SoloSaveFile) /* f10fb9c: 906a000b */ lbu $t2,0xb($v1) /* f10fba0: 000248c0 */ sll $t1,$v0,0x3 /* f10fba4: 02802025 */ or $a0,$s4,$zero /* f10fba8: 314bff07 */ andi $t3,$t2,0xff07 /* f10fbac: 012b6025 */ or $t4,$t1,$t3 /* f10fbb0: a06c000b */ sb $t4,0xb($v1) /* f10fbb4: 0fc354fe */ jal savefileGetInteger /* f10fbb8: 24050020 */ addiu $a1,$zero,0x20 /* f10fbbc: 3c01800a */ lui $at,%hi(g_SoloSaveFile+0x10) /* f10fbc0: ac222210 */ sw $v0,%lo(g_SoloSaveFile+0x10)($at) /* f10fbc4: 02802025 */ or $a0,$s4,$zero /* f10fbc8: 0fc354fe */ jal savefileGetInteger /* f10fbcc: 24050002 */ addiu $a1,$zero,0x2 /* f10fbd0: 3c03800a */ lui $v1,%hi(g_SoloSaveFile) /* f10fbd4: 24632200 */ addiu $v1,$v1,%lo(g_SoloSaveFile) /* f10fbd8: 906f000b */ lbu $t7,0xb($v1) /* f10fbdc: 304e0007 */ andi $t6,$v0,0x7 /* f10fbe0: 02802025 */ or $a0,$s4,$zero /* f10fbe4: 31f8fff8 */ andi $t8,$t7,0xfff8 /* f10fbe8: 01d8c825 */ or $t9,$t6,$t8 /* f10fbec: a079000b */ sb $t9,0xb($v1) /* f10fbf0: 0fc354fe */ jal savefileGetInteger /* f10fbf4: 24050005 */ addiu $a1,$zero,0x5 /* f10fbf8: 3c01800a */ lui $at,%hi(g_SoloSaveFile+0xc) /* f10fbfc: a022220c */ sb $v0,%lo(g_SoloSaveFile+0xc)($at) /* f10fc00: 02802025 */ or $a0,$s4,$zero /* f10fc04: 0fc354fe */ jal savefileGetInteger /* f10fc08: 24050006 */ addiu $a1,$zero,0x6 /* f10fc0c: 00022880 */ sll $a1,$v0,0x2 /* f10fc10: 2ca100fc */ sltiu $at,$a1,0xfc /* f10fc14: 54200003 */ bnezl $at,.L0f10fc24 /* f10fc18: 00a02025 */ or $a0,$a1,$zero /* f10fc1c: 240500ff */ addiu $a1,$zero,0xff /* f10fc20: 00a02025 */ or $a0,$a1,$zero .L0f10fc24: /* f10fc24: 000441c0 */ sll $t0,$a0,0x7 /* f10fc28: 0c003a87 */ jal sndSetSfxVolume /* f10fc2c: 3104ffff */ andi $a0,$t0,0xffff /* f10fc30: 02802025 */ or $a0,$s4,$zero /* f10fc34: 0fc354fe */ jal savefileGetInteger /* f10fc38: 24050006 */ addiu $a1,$zero,0x6 /* f10fc3c: 00022880 */ sll $a1,$v0,0x2 /* f10fc40: 2ca100fc */ sltiu $at,$a1,0xfc /* f10fc44: 54200003 */ bnezl $at,.L0f10fc54 /* f10fc48: 00a02025 */ or $a0,$a1,$zero /* f10fc4c: 240500ff */ addiu $a1,$zero,0xff /* f10fc50: 00a02025 */ or $a0,$a1,$zero .L0f10fc54: /* f10fc54: 000449c0 */ sll $t1,$a0,0x7 /* f10fc58: 0fc54bdc */ jal optionsSetMusicVolume /* f10fc5c: 3124ffff */ andi $a0,$t1,0xffff /* f10fc60: 02802025 */ or $a0,$s4,$zero /* f10fc64: 0fc354fe */ jal savefileGetInteger /* f10fc68: 24050002 */ addiu $a1,$zero,0x2 /* f10fc6c: 0c003ce3 */ jal sndSetSoundMode /* f10fc70: 00402025 */ or $a0,$v0,$zero /* f10fc74: 02802025 */ or $a0,$s4,$zero /* f10fc78: 0fc354fe */ jal savefileGetInteger /* f10fc7c: 24050003 */ addiu $a1,$zero,0x3 /* f10fc80: 02202025 */ or $a0,$s1,$zero /* f10fc84: 0fc549cb */ jal optionsSetControlMode /* f10fc88: 00402825 */ or $a1,$v0,$zero /* f10fc8c: 02802025 */ or $a0,$s4,$zero /* f10fc90: 0fc354fe */ jal savefileGetInteger /* f10fc94: 24050003 */ addiu $a1,$zero,0x3 /* f10fc98: 02402025 */ or $a0,$s2,$zero /* f10fc9c: 0fc549cb */ jal optionsSetControlMode /* f10fca0: 00402825 */ or $a1,$v0,$zero /* f10fca4: 3c10800a */ lui $s0,%hi(g_SoloSaveFile) /* f10fca8: 3c11800a */ lui $s1,%hi(g_SoloSaveFile+0xa) /* f10fcac: 2631220a */ addiu $s1,$s1,%lo(g_SoloSaveFile+0xa) /* f10fcb0: 26102200 */ addiu $s0,$s0,%lo(g_SoloSaveFile) .L0f10fcb4: /* f10fcb4: 02802025 */ or $a0,$s4,$zero /* f10fcb8: 0fc354fe */ jal savefileGetInteger /* f10fcbc: 24050008 */ addiu $a1,$zero,0x8 /* f10fcc0: 26100001 */ addiu $s0,$s0,0x1 /* f10fcc4: 0211082b */ sltu $at,$s0,$s1 /* f10fcc8: 1420fffa */ bnez $at,.L0f10fcb4 /* f10fccc: a2020013 */ sb $v0,0x13($s0) /* f10fcd0: 02802025 */ or $a0,$s4,$zero /* f10fcd4: 0fc354fe */ jal savefileGetInteger /* f10fcd8: 24050010 */ addiu $a1,$zero,0x10 /* f10fcdc: 3c01800a */ lui $at,%hi(g_SoloSaveFile+0x1e) /* f10fce0: 3c13800a */ lui $s3,%hi(g_SoloSaveFile) /* f10fce4: a422221e */ sh $v0,%lo(g_SoloSaveFile+0x1e)($at) /* f10fce8: 26732200 */ addiu $s3,$s3,%lo(g_SoloSaveFile) /* f10fcec: 24120003 */ addiu $s2,$zero,0x3 /* f10fcf0: 00008025 */ or $s0,$zero,$zero .L0f10fcf4: /* f10fcf4: 02608825 */ or $s1,$s3,$zero .L0f10fcf8: /* f10fcf8: 02802025 */ or $a0,$s4,$zero /* f10fcfc: 0fc354fe */ jal savefileGetInteger /* f10fd00: 2405000c */ addiu $a1,$zero,0xc /* f10fd04: 26100001 */ addiu $s0,$s0,0x1 /* f10fd08: 26310002 */ addiu $s1,$s1,0x2 /* f10fd0c: 1612fffa */ bne $s0,$s2,.L0f10fcf8 /* f10fd10: a622001e */ sh $v0,0x1e($s1) /* f10fd14: 3c0c800a */ lui $t4,%hi(g_SoloSaveFile+0x7e) /* f10fd18: 258c227e */ addiu $t4,$t4,%lo(g_SoloSaveFile+0x7e) /* f10fd1c: 26730006 */ addiu $s3,$s3,0x6 /* f10fd20: 026c082b */ sltu $at,$s3,$t4 /* f10fd24: 5420fff3 */ bnezl $at,.L0f10fcf4 /* f10fd28: 00008025 */ or $s0,$zero,$zero /* f10fd2c: 00008825 */ or $s1,$zero,$zero /* f10fd30: 24120005 */ addiu $s2,$zero,0x5 /* f10fd34: 24100001 */ addiu $s0,$zero,0x1 .L0f10fd38: /* f10fd38: 02802025 */ or $a0,$s4,$zero .L0f10fd3c: /* f10fd3c: 0fc354fe */ jal savefileGetInteger /* f10fd40: 24050001 */ addiu $a1,$zero,0x1 /* f10fd44: 02202025 */ or $a0,$s1,$zero /* f10fd48: 02002825 */ or $a1,$s0,$zero /* f10fd4c: 0fc67103 */ jal mpSetChallengeCompletedByAnyPlayerWithNumPlayers /* f10fd50: 00403025 */ or $a2,$v0,$zero /* f10fd54: 26100001 */ addiu $s0,$s0,0x1 /* f10fd58: 5612fff8 */ bnel $s0,$s2,.L0f10fd3c /* f10fd5c: 02802025 */ or $a0,$s4,$zero /* f10fd60: 26310001 */ addiu $s1,$s1,0x1 /* f10fd64: 2a21001e */ slti $at,$s1,0x1e /* f10fd68: 5420fff3 */ bnezl $at,.L0f10fd38 /* f10fd6c: 24100001 */ addiu $s0,$zero,0x1 /* f10fd70: 0fc66bf7 */ jal mpDetermineUnlockedFeatures /* f10fd74: 00000000 */ nop /* f10fd78: 3c10800a */ lui $s0,%hi(g_SoloSaveFile) /* f10fd7c: 3c11800a */ lui $s1,%hi(g_SoloSaveFile+0xc) /* f10fd80: 2631220c */ addiu $s1,$s1,%lo(g_SoloSaveFile+0xc) /* f10fd84: 26102200 */ addiu $s0,$s0,%lo(g_SoloSaveFile) .L0f10fd88: /* f10fd88: 02802025 */ or $a0,$s4,$zero /* f10fd8c: 0fc354fe */ jal savefileGetInteger /* f10fd90: 24050015 */ addiu $a1,$zero,0x15 /* f10fd94: 26100004 */ addiu $s0,$s0,0x4 /* f10fd98: 0211082b */ sltu $at,$s0,$s1 /* f10fd9c: 1420fffa */ bnez $at,.L0f10fd88 /* f10fda0: ae02009c */ sw $v0,0x9c($s0) /* f10fda4: 3c10800a */ lui $s0,%hi(g_SoloSaveFile) /* f10fda8: 3c12800a */ lui $s2,%hi(g_SoloSaveFile+0x9) /* f10fdac: 3c11800a */ lui $s1,%hi(g_SoloSaveFile+0x8) /* f10fdb0: 26312208 */ addiu $s1,$s1,%lo(g_SoloSaveFile+0x8) /* f10fdb4: 26522209 */ addiu $s2,$s2,%lo(g_SoloSaveFile+0x9) /* f10fdb8: 26102200 */ addiu $s0,$s0,%lo(g_SoloSaveFile) .L0f10fdbc: /* f10fdbc: 16110003 */ bne $s0,$s1,.L0f10fdcc /* f10fdc0: 24050008 */ addiu $a1,$zero,0x8 /* f10fdc4: 10000001 */ b .L0f10fdcc /* f10fdc8: 24050002 */ addiu $a1,$zero,0x2 .L0f10fdcc: /* f10fdcc: 0fc354fe */ jal savefileGetInteger /* f10fdd0: 02802025 */ or $a0,$s4,$zero /* f10fdd4: 26100001 */ addiu $s0,$s0,0x1 /* f10fdd8: 0212082b */ sltu $at,$s0,$s2 /* f10fddc: 1420fff7 */ bnez $at,.L0f10fdbc /* f10fde0: a20200ab */ sb $v0,0xab($s0) /* f10fde4: 3c10800a */ lui $s0,%hi(g_SoloSaveFile) /* f10fde8: 3c11800a */ lui $s1,%hi(g_SoloSaveFile+0x4) /* f10fdec: 26312204 */ addiu $s1,$s1,%lo(g_SoloSaveFile+0x4) /* f10fdf0: 26102200 */ addiu $s0,$s0,%lo(g_SoloSaveFile) .L0f10fdf4: /* f10fdf4: 02802025 */ or $a0,$s4,$zero /* f10fdf8: 0fc354fe */ jal savefileGetInteger /* f10fdfc: 24050008 */ addiu $a1,$zero,0x8 /* f10fe00: 26100001 */ addiu $s0,$s0,0x1 /* f10fe04: 1611fffb */ bne $s0,$s1,.L0f10fdf4 /* f10fe08: a20200b4 */ sb $v0,0xb4($s0) /* f10fe0c: 3c10800a */ lui $s0,%hi(g_SoloSaveFile+0x14) /* f10fe10: 26102214 */ addiu $s0,$s0,%lo(g_SoloSaveFile+0x14) /* f10fe14: 02002825 */ or $a1,$s0,$zero /* f10fe18: 0fc47961 */ jal pakHasBitflag /* f10fe1c: 24040041 */ addiu $a0,$zero,0x41 /* f10fe20: 50400004 */ beqzl $v0,.L0f10fe34 /* f10fe24: 24040042 */ addiu $a0,$zero,0x42 /* f10fe28: 0fc672ce */ jal frSetWeaponFound /* f10fe2c: 24040020 */ addiu $a0,$zero,0x20 /* f10fe30: 24040042 */ addiu $a0,$zero,0x42 .L0f10fe34: /* f10fe34: 0fc47961 */ jal pakHasBitflag /* f10fe38: 02002825 */ or $a1,$s0,$zero /* f10fe3c: 50400004 */ beqzl $v0,.L0f10fe50 /* f10fe40: 24040043 */ addiu $a0,$zero,0x43 /* f10fe44: 0fc672ce */ jal frSetWeaponFound /* f10fe48: 24040021 */ addiu $a0,$zero,0x21 /* f10fe4c: 24040043 */ addiu $a0,$zero,0x43 .L0f10fe50: /* f10fe50: 0fc47961 */ jal pakHasBitflag /* f10fe54: 02002825 */ or $a1,$s0,$zero /* f10fe58: 10400003 */ beqz $v0,.L0f10fe68 /* f10fe5c: 00000000 */ nop /* f10fe60: 0fc672ce */ jal frSetWeaponFound /* f10fe64: 24040022 */ addiu $a0,$zero,0x22 .L0f10fe68: /* f10fe68: 0fc35531 */ jal func0f0d54c4 /* f10fe6c: 02802025 */ or $a0,$s4,$zero /* f10fe70: 3c04800a */ lui $a0,%hi(g_SoloSaveFile) /* f10fe74: 0fc43c81 */ jal savefileApplyOptions /* f10fe78: 24842200 */ addiu $a0,$a0,%lo(g_SoloSaveFile) /* f10fe7c: 10000003 */ b .L0f10fe8c /* f10fe80: 00001025 */ or $v0,$zero,$zero .L0f10fe84: /* f10fe84: 10000001 */ b .L0f10fe8c /* f10fe88: 2402ffff */ addiu $v0,$zero,-1 .L0f10fe8c: /* f10fe8c: 8fbf002c */ lw $ra,0x2c($sp) /* f10fe90: 8fb00018 */ lw $s0,0x18($sp) /* f10fe94: 8fb1001c */ lw $s1,0x1c($sp) /* f10fe98: 8fb20020 */ lw $s2,0x20($sp) /* f10fe9c: 8fb30024 */ lw $s3,0x24($sp) /* f10fea0: 8fb40028 */ lw $s4,0x28($sp) /* f10fea4: 03e00008 */ jr $ra /* f10fea8: 27bd0140 */ addiu $sp,$sp,0x140 ); #else GLOBAL_ASM( glabel func0f10fac8 /* f109ff8: 27bdfec0 */ addiu $sp,$sp,-320 /* f109ffc: 3c03800a */ lui $v1,0x800a /* f10a000: 2463e6c0 */ addiu $v1,$v1,-6464 /* f10a004: 8c620298 */ lw $v0,0x298($v1) /* f10a008: afb00018 */ sw $s0,0x18($sp) /* f10a00c: 00808025 */ or $s0,$a0,$zero /* f10a010: afbf002c */ sw $ra,0x2c($sp) /* f10a014: afb40028 */ sw $s4,0x28($sp) /* f10a018: afb30024 */ sw $s3,0x24($sp) /* f10a01c: afb20020 */ sw $s2,0x20($sp) /* f10a020: 04410005 */ bgez $v0,.NB0f10a038 /* f10a024: afb1001c */ sw $s1,0x1c($sp) /* f10a028: 8c6e029c */ lw $t6,0x29c($v1) /* f10a02c: 24110004 */ addiu $s1,$zero,0x4 /* f10a030: 05c00003 */ bltz $t6,.NB0f10a040 /* f10a034: 00000000 */ sll $zero,$zero,0x0 .NB0f10a038: /* f10a038: 10000001 */ beqz $zero,.NB0f10a040 /* f10a03c: 00008825 */ or $s1,$zero,$zero .NB0f10a040: /* f10a040: 04410005 */ bgez $v0,.NB0f10a058 /* f10a044: 27b3004c */ addiu $s3,$sp,0x4c /* f10a048: 8c6f029c */ lw $t7,0x29c($v1) /* f10a04c: 24120005 */ addiu $s2,$zero,0x5 /* f10a050: 05e00003 */ bltz $t7,.NB0f10a060 /* f10a054: 00000000 */ sll $zero,$zero,0x0 .NB0f10a058: /* f10a058: 10000001 */ beqz $zero,.NB0f10a060 /* f10a05c: 24120001 */ addiu $s2,$zero,0x1 .NB0f10a060: /* f10a060: 060000bf */ bltz $s0,.NB0f10a360 /* f10a064: 2402ffff */ addiu $v0,$zero,-1 /* f10a068: 0fc34ad1 */ jal func0f0d545c /* f10a06c: 02602025 */ or $a0,$s3,$zero /* f10a070: 00102600 */ sll $a0,$s0,0x18 /* f10a074: 0004c603 */ sra $t8,$a0,0x18 /* f10a078: 3c05800a */ lui $a1,0x800a /* f10a07c: 8ca567b0 */ lw $a1,0x67b0($a1) /* f10a080: 03002025 */ or $a0,$t8,$zero /* f10a084: 27a60050 */ addiu $a2,$sp,0x50 /* f10a088: 0fc442f1 */ jal func0f116800 /* f10a08c: 00003825 */ or $a3,$zero,$zero /* f10a090: 3c01800a */ lui $at,0x800a /* f10a094: 144000b0 */ bnez $v0,.NB0f10a358 /* f10a098: ac2266e8 */ sw $v0,0x66e8($at) /* f10a09c: 0fc40c5b */ jal cheatsDisableAll /* f10a0a0: 00000000 */ sll $zero,$zero,0x0 /* f10a0a4: 3c05800a */ lui $a1,0x800a /* f10a0a8: 24a566f0 */ addiu $a1,$a1,0x66f0 /* f10a0ac: 02602025 */ or $a0,$s3,$zero /* f10a0b0: 0fc34af3 */ jal func0f0d54e4 /* f10a0b4: 00003025 */ or $a2,$zero,$zero /* f10a0b8: 02602025 */ or $a0,$s3,$zero /* f10a0bc: 0fc34ab8 */ jal savefileGetInteger /* f10a0c0: 24050005 */ addiu $a1,$zero,0x5 /* f10a0c4: 3c03800a */ lui $v1,0x800a /* f10a0c8: 246366f0 */ addiu $v1,$v1,0x66f0 /* f10a0cc: 906a000b */ lbu $t2,0xb($v1) /* f10a0d0: 000248c0 */ sll $t1,$v0,0x3 /* f10a0d4: 02602025 */ or $a0,$s3,$zero /* f10a0d8: 314bff07 */ andi $t3,$t2,0xff07 /* f10a0dc: 012b6025 */ or $t4,$t1,$t3 /* f10a0e0: a06c000b */ sb $t4,0xb($v1) /* f10a0e4: 0fc34ab8 */ jal savefileGetInteger /* f10a0e8: 24050020 */ addiu $a1,$zero,0x20 /* f10a0ec: 3c01800a */ lui $at,0x800a /* f10a0f0: ac226700 */ sw $v0,0x6700($at) /* f10a0f4: 02602025 */ or $a0,$s3,$zero /* f10a0f8: 0fc34ab8 */ jal savefileGetInteger /* f10a0fc: 24050002 */ addiu $a1,$zero,0x2 /* f10a100: 3c03800a */ lui $v1,0x800a /* f10a104: 246366f0 */ addiu $v1,$v1,0x66f0 /* f10a108: 906f000b */ lbu $t7,0xb($v1) /* f10a10c: 304e0007 */ andi $t6,$v0,0x7 /* f10a110: 02602025 */ or $a0,$s3,$zero /* f10a114: 31f8fff8 */ andi $t8,$t7,0xfff8 /* f10a118: 01d8c825 */ or $t9,$t6,$t8 /* f10a11c: a079000b */ sb $t9,0xb($v1) /* f10a120: 0fc34ab8 */ jal savefileGetInteger /* f10a124: 24050005 */ addiu $a1,$zero,0x5 /* f10a128: 3c01800a */ lui $at,0x800a /* f10a12c: a02266fc */ sb $v0,0x66fc($at) /* f10a130: 02602025 */ or $a0,$s3,$zero /* f10a134: 0fc34ab8 */ jal savefileGetInteger /* f10a138: 24050006 */ addiu $a1,$zero,0x6 /* f10a13c: 00022880 */ sll $a1,$v0,0x2 /* f10a140: 2ca100fc */ sltiu $at,$a1,0xfc /* f10a144: 54200003 */ bnezl $at,.NB0f10a154 /* f10a148: 00a02025 */ or $a0,$a1,$zero /* f10a14c: 240500ff */ addiu $a1,$zero,0xff /* f10a150: 00a02025 */ or $a0,$a1,$zero .NB0f10a154: /* f10a154: 000441c0 */ sll $t0,$a0,0x7 /* f10a158: 0c003c77 */ jal sndSetSfxVolume /* f10a15c: 3104ffff */ andi $a0,$t0,0xffff /* f10a160: 02602025 */ or $a0,$s3,$zero /* f10a164: 0fc34ab8 */ jal savefileGetInteger /* f10a168: 24050006 */ addiu $a1,$zero,0x6 /* f10a16c: 00022880 */ sll $a1,$v0,0x2 /* f10a170: 2ca100fc */ sltiu $at,$a1,0xfc /* f10a174: 54200003 */ bnezl $at,.NB0f10a184 /* f10a178: 00a02025 */ or $a0,$a1,$zero /* f10a17c: 240500ff */ addiu $a1,$zero,0xff /* f10a180: 00a02025 */ or $a0,$a1,$zero .NB0f10a184: /* f10a184: 000449c0 */ sll $t1,$a0,0x7 /* f10a188: 0fc5359a */ jal optionsSetMusicVolume /* f10a18c: 3124ffff */ andi $a0,$t1,0xffff /* f10a190: 02602025 */ or $a0,$s3,$zero /* f10a194: 0fc34ab8 */ jal savefileGetInteger /* f10a198: 24050002 */ addiu $a1,$zero,0x2 /* f10a19c: 0c003e02 */ jal sndSetSoundMode /* f10a1a0: 00402025 */ or $a0,$v0,$zero /* f10a1a4: 02602025 */ or $a0,$s3,$zero /* f10a1a8: 0fc34ab8 */ jal savefileGetInteger /* f10a1ac: 24050003 */ addiu $a1,$zero,0x3 /* f10a1b0: 02202025 */ or $a0,$s1,$zero /* f10a1b4: 0fc53387 */ jal optionsSetControlMode /* f10a1b8: 00402825 */ or $a1,$v0,$zero /* f10a1bc: 02602025 */ or $a0,$s3,$zero /* f10a1c0: 0fc34ab8 */ jal savefileGetInteger /* f10a1c4: 24050003 */ addiu $a1,$zero,0x3 /* f10a1c8: 02402025 */ or $a0,$s2,$zero /* f10a1cc: 0fc53387 */ jal optionsSetControlMode /* f10a1d0: 00402825 */ or $a1,$v0,$zero /* f10a1d4: 3c10800a */ lui $s0,0x800a /* f10a1d8: 3c11800a */ lui $s1,0x800a /* f10a1dc: 263166fa */ addiu $s1,$s1,0x66fa /* f10a1e0: 261066f0 */ addiu $s0,$s0,0x66f0 .NB0f10a1e4: /* f10a1e4: 02602025 */ or $a0,$s3,$zero /* f10a1e8: 0fc34ab8 */ jal savefileGetInteger /* f10a1ec: 24050008 */ addiu $a1,$zero,0x8 /* f10a1f0: 26100001 */ addiu $s0,$s0,0x1 /* f10a1f4: 0211082b */ sltu $at,$s0,$s1 /* f10a1f8: 1420fffa */ bnez $at,.NB0f10a1e4 /* f10a1fc: a2020013 */ sb $v0,0x13($s0) /* f10a200: 02602025 */ or $a0,$s3,$zero /* f10a204: 0fc34ab8 */ jal savefileGetInteger /* f10a208: 24050010 */ addiu $a1,$zero,0x10 /* f10a20c: 3c01800a */ lui $at,0x800a /* f10a210: 3c14800a */ lui $s4,0x800a /* f10a214: a422670e */ sh $v0,0x670e($at) /* f10a218: 269466f0 */ addiu $s4,$s4,0x66f0 /* f10a21c: 24120003 */ addiu $s2,$zero,0x3 /* f10a220: 00008025 */ or $s0,$zero,$zero .NB0f10a224: /* f10a224: 02808825 */ or $s1,$s4,$zero .NB0f10a228: /* f10a228: 02602025 */ or $a0,$s3,$zero /* f10a22c: 0fc34ab8 */ jal savefileGetInteger /* f10a230: 2405000c */ addiu $a1,$zero,0xc /* f10a234: 26100001 */ addiu $s0,$s0,0x1 /* f10a238: 26310002 */ addiu $s1,$s1,0x2 /* f10a23c: 1612fffa */ bne $s0,$s2,.NB0f10a228 /* f10a240: a622001e */ sh $v0,0x1e($s1) /* f10a244: 3c0c800a */ lui $t4,0x800a /* f10a248: 258c676e */ addiu $t4,$t4,0x676e /* f10a24c: 26940006 */ addiu $s4,$s4,0x6 /* f10a250: 028c082b */ sltu $at,$s4,$t4 /* f10a254: 5420fff3 */ bnezl $at,.NB0f10a224 /* f10a258: 00008025 */ or $s0,$zero,$zero /* f10a25c: 00008825 */ or $s1,$zero,$zero /* f10a260: 24120005 */ addiu $s2,$zero,0x5 /* f10a264: 24100001 */ addiu $s0,$zero,0x1 .NB0f10a268: /* f10a268: 02602025 */ or $a0,$s3,$zero .NB0f10a26c: /* f10a26c: 0fc34ab8 */ jal savefileGetInteger /* f10a270: 24050001 */ addiu $a1,$zero,0x1 /* f10a274: 02202025 */ or $a0,$s1,$zero /* f10a278: 02002825 */ or $a1,$s0,$zero /* f10a27c: 0fc6591e */ jal mpSetChallengeCompletedByAnyPlayerWithNumPlayers /* f10a280: 00403025 */ or $a2,$v0,$zero /* f10a284: 26100001 */ addiu $s0,$s0,0x1 /* f10a288: 5612fff8 */ bnel $s0,$s2,.NB0f10a26c /* f10a28c: 02602025 */ or $a0,$s3,$zero /* f10a290: 26310001 */ addiu $s1,$s1,0x1 /* f10a294: 2a21001e */ slti $at,$s1,0x1e /* f10a298: 5420fff3 */ bnezl $at,.NB0f10a268 /* f10a29c: 24100001 */ addiu $s0,$zero,0x1 /* f10a2a0: 0fc65417 */ jal mpDetermineUnlockedFeatures /* f10a2a4: 00000000 */ sll $zero,$zero,0x0 /* f10a2a8: 3c10800a */ lui $s0,0x800a /* f10a2ac: 3c11800a */ lui $s1,0x800a /* f10a2b0: 263166fc */ addiu $s1,$s1,0x66fc /* f10a2b4: 261066f0 */ addiu $s0,$s0,0x66f0 .NB0f10a2b8: /* f10a2b8: 02602025 */ or $a0,$s3,$zero /* f10a2bc: 0fc34ab8 */ jal savefileGetInteger /* f10a2c0: 24050015 */ addiu $a1,$zero,0x15 /* f10a2c4: 26100004 */ addiu $s0,$s0,0x4 /* f10a2c8: 0211082b */ sltu $at,$s0,$s1 /* f10a2cc: 1420fffa */ bnez $at,.NB0f10a2b8 /* f10a2d0: ae02009c */ sw $v0,0x9c($s0) /* f10a2d4: 3c10800a */ lui $s0,0x800a /* f10a2d8: 3c12800a */ lui $s2,0x800a /* f10a2dc: 3c11800a */ lui $s1,0x800a /* f10a2e0: 263166f8 */ addiu $s1,$s1,0x66f8 /* f10a2e4: 265266f9 */ addiu $s2,$s2,0x66f9 /* f10a2e8: 261066f0 */ addiu $s0,$s0,0x66f0 .NB0f10a2ec: /* f10a2ec: 16110003 */ bne $s0,$s1,.NB0f10a2fc /* f10a2f0: 24050008 */ addiu $a1,$zero,0x8 /* f10a2f4: 10000001 */ beqz $zero,.NB0f10a2fc /* f10a2f8: 24050002 */ addiu $a1,$zero,0x2 .NB0f10a2fc: /* f10a2fc: 0fc34ab8 */ jal savefileGetInteger /* f10a300: 02602025 */ or $a0,$s3,$zero /* f10a304: 26100001 */ addiu $s0,$s0,0x1 /* f10a308: 0212082b */ sltu $at,$s0,$s2 /* f10a30c: 1420fff7 */ bnez $at,.NB0f10a2ec /* f10a310: a20200ab */ sb $v0,0xab($s0) /* f10a314: 3c10800a */ lui $s0,0x800a /* f10a318: 3c11800a */ lui $s1,0x800a /* f10a31c: 263166f4 */ addiu $s1,$s1,0x66f4 /* f10a320: 261066f0 */ addiu $s0,$s0,0x66f0 .NB0f10a324: /* f10a324: 02602025 */ or $a0,$s3,$zero /* f10a328: 0fc34ab8 */ jal savefileGetInteger /* f10a32c: 24050008 */ addiu $a1,$zero,0x8 /* f10a330: 26100001 */ addiu $s0,$s0,0x1 /* f10a334: 1611fffb */ bne $s0,$s1,.NB0f10a324 /* f10a338: a20200b4 */ sb $v0,0xb4($s0) /* f10a33c: 0fc34aeb */ jal func0f0d54c4 /* f10a340: 02602025 */ or $a0,$s3,$zero /* f10a344: 3c04800a */ lui $a0,0x800a /* f10a348: 0fc425d9 */ jal savefileApplyOptions /* f10a34c: 248466f0 */ addiu $a0,$a0,0x66f0 /* f10a350: 10000003 */ beqz $zero,.NB0f10a360 /* f10a354: 00001025 */ or $v0,$zero,$zero .NB0f10a358: /* f10a358: 10000001 */ beqz $zero,.NB0f10a360 /* f10a35c: 2402ffff */ addiu $v0,$zero,-1 .NB0f10a360: /* f10a360: 8fbf002c */ lw $ra,0x2c($sp) /* f10a364: 8fb00018 */ lw $s0,0x18($sp) /* f10a368: 8fb1001c */ lw $s1,0x1c($sp) /* f10a36c: 8fb20020 */ lw $s2,0x20($sp) /* f10a370: 8fb30024 */ lw $s3,0x24($sp) /* f10a374: 8fb40028 */ lw $s4,0x28($sp) /* f10a378: 03e00008 */ jr $ra /* f10a37c: 27bd0140 */ addiu $sp,$sp,0x140 ); #endif #if VERSION >= VERSION_PAL_FINAL GLOBAL_ASM( glabel func0f10feac /* f11091c: 27bdfeb8 */ addiu $sp,$sp,-328 /* f110920: afb20024 */ sw $s2,0x24($sp) /* f110924: 3c12800a */ lui $s2,0x800a /* f110928: 2652a510 */ addiu $s2,$s2,-23280 /* f11092c: 8e420298 */ lw $v0,0x298($s2) /* f110930: afbf0034 */ sw $ra,0x34($sp) /* f110934: afb50030 */ sw $s5,0x30($sp) /* f110938: afb4002c */ sw $s4,0x2c($sp) /* f11093c: afb30028 */ sw $s3,0x28($sp) /* f110940: afb10020 */ sw $s1,0x20($sp) /* f110944: afb0001c */ sw $s0,0x1c($sp) /* f110948: afa40148 */ sw $a0,0x148($sp) /* f11094c: afa5014c */ sw $a1,0x14c($sp) /* f110950: 04410005 */ bgez $v0,.PF0f110968 /* f110954: afa60150 */ sw $a2,0x150($sp) /* f110958: 8e4e029c */ lw $t6,0x29c($s2) /* f11095c: 24110004 */ li $s1,0x4 /* f110960: 05c00003 */ bltz $t6,.PF0f110970 /* f110964: 00000000 */ nop .PF0f110968: /* f110968: 10000001 */ b .PF0f110970 /* f11096c: 00008825 */ move $s1,$zero .PF0f110970: /* f110970: 04410005 */ bgez $v0,.PF0f110988 /* f110974: 24140001 */ li $s4,0x1 /* f110978: 8e4f029c */ lw $t7,0x29c($s2) /* f11097c: 24130005 */ li $s3,0x5 /* f110980: 05e00003 */ bltz $t7,.PF0f110990 /* f110984: 00000000 */ nop .PF0f110988: /* f110988: 10000001 */ b .PF0f110990 /* f11098c: 24130001 */ li $s3,0x1 .PF0f110990: /* f110990: 3c018007 */ lui $at,0x8007 /* f110994: ac3460a0 */ sw $s4,0x60a0($at) /* f110998: 0fc54d0c */ jal optionsGetForwardPitch /* f11099c: 02202025 */ move $a0,$s1 /* f1109a0: 3c10800a */ lui $s0,0x800a /* f1109a4: 261027b4 */ addiu $s0,$s0,0x27b4 /* f1109a8: 02002825 */ move $a1,$s0 /* f1109ac: 00002025 */ move $a0,$zero /* f1109b0: 0fc47c0b */ jal pakSetBitflag /* f1109b4: 00403025 */ move $a2,$v0 /* f1109b8: 0fc54d15 */ jal optionsGetAutoAim /* f1109bc: 02202025 */ move $a0,$s1 /* f1109c0: 02802025 */ move $a0,$s4 /* f1109c4: 02002825 */ move $a1,$s0 /* f1109c8: 0fc47c0b */ jal pakSetBitflag /* f1109cc: 00403025 */ move $a2,$v0 /* f1109d0: 0fc54d27 */ jal optionsGetAimControl /* f1109d4: 02202025 */ move $a0,$s1 /* f1109d8: 24040002 */ li $a0,0x2 /* f1109dc: 02002825 */ move $a1,$s0 /* f1109e0: 0fc47c0b */ jal pakSetBitflag /* f1109e4: 00403025 */ move $a2,$v0 /* f1109e8: 0fc54d30 */ jal optionsGetSightOnScreen /* f1109ec: 02202025 */ move $a0,$s1 /* f1109f0: 24040003 */ li $a0,0x3 /* f1109f4: 02002825 */ move $a1,$s0 /* f1109f8: 0fc47c0b */ jal pakSetBitflag /* f1109fc: 00403025 */ move $a2,$v0 /* f110a00: 0fc54d1e */ jal optionsGetLookAhead /* f110a04: 02202025 */ move $a0,$s1 /* f110a08: 24040004 */ li $a0,0x4 /* f110a0c: 02002825 */ move $a1,$s0 /* f110a10: 0fc47c0b */ jal pakSetBitflag /* f110a14: 00403025 */ move $a2,$v0 /* f110a18: 0fc54d39 */ jal optionsGetAmmoOnScreen /* f110a1c: 02202025 */ move $a0,$s1 /* f110a20: 24040005 */ li $a0,0x5 /* f110a24: 02002825 */ move $a1,$s0 /* f110a28: 0fc47c0b */ jal pakSetBitflag /* f110a2c: 00403025 */ move $a2,$v0 /* f110a30: 0fc54d75 */ jal optionsGetHeadRoll /* f110a34: 02202025 */ move $a0,$s1 /* f110a38: 24040009 */ li $a0,0x9 /* f110a3c: 02002825 */ move $a1,$s0 /* f110a40: 0fc47c0b */ jal pakSetBitflag /* f110a44: 00403025 */ move $a2,$v0 /* f110a48: 0fc54d42 */ jal optionsGetShowGunFunction /* f110a4c: 02202025 */ move $a0,$s1 /* f110a50: 2404000a */ li $a0,0xa /* f110a54: 02002825 */ move $a1,$s0 /* f110a58: 0fc47c0b */ jal pakSetBitflag /* f110a5c: 00403025 */ move $a2,$v0 /* f110a60: 0fc54d4b */ jal optionsGetAlwaysShowTarget /* f110a64: 02202025 */ move $a0,$s1 /* f110a68: 24040015 */ li $a0,0x15 /* f110a6c: 02002825 */ move $a1,$s0 /* f110a70: 0fc47c0b */ jal pakSetBitflag /* f110a74: 00403025 */ move $a2,$v0 /* f110a78: 0fc54d54 */ jal optionsGetShowZoomRange /* f110a7c: 02202025 */ move $a0,$s1 /* f110a80: 24040017 */ li $a0,0x17 /* f110a84: 02002825 */ move $a1,$s0 /* f110a88: 0fc47c0b */ jal pakSetBitflag /* f110a8c: 00403025 */ move $a2,$v0 /* f110a90: 0fc54d66 */ jal optionsGetShowMissionTime /* f110a94: 02202025 */ move $a0,$s1 /* f110a98: 2404001a */ li $a0,0x1a /* f110a9c: 02002825 */ move $a1,$s0 /* f110aa0: 0fc47c0b */ jal pakSetBitflag /* f110aa4: 00403025 */ move $a2,$v0 /* f110aa8: 0fc54d5d */ jal optionsGetPaintball /* f110aac: 02202025 */ move $a0,$s1 /* f110ab0: 24040020 */ li $a0,0x20 /* f110ab4: 02002825 */ move $a1,$s0 /* f110ab8: 0fc47c0b */ jal pakSetBitflag /* f110abc: 00403025 */ move $a2,$v0 /* f110ac0: 0fc54d0c */ jal optionsGetForwardPitch /* f110ac4: 02602025 */ move $a0,$s3 /* f110ac8: 2404000c */ li $a0,0xc /* f110acc: 02002825 */ move $a1,$s0 /* f110ad0: 0fc47c0b */ jal pakSetBitflag /* f110ad4: 00403025 */ move $a2,$v0 /* f110ad8: 0fc54d15 */ jal optionsGetAutoAim /* f110adc: 02602025 */ move $a0,$s3 /* f110ae0: 2404000d */ li $a0,0xd /* f110ae4: 02002825 */ move $a1,$s0 /* f110ae8: 0fc47c0b */ jal pakSetBitflag /* f110aec: 00403025 */ move $a2,$v0 /* f110af0: 0fc54d27 */ jal optionsGetAimControl /* f110af4: 02602025 */ move $a0,$s3 /* f110af8: 2404000e */ li $a0,0xe /* f110afc: 02002825 */ move $a1,$s0 /* f110b00: 0fc47c0b */ jal pakSetBitflag /* f110b04: 00403025 */ move $a2,$v0 /* f110b08: 0fc54d30 */ jal optionsGetSightOnScreen /* f110b0c: 02602025 */ move $a0,$s3 /* f110b10: 2404000f */ li $a0,0xf /* f110b14: 02002825 */ move $a1,$s0 /* f110b18: 0fc47c0b */ jal pakSetBitflag /* f110b1c: 00403025 */ move $a2,$v0 /* f110b20: 0fc54d1e */ jal optionsGetLookAhead /* f110b24: 02602025 */ move $a0,$s3 /* f110b28: 24040010 */ li $a0,0x10 /* f110b2c: 02002825 */ move $a1,$s0 /* f110b30: 0fc47c0b */ jal pakSetBitflag /* f110b34: 00403025 */ move $a2,$v0 /* f110b38: 0fc54d39 */ jal optionsGetAmmoOnScreen /* f110b3c: 02602025 */ move $a0,$s3 /* f110b40: 24040011 */ li $a0,0x11 /* f110b44: 02002825 */ move $a1,$s0 /* f110b48: 0fc47c0b */ jal pakSetBitflag /* f110b4c: 00403025 */ move $a2,$v0 /* f110b50: 0fc54d75 */ jal optionsGetHeadRoll /* f110b54: 02602025 */ move $a0,$s3 /* f110b58: 24040012 */ li $a0,0x12 /* f110b5c: 02002825 */ move $a1,$s0 /* f110b60: 0fc47c0b */ jal pakSetBitflag /* f110b64: 00403025 */ move $a2,$v0 /* f110b68: 0fc54d42 */ jal optionsGetShowGunFunction /* f110b6c: 02602025 */ move $a0,$s3 /* f110b70: 24040013 */ li $a0,0x13 /* f110b74: 02002825 */ move $a1,$s0 /* f110b78: 0fc47c0b */ jal pakSetBitflag /* f110b7c: 00403025 */ move $a2,$v0 /* f110b80: 0fc54d4b */ jal optionsGetAlwaysShowTarget /* f110b84: 02602025 */ move $a0,$s3 /* f110b88: 24040016 */ li $a0,0x16 /* f110b8c: 02002825 */ move $a1,$s0 /* f110b90: 0fc47c0b */ jal pakSetBitflag /* f110b94: 00403025 */ move $a2,$v0 /* f110b98: 0fc54d54 */ jal optionsGetShowZoomRange /* f110b9c: 02602025 */ move $a0,$s3 /* f110ba0: 24040018 */ li $a0,0x18 /* f110ba4: 02002825 */ move $a1,$s0 /* f110ba8: 0fc47c0b */ jal pakSetBitflag /* f110bac: 00403025 */ move $a2,$v0 /* f110bb0: 0fc54d66 */ jal optionsGetShowMissionTime /* f110bb4: 02602025 */ move $a0,$s3 /* f110bb8: 2404001b */ li $a0,0x1b /* f110bbc: 02002825 */ move $a1,$s0 /* f110bc0: 0fc47c0b */ jal pakSetBitflag /* f110bc4: 00403025 */ move $a2,$v0 /* f110bc8: 0fc54d5d */ jal optionsGetPaintball /* f110bcc: 02602025 */ move $a0,$s3 /* f110bd0: 24040021 */ li $a0,0x21 /* f110bd4: 02002825 */ move $a1,$s0 /* f110bd8: 0fc47c0b */ jal pakSetBitflag /* f110bdc: 00403025 */ move $a2,$v0 /* f110be0: 0fc54ef9 */ jal optionsGetScreenSplit /* f110be4: 00000000 */ nop /* f110be8: 24040019 */ li $a0,0x19 /* f110bec: 02002825 */ move $a1,$s0 /* f110bf0: 0fc47c0b */ jal pakSetBitflag /* f110bf4: 00403025 */ move $a2,$v0 /* f110bf8: 0fc54ef3 */ jal optionsGetScreenRatio /* f110bfc: 00000000 */ nop /* f110c00: 24040007 */ li $a0,0x7 /* f110c04: 02002825 */ move $a1,$s0 /* f110c08: 0fc47c0b */ jal pakSetBitflag /* f110c0c: 00403025 */ move $a2,$v0 /* f110c10: 0fc54eed */ jal optionsGetScreenSize /* f110c14: 00000000 */ nop /* f110c18: 00543026 */ xor $a2,$v0,$s4 /* f110c1c: 2cc60001 */ sltiu $a2,$a2,0x1 /* f110c20: 24040006 */ li $a0,0x6 /* f110c24: 0fc47c0b */ jal pakSetBitflag /* f110c28: 02002825 */ move $a1,$s0 /* f110c2c: 0fc54eed */ jal optionsGetScreenSize /* f110c30: 00000000 */ nop /* f110c34: 24150002 */ li $s5,0x2 /* f110c38: 00553026 */ xor $a2,$v0,$s5 /* f110c3c: 2cc60001 */ sltiu $a2,$a2,0x1 /* f110c40: 24040008 */ li $a0,0x8 /* f110c44: 0fc47c0b */ jal pakSetBitflag /* f110c48: 02002825 */ move $a1,$s0 /* f110c4c: 3c188007 */ lui $t8,0x8007 /* f110c50: 8f1809a8 */ lw $t8,0x9a8($t8) /* f110c54: 24040022 */ li $a0,0x22 /* f110c58: 02002825 */ move $a1,$s0 /* f110c5c: 02983026 */ xor $a2,$s4,$t8 /* f110c60: 0fc47c0b */ jal pakSetBitflag /* f110c64: 2cc60001 */ sltiu $a2,$a2,0x1 /* f110c68: 0fc54d6f */ jal optionsGetInGameSubtitles /* f110c6c: 00000000 */ nop /* f110c70: 2404000b */ li $a0,0xb /* f110c74: 02002825 */ move $a1,$s0 /* f110c78: 0fc47c0b */ jal pakSetBitflag /* f110c7c: 00403025 */ move $a2,$v0 /* f110c80: 0fc54d72 */ jal optionsGetCutsceneSubtitles /* f110c84: 00000000 */ nop /* f110c88: 24040014 */ li $a0,0x14 /* f110c8c: 02002825 */ move $a1,$s0 /* f110c90: 0fc47c0b */ jal pakSetBitflag /* f110c94: 00403025 */ move $a2,$v0 /* f110c98: 24040040 */ li $a0,0x40 /* f110c9c: 02002825 */ move $a1,$s0 /* f110ca0: 0fc47c0b */ jal pakSetBitflag /* f110ca4: 924604e3 */ lbu $a2,0x4e3($s2) /* f110ca8: 0fc676f5 */ jal frIsWeaponFound /* f110cac: 24040020 */ li $a0,0x20 /* f110cb0: 24040041 */ li $a0,0x41 /* f110cb4: 02002825 */ move $a1,$s0 /* f110cb8: 0fc47c0b */ jal pakSetBitflag /* f110cbc: 00403025 */ move $a2,$v0 /* f110cc0: 0fc676f5 */ jal frIsWeaponFound /* f110cc4: 24040021 */ li $a0,0x21 /* f110cc8: 24040042 */ li $a0,0x42 /* f110ccc: 02002825 */ move $a1,$s0 /* f110cd0: 0fc47c0b */ jal pakSetBitflag /* f110cd4: 00403025 */ move $a2,$v0 /* f110cd8: 0fc676f5 */ jal frIsWeaponFound /* f110cdc: 24040022 */ li $a0,0x22 /* f110ce0: 24040043 */ li $a0,0x43 /* f110ce4: 02002825 */ move $a1,$s0 /* f110ce8: 0fc47c0b */ jal pakSetBitflag /* f110cec: 00403025 */ move $a2,$v0 /* f110cf0: 0fc54eed */ jal optionsGetScreenSize /* f110cf4: 00000000 */ nop /* f110cf8: 50400002 */ beqzl $v0,.PF0f110d04 /* f110cfc: 8e590450 */ lw $t9,0x450($s2) /* f110d00: 8e590450 */ lw $t9,0x450($s2) .PF0f110d04: /* f110d04: 2404001f */ li $a0,0x1f /* f110d08: 02002825 */ move $a1,$s0 /* f110d0c: 02993026 */ xor $a2,$s4,$t9 /* f110d10: 0fc47c0b */ jal pakSetBitflag /* f110d14: 2cc60001 */ sltiu $a2,$a2,0x1 /* f110d18: 8e480448 */ lw $t0,0x448($s2) /* f110d1c: 2404001c */ li $a0,0x1c /* f110d20: 02002825 */ move $a1,$s0 /* f110d24: 02883026 */ xor $a2,$s4,$t0 /* f110d28: 0fc47c0b */ jal pakSetBitflag /* f110d2c: 2cc60001 */ sltiu $a2,$a2,0x1 /* f110d30: 8e490454 */ lw $t1,0x454($s2) /* f110d34: 2404001d */ li $a0,0x1d /* f110d38: 02002825 */ move $a1,$s0 /* f110d3c: 02893026 */ xor $a2,$s4,$t1 /* f110d40: 0fc47c0b */ jal pakSetBitflag /* f110d44: 2cc60001 */ sltiu $a2,$a2,0x1 /* f110d48: 8e4a044c */ lw $t2,0x44c($s2) /* f110d4c: 2404001e */ li $a0,0x1e /* f110d50: 02002825 */ move $a1,$s0 /* f110d54: 028a3026 */ xor $a2,$s4,$t2 /* f110d58: 0fc47c0b */ jal pakSetBitflag /* f110d5c: 2cc60001 */ sltiu $a2,$a2,0x1 /* f110d60: 964b0482 */ lhu $t3,0x482($s2) /* f110d64: 24040044 */ li $a0,0x44 /* f110d68: 02002825 */ move $a1,$s0 /* f110d6c: 316c0001 */ andi $t4,$t3,0x1 /* f110d70: 028c3026 */ xor $a2,$s4,$t4 /* f110d74: 0fc47c0b */ jal pakSetBitflag /* f110d78: 2cc60001 */ sltiu $a2,$a2,0x1 /* f110d7c: 964d0482 */ lhu $t5,0x482($s2) /* f110d80: 24040045 */ li $a0,0x45 /* f110d84: 02002825 */ move $a1,$s0 /* f110d88: 31ae0002 */ andi $t6,$t5,0x2 /* f110d8c: 02ae3026 */ xor $a2,$s5,$t6 /* f110d90: 0fc47c0b */ jal pakSetBitflag /* f110d94: 2cc60001 */ sltiu $a2,$a2,0x1 /* f110d98: 96460482 */ lhu $a2,0x482($s2) /* f110d9c: 24040046 */ li $a0,0x46 /* f110da0: 02002825 */ move $a1,$s0 /* f110da4: 30cf0004 */ andi $t7,$a2,0x4 /* f110da8: 39f80004 */ xori $t8,$t7,0x4 /* f110dac: 0fc47c0b */ jal pakSetBitflag /* f110db0: 2f060001 */ sltiu $a2,$t8,0x1 /* f110db4: 8fb90148 */ lw $t9,0x148($sp) /* f110db8: 27b4004c */ addiu $s4,$sp,0x4c /* f110dbc: 2402ffff */ li $v0,-1 /* f110dc0: 072000b6 */ bltz $t9,.PF0f11109c /* f110dc4: 00000000 */ nop /* f110dc8: 0fc3567f */ jal func0f0d545c /* f110dcc: 02802025 */ move $a0,$s4 /* f110dd0: 3c12800a */ lui $s2,0x800a /* f110dd4: 265227a0 */ addiu $s2,$s2,0x27a0 /* f110dd8: 02402825 */ move $a1,$s2 /* f110ddc: 0fc356d1 */ jal func0f0d55a4 /* f110de0: 02802025 */ move $a0,$s4 /* f110de4: 9245000b */ lbu $a1,0xb($s2) /* f110de8: 02802025 */ move $a0,$s4 /* f110dec: 24060005 */ li $a2,0x5 /* f110df0: 000540c2 */ srl $t0,$a1,0x3 /* f110df4: 0fc35626 */ jal savefileGetSomething /* f110df8: 01002825 */ move $a1,$t0 /* f110dfc: 02802025 */ move $a0,$s4 /* f110e00: 8e450010 */ lw $a1,0x10($s2) /* f110e04: 0fc35626 */ jal savefileGetSomething /* f110e08: 24060020 */ li $a2,0x20 /* f110e0c: 8e450008 */ lw $a1,0x8($s2) /* f110e10: 02802025 */ move $a0,$s4 /* f110e14: 24060002 */ li $a2,0x2 /* f110e18: 30a90007 */ andi $t1,$a1,0x7 /* f110e1c: 0fc35626 */ jal savefileGetSomething /* f110e20: 01202825 */ move $a1,$t1 /* f110e24: 02802025 */ move $a0,$s4 /* f110e28: 9245000c */ lbu $a1,0xc($s2) /* f110e2c: 0fc35626 */ jal savefileGetSomething /* f110e30: 24060005 */ li $a2,0x5 /* f110e34: 3c028006 */ lui $v0,0x8006 /* f110e38: 9442da68 */ lhu $v0,-0x2598($v0) /* f110e3c: 02802025 */ move $a0,$s4 /* f110e40: 24060006 */ li $a2,0x6 /* f110e44: 28415001 */ slti $at,$v0,0x5001 /* f110e48: 54200004 */ bnezl $at,.PF0f110e5c /* f110e4c: 00403825 */ move $a3,$v0 /* f110e50: 10000002 */ b .PF0f110e5c /* f110e54: 24075000 */ li $a3,0x5000 /* f110e58: 00403825 */ move $a3,$v0 .PF0f110e5c: /* f110e5c: 000729c3 */ sra $a1,$a3,0x7 /* f110e60: 00055082 */ srl $t2,$a1,0x2 /* f110e64: 0fc35626 */ jal savefileGetSomething /* f110e68: 01402825 */ move $a1,$t2 /* f110e6c: 0fc54f00 */ jal optionsGetMusicVolume /* f110e70: 00000000 */ nop /* f110e74: 000229c3 */ sra $a1,$v0,0x7 /* f110e78: 00055882 */ srl $t3,$a1,0x2 /* f110e7c: 01602825 */ move $a1,$t3 /* f110e80: 02802025 */ move $a0,$s4 /* f110e84: 0fc35626 */ jal savefileGetSomething /* f110e88: 24060006 */ li $a2,0x6 /* f110e8c: 3c058006 */ lui $a1,0x8006 /* f110e90: 8ca5da6c */ lw $a1,-0x2594($a1) /* f110e94: 02802025 */ move $a0,$s4 /* f110e98: 0fc35626 */ jal savefileGetSomething /* f110e9c: 24060002 */ li $a2,0x2 /* f110ea0: 0fc54cf0 */ jal optionsGetControlMode /* f110ea4: 02202025 */ move $a0,$s1 /* f110ea8: 02802025 */ move $a0,$s4 /* f110eac: 00402825 */ move $a1,$v0 /* f110eb0: 0fc35626 */ jal savefileGetSomething /* f110eb4: 24060003 */ li $a2,0x3 /* f110eb8: 0fc54cf0 */ jal optionsGetControlMode /* f110ebc: 02602025 */ move $a0,$s3 /* f110ec0: 02802025 */ move $a0,$s4 /* f110ec4: 00402825 */ move $a1,$v0 /* f110ec8: 0fc35626 */ jal savefileGetSomething /* f110ecc: 24060003 */ li $a2,0x3 /* f110ed0: 3c10800a */ lui $s0,0x800a /* f110ed4: 3c11800a */ lui $s1,0x800a /* f110ed8: 263127aa */ addiu $s1,$s1,0x27aa /* f110edc: 261027a0 */ addiu $s0,$s0,0x27a0 /* f110ee0: 02802025 */ move $a0,$s4 .PF0f110ee4: /* f110ee4: 92050014 */ lbu $a1,0x14($s0) /* f110ee8: 0fc35626 */ jal savefileGetSomething /* f110eec: 24060008 */ li $a2,0x8 /* f110ef0: 26100001 */ addiu $s0,$s0,0x1 /* f110ef4: 0211082b */ sltu $at,$s0,$s1 /* f110ef8: 5420fffa */ bnezl $at,.PF0f110ee4 /* f110efc: 02802025 */ move $a0,$s4 /* f110f00: 02802025 */ move $a0,$s4 /* f110f04: 9645001e */ lhu $a1,0x1e($s2) /* f110f08: 0fc35626 */ jal savefileGetSomething /* f110f0c: 24060010 */ li $a2,0x10 /* f110f10: 3c15800a */ lui $s5,0x800a /* f110f14: 26b527a0 */ addiu $s5,$s5,0x27a0 /* f110f18: 24130006 */ li $s3,0x6 /* f110f1c: 00008825 */ move $s1,$zero .PF0f110f20: /* f110f20: 02a09025 */ move $s2,$s5 .PF0f110f24: /* f110f24: 02802025 */ move $a0,$s4 /* f110f28: 96450020 */ lhu $a1,0x20($s2) /* f110f2c: 0fc35626 */ jal savefileGetSomething /* f110f30: 2406000c */ li $a2,0xc /* f110f34: 26310002 */ addiu $s1,$s1,0x2 /* f110f38: 1633fffa */ bne $s1,$s3,.PF0f110f24 /* f110f3c: 26520002 */ addiu $s2,$s2,0x2 /* f110f40: 3c0c800a */ lui $t4,0x800a /* f110f44: 258c281e */ addiu $t4,$t4,0x281e /* f110f48: 26b50006 */ addiu $s5,$s5,0x6 /* f110f4c: 02ac082b */ sltu $at,$s5,$t4 /* f110f50: 5420fff3 */ bnezl $at,.PF0f110f20 /* f110f54: 00008825 */ move $s1,$zero /* f110f58: 00008825 */ move $s1,$zero /* f110f5c: 24120005 */ li $s2,0x5 /* f110f60: 24100001 */ li $s0,0x1 .PF0f110f64: /* f110f64: 02202025 */ move $a0,$s1 .PF0f110f68: /* f110f68: 0fc67537 */ jal mpIsChallengeCompletedByAnyPlayerWithNumPlayers /* f110f6c: 02002825 */ move $a1,$s0 /* f110f70: 02802025 */ move $a0,$s4 /* f110f74: 00402825 */ move $a1,$v0 /* f110f78: 0fc35626 */ jal savefileGetSomething /* f110f7c: 24060001 */ li $a2,0x1 /* f110f80: 26100001 */ addiu $s0,$s0,0x1 /* f110f84: 5612fff8 */ bnel $s0,$s2,.PF0f110f68 /* f110f88: 02202025 */ move $a0,$s1 /* f110f8c: 26310001 */ addiu $s1,$s1,0x1 /* f110f90: 2a21001e */ slti $at,$s1,0x1e /* f110f94: 5420fff3 */ bnezl $at,.PF0f110f64 /* f110f98: 24100001 */ li $s0,0x1 /* f110f9c: 3c10800a */ lui $s0,0x800a /* f110fa0: 3c11800a */ lui $s1,0x800a /* f110fa4: 263127ac */ addiu $s1,$s1,0x27ac /* f110fa8: 261027a0 */ addiu $s0,$s0,0x27a0 /* f110fac: 02802025 */ move $a0,$s4 .PF0f110fb0: /* f110fb0: 8e0500a0 */ lw $a1,0xa0($s0) /* f110fb4: 0fc35626 */ jal savefileGetSomething /* f110fb8: 24060015 */ li $a2,0x15 /* f110fbc: 26100004 */ addiu $s0,$s0,0x4 /* f110fc0: 0211082b */ sltu $at,$s0,$s1 /* f110fc4: 5420fffa */ bnezl $at,.PF0f110fb0 /* f110fc8: 02802025 */ move $a0,$s4 /* f110fcc: 3c10800a */ lui $s0,0x800a /* f110fd0: 3c12800a */ lui $s2,0x800a /* f110fd4: 3c11800a */ lui $s1,0x800a /* f110fd8: 263127a8 */ addiu $s1,$s1,0x27a8 /* f110fdc: 265227a9 */ addiu $s2,$s2,0x27a9 /* f110fe0: 261027a0 */ addiu $s0,$s0,0x27a0 .PF0f110fe4: /* f110fe4: 16110003 */ bne $s0,$s1,.PF0f110ff4 /* f110fe8: 02802025 */ move $a0,$s4 /* f110fec: 10000002 */ b .PF0f110ff8 /* f110ff0: 24070002 */ li $a3,0x2 .PF0f110ff4: /* f110ff4: 24070008 */ li $a3,0x8 .PF0f110ff8: /* f110ff8: 920500ac */ lbu $a1,0xac($s0) /* f110ffc: 0fc35626 */ jal savefileGetSomething /* f111000: 00e03025 */ move $a2,$a3 /* f111004: 26100001 */ addiu $s0,$s0,0x1 /* f111008: 0212082b */ sltu $at,$s0,$s2 /* f11100c: 1420fff5 */ bnez $at,.PF0f110fe4 /* f111010: 00000000 */ nop /* f111014: 3c10800a */ lui $s0,0x800a /* f111018: 3c11800a */ lui $s1,0x800a /* f11101c: 263127a4 */ addiu $s1,$s1,0x27a4 /* f111020: 261027a0 */ addiu $s0,$s0,0x27a0 /* f111024: 02802025 */ move $a0,$s4 .PF0f111028: /* f111028: 920500b5 */ lbu $a1,0xb5($s0) /* f11102c: 0fc35626 */ jal savefileGetSomething /* f111030: 24060008 */ li $a2,0x8 /* f111034: 26100001 */ addiu $s0,$s0,0x1 /* f111038: 5611fffb */ bnel $s0,$s1,.PF0f111028 /* f11103c: 02802025 */ move $a0,$s4 /* f111040: 0fc35699 */ jal func0f0d54c4 /* f111044: 02802025 */ move $a0,$s4 /* f111048: 27ad0140 */ addiu $t5,$sp,0x140 /* f11104c: afad0010 */ sw $t5,0x10($sp) /* f111050: 83a4014b */ lb $a0,0x14b($sp) /* f111054: 8fa5014c */ lw $a1,0x14c($sp) /* f111058: 24060080 */ li $a2,0x80 /* f11105c: 27a70050 */ addiu $a3,$sp,0x50 /* f111060: 0fc45cc2 */ jal func0f116828 /* f111064: afa00014 */ sw $zero,0x14($sp) /* f111068: 3c01800a */ lui $at,0x800a /* f11106c: 14400009 */ bnez $v0,.PF0f111094 /* f111070: ac222798 */ sw $v0,0x2798($at) /* f111074: 8fae0140 */ lw $t6,0x140($sp) /* f111078: 97af0152 */ lhu $t7,0x152($sp) /* f11107c: 3c03800a */ lui $v1,0x800a /* f111080: 24632860 */ addiu $v1,$v1,0x2860 /* f111084: 00001025 */ move $v0,$zero /* f111088: ac6e0000 */ sw $t6,0x0($v1) /* f11108c: 10000003 */ b .PF0f11109c /* f111090: a46f0004 */ sh $t7,0x4($v1) .PF0f111094: /* f111094: 10000001 */ b .PF0f11109c /* f111098: 2402ffff */ li $v0,-1 .PF0f11109c: /* f11109c: 8fbf0034 */ lw $ra,0x34($sp) /* f1110a0: 8fb0001c */ lw $s0,0x1c($sp) /* f1110a4: 8fb10020 */ lw $s1,0x20($sp) /* f1110a8: 8fb20024 */ lw $s2,0x24($sp) /* f1110ac: 8fb30028 */ lw $s3,0x28($sp) /* f1110b0: 8fb4002c */ lw $s4,0x2c($sp) /* f1110b4: 8fb50030 */ lw $s5,0x30($sp) /* f1110b8: 03e00008 */ jr $ra /* f1110bc: 27bd0148 */ addiu $sp,$sp,0x148 ); #elif VERSION >= VERSION_NTSC_1_0 GLOBAL_ASM( glabel func0f10feac /* f10feac: 27bdfeb8 */ addiu $sp,$sp,-328 /* f10feb0: afb4002c */ sw $s4,0x2c($sp) /* f10feb4: 3c14800a */ lui $s4,%hi(g_Vars) /* f10feb8: 26949fc0 */ addiu $s4,$s4,%lo(g_Vars) /* f10febc: 8e820298 */ lw $v0,0x298($s4) /* f10fec0: afbf0034 */ sw $ra,0x34($sp) /* f10fec4: afb50030 */ sw $s5,0x30($sp) /* f10fec8: afb30028 */ sw $s3,0x28($sp) /* f10fecc: afb20024 */ sw $s2,0x24($sp) /* f10fed0: afb10020 */ sw $s1,0x20($sp) /* f10fed4: afb0001c */ sw $s0,0x1c($sp) /* f10fed8: afa40148 */ sw $a0,0x148($sp) /* f10fedc: afa5014c */ sw $a1,0x14c($sp) /* f10fee0: 04410005 */ bgez $v0,.L0f10fef8 /* f10fee4: afa60150 */ sw $a2,0x150($sp) /* f10fee8: 8e8e029c */ lw $t6,0x29c($s4) /* f10feec: 24130004 */ addiu $s3,$zero,0x4 /* f10fef0: 05c00003 */ bltz $t6,.L0f10ff00 /* f10fef4: 00000000 */ nop .L0f10fef8: /* f10fef8: 10000001 */ b .L0f10ff00 /* f10fefc: 00009825 */ or $s3,$zero,$zero .L0f10ff00: /* f10ff00: 04410005 */ bgez $v0,.L0f10ff18 /* f10ff04: 24120001 */ addiu $s2,$zero,0x1 /* f10ff08: 8e8f029c */ lw $t7,0x29c($s4) /* f10ff0c: 24110005 */ addiu $s1,$zero,0x5 /* f10ff10: 05e00003 */ bltz $t7,.L0f10ff20 /* f10ff14: 00000000 */ nop .L0f10ff18: /* f10ff18: 10000001 */ b .L0f10ff20 /* f10ff1c: 24110001 */ addiu $s1,$zero,0x1 .L0f10ff20: /* f10ff20: 3c018007 */ lui $at,%hi(g_FileLists+0x10) /* f10ff24: ac325bd0 */ sw $s2,%lo(g_FileLists+0x10)($at) /* f10ff28: 0fc549e0 */ jal optionsGetForwardPitch /* f10ff2c: 02602025 */ or $a0,$s3,$zero /* f10ff30: 3c10800a */ lui $s0,%hi(g_SoloSaveFile+0x14) /* f10ff34: 26102214 */ addiu $s0,$s0,%lo(g_SoloSaveFile+0x14) /* f10ff38: 02002825 */ or $a1,$s0,$zero /* f10ff3c: 00002025 */ or $a0,$zero,$zero /* f10ff40: 0fc4794c */ jal pakSetBitflag /* f10ff44: 00403025 */ or $a2,$v0,$zero /* f10ff48: 0fc549e9 */ jal optionsGetAutoAim /* f10ff4c: 02602025 */ or $a0,$s3,$zero /* f10ff50: 02402025 */ or $a0,$s2,$zero /* f10ff54: 02002825 */ or $a1,$s0,$zero /* f10ff58: 0fc4794c */ jal pakSetBitflag /* f10ff5c: 00403025 */ or $a2,$v0,$zero /* f10ff60: 0fc549fb */ jal optionsGetAimControl /* f10ff64: 02602025 */ or $a0,$s3,$zero /* f10ff68: 24040002 */ addiu $a0,$zero,0x2 /* f10ff6c: 02002825 */ or $a1,$s0,$zero /* f10ff70: 0fc4794c */ jal pakSetBitflag /* f10ff74: 00403025 */ or $a2,$v0,$zero /* f10ff78: 0fc54a04 */ jal optionsGetSightOnScreen /* f10ff7c: 02602025 */ or $a0,$s3,$zero /* f10ff80: 24040003 */ addiu $a0,$zero,0x3 /* f10ff84: 02002825 */ or $a1,$s0,$zero /* f10ff88: 0fc4794c */ jal pakSetBitflag /* f10ff8c: 00403025 */ or $a2,$v0,$zero /* f10ff90: 0fc549f2 */ jal optionsGetLookAhead /* f10ff94: 02602025 */ or $a0,$s3,$zero /* f10ff98: 24040004 */ addiu $a0,$zero,0x4 /* f10ff9c: 02002825 */ or $a1,$s0,$zero /* f10ffa0: 0fc4794c */ jal pakSetBitflag /* f10ffa4: 00403025 */ or $a2,$v0,$zero /* f10ffa8: 0fc54a0d */ jal optionsGetAmmoOnScreen /* f10ffac: 02602025 */ or $a0,$s3,$zero /* f10ffb0: 24040005 */ addiu $a0,$zero,0x5 /* f10ffb4: 02002825 */ or $a1,$s0,$zero /* f10ffb8: 0fc4794c */ jal pakSetBitflag /* f10ffbc: 00403025 */ or $a2,$v0,$zero /* f10ffc0: 0fc54a49 */ jal optionsGetHeadRoll /* f10ffc4: 02602025 */ or $a0,$s3,$zero /* f10ffc8: 24040009 */ addiu $a0,$zero,0x9 /* f10ffcc: 02002825 */ or $a1,$s0,$zero /* f10ffd0: 0fc4794c */ jal pakSetBitflag /* f10ffd4: 00403025 */ or $a2,$v0,$zero /* f10ffd8: 0fc54a16 */ jal optionsGetShowGunFunction /* f10ffdc: 02602025 */ or $a0,$s3,$zero /* f10ffe0: 2404000a */ addiu $a0,$zero,0xa /* f10ffe4: 02002825 */ or $a1,$s0,$zero /* f10ffe8: 0fc4794c */ jal pakSetBitflag /* f10ffec: 00403025 */ or $a2,$v0,$zero /* f10fff0: 0fc54a1f */ jal optionsGetAlwaysShowTarget /* f10fff4: 02602025 */ or $a0,$s3,$zero /* f10fff8: 24040015 */ addiu $a0,$zero,0x15 /* f10fffc: 02002825 */ or $a1,$s0,$zero /* f110000: 0fc4794c */ jal pakSetBitflag /* f110004: 00403025 */ or $a2,$v0,$zero /* f110008: 0fc54a28 */ jal optionsGetShowZoomRange /* f11000c: 02602025 */ or $a0,$s3,$zero /* f110010: 24040017 */ addiu $a0,$zero,0x17 /* f110014: 02002825 */ or $a1,$s0,$zero /* f110018: 0fc4794c */ jal pakSetBitflag /* f11001c: 00403025 */ or $a2,$v0,$zero /* f110020: 0fc54a3a */ jal optionsGetShowMissionTime /* f110024: 02602025 */ or $a0,$s3,$zero /* f110028: 2404001a */ addiu $a0,$zero,0x1a /* f11002c: 02002825 */ or $a1,$s0,$zero /* f110030: 0fc4794c */ jal pakSetBitflag /* f110034: 00403025 */ or $a2,$v0,$zero /* f110038: 0fc54a31 */ jal optionsGetPaintball /* f11003c: 02602025 */ or $a0,$s3,$zero /* f110040: 24040020 */ addiu $a0,$zero,0x20 /* f110044: 02002825 */ or $a1,$s0,$zero /* f110048: 0fc4794c */ jal pakSetBitflag /* f11004c: 00403025 */ or $a2,$v0,$zero /* f110050: 0fc549e0 */ jal optionsGetForwardPitch /* f110054: 02202025 */ or $a0,$s1,$zero /* f110058: 2404000c */ addiu $a0,$zero,0xc /* f11005c: 02002825 */ or $a1,$s0,$zero /* f110060: 0fc4794c */ jal pakSetBitflag /* f110064: 00403025 */ or $a2,$v0,$zero /* f110068: 0fc549e9 */ jal optionsGetAutoAim /* f11006c: 02202025 */ or $a0,$s1,$zero /* f110070: 2404000d */ addiu $a0,$zero,0xd /* f110074: 02002825 */ or $a1,$s0,$zero /* f110078: 0fc4794c */ jal pakSetBitflag /* f11007c: 00403025 */ or $a2,$v0,$zero /* f110080: 0fc549fb */ jal optionsGetAimControl /* f110084: 02202025 */ or $a0,$s1,$zero /* f110088: 2404000e */ addiu $a0,$zero,0xe /* f11008c: 02002825 */ or $a1,$s0,$zero /* f110090: 0fc4794c */ jal pakSetBitflag /* f110094: 00403025 */ or $a2,$v0,$zero /* f110098: 0fc54a04 */ jal optionsGetSightOnScreen /* f11009c: 02202025 */ or $a0,$s1,$zero /* f1100a0: 2404000f */ addiu $a0,$zero,0xf /* f1100a4: 02002825 */ or $a1,$s0,$zero /* f1100a8: 0fc4794c */ jal pakSetBitflag /* f1100ac: 00403025 */ or $a2,$v0,$zero /* f1100b0: 0fc549f2 */ jal optionsGetLookAhead /* f1100b4: 02202025 */ or $a0,$s1,$zero /* f1100b8: 24040010 */ addiu $a0,$zero,0x10 /* f1100bc: 02002825 */ or $a1,$s0,$zero /* f1100c0: 0fc4794c */ jal pakSetBitflag /* f1100c4: 00403025 */ or $a2,$v0,$zero /* f1100c8: 0fc54a0d */ jal optionsGetAmmoOnScreen /* f1100cc: 02202025 */ or $a0,$s1,$zero /* f1100d0: 24040011 */ addiu $a0,$zero,0x11 /* f1100d4: 02002825 */ or $a1,$s0,$zero /* f1100d8: 0fc4794c */ jal pakSetBitflag /* f1100dc: 00403025 */ or $a2,$v0,$zero /* f1100e0: 0fc54a49 */ jal optionsGetHeadRoll /* f1100e4: 02202025 */ or $a0,$s1,$zero /* f1100e8: 24040012 */ addiu $a0,$zero,0x12 /* f1100ec: 02002825 */ or $a1,$s0,$zero /* f1100f0: 0fc4794c */ jal pakSetBitflag /* f1100f4: 00403025 */ or $a2,$v0,$zero /* f1100f8: 0fc54a16 */ jal optionsGetShowGunFunction /* f1100fc: 02202025 */ or $a0,$s1,$zero /* f110100: 24040013 */ addiu $a0,$zero,0x13 /* f110104: 02002825 */ or $a1,$s0,$zero /* f110108: 0fc4794c */ jal pakSetBitflag /* f11010c: 00403025 */ or $a2,$v0,$zero /* f110110: 0fc54a1f */ jal optionsGetAlwaysShowTarget /* f110114: 02202025 */ or $a0,$s1,$zero /* f110118: 24040016 */ addiu $a0,$zero,0x16 /* f11011c: 02002825 */ or $a1,$s0,$zero /* f110120: 0fc4794c */ jal pakSetBitflag /* f110124: 00403025 */ or $a2,$v0,$zero /* f110128: 0fc54a28 */ jal optionsGetShowZoomRange /* f11012c: 02202025 */ or $a0,$s1,$zero /* f110130: 24040018 */ addiu $a0,$zero,0x18 /* f110134: 02002825 */ or $a1,$s0,$zero /* f110138: 0fc4794c */ jal pakSetBitflag /* f11013c: 00403025 */ or $a2,$v0,$zero /* f110140: 0fc54a3a */ jal optionsGetShowMissionTime /* f110144: 02202025 */ or $a0,$s1,$zero /* f110148: 2404001b */ addiu $a0,$zero,0x1b /* f11014c: 02002825 */ or $a1,$s0,$zero /* f110150: 0fc4794c */ jal pakSetBitflag /* f110154: 00403025 */ or $a2,$v0,$zero /* f110158: 0fc54a31 */ jal optionsGetPaintball /* f11015c: 02202025 */ or $a0,$s1,$zero /* f110160: 24040021 */ addiu $a0,$zero,0x21 /* f110164: 02002825 */ or $a1,$s0,$zero /* f110168: 0fc4794c */ jal pakSetBitflag /* f11016c: 00403025 */ or $a2,$v0,$zero /* f110170: 0fc54bcd */ jal optionsGetScreenSplit /* f110174: 00000000 */ nop /* f110178: 24040019 */ addiu $a0,$zero,0x19 /* f11017c: 02002825 */ or $a1,$s0,$zero /* f110180: 0fc4794c */ jal pakSetBitflag /* f110184: 00403025 */ or $a2,$v0,$zero /* f110188: 0fc54bc7 */ jal optionsGetScreenRatio /* f11018c: 00000000 */ nop /* f110190: 24040007 */ addiu $a0,$zero,0x7 /* f110194: 02002825 */ or $a1,$s0,$zero /* f110198: 0fc4794c */ jal pakSetBitflag /* f11019c: 00403025 */ or $a2,$v0,$zero /* f1101a0: 0fc54bc1 */ jal optionsGetScreenSize /* f1101a4: 00000000 */ nop /* f1101a8: 00523026 */ xor $a2,$v0,$s2 /* f1101ac: 2cc60001 */ sltiu $a2,$a2,0x1 /* f1101b0: 24040006 */ addiu $a0,$zero,0x6 /* f1101b4: 0fc4794c */ jal pakSetBitflag /* f1101b8: 02002825 */ or $a1,$s0,$zero /* f1101bc: 0fc54bc1 */ jal optionsGetScreenSize /* f1101c0: 00000000 */ nop /* f1101c4: 24150002 */ addiu $s5,$zero,0x2 /* f1101c8: 00553026 */ xor $a2,$v0,$s5 /* f1101cc: 2cc60001 */ sltiu $a2,$a2,0x1 /* f1101d0: 24040008 */ addiu $a0,$zero,0x8 /* f1101d4: 0fc4794c */ jal pakSetBitflag /* f1101d8: 02002825 */ or $a1,$s0,$zero /* f1101dc: 3c188007 */ lui $t8,%hi(g_ViMode) /* f1101e0: 8f1806c8 */ lw $t8,%lo(g_ViMode)($t8) /* f1101e4: 24040022 */ addiu $a0,$zero,0x22 /* f1101e8: 02002825 */ or $a1,$s0,$zero /* f1101ec: 02583026 */ xor $a2,$s2,$t8 /* f1101f0: 0fc4794c */ jal pakSetBitflag /* f1101f4: 2cc60001 */ sltiu $a2,$a2,0x1 /* f1101f8: 0fc54a43 */ jal optionsGetInGameSubtitles /* f1101fc: 00000000 */ nop /* f110200: 2404000b */ addiu $a0,$zero,0xb /* f110204: 02002825 */ or $a1,$s0,$zero /* f110208: 0fc4794c */ jal pakSetBitflag /* f11020c: 00403025 */ or $a2,$v0,$zero /* f110210: 0fc54a46 */ jal optionsGetCutsceneSubtitles /* f110214: 00000000 */ nop /* f110218: 24040014 */ addiu $a0,$zero,0x14 /* f11021c: 02002825 */ or $a1,$s0,$zero /* f110220: 0fc4794c */ jal pakSetBitflag /* f110224: 00403025 */ or $a2,$v0,$zero /* f110228: 24040040 */ addiu $a0,$zero,0x40 /* f11022c: 02002825 */ or $a1,$s0,$zero /* f110230: 0fc4794c */ jal pakSetBitflag /* f110234: 928604e3 */ lbu $a2,0x4e3($s4) /* f110238: 0fc672b5 */ jal frIsWeaponFound /* f11023c: 24040020 */ addiu $a0,$zero,0x20 /* f110240: 24040041 */ addiu $a0,$zero,0x41 /* f110244: 02002825 */ or $a1,$s0,$zero /* f110248: 0fc4794c */ jal pakSetBitflag /* f11024c: 00403025 */ or $a2,$v0,$zero /* f110250: 0fc672b5 */ jal frIsWeaponFound /* f110254: 24040021 */ addiu $a0,$zero,0x21 /* f110258: 24040042 */ addiu $a0,$zero,0x42 /* f11025c: 02002825 */ or $a1,$s0,$zero /* f110260: 0fc4794c */ jal pakSetBitflag /* f110264: 00403025 */ or $a2,$v0,$zero /* f110268: 0fc672b5 */ jal frIsWeaponFound /* f11026c: 24040022 */ addiu $a0,$zero,0x22 /* f110270: 24040043 */ addiu $a0,$zero,0x43 /* f110274: 02002825 */ or $a1,$s0,$zero /* f110278: 0fc4794c */ jal pakSetBitflag /* f11027c: 00403025 */ or $a2,$v0,$zero /* f110280: 0fc54bc1 */ jal optionsGetScreenSize /* f110284: 00000000 */ nop /* f110288: 50400002 */ beqzl $v0,.L0f110294 /* f11028c: 8e990450 */ lw $t9,0x450($s4) /* f110290: 8e990450 */ lw $t9,0x450($s4) .L0f110294: /* f110294: 2404001f */ addiu $a0,$zero,0x1f /* f110298: 02002825 */ or $a1,$s0,$zero /* f11029c: 02593026 */ xor $a2,$s2,$t9 /* f1102a0: 0fc4794c */ jal pakSetBitflag /* f1102a4: 2cc60001 */ sltiu $a2,$a2,0x1 /* f1102a8: 8e880448 */ lw $t0,0x448($s4) /* f1102ac: 2404001c */ addiu $a0,$zero,0x1c /* f1102b0: 02002825 */ or $a1,$s0,$zero /* f1102b4: 02483026 */ xor $a2,$s2,$t0 /* f1102b8: 0fc4794c */ jal pakSetBitflag /* f1102bc: 2cc60001 */ sltiu $a2,$a2,0x1 /* f1102c0: 8e890454 */ lw $t1,0x454($s4) /* f1102c4: 2404001d */ addiu $a0,$zero,0x1d /* f1102c8: 02002825 */ or $a1,$s0,$zero /* f1102cc: 02493026 */ xor $a2,$s2,$t1 /* f1102d0: 0fc4794c */ jal pakSetBitflag /* f1102d4: 2cc60001 */ sltiu $a2,$a2,0x1 /* f1102d8: 8e8a044c */ lw $t2,0x44c($s4) /* f1102dc: 2404001e */ addiu $a0,$zero,0x1e /* f1102e0: 02002825 */ or $a1,$s0,$zero /* f1102e4: 024a3026 */ xor $a2,$s2,$t2 /* f1102e8: 0fc4794c */ jal pakSetBitflag /* f1102ec: 2cc60001 */ sltiu $a2,$a2,0x1 /* f1102f0: 8fab0148 */ lw $t3,0x148($sp) /* f1102f4: 27b4004c */ addiu $s4,$sp,0x4c /* f1102f8: 2402ffff */ addiu $v0,$zero,-1 /* f1102fc: 056000b6 */ bltz $t3,.L0f1105d8 /* f110300: 00000000 */ nop /* f110304: 0fc35517 */ jal func0f0d545c /* f110308: 02802025 */ or $a0,$s4,$zero /* f11030c: 3c12800a */ lui $s2,%hi(g_SoloSaveFile) /* f110310: 26522200 */ addiu $s2,$s2,%lo(g_SoloSaveFile) /* f110314: 02402825 */ or $a1,$s2,$zero /* f110318: 0fc35569 */ jal func0f0d55a4 /* f11031c: 02802025 */ or $a0,$s4,$zero /* f110320: 9245000b */ lbu $a1,0xb($s2) /* f110324: 02802025 */ or $a0,$s4,$zero /* f110328: 24060005 */ addiu $a2,$zero,0x5 /* f11032c: 000560c2 */ srl $t4,$a1,0x3 /* f110330: 0fc354be */ jal savefileGetSomething /* f110334: 01802825 */ or $a1,$t4,$zero /* f110338: 02802025 */ or $a0,$s4,$zero /* f11033c: 8e450010 */ lw $a1,0x10($s2) /* f110340: 0fc354be */ jal savefileGetSomething /* f110344: 24060020 */ addiu $a2,$zero,0x20 /* f110348: 8e450008 */ lw $a1,0x8($s2) /* f11034c: 02802025 */ or $a0,$s4,$zero /* f110350: 24060002 */ addiu $a2,$zero,0x2 /* f110354: 30ad0007 */ andi $t5,$a1,0x7 /* f110358: 0fc354be */ jal savefileGetSomething /* f11035c: 01a02825 */ or $a1,$t5,$zero /* f110360: 02802025 */ or $a0,$s4,$zero /* f110364: 9245000c */ lbu $a1,0xc($s2) /* f110368: 0fc354be */ jal savefileGetSomething /* f11036c: 24060005 */ addiu $a2,$zero,0x5 /* f110370: 3c028006 */ lui $v0,%hi(g_SfxVolume) /* f110374: 9442ddc8 */ lhu $v0,%lo(g_SfxVolume)($v0) /* f110378: 02802025 */ or $a0,$s4,$zero /* f11037c: 24060006 */ addiu $a2,$zero,0x6 /* f110380: 28415001 */ slti $at,$v0,0x5001 /* f110384: 54200004 */ bnezl $at,.L0f110398 /* f110388: 00403825 */ or $a3,$v0,$zero /* f11038c: 10000002 */ b .L0f110398 /* f110390: 24075000 */ addiu $a3,$zero,0x5000 /* f110394: 00403825 */ or $a3,$v0,$zero .L0f110398: /* f110398: 000729c3 */ sra $a1,$a3,0x7 /* f11039c: 00057082 */ srl $t6,$a1,0x2 /* f1103a0: 0fc354be */ jal savefileGetSomething /* f1103a4: 01c02825 */ or $a1,$t6,$zero /* f1103a8: 0fc54bd4 */ jal optionsGetMusicVolume /* f1103ac: 00000000 */ nop /* f1103b0: 000229c3 */ sra $a1,$v0,0x7 /* f1103b4: 00057882 */ srl $t7,$a1,0x2 /* f1103b8: 01e02825 */ or $a1,$t7,$zero /* f1103bc: 02802025 */ or $a0,$s4,$zero /* f1103c0: 0fc354be */ jal savefileGetSomething /* f1103c4: 24060006 */ addiu $a2,$zero,0x6 /* f1103c8: 3c058006 */ lui $a1,%hi(g_SoundMode) /* f1103cc: 8ca5ddcc */ lw $a1,%lo(g_SoundMode)($a1) /* f1103d0: 02802025 */ or $a0,$s4,$zero /* f1103d4: 0fc354be */ jal savefileGetSomething /* f1103d8: 24060002 */ addiu $a2,$zero,0x2 /* f1103dc: 0fc549c4 */ jal optionsGetControlMode /* f1103e0: 02602025 */ or $a0,$s3,$zero /* f1103e4: 02802025 */ or $a0,$s4,$zero /* f1103e8: 00402825 */ or $a1,$v0,$zero /* f1103ec: 0fc354be */ jal savefileGetSomething /* f1103f0: 24060003 */ addiu $a2,$zero,0x3 /* f1103f4: 0fc549c4 */ jal optionsGetControlMode /* f1103f8: 02202025 */ or $a0,$s1,$zero /* f1103fc: 02802025 */ or $a0,$s4,$zero /* f110400: 00402825 */ or $a1,$v0,$zero /* f110404: 0fc354be */ jal savefileGetSomething /* f110408: 24060003 */ addiu $a2,$zero,0x3 /* f11040c: 3c10800a */ lui $s0,%hi(g_SoloSaveFile) /* f110410: 3c11800a */ lui $s1,%hi(g_SoloSaveFile+0xa) /* f110414: 2631220a */ addiu $s1,$s1,%lo(g_SoloSaveFile+0xa) /* f110418: 26102200 */ addiu $s0,$s0,%lo(g_SoloSaveFile) /* f11041c: 02802025 */ or $a0,$s4,$zero .L0f110420: /* f110420: 92050014 */ lbu $a1,0x14($s0) /* f110424: 0fc354be */ jal savefileGetSomething /* f110428: 24060008 */ addiu $a2,$zero,0x8 /* f11042c: 26100001 */ addiu $s0,$s0,0x1 /* f110430: 0211082b */ sltu $at,$s0,$s1 /* f110434: 5420fffa */ bnezl $at,.L0f110420 /* f110438: 02802025 */ or $a0,$s4,$zero /* f11043c: 02802025 */ or $a0,$s4,$zero /* f110440: 9645001e */ lhu $a1,0x1e($s2) /* f110444: 0fc354be */ jal savefileGetSomething /* f110448: 24060010 */ addiu $a2,$zero,0x10 /* f11044c: 3c15800a */ lui $s5,%hi(g_SoloSaveFile) /* f110450: 26b52200 */ addiu $s5,$s5,%lo(g_SoloSaveFile) /* f110454: 24130006 */ addiu $s3,$zero,0x6 /* f110458: 00008825 */ or $s1,$zero,$zero .L0f11045c: /* f11045c: 02a09025 */ or $s2,$s5,$zero .L0f110460: /* f110460: 02802025 */ or $a0,$s4,$zero /* f110464: 96450020 */ lhu $a1,0x20($s2) /* f110468: 0fc354be */ jal savefileGetSomething /* f11046c: 2406000c */ addiu $a2,$zero,0xc /* f110470: 26310002 */ addiu $s1,$s1,0x2 /* f110474: 1633fffa */ bne $s1,$s3,.L0f110460 /* f110478: 26520002 */ addiu $s2,$s2,0x2 /* f11047c: 3c18800a */ lui $t8,%hi(g_SoloSaveFile+0x7e) /* f110480: 2718227e */ addiu $t8,$t8,%lo(g_SoloSaveFile+0x7e) /* f110484: 26b50006 */ addiu $s5,$s5,0x6 /* f110488: 02b8082b */ sltu $at,$s5,$t8 /* f11048c: 5420fff3 */ bnezl $at,.L0f11045c /* f110490: 00008825 */ or $s1,$zero,$zero /* f110494: 00008825 */ or $s1,$zero,$zero /* f110498: 24120005 */ addiu $s2,$zero,0x5 /* f11049c: 24100001 */ addiu $s0,$zero,0x1 .L0f1104a0: /* f1104a0: 02202025 */ or $a0,$s1,$zero .L0f1104a4: /* f1104a4: 0fc670f7 */ jal mpIsChallengeCompletedByAnyPlayerWithNumPlayers /* f1104a8: 02002825 */ or $a1,$s0,$zero /* f1104ac: 02802025 */ or $a0,$s4,$zero /* f1104b0: 00402825 */ or $a1,$v0,$zero /* f1104b4: 0fc354be */ jal savefileGetSomething /* f1104b8: 24060001 */ addiu $a2,$zero,0x1 /* f1104bc: 26100001 */ addiu $s0,$s0,0x1 /* f1104c0: 5612fff8 */ bnel $s0,$s2,.L0f1104a4 /* f1104c4: 02202025 */ or $a0,$s1,$zero /* f1104c8: 26310001 */ addiu $s1,$s1,0x1 /* f1104cc: 2a21001e */ slti $at,$s1,0x1e /* f1104d0: 5420fff3 */ bnezl $at,.L0f1104a0 /* f1104d4: 24100001 */ addiu $s0,$zero,0x1 /* f1104d8: 3c10800a */ lui $s0,%hi(g_SoloSaveFile) /* f1104dc: 3c11800a */ lui $s1,%hi(g_SoloSaveFile+0xc) /* f1104e0: 2631220c */ addiu $s1,$s1,%lo(g_SoloSaveFile+0xc) /* f1104e4: 26102200 */ addiu $s0,$s0,%lo(g_SoloSaveFile) /* f1104e8: 02802025 */ or $a0,$s4,$zero .L0f1104ec: /* f1104ec: 8e0500a0 */ lw $a1,0xa0($s0) /* f1104f0: 0fc354be */ jal savefileGetSomething /* f1104f4: 24060015 */ addiu $a2,$zero,0x15 /* f1104f8: 26100004 */ addiu $s0,$s0,0x4 /* f1104fc: 0211082b */ sltu $at,$s0,$s1 /* f110500: 5420fffa */ bnezl $at,.L0f1104ec /* f110504: 02802025 */ or $a0,$s4,$zero /* f110508: 3c10800a */ lui $s0,%hi(g_SoloSaveFile) /* f11050c: 3c12800a */ lui $s2,%hi(g_SoloSaveFile+0x9) /* f110510: 3c11800a */ lui $s1,%hi(g_SoloSaveFile+0x8) /* f110514: 26312208 */ addiu $s1,$s1,%lo(g_SoloSaveFile+0x8) /* f110518: 26522209 */ addiu $s2,$s2,%lo(g_SoloSaveFile+0x9) /* f11051c: 26102200 */ addiu $s0,$s0,%lo(g_SoloSaveFile) .L0f110520: /* f110520: 16110003 */ bne $s0,$s1,.L0f110530 /* f110524: 02802025 */ or $a0,$s4,$zero /* f110528: 10000002 */ b .L0f110534 /* f11052c: 24070002 */ addiu $a3,$zero,0x2 .L0f110530: /* f110530: 24070008 */ addiu $a3,$zero,0x8 .L0f110534: /* f110534: 920500ac */ lbu $a1,0xac($s0) /* f110538: 0fc354be */ jal savefileGetSomething /* f11053c: 00e03025 */ or $a2,$a3,$zero /* f110540: 26100001 */ addiu $s0,$s0,0x1 /* f110544: 0212082b */ sltu $at,$s0,$s2 /* f110548: 1420fff5 */ bnez $at,.L0f110520 /* f11054c: 00000000 */ nop /* f110550: 3c10800a */ lui $s0,%hi(g_SoloSaveFile) /* f110554: 3c11800a */ lui $s1,%hi(g_SoloSaveFile+0x4) /* f110558: 26312204 */ addiu $s1,$s1,%lo(g_SoloSaveFile+0x4) /* f11055c: 26102200 */ addiu $s0,$s0,%lo(g_SoloSaveFile) /* f110560: 02802025 */ or $a0,$s4,$zero .L0f110564: /* f110564: 920500b5 */ lbu $a1,0xb5($s0) /* f110568: 0fc354be */ jal savefileGetSomething /* f11056c: 24060008 */ addiu $a2,$zero,0x8 /* f110570: 26100001 */ addiu $s0,$s0,0x1 /* f110574: 5611fffb */ bnel $s0,$s1,.L0f110564 /* f110578: 02802025 */ or $a0,$s4,$zero /* f11057c: 0fc35531 */ jal func0f0d54c4 /* f110580: 02802025 */ or $a0,$s4,$zero /* f110584: 27b90140 */ addiu $t9,$sp,0x140 /* f110588: afb90010 */ sw $t9,0x10($sp) /* f11058c: 83a4014b */ lb $a0,0x14b($sp) /* f110590: 8fa5014c */ lw $a1,0x14c($sp) /* f110594: 24060080 */ addiu $a2,$zero,0x80 /* f110598: 27a70050 */ addiu $a3,$sp,0x50 /* f11059c: 0fc45a0a */ jal func0f116828 /* f1105a0: afa00014 */ sw $zero,0x14($sp) /* f1105a4: 3c01800a */ lui $at,%hi(var800a21f8) /* f1105a8: 14400009 */ bnez $v0,.L0f1105d0 /* f1105ac: ac2221f8 */ sw $v0,%lo(var800a21f8)($at) /* f1105b0: 8fa80140 */ lw $t0,0x140($sp) /* f1105b4: 97a90152 */ lhu $t1,0x152($sp) /* f1105b8: 3c03800a */ lui $v1,%hi(g_FilemgrLoadedMainFile) /* f1105bc: 246322c0 */ addiu $v1,$v1,%lo(g_FilemgrLoadedMainFile) /* f1105c0: 00001025 */ or $v0,$zero,$zero /* f1105c4: ac680000 */ sw $t0,0x0($v1) /* f1105c8: 10000003 */ b .L0f1105d8 /* f1105cc: a4690004 */ sh $t1,0x4($v1) .L0f1105d0: /* f1105d0: 10000001 */ b .L0f1105d8 /* f1105d4: 2402ffff */ addiu $v0,$zero,-1 .L0f1105d8: /* f1105d8: 8fbf0034 */ lw $ra,0x34($sp) /* f1105dc: 8fb0001c */ lw $s0,0x1c($sp) /* f1105e0: 8fb10020 */ lw $s1,0x20($sp) /* f1105e4: 8fb20024 */ lw $s2,0x24($sp) /* f1105e8: 8fb30028 */ lw $s3,0x28($sp) /* f1105ec: 8fb4002c */ lw $s4,0x2c($sp) /* f1105f0: 8fb50030 */ lw $s5,0x30($sp) /* f1105f4: 03e00008 */ jr $ra /* f1105f8: 27bd0148 */ addiu $sp,$sp,0x148 ); #else GLOBAL_ASM( glabel func0f10feac /* f10a380: 27bdfeb8 */ addiu $sp,$sp,-328 /* f10a384: afb4002c */ sw $s4,0x2c($sp) /* f10a388: 3c14800a */ lui $s4,0x800a /* f10a38c: 2694e6c0 */ addiu $s4,$s4,-6464 /* f10a390: 8e820298 */ lw $v0,0x298($s4) /* f10a394: afbf0034 */ sw $ra,0x34($sp) /* f10a398: afb50030 */ sw $s5,0x30($sp) /* f10a39c: afb30028 */ sw $s3,0x28($sp) /* f10a3a0: afb20024 */ sw $s2,0x24($sp) /* f10a3a4: afb10020 */ sw $s1,0x20($sp) /* f10a3a8: afb0001c */ sw $s0,0x1c($sp) /* f10a3ac: afa40148 */ sw $a0,0x148($sp) /* f10a3b0: afa5014c */ sw $a1,0x14c($sp) /* f10a3b4: 04410005 */ bgez $v0,.NB0f10a3cc /* f10a3b8: afa60150 */ sw $a2,0x150($sp) /* f10a3bc: 8e8e029c */ lw $t6,0x29c($s4) /* f10a3c0: 24110004 */ addiu $s1,$zero,0x4 /* f10a3c4: 05c00003 */ bltz $t6,.NB0f10a3d4 /* f10a3c8: 00000000 */ sll $zero,$zero,0x0 .NB0f10a3cc: /* f10a3cc: 10000001 */ beqz $zero,.NB0f10a3d4 /* f10a3d0: 00008825 */ or $s1,$zero,$zero .NB0f10a3d4: /* f10a3d4: 04410005 */ bgez $v0,.NB0f10a3ec /* f10a3d8: 24120001 */ addiu $s2,$zero,0x1 /* f10a3dc: 8e8f029c */ lw $t7,0x29c($s4) /* f10a3e0: 24130005 */ addiu $s3,$zero,0x5 /* f10a3e4: 05e00003 */ bltz $t7,.NB0f10a3f4 /* f10a3e8: 00000000 */ sll $zero,$zero,0x0 .NB0f10a3ec: /* f10a3ec: 10000001 */ beqz $zero,.NB0f10a3f4 /* f10a3f0: 24130001 */ addiu $s3,$zero,0x1 .NB0f10a3f4: /* f10a3f4: 3c018007 */ lui $at,0x8007 /* f10a3f8: ac327f70 */ sw $s2,0x7f70($at) /* f10a3fc: 0fc5339c */ jal optionsGetForwardPitch /* f10a400: 02202025 */ or $a0,$s1,$zero /* f10a404: 3c10800a */ lui $s0,0x800a /* f10a408: 26106704 */ addiu $s0,$s0,0x6704 /* f10a40c: 02002825 */ or $a1,$s0,$zero /* f10a410: 00002025 */ or $a0,$zero,$zero /* f10a414: 0fc460eb */ jal pakSetBitflag /* f10a418: 00403025 */ or $a2,$v0,$zero /* f10a41c: 0fc533a5 */ jal optionsGetAutoAim /* f10a420: 02202025 */ or $a0,$s1,$zero /* f10a424: 02402025 */ or $a0,$s2,$zero /* f10a428: 02002825 */ or $a1,$s0,$zero /* f10a42c: 0fc460eb */ jal pakSetBitflag /* f10a430: 00403025 */ or $a2,$v0,$zero /* f10a434: 0fc533b7 */ jal optionsGetAimControl /* f10a438: 02202025 */ or $a0,$s1,$zero /* f10a43c: 24040002 */ addiu $a0,$zero,0x2 /* f10a440: 02002825 */ or $a1,$s0,$zero /* f10a444: 0fc460eb */ jal pakSetBitflag /* f10a448: 00403025 */ or $a2,$v0,$zero /* f10a44c: 0fc533c0 */ jal optionsGetSightOnScreen /* f10a450: 02202025 */ or $a0,$s1,$zero /* f10a454: 24040003 */ addiu $a0,$zero,0x3 /* f10a458: 02002825 */ or $a1,$s0,$zero /* f10a45c: 0fc460eb */ jal pakSetBitflag /* f10a460: 00403025 */ or $a2,$v0,$zero /* f10a464: 0fc533ae */ jal optionsGetLookAhead /* f10a468: 02202025 */ or $a0,$s1,$zero /* f10a46c: 24040004 */ addiu $a0,$zero,0x4 /* f10a470: 02002825 */ or $a1,$s0,$zero /* f10a474: 0fc460eb */ jal pakSetBitflag /* f10a478: 00403025 */ or $a2,$v0,$zero /* f10a47c: 0fc533c9 */ jal optionsGetAmmoOnScreen /* f10a480: 02202025 */ or $a0,$s1,$zero /* f10a484: 24040005 */ addiu $a0,$zero,0x5 /* f10a488: 02002825 */ or $a1,$s0,$zero /* f10a48c: 0fc460eb */ jal pakSetBitflag /* f10a490: 00403025 */ or $a2,$v0,$zero /* f10a494: 0fc53405 */ jal optionsGetHeadRoll /* f10a498: 02202025 */ or $a0,$s1,$zero /* f10a49c: 24040009 */ addiu $a0,$zero,0x9 /* f10a4a0: 02002825 */ or $a1,$s0,$zero /* f10a4a4: 0fc460eb */ jal pakSetBitflag /* f10a4a8: 00403025 */ or $a2,$v0,$zero /* f10a4ac: 0fc533d2 */ jal optionsGetShowGunFunction /* f10a4b0: 02202025 */ or $a0,$s1,$zero /* f10a4b4: 2404000a */ addiu $a0,$zero,0xa /* f10a4b8: 02002825 */ or $a1,$s0,$zero /* f10a4bc: 0fc460eb */ jal pakSetBitflag /* f10a4c0: 00403025 */ or $a2,$v0,$zero /* f10a4c4: 0fc533db */ jal optionsGetAlwaysShowTarget /* f10a4c8: 02202025 */ or $a0,$s1,$zero /* f10a4cc: 24040015 */ addiu $a0,$zero,0x15 /* f10a4d0: 02002825 */ or $a1,$s0,$zero /* f10a4d4: 0fc460eb */ jal pakSetBitflag /* f10a4d8: 00403025 */ or $a2,$v0,$zero /* f10a4dc: 0fc533e4 */ jal optionsGetShowZoomRange /* f10a4e0: 02202025 */ or $a0,$s1,$zero /* f10a4e4: 24040017 */ addiu $a0,$zero,0x17 /* f10a4e8: 02002825 */ or $a1,$s0,$zero /* f10a4ec: 0fc460eb */ jal pakSetBitflag /* f10a4f0: 00403025 */ or $a2,$v0,$zero /* f10a4f4: 0fc533f6 */ jal optionsGetShowMissionTime /* f10a4f8: 02202025 */ or $a0,$s1,$zero /* f10a4fc: 2404001a */ addiu $a0,$zero,0x1a /* f10a500: 02002825 */ or $a1,$s0,$zero /* f10a504: 0fc460eb */ jal pakSetBitflag /* f10a508: 00403025 */ or $a2,$v0,$zero /* f10a50c: 0fc533ed */ jal optionsGetPaintball /* f10a510: 02202025 */ or $a0,$s1,$zero /* f10a514: 24040020 */ addiu $a0,$zero,0x20 /* f10a518: 02002825 */ or $a1,$s0,$zero /* f10a51c: 0fc460eb */ jal pakSetBitflag /* f10a520: 00403025 */ or $a2,$v0,$zero /* f10a524: 0fc5339c */ jal optionsGetForwardPitch /* f10a528: 02602025 */ or $a0,$s3,$zero /* f10a52c: 2404000c */ addiu $a0,$zero,0xc /* f10a530: 02002825 */ or $a1,$s0,$zero /* f10a534: 0fc460eb */ jal pakSetBitflag /* f10a538: 00403025 */ or $a2,$v0,$zero /* f10a53c: 0fc533a5 */ jal optionsGetAutoAim /* f10a540: 02602025 */ or $a0,$s3,$zero /* f10a544: 2404000d */ addiu $a0,$zero,0xd /* f10a548: 02002825 */ or $a1,$s0,$zero /* f10a54c: 0fc460eb */ jal pakSetBitflag /* f10a550: 00403025 */ or $a2,$v0,$zero /* f10a554: 0fc533b7 */ jal optionsGetAimControl /* f10a558: 02602025 */ or $a0,$s3,$zero /* f10a55c: 2404000e */ addiu $a0,$zero,0xe /* f10a560: 02002825 */ or $a1,$s0,$zero /* f10a564: 0fc460eb */ jal pakSetBitflag /* f10a568: 00403025 */ or $a2,$v0,$zero /* f10a56c: 0fc533c0 */ jal optionsGetSightOnScreen /* f10a570: 02602025 */ or $a0,$s3,$zero /* f10a574: 2404000f */ addiu $a0,$zero,0xf /* f10a578: 02002825 */ or $a1,$s0,$zero /* f10a57c: 0fc460eb */ jal pakSetBitflag /* f10a580: 00403025 */ or $a2,$v0,$zero /* f10a584: 0fc533ae */ jal optionsGetLookAhead /* f10a588: 02602025 */ or $a0,$s3,$zero /* f10a58c: 24040010 */ addiu $a0,$zero,0x10 /* f10a590: 02002825 */ or $a1,$s0,$zero /* f10a594: 0fc460eb */ jal pakSetBitflag /* f10a598: 00403025 */ or $a2,$v0,$zero /* f10a59c: 0fc533c9 */ jal optionsGetAmmoOnScreen /* f10a5a0: 02602025 */ or $a0,$s3,$zero /* f10a5a4: 24040011 */ addiu $a0,$zero,0x11 /* f10a5a8: 02002825 */ or $a1,$s0,$zero /* f10a5ac: 0fc460eb */ jal pakSetBitflag /* f10a5b0: 00403025 */ or $a2,$v0,$zero /* f10a5b4: 0fc53405 */ jal optionsGetHeadRoll /* f10a5b8: 02602025 */ or $a0,$s3,$zero /* f10a5bc: 24040012 */ addiu $a0,$zero,0x12 /* f10a5c0: 02002825 */ or $a1,$s0,$zero /* f10a5c4: 0fc460eb */ jal pakSetBitflag /* f10a5c8: 00403025 */ or $a2,$v0,$zero /* f10a5cc: 0fc533d2 */ jal optionsGetShowGunFunction /* f10a5d0: 02602025 */ or $a0,$s3,$zero /* f10a5d4: 24040013 */ addiu $a0,$zero,0x13 /* f10a5d8: 02002825 */ or $a1,$s0,$zero /* f10a5dc: 0fc460eb */ jal pakSetBitflag /* f10a5e0: 00403025 */ or $a2,$v0,$zero /* f10a5e4: 0fc533db */ jal optionsGetAlwaysShowTarget /* f10a5e8: 02602025 */ or $a0,$s3,$zero /* f10a5ec: 24040016 */ addiu $a0,$zero,0x16 /* f10a5f0: 02002825 */ or $a1,$s0,$zero /* f10a5f4: 0fc460eb */ jal pakSetBitflag /* f10a5f8: 00403025 */ or $a2,$v0,$zero /* f10a5fc: 0fc533e4 */ jal optionsGetShowZoomRange /* f10a600: 02602025 */ or $a0,$s3,$zero /* f10a604: 24040018 */ addiu $a0,$zero,0x18 /* f10a608: 02002825 */ or $a1,$s0,$zero /* f10a60c: 0fc460eb */ jal pakSetBitflag /* f10a610: 00403025 */ or $a2,$v0,$zero /* f10a614: 0fc533f6 */ jal optionsGetShowMissionTime /* f10a618: 02602025 */ or $a0,$s3,$zero /* f10a61c: 2404001b */ addiu $a0,$zero,0x1b /* f10a620: 02002825 */ or $a1,$s0,$zero /* f10a624: 0fc460eb */ jal pakSetBitflag /* f10a628: 00403025 */ or $a2,$v0,$zero /* f10a62c: 0fc533ed */ jal optionsGetPaintball /* f10a630: 02602025 */ or $a0,$s3,$zero /* f10a634: 24040021 */ addiu $a0,$zero,0x21 /* f10a638: 02002825 */ or $a1,$s0,$zero /* f10a63c: 0fc460eb */ jal pakSetBitflag /* f10a640: 00403025 */ or $a2,$v0,$zero /* f10a644: 0fc53588 */ jal optionsGetScreenSplit /* f10a648: 00000000 */ sll $zero,$zero,0x0 /* f10a64c: 24040019 */ addiu $a0,$zero,0x19 /* f10a650: 02002825 */ or $a1,$s0,$zero /* f10a654: 0fc460eb */ jal pakSetBitflag /* f10a658: 00403025 */ or $a2,$v0,$zero /* f10a65c: 0fc53582 */ jal optionsGetScreenRatio /* f10a660: 00000000 */ sll $zero,$zero,0x0 /* f10a664: 24040007 */ addiu $a0,$zero,0x7 /* f10a668: 02002825 */ or $a1,$s0,$zero /* f10a66c: 0fc460eb */ jal pakSetBitflag /* f10a670: 00403025 */ or $a2,$v0,$zero /* f10a674: 0fc5351c */ jal optionsGetEffectiveScreenSize /* f10a678: 00000000 */ sll $zero,$zero,0x0 /* f10a67c: 00523026 */ xor $a2,$v0,$s2 /* f10a680: 2cc60001 */ sltiu $a2,$a2,0x1 /* f10a684: 24040006 */ addiu $a0,$zero,0x6 /* f10a688: 0fc460eb */ jal pakSetBitflag /* f10a68c: 02002825 */ or $a1,$s0,$zero /* f10a690: 0fc5351c */ jal optionsGetEffectiveScreenSize /* f10a694: 00000000 */ sll $zero,$zero,0x0 /* f10a698: 24150002 */ addiu $s5,$zero,0x2 /* f10a69c: 00553026 */ xor $a2,$v0,$s5 /* f10a6a0: 2cc60001 */ sltiu $a2,$a2,0x1 /* f10a6a4: 24040008 */ addiu $a0,$zero,0x8 /* f10a6a8: 0fc460eb */ jal pakSetBitflag /* f10a6ac: 02002825 */ or $a1,$s0,$zero /* f10a6b0: 3c188007 */ lui $t8,0x8007 /* f10a6b4: 8f182d88 */ lw $t8,0x2d88($t8) /* f10a6b8: 24040022 */ addiu $a0,$zero,0x22 /* f10a6bc: 02002825 */ or $a1,$s0,$zero /* f10a6c0: 02583026 */ xor $a2,$s2,$t8 /* f10a6c4: 0fc460eb */ jal pakSetBitflag /* f10a6c8: 2cc60001 */ sltiu $a2,$a2,0x1 /* f10a6cc: 0fc533ff */ jal optionsGetInGameSubtitles /* f10a6d0: 00000000 */ sll $zero,$zero,0x0 /* f10a6d4: 2404000b */ addiu $a0,$zero,0xb /* f10a6d8: 02002825 */ or $a1,$s0,$zero /* f10a6dc: 0fc460eb */ jal pakSetBitflag /* f10a6e0: 00403025 */ or $a2,$v0,$zero /* f10a6e4: 0fc53402 */ jal optionsGetCutsceneSubtitles /* f10a6e8: 00000000 */ sll $zero,$zero,0x0 /* f10a6ec: 24040014 */ addiu $a0,$zero,0x14 /* f10a6f0: 02002825 */ or $a1,$s0,$zero /* f10a6f4: 0fc460eb */ jal pakSetBitflag /* f10a6f8: 00403025 */ or $a2,$v0,$zero /* f10a6fc: 24040040 */ addiu $a0,$zero,0x40 /* f10a700: 02002825 */ or $a1,$s0,$zero /* f10a704: 0fc460eb */ jal pakSetBitflag /* f10a708: 928604e3 */ lbu $a2,0x4e3($s4) /* f10a70c: 0fc5351c */ jal optionsGetEffectiveScreenSize /* f10a710: 00000000 */ sll $zero,$zero,0x0 /* f10a714: 50400002 */ beqzl $v0,.NB0f10a720 /* f10a718: 8e990450 */ lw $t9,0x450($s4) /* f10a71c: 8e990450 */ lw $t9,0x450($s4) .NB0f10a720: /* f10a720: 2404001f */ addiu $a0,$zero,0x1f /* f10a724: 02002825 */ or $a1,$s0,$zero /* f10a728: 02593026 */ xor $a2,$s2,$t9 /* f10a72c: 0fc460eb */ jal pakSetBitflag /* f10a730: 2cc60001 */ sltiu $a2,$a2,0x1 /* f10a734: 8e880448 */ lw $t0,0x448($s4) /* f10a738: 2404001c */ addiu $a0,$zero,0x1c /* f10a73c: 02002825 */ or $a1,$s0,$zero /* f10a740: 02483026 */ xor $a2,$s2,$t0 /* f10a744: 0fc460eb */ jal pakSetBitflag /* f10a748: 2cc60001 */ sltiu $a2,$a2,0x1 /* f10a74c: 8e890454 */ lw $t1,0x454($s4) /* f10a750: 2404001d */ addiu $a0,$zero,0x1d /* f10a754: 02002825 */ or $a1,$s0,$zero /* f10a758: 02493026 */ xor $a2,$s2,$t1 /* f10a75c: 0fc460eb */ jal pakSetBitflag /* f10a760: 2cc60001 */ sltiu $a2,$a2,0x1 /* f10a764: 8e8a044c */ lw $t2,0x44c($s4) /* f10a768: 2404001e */ addiu $a0,$zero,0x1e /* f10a76c: 02002825 */ or $a1,$s0,$zero /* f10a770: 024a3026 */ xor $a2,$s2,$t2 /* f10a774: 0fc460eb */ jal pakSetBitflag /* f10a778: 2cc60001 */ sltiu $a2,$a2,0x1 /* f10a77c: 8fab0148 */ lw $t3,0x148($sp) /* f10a780: 27b4004c */ addiu $s4,$sp,0x4c /* f10a784: 2402ffff */ addiu $v0,$zero,-1 /* f10a788: 056000ae */ bltz $t3,.NB0f10aa44 /* f10a78c: 00000000 */ sll $zero,$zero,0x0 /* f10a790: 0fc34ad1 */ jal func0f0d545c /* f10a794: 02802025 */ or $a0,$s4,$zero /* f10a798: 3c12800a */ lui $s2,0x800a /* f10a79c: 265266f0 */ addiu $s2,$s2,0x66f0 /* f10a7a0: 02402825 */ or $a1,$s2,$zero /* f10a7a4: 0fc34b23 */ jal func0f0d55a4 /* f10a7a8: 02802025 */ or $a0,$s4,$zero /* f10a7ac: 9245000b */ lbu $a1,0xb($s2) /* f10a7b0: 02802025 */ or $a0,$s4,$zero /* f10a7b4: 24060005 */ addiu $a2,$zero,0x5 /* f10a7b8: 000560c2 */ srl $t4,$a1,0x3 /* f10a7bc: 0fc34a9e */ jal savefileGetSomething /* f10a7c0: 01802825 */ or $a1,$t4,$zero /* f10a7c4: 02802025 */ or $a0,$s4,$zero /* f10a7c8: 8e450010 */ lw $a1,0x10($s2) /* f10a7cc: 0fc34a9e */ jal savefileGetSomething /* f10a7d0: 24060020 */ addiu $a2,$zero,0x20 /* f10a7d4: 8e450008 */ lw $a1,0x8($s2) /* f10a7d8: 02802025 */ or $a0,$s4,$zero /* f10a7dc: 24060002 */ addiu $a2,$zero,0x2 /* f10a7e0: 30ad0007 */ andi $t5,$a1,0x7 /* f10a7e4: 0fc34a9e */ jal savefileGetSomething /* f10a7e8: 01a02825 */ or $a1,$t5,$zero /* f10a7ec: 02802025 */ or $a0,$s4,$zero /* f10a7f0: 9245000c */ lbu $a1,0xc($s2) /* f10a7f4: 0fc34a9e */ jal savefileGetSomething /* f10a7f8: 24060005 */ addiu $a2,$zero,0x5 /* f10a7fc: 3c078006 */ lui $a3,0x8006 /* f10a800: 94e7f6e8 */ lhu $a3,-0x918($a3) /* f10a804: 02802025 */ or $a0,$s4,$zero /* f10a808: 24060006 */ addiu $a2,$zero,0x6 /* f10a80c: 000771c3 */ sra $t6,$a3,0x7 /* f10a810: 0fc34a9e */ jal savefileGetSomething /* f10a814: 000e2882 */ srl $a1,$t6,0x2 /* f10a818: 0fc5358f */ jal optionsGetMusicVolume /* f10a81c: 00000000 */ sll $zero,$zero,0x0 /* f10a820: 000229c3 */ sra $a1,$v0,0x7 /* f10a824: 00057882 */ srl $t7,$a1,0x2 /* f10a828: 01e02825 */ or $a1,$t7,$zero /* f10a82c: 02802025 */ or $a0,$s4,$zero /* f10a830: 0fc34a9e */ jal savefileGetSomething /* f10a834: 24060006 */ addiu $a2,$zero,0x6 /* f10a838: 3c078006 */ lui $a3,0x8006 /* f10a83c: 8ce5f6ec */ lw $a1,-0x914($a3) /* f10a840: 02802025 */ or $a0,$s4,$zero /* f10a844: 0fc34a9e */ jal savefileGetSomething /* f10a848: 24060002 */ addiu $a2,$zero,0x2 /* f10a84c: 0fc53380 */ jal optionsGetControlMode /* f10a850: 02202025 */ or $a0,$s1,$zero /* f10a854: 02802025 */ or $a0,$s4,$zero /* f10a858: 00402825 */ or $a1,$v0,$zero /* f10a85c: 0fc34a9e */ jal savefileGetSomething /* f10a860: 24060003 */ addiu $a2,$zero,0x3 /* f10a864: 0fc53380 */ jal optionsGetControlMode /* f10a868: 02602025 */ or $a0,$s3,$zero /* f10a86c: 02802025 */ or $a0,$s4,$zero /* f10a870: 00402825 */ or $a1,$v0,$zero /* f10a874: 0fc34a9e */ jal savefileGetSomething /* f10a878: 24060003 */ addiu $a2,$zero,0x3 /* f10a87c: 3c10800a */ lui $s0,0x800a /* f10a880: 3c11800a */ lui $s1,0x800a /* f10a884: 263166fa */ addiu $s1,$s1,0x66fa /* f10a888: 261066f0 */ addiu $s0,$s0,0x66f0 /* f10a88c: 02802025 */ or $a0,$s4,$zero .NB0f10a890: /* f10a890: 92050014 */ lbu $a1,0x14($s0) /* f10a894: 0fc34a9e */ jal savefileGetSomething /* f10a898: 24060008 */ addiu $a2,$zero,0x8 /* f10a89c: 26100001 */ addiu $s0,$s0,0x1 /* f10a8a0: 0211082b */ sltu $at,$s0,$s1 /* f10a8a4: 5420fffa */ bnezl $at,.NB0f10a890 /* f10a8a8: 02802025 */ or $a0,$s4,$zero /* f10a8ac: 02802025 */ or $a0,$s4,$zero /* f10a8b0: 9645001e */ lhu $a1,0x1e($s2) /* f10a8b4: 0fc34a9e */ jal savefileGetSomething /* f10a8b8: 24060010 */ addiu $a2,$zero,0x10 /* f10a8bc: 3c15800a */ lui $s5,0x800a /* f10a8c0: 26b566f0 */ addiu $s5,$s5,0x66f0 /* f10a8c4: 24130006 */ addiu $s3,$zero,0x6 /* f10a8c8: 00008825 */ or $s1,$zero,$zero .NB0f10a8cc: /* f10a8cc: 02a09025 */ or $s2,$s5,$zero .NB0f10a8d0: /* f10a8d0: 02802025 */ or $a0,$s4,$zero /* f10a8d4: 96450020 */ lhu $a1,0x20($s2) /* f10a8d8: 0fc34a9e */ jal savefileGetSomething /* f10a8dc: 2406000c */ addiu $a2,$zero,0xc /* f10a8e0: 26310002 */ addiu $s1,$s1,0x2 /* f10a8e4: 1633fffa */ bne $s1,$s3,.NB0f10a8d0 /* f10a8e8: 26520002 */ addiu $s2,$s2,0x2 /* f10a8ec: 3c18800a */ lui $t8,0x800a /* f10a8f0: 2718676e */ addiu $t8,$t8,0x676e /* f10a8f4: 26b50006 */ addiu $s5,$s5,0x6 /* f10a8f8: 02b8082b */ sltu $at,$s5,$t8 /* f10a8fc: 5420fff3 */ bnezl $at,.NB0f10a8cc /* f10a900: 00008825 */ or $s1,$zero,$zero /* f10a904: 00008825 */ or $s1,$zero,$zero /* f10a908: 24120005 */ addiu $s2,$zero,0x5 /* f10a90c: 24100001 */ addiu $s0,$zero,0x1 .NB0f10a910: /* f10a910: 02202025 */ or $a0,$s1,$zero .NB0f10a914: /* f10a914: 0fc65912 */ jal mpIsChallengeCompletedByAnyPlayerWithNumPlayers /* f10a918: 02002825 */ or $a1,$s0,$zero /* f10a91c: 02802025 */ or $a0,$s4,$zero /* f10a920: 00402825 */ or $a1,$v0,$zero /* f10a924: 0fc34a9e */ jal savefileGetSomething /* f10a928: 24060001 */ addiu $a2,$zero,0x1 /* f10a92c: 26100001 */ addiu $s0,$s0,0x1 /* f10a930: 5612fff8 */ bnel $s0,$s2,.NB0f10a914 /* f10a934: 02202025 */ or $a0,$s1,$zero /* f10a938: 26310001 */ addiu $s1,$s1,0x1 /* f10a93c: 2a21001e */ slti $at,$s1,0x1e /* f10a940: 5420fff3 */ bnezl $at,.NB0f10a910 /* f10a944: 24100001 */ addiu $s0,$zero,0x1 /* f10a948: 3c10800a */ lui $s0,0x800a /* f10a94c: 3c11800a */ lui $s1,0x800a /* f10a950: 263166fc */ addiu $s1,$s1,0x66fc /* f10a954: 261066f0 */ addiu $s0,$s0,0x66f0 /* f10a958: 02802025 */ or $a0,$s4,$zero .NB0f10a95c: /* f10a95c: 8e0500a0 */ lw $a1,0xa0($s0) /* f10a960: 0fc34a9e */ jal savefileGetSomething /* f10a964: 24060015 */ addiu $a2,$zero,0x15 /* f10a968: 26100004 */ addiu $s0,$s0,0x4 /* f10a96c: 0211082b */ sltu $at,$s0,$s1 /* f10a970: 5420fffa */ bnezl $at,.NB0f10a95c /* f10a974: 02802025 */ or $a0,$s4,$zero /* f10a978: 3c10800a */ lui $s0,0x800a /* f10a97c: 3c12800a */ lui $s2,0x800a /* f10a980: 3c11800a */ lui $s1,0x800a /* f10a984: 263166f8 */ addiu $s1,$s1,0x66f8 /* f10a988: 265266f9 */ addiu $s2,$s2,0x66f9 /* f10a98c: 261066f0 */ addiu $s0,$s0,0x66f0 .NB0f10a990: /* f10a990: 16110003 */ bne $s0,$s1,.NB0f10a9a0 /* f10a994: 02802025 */ or $a0,$s4,$zero /* f10a998: 10000002 */ beqz $zero,.NB0f10a9a4 /* f10a99c: 24060002 */ addiu $a2,$zero,0x2 .NB0f10a9a0: /* f10a9a0: 24060008 */ addiu $a2,$zero,0x8 .NB0f10a9a4: /* f10a9a4: 0fc34a9e */ jal savefileGetSomething /* f10a9a8: 920500ac */ lbu $a1,0xac($s0) /* f10a9ac: 26100001 */ addiu $s0,$s0,0x1 /* f10a9b0: 0212082b */ sltu $at,$s0,$s2 /* f10a9b4: 1420fff6 */ bnez $at,.NB0f10a990 /* f10a9b8: 00000000 */ sll $zero,$zero,0x0 /* f10a9bc: 3c10800a */ lui $s0,0x800a /* f10a9c0: 3c11800a */ lui $s1,0x800a /* f10a9c4: 263166f4 */ addiu $s1,$s1,0x66f4 /* f10a9c8: 261066f0 */ addiu $s0,$s0,0x66f0 /* f10a9cc: 02802025 */ or $a0,$s4,$zero .NB0f10a9d0: /* f10a9d0: 920500b5 */ lbu $a1,0xb5($s0) /* f10a9d4: 0fc34a9e */ jal savefileGetSomething /* f10a9d8: 24060008 */ addiu $a2,$zero,0x8 /* f10a9dc: 26100001 */ addiu $s0,$s0,0x1 /* f10a9e0: 5611fffb */ bnel $s0,$s1,.NB0f10a9d0 /* f10a9e4: 02802025 */ or $a0,$s4,$zero /* f10a9e8: 0fc34aeb */ jal func0f0d54c4 /* f10a9ec: 02802025 */ or $a0,$s4,$zero /* f10a9f0: 27b90140 */ addiu $t9,$sp,0x140 /* f10a9f4: afb90010 */ sw $t9,0x10($sp) /* f10a9f8: 83a4014b */ lb $a0,0x14b($sp) /* f10a9fc: 8fa5014c */ lw $a1,0x14c($sp) /* f10aa00: 24060080 */ addiu $a2,$zero,0x80 /* f10aa04: 27a70050 */ addiu $a3,$sp,0x50 /* f10aa08: 0fc442fb */ jal func0f116828 /* f10aa0c: afa00014 */ sw $zero,0x14($sp) /* f10aa10: 3c01800a */ lui $at,0x800a /* f10aa14: 14400009 */ bnez $v0,.NB0f10aa3c /* f10aa18: ac2266e8 */ sw $v0,0x66e8($at) /* f10aa1c: 8fa80140 */ lw $t0,0x140($sp) /* f10aa20: 97a90152 */ lhu $t1,0x152($sp) /* f10aa24: 3c03800a */ lui $v1,0x800a /* f10aa28: 246367b0 */ addiu $v1,$v1,0x67b0 /* f10aa2c: 00001025 */ or $v0,$zero,$zero /* f10aa30: ac680000 */ sw $t0,0x0($v1) /* f10aa34: 10000003 */ beqz $zero,.NB0f10aa44 /* f10aa38: a4690004 */ sh $t1,0x4($v1) .NB0f10aa3c: /* f10aa3c: 10000001 */ beqz $zero,.NB0f10aa44 /* f10aa40: 2402ffff */ addiu $v0,$zero,-1 .NB0f10aa44: /* f10aa44: 8fbf0034 */ lw $ra,0x34($sp) /* f10aa48: 8fb0001c */ lw $s0,0x1c($sp) /* f10aa4c: 8fb10020 */ lw $s1,0x20($sp) /* f10aa50: 8fb20024 */ lw $s2,0x24($sp) /* f10aa54: 8fb30028 */ lw $s3,0x28($sp) /* f10aa58: 8fb4002c */ lw $s4,0x2c($sp) /* f10aa5c: 8fb50030 */ lw $s5,0x30($sp) /* f10aa60: 03e00008 */ jr $ra /* f10aa64: 27bd0148 */ addiu $sp,$sp,0x148 ); #endif void savefileGetOverview(char *arg0, char *name, u8 *stage, u8 *difficulty, u32 *time) { s32 sp18[56]; func0f0d5484(sp18, arg0, 0xf); func0f0d54e4(sp18, name, 0); *stage = savefileGetInteger(sp18, 5); #if VERSION >= VERSION_NTSC_1_0 *time = savefileGetInteger(sp18, 0x20); #else *time = (u16) savefileGetInteger(sp18, 0x20); #endif *difficulty = savefileGetInteger(sp18, 2); }