.global proc_7F08A2EC //GetHitProbability - seems to only change value when a guard fires proc_7F08A2EC: /* 0BEE1C 7F08A2EC 3C0E8008 */ lui $t6, 0x8008 /* 0BEE20 7F08A2F0 8DCEA0B0 */ lw $t6, -0x5f50($t6) /* 0BEE24 7F08A2F4 03E00008 */ jr $ra /* 0BEE28 7F08A2F8 C5C000DC */ lwc1 $f0, 0xdc($t6) # end proc_7F08A2EC .global proc_7F08A2FC //GetHitProbability2 - ditto proc_7F08A2FC: /* 0BEE2C 7F08A2FC 3C0E8008 */ lui $t6, 0x8008 /* 0BEE30 7F08A300 8DCEA0B0 */ lw $t6, -0x5f50($t6) /* 0BEE34 7F08A304 03E00008 */ jr $ra /* 0BEE38 7F08A308 C5C000E0 */ lwc1 $f0, 0xe0($t6) # end proc_7F08A2FC .global proc_7F0BE8D0 //SetDificultyStats(int DificultyChosen) - EnumAgent = NULL, EnumSecretAgent = 1, Enum00Agent = 2, Enum007Mode = 3 proc_7F0BE8D0 : /* 0F3400 7F0BE8D0 3C028005 */ lui $v0, 0x8005 //$v0 = /* 0F3404 7F0BE8D4 8C428384 */ lw $v0, -0x7c7c($v0) // whatever is at 80048384 - usually 0 /* 0F3408 7F0BE8D8 27BDFFD8 */ addiu $sp, $sp, -0x28 /* 0F340C 7F0BE8DC AFBF0014 */ sw $ra, 0x14($sp) //store something /* 0F3410 7F0BE8E0 14400048 */ bnez $v0, .Lproc_7F0BE8D0_134 //if $v0 then SecretAgent() //v0 is set to 0 /* 0F3414 7F0BE8E4 24010001 */ addiu $at, $zero, 1 //delay Slot for agent(); else /*IF NOT DificultyChosen */ /* 0F3418 7F0BE8E8 0FC228BB */ jal proc_7F08A2EC //load value from 8007A18C [8007A0B0 + 00dc] //800B3B60 = 1.0 /* 0F341C 7F0BE8EC 00000000 */ nop /* 0F3420 7F0BE8F0 0FC228BF */ jal proc_7F08A2FC //load another value from 8007A190 [8007A0B0 + 00e0] //800B3B60 = 0.0 /* 0F3424 7F0BE8F4 E7A0001C */ swc1 $f0, 0x1c($sp) //store first value /* 0F3428 7F0BE8F8 C7A4001C */ lwc1 $f4, 0x1c($sp) //load first value into f4 [f4=1, f0=0] /* 0F342C 7F0BE8FC 3C013F80 */ lui $at, 0x3f80 /* 0F3430 7F0BE900 44816000 */ mtc1 $at, $f12 //f12 = 1 /* 0F3434 7F0BE904 46040380 */ add.s $f14, $f0, $f4 //f14 = 1 /* 0F3438 7F0BE908 3C013E00 */ lui $at, 0x3e00 /* 0F343C 7F0BE90C 44818000 */ mtc1 $at, $f16 //f16=0.125000 /* 0F3440 7F0BE910 3C018006 */ lui $at, 0x8006 /*IF*/ /* 0F3444 7F0BE914 4610703E */ c.le.s $f14, $f16 // IF NOT $f14 <= $f16 /* 0F3448 7F0BE918 00000000 */ nop /* 0F344C 7F0BE91C 45000005 */ bc1f .Lproc_7F0BE8D0_64 // Then {Not_being_shot_at()} /* 0F3450 7F0BE920 00000000 */ nop // /*else //never called? */ /* 0F3454 7F0BE924 3C013F00 */ lui $at, 0x3f00 /* 0F3458 7F0BE928 44816000 */ mtc1 $at, $f12 //float($f12) = 0.5 /* 0F345C 7F0BE92C 1000000F */ b .Lproc_7F0BE8D0_9C //GOTO agent //$f12=0.5 /* 0F3460 7F0BE930 3C014000 */ lui $at, 0x4000 //delay Slot for agent() /*ENDIF */ .Lproc_7F0BE8D0_64: //Not_being_shot_at /* 0F3464 7F0BE934 C426B73C */ lwc1 $f6, -0x48c4($at) //Gamestart = 0.6 /* 0F3468 7F0BE938 3C013F00 */ lui $at, 0x3f00 /* 0F346C 7F0BE93C 4606703E */ c.le.s $f14, $f6 // IF NOT $f14 <= $f6 /* 0F3470 7F0BE940 00000000 */ nop /* 0F3474 7F0BE944 45020009 */ bc1fl .Lproc_7F0BE8D0_9C //Then agent($f12=1) /* 0F3478 7F0BE948 3C014000 */ lui $at, 0x4000 //delay Slot for GOTO agent /* 0F347C 7F0BE94C 46107201 */ sub.s $f8, $f14, $f16 //else $f8 = $f14-$f16 /* 0F3480 7F0BE950 44819000 */ mtc1 $at, $f18 /* 0F3484 7F0BE954 3C018006 */ lui $at, 0x8006 /* 0F3488 7F0BE958 C424B740 */ lwc1 $f4, -0x48c0($at) /* 0F348C 7F0BE95C 46124282 */ mul.s $f10, $f8, $f18 /* 0F3490 7F0BE960 46045183 */ div.s $f6, $f10, $f4 /* 0F3494 7F0BE964 46123300 */ add.s $f12, $f6, $f18 /* 0F3498 7F0BE968 3C014000 */ lui $at, 0x4000 // continue to agent, more like if/else than sub .Lproc_7F0BE8D0_9C: //Agent(float multiplierf12) [$at = 2.0] /* 0F349C 7F0BE96C 44811000 */ mtc1 $at, $f2 //2 /* 0F34A0 7F0BE970 3C013F00 */ lui $at, 0x3f00 /* 0F34A4 7F0BE974 44819000 */ mtc1 $at, $f18 //0.5 /* 0F34A8 7F0BE978 3C018003 */ lui $at, 0x8003 /* 0F34AC 7F0BE97C E4220B14 */ swc1 $f2, %lo(0x80030B14)($at) # $f2, 0xb14($at) // = 0.5 /* 0F34B0 7F0BE980 460C9002 */ mul.s $f0, $f18, $f12 // = 0.5 * multiplierf12 /* 0F34B4 7F0BE984 3C018003 */ lui $at, 0x8003 /* 0F34B8 7F0BE988 E4220B18 */ swc1 $f2, %lo(0x80030B18)($at) # $f2, 0xb18($at) // = 0.5 /* 0F34BC 7F0BE98C 3C018003 */ lui $at, 0x8003 /* 0F34C0 7F0BE990 E4200B1C */ swc1 $f0, %lo(0x80030B1C)($at) # $f0, 0xb1c($at) //.25 or .5 /* 0F34C4 7F0BE994 3C018003 */ lui $at, 0x8003 /* 0F34C8 7F0BE998 E4200B20 */ swc1 $f0, %lo(0x80030B20)($at) # $f0, 0xb20($at) //.25 or .5 /* 0F34CC 7F0BE99C 3C018003 */ lui $at, 0x8003 /* 0F34D0 7F0BE9A0 E4220B24 */ swc1 $f2, %lo(0x80030B24)($at) # $f2, 0xb24($at) // = 0.5 /* 0F34D4 7F0BE9A4 3C018006 */ lui $at, 0x8006 /* 0F34D8 7F0BE9A8 C428B744 */ lwc1 $f8, -0x48bc($at) /* 0F34DC 7F0BE9AC 3C018003 */ lui $at, 0x8003 /* 0F34E0 7F0BE9B0 E428CE40 */ swc1 $f8, %lo(0x8002CE40)($at) # $f8, -0x31c0($at) /* 0F34E4 7F0BE9B4 3C018003 */ lui $at, 0x8003 /* 0F34E8 7F0BE9B8 E420CE44 */ swc1 $f0, %lo(0x8002CE44)($at) # $f0, -0x31bc($at) /* 0F34EC 7F0BE9BC 3C018003 */ lui $at, 0x8003 /* 0F34F0 7F0BE9C0 E422CE48 */ swc1 $f2, %lo(0x8002CE48)($at) # $f2, -0x31b8($at) // = 0.5 /* 0F34F4 7F0BE9C4 3C013E80 */ lui $at, 0x3e80 /* 0F34F8 7F0BE9C8 44815000 */ mtc1 $at, $f10 /* 0F34FC 7F0BE9CC 3C018004 */ lui $at, 0x8004 /* 0F3500 7F0BE9D0 460C5102 */ mul.s $f4, $f10, $f12 /* 0F3504 7F0BE9D4 E4240178 */ swc1 $f4, %lo(0x80040178)($at) # $f4, 0x178($at) /* 0F3508 7F0BE9D8 3C013FC0 */ lui $at, 0x3fc0 /* 0F350C 7F0BE9DC 44813000 */ mtc1 $at, $f6 /* 0F3510 7F0BE9E0 3C018003 */ lui $at, 0x8003 /* 0F3514 7F0BE9E4 E4260AAC */ swc1 $f6, %lo(0x80030AAC)($at) # $f6, 0xaac($at) /* 0F3518 7F0BE9E8 3C018003 */ lui $at, 0x8003 /* 0F351C 7F0BE9EC E4220B28 */ swc1 $f2, %lo(0x80030B28)($at) # $f2, 0xb28($at) // = 0.5 /* 0F3520 7F0BE9F0 3C018006 */ lui $at, 0x8006 /* 0F3524 7F0BE9F4 C428B748 */ lwc1 $f8, -0x48b8($at) /* 0F3528 7F0BE9F8 3C018003 */ lui $at, 0x8003 /* 0F352C 7F0BE9FC 1000005E */ b .Lproc_7F0BE8D0_2A8 //End /* 0F3530 7F0BEA00 E428CE4C */ swc1 $f8, %lo(0x8002CE4C)($at) # $f8, -0x31b4($at) /* ElseIF DificultyChosen = EnumSecretAgent */ .Lproc_7F0BE8D0_134: //SecretAgent [$at = 1] /* 0F3534 7F0BEA04 14410021 */ bne $v0, $at, .Lproc_7F0BE8D0_1BC //If not Enum_SecretAgent then 00Agent() else /* 0F3538 7F0BEA08 3C013F40 */ lui $at, 0x3f40 //0.75 /* 0F353C 7F0BEA0C 44810000 */ mtc1 $at, $f0 /* 0F3540 7F0BEA10 3C013F80 */ lui $at, 0x3f80 //1 /* 0F3544 7F0BEA14 44811000 */ mtc1 $at, $f2 /* 0F3548 7F0BEA18 3C013F00 */ lui $at, 0x3f00 //0.5 /* 0F354C 7F0BEA1C 44819000 */ mtc1 $at, $f18 /* 0F3550 7F0BEA20 3C018003 */ lui $at, 0x8003 /* 0F3554 7F0BEA24 E4220B14 */ swc1 $f2, %lo(0x80030B14)($at) # $f2, 0xb14($at) // = 1 /* 0F3558 7F0BEA28 3C018003 */ lui $at, 0x8003 /* 0F355C 7F0BEA2C E4220B18 */ swc1 $f2, %lo(0x80030B18)($at) # $f2, 0xb18($at) // = 1 /* 0F3560 7F0BEA30 3C018003 */ lui $at, 0x8003 /* 0F3564 7F0BEA34 E4200B1C */ swc1 $f0, %lo(0x80030B1C)($at) # $f0, 0xb1c($at) // = 0.75 /* 0F3568 7F0BEA38 3C018003 */ lui $at, 0x8003 /* 0F356C 7F0BEA3C E4200B20 */ swc1 $f0, %lo(0x80030B20)($at) # $f0, 0xb20($at) // = 0.75 /* 0F3570 7F0BEA40 3C018003 */ lui $at, 0x8003 /* 0F3574 7F0BEA44 E4220B24 */ swc1 $f2, %lo(0x80030B24)($at) # $f2, 0xb24($at) // = 1 /* 0F3578 7F0BEA48 3C018003 */ lui $at, 0x8003 /* 0F357C 7F0BEA4C E420CE40 */ swc1 $f0, %lo(0x8002CE40)($at) # $f0, -0x31c0($at) // = 0.75 /* 0F3580 7F0BEA50 3C018003 */ lui $at, 0x8003 /* 0F3584 7F0BEA54 E420CE44 */ swc1 $f0, %lo(0x8002CE44)($at) # $f0, -0x31bc($at) // = 0.75 /* 0F3588 7F0BEA58 3C018003 */ lui $at, 0x8003 /* 0F358C 7F0BEA5C E422CE48 */ swc1 $f2, %lo(0x8002CE48)($at) # $f2, -0x31b8($at) // = 1 /* 0F3590 7F0BEA60 3C018004 */ lui $at, 0x8004 /* 0F3594 7F0BEA64 E4200178 */ swc1 $f0, %lo(0x80040178)($at) # $f0, 0x178($at) // = 0.75 /* 0F3598 7F0BEA68 3C018003 */ lui $at, 0x8003 /* 0F359C 7F0BEA6C E4200AAC */ swc1 $f0, %lo(0x80030AAC)($at) # $f0, 0xaac($at) // = 0.75 /* 0F35A0 7F0BEA70 3C013FC0 */ lui $at, 0x3fc0 /* 0F35A4 7F0BEA74 44815000 */ mtc1 $at, $f10 /* 0F35A8 7F0BEA78 3C018003 */ lui $at, 0x8003 /* 0F35AC 7F0BEA7C E42A0B28 */ swc1 $f10, %lo(0x80030B28)($at) # $f10, 0xb28($at) // AmmoMultiplyer = ? /* 0F35B0 7F0BEA80 3C018003 */ lui $at, 0x8003 /* 0F35B4 7F0BEA84 1000003C */ b .Lproc_7F0BE8D0_2A8 //END /* 0F35B8 7F0BEA88 E432CE4C */ swc1 $f18, %lo(0x8002CE4C)($at) # $f18, -0x31b4($at) // Reaction = 0.5 /* ElseIF DificultyChosen = Enum00Agent */ .Lproc_7F0BE8D0_1BC: //OOAgent /* 0F35BC 7F0BEA8C 24010002 */ addiu $at, $zero, 2 //$at = 2 /* 0F35C0 7F0BEA90 1441001D */ bne $v0, $at, .Lproc_7F0BE8D0_238 /* 0F35C4 7F0BEA94 3C013F80 */ lui $at, 0x3f80 //1 /* 0F35C8 7F0BEA98 44811000 */ mtc1 $at, $f2 /* 0F35CC 7F0BEA9C 3C018003 */ lui $at, 0x8003 /* 0F35D0 7F0BEAA0 E4220B14 */ swc1 $f2, %lo(0x80030B14)($at) # $f2, 0xb14($at) // = 1 /* 0F35D4 7F0BEAA4 3C018003 */ lui $at, 0x8003 /* 0F35D8 7F0BEAA8 E4220B18 */ swc1 $f2, %lo(0x80030B18)($at) # $f2, 0xb18($at) // = 1 /* 0F35DC 7F0BEAAC 3C018003 */ lui $at, 0x8003 /* 0F35E0 7F0BEAB0 E4220B1C */ swc1 $f2, %lo(0x80030B1C)($at) # $f2, 0xb1c($at) // = 1 /* 0F35E4 7F0BEAB4 3C018003 */ lui $at, 0x8003 /* 0F35E8 7F0BEAB8 E4220B20 */ swc1 $f2, %lo(0x80030B20)($at) # $f2, 0xb20($at) // = 1 /* 0F35EC 7F0BEABC 3C018003 */ lui $at, 0x8003 /* 0F35F0 7F0BEAC0 E4220B24 */ swc1 $f2, %lo(0x80030B24)($at) # $f2, 0xb24($at) // = 1 /* 0F35F4 7F0BEAC4 3C018003 */ lui $at, 0x8003 /* 0F35F8 7F0BEAC8 E422CE40 */ swc1 $f2, %lo(0x8002CE40)($at) # $f2, -0x31c0($at) //Accuracy = 1 /* 0F35FC 7F0BEACC 3C018003 */ lui $at, 0x8003 /* 0F3600 7F0BEAD0 E422CE44 */ swc1 $f2, %lo(0x8002CE44)($at) # $f2, -0x31bc($at) //Damage = 1 /* 0F3604 7F0BEAD4 3C018003 */ lui $at, 0x8003 /* 0F3608 7F0BEAD8 E422CE48 */ swc1 $f2, %lo(0x8002CE48)($at) # $f2, -0x31b8($at) //Health = 1 /* 0F360C 7F0BEADC 3C018004 */ lui $at, 0x8004 /* 0F3610 7F0BEAE0 E4220178 */ swc1 $f2, %lo(0x80040178)($at) # $f2, 0x178($at) // = 1 /* 0F3614 7F0BEAE4 3C018006 */ lui $at, 0x8006 /* 0F3618 7F0BEAE8 C424B74C */ lwc1 $f4, -0x48b4($at) /* 0F361C 7F0BEAEC 3C018003 */ lui $at, 0x8003 /* 0F3620 7F0BEAF0 E4240AAC */ swc1 $f4, %lo(0x80030AAC)($at) # $f4, 0xaac($at) // = ? /* 0F3624 7F0BEAF4 3C018003 */ lui $at, 0x8003 /* 0F3628 7F0BEAF8 E4220B28 */ swc1 $f2, %lo(0x80030B28)($at) # $f2, 0xb28($at) //AmmoMultiplyer = 1 /* 0F362C 7F0BEAFC 3C018003 */ lui $at, 0x8003 /* 0F3630 7F0BEB00 1000001D */ b .Lproc_7F0BE8D0_2A8 //END /* 0F3634 7F0BEB04 E422CE4C */ swc1 $f2, %lo(0x8002CE4C)($at) # $f2, -0x31b4($at) //Reaction = 1 /* ElseIF DificultyChosen = Enum007Mode */ .Lproc_7F0BE8D0_238: //007 mode /* 0F3638 7F0BEB08 24010003 */ addiu $at, $zero, 3 //If not any dificulty exit /* 0F363C 7F0BEB0C 1441001A */ bne $v0, $at, .Lproc_7F0BE8D0_2A8 /* 0F3640 7F0BEB10 3C013F80 */ lui $at, 0x3f80 /* 0F3644 7F0BEB14 44811000 */ mtc1 $at, $f2 /* 0F3648 7F0BEB18 3C018003 */ lui $at, 0x8003 /* 0F364C 7F0BEB1C E4220B14 */ swc1 $f2, %lo(0x80030B14)($at) # $f2, 0xb14($at) /* 0F3650 7F0BEB20 3C018003 */ lui $at, 0x8003 /* 0F3654 7F0BEB24 E4220B18 */ swc1 $f2, %lo(0x80030B18)($at) # $f2, 0xb18($at) /* 0F3658 7F0BEB28 3C018003 */ lui $at, 0x8003 /* 0F365C 7F0BEB2C E4220B1C */ swc1 $f2, %lo(0x80030B1C)($at) # $f2, 0xb1c($at) /* 0F3660 7F0BEB30 3C018003 */ lui $at, 0x8003 /* 0F3664 7F0BEB34 E4220B20 */ swc1 $f2, %lo(0x80030B20)($at) # $f2, 0xb20($at) /* 0F3668 7F0BEB38 3C018003 */ lui $at, 0x8003 /* 0F366C 7F0BEB3C E4220B24 */ swc1 $f2, %lo(0x80030B24)($at) # $f2, 0xb24($at) /* 0F3670 7F0BEB40 3C018003 */ lui $at, 0x8003 /* 0F3674 7F0BEB44 E422CE40 */ swc1 $f2, %lo(0x8002CE40)($at) # $f2, -0x31c0($at) /* 0F3678 7F0BEB48 3C018003 */ lui $at, 0x8003 /* 0F367C 7F0BEB4C E422CE44 */ swc1 $f2, %lo(0x8002CE44)($at) # $f2, -0x31bc($at) /* 0F3680 7F0BEB50 3C018003 */ lui $at, 0x8003 /* 0F3684 7F0BEB54 E422CE48 */ swc1 $f2, %lo(0x8002CE48)($at) # $f2, -0x31b8($at) /* 0F3688 7F0BEB58 3C018004 */ lui $at, 0x8004 /* 0F368C 7F0BEB5C E4220178 */ swc1 $f2, %lo(0x80040178)($at) # $f2, 0x178($at) /* 0F3690 7F0BEB60 3C018003 */ lui $at, 0x8003 /* 0F3694 7F0BEB64 E4220AAC */ swc1 $f2, %lo(0x80030AAC)($at) # $f2, 0xaac($at) /* 0F3698 7F0BEB68 3C018003 */ lui $at, 0x8003 /* 0F369C 7F0BEB6C E4220B28 */ swc1 $f2, %lo(0x80030B28)($at) # $f2, 0xb28($at) /* 0F36A0 7F0BEB70 3C018003 */ lui $at, 0x8003 /* 0F36A4 7F0BEB74 E422CE4C */ swc1 $f2, %lo(0x8002CE4C)($at) # $f2, -0x31b4($at) /* END IF */ .Lproc_7F0BE8D0_2A8: /* 0F36A8 7F0BEB78 8FBF0014 */ lw $ra, 0x14($sp) /* 0F36AC 7F0BEB7C 27BD0028 */ addiu $sp, $sp, 0x28 /* 0F36B0 7F0BEB80 03E00008 */ jr $ra //Return to caller /* 0F36B4 7F0BEB84 00000000 */ nop # end proc_7F0BE8D0