diff --git a/src/game/cheats.c b/src/game/cheats.c index b3aa4d83f..b96aff038 100644 --- a/src/game/cheats.c +++ b/src/game/cheats.c @@ -144,7 +144,7 @@ void cheatsActivate(void) { s32 cheat_id; - if (g_Vars.unk0004b4 != 38) { + if (g_Vars.stagenum != STAGE_CITRAINING) { g_CheatsActiveBank0 = g_CheatsEnabledBank0; g_CheatsActiveBank1 = g_CheatsEnabledBank1; diff --git a/src/game/chr/chr.c b/src/game/chr/chr.c index f4d5c6fcc..772b444f8 100644 --- a/src/game/chr/chr.c +++ b/src/game/chr/chr.c @@ -22762,7 +22762,7 @@ glabel func0f0319a8 /* f031c38: 0fc4a24b */ jal setCurrentPlayerNum /* f031c3c: 8fa400e4 */ lw $a0,0xe4($sp) /* f031c40: 3c04800a */ lui $a0,0x800a -/* f031c44: 0fc59585 */ jal func0f165614 +/* f031c44: 0fc59585 */ jal stageGetIndex /* f031c48: 8c84a474 */ lw $a0,-0x5b8c($a0) /* f031c4c: 2401000a */ addiu $at,$zero,0xa /* f031c50: 10410005 */ beq $v0,$at,.L0f031c68 @@ -29858,7 +29858,7 @@ glabel func0f037b70 .L0f0381bc: /* f0381bc: 8c84a474 */ lw $a0,-0x5b8c($a0) /* f0381c0: afa90054 */ sw $t1,0x54($sp) -/* f0381c4: 0fc59585 */ jal func0f165614 +/* f0381c4: 0fc59585 */ jal stageGetIndex /* f0381c8: e7a20040 */ swc1 $f2,0x40($sp) /* f0381cc: 24010009 */ addiu $at,$zero,0x9 /* f0381d0: 8fa90054 */ lw $t1,0x54($sp) @@ -33480,7 +33480,7 @@ glabel chrConsiderGrenadeThrow /* f03b8d4: 3c071000 */ lui $a3,0x1000 /* f03b8d8: 8d0404b4 */ lw $a0,0x4b4($t0) .L0f03b8dc: -/* f03b8dc: 0fc59585 */ jal func0f165614 +/* f03b8dc: 0fc59585 */ jal stageGetIndex /* f03b8e0: afa70030 */ sw $a3,0x30($sp) /* f03b8e4: 24010023 */ addiu $at,$zero,0x23 /* f03b8e8: 14410007 */ bne $v0,$at,.L0f03b908 diff --git a/src/game/chr/chrai.c b/src/game/chr/chrai.c index ce48034b7..edb88f572 100644 --- a/src/game/chr/chrai.c +++ b/src/game/chr/chrai.c @@ -139,7 +139,7 @@ void chraiExecute(void *entity, s32 proptype) && g_Vars.chrdata->darkroomthing && chrHasFlag(g_Vars.chrdata, CHRFLAG1_00000400, BANK_1) == 0 && ailistFindById(g_Vars.chrdata->aidarkroomlist) != g_Vars.chrdata->ailist - && g_Vars.unk0004b4 != 0x1c) { + && g_Vars.stagenum != STAGE_CRASHSITE) { g_Vars.chrdata->darkroomthing = 0; if (g_Vars.chrdata->aidarkroomlist >= 0 diff --git a/src/game/chr/chraicommands.c b/src/game/chr/chraicommands.c index 9a45cf8dc..cb86ba413 100644 --- a/src/game/chr/chraicommands.c +++ b/src/game/chr/chraicommands.c @@ -2682,7 +2682,7 @@ bool aiIfChrInRoom(void) return false; } - if (cmd[3] == 2 && func0f165614(g_Vars.unk0004b4) == 10) { + if (cmd[3] == 2 && stageGetIndex(g_Vars.stagenum) == STAGEINDEX_G5BUILDING) { s32 i; bool pass = false; @@ -6873,7 +6873,7 @@ bool aiIfCutsceneButtonPressed(void) u8 *cmd = g_Vars.ailist + g_Vars.aioffset; if ((g_Vars.in_cutscene && var8009de24) || - (g_Vars.unk0004b4 == 0x26 && var80087260 > 0)) { + (g_Vars.stagenum == STAGE_CITRAINING && var80087260 > 0)) { g_Vars.aioffset = chraiGoToLabel(g_Vars.ailist, g_Vars.aioffset, cmd[2]); } else { g_Vars.aioffset += 3; @@ -8922,7 +8922,7 @@ glabel ai0127 /* f059acc: 45030007 */ bc1tl .L0f059aec /* f059ad0: 4614103c */ c.lt.s $f2,$f20 /* f059ad4: 8e4404b4 */ lw $a0,0x4b4($s2) -/* f059ad8: 0fc59585 */ jal func0f165614 +/* f059ad8: 0fc59585 */ jal stageGetIndex /* f059adc: e7a20054 */ swc1 $f2,0x54($sp) /* f059ae0: 14400007 */ bnez $v0,.L0f059b00 /* f059ae4: c7a20054 */ lwc1 $f2,0x54($sp) diff --git a/src/game/game_00c490.c b/src/game/game_00c490.c index 1e295cb4b..c06323d5d 100644 --- a/src/game/game_00c490.c +++ b/src/game/game_00c490.c @@ -2819,7 +2819,7 @@ glabel func0f00e980 /* f00e9b0: afb40028 */ sw $s4,0x28($sp) /* f00e9b4: 10200061 */ beqz $at,.L0f00eb3c /* f00e9b8: afb00018 */ sw $s0,0x18($sp) -/* f00e9bc: 0fc59585 */ jal func0f165614 +/* f00e9bc: 0fc59585 */ jal stageGetIndex /* f00e9c0: 00000000 */ sll $zero,$zero,0x0 /* f00e9c4: 04410002 */ bgez $v0,.L0f00e9d0 /* f00e9c8: 00401825 */ or $v1,$v0,$zero diff --git a/src/game/game_0109d0.c b/src/game/game_0109d0.c index 1d0df2af0..975581b0d 100644 --- a/src/game/game_0109d0.c +++ b/src/game/game_0109d0.c @@ -467,7 +467,7 @@ glabel func0f010bb0 /* f011008: e54816f8 */ swc1 $f8,0x16f8($t2) /* f01100c: 8e0e0284 */ lw $t6,0x284($s0) /* f011010: e5ca16fc */ swc1 $f10,0x16fc($t6) -/* f011014: 0fc59585 */ jal func0f165614 +/* f011014: 0fc59585 */ jal stageGetIndex /* f011018: 8e0404b4 */ lw $a0,0x4b4($s0) /* f01101c: 24010013 */ addiu $at,$zero,0x13 /* f011020: 1441000e */ bne $v0,$at,.L0f01105c @@ -486,12 +486,12 @@ glabel func0f010bb0 /* f011054: 10000024 */ beqz $zero,.L0f0110e8 /* f011058: ac58004c */ sw $t8,0x4c($v0) .L0f01105c: -/* f01105c: 0fc59585 */ jal func0f165614 +/* f01105c: 0fc59585 */ jal stageGetIndex /* f011060: 8e0404b4 */ lw $a0,0x4b4($s0) /* f011064: 24010009 */ addiu $at,$zero,0x9 /* f011068: 10410006 */ beq $v0,$at,.L0f011084 /* f01106c: 00000000 */ sll $zero,$zero,0x0 -/* f011070: 0fc59585 */ jal func0f165614 +/* f011070: 0fc59585 */ jal stageGetIndex /* f011074: 8e0404b4 */ lw $a0,0x4b4($s0) /* f011078: 24010023 */ addiu $at,$zero,0x23 /* f01107c: 1441000f */ bne $v0,$at,.L0f0110bc diff --git a/src/game/game_011110.c b/src/game/game_011110.c index 93f48284b..b781ead9c 100644 --- a/src/game/game_011110.c +++ b/src/game/game_011110.c @@ -563,7 +563,7 @@ glabel func0f011630 /* f011848: 8d630004 */ lw $v1,0x4($t3) /* f01184c: 906c0125 */ lbu $t4,0x125($v1) /* f011850: a04c0125 */ sb $t4,0x125($v0) -/* f011854: 0fc59585 */ jal func0f165614 +/* f011854: 0fc59585 */ jal stageGetIndex /* f011858: 8e0404b4 */ lw $a0,0x4b4($s0) /* f01185c: 24010013 */ addiu $at,$zero,0x13 /* f011860: 1441000d */ bne $v0,$at,.L0f011898 @@ -581,12 +581,12 @@ glabel func0f011630 /* f011890: 10000013 */ beqz $zero,.L0f0118e0 /* f011894: a7230044 */ sh $v1,0x44($t9) .L0f011898: -/* f011898: 0fc59585 */ jal func0f165614 +/* f011898: 0fc59585 */ jal stageGetIndex /* f01189c: 8e0404b4 */ lw $a0,0x4b4($s0) /* f0118a0: 24010023 */ addiu $at,$zero,0x23 /* f0118a4: 50410007 */ beql $v0,$at,.L0f0118c4 /* f0118a8: 8e090284 */ lw $t1,0x284($s0) -/* f0118ac: 0fc59585 */ jal func0f165614 +/* f0118ac: 0fc59585 */ jal stageGetIndex /* f0118b0: 8e0404b4 */ lw $a0,0x4b4($s0) /* f0118b4: 24010009 */ addiu $at,$zero,0x9 /* f0118b8: 54410007 */ bnel $v0,$at,.L0f0118d8 diff --git a/src/game/game_066310.c b/src/game/game_066310.c index b5feb6fc5..9ae93774d 100644 --- a/src/game/game_066310.c +++ b/src/game/game_066310.c @@ -26120,7 +26120,7 @@ glabel func0f07c12c /* f07c3c0: c4a80000 */ lwc1 $f8,0x0($a1) /* f07c3c4: 46049180 */ add.s $f6,$f18,$f4 /* f07c3c8: 46064280 */ add.s $f10,$f8,$f6 -/* f07c3cc: 0fc59585 */ jal func0f165614 +/* f07c3cc: 0fc59585 */ jal stageGetIndex /* f07c3d0: e7aa0174 */ swc1 $f10,0x174($sp) /* f07c3d4: 2401000e */ addiu $at,$zero,0xe /* f07c3d8: 14410022 */ bne $v0,$at,.L0f07c464 diff --git a/src/game/game_0b28d0.c b/src/game/game_0b28d0.c index 6af7235e3..b32804314 100644 --- a/src/game/game_0b28d0.c +++ b/src/game/game_0b28d0.c @@ -6036,7 +6036,7 @@ glabel func0f0b77cc /* f0b78f8: ada000d0 */ sw $zero,0xd0($t5) /* f0b78fc: 8e0e0284 */ lw $t6,0x284($s0) /* f0b7900: adc000d8 */ sw $zero,0xd8($t6) -/* f0b7904: 0fc59585 */ jal func0f165614 +/* f0b7904: 0fc59585 */ jal stageGetIndex /* f0b7908: 8e0404b4 */ lw $a0,0x4b4($s0) /* f0b790c: 24010027 */ addiu $at,$zero,0x27 /* f0b7910: 14410008 */ bne $v0,$at,.L0f0b7934 @@ -6049,7 +6049,7 @@ glabel func0f0b77cc /* f0b792c: 10000010 */ beqz $zero,.L0f0b7970 /* f0b7930: e5e800dc */ swc1 $f8,0xdc($t7) .L0f0b7934: -/* f0b7934: 0fc59585 */ jal func0f165614 +/* f0b7934: 0fc59585 */ jal stageGetIndex /* f0b7938: 8e0404b4 */ lw $a0,0x4b4($s0) /* f0b793c: 14400008 */ bnez $v0,.L0f0b7960 /* f0b7940: 24050001 */ addiu $a1,$zero,0x1 @@ -14064,7 +14064,7 @@ glabel func0f0bd904 /* f0becb0: 01616824 */ and $t5,$t3,$at /* f0becb4: 15a00078 */ bnez $t5,.L0f0bee98 /* f0becb8: 00000000 */ sll $zero,$zero,0x0 -/* f0becbc: 0fc59585 */ jal func0f165614 +/* f0becbc: 0fc59585 */ jal stageGetIndex /* f0becc0: 8e6404b4 */ lw $a0,0x4b4($s3) /* f0becc4: 14540015 */ bne $v0,$s4,.L0f0bed1c /* f0becc8: 00000000 */ sll $zero,$zero,0x0 @@ -14089,7 +14089,7 @@ glabel func0f0bd904 /* f0bed14: 1000002a */ beqz $zero,.L0f0bedc0 /* f0bed18: 00408825 */ or $s1,$v0,$zero .L0f0bed1c: -/* f0bed1c: 0fc59585 */ jal func0f165614 +/* f0bed1c: 0fc59585 */ jal stageGetIndex /* f0bed20: 8e6404b4 */ lw $a0,0x4b4($s3) /* f0bed24: 24010023 */ addiu $at,$zero,0x23 /* f0bed28: 14410012 */ bne $v0,$at,.L0f0bed74 @@ -14154,7 +14154,7 @@ glabel func0f0bd904 /* f0bee0c: a21902e2 */ sb $t9,0x2e2($s0) /* f0bee10: a2120002 */ sb $s2,0x2($s0) /* f0bee14: a2120003 */ sb $s2,0x3($s0) -/* f0bee18: 0fc59585 */ jal func0f165614 +/* f0bee18: 0fc59585 */ jal stageGetIndex /* f0bee1c: 8e6404b4 */ lw $a0,0x4b4($s3) /* f0bee20: 14540005 */ bne $v0,$s4,.L0f0bee38 /* f0bee24: 02002025 */ or $a0,$s0,$zero @@ -14193,7 +14193,7 @@ glabel func0f0bd904 /* f0bee9c: 24040016 */ addiu $a0,$zero,0x16 /* f0beea0: 10400058 */ beqz $v0,.L0f0bf004 /* f0beea4: 00000000 */ sll $zero,$zero,0x0 -/* f0beea8: 0fc59585 */ jal func0f165614 +/* f0beea8: 0fc59585 */ jal stageGetIndex /* f0beeac: 8e6404b4 */ lw $a0,0x4b4($s3) /* f0beeb0: 24010023 */ addiu $at,$zero,0x23 /* f0beeb4: 14410012 */ bne $v0,$at,.L0f0bef00 @@ -14255,7 +14255,7 @@ glabel func0f0bd904 /* f0bef8c: a21502b1 */ sb $s5,0x2b1($s0) /* f0bef90: a2120002 */ sb $s2,0x2($s0) /* f0bef94: a2120003 */ sb $s2,0x3($s0) -/* f0bef98: 0fc59585 */ jal func0f165614 +/* f0bef98: 0fc59585 */ jal stageGetIndex /* f0bef9c: 8e6404b4 */ lw $a0,0x4b4($s3) /* f0befa0: 14540005 */ bne $v0,$s4,.L0f0befb8 /* f0befa4: 02002025 */ or $a0,$s0,$zero @@ -14289,7 +14289,7 @@ glabel func0f0bd904 /* f0bf008: 24040018 */ addiu $a0,$zero,0x18 /* f0bf00c: 1040005e */ beqz $v0,.L0f0bf188 /* f0bf010: 00000000 */ sll $zero,$zero,0x0 -/* f0bf014: 0fc59585 */ jal func0f165614 +/* f0bf014: 0fc59585 */ jal stageGetIndex /* f0bf018: 8e6404b4 */ lw $a0,0x4b4($s3) /* f0bf01c: 24010023 */ addiu $at,$zero,0x23 /* f0bf020: 14410012 */ bne $v0,$at,.L0f0bf06c @@ -14352,7 +14352,7 @@ glabel func0f0bd904 /* f0bf0fc: a20902e2 */ sb $t1,0x2e2($s0) /* f0bf100: a20a0002 */ sb $t2,0x2($s0) /* f0bf104: a2120003 */ sb $s2,0x3($s0) -/* f0bf108: 0fc59585 */ jal func0f165614 +/* f0bf108: 0fc59585 */ jal stageGetIndex /* f0bf10c: 8e6404b4 */ lw $a0,0x4b4($s3) /* f0bf110: 14540006 */ bne $v0,$s4,.L0f0bf12c /* f0bf114: 02002025 */ or $a0,$s0,$zero @@ -14391,7 +14391,7 @@ glabel func0f0bd904 /* f0bf18c: 24040017 */ addiu $a0,$zero,0x17 /* f0bf190: 10400062 */ beqz $v0,.L0f0bf31c /* f0bf194: 00000000 */ sll $zero,$zero,0x0 -/* f0bf198: 0fc59585 */ jal func0f165614 +/* f0bf198: 0fc59585 */ jal stageGetIndex /* f0bf19c: 8e6404b4 */ lw $a0,0x4b4($s3) /* f0bf1a0: 24010023 */ addiu $at,$zero,0x23 /* f0bf1a4: 14410012 */ bne $v0,$at,.L0f0bf1f0 @@ -14453,7 +14453,7 @@ glabel func0f0bd904 /* f0bf27c: a20b02e2 */ sb $t3,0x2e2($s0) /* f0bf280: a20d0002 */ sb $t5,0x2($s0) /* f0bf284: a2120003 */ sb $s2,0x3($s0) -/* f0bf288: 0fc59585 */ jal func0f165614 +/* f0bf288: 0fc59585 */ jal stageGetIndex /* f0bf28c: 8e6404b4 */ lw $a0,0x4b4($s3) /* f0bf290: 14540005 */ bne $v0,$s4,.L0f0bf2a8 /* f0bf294: 02002025 */ or $a0,$s0,$zero @@ -14497,7 +14497,7 @@ glabel func0f0bd904 /* f0bf320: 24040019 */ addiu $a0,$zero,0x19 /* f0bf324: 5040005d */ beqzl $v0,.L0f0bf49c /* f0bf328: 8fae0058 */ lw $t6,0x58($sp) -/* f0bf32c: 0fc59585 */ jal func0f165614 +/* f0bf32c: 0fc59585 */ jal stageGetIndex /* f0bf330: 8e6404b4 */ lw $a0,0x4b4($s3) /* f0bf334: 24010023 */ addiu $at,$zero,0x23 /* f0bf338: 14410012 */ bne $v0,$at,.L0f0bf384 @@ -14558,7 +14558,7 @@ glabel func0f0bd904 /* f0bf40c: a20c02e2 */ sb $t4,0x2e2($s0) /* f0bf410: a2120002 */ sb $s2,0x2($s0) /* f0bf414: a2120003 */ sb $s2,0x3($s0) -/* f0bf418: 0fc59585 */ jal func0f165614 +/* f0bf418: 0fc59585 */ jal stageGetIndex /* f0bf41c: 8e6404b4 */ lw $a0,0x4b4($s3) /* f0bf420: 14540005 */ bne $v0,$s4,.L0f0bf438 /* f0bf424: 02002025 */ or $a0,$s0,$zero diff --git a/src/game/game_0cf150.c b/src/game/game_0cf150.c index c1a0067cc..6adc2f258 100644 --- a/src/game/game_0cf150.c +++ b/src/game/game_0cf150.c @@ -1302,7 +1302,7 @@ glabel func0f0d0310 /* f0d032c: 8dcf0480 */ lw $t7,0x480($t6) /* f0d0330: 8e0404b4 */ lw $a0,0x4b4($s0) /* f0d0334: 8df80000 */ lw $t8,0x0($t7) -/* f0d0338: 0fc59585 */ jal func0f165614 +/* f0d0338: 0fc59585 */ jal stageGetIndex /* f0d033c: 8f110004 */ lw $s1,0x4($t8) /* f0d0340: 2406000a */ addiu $a2,$zero,0xa /* f0d0344: 00461826 */ xor $v1,$v0,$a2 @@ -1345,12 +1345,12 @@ glabel func0f0d0310 /* f0d03d4: 8dae0480 */ lw $t6,0x480($t5) /* f0d03d8: a1c00036 */ sb $zero,0x36($t6) /* f0d03dc: afa50068 */ sw $a1,0x68($sp) -/* f0d03e0: 0fc59585 */ jal func0f165614 +/* f0d03e0: 0fc59585 */ jal stageGetIndex /* f0d03e4: 8e0404b4 */ lw $a0,0x4b4($s0) /* f0d03e8: 2401000a */ addiu $at,$zero,0xa /* f0d03ec: 50410006 */ beql $v0,$at,.L0f0d0408 /* f0d03f0: 3c0141f0 */ lui $at,0x41f0 -/* f0d03f4: 0fc59585 */ jal func0f165614 +/* f0d03f4: 0fc59585 */ jal stageGetIndex /* f0d03f8: 8e0404b4 */ lw $a0,0x4b4($s0) /* f0d03fc: 24010012 */ addiu $at,$zero,0x12 /* f0d0400: 14410006 */ bne $v0,$at,.L0f0d041c diff --git a/src/game/game_10ccd0.c b/src/game/game_10ccd0.c index 2677046b1..d4f7c40a7 100644 --- a/src/game/game_10ccd0.c +++ b/src/game/game_10ccd0.c @@ -1222,7 +1222,7 @@ glabel func0f10d910 .L0f10dc60: /* f10dc60: 3c04800a */ lui $a0,0x800a /* f10dc64: 9084dfe9 */ lbu $a0,-0x2017($a0) -/* f10dc68: 0fc59585 */ jal func0f165614 +/* f10dc68: 0fc59585 */ jal stageGetIndex /* f10dc6c: afa70018 */ sw $a3,0x18($sp) /* f10dc70: 3c03800a */ lui $v1,%hi(g_Vars) /* f10dc74: 24639fc0 */ addiu $v1,$v1,%lo(g_Vars) @@ -1483,7 +1483,7 @@ glabel menudialog0010de58 .L0f10dfec: /* f10dfec: 3c04800a */ lui $a0,0x800a /* f10dff0: 9084dfe9 */ lbu $a0,-0x2017($a0) -/* f10dff4: 0fc59585 */ jal func0f165614 +/* f10dff4: 0fc59585 */ jal stageGetIndex /* f10dff8: afa6001c */ sw $a2,0x1c($sp) /* f10dffc: 3c05800a */ lui $a1,%hi(g_Vars) /* f10e000: 24a59fc0 */ addiu $a1,$a1,%lo(g_Vars) diff --git a/src/game/game_157db0.c b/src/game/game_157db0.c index 43906e6ed..2562155aa 100644 --- a/src/game/game_157db0.c +++ b/src/game/game_157db0.c @@ -3083,8 +3083,8 @@ glabel func0f15a6f4 /* f15a8bc: 318d0008 */ andi $t5,$t4,0x8 /* f15a8c0: 15a000ac */ bnez $t5,.L0f15ab74 .L0f15a8c4: -/* f15a8c4: 3c108008 */ lui $s0,%hi(stagetable) -/* f15a8c8: 2610fcc0 */ addiu $s0,$s0,%lo(stagetable) +/* f15a8c4: 3c108008 */ lui $s0,%hi(g_Stages) +/* f15a8c8: 2610fcc0 */ addiu $s0,$s0,%lo(g_Stages) /* f15a8cc: 860e05e8 */ lh $t6,0x5e8($s0) /* f15a8d0: 126e001f */ beq $s3,$t6,.L0f15a950 /* f15a8d4: 00000000 */ sll $zero,$zero,0x0 @@ -3752,9 +3752,9 @@ glabel func0f15b1c4 GLOBAL_ASM( glabel func0f15b23c -/* f15b23c: 3c058008 */ lui $a1,%hi(stagetable) +/* f15b23c: 3c058008 */ lui $a1,%hi(g_Stages) /* f15b240: 2403ffff */ addiu $v1,$zero,-1 -/* f15b244: 24a5fcc0 */ addiu $a1,$a1,%lo(stagetable) +/* f15b244: 24a5fcc0 */ addiu $a1,$a1,%lo(g_Stages) /* f15b248: 00001025 */ or $v0,$zero,$zero /* f15b24c: 2406003d */ addiu $a2,$zero,0x3d .L0f15b250: @@ -4350,9 +4350,9 @@ glabel func0f15b908 /* f15bac4: 2631fc00 */ addiu $s1,$s1,%lo(var8007fc00) /* f15bac8: 8e2e0000 */ lw $t6,0x0($s1) /* f15bacc: 24120038 */ addiu $s2,$zero,0x38 -/* f15bad0: 3c108008 */ lui $s0,%hi(stagetable) +/* f15bad0: 3c108008 */ lui $s0,%hi(g_Stages) /* f15bad4: 01d20019 */ multu $t6,$s2 -/* f15bad8: 2610fcc0 */ addiu $s0,$s0,%lo(stagetable) +/* f15bad8: 2610fcc0 */ addiu $s0,$s0,%lo(g_Stages) /* f15badc: 00007812 */ mflo $t7 /* f15bae0: 020fc021 */ addu $t8,$s0,$t7 /* f15bae4: 0fc57220 */ jal func0f15c880 @@ -5312,8 +5312,8 @@ GLOBAL_ASM( glabel func0f15c888 /* f15c888: 3c0e8008 */ lui $t6,0x8008 /* f15c88c: 8dcefc00 */ lw $t6,-0x400($t6) -/* f15c890: 3c188008 */ lui $t8,%hi(stagetable) -/* f15c894: 2718fcc0 */ addiu $t8,$t8,%lo(stagetable) +/* f15c890: 3c188008 */ lui $t8,%hi(g_Stages) +/* f15c894: 2718fcc0 */ addiu $t8,$t8,%lo(g_Stages) /* f15c898: 000e78c0 */ sll $t7,$t6,0x3 /* f15c89c: 01ee7823 */ subu $t7,$t7,$t6 /* f15c8a0: 000f78c0 */ sll $t7,$t7,0x3 @@ -15381,7 +15381,7 @@ glabel func0f1655c0 ); GLOBAL_ASM( -glabel func0f165614 +glabel stageGetIndex /* f165614: 3c078008 */ lui $a3,0x8008 /* f165618: 24e2fcc0 */ addiu $v0,$a3,-832 /* f16561c: 3c0e8008 */ lui $t6,0x8008 diff --git a/src/game/game_1668e0.c b/src/game/game_1668e0.c index 3a33ebddb..6cade71ee 100644 --- a/src/game/game_1668e0.c +++ b/src/game/game_1668e0.c @@ -304,8 +304,8 @@ glabel func0f166a6c /* f166a98: 8fa40020 */ lw $a0,0x20($sp) /* f166a9c: 8fa2001c */ lw $v0,0x1c($sp) /* f166aa0: 8fa50024 */ lw $a1,0x24($sp) -/* f166aa4: 3c038008 */ lui $v1,%hi(stagetable) -/* f166aa8: 2463fcc0 */ addiu $v1,$v1,%lo(stagetable) +/* f166aa4: 3c038008 */ lui $v1,%hi(g_Stages) +/* f166aa8: 2463fcc0 */ addiu $v1,$v1,%lo(g_Stages) /* f166aac: e4800000 */ swc1 $f0,0x0($a0) /* f166ab0: e4800014 */ swc1 $f0,0x14($a0) /* f166ab4: e4800028 */ swc1 $f0,0x28($a0) @@ -7202,8 +7202,8 @@ void stageLoad(void) func00033b24(var80084034); } - if (g_Vars.unk0004b4 < 0x5a) { - s32 bank = func0f16e1e0(g_Vars.unk0004b4); + if (g_Vars.stagenum < NUM_STAGES) { + s32 bank = func0f16e1e0(g_Vars.stagenum); textClearBank(bank); func0f015270(); } @@ -7225,7 +7225,7 @@ void stageLoad(void) func0f16d9fc(); func0f0e0724(); - if (g_Vars.unk0004b4 < 0x5a) { + if (g_Vars.stagenum < NUM_STAGES) { func0f15c850(); } diff --git a/src/include/commands.h b/src/include/commands.h index 5236003a3..64879646d 100644 --- a/src/include/commands.h +++ b/src/include/commands.h @@ -471,9 +471,13 @@ mkshort(pad), \ label, -// type 0 = if is in -// type 1 = if is in same room that self is searching -// type 2 = if 's camspy is within 150 units of +/** + * type 0 = if is in + * type 1 = if is in same room that self is searching + * type 2 = if 's camspy is within 150 units of + * + * Type 2 is hard coded to only work in G5 Building. + */ #define if_chr_in_room(chr, type, room_or_pad, label) \ mkshort(0x005b), \ chr, \ diff --git a/src/include/constants.h b/src/include/constants.h index 1a7670d11..4a7d1ff35 100644 --- a/src/include/constants.h +++ b/src/include/constants.h @@ -760,6 +760,67 @@ #define STAGE_DUEL 0x4f #define STAGE_TEST_LAM 0x50 +#define NUM_STAGES 0x5a + +#define STAGEINDEX_MAIANSOS 0x00 +#define STAGEINDEX_TEST_SILO 0x01 +#define STAGEINDEX_WAR 0x02 +#define STAGEINDEX_MP_RAVINE 0x03 +#define STAGEINDEX_TEST_ARCH 0x04 +#define STAGEINDEX_ESCAPE 0x05 +#define STAGEINDEX_TEST_DEST 0x06 +#define STAGEINDEX_RETAKING 0x07 +#define STAGEINDEX_CRASHSITE 0x08 +#define STAGEINDEX_CHICAGO 0x09 +#define STAGEINDEX_G5BUILDING 0x0a +#define STAGEINDEX_MP_COMPLEX 0x0b +#define STAGEINDEX_MP_G5BUILDING 0x0c +#define STAGEINDEX_PELAGIC 0x0d +#define STAGEINDEX_EXTRACTION 0x0e +#define STAGEINDEX_TEST_RUN 0x0f +#define STAGEINDEX_MP_TEMPLE 0x11 +#define STAGEINDEX_CITRAINING 0x12 +#define STAGEINDEX_AIRBASE 0x13 +#define STAGEINDEX_MP_PIPES 0x15 +#define STAGEINDEX_SKEDARRUINS 0x16 +#define STAGEINDEX_VILLA 0x18 +#define STAGEINDEX_DEFENSE 0x19 +#define STAGEINDEX_TEST_ASH 0x1a +#define STAGEINDEX_INFILTRATION 0x1b +#define STAGEINDEX_DEFECTION 0x1c +#define STAGEINDEX_AIRFORCEONE 0x1d +#define STAGEINDEX_MP_SKEDAR 0x1e +#define STAGEINDEX_INVESTIGATION 0x1f +#define STAGEINDEX_ATTACKSHIP 0x20 +#define STAGEINDEX_RESCUE 0x21 +#define STAGEINDEX_TEST_LEN 0x22 +#define STAGEINDEX_MBR 0x23 +#define STAGEINDEX_DEEPSEA 0x24 +#define STAGEINDEX_TEST_UFF 0x25 +#define STAGEINDEX_TEST_OLD 0x26 +#define STAGEINDEX_DUEL 0x27 +#define STAGEINDEX_TEST_LAM 0x28 +#define STAGEINDEX_MP_BASE 0x29 +#define STAGEINDEX_TEST_MP2 0x2a +#define STAGEINDEX_MP_AREA52 0x2b +#define STAGEINDEX_MP_WAREHOUSE 0x2c +#define STAGEINDEX_MP_CARPARK 0x2d +#define STAGEINDEX_TEST_MP6 0x2e +#define STAGEINDEX_TEST_MP7 0x2f +#define STAGEINDEX_TEST_MP8 0x30 +#define STAGEINDEX_MP_RUINS 0x31 +#define STAGEINDEX_MP_SEWERS 0x32 +#define STAGEINDEX_MP_FELICITY 0x33 +#define STAGEINDEX_MP_FORTRESS 0x34 +#define STAGEINDEX_MP_VILLA 0x35 +#define STAGEINDEX_TEST_MP14 0x36 +#define STAGEINDEX_MP_GRID 0x37 +#define STAGEINDEX_TEST_MP16 0x38 +#define STAGEINDEX_TEST_MP17 0x39 +#define STAGEINDEX_TEST_MP18 0x3a +#define STAGEINDEX_TEST_MP19 0x3b +#define STAGEINDEX_TEST_MP20 0x3c + #define TARGET_PAD 0x2328 #define WEAPON_NONE 0x00 diff --git a/src/include/game/game_157db0.h b/src/include/game/game_157db0.h index abcc7a118..cd9828412 100644 --- a/src/include/game/game_157db0.h +++ b/src/include/game/game_157db0.h @@ -103,6 +103,6 @@ u32 func0f165004(void); u32 func0f1650d0(void); u32 func0f165360(void); u32 func0f1655c0(void); -u32 func0f165614(void); +s32 stageGetIndex(s32 stagenum); #endif diff --git a/src/include/gvars/gvars.h b/src/include/gvars/gvars.h index 5c030db18..9b9d2ad65 100644 --- a/src/include/gvars/gvars.h +++ b/src/include/gvars/gvars.h @@ -185,7 +185,7 @@ struct g_vars { /*0004a8*/ u32 unk0004a8; /*0004ac*/ u32 unk0004ac; /*0004b0*/ u32 unk0004b0; - /*0004b4*/ s32 unk0004b4; + /*0004b4*/ s32 stagenum; /*0004b8*/ u32 unk0004b8; /*0004bc*/ u32 unk0004bc; /*0004c0*/ u32 unk0004c0; diff --git a/src/include/setup/setup_000000.h b/src/include/setup/setup_000000.h index 3a2ec0133..812ab6a96 100644 --- a/src/include/setup/setup_000000.h +++ b/src/include/setup/setup_000000.h @@ -3,7 +3,7 @@ #include #include "types.h" -extern s32 levelnum; +extern s32 g_StageNum; extern u64 rand_seed; extern struct chrdata *g_Chrs; // pointer to first element of chrs array diff --git a/src/include/setup/setup_020df0.h b/src/include/setup/setup_020df0.h index cf90b9d01..fa3b2e52d 100644 --- a/src/include/setup/setup_020df0.h +++ b/src/include/setup/setup_020df0.h @@ -199,7 +199,7 @@ extern u32 var8007fca8; extern u32 var8007fcac; extern u32 var8007fcb0; extern u32 var8007fcb4; -extern struct stagetableentry stagetable[]; +extern struct stagetableentry g_Stages[61]; extern u32 var80081018; extern u32 var80081058; extern struct smallsky smallskies[]; diff --git a/src/include/types.h b/src/include/types.h index c0b2ab0e9..c68dc5a25 100644 --- a/src/include/types.h +++ b/src/include/types.h @@ -2626,7 +2626,7 @@ struct bodytableentry { }; struct stagetableentry { - u16 id; + s16 id; u8 light_type; u8 light_alpha; u8 light_width; diff --git a/src/library/library_0d520.c b/src/library/library_0d520.c index 374cf9464..493b7912a 100644 --- a/src/library/library_0d520.c +++ b/src/library/library_0d520.c @@ -626,14 +626,14 @@ glabel func0000db3c /* dbb4: 0fc5d7e6 */ jal func0f175f98 /* dbb8: adc10018 */ sw $at,0x18($t6) /* dbbc: 3c018006 */ lui $at,0x8006 -/* dbc0: 3c048006 */ lui $a0,%hi(levelnum) +/* dbc0: 3c048006 */ lui $a0,%hi(g_StageNum) /* dbc4: ac20d9c4 */ sw $zero,-0x263c($at) /* dbc8: 0c004c35 */ jal func000130d4 -/* dbcc: 2484d9b4 */ addiu $a0,$a0,%lo(levelnum) +/* dbcc: 2484d9b4 */ addiu $a0,$a0,%lo(g_StageNum) /* dbd0: 3c098006 */ lui $t1,0x8006 /* dbd4: 8d29d9d4 */ lw $t1,-0x262c($t1) -/* dbd8: 3c028006 */ lui $v0,%hi(levelnum) -/* dbdc: 2442d9b4 */ addiu $v0,$v0,%lo(levelnum) +/* dbd8: 3c028006 */ lui $v0,%hi(g_StageNum) +/* dbdc: 2442d9b4 */ addiu $v0,$v0,%lo(g_StageNum) /* dbe0: 11200006 */ beqz $t1,.L0000dbfc /* dbe4: 3c12800a */ lui $s2,%hi(g_Vars) /* dbe8: 26529fc0 */ addiu $s2,$s2,%lo(g_Vars) @@ -642,8 +642,8 @@ glabel func0000db3c /* dbf4: a64a04e4 */ sh $t2,0x4e4($s2) /* dbf8: ac4b0000 */ sw $t3,0x0($v0) .L0000dbfc: -/* dbfc: 3c028006 */ lui $v0,%hi(levelnum) -/* dc00: 2442d9b4 */ addiu $v0,$v0,%lo(levelnum) +/* dbfc: 3c028006 */ lui $v0,%hi(g_StageNum) +/* dc00: 2442d9b4 */ addiu $v0,$v0,%lo(g_StageNum) /* dc04: 8c440000 */ lw $a0,0x0($v0) /* dc08: 3c12800a */ lui $s2,%hi(g_Vars) /* dc0c: 2401005a */ addiu $at,$zero,0x5a @@ -671,8 +671,8 @@ glabel func0000db3c /* dc64: 0fc5b36a */ jal func0f16cda8 /* dc68: 2484ffd0 */ addiu $a0,$a0,-48 .L0000dc6c: -/* dc6c: 3c028006 */ lui $v0,%hi(levelnum) -/* dc70: 2442d9b4 */ addiu $v0,$v0,%lo(levelnum) +/* dc6c: 3c028006 */ lui $v0,%hi(g_StageNum) +/* dc70: 2442d9b4 */ addiu $v0,$v0,%lo(g_StageNum) /* dc74: 8c4d0000 */ lw $t5,0x0($v0) /* dc78: 24010026 */ addiu $at,$zero,0x26 /* dc7c: 3c198009 */ lui $t9,0x8009 @@ -1612,7 +1612,7 @@ glabel func0000e95c // func0000e984 s32 getCurrentStageId(void) { - return levelnum; + return g_StageNum; } GLOBAL_ASM( diff --git a/src/setup/setup_000000.c b/src/setup/setup_000000.c index f17e59d52..f8621d471 100644 --- a/src/setup/setup_000000.c +++ b/src/setup/setup_000000.c @@ -3712,7 +3712,7 @@ u32 var8005d9ac = 0x00000000; u32 var8005d9b0 = 0x00000000; // 8005d9b4 -s32 levelnum = 0x5a; +s32 g_StageNum = 0x5a; u32 var8005d9b8 = 0x0004b000; u32 var8005d9bc = 0x00000000; diff --git a/src/setup/setup_020df0.c b/src/setup/setup_020df0.c index d34d67768..2d99771a4 100644 --- a/src/setup/setup_020df0.c +++ b/src/setup/setup_020df0.c @@ -7082,69 +7082,71 @@ u32 var8007fcb8 = 0x00000000; u32 var8007fcbc = 0x00000000; // 25ce0 -struct stagetableentry stagetable[] = { - // id, ?, lia, liw, lih, ?, bg, tiles, pads, setup, mpsetp, ? 0x18, 0x1c, ?, ?, ?, 0x24, 0x28, ?, ?, ? ? - /*0x00*/ 0x09, 2, 255, 100, 100, 0, 0x001b, 0x0176, 0x0183, 0x0142, 0x011e, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x01*/ 0x14, 2, 255, 100, 100, 0, 0x001e, 0x0178, 0x0177, 0x0147, 0x0122, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, 700, 800, 400, 1, - /*0x02*/ 0x16, 2, 255, 100, 100, 0, 0x0017, 0x018a, 0x018d, 0x0148, 0x0123, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x03*/ 0x17, 2, 255, 100, 100, 0, 0x0004, 0x0150, 0x014f, 0x0128, 0x0104, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, 700, 800, 400, 1, - /*0x04*/ 0x18, 2, 255, 100, 100, 0, 0x0005, 0x014e, 0x014d, 0x0127, 0x0103, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x05*/ 0x19, 2, 255, 100, 100, 0, 0x001b, 0x0176, 0x018f, 0x0149, 0x0124, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x06*/ 0x1a, 2, 255, 100, 100, 0, 0x0007, 0x0164, 0x0163, 0x0132, 0x010e, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x07*/ 0x1b, 2, 255, 100, 100, 0, 0x0013, 0x0166, 0x0185, 0x0143, 0x011f, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x08*/ 0x1c, 2, 255, 100, 100, 0, 0x0009, 0x0156, 0x0155, 0x012b, 0x0107, 1, 0.5, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x09*/ 0x1d, 2, 255, 100, 100, 0, 0x000a, 0x017c, 0x017b, 0x013e, 0x011a, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x0a*/ 0x1e, 2, 255, 100, 100, 0, 0x000b, 0x0162, 0x0161, 0x0131, 0x010d, 1, 1, 100, 0, 0, 20, 220, 0x3e19999a, -1, 400, 0, 1, - /*0x0b*/ 0x1f, 2, 255, 100, 100, 0, 0x000c, 0x017e, 0x017d, 0x013f, 0x011b, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x0c*/ 0x20, 2, 255, 100, 100, 0, 0x000d, 0x015e, 0x015d, 0x012f, 0x010b, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, 700, 800, 400, 1, - /*0x0d*/ 0x21, 2, 255, 100, 100, 0, 0x000e, 0x0160, 0x015f, 0x0130, 0x010c, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x0e*/ 0x22, 2, 255, 100, 100, 0, 0x001c, 0x014c, 0x0151, 0x0129, 0x0105, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x0f*/ 0x23, 2, 255, 100, 100, 0, 0x0010, 0x0182, 0x0181, 0x0141, 0x011d, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x10*/ 0x24, 2, 255, 100, 100, 0, 0x0011, 0x0188, 0x0187, 0x0144, 0x0120, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x11*/ 0x25, 2, 255, 100, 100, 0, 0x0012, 0x016e, 0x016d, 0x0137, 0x0113, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, 700, 800, 400, 1, - /*0x12*/ 0x26, 2, 255, 100, 100, 0, 0x0013, 0x0166, 0x0165, 0x0133, 0x010f, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x13*/ 0x27, 2, 255, 100, 100, 0, 0x0014, 0x015a, 0x0159, 0x012d, 0x0109, 1, 0.5, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x14*/ 0x28, 2, 255, 100, 100, 0, 0x0015, 0x0158, 0x0157, 0x012c, 0x0108, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, 200, 800, 400, 1, - /*0x15*/ 0x29, 2, 255, 100, 100, 0, 0x0016, 0x015c, 0x015b, 0x012e, 0x010a, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, 700, 800, 400, 1, - /*0x16*/ 0x2a, 2, 255, 100, 100, 0, 0x0017, 0x018a, 0x0189, 0x0146, 0x0121, 1, 1, 100, 0, 0, 20, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x17*/ 0x2b, 2, 255, 100, 100, 0, 0x0011, 0x0188, 0x0187, 0x0144, 0x0120, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x18*/ 0x2c, 2, 255, 100, 100, 0, 0x0018, 0x016a, 0x0169, 0x0135, 0x0111, 1, 0.5, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x19*/ 0x2d, 2, 255, 100, 100, 0, 0x0013, 0x0166, 0x016b, 0x0136, 0x0112, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x1a*/ 0x2e, 2, 255, 100, 100, 0, 0x001a, 0x0154, 0x0153, 0x012a, 0x0106, 1, 1, 100, 0, 0, -1, 500, 0x3e19999a, -1, 400, 0, 1, - /*0x1b*/ 0x2f, 2, 255, 100, 100, 0, 0x001b, 0x0176, 0x0175, 0x013b, 0x0117, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x1c*/ 0x30, 2, 255, 100, 100, 0, 0x001c, 0x014c, 0x014b, 0x0126, 0x0102, 1, 1, 100, 0, 0, 40, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x1d*/ 0x31, 2, 255, 100, 100, 0, 0x001d, 0x0180, 0x017f, 0x0140, 0x011c, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x1e*/ 0x32, 2, 255, 100, 100, 0, 0x001e, 0x0178, 0x0177, 0x013c, 0x0118, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, 700, 800, 400, 1, - /*0x1f*/ 0x33, 2, 255, 100, 100, 0, 0x001f, 0x0168, 0x0167, 0x0134, 0x0110, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x20*/ 0x34, 2, 255, 100, 100, 0, 0x0020, 0x0170, 0x016f, 0x0138, 0x0114, 1, 1, 100, 0, 0, 40, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x21*/ 0x35, 2, 255, 100, 100, 0, 0x001b, 0x0176, 0x0173, 0x013a, 0x0116, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x22*/ 0x36, 2, 255, 100, 100, 0, 0x0022, 0x0172, 0x0171, 0x0139, 0x0115, 0.10040000081062, 1, 6.6844921112061, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x23*/ 0x37, 2, 255, 100, 100, 0, 0x001c, 0x014c, 0x014b, 0x014a, 0x0125, 1, 1, 100, 0, 0, 40, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x24*/ 0x38, 8, 96, 80, 200, 0, 0x0024, 0x017a, 0x0179, 0x013d, 0x0119, 1, 1, 100, 0, 0, 30, 255, 0x3e4ccccd, 300, 600, 0, 1, - /*0x25*/ 0x4d, 2, 255, 100, 100, 0, 0x0025, 0x01d4, 0x01d3, 0x01d1, 0x01d2, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x26*/ 0x4e, 2, 255, 100, 100, 0, 0x0026, 0x01d8, 0x01d7, 0x01d5, 0x01d6, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x27*/ 0x4f, 2, 255, 100, 100, 0, 0x0013, 0x0166, 0x01db, 0x01d9, 0x01da, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x28*/ 0x50, 2, 255, 100, 100, 0, 0x0028, 0x01e0, 0x01df, 0x01dd, 0x01de, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x29*/ 0x39, 2, 255, 100, 100, 0, 0x0029, 0x01e4, 0x01e3, 0x01e1, 0x01e2, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x2a*/ 0x3a, 2, 255, 100, 100, 0, 0x002a, 0x01e8, 0x01e7, 0x01e5, 0x01e6, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x2b*/ 0x3b, 2, 255, 100, 100, 0, 0x002b, 0x01ec, 0x01eb, 0x01e9, 0x01ea, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x2c*/ 0x3c, 2, 255, 100, 100, 0, 0x002c, 0x01f0, 0x01ef, 0x01ed, 0x01ee, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x2d*/ 0x3d, 2, 255, 100, 100, 0, 0x002d, 0x01f4, 0x01f3, 0x01f1, 0x01f2, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x2e*/ 0x3e, 2, 255, 100, 100, 0, 0x002e, 0x01f8, 0x01f7, 0x01f5, 0x01f6, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x2f*/ 0x3f, 2, 255, 100, 100, 0, 0x002f, 0x01fc, 0x01fb, 0x01f9, 0x01fa, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x30*/ 0x40, 2, 255, 100, 100, 0, 0x0030, 0x0200, 0x01ff, 0x01fd, 0x01fe, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x31*/ 0x41, 2, 255, 100, 100, 0, 0x0031, 0x0204, 0x0203, 0x0201, 0x0202, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x32*/ 0x42, 2, 255, 100, 100, 0, 0x0032, 0x0208, 0x0207, 0x0205, 0x0206, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x33*/ 0x43, 2, 255, 100, 100, 0, 0x0033, 0x020c, 0x020b, 0x0209, 0x020a, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x34*/ 0x44, 2, 255, 100, 100, 0, 0x0034, 0x0210, 0x020f, 0x020d, 0x020e, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x35*/ 0x45, 2, 255, 100, 100, 0, 0x0035, 0x0214, 0x0213, 0x0211, 0x0212, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x36*/ 0x46, 2, 255, 100, 100, 0, 0x0036, 0x0218, 0x0217, 0x0215, 0x0216, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x37*/ 0x47, 2, 255, 100, 100, 0, 0x0037, 0x021c, 0x021b, 0x0219, 0x021a, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x38*/ 0x48, 2, 255, 100, 100, 0, 0x0038, 0x0220, 0x021f, 0x021d, 0x021e, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x39*/ 0x49, 2, 255, 100, 100, 0, 0x0039, 0x0224, 0x0223, 0x0221, 0x0222, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x3a*/ 0x4a, 2, 255, 100, 100, 0, 0x003a, 0x0228, 0x0227, 0x0225, 0x0226, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x3b*/ 0x4b, 2, 255, 100, 100, 0, 0x003b, 0x022c, 0x022b, 0x0229, 0x022a, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, - /*0x3c*/ 0x4c, 2, 255, 100, 100, 0, 0x003c, 0x0230, 0x022f, 0x022d, 0x022e, 1, 0.5, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, +// When adding or removing items from this table you must also update the +// STAGEINDEX constants in constants.h. +struct stagetableentry g_Stages[] = { + // id, ?, lia, liw, lih, ?, bg, tiles, pads, setup, mpsetp, ? 0x18, 0x1c, ?, ?, ?, 0x24, 0x28, ?, ?, ? ? + /*0x00*/ STAGE_MAIANSOS, 2, 255, 100, 100, 0, 0x001b, 0x0176, 0x0183, 0x0142, 0x011e, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x01*/ STAGE_TEST_SILO, 2, 255, 100, 100, 0, 0x001e, 0x0178, 0x0177, 0x0147, 0x0122, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, 700, 800, 400, 1, + /*0x02*/ STAGE_WAR, 2, 255, 100, 100, 0, 0x0017, 0x018a, 0x018d, 0x0148, 0x0123, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x03*/ STAGE_MP_RAVINE, 2, 255, 100, 100, 0, 0x0004, 0x0150, 0x014f, 0x0128, 0x0104, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, 700, 800, 400, 1, + /*0x04*/ STAGE_TEST_ARCH, 2, 255, 100, 100, 0, 0x0005, 0x014e, 0x014d, 0x0127, 0x0103, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x05*/ STAGE_ESCAPE, 2, 255, 100, 100, 0, 0x001b, 0x0176, 0x018f, 0x0149, 0x0124, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x06*/ STAGE_TEST_DEST, 2, 255, 100, 100, 0, 0x0007, 0x0164, 0x0163, 0x0132, 0x010e, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x07*/ STAGE_RETAKING, 2, 255, 100, 100, 0, 0x0013, 0x0166, 0x0185, 0x0143, 0x011f, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x08*/ STAGE_CRASHSITE, 2, 255, 100, 100, 0, 0x0009, 0x0156, 0x0155, 0x012b, 0x0107, 1, 0.5, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x09*/ STAGE_CHICAGO, 2, 255, 100, 100, 0, 0x000a, 0x017c, 0x017b, 0x013e, 0x011a, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x0a*/ STAGE_G5BUILDING, 2, 255, 100, 100, 0, 0x000b, 0x0162, 0x0161, 0x0131, 0x010d, 1, 1, 100, 0, 0, 20, 220, 0x3e19999a, -1, 400, 0, 1, + /*0x0b*/ STAGE_MP_COMPLEX, 2, 255, 100, 100, 0, 0x000c, 0x017e, 0x017d, 0x013f, 0x011b, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x0c*/ STAGE_MP_G5BUILDING, 2, 255, 100, 100, 0, 0x000d, 0x015e, 0x015d, 0x012f, 0x010b, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, 700, 800, 400, 1, + /*0x0d*/ STAGE_PELAGIC, 2, 255, 100, 100, 0, 0x000e, 0x0160, 0x015f, 0x0130, 0x010c, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x0e*/ STAGE_EXTRACTION, 2, 255, 100, 100, 0, 0x001c, 0x014c, 0x0151, 0x0129, 0x0105, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x0f*/ STAGE_TEST_RUN, 2, 255, 100, 100, 0, 0x0010, 0x0182, 0x0181, 0x0141, 0x011d, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x10*/ 0x24, 2, 255, 100, 100, 0, 0x0011, 0x0188, 0x0187, 0x0144, 0x0120, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x11*/ STAGE_MP_TEMPLE, 2, 255, 100, 100, 0, 0x0012, 0x016e, 0x016d, 0x0137, 0x0113, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, 700, 800, 400, 1, + /*0x12*/ STAGE_CITRAINING, 2, 255, 100, 100, 0, 0x0013, 0x0166, 0x0165, 0x0133, 0x010f, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x13*/ STAGE_AIRBASE, 2, 255, 100, 100, 0, 0x0014, 0x015a, 0x0159, 0x012d, 0x0109, 1, 0.5, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x14*/ 0x28, 2, 255, 100, 100, 0, 0x0015, 0x0158, 0x0157, 0x012c, 0x0108, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, 200, 800, 400, 1, + /*0x15*/ STAGE_MP_PIPES, 2, 255, 100, 100, 0, 0x0016, 0x015c, 0x015b, 0x012e, 0x010a, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, 700, 800, 400, 1, + /*0x16*/ STAGE_SKEDARRUINS, 2, 255, 100, 100, 0, 0x0017, 0x018a, 0x0189, 0x0146, 0x0121, 1, 1, 100, 0, 0, 20, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x17*/ 0x2b, 2, 255, 100, 100, 0, 0x0011, 0x0188, 0x0187, 0x0144, 0x0120, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x18*/ STAGE_VILLA, 2, 255, 100, 100, 0, 0x0018, 0x016a, 0x0169, 0x0135, 0x0111, 1, 0.5, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x19*/ STAGE_DEFENSE, 2, 255, 100, 100, 0, 0x0013, 0x0166, 0x016b, 0x0136, 0x0112, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x1a*/ STAGE_TEST_ASH, 2, 255, 100, 100, 0, 0x001a, 0x0154, 0x0153, 0x012a, 0x0106, 1, 1, 100, 0, 0, -1, 500, 0x3e19999a, -1, 400, 0, 1, + /*0x1b*/ STAGE_INFILTRATION, 2, 255, 100, 100, 0, 0x001b, 0x0176, 0x0175, 0x013b, 0x0117, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x1c*/ STAGE_DEFECTION, 2, 255, 100, 100, 0, 0x001c, 0x014c, 0x014b, 0x0126, 0x0102, 1, 1, 100, 0, 0, 40, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x1d*/ STAGE_AIRFORCEONE, 2, 255, 100, 100, 0, 0x001d, 0x0180, 0x017f, 0x0140, 0x011c, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x1e*/ STAGE_MP_SKEDAR, 2, 255, 100, 100, 0, 0x001e, 0x0178, 0x0177, 0x013c, 0x0118, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, 700, 800, 400, 1, + /*0x1f*/ STAGE_INVESTIGATION, 2, 255, 100, 100, 0, 0x001f, 0x0168, 0x0167, 0x0134, 0x0110, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x20*/ STAGE_ATTACKSHIP, 2, 255, 100, 100, 0, 0x0020, 0x0170, 0x016f, 0x0138, 0x0114, 1, 1, 100, 0, 0, 40, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x21*/ STAGE_RESCUE, 2, 255, 100, 100, 0, 0x001b, 0x0176, 0x0173, 0x013a, 0x0116, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x22*/ STAGE_TEST_LEN, 2, 255, 100, 100, 0, 0x0022, 0x0172, 0x0171, 0x0139, 0x0115, 0.10040000081062, 1, 6.6844921112061, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x23*/ STAGE_MBR, 2, 255, 100, 100, 0, 0x001c, 0x014c, 0x014b, 0x014a, 0x0125, 1, 1, 100, 0, 0, 40, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x24*/ STAGE_DEEPSEA, 8, 96, 80, 200, 0, 0x0024, 0x017a, 0x0179, 0x013d, 0x0119, 1, 1, 100, 0, 0, 30, 255, 0x3e4ccccd, 300, 600, 0, 1, + /*0x25*/ STAGE_TEST_UFF, 2, 255, 100, 100, 0, 0x0025, 0x01d4, 0x01d3, 0x01d1, 0x01d2, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x26*/ STAGE_TEST_OLD, 2, 255, 100, 100, 0, 0x0026, 0x01d8, 0x01d7, 0x01d5, 0x01d6, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x27*/ STAGE_DUEL, 2, 255, 100, 100, 0, 0x0013, 0x0166, 0x01db, 0x01d9, 0x01da, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x28*/ STAGE_TEST_LAM, 2, 255, 100, 100, 0, 0x0028, 0x01e0, 0x01df, 0x01dd, 0x01de, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x29*/ STAGE_MP_BASE, 2, 255, 100, 100, 0, 0x0029, 0x01e4, 0x01e3, 0x01e1, 0x01e2, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x2a*/ STAGE_TEST_MP2, 2, 255, 100, 100, 0, 0x002a, 0x01e8, 0x01e7, 0x01e5, 0x01e6, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x2b*/ STAGE_MP_AREA52, 2, 255, 100, 100, 0, 0x002b, 0x01ec, 0x01eb, 0x01e9, 0x01ea, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x2c*/ STAGE_MP_WAREHOUSE, 2, 255, 100, 100, 0, 0x002c, 0x01f0, 0x01ef, 0x01ed, 0x01ee, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x2d*/ STAGE_MP_CARPARK, 2, 255, 100, 100, 0, 0x002d, 0x01f4, 0x01f3, 0x01f1, 0x01f2, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x2e*/ STAGE_TEST_MP6, 2, 255, 100, 100, 0, 0x002e, 0x01f8, 0x01f7, 0x01f5, 0x01f6, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x2f*/ STAGE_TEST_MP7, 2, 255, 100, 100, 0, 0x002f, 0x01fc, 0x01fb, 0x01f9, 0x01fa, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x30*/ STAGE_TEST_MP8, 2, 255, 100, 100, 0, 0x0030, 0x0200, 0x01ff, 0x01fd, 0x01fe, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x31*/ STAGE_MP_RUINS, 2, 255, 100, 100, 0, 0x0031, 0x0204, 0x0203, 0x0201, 0x0202, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x32*/ STAGE_MP_SEWERS, 2, 255, 100, 100, 0, 0x0032, 0x0208, 0x0207, 0x0205, 0x0206, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x33*/ STAGE_MP_FELICITY, 2, 255, 100, 100, 0, 0x0033, 0x020c, 0x020b, 0x0209, 0x020a, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x34*/ STAGE_MP_FORTRESS, 2, 255, 100, 100, 0, 0x0034, 0x0210, 0x020f, 0x020d, 0x020e, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x35*/ STAGE_MP_VILLA, 2, 255, 100, 100, 0, 0x0035, 0x0214, 0x0213, 0x0211, 0x0212, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x36*/ STAGE_TEST_MP14, 2, 255, 100, 100, 0, 0x0036, 0x0218, 0x0217, 0x0215, 0x0216, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x37*/ STAGE_MP_GRID, 2, 255, 100, 100, 0, 0x0037, 0x021c, 0x021b, 0x0219, 0x021a, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x38*/ STAGE_TEST_MP16, 2, 255, 100, 100, 0, 0x0038, 0x0220, 0x021f, 0x021d, 0x021e, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x39*/ STAGE_TEST_MP17, 2, 255, 100, 100, 0, 0x0039, 0x0224, 0x0223, 0x0221, 0x0222, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x3a*/ STAGE_TEST_MP18, 2, 255, 100, 100, 0, 0x003a, 0x0228, 0x0227, 0x0225, 0x0226, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x3b*/ STAGE_TEST_MP19, 2, 255, 100, 100, 0, 0x003b, 0x022c, 0x022b, 0x0229, 0x022a, 1, 1, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, + /*0x3c*/ STAGE_TEST_MP20, 2, 255, 100, 100, 0, 0x003c, 0x0230, 0x022f, 0x022d, 0x022e, 1, 0.5, 100, 0, 0, -1, 255, 0x3e19999a, -1, 400, 0, 1, }; u32 var80080a18 = 0x00000000;