Decompile setupLoadFiles
This commit is contained in:
parent
19301941ee
commit
801a221dd9
|
|
@ -362,7 +362,7 @@ void coreLoadStage(s32 stagenum)
|
|||
func0f013ba0();
|
||||
func0f011110();
|
||||
func0f0108d0();
|
||||
func0f00eb64(stagenum);
|
||||
setupLoadFiles(stagenum);
|
||||
mpPrepareScenario();
|
||||
gvarsInitProps();
|
||||
setupInit();
|
||||
|
|
|
|||
|
|
@ -476,7 +476,7 @@ struct stagethinglist stagethinglist_21084 = {
|
|||
};
|
||||
|
||||
// 2108c
|
||||
struct propdefinition g_Props[] = {
|
||||
struct modelstate g_ModelStates[441] = {
|
||||
// file scale
|
||||
/*0x0000*/ { NULL, FILE_PROOFGUN, 0x0199 },
|
||||
/*0x0001*/ { NULL, FILE_PGROUNDGUN, 0x0199 },
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@
|
|||
#include "game/data/data_01a3a0.h"
|
||||
#include "game/data/data_020df0.h"
|
||||
#include "game/data/data_02a0e0.h"
|
||||
#include "game/data/data_020df0.h"
|
||||
#include "game/data/data_02da90.h"
|
||||
#include "game/game_00b480.h"
|
||||
#include "game/game_00b820.h"
|
||||
|
|
@ -406,18 +407,18 @@ glabel var7f1a7f80
|
|||
/* f00cf7c: 15610009 */ bne $t3,$at,.L0f00cfa4
|
||||
/* f00cf80: 000868c0 */ sll $t5,$t0,0x3
|
||||
/* f00cf84: 000860c0 */ sll $t4,$t0,0x3
|
||||
/* f00cf88: 3c058008 */ lui $a1,%hi(g_Props)
|
||||
/* f00cf88: 3c058008 */ lui $a1,%hi(g_ModelStates)
|
||||
/* f00cf8c: 00ac2821 */ addu $a1,$a1,$t4
|
||||
/* f00cf90: 8ca5b06c */ lw $a1,%lo(g_Props)($a1)
|
||||
/* f00cf90: 8ca5b06c */ lw $a1,%lo(g_ModelStates)($a1)
|
||||
/* f00cf94: 0fc22b83 */ jal func0f08ae0c
|
||||
/* f00cf98: 02002025 */ or $a0,$s0,$zero
|
||||
/* f00cf9c: 10000006 */ b .L0f00cfb8
|
||||
/* f00cfa0: 8e040018 */ lw $a0,0x18($s0)
|
||||
.L0f00cfa4:
|
||||
/* f00cfa4: 3c058008 */ lui $a1,%hi(g_Props)
|
||||
/* f00cfa4: 3c058008 */ lui $a1,%hi(g_ModelStates)
|
||||
/* f00cfa8: 00ad2821 */ addu $a1,$a1,$t5
|
||||
/* f00cfac: 0fc1a94b */ jal func0f06a52c
|
||||
/* f00cfb0: 8ca5b06c */ lw $a1,%lo(g_Props)($a1)
|
||||
/* f00cfb0: 8ca5b06c */ lw $a1,%lo(g_ModelStates)($a1)
|
||||
/* f00cfb4: 8e040018 */ lw $a0,0x18($s0)
|
||||
.L0f00cfb8:
|
||||
/* f00cfb8: c7a6009c */ lwc1 $f6,0x9c($sp)
|
||||
|
|
@ -448,18 +449,18 @@ glabel var7f1a7f80
|
|||
/* f00d018: 17210009 */ bne $t9,$at,.L0f00d040
|
||||
/* f00d01c: 000850c0 */ sll $t2,$t0,0x3
|
||||
/* f00d020: 000848c0 */ sll $t1,$t0,0x3
|
||||
/* f00d024: 3c058008 */ lui $a1,%hi(g_Props)
|
||||
/* f00d024: 3c058008 */ lui $a1,%hi(g_ModelStates)
|
||||
/* f00d028: 00a92821 */ addu $a1,$a1,$t1
|
||||
/* f00d02c: 8ca5b06c */ lw $a1,%lo(g_Props)($a1)
|
||||
/* f00d02c: 8ca5b06c */ lw $a1,%lo(g_ModelStates)($a1)
|
||||
/* f00d030: 0fc22b83 */ jal func0f08ae0c
|
||||
/* f00d034: 02002025 */ or $a0,$s0,$zero
|
||||
/* f00d038: 10000006 */ b .L0f00d054
|
||||
/* f00d03c: 00403025 */ or $a2,$v0,$zero
|
||||
.L0f00d040:
|
||||
/* f00d040: 3c058008 */ lui $a1,%hi(g_Props)
|
||||
/* f00d040: 3c058008 */ lui $a1,%hi(g_ModelStates)
|
||||
/* f00d044: 00aa2821 */ addu $a1,$a1,$t2
|
||||
/* f00d048: 0fc1a94b */ jal func0f06a52c
|
||||
/* f00d04c: 8ca5b06c */ lw $a1,%lo(g_Props)($a1)
|
||||
/* f00d04c: 8ca5b06c */ lw $a1,%lo(g_ModelStates)($a1)
|
||||
/* f00d050: 00403025 */ or $a2,$v0,$zero
|
||||
.L0f00d054:
|
||||
/* f00d054: 8e040018 */ lw $a0,0x18($s0)
|
||||
|
|
@ -487,18 +488,18 @@ glabel var7f1a7f80
|
|||
/* f00d0a8: 15810009 */ bne $t4,$at,.L0f00d0d0
|
||||
/* f00d0ac: 000870c0 */ sll $t6,$t0,0x3
|
||||
/* f00d0b0: 000868c0 */ sll $t5,$t0,0x3
|
||||
/* f00d0b4: 3c058008 */ lui $a1,%hi(g_Props)
|
||||
/* f00d0b4: 3c058008 */ lui $a1,%hi(g_ModelStates)
|
||||
/* f00d0b8: 00ad2821 */ addu $a1,$a1,$t5
|
||||
/* f00d0bc: 8ca5b06c */ lw $a1,%lo(g_Props)($a1)
|
||||
/* f00d0bc: 8ca5b06c */ lw $a1,%lo(g_ModelStates)($a1)
|
||||
/* f00d0c0: 0fc22b83 */ jal func0f08ae0c
|
||||
/* f00d0c4: 02002025 */ or $a0,$s0,$zero
|
||||
/* f00d0c8: 10000006 */ b .L0f00d0e4
|
||||
/* f00d0cc: 8e040018 */ lw $a0,0x18($s0)
|
||||
.L0f00d0d0:
|
||||
/* f00d0d0: 3c058008 */ lui $a1,%hi(g_Props)
|
||||
/* f00d0d0: 3c058008 */ lui $a1,%hi(g_ModelStates)
|
||||
/* f00d0d4: 00ae2821 */ addu $a1,$a1,$t6
|
||||
/* f00d0d8: 0fc1a94b */ jal func0f06a52c
|
||||
/* f00d0dc: 8ca5b06c */ lw $a1,%lo(g_Props)($a1)
|
||||
/* f00d0dc: 8ca5b06c */ lw $a1,%lo(g_ModelStates)($a1)
|
||||
/* f00d0e0: 8e040018 */ lw $a0,0x18($s0)
|
||||
.L0f00d0e4:
|
||||
/* f00d0e4: c7a4009c */ lwc1 $f4,0x9c($sp)
|
||||
|
|
@ -602,10 +603,10 @@ glabel var7f1a7f80
|
|||
/* f00d25c: 02002025 */ or $a0,$s0,$zero
|
||||
/* f00d260: 15610007 */ bne $t3,$at,.L0f00d280
|
||||
/* f00d264: 000860c0 */ sll $t4,$t0,0x3
|
||||
/* f00d268: 3c058008 */ lui $a1,%hi(g_Props)
|
||||
/* f00d268: 3c058008 */ lui $a1,%hi(g_ModelStates)
|
||||
/* f00d26c: 00ac2821 */ addu $a1,$a1,$t4
|
||||
/* f00d270: 0fc22b83 */ jal func0f08ae0c
|
||||
/* f00d274: 8ca5b06c */ lw $a1,%lo(g_Props)($a1)
|
||||
/* f00d274: 8ca5b06c */ lw $a1,%lo(g_ModelStates)($a1)
|
||||
/* f00d278: 10000004 */ b .L0f00d28c
|
||||
/* f00d27c: afa2007c */ sw $v0,0x7c($sp)
|
||||
.L0f00d280:
|
||||
|
|
@ -1435,12 +1436,12 @@ glabel var7f1a8064
|
|||
/* f00e560: 8fab01b0 */ lw $t3,0x1b0($sp)
|
||||
.L0f00e564:
|
||||
/* f00e564: 8fac01c0 */ lw $t4,0x1c0($sp)
|
||||
/* f00e568: 3c048008 */ lui $a0,%hi(g_Props)
|
||||
/* f00e568: 3c048008 */ lui $a0,%hi(g_ModelStates)
|
||||
/* f00e56c: 196000e1 */ blez $t3,.L0f00e8f4
|
||||
/* f00e570: 000c68c0 */ sll $t5,$t4,0x3
|
||||
/* f00e574: 008d2021 */ addu $a0,$a0,$t5
|
||||
/* f00e578: 0fc1a25b */ jal func0f06896c
|
||||
/* f00e57c: 8c84b06c */ lw $a0,%lo(g_Props)($a0)
|
||||
/* f00e57c: 8c84b06c */ lw $a0,%lo(g_ModelStates)($a0)
|
||||
/* f00e580: c7b20174 */ lwc1 $f18,0x174($sp)
|
||||
/* f00e584: 44800000 */ mtc1 $zero,$f0
|
||||
/* f00e588: c7aa0178 */ lwc1 $f10,0x178($sp)
|
||||
|
|
@ -1753,7 +1754,7 @@ glabel var7f1a8064
|
|||
// f32 sp48;
|
||||
// f32 *floats; // 44
|
||||
//
|
||||
// floats = func0f06896c(g_Props[modelnum].filedata);
|
||||
// floats = func0f06896c(g_ModelStates[modelnum].filedata);
|
||||
//
|
||||
// func00016d58(sp110, 0, 0, 0,
|
||||
// -pad.look.x, -pad.look.y, -pad.look.z,
|
||||
|
|
@ -1889,8 +1890,8 @@ glabel func0f00e980
|
|||
/* f00e9e0: 004e1021 */ addu $v0,$v0,$t6
|
||||
/* f00e9e4: 9444fcce */ lhu $a0,%lo(g_Stages+0xe)($v0)
|
||||
/* f00e9e8: 240f0003 */ addiu $t7,$zero,0x3
|
||||
/* f00e9ec: 3c018006 */ lui $at,%hi(var8005d9a0)
|
||||
/* f00e9f0: a02fd9a0 */ sb $t7,%lo(var8005d9a0)($at)
|
||||
/* f00e9ec: 3c018006 */ lui $at,%hi(g_LoadState)
|
||||
/* f00e9f0: a02fd9a0 */ sb $t7,%lo(g_LoadState)($at)
|
||||
/* f00e9f4: 24050022 */ addiu $a1,$zero,0x22
|
||||
/* f00e9f8: 02403025 */ or $a2,$s2,$zero
|
||||
/* f00e9fc: 02a03825 */ or $a3,$s5,$zero
|
||||
|
|
@ -1994,424 +1995,174 @@ glabel func0f00e980
|
|||
/* f00eb60: 27bd0038 */ addiu $sp,$sp,0x38
|
||||
);
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f00eb64
|
||||
/* f00eb64: 3c018007 */ lui $at,%hi(var80069960)
|
||||
/* f00eb68: ac209960 */ sw $zero,%lo(var80069960)($at)
|
||||
/* f00eb6c: 3c018007 */ lui $at,%hi(var80069964)
|
||||
/* f00eb70: 240effff */ addiu $t6,$zero,-1
|
||||
/* f00eb74: ac2e9964 */ sw $t6,%lo(var80069964)($at)
|
||||
/* f00eb78: 3c013f80 */ lui $at,0x3f80
|
||||
/* f00eb7c: 44812000 */ mtc1 $at,$f4
|
||||
/* f00eb80: 27bdffa0 */ addiu $sp,$sp,-96
|
||||
/* f00eb84: afb00018 */ sw $s0,0x18($sp)
|
||||
/* f00eb88: 3c018006 */ lui $at,%hi(g_DoorScale)
|
||||
/* f00eb8c: 3c028008 */ lui $v0,%hi(g_Props)
|
||||
/* f00eb90: 3c038008 */ lui $v1,%hi(propexplosiontypes)
|
||||
/* f00eb94: afbf001c */ sw $ra,0x1c($sp)
|
||||
/* f00eb98: 00803025 */ or $a2,$a0,$zero
|
||||
/* f00eb9c: afa0004c */ sw $zero,0x4c($sp)
|
||||
/* f00eba0: 00008025 */ or $s0,$zero,$zero
|
||||
/* f00eba4: 2463be34 */ addiu $v1,$v1,%lo(propexplosiontypes)
|
||||
/* f00eba8: 2442b06c */ addiu $v0,$v0,%lo(g_Props)
|
||||
/* f00ebac: e4241be0 */ swc1 $f4,%lo(g_DoorScale)($at)
|
||||
.L0f00ebb0:
|
||||
/* f00ebb0: 24420008 */ addiu $v0,$v0,0x8
|
||||
/* f00ebb4: 0043082b */ sltu $at,$v0,$v1
|
||||
/* f00ebb8: 1420fffd */ bnez $at,.L0f00ebb0
|
||||
/* f00ebbc: ac40fff8 */ sw $zero,-0x8($v0)
|
||||
/* f00ebc0: 28c1005a */ slti $at,$a2,0x5a
|
||||
/* f00ebc4: 1020014f */ beqz $at,.L0f00f104
|
||||
/* f00ebc8: 3c07800a */ lui $a3,%hi(g_StageSetup)
|
||||
/* f00ebcc: 3c0f800a */ lui $t7,%hi(g_Vars+0x318)
|
||||
/* f00ebd0: 8defa2d8 */ lw $t7,%lo(g_Vars+0x318)($t7)
|
||||
/* f00ebd4: 240c0004 */ addiu $t4,$zero,0x4
|
||||
/* f00ebd8: 3c018006 */ lui $at,%hi(var8005d9a0)
|
||||
/* f00ebdc: 11e0000a */ beqz $t7,.L0f00ec08
|
||||
/* f00ebe0: 24050022 */ addiu $a1,$zero,0x22
|
||||
/* f00ebe4: 3c188008 */ lui $t8,%hi(g_StageIndex)
|
||||
/* f00ebe8: 8f18fc00 */ lw $t8,%lo(g_StageIndex)($t8)
|
||||
/* f00ebec: 3c028008 */ lui $v0,%hi(g_Stages+0x10)
|
||||
/* f00ebf0: 0018c8c0 */ sll $t9,$t8,0x3
|
||||
/* f00ebf4: 0338c823 */ subu $t9,$t9,$t8
|
||||
/* f00ebf8: 0019c8c0 */ sll $t9,$t9,0x3
|
||||
/* f00ebfc: 00591021 */ addu $v0,$v0,$t9
|
||||
/* f00ec00: 10000009 */ b .L0f00ec28
|
||||
/* f00ec04: 9442fcd0 */ lhu $v0,%lo(g_Stages+0x10)($v0)
|
||||
.L0f00ec08:
|
||||
/* f00ec08: 3c0a8008 */ lui $t2,%hi(g_StageIndex)
|
||||
/* f00ec0c: 8d4afc00 */ lw $t2,%lo(g_StageIndex)($t2)
|
||||
/* f00ec10: 3c028008 */ lui $v0,%hi(g_Stages+0xe)
|
||||
/* f00ec14: 000a58c0 */ sll $t3,$t2,0x3
|
||||
/* f00ec18: 016a5823 */ subu $t3,$t3,$t2
|
||||
/* f00ec1c: 000b58c0 */ sll $t3,$t3,0x3
|
||||
/* f00ec20: 004b1021 */ addu $v0,$v0,$t3
|
||||
/* f00ec24: 9442fcce */ lhu $v0,%lo(g_Stages+0xe)($v0)
|
||||
.L0f00ec28:
|
||||
/* f00ec28: a02cd9a0 */ sb $t4,%lo(var8005d9a0)($at)
|
||||
/* f00ec2c: 00402025 */ or $a0,$v0,$zero
|
||||
/* f00ec30: 0fc59c3f */ jal func0f1670fc
|
||||
/* f00ec34: afa60060 */ sw $a2,0x60($sp)
|
||||
/* f00ec38: 3c03800a */ lui $v1,%hi(g_GeCreditsData)
|
||||
/* f00ec3c: 2463d050 */ addiu $v1,$v1,%lo(g_GeCreditsData)
|
||||
/* f00ec40: ac620000 */ sw $v0,0x0($v1)
|
||||
/* f00ec44: 8fa40060 */ lw $a0,0x60($sp)
|
||||
/* f00ec48: 0fc5b878 */ jal langGetLangBankIndexFromStagenum
|
||||
/* f00ec4c: afa20040 */ sw $v0,0x40($sp)
|
||||
/* f00ec50: 0fc5b9ca */ jal langSetBankSimple
|
||||
/* f00ec54: 00402025 */ or $a0,$v0,$zero
|
||||
/* f00ec58: 8fa90040 */ lw $t1,0x40($sp)
|
||||
/* f00ec5c: 3c07800a */ lui $a3,%hi(g_StageSetup)
|
||||
/* f00ec60: 24e7d030 */ addiu $a3,$a3,%lo(g_StageSetup)
|
||||
/* f00ec64: 8d2d000c */ lw $t5,0xc($t1)
|
||||
/* f00ec68: 3c048008 */ lui $a0,%hi(g_Stages+0xc)
|
||||
/* f00ec6c: 3c018006 */ lui $at,%hi(var8005d9a0)
|
||||
/* f00ec70: 012d7021 */ addu $t6,$t1,$t5
|
||||
/* f00ec74: acee000c */ sw $t6,0xc($a3)
|
||||
/* f00ec78: 8d2f0010 */ lw $t7,0x10($t1)
|
||||
/* f00ec7c: 3c0e8008 */ lui $t6,%hi(g_StageIndex)
|
||||
/* f00ec80: 240d0005 */ addiu $t5,$zero,0x5
|
||||
/* f00ec84: 012fc021 */ addu $t8,$t1,$t7
|
||||
/* f00ec88: acf80010 */ sw $t8,0x10($a3)
|
||||
/* f00ec8c: 8d390014 */ lw $t9,0x14($t1)
|
||||
/* f00ec90: 24050022 */ addiu $a1,$zero,0x22
|
||||
/* f00ec94: 01395021 */ addu $t2,$t1,$t9
|
||||
/* f00ec98: acea0014 */ sw $t2,0x14($a3)
|
||||
/* f00ec9c: 8d2b0018 */ lw $t3,0x18($t1)
|
||||
/* f00eca0: 012b6021 */ addu $t4,$t1,$t3
|
||||
/* f00eca4: acec0018 */ sw $t4,0x18($a3)
|
||||
/* f00eca8: 8dcefc00 */ lw $t6,%lo(g_StageIndex)($t6)
|
||||
/* f00ecac: a02dd9a0 */ sb $t5,%lo(var8005d9a0)($at)
|
||||
/* f00ecb0: 000e78c0 */ sll $t7,$t6,0x3
|
||||
/* f00ecb4: 01ee7823 */ subu $t7,$t7,$t6
|
||||
/* f00ecb8: 000f78c0 */ sll $t7,$t7,0x3
|
||||
/* f00ecbc: 008f2021 */ addu $a0,$a0,$t7
|
||||
/* f00ecc0: 0fc59c3f */ jal func0f1670fc
|
||||
/* f00ecc4: 9484fccc */ lhu $a0,%lo(g_Stages+0xc)($a0)
|
||||
/* f00ecc8: 3c07800a */ lui $a3,%hi(g_StageSetup)
|
||||
/* f00eccc: 24e7d030 */ addiu $a3,$a3,%lo(g_StageSetup)
|
||||
/* f00ecd0: 8ce60018 */ lw $a2,0x18($a3)
|
||||
/* f00ecd4: ace2001c */ sw $v0,0x1c($a3)
|
||||
/* f00ecd8: 8fa90040 */ lw $t1,0x40($sp)
|
||||
/* f00ecdc: ace00000 */ sw $zero,0x0($a3)
|
||||
/* f00ece0: ace00004 */ sw $zero,0x4($a3)
|
||||
/* f00ece4: 10c0000f */ beqz $a2,.L0f00ed24
|
||||
/* f00ece8: ace00008 */ sw $zero,0x8($a3)
|
||||
/* f00ecec: 8cd80000 */ lw $t8,0x0($a2)
|
||||
/* f00ecf0: 00001825 */ or $v1,$zero,$zero
|
||||
/* f00ecf4: 00c01025 */ or $v0,$a2,$zero
|
||||
/* f00ecf8: 1300000a */ beqz $t8,.L0f00ed24
|
||||
/* f00ecfc: 00000000 */ nop
|
||||
/* f00ed00: 8cc40000 */ lw $a0,0x0($a2)
|
||||
/* f00ed04: 0089c821 */ addu $t9,$a0,$t1
|
||||
.L0f00ed08:
|
||||
/* f00ed08: ac590000 */ sw $t9,0x0($v0)
|
||||
/* f00ed0c: 8ce60018 */ lw $a2,0x18($a3)
|
||||
/* f00ed10: 24630008 */ addiu $v1,$v1,0x8
|
||||
/* f00ed14: 00c31021 */ addu $v0,$a2,$v1
|
||||
/* f00ed18: 8c440000 */ lw $a0,0x0($v0)
|
||||
/* f00ed1c: 5480fffa */ bnezl $a0,.L0f00ed08
|
||||
/* f00ed20: 0089c821 */ addu $t9,$a0,$t1
|
||||
.L0f00ed24:
|
||||
/* f00ed24: 3c088008 */ lui $t0,%hi(g_GlobalAilists)
|
||||
/* f00ed28: 2508ac58 */ addiu $t0,$t0,%lo(g_GlobalAilists)
|
||||
/* f00ed2c: 27a40050 */ addiu $a0,$sp,0x50
|
||||
/* f00ed30: 8d0a0008 */ lw $t2,0x8($t0)
|
||||
.L0f00ed34:
|
||||
/* f00ed34: 3c028008 */ lui $v0,%hi(g_GlobalAilists)
|
||||
/* f00ed38: 00002825 */ or $a1,$zero,$zero
|
||||
/* f00ed3c: 11400017 */ beqz $t2,.L0f00ed9c
|
||||
/* f00ed40: 2442ac58 */ addiu $v0,$v0,%lo(g_GlobalAilists)
|
||||
/* f00ed44: 8c4b000c */ lw $t3,0xc($v0)
|
||||
.L0f00ed48:
|
||||
/* f00ed48: 8c4c0004 */ lw $t4,0x4($v0)
|
||||
/* f00ed4c: 016c082a */ slt $at,$t3,$t4
|
||||
/* f00ed50: 5020000f */ beqzl $at,.L0f00ed90
|
||||
/* f00ed54: 8c4b0010 */ lw $t3,0x10($v0)
|
||||
/* f00ed58: 8c410000 */ lw $at,0x0($v0)
|
||||
/* f00ed5c: 24430008 */ addiu $v1,$v0,0x8
|
||||
/* f00ed60: 8c4e0004 */ lw $t6,0x4($v0)
|
||||
/* f00ed64: ac810000 */ sw $at,0x0($a0)
|
||||
/* f00ed68: 8c610000 */ lw $at,0x0($v1)
|
||||
/* f00ed6c: 24050001 */ addiu $a1,$zero,0x1
|
||||
/* f00ed70: ac8e0004 */ sw $t6,0x4($a0)
|
||||
/* f00ed74: ac410000 */ sw $at,0x0($v0)
|
||||
/* f00ed78: 8c780004 */ lw $t8,0x4($v1)
|
||||
/* f00ed7c: 8c810000 */ lw $at,0x0($a0)
|
||||
/* f00ed80: ac580004 */ sw $t8,0x4($v0)
|
||||
/* f00ed84: ac6e0004 */ sw $t6,0x4($v1)
|
||||
/* f00ed88: ac610000 */ sw $at,0x0($v1)
|
||||
/* f00ed8c: 8c4b0010 */ lw $t3,0x10($v0)
|
||||
.L0f00ed90:
|
||||
/* f00ed90: 24420008 */ addiu $v0,$v0,0x8
|
||||
/* f00ed94: 5560ffec */ bnezl $t3,.L0f00ed48
|
||||
/* f00ed98: 8c4b000c */ lw $t3,0xc($v0)
|
||||
.L0f00ed9c:
|
||||
/* f00ed9c: 54a0ffe5 */ bnezl $a1,.L0f00ed34
|
||||
/* f00eda0: 8d0a0008 */ lw $t2,0x8($t0)
|
||||
/* f00eda4: 8ccc0008 */ lw $t4,0x8($a2)
|
||||
.L0f00eda8:
|
||||
/* f00eda8: 00002825 */ or $a1,$zero,$zero
|
||||
/* f00edac: 00001825 */ or $v1,$zero,$zero
|
||||
/* f00edb0: 1180001c */ beqz $t4,.L0f00ee24
|
||||
/* f00edb4: 00c01025 */ or $v0,$a2,$zero
|
||||
/* f00edb8: 8c4d000c */ lw $t5,0xc($v0)
|
||||
.L0f00edbc:
|
||||
/* f00edbc: 8c4e0004 */ lw $t6,0x4($v0)
|
||||
/* f00edc0: 01ae082a */ slt $at,$t5,$t6
|
||||
/* f00edc4: 50200013 */ beqzl $at,.L0f00ee14
|
||||
/* f00edc8: 8c4f0010 */ lw $t7,0x10($v0)
|
||||
/* f00edcc: 8c410000 */ lw $at,0x0($v0)
|
||||
/* f00edd0: 24050001 */ addiu $a1,$zero,0x1
|
||||
/* f00edd4: ac810000 */ sw $at,0x0($a0)
|
||||
/* f00edd8: 8c580004 */ lw $t8,0x4($v0)
|
||||
/* f00eddc: ac980004 */ sw $t8,0x4($a0)
|
||||
/* f00ede0: 8c4a000c */ lw $t2,0xc($v0)
|
||||
/* f00ede4: 8c410008 */ lw $at,0x8($v0)
|
||||
/* f00ede8: ac4a0004 */ sw $t2,0x4($v0)
|
||||
/* f00edec: ac410000 */ sw $at,0x0($v0)
|
||||
/* f00edf0: 8ceb0018 */ lw $t3,0x18($a3)
|
||||
/* f00edf4: 8c810000 */ lw $at,0x0($a0)
|
||||
/* f00edf8: 01636021 */ addu $t4,$t3,$v1
|
||||
/* f00edfc: ad810008 */ sw $at,0x8($t4)
|
||||
/* f00ee00: 8c8e0004 */ lw $t6,0x4($a0)
|
||||
/* f00ee04: ad8e000c */ sw $t6,0xc($t4)
|
||||
/* f00ee08: 8ce60018 */ lw $a2,0x18($a3)
|
||||
/* f00ee0c: 00c31021 */ addu $v0,$a2,$v1
|
||||
/* f00ee10: 8c4f0010 */ lw $t7,0x10($v0)
|
||||
.L0f00ee14:
|
||||
/* f00ee14: 24630008 */ addiu $v1,$v1,0x8
|
||||
/* f00ee18: 24420008 */ addiu $v0,$v0,0x8
|
||||
/* f00ee1c: 55e0ffe7 */ bnezl $t7,.L0f00edbc
|
||||
/* f00ee20: 8c4d000c */ lw $t5,0xc($v0)
|
||||
.L0f00ee24:
|
||||
/* f00ee24: 54a0ffe0 */ bnezl $a1,.L0f00eda8
|
||||
/* f00ee28: 8ccc0008 */ lw $t4,0x8($a2)
|
||||
/* f00ee2c: 0000c0c0 */ sll $t8,$zero,0x3
|
||||
/* f00ee30: 0118c821 */ addu $t9,$t0,$t8
|
||||
/* f00ee34: 8f2a0000 */ lw $t2,0x0($t9)
|
||||
/* f00ee38: 3c038006 */ lui $v1,%hi(g_NumGlobalAilists)
|
||||
/* f00ee3c: 2463ef30 */ addiu $v1,$v1,%lo(g_NumGlobalAilists)
|
||||
/* f00ee40: ac600000 */ sw $zero,0x0($v1)
|
||||
/* f00ee44: 11400009 */ beqz $t2,.L0f00ee6c
|
||||
/* f00ee48: 00001025 */ or $v0,$zero,$zero
|
||||
/* f00ee4c: 244b0001 */ addiu $t3,$v0,0x1
|
||||
.L0f00ee50:
|
||||
/* f00ee50: 000b68c0 */ sll $t5,$t3,0x3
|
||||
/* f00ee54: 010d6021 */ addu $t4,$t0,$t5
|
||||
/* f00ee58: 8d8e0000 */ lw $t6,0x0($t4)
|
||||
/* f00ee5c: ac6b0000 */ sw $t3,0x0($v1)
|
||||
/* f00ee60: 01601025 */ or $v0,$t3,$zero
|
||||
/* f00ee64: 55c0fffa */ bnezl $t6,.L0f00ee50
|
||||
/* f00ee68: 244b0001 */ addiu $t3,$v0,0x1
|
||||
.L0f00ee6c:
|
||||
/* f00ee6c: 3c038006 */ lui $v1,%hi(g_NumLvAilists)
|
||||
/* f00ee70: 2463ef34 */ addiu $v1,$v1,%lo(g_NumLvAilists)
|
||||
/* f00ee74: 000078c0 */ sll $t7,$zero,0x3
|
||||
/* f00ee78: 00cfc021 */ addu $t8,$a2,$t7
|
||||
/* f00ee7c: ac600000 */ sw $zero,0x0($v1)
|
||||
/* f00ee80: 8f190000 */ lw $t9,0x0($t8)
|
||||
/* f00ee84: 00001025 */ or $v0,$zero,$zero
|
||||
/* f00ee88: 13200008 */ beqz $t9,.L0f00eeac
|
||||
/* f00ee8c: 244a0001 */ addiu $t2,$v0,0x1
|
||||
.L0f00ee90:
|
||||
/* f00ee90: 000a58c0 */ sll $t3,$t2,0x3
|
||||
/* f00ee94: 00cb6821 */ addu $t5,$a2,$t3
|
||||
/* f00ee98: ac6a0000 */ sw $t2,0x0($v1)
|
||||
/* f00ee9c: 8dac0000 */ lw $t4,0x0($t5)
|
||||
/* f00eea0: 01401025 */ or $v0,$t2,$zero
|
||||
/* f00eea4: 5580fffa */ bnezl $t4,.L0f00ee90
|
||||
/* f00eea8: 244a0001 */ addiu $t2,$v0,0x1
|
||||
.L0f00eeac:
|
||||
/* f00eeac: 8ce20014 */ lw $v0,0x14($a3)
|
||||
/* f00eeb0: 1040001d */ beqz $v0,.L0f00ef28
|
||||
/* f00eeb4: 00000000 */ nop
|
||||
/* f00eeb8: 8c4e0000 */ lw $t6,0x0($v0)
|
||||
/* f00eebc: 00001825 */ or $v1,$zero,$zero
|
||||
/* f00eec0: 00403025 */ or $a2,$v0,$zero
|
||||
/* f00eec4: 11c00018 */ beqz $t6,.L0f00ef28
|
||||
/* f00eec8: 00000000 */ nop
|
||||
/* f00eecc: 8c450000 */ lw $a1,0x0($v0)
|
||||
/* f00eed0: 00a97821 */ addu $t7,$a1,$t1
|
||||
.L0f00eed4:
|
||||
/* f00eed4: accf0000 */ sw $t7,0x0($a2)
|
||||
/* f00eed8: 8cf80014 */ lw $t8,0x14($a3)
|
||||
/* f00eedc: 00002025 */ or $a0,$zero,$zero
|
||||
/* f00eee0: 03033021 */ addu $a2,$t8,$v1
|
||||
/* f00eee4: 8cc50000 */ lw $a1,0x0($a2)
|
||||
/* f00eee8: 8cb90000 */ lw $t9,0x0($a1)
|
||||
/* f00eeec: 00a01025 */ or $v0,$a1,$zero
|
||||
/* f00eef0: 07220007 */ bltzl $t9,.L0f00ef10
|
||||
/* f00eef4: a4c40006 */ sh $a0,0x6($a2)
|
||||
/* f00eef8: 8c4a0004 */ lw $t2,0x4($v0)
|
||||
.L0f00eefc:
|
||||
/* f00eefc: 24840001 */ addiu $a0,$a0,0x1
|
||||
/* f00ef00: 24420004 */ addiu $v0,$v0,0x4
|
||||
/* f00ef04: 0543fffd */ bgezl $t2,.L0f00eefc
|
||||
/* f00ef08: 8c4a0004 */ lw $t2,0x4($v0)
|
||||
/* f00ef0c: a4c40006 */ sh $a0,0x6($a2)
|
||||
.L0f00ef10:
|
||||
/* f00ef10: 8ceb0014 */ lw $t3,0x14($a3)
|
||||
/* f00ef14: 24630008 */ addiu $v1,$v1,0x8
|
||||
/* f00ef18: 01633021 */ addu $a2,$t3,$v1
|
||||
/* f00ef1c: 8cc50000 */ lw $a1,0x0($a2)
|
||||
/* f00ef20: 54a0ffec */ bnezl $a1,.L0f00eed4
|
||||
/* f00ef24: 00a97821 */ addu $t7,$a1,$t1
|
||||
.L0f00ef28:
|
||||
/* f00ef28: 0fc03398 */ jal setupCountCommandType
|
||||
/* f00ef2c: 24040009 */ addiu $a0,$zero,0x9
|
||||
/* f00ef30: 3c05800a */ lui $a1,%hi(g_Vars)
|
||||
/* f00ef34: 24a59fc0 */ addiu $a1,$a1,%lo(g_Vars)
|
||||
/* f00ef38: 8cad0318 */ lw $t5,0x318($a1)
|
||||
/* f00ef3c: 00401825 */ or $v1,$v0,$zero
|
||||
/* f00ef40: 24040008 */ addiu $a0,$zero,0x8
|
||||
/* f00ef44: 15a00009 */ bnez $t5,.L0f00ef6c
|
||||
/* f00ef48: 3c0c800a */ lui $t4,%hi(g_MissionConfig+0x3)
|
||||
/* f00ef4c: 818edfeb */ lb $t6,%lo(g_MissionConfig+0x3)($t4)
|
||||
/* f00ef50: 05c10006 */ bgez $t6,.L0f00ef6c
|
||||
/* f00ef54: 00000000 */ nop
|
||||
/* f00ef58: 8ca20474 */ lw $v0,0x474($a1)
|
||||
/* f00ef5c: 18400003 */ blez $v0,.L0f00ef6c
|
||||
/* f00ef60: 00000000 */ nop
|
||||
/* f00ef64: 00621821 */ addu $v1,$v1,$v0
|
||||
/* f00ef68: 00408025 */ or $s0,$v0,$zero
|
||||
.L0f00ef6c:
|
||||
/* f00ef6c: 0fc03398 */ jal setupCountCommandType
|
||||
/* f00ef70: afa3004c */ sw $v1,0x4c($sp)
|
||||
/* f00ef74: 02028021 */ addu $s0,$s0,$v0
|
||||
/* f00ef78: 0fc03398 */ jal setupCountCommandType
|
||||
/* f00ef7c: 24040004 */ addiu $a0,$zero,0x4
|
||||
/* f00ef80: 02028021 */ addu $s0,$s0,$v0
|
||||
/* f00ef84: 0fc03398 */ jal setupCountCommandType
|
||||
/* f00ef88: 24040011 */ addiu $a0,$zero,0x11
|
||||
/* f00ef8c: 02028021 */ addu $s0,$s0,$v0
|
||||
/* f00ef90: 0fc03398 */ jal setupCountCommandType
|
||||
/* f00ef94: 24040001 */ addiu $a0,$zero,0x1
|
||||
/* f00ef98: 02028021 */ addu $s0,$s0,$v0
|
||||
/* f00ef9c: 0fc03398 */ jal setupCountCommandType
|
||||
/* f00efa0: 24040006 */ addiu $a0,$zero,0x6
|
||||
/* f00efa4: 02028021 */ addu $s0,$s0,$v0
|
||||
/* f00efa8: 0fc03398 */ jal setupCountCommandType
|
||||
/* f00efac: 2404000d */ addiu $a0,$zero,0xd
|
||||
/* f00efb0: 02028021 */ addu $s0,$s0,$v0
|
||||
/* f00efb4: 0fc03398 */ jal setupCountCommandType
|
||||
/* f00efb8: 2404000c */ addiu $a0,$zero,0xc
|
||||
/* f00efbc: 02028021 */ addu $s0,$s0,$v0
|
||||
/* f00efc0: 0fc03398 */ jal setupCountCommandType
|
||||
/* f00efc4: 2404000a */ addiu $a0,$zero,0xa
|
||||
/* f00efc8: 02028021 */ addu $s0,$s0,$v0
|
||||
/* f00efcc: 0fc03398 */ jal setupCountCommandType
|
||||
/* f00efd0: 2404000b */ addiu $a0,$zero,0xb
|
||||
/* f00efd4: 02028021 */ addu $s0,$s0,$v0
|
||||
/* f00efd8: 0fc03398 */ jal setupCountCommandType
|
||||
/* f00efdc: 24040015 */ addiu $a0,$zero,0x15
|
||||
/* f00efe0: 02028021 */ addu $s0,$s0,$v0
|
||||
/* f00efe4: 0fc03398 */ jal setupCountCommandType
|
||||
/* f00efe8: 24040003 */ addiu $a0,$zero,0x3
|
||||
/* f00efec: 02028021 */ addu $s0,$s0,$v0
|
||||
/* f00eff0: 0fc03398 */ jal setupCountCommandType
|
||||
/* f00eff4: 2404000f */ addiu $a0,$zero,0xf
|
||||
/* f00eff8: 02028021 */ addu $s0,$s0,$v0
|
||||
/* f00effc: 0fc03398 */ jal setupCountCommandType
|
||||
/* f00f000: 2404002a */ addiu $a0,$zero,0x2a
|
||||
/* f00f004: 02028021 */ addu $s0,$s0,$v0
|
||||
/* f00f008: 0fc03398 */ jal setupCountCommandType
|
||||
/* f00f00c: 2404002f */ addiu $a0,$zero,0x2f
|
||||
/* f00f010: 02028021 */ addu $s0,$s0,$v0
|
||||
/* f00f014: 0fc03398 */ jal setupCountCommandType
|
||||
/* f00f018: 2404002b */ addiu $a0,$zero,0x2b
|
||||
/* f00f01c: 02028021 */ addu $s0,$s0,$v0
|
||||
/* f00f020: 0fc03398 */ jal setupCountCommandType
|
||||
/* f00f024: 24040029 */ addiu $a0,$zero,0x29
|
||||
/* f00f028: 02028021 */ addu $s0,$s0,$v0
|
||||
/* f00f02c: 0fc03398 */ jal setupCountCommandType
|
||||
/* f00f030: 24040024 */ addiu $a0,$zero,0x24
|
||||
/* f00f034: 02028021 */ addu $s0,$s0,$v0
|
||||
/* f00f038: 0fc03398 */ jal setupCountCommandType
|
||||
/* f00f03c: 24040005 */ addiu $a0,$zero,0x5
|
||||
/* f00f040: 02028021 */ addu $s0,$s0,$v0
|
||||
/* f00f044: 0fc03398 */ jal setupCountCommandType
|
||||
/* f00f048: 24040007 */ addiu $a0,$zero,0x7
|
||||
/* f00f04c: 02028021 */ addu $s0,$s0,$v0
|
||||
/* f00f050: 0fc03398 */ jal setupCountCommandType
|
||||
/* f00f054: 24040014 */ addiu $a0,$zero,0x14
|
||||
/* f00f058: 02028021 */ addu $s0,$s0,$v0
|
||||
/* f00f05c: 0fc03398 */ jal setupCountCommandType
|
||||
/* f00f060: 24040027 */ addiu $a0,$zero,0x27
|
||||
/* f00f064: 02028021 */ addu $s0,$s0,$v0
|
||||
/* f00f068: 0fc03398 */ jal setupCountCommandType
|
||||
/* f00f06c: 2404002d */ addiu $a0,$zero,0x2d
|
||||
/* f00f070: 02028021 */ addu $s0,$s0,$v0
|
||||
/* f00f074: 0fc03398 */ jal setupCountCommandType
|
||||
/* f00f078: 24040030 */ addiu $a0,$zero,0x30
|
||||
/* f00f07c: 02028021 */ addu $s0,$s0,$v0
|
||||
/* f00f080: 0fc03398 */ jal setupCountCommandType
|
||||
/* f00f084: 24040033 */ addiu $a0,$zero,0x33
|
||||
/* f00f088: 02028021 */ addu $s0,$s0,$v0
|
||||
/* f00f08c: 0fc03398 */ jal setupCountCommandType
|
||||
/* f00f090: 24040035 */ addiu $a0,$zero,0x35
|
||||
/* f00f094: 02028021 */ addu $s0,$s0,$v0
|
||||
/* f00f098: 0fc03398 */ jal setupCountCommandType
|
||||
/* f00f09c: 24040036 */ addiu $a0,$zero,0x36
|
||||
/* f00f0a0: 02028021 */ addu $s0,$s0,$v0
|
||||
/* f00f0a4: 0fc03398 */ jal setupCountCommandType
|
||||
/* f00f0a8: 24040037 */ addiu $a0,$zero,0x37
|
||||
/* f00f0ac: 02028021 */ addu $s0,$s0,$v0
|
||||
/* f00f0b0: 0fc03398 */ jal setupCountCommandType
|
||||
/* f00f0b4: 24040039 */ addiu $a0,$zero,0x39
|
||||
/* f00f0b8: 02028021 */ addu $s0,$s0,$v0
|
||||
/* f00f0bc: 0fc03398 */ jal setupCountCommandType
|
||||
/* f00f0c0: 24040028 */ addiu $a0,$zero,0x28
|
||||
/* f00f0c4: 02028021 */ addu $s0,$s0,$v0
|
||||
/* f00f0c8: 0fc03398 */ jal setupCountCommandType
|
||||
/* f00f0cc: 2404003b */ addiu $a0,$zero,0x3b
|
||||
/* f00f0d0: 3c0f800a */ lui $t7,%hi(g_Vars+0x318)
|
||||
/* f00f0d4: 8defa2d8 */ lw $t7,%lo(g_Vars+0x318)($t7)
|
||||
/* f00f0d8: 02028021 */ addu $s0,$s0,$v0
|
||||
/* f00f0dc: 51e00005 */ beqzl $t7,.L0f00f0f4
|
||||
/* f00f0e0: 02002025 */ or $a0,$s0,$zero
|
||||
/* f00f0e4: 0fc61533 */ jal scenarioCallback08
|
||||
/* f00f0e8: 00000000 */ nop
|
||||
/* f00f0ec: 02028021 */ addu $s0,$s0,$v0
|
||||
/* f00f0f0: 02002025 */ or $a0,$s0,$zero
|
||||
.L0f00f0f4:
|
||||
/* f00f0f4: 0fc0444c */ jal func0f011130
|
||||
/* f00f0f8: 8fa5004c */ lw $a1,0x4c($sp)
|
||||
/* f00f0fc: 1000000c */ b .L0f00f130
|
||||
/* f00f100: 00000000 */ nop
|
||||
.L0f00f104:
|
||||
/* f00f104: 24e7d030 */ addiu $a3,$a3,%lo(g_StageSetup)
|
||||
/* f00f108: ace00000 */ sw $zero,0x0($a3)
|
||||
/* f00f10c: ace00004 */ sw $zero,0x4($a3)
|
||||
/* f00f110: ace0000c */ sw $zero,0xc($a3)
|
||||
/* f00f114: ace00010 */ sw $zero,0x10($a3)
|
||||
/* f00f118: ace00014 */ sw $zero,0x14($a3)
|
||||
/* f00f11c: ace00018 */ sw $zero,0x18($a3)
|
||||
/* f00f120: ace0001c */ sw $zero,0x1c($a3)
|
||||
/* f00f124: 00002025 */ or $a0,$zero,$zero
|
||||
/* f00f128: 0fc0444c */ jal func0f011130
|
||||
/* f00f12c: 00002825 */ or $a1,$zero,$zero
|
||||
.L0f00f130:
|
||||
/* f00f130: 3c028009 */ lui $v0,%hi(g_Is4Mb)
|
||||
/* f00f134: 90420af0 */ lbu $v0,%lo(g_Is4Mb)($v0)
|
||||
/* f00f138: 8fb8004c */ lw $t8,0x4c($sp)
|
||||
/* f00f13c: 24040001 */ addiu $a0,$zero,0x1
|
||||
/* f00f140: 14820003 */ bne $a0,$v0,.L0f00f150
|
||||
/* f00f144: 0218c821 */ addu $t9,$s0,$t8
|
||||
/* f00f148: 10000002 */ b .L0f00f154
|
||||
/* f00f14c: 24030028 */ addiu $v1,$zero,0x28
|
||||
.L0f00f150:
|
||||
/* f00f150: 2403003c */ addiu $v1,$zero,0x3c
|
||||
.L0f00f154:
|
||||
/* f00f154: 8fbf001c */ lw $ra,0x1c($sp)
|
||||
/* f00f158: 03235021 */ addu $t2,$t9,$v1
|
||||
/* f00f15c: 254b0028 */ addiu $t3,$t2,0x28
|
||||
/* f00f160: 3c01800a */ lui $at,%hi(g_Vars+0x334)
|
||||
/* f00f164: 8fb00018 */ lw $s0,0x18($sp)
|
||||
/* f00f168: ac2ba2f4 */ sw $t3,%lo(g_Vars+0x334)($at)
|
||||
/* f00f16c: 03e00008 */ jr $ra
|
||||
/* f00f170: 27bd0060 */ addiu $sp,$sp,0x60
|
||||
);
|
||||
void setupLoadFiles(s32 stagenum)
|
||||
{
|
||||
s32 i;
|
||||
s32 j;
|
||||
struct ailist tmp;
|
||||
s32 numchrs = 0;
|
||||
s32 total = 0;
|
||||
s32 extra;
|
||||
struct stagesetup *setup;
|
||||
u16 filenum;
|
||||
bool modified;
|
||||
|
||||
var80069960 = 0;
|
||||
var80069964 = 0xffffffff;
|
||||
|
||||
g_DoorScale = 1;
|
||||
|
||||
for (i = 0; i < ARRAYCOUNT(g_ModelStates); i++) {
|
||||
g_ModelStates[i].filedata = NULL;
|
||||
}
|
||||
|
||||
if (stagenum < STAGE_TITLE) {
|
||||
if (g_Vars.normmplayerisrunning) {
|
||||
filenum = g_Stages[g_StageIndex].mpsetupfileid;
|
||||
} else {
|
||||
filenum = g_Stages[g_StageIndex].setupfileid;
|
||||
}
|
||||
|
||||
g_LoadState = LOADSTATE_SETUP;
|
||||
|
||||
g_GeCreditsData = (u8 *)func0f1670fc(filenum, 0x22);
|
||||
setup = (struct stagesetup *)g_GeCreditsData;
|
||||
langSetBankSimple(langGetLangBankIndexFromStagenum(stagenum));
|
||||
|
||||
g_StageSetup.intro = (s32 *)((u32)setup + (u32)setup->intro);
|
||||
g_StageSetup.props = (u32 *)((u32)setup + (u32)setup->props);
|
||||
g_StageSetup.paths = (struct path *)((u32)setup + (u32)setup->paths);
|
||||
g_StageSetup.ailists = (struct ailist *)((u32)setup + (u32)setup->ailists);
|
||||
|
||||
g_LoadState = LOADSTATE_PADS;
|
||||
|
||||
g_StageSetup.padfiledata = func0f1670fc(g_Stages[g_StageIndex].padsfileid, 0x22);
|
||||
|
||||
g_StageSetup.waypoints = NULL;
|
||||
g_StageSetup.waygroups = NULL;
|
||||
g_StageSetup.cover = NULL;
|
||||
|
||||
// Convert ailist pointers from file-local to proper pointers
|
||||
if (g_StageSetup.ailists) {
|
||||
for (i = 0; g_StageSetup.ailists[i].list != NULL; i++) {
|
||||
g_StageSetup.ailists[i].list = (u8 *)((u32)setup + (u32)g_StageSetup.ailists[i].list);
|
||||
}
|
||||
}
|
||||
|
||||
// Sort the global AI lists by ID asc
|
||||
do {
|
||||
modified = false;
|
||||
|
||||
for (i = 0; g_GlobalAilists[i + 1].list != NULL; i++) {
|
||||
if (g_GlobalAilists[i + 1].id < g_GlobalAilists[i].id) {
|
||||
// Swap them
|
||||
tmp = g_GlobalAilists[i];
|
||||
g_GlobalAilists[i] = g_GlobalAilists[i + 1];
|
||||
g_GlobalAilists[i + 1] = tmp;
|
||||
|
||||
modified = true;
|
||||
}
|
||||
}
|
||||
} while (modified);
|
||||
|
||||
// Sort the stage AI lists by ID asc
|
||||
do {
|
||||
modified = false;
|
||||
|
||||
for (i = 0; g_StageSetup.ailists[i + 1].list != NULL; i++) {
|
||||
if (g_StageSetup.ailists[i + 1].id < g_StageSetup.ailists[i].id) {
|
||||
// Swap them
|
||||
tmp = g_StageSetup.ailists[i];
|
||||
g_StageSetup.ailists[i] = g_StageSetup.ailists[i + 1];
|
||||
g_StageSetup.ailists[i + 1] = tmp;
|
||||
|
||||
modified = true;
|
||||
}
|
||||
}
|
||||
} while (modified);
|
||||
|
||||
// Count the AI lists
|
||||
for (g_NumGlobalAilists = 0; g_GlobalAilists[g_NumGlobalAilists].list != NULL; g_NumGlobalAilists++);
|
||||
for (g_NumLvAilists = 0; g_StageSetup.ailists[g_NumLvAilists].list != NULL; g_NumLvAilists++);
|
||||
|
||||
// Convert path pad pointers from file-local to proper pointers
|
||||
// and calculate the path lengths
|
||||
if (g_StageSetup.paths) {
|
||||
for (i = 0; g_StageSetup.paths[i].pads != NULL; i++) {
|
||||
g_StageSetup.paths[i].pads = (s32 *)((u32)g_StageSetup.paths[i].pads + (u32)setup);
|
||||
|
||||
for (j = 0; g_StageSetup.paths[i].pads[j] >= 0; j++);
|
||||
|
||||
g_StageSetup.paths[i].len = j;
|
||||
}
|
||||
}
|
||||
|
||||
numchrs += setupCountCommandType(OBJTYPE_CHR);
|
||||
|
||||
if (!g_Vars.normmplayerisrunning && g_MissionConfig.iscoop && g_Vars.numaibuddies > 0) {
|
||||
numchrs += g_Vars.numaibuddies;
|
||||
total += g_Vars.numaibuddies;
|
||||
}
|
||||
|
||||
total += setupCountCommandType(OBJTYPE_WEAPON);
|
||||
total += setupCountCommandType(OBJTYPE_KEY);
|
||||
total += setupCountCommandType(OBJTYPE_HAT);
|
||||
total += setupCountCommandType(OBJTYPE_DOOR);
|
||||
total += setupCountCommandType(OBJTYPE_CAMERA);
|
||||
total += setupCountCommandType(OBJTYPE_AUTOGUN);
|
||||
total += setupCountCommandType(OBJTYPE_HANGINGMONITORS);
|
||||
total += setupCountCommandType(OBJTYPE_SINGLEMONITOR);
|
||||
total += setupCountCommandType(OBJTYPE_MULTIMONITOR);
|
||||
total += setupCountCommandType(OBJTYPE_SHIELD);
|
||||
total += setupCountCommandType(OBJTYPE_BASIC);
|
||||
total += setupCountCommandType(OBJTYPE_DEBRIS);
|
||||
total += setupCountCommandType(OBJTYPE_GLASS);
|
||||
total += setupCountCommandType(OBJTYPE_TINTEDGLASS);
|
||||
total += setupCountCommandType(OBJTYPE_SAFE);
|
||||
total += setupCountCommandType(OBJTYPE_29);
|
||||
total += setupCountCommandType(OBJTYPE_24);
|
||||
total += setupCountCommandType(OBJTYPE_ALARM);
|
||||
total += setupCountCommandType(OBJTYPE_AMMOCRATE);
|
||||
total += setupCountCommandType(OBJTYPE_MULTIAMMOCRATE);
|
||||
total += setupCountCommandType(OBJTYPE_TRUCK);
|
||||
total += setupCountCommandType(OBJTYPE_TANK);
|
||||
total += setupCountCommandType(OBJTYPE_LIFT);
|
||||
total += setupCountCommandType(OBJTYPE_HOVERBIKE);
|
||||
total += setupCountCommandType(OBJTYPE_HOVERPROP);
|
||||
total += setupCountCommandType(OBJTYPE_FAN);
|
||||
total += setupCountCommandType(OBJTYPE_HOVERCAR);
|
||||
total += setupCountCommandType(OBJTYPE_CHOPPER);
|
||||
total += setupCountCommandType(OBJTYPE_HELI);
|
||||
total += setupCountCommandType(OBJTYPE_ESCASTEP);
|
||||
|
||||
if (g_Vars.normmplayerisrunning) {
|
||||
total += scenarioCallback08();
|
||||
}
|
||||
|
||||
func0f011130(total, numchrs);
|
||||
} else {
|
||||
// cover isn't set to NULL here... I guess it's not important
|
||||
g_StageSetup.waypoints = NULL;
|
||||
g_StageSetup.waygroups = NULL;
|
||||
g_StageSetup.intro = 0;
|
||||
g_StageSetup.props = 0;
|
||||
g_StageSetup.paths = NULL;
|
||||
g_StageSetup.ailists = NULL;
|
||||
g_StageSetup.padfiledata = NULL;
|
||||
|
||||
func0f011130(0, 0);
|
||||
}
|
||||
|
||||
if (IS4MB()) {
|
||||
extra = 40;
|
||||
} else {
|
||||
extra = 60;
|
||||
}
|
||||
|
||||
if (IS4MB());
|
||||
|
||||
g_Vars.maxprops = total + numchrs + extra + 40;
|
||||
}
|
||||
|
||||
void setupParseObjects(s32 stagenum)
|
||||
{
|
||||
|
|
@ -2580,7 +2331,7 @@ void setupParseObjects(s32 stagenum)
|
|||
case OBJTYPE_LIFT:
|
||||
if (withobjs && (obj->flags2 & diffflag) == 0) {
|
||||
struct liftobj *lift = (struct liftobj *)obj;
|
||||
struct propdefinition *propdef;
|
||||
struct modelstate *modelstate;
|
||||
s32 modelnum = obj->modelnum;
|
||||
struct prop *prop;
|
||||
s32 i;
|
||||
|
|
@ -2600,22 +2351,22 @@ void setupParseObjects(s32 stagenum)
|
|||
|
||||
obj->numtiles = 1;
|
||||
propLoad(modelnum);
|
||||
propdef = &g_Props[modelnum];
|
||||
modelstate = &g_ModelStates[modelnum];
|
||||
|
||||
if (propdef->filedata) {
|
||||
if (modelGetPartNodeData(propdef->filedata, 1)) {
|
||||
if (modelstate->filedata) {
|
||||
if (modelGetPartNodeData(modelstate->filedata, 1)) {
|
||||
obj->numtiles++;
|
||||
}
|
||||
if (modelGetPartNodeData(propdef->filedata, 2)) {
|
||||
if (modelGetPartNodeData(modelstate->filedata, 2)) {
|
||||
obj->numtiles++;
|
||||
}
|
||||
if (modelGetPartNodeData(propdef->filedata, 3)) {
|
||||
if (modelGetPartNodeData(modelstate->filedata, 3)) {
|
||||
obj->numtiles++;
|
||||
}
|
||||
if (modelGetPartNodeData(propdef->filedata, 4)) {
|
||||
if (modelGetPartNodeData(modelstate->filedata, 4)) {
|
||||
obj->numtiles++;
|
||||
}
|
||||
if (modelGetPartNodeData(propdef->filedata, 6)) {
|
||||
if (modelGetPartNodeData(modelstate->filedata, 6)) {
|
||||
obj->numtiles++;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ void stageLoadTiles(void)
|
|||
index = 0;
|
||||
}
|
||||
|
||||
var8005d9a0 = 2;
|
||||
g_LoadState = LOADSTATE_TILES;
|
||||
g_TileFileData.u8 = func0f1670fc(g_Stages[index].tilefileid, 0x22);
|
||||
g_TileNumRooms = *g_TileFileData.u32;
|
||||
g_TileRooms = g_TileFileData.u32 + 1;
|
||||
|
|
|
|||
|
|
@ -191,9 +191,9 @@ glabel setupGetCommandOffset
|
|||
|
||||
bool propLoad(s32 propnum)
|
||||
{
|
||||
if (g_Props[propnum].filedata == NULL) {
|
||||
g_Props[propnum].filedata = fileLoad(g_Props[propnum].fileid);
|
||||
func00022d24(g_Props[propnum].filedata);
|
||||
if (g_ModelStates[propnum].filedata == NULL) {
|
||||
g_ModelStates[propnum].filedata = fileLoad(g_ModelStates[propnum].fileid);
|
||||
func00022d24(g_ModelStates[propnum].filedata);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -8230,8 +8230,8 @@ glabel func0f09e144
|
|||
/* f09e1cc: 240b0007 */ addiu $t3,$zero,0x7
|
||||
/* f09e1d0: 02003825 */ or $a3,$s0,$zero
|
||||
.L0f09e1d4:
|
||||
/* f09e1d4: 3c018006 */ lui $at,%hi(var8005d9a0)
|
||||
/* f09e1d8: a02bd9a0 */ sb $t3,%lo(var8005d9a0)($at)
|
||||
/* f09e1d4: 3c018006 */ lui $at,%hi(g_LoadState)
|
||||
/* f09e1d8: a02bd9a0 */ sb $t3,%lo(g_LoadState)($at)
|
||||
/* f09e1dc: 964415b2 */ lhu $a0,0x15b2($s2)
|
||||
/* f09e1e0: 24050011 */ addiu $a1,$zero,0x11
|
||||
/* f09e1e4: 0fc59c80 */ jal func0f167200
|
||||
|
|
|
|||
|
|
@ -1760,10 +1760,10 @@ glabel var7f1ad5b4
|
|||
/* f0b8e84: 8fb90070 */ lw $t9,0x70($sp)
|
||||
/* f0b8e88: 0720000b */ bltz $t9,.L0f0b8eb8
|
||||
/* f0b8e8c: 001948c0 */ sll $t1,$t9,0x3
|
||||
/* f0b8e90: 3c048008 */ lui $a0,%hi(g_Props+0x4)
|
||||
/* f0b8e90: 3c048008 */ lui $a0,%hi(g_ModelStates+0x4)
|
||||
/* f0b8e94: 00892021 */ addu $a0,$a0,$t1
|
||||
/* f0b8e98: 0fc59c15 */ jal fileGetInflatedLength
|
||||
/* f0b8e9c: 9484b070 */ lhu $a0,%lo(g_Props+0x4)($a0)
|
||||
/* f0b8e9c: 9484b070 */ lhu $a0,%lo(g_ModelStates+0x4)($a0)
|
||||
/* f0b8ea0: 8fb800e4 */ lw $t8,0xe4($sp)
|
||||
/* f0b8ea4: 244f003f */ addiu $t7,$v0,0x3f
|
||||
/* f0b8ea8: 35ea003f */ ori $t2,$t7,0x3f
|
||||
|
|
@ -2132,8 +2132,8 @@ glabel var7f1ad5b4
|
|||
/* f0b9410: 05400023 */ bltz $t2,.L0f0b94a0
|
||||
/* f0b9414: 00000000 */ nop
|
||||
/* f0b9418: 8e0c0314 */ lw $t4,0x314($s0)
|
||||
/* f0b941c: 3c0b8008 */ lui $t3,%hi(g_Props)
|
||||
/* f0b9420: 256bb06c */ addiu $t3,$t3,%lo(g_Props)
|
||||
/* f0b941c: 3c0b8008 */ lui $t3,%hi(g_ModelStates)
|
||||
/* f0b9420: 256bb06c */ addiu $t3,$t3,%lo(g_ModelStates)
|
||||
/* f0b9424: 15800013 */ bnez $t4,.L0f0b9474
|
||||
/* f0b9428: 000a68c0 */ sll $t5,$t2,0x3
|
||||
/* f0b942c: 8fb900f0 */ lw $t9,0xf0($sp)
|
||||
|
|
|
|||
|
|
@ -193,7 +193,7 @@ void *func0f1a7794(u16 fileid, u8 *arg1, s32 arg2, s32 arg3)
|
|||
{
|
||||
void *ptr;
|
||||
|
||||
var8005d9a0 = 6;
|
||||
g_LoadState = LOADSTATE_6;
|
||||
|
||||
if (arg1) {
|
||||
ptr = func0f167200(fileid, 0x11, arg1, arg2);
|
||||
|
|
|
|||
|
|
@ -4467,7 +4467,7 @@ glabel var7f1aa1fc
|
|||
/* f069dcc: 1549fff8 */ bne $t2,$t1,.L0f069db0
|
||||
/* f069dd0: ad61fffc */ sw $at,-0x4($t3)
|
||||
/* f069dd4: 8d410000 */ lw $at,0x0($t2)
|
||||
/* f069dd8: 3c058008 */ lui $a1,%hi(g_Props)
|
||||
/* f069dd8: 3c058008 */ lui $a1,%hi(g_ModelStates)
|
||||
/* f069ddc: 02002025 */ or $a0,$s0,$zero
|
||||
/* f069de0: ad610000 */ sw $at,0x0($t3)
|
||||
/* f069de4: 8d490004 */ lw $t1,0x4($t2)
|
||||
|
|
@ -4479,7 +4479,7 @@ glabel var7f1aa1fc
|
|||
/* f069dfc: 000fc0c0 */ sll $t8,$t7,0x3
|
||||
/* f069e00: 00b82821 */ addu $a1,$a1,$t8
|
||||
/* f069e04: 0fc1a94b */ jal func0f06a52c
|
||||
/* f069e08: 8ca5b06c */ lw $a1,%lo(g_Props)($a1)
|
||||
/* f069e08: 8ca5b06c */ lw $a1,%lo(g_ModelStates)($a1)
|
||||
/* f069e0c: 104000d3 */ beqz $v0,.L0f06a15c
|
||||
/* f069e10: 8fae00a8 */ lw $t6,0xa8($sp)
|
||||
/* f069e14: 8e040014 */ lw $a0,0x14($s0)
|
||||
|
|
@ -4845,14 +4845,14 @@ glabel func0f06a1ec
|
|||
/* f06a33c: a60a0058 */ sh $t2,0x58($s0)
|
||||
/* f06a340: ad700004 */ sw $s0,0x4($t3)
|
||||
/* f06a344: 8e0c0018 */ lw $t4,0x18($s0)
|
||||
/* f06a348: 3c0f8008 */ lui $t7,%hi(g_Props+0x6)
|
||||
/* f06a348: 3c0f8008 */ lui $t7,%hi(g_ModelStates+0x6)
|
||||
/* f06a34c: 3c014f80 */ lui $at,0x4f80
|
||||
/* f06a350: a1800001 */ sb $zero,0x1($t4)
|
||||
/* f06a354: 860d0004 */ lh $t5,0x4($s0)
|
||||
/* f06a358: 8e040018 */ lw $a0,0x18($s0)
|
||||
/* f06a35c: 000d70c0 */ sll $t6,$t5,0x3
|
||||
/* f06a360: 01ee7821 */ addu $t7,$t7,$t6
|
||||
/* f06a364: 95efb072 */ lhu $t7,%lo(g_Props+0x6)($t7)
|
||||
/* f06a364: 95efb072 */ lhu $t7,%lo(g_ModelStates+0x6)($t7)
|
||||
/* f06a368: 448f2000 */ mtc1 $t7,$f4
|
||||
/* f06a36c: 05e10004 */ bgez $t7,.L0f06a380
|
||||
/* f06a370: 468021a0 */ cvt.s.w $f6,$f4
|
||||
|
|
@ -4986,7 +4986,7 @@ struct prop *func0f06a52c(struct singlemonitorobj *monitor, struct modelfiledata
|
|||
|
||||
struct prop *func0f06a550(struct singlemonitorobj *monitor)
|
||||
{
|
||||
return func0f06a52c(monitor, g_Props[monitor->base.modelnum].filedata);
|
||||
return func0f06a52c(monitor, g_ModelStates[monitor->base.modelnum].filedata);
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
|
|
@ -35618,7 +35618,7 @@ glabel var7f1aab30
|
|||
/* f085714: ad41fffc */ sw $at,-0x4($t2)
|
||||
/* f085718: 8f010000 */ lw $at,0x0($t8)
|
||||
/* f08571c: 000260c0 */ sll $t4,$v0,0x3
|
||||
/* f085720: 3c058008 */ lui $a1,%hi(g_Props)
|
||||
/* f085720: 3c058008 */ lui $a1,%hi(g_ModelStates)
|
||||
/* f085724: ad410000 */ sw $at,0x0($t2)
|
||||
/* f085728: 8f090004 */ lw $t1,0x4($t8)
|
||||
/* f08572c: 00ac2821 */ addu $a1,$a1,$t4
|
||||
|
|
@ -35628,7 +35628,7 @@ glabel var7f1aab30
|
|||
/* f08573c: acf9005c */ sw $t9,0x5c($a3)
|
||||
/* f085740: afa700a0 */ sw $a3,0xa0($sp)
|
||||
/* f085744: 0fc1a94b */ jal func0f06a52c
|
||||
/* f085748: 8ca5b06c */ lw $a1,%lo(g_Props)($a1)
|
||||
/* f085748: 8ca5b06c */ lw $a1,%lo(g_ModelStates)($a1)
|
||||
/* f08574c: 1040007f */ beqz $v0,.L0f08594c
|
||||
/* f085750: 8fa700a0 */ lw $a3,0xa0($sp)
|
||||
/* f085754: 8ce40014 */ lw $a0,0x14($a3)
|
||||
|
|
@ -40163,7 +40163,7 @@ void func0f089d64(struct hatobj *hat, struct chrdata *chr)
|
|||
|
||||
propLoad(modelnum);
|
||||
|
||||
func0f089c70(hat, chr, g_Props[modelnum].filedata, 0, 0);
|
||||
func0f089c70(hat, chr, g_ModelStates[modelnum].filedata, 0, 0);
|
||||
}
|
||||
|
||||
void hatAssignToChr(struct hatobj *hat, struct chrdata *chr)
|
||||
|
|
@ -40184,10 +40184,10 @@ glabel chrTryEquipHat
|
|||
/* f089df8: 0fc2486d */ jal propLoad
|
||||
/* f089dfc: 00a02025 */ or $a0,$a1,$zero
|
||||
/* f089e00: 8fae00a4 */ lw $t6,0xa4($sp)
|
||||
/* f089e04: 3c188008 */ lui $t8,%hi(g_Props)
|
||||
/* f089e04: 3c188008 */ lui $t8,%hi(g_ModelStates)
|
||||
/* f089e08: 000e78c0 */ sll $t7,$t6,0x3
|
||||
/* f089e0c: 030fc021 */ addu $t8,$t8,$t7
|
||||
/* f089e10: 8f18b06c */ lw $t8,%lo(g_Props)($t8)
|
||||
/* f089e10: 8f18b06c */ lw $t8,%lo(g_ModelStates)($t8)
|
||||
/* f089e14: 0fc180d6 */ jal propAllocate
|
||||
/* f089e18: afb8009c */ sw $t8,0x9c($sp)
|
||||
/* f089e1c: 00408025 */ or $s0,$v0,$zero
|
||||
|
|
@ -41623,7 +41623,7 @@ void func0f08b208(struct weaponobj *weapon, struct chrdata *chr)
|
|||
s32 modelnum = weapon->base.modelnum;
|
||||
|
||||
propLoad(modelnum);
|
||||
func0f08b108(weapon, chr, g_Props[modelnum].filedata, 0, 0);
|
||||
func0f08b108(weapon, chr, g_ModelStates[modelnum].filedata, 0, 0);
|
||||
}
|
||||
|
||||
void func0f08b25c(struct weaponobj *weapon, struct chrdata *chr)
|
||||
|
|
@ -41673,7 +41673,7 @@ glabel var7f1aae98
|
|||
/* f08b2e0: 8fa400a8 */ lw $a0,0xa8($sp)
|
||||
/* f08b2e4: 8faa0094 */ lw $t2,0x94($sp)
|
||||
/* f08b2e8: 8fb900a8 */ lw $t9,0xa8($sp)
|
||||
/* f08b2ec: 3c098008 */ lui $t1,%hi(g_Props)
|
||||
/* f08b2ec: 3c098008 */ lui $t1,%hi(g_ModelStates)
|
||||
/* f08b2f0: 000a5880 */ sll $t3,$t2,0x2
|
||||
/* f08b2f4: 016a5823 */ subu $t3,$t3,$t2
|
||||
/* f08b2f8: 000b5880 */ sll $t3,$t3,0x2
|
||||
|
|
@ -41681,7 +41681,7 @@ glabel var7f1aae98
|
|||
/* f08b300: 01284821 */ addu $t1,$t1,$t0
|
||||
/* f08b304: 3c0c8007 */ lui $t4,%hi(g_ThrownLaptops)
|
||||
/* f08b308: 016a5823 */ subu $t3,$t3,$t2
|
||||
/* f08b30c: 8d29b06c */ lw $t1,%lo(g_Props)($t1)
|
||||
/* f08b30c: 8d29b06c */ lw $t1,%lo(g_ModelStates)($t1)
|
||||
/* f08b310: 8d8c9968 */ lw $t4,%lo(g_ThrownLaptops)($t4)
|
||||
/* f08b314: 000b5880 */ sll $t3,$t3,0x2
|
||||
/* f08b318: 016a5823 */ subu $t3,$t3,$t2
|
||||
|
|
@ -41992,10 +41992,10 @@ glabel var7f1aaf24
|
|||
/* f08b670: 0fc2486d */ jal propLoad
|
||||
/* f08b674: afa600a8 */ sw $a2,0xa8($sp)
|
||||
/* f08b678: 8fae00a0 */ lw $t6,0xa0($sp)
|
||||
/* f08b67c: 3c188008 */ lui $t8,%hi(g_Props)
|
||||
/* f08b67c: 3c188008 */ lui $t8,%hi(g_ModelStates)
|
||||
/* f08b680: 000e78c0 */ sll $t7,$t6,0x3
|
||||
/* f08b684: 030fc021 */ addu $t8,$t8,$t7
|
||||
/* f08b688: 8f18b06c */ lw $t8,%lo(g_Props)($t8)
|
||||
/* f08b688: 8f18b06c */ lw $t8,%lo(g_ModelStates)($t8)
|
||||
/* f08b68c: 0fc180d6 */ jal propAllocate
|
||||
/* f08b690: afb8009c */ sw $t8,0x9c($sp)
|
||||
/* f08b694: 00408825 */ or $s1,$v0,$zero
|
||||
|
|
@ -42176,10 +42176,10 @@ glabel func0f08b8e8
|
|||
/* f08b914: 0fc2486d */ jal propLoad
|
||||
/* f08b918: 00a02025 */ or $a0,$a1,$zero
|
||||
/* f08b91c: 8faf00a4 */ lw $t7,0xa4($sp)
|
||||
/* f08b920: 3c198008 */ lui $t9,%hi(g_Props)
|
||||
/* f08b920: 3c198008 */ lui $t9,%hi(g_ModelStates)
|
||||
/* f08b924: 000fc0c0 */ sll $t8,$t7,0x3
|
||||
/* f08b928: 0338c821 */ addu $t9,$t9,$t8
|
||||
/* f08b92c: 8f39b06c */ lw $t9,%lo(g_Props)($t9)
|
||||
/* f08b92c: 8f39b06c */ lw $t9,%lo(g_ModelStates)($t9)
|
||||
/* f08b930: afb900b4 */ sw $t9,0xb4($sp)
|
||||
.L0f08b934:
|
||||
/* f08b934: 0fc180d6 */ jal propAllocate
|
||||
|
|
@ -44238,10 +44238,10 @@ glabel var7f1aaf78
|
|||
/* f08d5a8: 0c005746 */ jal func00015d18
|
||||
/* f08d5ac: 27a50038 */ addiu $a1,$sp,0x38
|
||||
/* f08d5b0: 86090004 */ lh $t1,0x4($s0)
|
||||
/* f08d5b4: 3c0b8008 */ lui $t3,%hi(g_Props+0x6)
|
||||
/* f08d5b4: 3c0b8008 */ lui $t3,%hi(g_ModelStates+0x6)
|
||||
/* f08d5b8: 000950c0 */ sll $t2,$t1,0x3
|
||||
/* f08d5bc: 016a5821 */ addu $t3,$t3,$t2
|
||||
/* f08d5c0: 956bb072 */ lhu $t3,%lo(g_Props+0x6)($t3)
|
||||
/* f08d5c0: 956bb072 */ lhu $t3,%lo(g_ModelStates+0x6)($t3)
|
||||
/* f08d5c4: 448b2000 */ mtc1 $t3,$f4
|
||||
/* f08d5c8: 05610005 */ bgez $t3,.L0f08d5e0
|
||||
/* f08d5cc: 468021a0 */ cvt.s.w $f6,$f4
|
||||
|
|
|
|||
|
|
@ -3925,11 +3925,11 @@ glabel func0f15b534
|
|||
/* f15b63c: 24e6001e */ addiu $a2,$a3,0x1e
|
||||
/* f15b640: ac620000 */ sw $v0,0x0($v1)
|
||||
/* f15b644: 3964000f */ xori $a0,$t3,0xf
|
||||
/* f15b648: 3c018006 */ lui $at,%hi(var8005d9a0)
|
||||
/* f15b648: 3c018006 */ lui $at,%hi(g_LoadState)
|
||||
/* f15b64c: 240d0001 */ addiu $t5,$zero,0x1
|
||||
/* f15b650: 34ce000f */ ori $t6,$a2,0xf
|
||||
/* f15b654: 00808025 */ or $s0,$a0,$zero
|
||||
/* f15b658: a02dd9a0 */ sb $t5,%lo(var8005d9a0)($at)
|
||||
/* f15b658: a02dd9a0 */ sb $t5,%lo(g_LoadState)($at)
|
||||
/* f15b65c: 39c6000f */ xori $a2,$t6,0xf
|
||||
/* f15b660: 0fc56c71 */ jal func0f15b1c4
|
||||
/* f15b664: 00002825 */ or $a1,$zero,$zero
|
||||
|
|
@ -4188,11 +4188,11 @@ glabel func0f15b534
|
|||
/* f15b40c: 24e6001e */ addiu $a2,$a3,0x1e
|
||||
/* f15b410: ac620000 */ sw $v0,0x0($v1)
|
||||
/* f15b414: 3964000f */ xori $a0,$t3,0xf
|
||||
/* f15b418: 3c018006 */ lui $at,%hi(var8005d9a0)
|
||||
/* f15b418: 3c018006 */ lui $at,%hi(g_LoadState)
|
||||
/* f15b41c: 240d0001 */ addiu $t5,$zero,0x1
|
||||
/* f15b420: 34ce000f */ ori $t6,$a2,0xf
|
||||
/* f15b424: 00808025 */ or $s0,$a0,$zero
|
||||
/* f15b428: a02dd9a0 */ sb $t5,%lo(var8005d9a0)($at)
|
||||
/* f15b428: a02dd9a0 */ sb $t5,%lo(g_LoadState)($at)
|
||||
/* f15b42c: 39c6000f */ xori $a2,$t6,0xf
|
||||
/* f15b430: 0fc56be5 */ jal 0xf15af94
|
||||
/* f15b434: 00002825 */ or $a1,$zero,$zero
|
||||
|
|
|
|||
|
|
@ -1003,8 +1003,8 @@ glabel titleInitPdLogo
|
|||
/* f016d68: adc10000 */ sw $at,0x0($t6)
|
||||
/* f016d6c: 8de10008 */ lw $at,0x8($t7)
|
||||
/* f016d70: 8de80004 */ lw $t0,0x4($t7)
|
||||
/* f016d74: 3c118008 */ lui $s1,%hi(g_Props)
|
||||
/* f016d78: 2631b06c */ addiu $s1,$s1,%lo(g_Props)
|
||||
/* f016d74: 3c118008 */ lui $s1,%hi(g_ModelStates)
|
||||
/* f016d78: 2631b06c */ addiu $s1,$s1,%lo(g_ModelStates)
|
||||
/* f016d7c: 3c060004 */ lui $a2,0x4
|
||||
/* f016d80: adc10008 */ sw $at,0x8($t6)
|
||||
/* f016d84: adc80004 */ sw $t0,0x4($t6)
|
||||
|
|
@ -1207,59 +1207,59 @@ glabel titleInitPdLogo
|
|||
//
|
||||
// {
|
||||
// struct coord coord = {0, 0, 0}; // var80062738
|
||||
// g_Props[MODEL_NLOGO].filedata = func0f1a7794(g_Props[MODEL_NLOGO].fileid, nextaddr, 0x47800, 0);
|
||||
// size = ALIGN64(fileGetSize(g_Props[MODEL_NLOGO].fileid));
|
||||
// g_ModelStates[MODEL_NLOGO].filedata = func0f1a7794(g_ModelStates[MODEL_NLOGO].fileid, nextaddr, 0x47800, 0);
|
||||
// size = ALIGN64(fileGetSize(g_ModelStates[MODEL_NLOGO].fileid));
|
||||
// nextaddr += size;
|
||||
// remaining = 0x47800 - size;
|
||||
// func00022d24(g_Props[MODEL_NLOGO].filedata);
|
||||
// func00022d24(g_ModelStates[MODEL_NLOGO].filedata);
|
||||
//
|
||||
// g_TitleModel = func0f0b3280(g_Props[MODEL_NLOGO].filedata);
|
||||
// g_TitleModel = func0f0b3280(g_ModelStates[MODEL_NLOGO].filedata);
|
||||
// modelSetUnk14(g_TitleModel, 1);
|
||||
// modelSetRootPosition(g_TitleModel, &coord);
|
||||
// }
|
||||
//
|
||||
// {
|
||||
// struct coord coord = {0, 0, 0}; // var80062744
|
||||
// g_Props[MODEL_NLOGO2].filedata = func0f1a7794(g_Props[MODEL_NLOGO2].fileid, nextaddr, remaining, 0);
|
||||
// size = ALIGN64(fileGetSize(g_Props[MODEL_NLOGO2].fileid));
|
||||
// g_ModelStates[MODEL_NLOGO2].filedata = func0f1a7794(g_ModelStates[MODEL_NLOGO2].fileid, nextaddr, remaining, 0);
|
||||
// size = ALIGN64(fileGetSize(g_ModelStates[MODEL_NLOGO2].fileid));
|
||||
// nextaddr += size;
|
||||
// remaining -= size;
|
||||
// func00022d24(g_Props[MODEL_NLOGO2].filedata);
|
||||
// func00022d24(g_ModelStates[MODEL_NLOGO2].filedata);
|
||||
//
|
||||
// g_TitleModel2 = func0f0b3280(g_Props[MODEL_NLOGO2].filedata);
|
||||
// g_TitleModel2 = func0f0b3280(g_ModelStates[MODEL_NLOGO2].filedata);
|
||||
// modelSetUnk14(g_TitleModel2, 1);
|
||||
// modelSetRootPosition(g_TitleModel2, &coord);
|
||||
// }
|
||||
//
|
||||
// {
|
||||
// struct coord coord = {0, 0, 0}; // var80062750
|
||||
// g_Props[MODEL_PDTWO].filedata = func0f1a7794(g_Props[MODEL_PDTWO].fileid, nextaddr, remaining, 0);
|
||||
// size = ALIGN64(fileGetSize(g_Props[MODEL_PDTWO].fileid));
|
||||
// g_ModelStates[MODEL_PDTWO].filedata = func0f1a7794(g_ModelStates[MODEL_PDTWO].fileid, nextaddr, remaining, 0);
|
||||
// size = ALIGN64(fileGetSize(g_ModelStates[MODEL_PDTWO].fileid));
|
||||
// nextaddr += size;
|
||||
// remaining -= size;
|
||||
// func00022d24(g_Props[MODEL_PDTWO].filedata);
|
||||
// func00022d24(g_ModelStates[MODEL_PDTWO].filedata);
|
||||
//
|
||||
// var80062508 = func0f0b30ac(g_Props[MODEL_PDTWO].filedata);
|
||||
// var80062508 = func0f0b30ac(g_ModelStates[MODEL_PDTWO].filedata);
|
||||
// modelSetUnk14(var80062508, 1);
|
||||
// modelSetRootPosition(var80062508, &coord);
|
||||
// }
|
||||
//
|
||||
// {
|
||||
// struct coord coord = {0, 0, 0}; // var8006275c
|
||||
// g_Props[MODEL_PDTHREE].filedata = func0f1a7794(g_Props[MODEL_PDTHREE].fileid, nextaddr, remaining, 0);
|
||||
// size = ALIGN64(fileGetSize(g_Props[MODEL_PDTHREE].fileid));
|
||||
// g_ModelStates[MODEL_PDTHREE].filedata = func0f1a7794(g_ModelStates[MODEL_PDTHREE].fileid, nextaddr, remaining, 0);
|
||||
// size = ALIGN64(fileGetSize(g_ModelStates[MODEL_PDTHREE].fileid));
|
||||
// nextaddr += size;
|
||||
// remaining -= size;
|
||||
// func00022d24(g_Props[MODEL_PDTHREE].filedata);
|
||||
// func00022d24(g_ModelStates[MODEL_PDTHREE].filedata);
|
||||
//
|
||||
// var8006250c = func0f0b30ac(g_Props[MODEL_PDTHREE].filedata);
|
||||
// var8006250c = func0f0b30ac(g_ModelStates[MODEL_PDTHREE].filedata);
|
||||
// modelSetUnk14(var8006250c, 1);
|
||||
// modelSetRootPosition(var8006250c, &coord);
|
||||
// }
|
||||
//
|
||||
// {
|
||||
// // fb0
|
||||
// struct modelthing *modelthing = modelGetPartNodeData(g_Props[MODEL_PDTWO].filedata, 2);
|
||||
// struct modelthing *modelthing = modelGetPartNodeData(g_ModelStates[MODEL_PDTWO].filedata, 2);
|
||||
// u32 size2;
|
||||
//
|
||||
// size = ALIGN8(modelthing->unk10 * 0xc);
|
||||
|
|
@ -3516,10 +3516,10 @@ void titleInitNintendoLogo(void)
|
|||
{
|
||||
struct coord coord = {0, 0, 0};
|
||||
|
||||
g_Props[MODEL_NINTENDOLOGO].filedata = func0f1a7794(g_Props[MODEL_NINTENDOLOGO].fileid, nextaddr, 0x47800, 0);
|
||||
g_ModelStates[MODEL_NINTENDOLOGO].filedata = func0f1a7794(g_ModelStates[MODEL_NINTENDOLOGO].fileid, nextaddr, 0x47800, 0);
|
||||
|
||||
func00022d24(g_Props[MODEL_NINTENDOLOGO].filedata);
|
||||
g_TitleModel = func0f0b30ac(g_Props[MODEL_NINTENDOLOGO].filedata);
|
||||
func00022d24(g_ModelStates[MODEL_NINTENDOLOGO].filedata);
|
||||
g_TitleModel = func0f0b30ac(g_ModelStates[MODEL_NINTENDOLOGO].filedata);
|
||||
modelSetUnk14(g_TitleModel, 1);
|
||||
modelSetRootPosition(g_TitleModel, &coord);
|
||||
var800624f4 = 1;
|
||||
|
|
@ -3895,10 +3895,10 @@ void titleInitRareLogo(void)
|
|||
{
|
||||
struct coord coord = {0, 0, 0};
|
||||
|
||||
g_Props[MODEL_RARELOGO].filedata = func0f1a7794(g_Props[MODEL_RARELOGO].fileid, nextaddr, 0x47800, 0);
|
||||
g_ModelStates[MODEL_RARELOGO].filedata = func0f1a7794(g_ModelStates[MODEL_RARELOGO].fileid, nextaddr, 0x47800, 0);
|
||||
|
||||
func00022d24(g_Props[MODEL_RARELOGO].filedata);
|
||||
g_TitleModel = func0f0b30ac(g_Props[MODEL_RARELOGO].filedata);
|
||||
func00022d24(g_ModelStates[MODEL_RARELOGO].filedata);
|
||||
g_TitleModel = func0f0b30ac(g_ModelStates[MODEL_RARELOGO].filedata);
|
||||
modelSetUnk14(g_TitleModel, 1);
|
||||
modelSetRootPosition(g_TitleModel, &coord);
|
||||
|
||||
|
|
|
|||
|
|
@ -1135,6 +1135,11 @@
|
|||
#define LIGHTOP_TURNON 6
|
||||
#define LIGHTOP_TURNOFF 7
|
||||
|
||||
#define LOADSTATE_TILES 2
|
||||
#define LOADSTATE_SETUP 4
|
||||
#define LOADSTATE_PADS 5
|
||||
#define LOADSTATE_6 6
|
||||
|
||||
// These actions are assigned to chr->myaction
|
||||
#define MA_NONE 0
|
||||
#define MA_NORMAL 1
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@ extern u32 var8005d5b8;
|
|||
extern u32 var8005d5bc;
|
||||
extern u32 var8005d880;
|
||||
extern u32 var8005d994;
|
||||
extern u8 var8005d9a0;
|
||||
extern u8 g_LoadState;
|
||||
extern s32 var8005d9c8;
|
||||
extern u32 var8005d9cc;
|
||||
extern s32 var8005d9d0;
|
||||
|
|
|
|||
|
|
@ -55,7 +55,7 @@ extern struct stagethinglist stagethinglist_20fb8;
|
|||
extern struct stagethinglist stagethinglist_20fd8;
|
||||
extern struct stagethinglist stagethinglist_20fe8;
|
||||
extern struct stagethinglist stagethinglist_20ff8;
|
||||
extern struct propdefinition g_Props[];
|
||||
extern struct modelstate g_ModelStates[441];
|
||||
extern u8 propexplosiontypes[];
|
||||
extern struct stagethinglist stagethinglist_2208c;
|
||||
extern struct stagethinglist stagethinglist_220d0;
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ void func0f166eb4(void *dst, u32 scratchlen, u32 *romaddrptr, struct fileinfo *i
|
|||
void func0f166f74(void);
|
||||
void func0f166ff0(u16 filenum, void *memaddr, s32 offset, u32 len);
|
||||
u32 fileGetInflatedLength(u32 filenum);
|
||||
void *func0f1670fc(u32 filenum, u32 arg1);
|
||||
void *func0f1670fc(s32 filenum, u32 arg1);
|
||||
void *func0f167200(s32 filenum, s32 arg1, u8 *ptr, u32 size);
|
||||
u32 fileGetSize(s32 filenum);
|
||||
u32 fileGetUnk04(s32 filenum);
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ s32 func0f00e2b0(s32 padnum);
|
|||
void setupDoor(struct doorobj *door, s32 cmdindex);
|
||||
void setupHov(struct defaultobj *obj, struct hov *hov);
|
||||
void func0f00e980(s32 stagenum, s32 arg0, s32 arg1, struct briefing *briefing);
|
||||
void func0f00eb64(s32 stagenum);
|
||||
void setupLoadFiles(s32 stagenum);
|
||||
void setupParseObjects(s32 stagenum);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
void func0f011110(void);
|
||||
void func0f011124(bool value);
|
||||
u32 func0f011130(void);
|
||||
void func0f011130(s32 arg0, s32 numchrs);
|
||||
bool weaponLoadProjectileModels(s32 weaponnum);
|
||||
void currentPlayerInitEyespy(void);
|
||||
void currentPlayerInit(void);
|
||||
|
|
|
|||
|
|
@ -5011,7 +5011,7 @@ struct chrnumaction {
|
|||
u8 myaction;
|
||||
};
|
||||
|
||||
struct propdefinition {
|
||||
struct modelstate {
|
||||
struct modelfiledata *filedata;
|
||||
u16 fileid;
|
||||
u16 scale;
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
#include "lib/lib_0d0a0.h"
|
||||
#include "types.h"
|
||||
|
||||
u8 var8005d9a0 = 0;
|
||||
u8 g_LoadState = 0;
|
||||
u32 var8005d9a4 = 0x00000000;
|
||||
u32 var8005d9a8 = 0x00000000;
|
||||
u32 var8005d9ac = 0x00000000;
|
||||
|
|
@ -162,8 +162,8 @@ u32 xorDeadbabe(u32 value)
|
|||
|
||||
GLOBAL_ASM(
|
||||
glabel func0000d29c
|
||||
/* d29c: 3c0e8006 */ lui $t6,%hi(var8005d9a0)
|
||||
/* d2a0: 91ced9a0 */ lbu $t6,%lo(var8005d9a0)($t6)
|
||||
/* d29c: 3c0e8006 */ lui $t6,%hi(g_LoadState)
|
||||
/* d2a0: 91ced9a0 */ lbu $t6,%lo(g_LoadState)($t6)
|
||||
/* d2a4: 27bdffd0 */ addiu $sp,$sp,-48
|
||||
/* d2a8: afbf0014 */ sw $ra,0x14($sp)
|
||||
/* d2ac: 11c00024 */ beqz $t6,.L0000d340
|
||||
|
|
@ -203,8 +203,8 @@ glabel func0000d29c
|
|||
/* d32c: 03284826 */ xor $t1,$t9,$t0
|
||||
/* d330: 1482fffa */ bne $a0,$v0,.L0000d31c
|
||||
/* d334: ac69fffc */ sw $t1,-0x4($v1)
|
||||
/* d338: 3c018006 */ lui $at,%hi(var8005d9a0)
|
||||
/* d33c: a020d9a0 */ sb $zero,%lo(var8005d9a0)($at)
|
||||
/* d338: 3c018006 */ lui $at,%hi(g_LoadState)
|
||||
/* d33c: a020d9a0 */ sb $zero,%lo(g_LoadState)($at)
|
||||
.L0000d340:
|
||||
/* d340: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
/* d344: 27bd0030 */ addiu $sp,$sp,0x30
|
||||
|
|
|
|||
Loading…
Reference in New Issue