diff --git a/src/game/data/data_020df0.c b/src/game/data/data_020df0.c index 8255f7f4d..1f7ff17af 100644 --- a/src/game/data/data_020df0.c +++ b/src/game/data/data_020df0.c @@ -9576,7 +9576,7 @@ u32 var80084008 = 0x00000002; u32 var8008400c = 0x00000000; u32 var80084010 = 0; u32 var80084014 = 0; -u32 var80084018 = 0x3f800000; +f32 var80084018 = 1; u32 var8008401c = 0x00000001; s32 g_Difficulty = 0; @@ -9588,11 +9588,11 @@ u32 var80084030 = 20; s32 var80084034 = 0; u32 var80084038 = 0; f32 g_Uptime = 0; -u32 var80084040 = 0x00000001; +bool var80084040 = true; u32 var80084044 = 0x000005c8; u32 var80084048 = 0x00008068; u32 var8008404c = 0x000001c8; -u32 var80084050 = 0x00000000; +u32 var80084050 = 0; s16 g_FadeNumFrames = 0; diff --git a/src/game/game_01bea0.c b/src/game/game_01bea0.c index c624b240d..eb907625a 100644 --- a/src/game/game_01bea0.c +++ b/src/game/game_01bea0.c @@ -1380,19 +1380,19 @@ glabel var7f1a863c /* f01d0a8: 8e630298 */ lw $v1,0x298($s3) .L0f01d0ac: /* f01d0ac: 8e630298 */ lw $v1,0x298($s3) -/* f01d0b0: 3c04800b */ lui $a0,%hi(var800aca38) -/* f01d0b4: 2484ca38 */ addiu $a0,$a0,%lo(var800aca38) +/* f01d0b0: 3c04800b */ lui $a0,0x800b +/* f01d0b4: 2484ca38 */ addiu $a0,$a0,-13768 /* f01d0b8: 04610003 */ bgez $v1,.L0f01d0c8 /* f01d0bc: 27a20070 */ addiu $v0,$sp,0x70 /* f01d0c0: 8e78029c */ lw $t8,0x29c($s3) /* f01d0c4: 0700005a */ bltz $t8,.L0f01d230 .L0f01d0c8: -/* f01d0c8: 3c05800b */ lui $a1,%hi(var800acad8) +/* f01d0c8: 3c05800b */ lui $a1,0x800b /* f01d0cc: 3c06800b */ lui $a2,0x800b /* f01d0d0: 3c07800b */ lui $a3,%hi(g_MpPlayers) /* f01d0d4: 24e7c7b8 */ addiu $a3,$a3,%lo(g_MpPlayers) /* f01d0d8: 24c6c858 */ addiu $a2,$a2,-14248 -/* f01d0dc: 24a5cad8 */ addiu $a1,$a1,%lo(var800acad8) +/* f01d0dc: 24a5cad8 */ addiu $a1,$a1,-13608 /* f01d0e0: 00807825 */ or $t7,$a0,$zero /* f01d0e4: 00407025 */ or $t6,$v0,$zero /* f01d0e8: 2499009c */ addiu $t9,$a0,0x9c diff --git a/src/game/game_1165d0.c b/src/game/game_1165d0.c index 778a89af9..a6b2b6d21 100644 --- a/src/game/game_1165d0.c +++ b/src/game/game_1165d0.c @@ -4374,7 +4374,7 @@ glabel func0f119da8 /* f119e34: 02a02025 */ or $a0,$s5,$zero /* f119e38: 320500ff */ andi $a1,$s0,0xff /* f119e3c: 02c03025 */ or $a2,$s6,$zero -/* f119e40: 0c001910 */ jal func00006440 +/* f119e40: 0c001910 */ jal osEepromLongWrite /* f119e44: 24070008 */ addiu $a3,$zero,0x8 /* f119e48: 0c005451 */ jal func00015144 /* f119e4c: 00000000 */ sll $zero,$zero,0x0 @@ -9568,7 +9568,7 @@ glabel func0f11e4d4 /* f11e4f0: 24849e78 */ addiu $a0,$a0,%lo(var80099e78) /* f11e4f4: 93a50023 */ lbu $a1,0x23($sp) /* f11e4f8: 8fa60024 */ lw $a2,0x24($sp) -/* f11e4fc: 0c001910 */ jal func00006440 +/* f11e4fc: 0c001910 */ jal osEepromLongWrite /* f11e500: 8fa70028 */ lw $a3,0x28($sp) /* f11e504: 0c005451 */ jal func00015144 /* f11e508: afa2001c */ sw $v0,0x1c($sp) diff --git a/src/game/game_167ae0.c b/src/game/game_167ae0.c index 624d2e994..cebfe62f1 100644 --- a/src/game/game_167ae0.c +++ b/src/game/game_167ae0.c @@ -390,548 +390,247 @@ glabel func0f167c88 /* f167e78: 27bd0020 */ addiu $sp,$sp,0x20 ); -GLOBAL_ASM( -glabel func0f167e7c -.late_rodata -glabel var7f1b7770 -.word func0f167e7c+0x36c # f1681e8 -glabel var7f1b7774 -.word func0f167e7c+0x374 # f1681f0 -glabel var7f1b7778 -.word func0f167e7c+0x374 # f1681f0 -glabel var7f1b777c -.word func0f167e7c+0x374 # f1681f0 -glabel var7f1b7780 -.word func0f167e7c+0x374 # f1681f0 -glabel var7f1b7784 -.word func0f167e7c+0x374 # f1681f0 -glabel var7f1b7788 -.word func0f167e7c+0x374 # f1681f0 -glabel var7f1b778c -.word func0f167e7c+0x374 # f1681f0 -glabel var7f1b7790 -.word func0f167e7c+0x374 # f1681f0 -glabel var7f1b7794 -.word func0f167e7c+0x36c # f1681e8 -glabel var7f1b7798 -.word func0f167e7c+0x374 # f1681f0 -glabel var7f1b779c -.word func0f167e7c+0x374 # f1681f0 -glabel var7f1b77a0 -.word func0f167e7c+0x374 # f1681f0 -glabel var7f1b77a4 -.word func0f167e7c+0x374 # f1681f0 -glabel var7f1b77a8 -.word func0f167e7c+0x374 # f1681f0 -glabel var7f1b77ac -.word func0f167e7c+0x374 # f1681f0 -glabel var7f1b77b0 -.word func0f167e7c+0x374 # f1681f0 -glabel var7f1b77b4 -.word func0f167e7c+0x374 # f1681f0 -glabel var7f1b77b8 -.word func0f167e7c+0x374 # f1681f0 -glabel var7f1b77bc -.word func0f167e7c+0x374 # f1681f0 -glabel var7f1b77c0 -.word func0f167e7c+0x374 # f1681f0 -glabel var7f1b77c4 -.word func0f167e7c+0x374 # f1681f0 -glabel var7f1b77c8 -.word func0f167e7c+0x36c # f1681e8 -glabel var7f1b77cc -.word func0f167e7c+0x36c # f1681e8 -glabel var7f1b77d0 -.word func0f167e7c+0x374 # f1681f0 -glabel var7f1b77d4 -.word func0f167e7c+0x374 # f1681f0 -glabel var7f1b77d8 -.word func0f167e7c+0x374 # f1681f0 -glabel var7f1b77dc -.word func0f167e7c+0x36c # f1681e8 -.text -/* f167e7c: 27bdff98 */ addiu $sp,$sp,-104 -/* f167e80: afbf001c */ sw $ra,0x1c($sp) -/* f167e84: afb00018 */ sw $s0,0x18($sp) -/* f167e88: 0fc5a232 */ jal func0f1688c8 -/* f167e8c: afa40068 */ sw $a0,0x68($sp) -/* f167e90: 3c018008 */ lui $at,0x8008 -/* f167e94: ac204014 */ sw $zero,0x4014($at) -/* f167e98: 3c018008 */ lui $at,0x8008 -/* f167e9c: 0c004e40 */ jal func00013900 -/* f167ea0: ac204010 */ sw $zero,0x4010($at) -/* f167ea4: 3c10800a */ lui $s0,%hi(g_Vars) -/* f167ea8: 26109fc0 */ addiu $s0,$s0,%lo(g_Vars) -/* f167eac: 8faf0068 */ lw $t7,0x68($sp) -/* f167eb0: 240e000a */ addiu $t6,$zero,0xa -/* f167eb4: ae0e04d8 */ sw $t6,0x4d8($s0) -/* f167eb8: a20004d1 */ sb $zero,0x4d1($s0) -/* f167ebc: a20004d0 */ sb $zero,0x4d0($s0) -/* f167ec0: 0fc41d44 */ jal cheatsActivate -/* f167ec4: ae0f04b4 */ sw $t7,0x4b4($s0) -/* f167ec8: 24180001 */ addiu $t8,$zero,0x1 -/* f167ecc: 3c018008 */ lui $at,0x8008 -/* f167ed0: ac384040 */ sw $t8,0x4040($at) -/* f167ed4: ae00000c */ sw $zero,0xc($s0) -/* f167ed8: 3c018008 */ lui $at,0x8008 -/* f167edc: ac204050 */ sw $zero,0x4050($at) -/* f167ee0: 3c013f80 */ lui $at,0x3f80 -/* f167ee4: 44813000 */ mtc1 $at,$f6 -/* f167ee8: 44812000 */ mtc1 $at,$f4 -/* f167eec: 24060004 */ addiu $a2,$zero,0x4 -/* f167ef0: e6060050 */ swc1 $f6,0x50($s0) -/* f167ef4: c6080050 */ lwc1 $f8,0x50($s0) -/* f167ef8: 44800000 */ mtc1 $zero,$f0 -/* f167efc: ae000008 */ sw $zero,0x8($s0) -/* f167f00: ae060034 */ sw $a2,0x34($s0) -/* f167f04: 3c018008 */ lui $at,0x8008 -/* f167f08: e6040044 */ swc1 $f4,0x44($s0) -/* f167f0c: e608004c */ swc1 $f8,0x4c($s0) -/* f167f10: ac204024 */ sw $zero,0x4024($at) -/* f167f14: 3c018008 */ lui $at,0x8008 -/* f167f18: e420403c */ swc1 $f0,0x403c($at) -/* f167f1c: 2402ffff */ addiu $v0,$zero,-1 -/* f167f20: ae00045c */ sw $zero,0x45c($s0) -/* f167f24: ae000460 */ sw $zero,0x460($s0) -/* f167f28: ae000464 */ sw $zero,0x464($s0) -/* f167f2c: ae000468 */ sw $zero,0x468($s0) -/* f167f30: ae00046c */ sw $zero,0x46c($s0) -/* f167f34: ae000478 */ sw $zero,0x478($s0) -/* f167f38: ae000488 */ sw $zero,0x488($s0) -/* f167f3c: ae020440 */ sw $v0,0x440($s0) -/* f167f40: ae020444 */ sw $v0,0x444($s0) -/* f167f44: ae0004c8 */ sw $zero,0x4c8($s0) -/* f167f48: ae0004cc */ sw $zero,0x4cc($s0) -/* f167f4c: a20004d3 */ sb $zero,0x4d3($s0) -/* f167f50: a20004d6 */ sb $zero,0x4d6($s0) -/* f167f54: a20004d7 */ sb $zero,0x4d7($s0) -/* f167f58: 3c018008 */ lui $at,0x8008 -/* f167f5c: 0fc5b4c9 */ jal func0f16d324 -/* f167f60: ac204034 */ sw $zero,0x4034($at) -/* f167f64: 0fc04449 */ jal func0f011124 -/* f167f68: 24040001 */ addiu $a0,$zero,0x1 -/* f167f6c: 0fc04ee0 */ jal func0f013b80 -/* f167f70: 00000000 */ sll $zero,$zero,0x0 -/* f167f74: 0fc5cd70 */ jal func0f1735c0 -/* f167f78: 00000000 */ sll $zero,$zero,0x0 -/* f167f7c: 0fc54cbb */ jal func0f1532ec -/* f167f80: 00000000 */ sll $zero,$zero,0x0 -/* f167f84: 0fc37768 */ jal func0f0ddda0 -/* f167f88: 00000000 */ sll $zero,$zero,0x0 -/* f167f8c: 8fa20068 */ lw $v0,0x68($sp) -/* f167f90: 2401004e */ addiu $at,$zero,0x4e -/* f167f94: 54410005 */ bnel $v0,$at,.L0f167fac -/* f167f98: 2401005a */ addiu $at,$zero,0x5a -/* f167f9c: 0fc02d20 */ jal func0f00b480 -/* f167fa0: 00000000 */ sll $zero,$zero,0x0 -/* f167fa4: 8fa20068 */ lw $v0,0x68($sp) -/* f167fa8: 2401005a */ addiu $at,$zero,0x5a -.L0f167fac: -/* f167fac: 54410006 */ bnel $v0,$at,.L0f167fc8 -/* f167fb0: 2401005b */ addiu $at,$zero,0x5b -/* f167fb4: 0fc02d20 */ jal func0f00b480 -/* f167fb8: 00000000 */ sll $zero,$zero,0x0 -/* f167fbc: 10000053 */ beqz $zero,.L0f16810c -/* f167fc0: 00000000 */ sll $zero,$zero,0x0 -/* f167fc4: 2401005b */ addiu $at,$zero,0x5b -.L0f167fc8: -/* f167fc8: 54410004 */ bnel $v0,$at,.L0f167fdc -/* f167fcc: 2401005c */ addiu $at,$zero,0x5c -/* f167fd0: 1000004e */ beqz $zero,.L0f16810c -/* f167fd4: 00000000 */ sll $zero,$zero,0x0 -/* f167fd8: 2401005c */ addiu $at,$zero,0x5c -.L0f167fdc: -/* f167fdc: 54410004 */ bnel $v0,$at,.L0f167ff0 -/* f167fe0: 2401005d */ addiu $at,$zero,0x5d -/* f167fe4: 10000049 */ beqz $zero,.L0f16810c -/* f167fe8: 00000000 */ sll $zero,$zero,0x0 -/* f167fec: 2401005d */ addiu $at,$zero,0x5d -.L0f167ff0: -/* f167ff0: 14410003 */ bne $v0,$at,.L0f168000 -/* f167ff4: 00000000 */ sll $zero,$zero,0x0 -/* f167ff8: 10000044 */ beqz $zero,.L0f16810c -/* f167ffc: 00000000 */ sll $zero,$zero,0x0 -.L0f168000: -/* f168000: 0fc04f3c */ jal func0f013cf0 -/* f168004: 00000000 */ sll $zero,$zero,0x0 -/* f168008: 0fc56d4d */ jal func0f15b534 -/* f16800c: 8e0404b4 */ lw $a0,0x4b4($s0) -/* f168010: 0fc56e42 */ jal func0f15b908 -/* f168014: 8e0404b4 */ lw $a0,0x4b4($s0) -/* f168018: 0fc051e8 */ jal func0f0147a0 -/* f16801c: 8e0404b4 */ lw $a0,0x4b4($s0) -/* f168020: 8e190318 */ lw $t9,0x318($s0) -/* f168024: 13200006 */ beqz $t9,.L0f168040 -/* f168028: 00000000 */ sll $zero,$zero,0x0 -/* f16802c: 0fc5b66a */ jal func0f16d9a8 -/* f168030: 8fa40068 */ lw $a0,0x68($sp) -/* f168034: 44800000 */ mtc1 $zero,$f0 -/* f168038: 10000005 */ beqz $zero,.L0f168050 -/* f16803c: 24060004 */ addiu $a2,$zero,0x4 -.L0f168040: -/* f168040: 0fc5b67c */ jal func0f16d9f0 -/* f168044: 8fa40068 */ lw $a0,0x68($sp) -/* f168048: 44800000 */ mtc1 $zero,$f0 -/* f16804c: 24060004 */ addiu $a2,$zero,0x4 -.L0f168050: -/* f168050: 8e090318 */ lw $t1,0x318($s0) -/* f168054: 51200006 */ beqzl $t1,.L0f168070 -/* f168058: 8e0a0314 */ lw $t2,0x314($s0) -/* f16805c: 0fc6214c */ jal func0f188530 -/* f168060: 00000000 */ sll $zero,$zero,0x0 -/* f168064: 44800000 */ mtc1 $zero,$f0 -/* f168068: 24060004 */ addiu $a2,$zero,0x4 -/* f16806c: 8e0a0314 */ lw $t2,0x314($s0) -.L0f168070: -/* f168070: 3c0c800a */ lui $t4,%hi(g_Vars) -/* f168074: 25859fc0 */ addiu $a1,$t4,%lo(g_Vars) -/* f168078: 15400007 */ bnez $t2,.L0f168098 -/* f16807c: 00a02025 */ or $a0,$a1,$zero -/* f168080: 3c02800b */ lui $v0,%hi(g_MpPlayers) -/* f168084: 2442c7b8 */ addiu $v0,$v0,%lo(g_MpPlayers) -/* f168088: 240b0001 */ addiu $t3,$zero,0x1 -/* f16808c: ae0600e4 */ sw $a2,0xe4($s0) -/* f168090: a04002c5 */ sb $zero,0x2c5($v0) -/* f168094: a04b02c6 */ sb $t3,0x2c6($v0) -.L0f168098: -/* f168098: 3c013f80 */ lui $at,0x3f80 -/* f16809c: 3c08800a */ lui $t0,0x800a -/* f1680a0: 3c077fff */ lui $a3,0x7fff -/* f1680a4: 44811000 */ mtc1 $at,$f2 -/* f1680a8: 34e7ffff */ ori $a3,$a3,0xffff -/* f1680ac: 2508a1c0 */ addiu $t0,$t0,-24128 -.L0f1680b0: -/* f1680b0: e48200d0 */ swc1 $f2,0xd0($a0) -/* f1680b4: ac8000a8 */ sw $zero,0xa8($a0) -/* f1680b8: e48000ac */ swc1 $f0,0xac($a0) -/* f1680bc: ac8000b0 */ sw $zero,0xb0($a0) -/* f1680c0: e48000b4 */ swc1 $f0,0xb4($a0) -/* f1680c4: ac8700b8 */ sw $a3,0xb8($a0) -/* f1680c8: ac8000bc */ sw $zero,0xbc($a0) -/* f1680cc: ac8000c8 */ sw $zero,0xc8($a0) -/* f1680d0: ac8000cc */ sw $zero,0xcc($a0) -/* f1680d4: ac8000c0 */ sw $zero,0xc0($a0) -/* f1680d8: ac8700c4 */ sw $a3,0xc4($a0) -/* f1680dc: ac8000d4 */ sw $zero,0xd4($a0) -/* f1680e0: e48000ec */ swc1 $f0,0xec($a0) -/* f1680e4: e48000f0 */ swc1 $f0,0xf0($a0) -/* f1680e8: 00001025 */ or $v0,$zero,$zero -/* f1680ec: 00a01825 */ or $v1,$a1,$zero -.L0f1680f0: -/* f1680f0: 24420001 */ addiu $v0,$v0,0x1 -/* f1680f4: 24630004 */ addiu $v1,$v1,0x4 -/* f1680f8: 1446fffd */ bne $v0,$a2,.L0f1680f0 -/* f1680fc: ac600094 */ sw $zero,0x94($v1) -/* f168100: 24a50080 */ addiu $a1,$a1,0x80 -/* f168104: 14a8ffea */ bne $a1,$t0,.L0f1680b0 -/* f168108: 24840080 */ addiu $a0,$a0,0x80 -.L0f16810c: -/* f16810c: 0fc620db */ jal func0f18836c -/* f168110: 00000000 */ sll $zero,$zero,0x0 -/* f168114: 0c008dcf */ jal func0002373c -/* f168118: 00000000 */ sll $zero,$zero,0x0 -/* f16811c: 0fc04274 */ jal func0f0109d0 -/* f168120: 00000000 */ sll $zero,$zero,0x0 -/* f168124: 0fc04ee8 */ jal func0f013ba0 -/* f168128: 00000000 */ sll $zero,$zero,0x0 -/* f16812c: 0fc04444 */ jal func0f011110 -/* f168130: 00000000 */ sll $zero,$zero,0x0 -/* f168134: 0fc04234 */ jal func0f0108d0 -/* f168138: 00000000 */ sll $zero,$zero,0x0 -/* f16813c: 0fc03ad9 */ jal func0f00eb64 -/* f168140: 8fa40068 */ lw $a0,0x68($sp) -/* f168144: 0fc61883 */ jal func0f18620c -/* f168148: 00000000 */ sll $zero,$zero,0x0 -/* f16814c: 0fc03090 */ jal func0f00c240 -/* f168150: 00000000 */ sll $zero,$zero,0x0 -/* f168154: 0fc03124 */ jal func0f00c490 -/* f168158: 00000000 */ sll $zero,$zero,0x0 -/* f16815c: 0fc02d44 */ jal func0f00b510 -/* f168160: 00000000 */ sll $zero,$zero,0x0 -/* f168164: 0fc02e08 */ jal func0f00b820 -/* f168168: 8fa40068 */ lw $a0,0x68($sp) -/* f16816c: 0fc03c5d */ jal func0f00f174 -/* f168170: 8fa40068 */ lw $a0,0x68($sp) -/* f168174: 0fc254f3 */ jal func0f0953cc -/* f168178: 00000000 */ sll $zero,$zero,0x0 -/* f16817c: 0fc04c04 */ jal func0f013010 -/* f168180: 00000000 */ sll $zero,$zero,0x0 -/* f168184: 0fc04c4c */ jal func0f013130 -/* f168188: 00000000 */ sll $zero,$zero,0x0 -/* f16818c: 0fc04c98 */ jal func0f013260 -/* f168190: 00000000 */ sll $zero,$zero,0x0 -/* f168194: 0fc04ca8 */ jal func0f0132a0 -/* f168198: 00000000 */ sll $zero,$zero,0x0 -/* f16819c: 0fc59ec4 */ jal func0f167b10 -/* f1681a0: 00000000 */ sll $zero,$zero,0x0 -/* f1681a4: 8e0204b4 */ lw $v0,0x4b4($s0) -/* f1681a8: 28410035 */ slti $at,$v0,0x35 -/* f1681ac: 14200005 */ bnez $at,.L0f1681c4 -/* f1681b0: 2401004e */ addiu $at,$zero,0x4e -/* f1681b4: 1041000c */ beq $v0,$at,.L0f1681e8 -/* f1681b8: 00000000 */ sll $zero,$zero,0x0 -/* f1681bc: 1000000c */ beqz $zero,.L0f1681f0 -/* f1681c0: 00000000 */ sll $zero,$zero,0x0 -.L0f1681c4: -/* f1681c4: 244dffe7 */ addiu $t5,$v0,-25 -/* f1681c8: 2da1001c */ sltiu $at,$t5,0x1c -/* f1681cc: 10200008 */ beqz $at,.L0f1681f0 -/* f1681d0: 000d6880 */ sll $t5,$t5,0x2 -/* f1681d4: 3c017f1b */ lui $at,%hi(var7f1b7770) -/* f1681d8: 002d0821 */ addu $at,$at,$t5 -/* f1681dc: 8c2d7770 */ lw $t5,%lo(var7f1b7770)($at) -/* f1681e0: 01a00008 */ jr $t5 -/* f1681e4: 00000000 */ sll $zero,$zero,0x0 -.L0f1681e8: -/* f1681e8: 0fc4d83a */ jal func0f1360e8 -/* f1681ec: 00000000 */ sll $zero,$zero,0x0 -.L0f1681f0: -/* f1681f0: 0fc02669 */ jal func0f0099a4 -/* f1681f4: 00000000 */ sll $zero,$zero,0x0 -/* f1681f8: 0fc051f4 */ jal func0f0147d0 -/* f1681fc: 00000000 */ sll $zero,$zero,0x0 -/* f168200: 0fc051fe */ jal func0f0147f8 -/* f168204: 00000000 */ sll $zero,$zero,0x0 -/* f168208: 0fc04d50 */ jal func0f013540 -/* f16820c: 00000000 */ sll $zero,$zero,0x0 -/* f168210: 0fc04e7c */ jal func0f0139f0 -/* f168214: 00000000 */ sll $zero,$zero,0x0 -/* f168218: 0fc6753b */ jal func0f19d4ec -/* f16821c: 00000000 */ sll $zero,$zero,0x0 -/* f168220: 8e0e04b4 */ lw $t6,0x4b4($s0) -/* f168224: 2401005a */ addiu $at,$zero,0x5a -/* f168228: 51c10085 */ beql $t6,$at,.L0f168440 -/* f16822c: 8e0a031c */ lw $t2,0x31c($s0) -/* f168230: 8faf0068 */ lw $t7,0x68($sp) -/* f168234: 2401005b */ addiu $at,$zero,0x5b -/* f168238: 8fb80068 */ lw $t8,0x68($sp) -/* f16823c: 55e10008 */ bnel $t7,$at,.L0f168260 -/* f168240: 2401005d */ addiu $at,$zero,0x5d -/* f168244: 0fc4a24b */ jal setCurrentPlayerNum -/* f168248: 00002025 */ or $a0,$zero,$zero -/* f16824c: 0fc3e326 */ jal func0f0f8c98 -/* f168250: 00000000 */ sll $zero,$zero,0x0 -/* f168254: 1000007a */ beqz $zero,.L0f168440 -/* f168258: 8e0a031c */ lw $t2,0x31c($s0) -/* f16825c: 2401005d */ addiu $at,$zero,0x5d -.L0f168260: -/* f168260: 17010007 */ bne $t8,$at,.L0f168280 -/* f168264: 8fb90068 */ lw $t9,0x68($sp) -/* f168268: 0fc4a24b */ jal setCurrentPlayerNum -/* f16826c: 00002025 */ or $a0,$zero,$zero -/* f168270: 0fc3e326 */ jal func0f0f8c98 -/* f168274: 00000000 */ sll $zero,$zero,0x0 -/* f168278: 10000071 */ beqz $zero,.L0f168440 -/* f16827c: 8e0a031c */ lw $t2,0x31c($s0) -.L0f168280: -/* f168280: 2401005c */ addiu $at,$zero,0x5c -/* f168284: 17210005 */ bne $t9,$at,.L0f16829c -/* f168288: 00000000 */ sll $zero,$zero,0x0 -/* f16828c: 0fc4ed31 */ jal func0f13b4c4 -/* f168290: 00000000 */ sll $zero,$zero,0x0 -/* f168294: 1000006a */ beqz $zero,.L0f168440 -/* f168298: 8e0a031c */ lw $t2,0x31c($s0) -.L0f16829c: -/* f16829c: 0fc5ddfe */ jal func0f1777f8 -/* f1682a0: 00000000 */ sll $zero,$zero,0x0 -/* f1682a4: 0fc042c8 */ jal func0f010b20 -/* f1682a8: 00000000 */ sll $zero,$zero,0x0 -/* f1682ac: 8e09006c */ lw $t1,0x6c($s0) -/* f1682b0: 00003025 */ or $a2,$zero,$zero -/* f1682b4: 00002825 */ or $a1,$zero,$zero -/* f1682b8: 11200003 */ beqz $t1,.L0f1682c8 -/* f1682bc: 00002025 */ or $a0,$zero,$zero -/* f1682c0: 10000001 */ beqz $zero,.L0f1682c8 -/* f1682c4: 24050001 */ addiu $a1,$zero,0x1 -.L0f1682c8: -/* f1682c8: 8e0a0068 */ lw $t2,0x68($s0) -/* f1682cc: 00001825 */ or $v1,$zero,$zero -/* f1682d0: 11400003 */ beqz $t2,.L0f1682e0 -/* f1682d4: 00000000 */ sll $zero,$zero,0x0 -/* f1682d8: 10000001 */ beqz $zero,.L0f1682e0 -/* f1682dc: 24040001 */ addiu $a0,$zero,0x1 -.L0f1682e0: -/* f1682e0: 8e0b0064 */ lw $t3,0x64($s0) -/* f1682e4: 00001025 */ or $v0,$zero,$zero -/* f1682e8: 11600003 */ beqz $t3,.L0f1682f8 -/* f1682ec: 00000000 */ sll $zero,$zero,0x0 -/* f1682f0: 10000001 */ beqz $zero,.L0f1682f8 -/* f1682f4: 24030001 */ addiu $v1,$zero,0x1 -.L0f1682f8: -/* f1682f8: 8e0c0070 */ lw $t4,0x70($s0) -/* f1682fc: 11800003 */ beqz $t4,.L0f16830c -/* f168300: 00000000 */ sll $zero,$zero,0x0 -/* f168304: 10000001 */ beqz $zero,.L0f16830c -/* f168308: 24020001 */ addiu $v0,$zero,0x1 -.L0f16830c: -/* f16830c: 00436821 */ addu $t5,$v0,$v1 -/* f168310: 01a47021 */ addu $t6,$t5,$a0 -/* f168314: 01c57821 */ addu $t7,$t6,$a1 -/* f168318: 19e00040 */ blez $t7,.L0f16841c -/* f16831c: 00000000 */ sll $zero,$zero,0x0 -/* f168320: afa6005c */ sw $a2,0x5c($sp) -.L0f168324: -/* f168324: 0fc4a24b */ jal setCurrentPlayerNum -/* f168328: 8fa4005c */ lw $a0,0x5c($sp) -/* f16832c: 8e180284 */ lw $t8,0x284($s0) -/* f168330: a700024e */ sh $zero,0x24e($t8) -/* f168334: 8e020284 */ lw $v0,0x284($s0) -/* f168338: 8459024e */ lh $t9,0x24e($v0) -/* f16833c: 0fc3e326 */ jal func0f0f8c98 -/* f168340: a459024c */ sh $t9,0x24c($v0) -/* f168344: 0fc3fa12 */ jal func0f0fe848 -/* f168348: 00000000 */ sll $zero,$zero,0x0 -/* f16834c: 0fc04914 */ jal currentPlayerInitGunsHeld -/* f168350: 00000000 */ sll $zero,$zero,0x0 -/* f168354: 0fc042ec */ jal func0f010bb0 -/* f168358: 00000000 */ sll $zero,$zero,0x0 -/* f16835c: 0fc2ddf3 */ jal func0f0b77cc -/* f168360: 00000000 */ sll $zero,$zero,0x0 -/* f168364: 0fc0463d */ jal currentPlayerInit -/* f168368: 00000000 */ sll $zero,$zero,0x0 -/* f16836c: 0fc2e00b */ jal func0f0b802c -/* f168370: 00000000 */ sll $zero,$zero,0x0 -/* f168374: 0fc049a1 */ jal func0f012684 -/* f168378: 00000000 */ sll $zero,$zero,0x0 -/* f16837c: 8e090318 */ lw $t1,0x318($s0) -/* f168380: 3c0a800b */ lui $t2,0x800b -/* f168384: 51200008 */ beqzl $t1,.L0f1683a8 -/* f168388: 8e0c006c */ lw $t4,0x6c($s0) -/* f16838c: 8d4acb94 */ lw $t2,-0x346c($t2) -/* f168390: 314b0002 */ andi $t3,$t2,0x2 -/* f168394: 51600004 */ beqzl $t3,.L0f1683a8 -/* f168398: 8e0c006c */ lw $t4,0x6c($s0) -/* f16839c: 0fc4a20d */ jal currentPlayerCalculateAiBuddyNums -/* f1683a0: 00000000 */ sll $zero,$zero,0x0 -/* f1683a4: 8e0c006c */ lw $t4,0x6c($s0) -.L0f1683a8: -/* f1683a8: 8fa6005c */ lw $a2,0x5c($sp) -/* f1683ac: 00002825 */ or $a1,$zero,$zero -/* f1683b0: 11800003 */ beqz $t4,.L0f1683c0 -/* f1683b4: 24c60001 */ addiu $a2,$a2,0x1 -/* f1683b8: 10000001 */ beqz $zero,.L0f1683c0 -/* f1683bc: 24050001 */ addiu $a1,$zero,0x1 -.L0f1683c0: -/* f1683c0: 8e0d0068 */ lw $t5,0x68($s0) -/* f1683c4: 00002025 */ or $a0,$zero,$zero -/* f1683c8: 00001825 */ or $v1,$zero,$zero -/* f1683cc: 11a00003 */ beqz $t5,.L0f1683dc -/* f1683d0: 00001025 */ or $v0,$zero,$zero -/* f1683d4: 10000001 */ beqz $zero,.L0f1683dc -/* f1683d8: 24040001 */ addiu $a0,$zero,0x1 -.L0f1683dc: -/* f1683dc: 8e0e0064 */ lw $t6,0x64($s0) -/* f1683e0: 11c00003 */ beqz $t6,.L0f1683f0 -/* f1683e4: 00000000 */ sll $zero,$zero,0x0 -/* f1683e8: 10000001 */ beqz $zero,.L0f1683f0 -/* f1683ec: 24030001 */ addiu $v1,$zero,0x1 -.L0f1683f0: -/* f1683f0: 8e0f0070 */ lw $t7,0x70($s0) -/* f1683f4: 11e00003 */ beqz $t7,.L0f168404 -/* f1683f8: 00000000 */ sll $zero,$zero,0x0 -/* f1683fc: 10000001 */ beqz $zero,.L0f168404 -/* f168400: 24020001 */ addiu $v0,$zero,0x1 -.L0f168404: -/* f168404: 0043c021 */ addu $t8,$v0,$v1 -/* f168408: 0304c821 */ addu $t9,$t8,$a0 -/* f16840c: 03254821 */ addu $t1,$t9,$a1 -/* f168410: 00c9082a */ slt $at,$a2,$t1 -/* f168414: 1420ffc3 */ bnez $at,.L0f168324 -/* f168418: afa6005c */ sw $a2,0x5c($sp) -.L0f16841c: -/* f16841c: 0fc2d9d9 */ jal func0f0b6764 -/* f168420: 00000000 */ sll $zero,$zero,0x0 -/* f168424: 0fc2d97e */ jal func0f0b65f8 -/* f168428: 00000000 */ sll $zero,$zero,0x0 -/* f16842c: 0fc006f7 */ jal func0f001bdc -/* f168430: 00000000 */ sll $zero,$zero,0x0 -/* f168434: 0fc4a24b */ jal setCurrentPlayerNum -/* f168438: 00002025 */ or $a0,$zero,$zero -/* f16843c: 8e0a031c */ lw $t2,0x31c($s0) -.L0f168440: -/* f168440: 11400003 */ beqz $t2,.L0f168450 -/* f168444: 00000000 */ sll $zero,$zero,0x0 -/* f168448: 0fc61f9c */ jal func0f187e70 -/* f16844c: 00000000 */ sll $zero,$zero,0x0 -.L0f168450: -/* f168450: 0fc468b9 */ jal func0f11a2e4 -/* f168454: 00000000 */ sll $zero,$zero,0x0 -/* f168458: 0c003ab7 */ jal func0000eadc -/* f16845c: 00000000 */ sll $zero,$zero,0x0 -/* f168460: 8fab0068 */ lw $t3,0x68($sp) -/* f168464: 2401005b */ addiu $at,$zero,0x5b -/* f168468: 55610004 */ bnel $t3,$at,.L0f16847c -/* f16846c: 8fac0068 */ lw $t4,0x68($sp) -/* f168470: 0fc4325c */ jal func0f10c970 -/* f168474: 00000000 */ sll $zero,$zero,0x0 -/* f168478: 8fac0068 */ lw $t4,0x68($sp) -.L0f16847c: -/* f16847c: 2401005d */ addiu $at,$zero,0x5d -/* f168480: 15810003 */ bne $t4,$at,.L0f168490 -/* f168484: 00000000 */ sll $zero,$zero,0x0 -/* f168488: 0fc432cb */ jal func0f10cb2c -/* f16848c: 00000000 */ sll $zero,$zero,0x0 -.L0f168490: -/* f168490: 3c0d8009 */ lui $t5,%hi(g_Is4Mb) -/* f168494: 91ad0af0 */ lbu $t5,%lo(g_Is4Mb)($t5) -/* f168498: 24010001 */ addiu $at,$zero,0x1 -/* f16849c: 11a10003 */ beq $t5,$at,.L0f1684ac -/* f1684a0: 00000000 */ sll $zero,$zero,0x0 -/* f1684a4: 0fc528f1 */ jal func0f14a3c4 -/* f1684a8: 00000000 */ sll $zero,$zero,0x0 -.L0f1684ac: -/* f1684ac: 0fc04449 */ jal func0f011124 -/* f1684b0: 00002025 */ or $a0,$zero,$zero -/* f1684b4: 3c013f80 */ lui $at,0x3f80 -/* f1684b8: 44815000 */ mtc1 $at,$f10 -/* f1684bc: 3c018008 */ lui $at,0x8008 -/* f1684c0: 0c000958 */ jal func00002560 -/* f1684c4: e42a4018 */ swc1 $f10,0x4018($at) -/* f1684c8: 0fc5b350 */ jal func0f16cd40 -/* f1684cc: 00002025 */ or $a0,$zero,$zero -/* f1684d0: 3c057f17 */ lui $a1,%hi(getEffectiveSlowMotion) -/* f1684d4: 3c067f17 */ lui $a2,%hi(func0f16b96c) -/* f1684d8: 24a2b854 */ addiu $v0,$a1,%lo(getEffectiveSlowMotion) -/* f1684dc: 24c4b96c */ addiu $a0,$a2,%lo(func0f16b96c) -/* f1684e0: 0044082b */ sltu $at,$v0,$a0 -/* f1684e4: 10200006 */ beqz $at,.L0f168500 -/* f1684e8: 00001825 */ or $v1,$zero,$zero -.L0f1684ec: -/* f1684ec: 8c4e0000 */ lw $t6,0x0($v0) -/* f1684f0: 24420004 */ addiu $v0,$v0,0x4 -/* f1684f4: 0044082b */ sltu $at,$v0,$a0 -/* f1684f8: 1420fffc */ bnez $at,.L0f1684ec -/* f1684fc: 006e1821 */ addu $v1,$v1,$t6 -.L0f168500: -/* f168500: 3c01fa42 */ lui $at,0xfa42 -/* f168504: 342123f2 */ ori $at,$at,0x23f2 -/* f168508: 10610013 */ beq $v1,$at,.L0f168558 -/* f16850c: 3c0fbb8b */ lui $t7,0xbb8b -/* f168510: 3c19020f */ lui $t9,0x20f -/* f168514: 3c09cd31 */ lui $t1,0xcd31 -/* f168518: 35ef80bd */ ori $t7,$t7,0x80bd -/* f16851c: 2418ffff */ addiu $t8,$zero,-1 -/* f168520: 37390100 */ ori $t9,$t9,0x100 -/* f168524: 3529100b */ ori $t1,$t1,0x100b -/* f168528: 3c04800a */ lui $a0,%hi(var80099e78) -/* f16852c: afaf003c */ sw $t7,0x3c($sp) -/* f168530: afb80040 */ sw $t8,0x40($sp) -/* f168534: afb90044 */ sw $t9,0x44($sp) -/* f168538: afa90048 */ sw $t1,0x48($sp) -/* f16853c: 24849e78 */ addiu $a0,$a0,%lo(var80099e78) -/* f168540: 00002825 */ or $a1,$zero,$zero -/* f168544: 27a6003c */ addiu $a2,$sp,0x3c -/* f168548: 0c001910 */ jal func00006440 -/* f16854c: 24070010 */ addiu $a3,$zero,0x10 -/* f168550: 3c01800a */ lui $at,0x800a -/* f168554: a020316e */ sb $zero,0x316e($at) -.L0f168558: -/* f168558: 8fbf001c */ lw $ra,0x1c($sp) -/* f16855c: 8fb00018 */ lw $s0,0x18($sp) -/* f168560: 27bd0068 */ addiu $sp,$sp,0x68 -/* f168564: 03e00008 */ jr $ra -/* f168568: 00000000 */ sll $zero,$zero,0x0 -); +void func0f167e7c(s32 stagenum) +{ + func0f1688c8(); + + var80084014 = 0; + var80084010 = 0; + + func00013900(); + + g_Vars.unk0004d8 = 10; + g_Vars.unk0004d1 = 0; + g_Vars.unk0004d0 = 0; + g_Vars.stagenum = stagenum; + + cheatsActivate(); + + var80084040 = true; + g_Vars.lvframenum = 0; + var80084050 = 0; + + g_Vars.lvframe60 = 0; + g_Vars.lvupdate240 = 4; + + g_Vars.lvupdate240f = 1; + g_Vars.lvupdate240frealprev = 1.0f; + g_Vars.lvupdate240freal = g_Vars.lvupdate240frealprev; + + g_MpMatchTime = 0; + g_Uptime = 0; + + g_Vars.speedpilltime = 0; + g_Vars.speedpillchange = 0; + g_Vars.speedpillwant = 0; + g_Vars.speedpillon = false; + + g_Vars.restartlevel = false; + g_Vars.unk000478 = 0; + g_Vars.unk000488 = 0; + g_Vars.unk000440 = -1; + g_Vars.unk000444 = -1; + g_Vars.unk0004c8 = 0; + g_Vars.in_cutscene = 0; + g_Vars.unk0004d3 = 0; + g_Vars.unk0004d6 = 0; + g_Vars.unk0004d7 = 0; + + var80084034 = 0; + + func0f16d324(); + func0f011124(true); + func0f013b80(); + func0f1735c0(); + func0f1532ec(); + func0f0ddda0(); + + if (stagenum == STAGE_TEST_OLD) { + func0f00b480(); + } + + if (stagenum == STAGE_5A) { + func0f00b480(); + } else if (stagenum == STAGE_5B) { + // empty + } else if (stagenum == STAGE_5C) { + // empty + } else if (stagenum == STAGE_5D) { + // empty + } else { + s32 i; + s32 j; + + func0f013cf0(); + func0f15b534(g_Vars.stagenum); + func0f15b908(g_Vars.stagenum); + func0f0147a0(g_Vars.stagenum); + + if (g_Vars.normmplayerisrunning) { + func0f16d9a8(stagenum); + } else { + func0f16d9f0(stagenum); + } + + if (g_Vars.normmplayerisrunning) { + func0f188530(); + } + + if (g_Vars.mplayerisrunning == false) { + g_Vars.playerstats[0].mpindex = 4; + g_MpPlayers[4].base.unk45 = 0; + g_MpPlayers[4].base.unk46 = 1; + } + + for (i = 0; i != 4; i++) { + g_Vars.playerstats[i].damagescale = 1; + g_Vars.playerstats[i].drawplayercount = 0; + g_Vars.playerstats[i].distance = 0; + g_Vars.playerstats[i].backshotcount = 0; + g_Vars.playerstats[i].armourcount = 0; + g_Vars.playerstats[i].fastest2kills = 0x7fffffff; + g_Vars.playerstats[i].slowest2kills = 0; + g_Vars.playerstats[i].maxkills = 0; + g_Vars.playerstats[i].maxsimulkills = 0; + g_Vars.playerstats[i].longestlife = 0; + g_Vars.playerstats[i].shortestlife = 0x7fffffff; + g_Vars.playerstats[i].tokenheldtime = 0; + g_Vars.playerstats[i].damreceived = 0; + g_Vars.playerstats[i].damtransmitted = 0; + + for (j = 0; j != 4; j++) { + g_Vars.playerstats[i].kills[j] = 0; + } + } + } + + func0f18836c(); + func0002373c(); + func0f0109d0(); + func0f013ba0(); + func0f011110(); + func0f0108d0(); + func0f00eb64(stagenum); + func0f18620c(); + func0f00c240(); + func0f00c490(); + func0f00b510(); + func0f00b820(stagenum); + func0f00f174(stagenum); + func0f0953cc(); + func0f013010(); + func0f013130(); + func0f013260(); + func0f0132a0(); + func0f167b10(); + + switch (g_Vars.stagenum) { + case STAGE_ESCAPE: + case STAGE_EXTRACTION: + case STAGE_INFILTRATION: + case STAGE_DEFECTION: + case STAGE_ATTACKSHIP: + case STAGE_TEST_OLD: + func0f1360e8(); + break; + } + + func0f0099a4(); + func0f0147d0(); + func0f0147f8(); + func0f013540(); + func0f0139f0(); + func0f19d4ec(); + + if (g_Vars.stagenum == STAGE_5A) { + // empty + } else if (stagenum == STAGE_5B) { + setCurrentPlayerNum(0); + func0f0f8c98(); + } else if (stagenum == STAGE_5D) { + setCurrentPlayerNum(0); + func0f0f8c98(); + } else if (stagenum == STAGE_5C) { + func0f13b4c4(); + } else { + s32 i; + + func0f1777f8(); + func0f010b20(); + + for (i = 0; i < PLAYERCOUNT(); i++) { + setCurrentPlayerNum(i); + g_Vars.currentplayer->usedowntime = 0; + g_Vars.currentplayer->invdowntime = g_Vars.currentplayer->usedowntime; + + func0f0f8c98(); + func0f0fe848(); + currentPlayerInitGunsHeld(); + func0f010bb0(); + func0f0b77cc(); + currentPlayerInit(); + func0f0b802c(); + func0f012684(); + + if (g_Vars.normmplayerisrunning && (g_MpSetup.options & MPOPTION_TEAMSENABLED)) { + currentPlayerCalculateAiBuddyNums(); + } + } + + func0f0b6764(); + func0f0b65f8(); + func0f001bdc(); + setCurrentPlayerNum(0); + } + + if (g_Vars.unk00031c) { + func0f187e70(); + } + + func0f11a2e4(); + func0000eadc(); + + if (stagenum == STAGE_5B) { + func0f10c970(); + } + + if (stagenum == STAGE_5D) { + func0f10cb2c(); + } + + if (g_Is4Mb != true) { + func0f14a3c4(); + } + + func0f011124(false); + var80084018 = 1; + func00002560(); + func0f16cd40(0); + +#if PIRACYCHECKS + { + u32 checksum = 0; + s32 *i = (s32 *)&getEffectiveSlowMotion; + s32 *end = (s32 *)&func0f16b96c; + + while (i < end) { + checksum += *i; + i++; + } + + if (checksum != 0xfa4223f2) { + u32 address = 0; + u32 buffer[4]; + buffer[0] = 0xbb8b80bd; + buffer[1] = 0xffffffff; + buffer[2] = 0x020f0100; + buffer[3] = 0xcd31100b; + osEepromLongWrite(&var80099e78, address, (u8 *)&buffer, 0x10); + var800a316c[2] = 0; + } + } +#endif +} void fadeConfigure(u32 color, s16 num_frames) { diff --git a/src/game/game_179060.c b/src/game/game_179060.c index 555b494c9..84426777b 100644 --- a/src/game/game_179060.c +++ b/src/game/game_179060.c @@ -6162,10 +6162,10 @@ glabel var7f1b829c /* f17f1e4: 2484cb88 */ addiu $a0,$a0,%lo(g_MpSetup) /* f17f1e8: 8c8d000c */ lw $t5,0xc($a0) /* f17f1ec: 3c02800b */ lui $v0,%hi(g_MpPlayers) -/* f17f1f0: 3c03800b */ lui $v1,%hi(var800aca38) +/* f17f1f0: 3c03800b */ lui $v1,0x800b /* f17f1f4: 35ae0002 */ ori $t6,$t5,0x2 /* f17f1f8: ac8e000c */ sw $t6,0xc($a0) -/* f17f1fc: 2463ca38 */ addiu $v1,$v1,%lo(var800aca38) +/* f17f1fc: 2463ca38 */ addiu $v1,$v1,-13768 /* f17f200: 2442c7b8 */ addiu $v0,$v0,%lo(g_MpPlayers) .L0f17f204: /* f17f204: 244200a0 */ addiu $v0,$v0,0xa0 diff --git a/src/game/game_187770.c b/src/game/game_187770.c index 8b49c12a7..35be925f5 100644 --- a/src/game/game_187770.c +++ b/src/game/game_187770.c @@ -275,19 +275,19 @@ glabel var7f1b8d94 /* f1879bc: aeb8031c */ sw $t8,0x31c($s5) .L0f1879c0: /* f1879c0: 8eb90298 */ lw $t9,0x298($s5) -/* f1879c4: 3c04800b */ lui $a0,%hi(var800aca38) -/* f1879c8: 2484ca38 */ addiu $a0,$a0,%lo(var800aca38) +/* f1879c4: 3c04800b */ lui $a0,0x800b +/* f1879c8: 2484ca38 */ addiu $a0,$a0,-13768 /* f1879cc: 07210003 */ bgez $t9,.L0f1879dc /* f1879d0: 27a20048 */ addiu $v0,$sp,0x48 /* f1879d4: 8ea8029c */ lw $t0,0x29c($s5) /* f1879d8: 0500008d */ bltz $t0,.L0f187c10 .L0f1879dc: -/* f1879dc: 3c05800b */ lui $a1,%hi(var800acad8) +/* f1879dc: 3c05800b */ lui $a1,0x800b /* f1879e0: 3c06800b */ lui $a2,0x800b /* f1879e4: 3c14800b */ lui $s4,%hi(g_MpPlayers) /* f1879e8: 2694c7b8 */ addiu $s4,$s4,%lo(g_MpPlayers) /* f1879ec: 24c6c858 */ addiu $a2,$a2,-14248 -/* f1879f0: 24a5cad8 */ addiu $a1,$a1,%lo(var800acad8) +/* f1879f0: 24a5cad8 */ addiu $a1,$a1,-13608 /* f1879f4: 24070002 */ addiu $a3,$zero,0x2 /* f1879f8: 00805825 */ or $t3,$a0,$zero /* f1879fc: 00406025 */ or $t4,$v0,$zero @@ -7673,9 +7673,9 @@ glabel func0f18df5c /* f18e108: 0fc354fe */ jal scenarioDefaultCallback40 /* f18e10c: 24050009 */ addiu $a1,$zero,0x9 /* f18e110: 3c10800b */ lui $s0,%hi(g_MpPlayers) -/* f18e114: 3c11800b */ lui $s1,%hi(var800aca38) +/* f18e114: 3c11800b */ lui $s1,0x800b /* f18e118: a6a20014 */ sh $v0,0x14($s5) -/* f18e11c: 2631ca38 */ addiu $s1,$s1,%lo(var800aca38) +/* f18e11c: 2631ca38 */ addiu $s1,$s1,-13768 /* f18e120: 2610c7b8 */ addiu $s0,$s0,%lo(g_MpPlayers) .L0f18e124: /* f18e124: 02602025 */ or $a0,$s3,$zero @@ -7832,8 +7832,8 @@ glabel func0f18e16c /* f18e34c: 0fc354be */ jal scenarioDefaultCallback44 /* f18e350: 24060009 */ addiu $a2,$zero,0x9 /* f18e354: 3c10800b */ lui $s0,%hi(g_MpPlayers) -/* f18e358: 3c11800b */ lui $s1,%hi(var800aca38) -/* f18e35c: 2631ca38 */ addiu $s1,$s1,%lo(var800aca38) +/* f18e358: 3c11800b */ lui $s1,0x800b +/* f18e35c: 2631ca38 */ addiu $s1,$s1,-13768 /* f18e360: 2610c7b8 */ addiu $s0,$s0,%lo(g_MpPlayers) /* f18e364: 02402025 */ or $a0,$s2,$zero .L0f18e368: diff --git a/src/game/game_19aa80.c b/src/game/game_19aa80.c index c35f831c4..bf6c7ba6b 100644 --- a/src/game/game_19aa80.c +++ b/src/game/game_19aa80.c @@ -1629,8 +1629,8 @@ glabel func0f19c1cc /* f19c1ec: 0fc62fdc */ jal mpSetLock /* f19c1f0: 24050005 */ addiu $a1,$zero,0x5 /* f19c1f4: 3c03800b */ lui $v1,%hi(g_MpPlayers) -/* f19c1f8: 3c02800b */ lui $v0,%hi(var800aca38) -/* f19c1fc: 2442ca38 */ addiu $v0,$v0,%lo(var800aca38) +/* f19c1f8: 3c02800b */ lui $v0,0x800b +/* f19c1fc: 2442ca38 */ addiu $v0,$v0,-13768 /* f19c200: 2463c7b8 */ addiu $v1,$v1,%lo(g_MpPlayers) .L0f19c204: /* f19c204: 246300a0 */ addiu $v1,$v1,0xa0 diff --git a/src/gvars/gvars.c b/src/gvars/gvars.c index 77261f8ff..ef76ef6c8 100644 --- a/src/gvars/gvars.c +++ b/src/gvars/gvars.c @@ -13492,12 +13492,7 @@ u32 var80099e68 = 0; u32 var80099e6c = 0; u32 var80099e70 = 0; u32 var80099e74 = 0; -u32 var80099e78 = 0; -u32 var80099e7c = 0; -u32 var80099e80 = 0; -u32 var80099e84 = 0; -u32 var80099e88 = 0; -u32 var80099e8c = 0; +OSMesgQueue var80099e78 = {0}; u32 var80099e90 = 0; u32 var80099e94 = 0; u32 var80099e98 = 0; @@ -20354,7 +20349,7 @@ u32 var800a315c = 0; u32 var800a3160 = 0; u32 var800a3164 = 0; u32 var800a3168 = 0; -u32 var800a316c = 0; +u8 var800a316c[4] = {0, 0, 0, 0}; u32 var800a3170 = 0; u32 var800a3174 = 0; u32 var800a3178 = 0; @@ -29625,87 +29620,7 @@ s32 g_MpNumPlayers = 0; u32 var800ac534 = 0; struct mpsim g_MpSimulants[MAX_SIMULANTS] = {0}; u32 var800ac798[8] = {0}; -struct mpplayer g_MpPlayers[4] = {0}; -u32 var800aca38 = 0; -u32 var800aca3c = 0; -u32 var800aca40 = 0; -u32 var800aca44 = 0; -u32 var800aca48 = 0; -u32 var800aca4c = 0; -u32 var800aca50 = 0; -u32 var800aca54 = 0; -u32 var800aca58 = 0; -u32 var800aca5c = 0; -u32 var800aca60 = 0; -u32 var800aca64 = 0; -u32 var800aca68 = 0; -u32 var800aca6c = 0; -u32 var800aca70 = 0; -u32 var800aca74 = 0; -u32 var800aca78 = 0; -u32 var800aca7c = 0; -u32 var800aca80 = 0; -u32 var800aca84 = 0; -u32 var800aca88 = 0; -u32 var800aca8c = 0; -u32 var800aca90 = 0; -u32 var800aca94 = 0; -u32 var800aca98 = 0; -u32 var800aca9c = 0; -u32 var800acaa0 = 0; -u32 var800acaa4 = 0; -u32 var800acaa8 = 0; -u32 var800acaac = 0; -u32 var800acab0 = 0; -u32 var800acab4 = 0; -u32 var800acab8 = 0; -u32 var800acabc = 0; -u32 var800acac0 = 0; -u32 var800acac4 = 0; -u32 var800acac8 = 0; -u32 var800acacc = 0; -u32 var800acad0 = 0; -u32 var800acad4 = 0; -u32 var800acad8 = 0; -u32 var800acadc = 0; -u32 var800acae0 = 0; -u32 var800acae4 = 0; -u32 var800acae8 = 0; -u32 var800acaec = 0; -u32 var800acaf0 = 0; -u32 var800acaf4 = 0; -u32 var800acaf8 = 0; -u32 var800acafc = 0; -u32 var800acb00 = 0; -u32 var800acb04 = 0; -u32 var800acb08 = 0; -u32 var800acb0c = 0; -u32 var800acb10 = 0; -u32 var800acb14 = 0; -u32 var800acb18 = 0; -u32 var800acb1c = 0; -u32 var800acb20 = 0; -u32 var800acb24 = 0; -u32 var800acb28 = 0; -u32 var800acb2c = 0; -u32 var800acb30 = 0; -u32 var800acb34 = 0; -u32 var800acb38 = 0; -u32 var800acb3c = 0; -u32 var800acb40 = 0; -u32 var800acb44 = 0; -u32 var800acb48 = 0; -u32 var800acb4c = 0; -u32 var800acb50 = 0; -u32 var800acb54 = 0; -u32 var800acb58 = 0; -u32 var800acb5c = 0; -u32 var800acb60 = 0; -u32 var800acb64 = 0; -u32 var800acb68 = 0; -u32 var800acb6c = 0; -u32 var800acb70 = 0; -u32 var800acb74 = 0; +struct mpplayer g_MpPlayers[6] = {0}; u8 g_ActiveMenuMpBotCommands[16] = {0}; struct mpsetup g_MpSetup = {0}; u32 var800acc14 = 0; diff --git a/src/include/constants.h b/src/include/constants.h index 0a0001cda..a8a15ff9b 100644 --- a/src/include/constants.h +++ b/src/include/constants.h @@ -1820,7 +1820,10 @@ #define STAGE_TEST_OLD 0x4e #define STAGE_DUEL 0x4f #define STAGE_TEST_LAM 0x50 +#define STAGE_5A 0x5a +#define STAGE_5B 0x5b #define STAGE_5C 0x5c +#define STAGE_5D 0x5d #define STAGEINDEX_MAIANSOS 0x00 #define STAGEINDEX_TEST_SILO 0x01 diff --git a/src/include/game/data/data_020df0.h b/src/include/game/data/data_020df0.h index 4e122e091..98fa7d8de 100644 --- a/src/include/game/data/data_020df0.h +++ b/src/include/game/data/data_020df0.h @@ -213,6 +213,7 @@ extern void *filetable[]; extern u32 var80084008; extern u32 var80084010; extern u32 var80084014; +extern f32 var80084018; extern u32 g_MpMatchTime; extern u32 var80084028; extern u32 var8008402c; @@ -220,6 +221,8 @@ extern u32 var80084030; extern s32 var80084034; extern u32 var80084038; extern f32 g_Uptime; +extern bool var80084040; +extern u32 var80084050; extern u32 var80084068; extern u32 var80084078; extern u32 var80084088; diff --git a/src/include/game/game_000920.h b/src/include/game/game_000920.h index d8f8df214..7f51a07bd 100644 --- a/src/include/game/game_000920.h +++ b/src/include/game/game_000920.h @@ -24,7 +24,7 @@ u32 func0f0013c8(void); u32 func0f001734(void); void func0f001a64(s32, s32 value); u32 func0f001b78(void); -u32 func0f001bdc(void); +void func0f001bdc(void); u32 func0f001c0c(void); u32 func0f00215c(void); u32 func0f0023b8(void); diff --git a/src/include/game/game_006bd0.h b/src/include/game/game_006bd0.h index c27772893..f19b8837e 100644 --- a/src/include/game/game_006bd0.h +++ b/src/include/game/game_006bd0.h @@ -10,7 +10,7 @@ u32 func0f0094b4(void); u32 func0f0094bc(void); u32 func0f009504(void); u32 func0f009818(void); -u32 func0f0099a4(void); +void func0f0099a4(void); u32 func0f0099e4(void); u32 func0f009d10(void); u32 func0f009eac(void); diff --git a/src/include/game/game_00b480.h b/src/include/game/game_00b480.h index 05772a950..aa5af500b 100644 --- a/src/include/game/game_00b480.h +++ b/src/include/game/game_00b480.h @@ -3,8 +3,8 @@ #include #include "types.h" -u32 func0f00b480(void); -u32 func0f00b510(void); +void func0f00b480(void); +void func0f00b510(void); u32 func0f00b62c(void); #endif diff --git a/src/include/game/game_00b820.h b/src/include/game/game_00b820.h index b4900cd06..eed772a83 100644 --- a/src/include/game/game_00b820.h +++ b/src/include/game/game_00b820.h @@ -3,7 +3,7 @@ #include #include "types.h" -u32 func0f00b820(void); +void func0f00b820(s32 stagenum); void resetSomeStageThings(void); u32 func0f00bbc8(void); diff --git a/src/include/game/game_00c240.h b/src/include/game/game_00c240.h index cba5086b1..1896626f4 100644 --- a/src/include/game/game_00c240.h +++ b/src/include/game/game_00c240.h @@ -3,7 +3,7 @@ #include #include "types.h" -u32 func0f00c240(void); +void func0f00c240(void); u32 func0f00c390(void); #endif diff --git a/src/include/game/game_00c490.h b/src/include/game/game_00c490.h index 61c18a3a0..8845be9a1 100644 --- a/src/include/game/game_00c490.h +++ b/src/include/game/game_00c490.h @@ -3,7 +3,7 @@ #include #include "types.h" -u32 func0f00c490(void); +void func0f00c490(void); u32 func0f00cc14(void); u32 func0f00cc2c(void); u32 func0f00cc44(void); @@ -27,7 +27,7 @@ u32 func0f00e2b0(void); u32 func0f00e368(void); u32 func0f00e90c(void); u32 func0f00e980(void); -u32 func0f00eb64(void); -u32 func0f00f174(void); +void func0f00eb64(s32 stagenum); +void func0f00f174(s32 stagenum); #endif diff --git a/src/include/game/game_0108d0.h b/src/include/game/game_0108d0.h index 7baa35bc7..59d115504 100644 --- a/src/include/game/game_0108d0.h +++ b/src/include/game/game_0108d0.h @@ -3,6 +3,6 @@ #include #include "types.h" -u32 func0f0108d0(void); +void func0f0108d0(void); #endif diff --git a/src/include/game/game_0109d0.h b/src/include/game/game_0109d0.h index 67beb4830..ba51d2ac1 100644 --- a/src/include/game/game_0109d0.h +++ b/src/include/game/game_0109d0.h @@ -3,7 +3,7 @@ #include #include "types.h" -u32 func0f0109d0(void); +void func0f0109d0(void); u32 func0f010a68(void); u32 func0f010a80(void); u32 func0f010a98(void); diff --git a/src/include/game/game_010b20.h b/src/include/game/game_010b20.h index 869c39b0d..71702d278 100644 --- a/src/include/game/game_010b20.h +++ b/src/include/game/game_010b20.h @@ -3,7 +3,7 @@ #include #include "types.h" -u32 func0f010b20(void); -u32 func0f010bb0(void); +void func0f010b20(void); +void func0f010bb0(void); #endif diff --git a/src/include/game/game_0125a0.h b/src/include/game/game_0125a0.h index aac1b5b3a..7495eb049 100644 --- a/src/include/game/game_0125a0.h +++ b/src/include/game/game_0125a0.h @@ -4,7 +4,7 @@ #include "types.h" u32 func0f0125a0(void); -u32 func0f012684(void); +void func0f012684(void); u32 func0f012aa0(void); #endif diff --git a/src/include/game/game_013010.h b/src/include/game/game_013010.h index 86529c898..23183ce46 100644 --- a/src/include/game/game_013010.h +++ b/src/include/game/game_013010.h @@ -3,7 +3,7 @@ #include #include "types.h" -u32 func0f013010(void); -u32 func0f013130(void); +void func0f013010(void); +void func0f013130(void); #endif diff --git a/src/include/game/game_013260.h b/src/include/game/game_013260.h index 115ec7a83..82768b596 100644 --- a/src/include/game/game_013260.h +++ b/src/include/game/game_013260.h @@ -3,6 +3,6 @@ #include #include "types.h" -u32 func0f013260(void); +void func0f013260(void); #endif diff --git a/src/include/game/game_0132a0.h b/src/include/game/game_0132a0.h index dd6d7cb97..92576229e 100644 --- a/src/include/game/game_0132a0.h +++ b/src/include/game/game_0132a0.h @@ -3,6 +3,6 @@ #include #include "types.h" -u32 func0f0132a0(void); +void func0f0132a0(void); #endif diff --git a/src/include/game/game_013540.h b/src/include/game/game_013540.h index fac550e19..c25c15130 100644 --- a/src/include/game/game_013540.h +++ b/src/include/game/game_013540.h @@ -3,6 +3,6 @@ #include #include "types.h" -u32 func0f013540(void); +void func0f013540(void); #endif diff --git a/src/include/game/game_013550.h b/src/include/game/game_013550.h index cc5452694..f1e65e0e6 100644 --- a/src/include/game/game_013550.h +++ b/src/include/game/game_013550.h @@ -4,8 +4,8 @@ #include "types.h" u32 func0f013550(void); -u32 func0f0139f0(void); -u32 func0f013b80(void); -u32 func0f013ba0(void); +void func0f0139f0(void); +void func0f013b80(void); +void func0f013ba0(void); #endif diff --git a/src/include/game/game_013cf0.h b/src/include/game/game_013cf0.h index 4eadfe0b8..114f0470e 100644 --- a/src/include/game/game_013cf0.h +++ b/src/include/game/game_013cf0.h @@ -3,7 +3,7 @@ #include #include "types.h" -u32 func0f013cf0(void); +void func0f013cf0(void); u32 func0f013d74(void); #endif diff --git a/src/include/game/game_0147a0.h b/src/include/game/game_0147a0.h index 7e8ba5f4f..c0c22ed3d 100644 --- a/src/include/game/game_0147a0.h +++ b/src/include/game/game_0147a0.h @@ -3,6 +3,6 @@ #include #include "types.h" -u32 func0f0147a0(void); +void func0f0147a0(s32 stagenum); #endif diff --git a/src/include/game/game_0147d0.h b/src/include/game/game_0147d0.h index 5bdaaa9ad..66d7cdea7 100644 --- a/src/include/game/game_0147d0.h +++ b/src/include/game/game_0147d0.h @@ -3,7 +3,7 @@ #include #include "types.h" -u32 func0f0147d0(void); +void func0f0147d0(void); u32 func0f0147f8(void); u32 func0f014820(void); u32 func0f014848(void); diff --git a/src/include/game/game_095320.h b/src/include/game/game_095320.h index ee37da633..6f374da62 100644 --- a/src/include/game/game_095320.h +++ b/src/include/game/game_095320.h @@ -6,7 +6,7 @@ u32 func0f095320(void); u32 func0f095330(void); u32 func0f095340(void); -u32 func0f0953cc(void); +void func0f0953cc(void); u32 func0f095560(void); s32 objectiveGetCount(void); u32 objectiveGetDifficultyBits(s32 index); diff --git a/src/include/game/game_0b63b0.h b/src/include/game/game_0b63b0.h index 3258ff9ab..15fbb4597 100644 --- a/src/include/game/game_0b63b0.h +++ b/src/include/game/game_0b63b0.h @@ -8,14 +8,14 @@ u32 func0f0b6470(void); u32 func0f0b6534(void); u32 func0f0b656c(void); u32 func0f0b65a8(void); -u32 func0f0b65f8(void); -u32 func0f0b6764(void); +void func0f0b65f8(void); +void func0f0b6764(void); f32 func0f0b69d0(f32 arg0, struct coord *pos, s16 *arg2, struct prop *prop, s16 *arg4, s16 arg5); f32 func0f0b72a8(f32 arg0, struct coord *pos, s16 *arg2, struct prop *prop); u32 func0f0b72dc(void); -u32 func0f0b77cc(void); +void func0f0b77cc(void); u32 func0f0b7c60(void); -u32 func0f0b802c(void); +void func0f0b802c(void); void func0f0b85a0(f32 *arg0, struct coord *pos); u32 func0f0b85f8(void); void func0f0b872c(s32 *bodynum, s32 *headnum, s32 arg2); diff --git a/src/include/game/game_0dcdb0.h b/src/include/game/game_0dcdb0.h index 7921b8156..a34932f12 100644 --- a/src/include/game/game_0dcdb0.h +++ b/src/include/game/game_0dcdb0.h @@ -10,7 +10,7 @@ u32 func0f0dd2ac(void); u32 func0f0dd848(void); u32 func0f0ddb1c(void); u32 func0f0ddd44(void); -u32 func0f0ddda0(void); +void func0f0ddda0(void); u32 func0f0dde60(void); u32 func0f0ddeac(void); void currentPlayerQueueMessage(char *text, u32 arg1); diff --git a/src/include/game/game_0f09f0.h b/src/include/game/game_0f09f0.h index 445374df6..1d96cdae8 100644 --- a/src/include/game/game_0f09f0.h +++ b/src/include/game/game_0f09f0.h @@ -59,7 +59,7 @@ u32 func0f0f85e0(void); u32 func0f0f8634(void); u32 func0f0f86a8(void); u32 func0f0f8bb4(void); -u32 func0f0f8c98(void); +void func0f0f8c98(void); u32 func0f0f9030(void); u32 func0f0f935c(void); u32 func0f0fa574(void); diff --git a/src/include/game/game_0fd660.h b/src/include/game/game_0fd660.h index 733c00010..65fc67ff0 100644 --- a/src/include/game/game_0fd660.h +++ b/src/include/game/game_0fd660.h @@ -9,7 +9,7 @@ void activemenuSetAiBuddyStealth(void); s32 activemenuGetFirstBuddyIndex(void); void activemenuApply(s32 slot); void activemenuGetSlotDetails(s32 slot, u32 *flags, char *dst); -u32 func0f0fe848(void); +void func0f0fe848(void); s16 func0f0fea14(void); void activemenuChangeScreen(s32 step); u32 func0f0fecd4(void); diff --git a/src/include/game/game_107fb0.h b/src/include/game/game_107fb0.h index 7b0139030..890f79756 100644 --- a/src/include/game/game_107fb0.h +++ b/src/include/game/game_107fb0.h @@ -46,7 +46,7 @@ u32 func0f10b7cc(void); u32 func0f10b83c(void); u32 func0f10b924(void); u32 func0f10c900(void); -u32 func0f10c970(void); +void func0f10c970(void); void menucustomChooseAgent(void); void menucustomDeleteGameNote(void); void menucustomFileToCopy(void); diff --git a/src/include/game/game_10c9c0.h b/src/include/game/game_10c9c0.h index 80a97e69a..d33ecfe49 100644 --- a/src/include/game/game_10c9c0.h +++ b/src/include/game/game_10c9c0.h @@ -3,7 +3,7 @@ #include #include "types.h" -u32 func0f10cb2c(void); +void func0f10cb2c(void); s32 menuhandler4MbDropOut(u32 operation, struct menu_item *item, s32 *value); s32 menuhandler0010ca1c(u32 operation, struct menu_item *item, s32 *value); s32 menuhandler4MbAdvancedSetup(u32 operation, struct menu_item *item, s32 *value); diff --git a/src/include/game/game_1165d0.h b/src/include/game/game_1165d0.h index cb276e400..b1c1c2927 100644 --- a/src/include/game/game_1165d0.h +++ b/src/include/game/game_1165d0.h @@ -73,7 +73,7 @@ u32 func0f119da8(void); u32 func0f119e8c(void); u32 func0f11a0e8(void); u32 func0f11a1d0(void); -u32 func0f11a2e4(void); +void func0f11a2e4(void); u32 func0f11a32c(void); u32 func0f11a434(void); u32 func0f11a504(void); diff --git a/src/include/game/game_135c70.h b/src/include/game/game_135c70.h index 31100ba7b..937fda577 100644 --- a/src/include/game/game_135c70.h +++ b/src/include/game/game_135c70.h @@ -5,7 +5,7 @@ u32 func0f135c70(void); u32 func0f135f08(void); -u32 func0f1360e8(void); +void func0f1360e8(void); u32 func0f13687c(void); #endif diff --git a/src/include/game/game_1371b0.h b/src/include/game/game_1371b0.h index 47fcc13aa..df776c970 100644 --- a/src/include/game/game_1371b0.h +++ b/src/include/game/game_1371b0.h @@ -25,7 +25,7 @@ u32 func0f13a3ec(void); u32 func0f13ae04(void); u32 func0f13ae0c(void); u32 func0f13b064(void); -u32 func0f13b4c4(void); +void func0f13b4c4(void); u32 func0f13b660(void); #endif diff --git a/src/include/game/game_149c90.h b/src/include/game/game_149c90.h index 347f7669d..6c909d646 100644 --- a/src/include/game/game_149c90.h +++ b/src/include/game/game_149c90.h @@ -15,7 +15,7 @@ u32 func0f14a20c(void); u32 func0f14a240(void); u32 func0f14a2fc(void); u32 func0f14a328(void); -u32 func0f14a3c4(void); +void func0f14a3c4(void); u32 func0f14a52c(void); u32 func0f14a560(void); u32 func0f14a594(void); diff --git a/src/include/game/game_1531a0.h b/src/include/game/game_1531a0.h index 777e725bc..3fe4e8e4a 100644 --- a/src/include/game/game_1531a0.h +++ b/src/include/game/game_1531a0.h @@ -7,7 +7,7 @@ u32 func0f1531a0(void); u32 func0f1531b8(void); u32 func0f1531dc(void); u32 func0f153204(void); -u32 func0f1532ec(void); +void func0f1532ec(void); u32 func0f153628(void); Gfx *func0f153780(Gfx *gdl); Gfx *func0f1537dc(Gfx *gdl, u32 colour); diff --git a/src/include/game/game_157db0.h b/src/include/game/game_157db0.h index 969fb5f85..ac09f4924 100644 --- a/src/include/game/game_157db0.h +++ b/src/include/game/game_157db0.h @@ -23,8 +23,8 @@ u32 func0f15b274(void); u32 func0f15b4c0(void); u32 func0f15b51c(u32 arg); u32 func0f15b524(void); -u32 func0f15b534(void); -u32 func0f15b908(void); +void func0f15b534(s32 stagenum); +void func0f15b908(s32 stagenum); u32 func0f15c850(void); u32 func0f15c880(void); f32 func0f15c888(void); diff --git a/src/include/game/game_167ae0.h b/src/include/game/game_167ae0.h index 27b046d3c..bd4f2db7e 100644 --- a/src/include/game/game_167ae0.h +++ b/src/include/game/game_167ae0.h @@ -5,13 +5,13 @@ u32 func0f167ae0(void); u32 func0f167af8(void); -u32 func0f167b10(void); +void func0f167b10(void); u32 func0f167b48(void); u32 func0f167b84(void); u32 func0f167c88(void); -u32 func0f167e7c(void); +void func0f167e7c(s32 stagenum); u32 func0f1685d8(void); -u32 func0f1688c8(void); +void func0f1688c8(void); u32 func0f1688fc(void); u32 func0f168b4c(void); u32 func0f168f24(void); diff --git a/src/include/game/game_16cfa0.h b/src/include/game/game_16cfa0.h index 9c7d8c2b4..ae46f9510 100644 --- a/src/include/game/game_16cfa0.h +++ b/src/include/game/game_16cfa0.h @@ -10,7 +10,7 @@ u32 func0f16d124(void); u32 func0f16d1bc(void); u32 func0f16d240(void); u32 func0f16d2ac(void); -u32 func0f16d324(void); +void func0f16d324(void); u32 func0f16d3d0(void); u32 func0f16d430(void); u32 func0f16d44c(void); @@ -19,8 +19,8 @@ u32 func0f16d548(void); u32 func0f16d6c0(void); u32 func0f16d89c(void); u32 func0f16d91c(void); -u32 func0f16d9a8(void); -u32 func0f16d9f0(void); +void func0f16d9a8(s32 stagenum); +void func0f16d9f0(s32 stagenum); u32 func0f16d9fc(void); u32 func0f16da2c(void); u32 func0f16daa4(void); diff --git a/src/include/game/game_16e810.h b/src/include/game/game_16e810.h index 1f1f7024d..39e996de1 100644 --- a/src/include/game/game_16e810.h +++ b/src/include/game/game_16e810.h @@ -35,6 +35,6 @@ u32 func0f173434(void); u32 func0f1734e8(void); u32 func0f173520(void); u32 func0f17353c(void); -u32 func0f1735c0(void); +void func0f1735c0(void); #endif diff --git a/src/include/game/game_176d70.h b/src/include/game/game_176d70.h index 0801f82b7..452d0d7e7 100644 --- a/src/include/game/game_176d70.h +++ b/src/include/game/game_176d70.h @@ -14,7 +14,7 @@ u32 func0f1773c8(void); u32 func0f177460(void); u32 func0f1776cc(void); u32 func0f17776c(void); -u32 func0f1777f8(void); +void func0f1777f8(void); u32 func0f177a54(void); u32 func0f177bb4(void); u32 func0f177c8c(void); diff --git a/src/include/game/game_179060.h b/src/include/game/game_179060.h index 1faa5f638..1749f61f4 100644 --- a/src/include/game/game_179060.h +++ b/src/include/game/game_179060.h @@ -107,7 +107,7 @@ void func0f185568(void); u32 func0f185774(void); u32 func0f185c14(void); u32 func0f185e20(void); -u32 func0f18620c(void); +void func0f18620c(void); u32 func0f186508(void); void func0f1866b8(s32 playernum, char *message); u32 func0f186780(void); diff --git a/src/include/game/game_187770.h b/src/include/game/game_187770.h index a76e3a0ca..7465393cf 100644 --- a/src/include/game/game_187770.h +++ b/src/include/game/game_187770.h @@ -7,15 +7,15 @@ u32 func0f187770(void); u32 func0f187838(void); u32 func0f187864(void); u32 func0f187944(void); -u32 func0f187e70(void); +void func0f187e70(void); u32 func0f187fbc(void); u32 func0f187fec(void); u32 func0f18800c(void); u32 func0f1881d4(void); u32 func0f188210(void); -u32 func0f18836c(void); +void func0f18836c(void); u32 func0f18844c(void); -u32 func0f188530(void); +void func0f188530(void); u32 func0f1885e4(void); u32 func0f188930(void); u32 func0f188a84(void); diff --git a/src/include/game/game_19c990.h b/src/include/game/game_19c990.h index 6236892e6..2ceca2c99 100644 --- a/src/include/game/game_19c990.h +++ b/src/include/game/game_19c990.h @@ -20,7 +20,7 @@ u32 func0f19d268(s32 arg0); u32 func0f19d2e0(void); u32 func0f19d338(void); u32 func0f19d414(void); -u32 func0f19d4ec(void); +void func0f19d4ec(void); u32 func0f19d560(void); u32 func0f19d5c0(void); u32 func0f19d5e8(void); diff --git a/src/include/gvars/gvars.h b/src/include/gvars/gvars.h index 588fcf993..64638dd6d 100644 --- a/src/include/gvars/gvars.h +++ b/src/include/gvars/gvars.h @@ -141,8 +141,8 @@ struct g_vars { /*000434*/ u8 *ailist; /*000438*/ u32 aioffset; /*00043c*/ u32 unk00043c; - /*000440*/ u32 unk000440; - /*000444*/ u32 unk000444; + /*000440*/ s32 unk000440; + /*000444*/ s32 unk000444; /*000448*/ s32 coopradaron; /*00044c*/ s32 antiradaron; /*000450*/ s32 pendingantiplayernum; @@ -474,7 +474,7 @@ extern OSMesgQueue var80099a40; extern u32 var80099a60; extern u32 var80099c64; extern u32 var80099e68; -extern u32 var80099e78; +extern OSMesgQueue var80099e78; extern u32 var80099e90; extern u32 var80099eb8; extern u32 var80099ec0; @@ -716,6 +716,7 @@ extern u16 var800a236c; extern u16 *g_CoverNums; extern struct var800a2380 var800a2380[4]; extern u32 var800a2eb0; +extern u8 var800a316c[4]; extern u32 var800a3180; extern u32 var800a33a4; extern u32 var800a33a8; @@ -856,9 +857,7 @@ extern struct mpchr *var800ac500[MAX_MPCHRS]; extern s32 g_MpNumPlayers; extern struct mpsim g_MpSimulants[MAX_SIMULANTS]; extern u32 var800ac798[8]; -extern struct mpplayer g_MpPlayers[4]; -extern u32 var800aca38; -extern u32 var800acad8; +extern struct mpplayer g_MpPlayers[6]; extern u8 g_ActiveMenuMpBotCommands[16]; extern struct mpsetup g_MpSetup; extern s8 g_MpLockPlayerNum; diff --git a/src/include/lib/lib_06440.h b/src/include/lib/lib_06440.h index f255606c8..4b0793187 100644 --- a/src/include/lib/lib_06440.h +++ b/src/include/lib/lib_06440.h @@ -3,6 +3,6 @@ #include #include "types.h" -u32 func00006440(void); +s32 osEepromLongWrite(OSMesgQueue *mq, u8 address, u8 *buffer, int nbytes); #endif diff --git a/src/include/lib/lib_0e9d0.h b/src/include/lib/lib_0e9d0.h index 97e050fc9..de0ab8d32 100644 --- a/src/include/lib/lib_0e9d0.h +++ b/src/include/lib/lib_0e9d0.h @@ -8,7 +8,7 @@ u32 func0000e9d0(void); u32 func0000e9dc(void); void audioSetSfxVolume(u16 volume); u32 func0000ea80(void); -u32 func0000eadc(void); +void func0000eadc(void); u32 func0000eb2c(void); u32 func0000ed14(void); u32 func0000ed68(void); diff --git a/src/include/lib/lib_13900.h b/src/include/lib/lib_13900.h index d8ed1994a..952e99959 100644 --- a/src/include/lib/lib_13900.h +++ b/src/include/lib/lib_13900.h @@ -3,7 +3,7 @@ #include #include "types.h" -u32 func00013900(void); +void func00013900(void); u32 func00013938(void); u32 func00013974(void); u32 func00013980(void); diff --git a/src/include/lib/lib_233c0.h b/src/include/lib/lib_233c0.h index f2a141070..f7a696262 100644 --- a/src/include/lib/lib_233c0.h +++ b/src/include/lib/lib_233c0.h @@ -5,7 +5,7 @@ u32 func000233c0(void); u32 func00023640(void); -u32 func0002373c(void); +void func0002373c(void); s32 animGetNumFrames(s16 anim_id); u32 func00023794(void); u32 func000237dc(void); diff --git a/src/include/types.h b/src/include/types.h index de679b28e..0b3fa391e 100644 --- a/src/include/types.h +++ b/src/include/types.h @@ -1285,7 +1285,8 @@ struct player { /*0x0240*/ u32 unk0240; /*0x0244*/ u32 unk0244; /*0x0248*/ u32 unk0248; - /*0x024c*/ u32 unk024c; + /*0x024c*/ s16 invdowntime; + /*0x024e*/ s16 usedowntime; /*0x0250*/ u8 activemenumode; /*0x0254*/ u32 unk0254; /*0x0258*/ u32 unk0258; @@ -3257,11 +3258,11 @@ struct playerstats { /*0x18*/ u32 unk18; /*0x1c*/ u32 killcount; /*0x20*/ u32 ggkillcount; - /*0x24*/ u8 kills[16]; + /*0x24*/ u32 kills[4]; /*0x34*/ u32 drawplayercount; /*0x38*/ f32 distance; /*0x3c*/ u32 backshotcount; - /*0x40*/ u32 armourcount; + /*0x40*/ f32 armourcount; /*0x44*/ s32 fastest2kills; /*0x48*/ s32 slowest2kills; /*0x4c*/ s32 longestlife; @@ -3273,10 +3274,10 @@ struct playerstats { /*0x64*/ u32 unk64; /*0x68*/ u32 cloaktime; /*0x6c*/ u32 speedpillcount; - /*0x70*/ u32 mpindex; + /*0x70*/ s32 mpindex; /*0x74*/ u32 scale_bg2gfx; - /*0x78*/ u32 damreceived; - /*0x7c*/ u32 damtransmitted; + /*0x78*/ f32 damreceived; + /*0x7c*/ f32 damtransmitted; }; struct credit { diff --git a/src/lib/lib_06440.c b/src/lib/lib_06440.c index c77c67e91..b45a565d9 100644 --- a/src/lib/lib_06440.c +++ b/src/lib/lib_06440.c @@ -13,7 +13,7 @@ #include "types.h" GLOBAL_ASM( -glabel func00006440 +glabel osEepromLongWrite /* 6440: 27bdffb8 */ addiu $sp,$sp,-72 /* 6444: afb70040 */ sw $s7,0x40($sp) /* 6448: afb6003c */ sw $s6,0x3c($sp)