Decompile chrFindById, chrFindByLiteralId and ailistFindById

This commit is contained in:
Ryan Dwyer
2019-12-30 17:01:48 +10:00
parent 8726e6990d
commit 3d24f3e544
18 changed files with 229 additions and 315 deletions
+102 -162
View File
@@ -1220,7 +1220,7 @@ glabel func0f01e250
u32 getNumChrs(void)
{
return g_NumChrs;
return g_NumChrsA;
}
GLOBAL_ASM(
@@ -1251,10 +1251,10 @@ glabel chrSetChrnum
/* f01e52c: a4870000 */ sh $a3,0x0($a0)
/* f01e530: 3c08800a */ lui $t0,0x800a
/* f01e534: 8d08cd10 */ lw $t0,-0x32f0($t0)
/* f01e538: 3c0c800a */ lui $t4,%hi(var8009cd18)
/* f01e53c: 3c0b800a */ lui $t3,%hi(var8009cd14)
/* f01e540: 256bcd14 */ addiu $t3,$t3,%lo(var8009cd14)
/* f01e544: 258ccd18 */ addiu $t4,$t4,%lo(var8009cd18)
/* f01e538: 3c0c800a */ lui $t4,%hi(g_ChrIndexesC)
/* f01e53c: 3c0b800a */ lui $t3,%hi(g_ChrnumsC)
/* f01e540: 256bcd14 */ addiu $t3,$t3,%lo(g_ChrnumsC)
/* f01e544: 258ccd18 */ addiu $t4,$t4,%lo(g_ChrIndexesC)
/* f01e548: 2508ffff */ addiu $t0,$t0,-1
/* f01e54c: 00002825 */ or $a1,$zero,$zero
.L0f01e550:
@@ -1299,18 +1299,18 @@ glabel chrSetChrnum
GLOBAL_ASM(
glabel func0f01e5d8
/* f01e5d8: 3c0a800a */ lui $t2,%hi(var8009cd10)
/* f01e5dc: 254acd10 */ addiu $t2,$t2,%lo(var8009cd10)
/* f01e5d8: 3c0a800a */ lui $t2,%hi(g_NumChrsC)
/* f01e5dc: 254acd10 */ addiu $t2,$t2,%lo(g_NumChrsC)
/* f01e5e0: 8d430000 */ lw $v1,0x0($t2)
/* f01e5e4: 27bdfff8 */ addiu $sp,$sp,-8
/* f01e5e8: afb00004 */ sw $s0,0x4($sp)
/* f01e5ec: 00a08025 */ or $s0,$a1,$zero
/* f01e5f0: 18600019 */ blez $v1,.L0f01e658
/* f01e5f4: 00001025 */ or $v0,$zero,$zero
/* f01e5f8: 3c0c800a */ lui $t4,%hi(var8009cd18)
/* f01e5fc: 3c0b800a */ lui $t3,%hi(var8009cd14)
/* f01e600: 256bcd14 */ addiu $t3,$t3,%lo(var8009cd14)
/* f01e604: 258ccd18 */ addiu $t4,$t4,%lo(var8009cd18)
/* f01e5f8: 3c0c800a */ lui $t4,%hi(g_ChrIndexesC)
/* f01e5fc: 3c0b800a */ lui $t3,%hi(g_ChrnumsC)
/* f01e600: 256bcd14 */ addiu $t3,$t3,%lo(g_ChrnumsC)
/* f01e604: 258ccd18 */ addiu $t4,$t4,%lo(g_ChrIndexesC)
/* f01e608: 00002825 */ or $a1,$zero,$zero
.L0f01e60c:
/* f01e60c: 8d6e0000 */ lw $t6,0x0($t3)
@@ -1334,15 +1334,15 @@ glabel func0f01e5d8
/* f01e650: 1420ffee */ bnez $at,.L0f01e60c
/* f01e654: 24a50002 */ addiu $a1,$a1,0x2
.L0f01e658:
/* f01e658: 3c0b800a */ lui $t3,%hi(var8009cd14)
/* f01e65c: 256bcd14 */ addiu $t3,$t3,%lo(var8009cd14)
/* f01e658: 3c0b800a */ lui $t3,%hi(g_ChrnumsC)
/* f01e65c: 256bcd14 */ addiu $t3,$t3,%lo(g_ChrnumsC)
/* f01e660: 8d790000 */ lw $t9,0x0($t3)
/* f01e664: 00036840 */ sll $t5,$v1,0x1
/* f01e668: 3c0c800a */ lui $t4,%hi(var8009cd18)
/* f01e668: 3c0c800a */ lui $t4,%hi(g_ChrIndexesC)
/* f01e66c: 032d7021 */ addu $t6,$t9,$t5
/* f01e670: a5c40000 */ sh $a0,0x0($t6)
/* f01e674: 8d580000 */ lw $t8,0x0($t2)
/* f01e678: 258ccd18 */ addiu $t4,$t4,%lo(var8009cd18)
/* f01e678: 258ccd18 */ addiu $t4,$t4,%lo(g_ChrIndexesC)
/* f01e67c: 8d8f0000 */ lw $t7,0x0($t4)
/* f01e680: 0018c840 */ sll $t9,$t8,0x1
/* f01e684: 01f96821 */ addu $t5,$t7,$t9
@@ -1357,8 +1357,8 @@ glabel func0f01e5d8
GLOBAL_ASM(
glabel func0f01e6a4
/* f01e6a4: 3c08800a */ lui $t0,%hi(var8009cd10)
/* f01e6a8: 2508cd10 */ addiu $t0,$t0,%lo(var8009cd10)
/* f01e6a4: 3c08800a */ lui $t0,%hi(g_NumChrsC)
/* f01e6a8: 2508cd10 */ addiu $t0,$t0,%lo(g_NumChrsC)
/* f01e6ac: 8d030000 */ lw $v1,0x0($t0)
/* f01e6b0: 00001025 */ or $v0,$zero,$zero
/* f01e6b4: 00002825 */ or $a1,$zero,$zero
@@ -1374,10 +1374,10 @@ glabel func0f01e6a4
/* f01e6d8: 00c3082a */ slt $at,$a2,$v1
/* f01e6dc: 10200017 */ beqz $at,.L0f01e73c
/* f01e6e0: 00c02025 */ or $a0,$a2,$zero
/* f01e6e4: 3c0a800a */ lui $t2,%hi(var8009cd18)
/* f01e6e8: 3c09800a */ lui $t1,%hi(var8009cd14)
/* f01e6ec: 2529cd14 */ addiu $t1,$t1,%lo(var8009cd14)
/* f01e6f0: 254acd18 */ addiu $t2,$t2,%lo(var8009cd18)
/* f01e6e4: 3c0a800a */ lui $t2,%hi(g_ChrIndexesC)
/* f01e6e8: 3c09800a */ lui $t1,%hi(g_ChrnumsC)
/* f01e6ec: 2529cd14 */ addiu $t1,$t1,%lo(g_ChrnumsC)
/* f01e6f0: 254acd18 */ addiu $t2,$t2,%lo(g_ChrIndexesC)
/* f01e6f4: 00063040 */ sll $a2,$a2,0x1
/* f01e6f8: 8d220000 */ lw $v0,0x0($t1)
.L0f01e6fc:
@@ -4171,8 +4171,8 @@ glabel func0f020f90
/* f020fc0: 00004825 */ or $t1,$zero,$zero
/* f020fc4: 18a00021 */ blez $a1,.L0f02104c
/* f020fc8: 01cf3821 */ addu $a3,$t6,$t7
/* f020fcc: 3c068006 */ lui $a2,%hi(g_Chrs)
/* f020fd0: 24c62988 */ addiu $a2,$a2,%lo(g_Chrs)
/* f020fcc: 3c068006 */ lui $a2,%hi(g_ChrsA)
/* f020fd0: 24c62988 */ addiu $a2,$a2,%lo(g_ChrsA)
/* f020fd4: 00008025 */ or $s0,$zero,$zero
.L0f020fd8:
/* f020fd8: 8cc20000 */ lw $v0,0x0($a2)
@@ -4185,8 +4185,8 @@ glabel func0f020f90
/* f020ff4: afa9002c */ sw $t1,0x2c($sp)
/* f020ff8: 0fc12705 */ jal propGetIndexByChrId
/* f020ffc: afa70024 */ sw $a3,0x24($sp)
/* f021000: 3c068006 */ lui $a2,%hi(g_Chrs)
/* f021004: 24c62988 */ addiu $a2,$a2,%lo(g_Chrs)
/* f021000: 3c068006 */ lui $a2,%hi(g_ChrsA)
/* f021004: 24c62988 */ addiu $a2,$a2,%lo(g_ChrsA)
/* f021008: 8fa70024 */ lw $a3,0x24($sp)
/* f02100c: 2408ffff */ addiu $t0,$zero,-1
/* f021010: 14510004 */ bne $v0,$s1,.L0f021024
@@ -4323,9 +4323,9 @@ glabel func0f020f90
/* f0211d8: 18400014 */ blez $v0,.L0f02122c
/* f0211dc: 00008825 */ or $s1,$zero,$zero
/* f0211e0: 3c014416 */ lui $at,0x4416
/* f0211e4: 3c128006 */ lui $s2,%hi(g_Chrs)
/* f0211e4: 3c128006 */ lui $s2,%hi(g_ChrsA)
/* f0211e8: 4481a000 */ mtc1 $at,$f20
/* f0211ec: 26522988 */ addiu $s2,$s2,%lo(g_Chrs)
/* f0211ec: 26522988 */ addiu $s2,$s2,%lo(g_ChrsA)
/* f0211f0: 00008025 */ or $s0,$zero,$zero
.L0f0211f4:
/* f0211f4: 8e4e0000 */ lw $t6,0x0($s2)
@@ -12409,8 +12409,8 @@ GLOBAL_ASM(
glabel func0f028590
/* f028590: 27bdff90 */ addiu $sp,$sp,-112
/* f028594: afbe0068 */ sw $s8,0x68($sp)
/* f028598: 3c1e8006 */ lui $s8,%hi(g_NumChrs)
/* f02859c: 27de298c */ addiu $s8,$s8,%lo(g_NumChrs)
/* f028598: 3c1e8006 */ lui $s8,%hi(g_NumChrsA)
/* f02859c: 27de298c */ addiu $s8,$s8,%lo(g_NumChrsA)
/* f0285a0: 8fce0000 */ lw $t6,0x0($s8)
/* f0285a4: afb70064 */ sw $s7,0x64($sp)
/* f0285a8: f7b60020 */ sdc1 $f22,0x20($sp)
@@ -12437,10 +12437,10 @@ glabel func0f028590
/* f0285fc: 3c014000 */ lui $at,0x4000
/* f028600: 4481d000 */ mtc1 $at,$f26
/* f028604: 3c013f80 */ lui $at,0x3f80
/* f028608: 3c168006 */ lui $s6,%hi(g_Chrs)
/* f028608: 3c168006 */ lui $s6,%hi(g_ChrsA)
/* f02860c: 4481a000 */ mtc1 $at,$f20
/* f028610: 4480c000 */ mtc1 $zero,$f24
/* f028614: 26d62988 */ addiu $s6,$s6,%lo(g_Chrs)
/* f028614: 26d62988 */ addiu $s6,$s6,%lo(g_ChrsA)
/* f028618: 0000a825 */ or $s5,$zero,$zero
/* f02861c: 8ec20000 */ lw $v0,0x0($s6)
.L0f028620:
@@ -12538,58 +12538,28 @@ glabel func0f028590
/* f028770: 27bd0070 */ addiu $sp,$sp,0x70
);
GLOBAL_ASM(
glabel chrFindByLiteralId
/* f028774: 3c03800a */ lui $v1,0x800a
/* f028778: 8c63cd10 */ lw $v1,-0x32f0($v1)
/* f02877c: 00803025 */ or $a2,$a0,$zero
/* f028780: 00001025 */ or $v0,$zero,$zero
/* f028784: 04600024 */ bltz $v1,.L0f028818
/* f028788: 3c07800a */ lui $a3,0x800a
/* f02878c: 8ce7cd14 */ lw $a3,-0x32ec($a3)
/* f028790: 00432821 */ addu $a1,$v0,$v1
.L0f028794:
/* f028794: 04a10003 */ bgez $a1,.L0f0287a4
/* f028798: 00057043 */ sra $t6,$a1,0x1
/* f02879c: 24a10001 */ addiu $at,$a1,0x1
/* f0287a0: 00017043 */ sra $t6,$at,0x1
.L0f0287a4:
/* f0287a4: 000e4040 */ sll $t0,$t6,0x1
/* f0287a8: 00e87821 */ addu $t7,$a3,$t0
/* f0287ac: 85e90000 */ lh $t1,0x0($t7)
/* f0287b0: 01c02025 */ or $a0,$t6,$zero
/* f0287b4: 14c90010 */ bne $a2,$t1,.L0f0287f8
/* f0287b8: 00c9082a */ slt $at,$a2,$t1
/* f0287bc: 3c18800a */ lui $t8,0x800a
/* f0287c0: 8f18cd18 */ lw $t8,-0x32e8($t8)
/* f0287c4: 3c0c8006 */ lui $t4,0x8006
/* f0287c8: 8d8c2988 */ lw $t4,0x2988($t4)
/* f0287cc: 0308c821 */ addu $t9,$t8,$t0
/* f0287d0: 872a0000 */ lh $t2,0x0($t9)
/* f0287d4: 000a58c0 */ sll $t3,$t2,0x3
/* f0287d8: 016a5823 */ subu $t3,$t3,$t2
/* f0287dc: 000b5880 */ sll $t3,$t3,0x2
/* f0287e0: 016a5823 */ subu $t3,$t3,$t2
/* f0287e4: 000b5880 */ sll $t3,$t3,0x2
/* f0287e8: 016a5821 */ addu $t3,$t3,$t2
/* f0287ec: 000b58c0 */ sll $t3,$t3,0x3
/* f0287f0: 03e00008 */ jr $ra
/* f0287f4: 016c1021 */ addu $v0,$t3,$t4
.L0f0287f8:
/* f0287f8: 50200004 */ beqzl $at,.L0f02880c
/* f0287fc: 24820001 */ addiu $v0,$a0,0x1
/* f028800: 10000002 */ beqz $zero,.L0f02880c
/* f028804: 2483ffff */ addiu $v1,$a0,-1
/* f028808: 24820001 */ addiu $v0,$a0,0x1
.L0f02880c:
/* f02880c: 0062082a */ slt $at,$v1,$v0
/* f028810: 5020ffe0 */ beqzl $at,.L0f028794
/* f028814: 00432821 */ addu $a1,$v0,$v1
.L0f028818:
/* f028818: 00001025 */ or $v0,$zero,$zero
/* f02881c: 03e00008 */ jr $ra
/* f028820: 00000000 */ sll $zero,$zero,0x0
);
struct chrdata *chrFindByLiteralId(s32 chrnum)
{
s32 lower = 0;
s32 upper = g_NumChrsC;
s32 i;
while (upper >= lower) {
i = (lower + upper) / 2;
if (chrnum == g_ChrnumsC[i]) {
return &g_ChrsA[g_ChrIndexesC[i]];
}
if (chrnum < g_ChrnumsC[i]) {
upper = i - 1;
} else {
lower = i + 1;
}
}
return NULL;
}
struct prop *chrGetEquippedWeaponProp(struct chrdata *chr, s32 hand)
{
@@ -35032,9 +35002,9 @@ glabel func0f03ce8c
/* f03cef8: 82830007 */ lb $v1,0x7($s4)
.L0f03cefc:
/* f03cefc: 24010006 */ addiu $at,$zero,0x6
/* f03cf00: 3c158006 */ lui $s5,%hi(g_Chrs)
/* f03cf00: 3c158006 */ lui $s5,%hi(g_ChrsA)
/* f03cf04: 14610003 */ bne $v1,$at,.L0f03cf14
/* f03cf08: 26b52988 */ addiu $s5,$s5,%lo(g_Chrs)
/* f03cf08: 26b52988 */ addiu $s5,$s5,%lo(g_ChrsA)
/* f03cf0c: 1000000c */ beqz $zero,.L0f03cf40
/* f03cf10: 8e93002c */ lw $s3,0x2c($s4)
.L0f03cf14:
@@ -47470,13 +47440,13 @@ glabel func0f0482cc
.L0f048320:
/* f048320: 0c006134 */ jal ailistFindById
/* f048324: 00a02025 */ or $a0,$a1,$zero
/* f048328: 3c048006 */ lui $a0,%hi(var80067e60)
/* f04832c: 24847e60 */ addiu $a0,$a0,%lo(var80067e60)
/* f048328: 3c048006 */ lui $a0,%hi(g_NumChrsB)
/* f04832c: 24847e60 */ addiu $a0,$a0,%lo(g_NumChrsB)
/* f048330: 8c8f0000 */ lw $t7,0x0($a0)
/* f048334: 24050368 */ addiu $a1,$zero,0x368
/* f048338: 3c038006 */ lui $v1,%hi(var80067e58)
/* f048338: 3c038006 */ lui $v1,%hi(g_ChrsB)
/* f04833c: 01e50019 */ multu $t7,$a1
/* f048340: 24637e58 */ addiu $v1,$v1,%lo(var80067e58)
/* f048340: 24637e58 */ addiu $v1,$v1,%lo(g_ChrsB)
/* f048344: 8c6e0000 */ lw $t6,0x0($v1)
/* f048348: 240cffff */ addiu $t4,$zero,-1
/* f04834c: 0000c012 */ mflo $t8
@@ -48779,8 +48749,8 @@ glabel func0f049644
/* f0496f0: 02118023 */ subu $s0,$s0,$s1
/* f0496f4: 00108080 */ sll $s0,$s0,0x2
/* f0496f8: 02118021 */ addu $s0,$s0,$s1
/* f0496fc: 3c168006 */ lui $s6,%hi(g_Chrs)
/* f049700: 26d62988 */ addiu $s6,$s6,%lo(g_Chrs)
/* f0496fc: 3c168006 */ lui $s6,%hi(g_ChrsA)
/* f049700: 26d62988 */ addiu $s6,$s6,%lo(g_ChrsA)
/* f049704: 001080c0 */ sll $s0,$s0,0x3
/* f049708: 2412ffff */ addiu $s2,$zero,-1
/* f04970c: 8ecc0000 */ lw $t4,0x0($s6)
@@ -48811,14 +48781,14 @@ glabel func0f049644
/* f049764: 8ecc0000 */ lw $t4,0x0($s6)
/* f049768: 00008825 */ or $s1,$zero,$zero
.L0f04976c:
/* f04976c: 3c048006 */ lui $a0,%hi(var80067e60)
/* f049770: 24847e60 */ addiu $a0,$a0,%lo(var80067e60)
/* f04976c: 3c048006 */ lui $a0,%hi(g_NumChrsB)
/* f049770: 24847e60 */ addiu $a0,$a0,%lo(g_NumChrsB)
/* f049774: 8c8d0000 */ lw $t5,0x0($a0)
/* f049778: 2412ffff */ addiu $s2,$zero,-1
/* f04977c: 00008025 */ or $s0,$zero,$zero
/* f049780: 19a00019 */ blez $t5,.L0f0497e8
/* f049784: 3c038006 */ lui $v1,%hi(var80067e58)
/* f049788: 24637e58 */ addiu $v1,$v1,%lo(var80067e58)
/* f049784: 3c038006 */ lui $v1,%hi(g_ChrsB)
/* f049788: 24637e58 */ addiu $v1,$v1,%lo(g_ChrsB)
/* f04978c: 8c6e0000 */ lw $t6,0x0($v1)
.L0f049790:
/* f049790: 01d01021 */ addu $v0,$t6,$s0
@@ -49174,69 +49144,39 @@ glabel chrResolveId
// return id;
//}
GLOBAL_ASM(
glabel chrFindById
/* f049b44: 27bdffe8 */ addiu $sp,$sp,-24
/* f049b48: afbf0014 */ sw $ra,0x14($sp)
/* f049b4c: 0fc12604 */ jal chrResolveId
/* f049b50: 00000000 */ sll $zero,$zero,0x0
/* f049b54: 00402025 */ or $a0,$v0,$zero
/* f049b58: 0fc0a1dd */ jal chrFindByLiteralId
/* f049b5c: afa2001c */ sw $v0,0x1c($sp)
/* f049b60: 10400003 */ beqz $v0,.L0f049b70
/* f049b64: 8fa7001c */ lw $a3,0x1c($sp)
/* f049b68: 10000027 */ beqz $zero,.L0f049c08
/* f049b6c: 8fbf0014 */ lw $ra,0x14($sp)
.L0f049b70:
/* f049b70: 3c058006 */ lui $a1,0x8006
/* f049b74: 8ca57e60 */ lw $a1,0x7e60($a1)
/* f049b78: 00003025 */ or $a2,$zero,$zero
/* f049b7c: 3c088006 */ lui $t0,0x8006
/* f049b80: 04a0001f */ bltz $a1,.L0f049c00
/* f049b84: 3c098006 */ lui $t1,0x8006
/* f049b88: 8d087e5c */ lw $t0,0x7e5c($t0)
/* f049b8c: 00c51821 */ addu $v1,$a2,$a1
.L0f049b90:
/* f049b90: 04610003 */ bgez $v1,.L0f049ba0
/* f049b94: 00037043 */ sra $t6,$v1,0x1
/* f049b98: 24610001 */ addiu $at,$v1,0x1
/* f049b9c: 00017043 */ sra $t6,$at,0x1
.L0f049ba0:
/* f049ba0: 000e7840 */ sll $t7,$t6,0x1
/* f049ba4: 010fc021 */ addu $t8,$t0,$t7
/* f049ba8: 87040000 */ lh $a0,0x0($t8)
/* f049bac: 01c01025 */ or $v0,$t6,$zero
/* f049bb0: 14e4000b */ bne $a3,$a0,.L0f049be0
/* f049bb4: 00e4082a */ slt $at,$a3,$a0
/* f049bb8: 000ec8c0 */ sll $t9,$t6,0x3
/* f049bbc: 032ec823 */ subu $t9,$t9,$t6
/* f049bc0: 0019c880 */ sll $t9,$t9,0x2
/* f049bc4: 032ec823 */ subu $t9,$t9,$t6
/* f049bc8: 0019c880 */ sll $t9,$t9,0x2
/* f049bcc: 8d297e58 */ lw $t1,0x7e58($t1)
/* f049bd0: 032ec821 */ addu $t9,$t9,$t6
/* f049bd4: 0019c8c0 */ sll $t9,$t9,0x3
/* f049bd8: 1000000a */ beqz $zero,.L0f049c04
/* f049bdc: 03291021 */ addu $v0,$t9,$t1
.L0f049be0:
/* f049be0: 50200004 */ beqzl $at,.L0f049bf4
/* f049be4: 24460001 */ addiu $a2,$v0,0x1
/* f049be8: 10000002 */ beqz $zero,.L0f049bf4
/* f049bec: 2445ffff */ addiu $a1,$v0,-1
/* f049bf0: 24460001 */ addiu $a2,$v0,0x1
.L0f049bf4:
/* f049bf4: 00a6082a */ slt $at,$a1,$a2
/* f049bf8: 5020ffe5 */ beqzl $at,.L0f049b90
/* f049bfc: 00c51821 */ addu $v1,$a2,$a1
.L0f049c00:
/* f049c00: 00001025 */ or $v0,$zero,$zero
.L0f049c04:
/* f049c04: 8fbf0014 */ lw $ra,0x14($sp)
.L0f049c08:
/* f049c08: 27bd0018 */ addiu $sp,$sp,0x18
/* f049c0c: 03e00008 */ jr $ra
/* f049c10: 00000000 */ sll $zero,$zero,0x0
);
struct chrdata *chrFindById(struct chrdata *basechr, s32 chrnum)
{
struct chrdata *chr;
s32 lower;
s32 upper;
s32 i;
chrnum = chrResolveId(basechr, chrnum);
chr = chrFindByLiteralId(chrnum);
if (chr) {
return chr;
}
lower = 0;
upper = g_NumChrsB;
while (upper >= lower) {
i = (lower + upper) / 2;
if (chrnum == g_ChrnumsB[i]) {
return &g_ChrsB[i];
}
if (chrnum < g_ChrnumsB[i]) {
upper = i - 1;
} else {
lower = i + 1;
}
}
return NULL;
}
s32 propGetIndexByChrId(struct chrdata *basechr, s32 chrnum)
{
@@ -52410,14 +52350,14 @@ glabel rebuildTeams
/* f04cc18: 25ce845c */ addiu $t6,$t6,%lo(var8006845c)
/* f04cc1c: 8dc10000 */ lw $at,0x0($t6)
/* f04cc20: 27ab0024 */ addiu $t3,$sp,0x24
/* f04cc24: 3c0c8006 */ lui $t4,%hi(g_Chrs)
/* f04cc24: 3c0c8006 */ lui $t4,%hi(g_ChrsA)
/* f04cc28: ad610000 */ sw $at,0x0($t3)
/* f04cc2c: 8dd90004 */ lw $t9,0x4($t6)
/* f04cc30: 3c098006 */ lui $t1,%hi(var80067e64)
/* f04cc34: 00405025 */ or $t2,$v0,$zero
/* f04cc38: 24070007 */ addiu $a3,$zero,0x7
/* f04cc3c: 25297e64 */ addiu $t1,$t1,%lo(var80067e64)
/* f04cc40: 258c2988 */ addiu $t4,$t4,%lo(g_Chrs)
/* f04cc40: 258c2988 */ addiu $t4,$t4,%lo(g_ChrsA)
/* f04cc44: 00004025 */ or $t0,$zero,$zero
/* f04cc48: 241f0008 */ addiu $ra,$zero,0x8
/* f04cc4c: 240dfffe */ addiu $t5,$zero,-2
@@ -52480,12 +52420,12 @@ glabel rebuildSquadrons
/* f04cd08: afbf001c */ sw $ra,0x1c($sp)
/* f04cd0c: 0fc07934 */ jal getNumChrs
/* f04cd10: afb00018 */ sw $s0,0x18($sp)
/* f04cd14: 3c0c8006 */ lui $t4,%hi(g_Chrs)
/* f04cd14: 3c0c8006 */ lui $t4,%hi(g_ChrsA)
/* f04cd18: 3c0a8006 */ lui $t2,%hi(g_SquadronList)
/* f04cd1c: 00405825 */ or $t3,$v0,$zero
/* f04cd20: 2408000f */ addiu $t0,$zero,0xf
/* f04cd24: 254a7e68 */ addiu $t2,$t2,%lo(g_SquadronList)
/* f04cd28: 258c2988 */ addiu $t4,$t4,%lo(g_Chrs)
/* f04cd28: 258c2988 */ addiu $t4,$t4,%lo(g_ChrsA)
/* f04cd2c: 00004825 */ or $t1,$zero,$zero
/* f04cd30: 24100010 */ addiu $s0,$zero,0x10
/* f04cd34: 241ffffe */ addiu $ra,$zero,-2
+6 -6
View File
@@ -14121,8 +14121,8 @@ glabel aiShowCutsceneChrs
/* f05f884: 00641823 */ subu $v1,$v1,$a0
/* f05f888: 00031880 */ sll $v1,$v1,0x2
/* f05f88c: 00641821 */ addu $v1,$v1,$a0
/* f05f890: 3c058006 */ lui $a1,%hi(g_Chrs)
/* f05f894: 24a52988 */ addiu $a1,$a1,%lo(g_Chrs)
/* f05f890: 3c058006 */ lui $a1,%hi(g_ChrsA)
/* f05f894: 24a52988 */ addiu $a1,$a1,%lo(g_ChrsA)
/* f05f898: 000318c0 */ sll $v1,$v1,0x3
/* f05f89c: 2407fbff */ addiu $a3,$zero,-1025
/* f05f8a0: 2406fffe */ addiu $a2,$zero,-2
@@ -14167,8 +14167,8 @@ glabel aiShowCutsceneChrs
/* f05f92c: 00031880 */ sll $v1,$v1,0x2
/* f05f930: 00641821 */ addu $v1,$v1,$a0
/* f05f934: 3c040080 */ lui $a0,0x80
/* f05f938: 3c058006 */ lui $a1,%hi(g_Chrs)
/* f05f93c: 24a52988 */ addiu $a1,$a1,%lo(g_Chrs)
/* f05f938: 3c058006 */ lui $a1,%hi(g_ChrsA)
/* f05f93c: 24a52988 */ addiu $a1,$a1,%lo(g_ChrsA)
/* f05f940: 34840400 */ ori $a0,$a0,0x400
/* f05f944: 000318c0 */ sll $v1,$v1,0x3
/* f05f948: 8caf0000 */ lw $t7,0x0($a1)
@@ -14216,7 +14216,7 @@ glabel aiShowCutsceneChrs
// if (cmd[2]) {
// // Show chrs
// for (i = getNumChrs() - 1; i >= 0; i--) {
// chr = &g_Chrs[i];
// chr = &g_ChrsA[i];
//
// if (chr->chrnum >= 0 && chr->prop && (chr->hidden2 & 1)) {
// chr->hidden2 = chr->hidden2 & ~1;
@@ -14226,7 +14226,7 @@ glabel aiShowCutsceneChrs
// } else {
// // Hide chrs
// for (i = getNumChrs() - 1; i >= 0; i--) {
// chr = &g_Chrs[i];
// chr = &g_ChrsA[i];
//
// if (chr->chrnum >= 0 && chr->prop && (chr->chrflags & 0x00800400) == 0) {
// chr->hidden2 = chr->hidden2 | 1;
+18 -18
View File
@@ -288,9 +288,9 @@ glabel func0f00b510
/* f00b5d0: 24050004 */ addiu $a1,$zero,0x4
/* f00b5d4: 3c018006 */ lui $at,0x8006
/* f00b5d8: 3c10800a */ lui $s0,%hi(var8009ccc0)
/* f00b5dc: 3c11800a */ lui $s1,%hi(var8009cd10)
/* f00b5dc: 3c11800a */ lui $s1,%hi(g_NumChrsC)
/* f00b5e0: ac222960 */ sw $v0,0x2960($at)
/* f00b5e4: 2631cd10 */ addiu $s1,$s1,%lo(var8009cd10)
/* f00b5e4: 2631cd10 */ addiu $s1,$s1,%lo(g_NumChrsC)
/* f00b5e8: 2610ccc0 */ addiu $s0,$s0,%lo(var8009ccc0)
.L0f00b5ec:
/* f00b5ec: 24040240 */ addiu $a0,$zero,0x240
@@ -326,8 +326,8 @@ glabel func0f00b62c
/* f00b650: 00003825 */ or $a3,$zero,$zero
.L0f00b654:
/* f00b654: 8c4f0068 */ lw $t7,0x68($v0)
/* f00b658: 3c088006 */ lui $t0,%hi(g_NumChrs)
/* f00b65c: 2508298c */ addiu $t0,$t0,%lo(g_NumChrs)
/* f00b658: 3c088006 */ lui $t0,%hi(g_NumChrsA)
/* f00b65c: 2508298c */ addiu $t0,$t0,%lo(g_NumChrsA)
/* f00b660: 11e00003 */ beqz $t7,.L0f00b670
/* f00b664: 8fac0020 */ lw $t4,0x20($sp)
/* f00b668: 10000002 */ beqz $zero,.L0f00b674
@@ -367,11 +367,11 @@ glabel func0f00b62c
/* f00b6e0: ad0e0000 */ sw $t6,0x0($t0)
/* f00b6e4: 0c0048f2 */ jal func000123c8
/* f00b6e8: 3b04000f */ xori $a0,$t8,0xf
/* f00b6ec: 3c088006 */ lui $t0,%hi(g_NumChrs)
/* f00b6f0: 2508298c */ addiu $t0,$t0,%lo(g_NumChrs)
/* f00b6ec: 3c088006 */ lui $t0,%hi(g_NumChrsA)
/* f00b6f0: 2508298c */ addiu $t0,$t0,%lo(g_NumChrsA)
/* f00b6f4: 8d060000 */ lw $a2,0x0($t0)
/* f00b6f8: 3c048006 */ lui $a0,%hi(g_Chrs)
/* f00b6fc: 24842988 */ addiu $a0,$a0,%lo(g_Chrs)
/* f00b6f8: 3c048006 */ lui $a0,%hi(g_ChrsA)
/* f00b6fc: 24842988 */ addiu $a0,$a0,%lo(g_ChrsA)
/* f00b700: ac820000 */ sw $v0,0x0($a0)
/* f00b704: 18c00013 */ blez $a2,.L0f00b754
/* f00b708: 00001825 */ or $v1,$zero,$zero
@@ -404,11 +404,11 @@ glabel func0f00b62c
/* f00b76c: 24050004 */ addiu $a1,$zero,0x4
/* f00b770: 0c0048f2 */ jal func000123c8
/* f00b774: afa3001c */ sw $v1,0x1c($sp)
/* f00b778: 3c088006 */ lui $t0,%hi(g_NumChrs)
/* f00b77c: 2508298c */ addiu $t0,$t0,%lo(g_NumChrs)
/* f00b778: 3c088006 */ lui $t0,%hi(g_NumChrsA)
/* f00b77c: 2508298c */ addiu $t0,$t0,%lo(g_NumChrsA)
/* f00b780: 8d040000 */ lw $a0,0x0($t0)
/* f00b784: 3c06800a */ lui $a2,%hi(var8009cd14)
/* f00b788: 24c6cd14 */ addiu $a2,$a2,%lo(var8009cd14)
/* f00b784: 3c06800a */ lui $a2,%hi(g_ChrnumsC)
/* f00b788: 24c6cd14 */ addiu $a2,$a2,%lo(g_ChrnumsC)
/* f00b78c: 0004c840 */ sll $t9,$a0,0x1
/* f00b790: 2724000f */ addiu $a0,$t9,0xf
/* f00b794: 3489000f */ ori $t1,$a0,0xf
@@ -416,13 +416,13 @@ glabel func0f00b62c
/* f00b79c: 3924000f */ xori $a0,$t1,0xf
/* f00b7a0: 0c0048f2 */ jal func000123c8
/* f00b7a4: 24050004 */ addiu $a1,$zero,0x4
/* f00b7a8: 3c088006 */ lui $t0,%hi(g_NumChrs)
/* f00b7ac: 2508298c */ addiu $t0,$t0,%lo(g_NumChrs)
/* f00b7a8: 3c088006 */ lui $t0,%hi(g_NumChrsA)
/* f00b7ac: 2508298c */ addiu $t0,$t0,%lo(g_NumChrsA)
/* f00b7b0: 8d0b0000 */ lw $t3,0x0($t0)
/* f00b7b4: 3c04800a */ lui $a0,%hi(var8009cd18)
/* f00b7b8: 2484cd18 */ addiu $a0,$a0,%lo(var8009cd18)
/* f00b7bc: 3c06800a */ lui $a2,%hi(var8009cd14)
/* f00b7c0: 24c6cd14 */ addiu $a2,$a2,%lo(var8009cd14)
/* f00b7b4: 3c04800a */ lui $a0,%hi(g_ChrIndexesC)
/* f00b7b8: 2484cd18 */ addiu $a0,$a0,%lo(g_ChrIndexesC)
/* f00b7bc: 3c06800a */ lui $a2,%hi(g_ChrnumsC)
/* f00b7c0: 24c6cd14 */ addiu $a2,$a2,%lo(g_ChrnumsC)
/* f00b7c4: ac820000 */ sw $v0,0x0($a0)
/* f00b7c8: 8fa3001c */ lw $v1,0x1c($sp)
/* f00b7cc: 1960000e */ blez $t3,.L0f00b808
+12 -12
View File
@@ -292,12 +292,12 @@ glabel func0f00bbc8
/* f00bbd0: 27bdf8f0 */ addiu $sp,$sp,-1808
/* f00bbd4: 8d450018 */ lw $a1,0x18($t2)
/* f00bbd8: afb00018 */ sw $s0,0x18($sp)
/* f00bbdc: 3c108006 */ lui $s0,%hi(var80067e5c)
/* f00bbe0: 3c078006 */ lui $a3,%hi(var80067e60)
/* f00bbe4: 3c088006 */ lui $t0,%hi(var80067e58)
/* f00bbe8: 25087e58 */ addiu $t0,$t0,%lo(var80067e58)
/* f00bbec: 24e77e60 */ addiu $a3,$a3,%lo(var80067e60)
/* f00bbf0: 26107e5c */ addiu $s0,$s0,%lo(var80067e5c)
/* f00bbdc: 3c108006 */ lui $s0,%hi(g_ChrnumsB)
/* f00bbe0: 3c078006 */ lui $a3,%hi(g_NumChrsB)
/* f00bbe4: 3c088006 */ lui $t0,%hi(g_ChrsB)
/* f00bbe8: 25087e58 */ addiu $t0,$t0,%lo(g_ChrsB)
/* f00bbec: 24e77e60 */ addiu $a3,$a3,%lo(g_NumChrsB)
/* f00bbf0: 26107e5c */ addiu $s0,$s0,%lo(g_ChrnumsB)
/* f00bbf4: afbf001c */ sw $ra,0x1c($sp)
/* f00bbf8: ad000000 */ sw $zero,0x0($t0)
/* f00bbfc: ae000000 */ sw $zero,0x0($s0)
@@ -358,11 +358,11 @@ glabel func0f00bbc8
/* f00bcc8: 39c4000f */ xori $a0,$t6,0xf
/* f00bccc: 0c0048f2 */ jal func000123c8
/* f00bcd0: 00003025 */ or $a2,$zero,$zero
/* f00bcd4: 3c078006 */ lui $a3,%hi(var80067e60)
/* f00bcd8: 24e77e60 */ addiu $a3,$a3,%lo(var80067e60)
/* f00bcd4: 3c078006 */ lui $a3,%hi(g_NumChrsB)
/* f00bcd8: 24e77e60 */ addiu $a3,$a3,%lo(g_NumChrsB)
/* f00bcdc: 8ce40000 */ lw $a0,0x0($a3)
/* f00bce0: 3c088006 */ lui $t0,%hi(var80067e58)
/* f00bce4: 25087e58 */ addiu $t0,$t0,%lo(var80067e58)
/* f00bce0: 3c088006 */ lui $t0,%hi(g_ChrsB)
/* f00bce4: 25087e58 */ addiu $t0,$t0,%lo(g_ChrsB)
/* f00bce8: 0004c840 */ sll $t9,$a0,0x1
/* f00bcec: 2724000f */ addiu $a0,$t9,0xf
/* f00bcf0: 3498000f */ ori $t8,$a0,0xf
@@ -374,9 +374,9 @@ glabel func0f00bbc8
/* f00bd08: 254ad030 */ addiu $t2,$t2,%lo(g_StageSetup)
/* f00bd0c: 8d450018 */ lw $a1,0x18($t2)
/* f00bd10: ae020000 */ sw $v0,0x0($s0)
/* f00bd14: 3c088006 */ lui $t0,%hi(var80067e58)
/* f00bd14: 3c088006 */ lui $t0,%hi(g_ChrsB)
/* f00bd18: 8caf0000 */ lw $t7,0x0($a1)
/* f00bd1c: 25087e58 */ addiu $t0,$t0,%lo(var80067e58)
/* f00bd1c: 25087e58 */ addiu $t0,$t0,%lo(g_ChrsB)
/* f00bd20: 8fa603a0 */ lw $a2,0x3a0($sp)
/* f00bd24: 8fa9039c */ lw $t1,0x39c($sp)
/* f00bd28: 11e00049 */ beqz $t7,.L0f00be50
+2 -2
View File
@@ -1295,8 +1295,8 @@ glabel func0f0118f4
/* f0122d8: 00a42823 */ subu $a1,$a1,$a0
/* f0122dc: 00052880 */ sll $a1,$a1,0x2
/* f0122e0: 00a42821 */ addu $a1,$a1,$a0
/* f0122e4: 3c068006 */ lui $a2,%hi(g_Chrs)
/* f0122e8: 24c62988 */ addiu $a2,$a2,%lo(g_Chrs)
/* f0122e4: 3c068006 */ lui $a2,%hi(g_ChrsA)
/* f0122e8: 24c62988 */ addiu $a2,$a2,%lo(g_ChrsA)
/* f0122ec: 000528c0 */ sll $a1,$a1,0x3
/* f0122f0: 00001025 */ or $v0,$zero,$zero
/* f0122f4: 24080048 */ addiu $t0,$zero,0x48
+2 -2
View File
@@ -21,8 +21,8 @@ glabel func0f014f10
/* f014f2c: afb00014 */ sw $s0,0x14($sp)
/* f014f30: 18600024 */ blez $v1,.L0f014fc4
/* f014f34: 00009025 */ or $s2,$zero,$zero
/* f014f38: 3c118006 */ lui $s1,%hi(g_Chrs)
/* f014f3c: 26312988 */ addiu $s1,$s1,%lo(g_Chrs)
/* f014f38: 3c118006 */ lui $s1,%hi(g_ChrsA)
/* f014f3c: 26312988 */ addiu $s1,$s1,%lo(g_ChrsA)
/* f014f40: 00008025 */ or $s0,$zero,$zero
/* f014f44: 24130003 */ addiu $s3,$zero,0x3
.L0f014f48:
+2 -2
View File
@@ -5339,11 +5339,11 @@ glabel func0f064a24
/* f064aac: 02639823 */ subu $s3,$s3,$v1
/* f064ab0: 00139880 */ sll $s3,$s3,0x2
/* f064ab4: 02639821 */ addu $s3,$s3,$v1
/* f064ab8: 3c158006 */ lui $s5,%hi(g_Chrs)
/* f064ab8: 3c158006 */ lui $s5,%hi(g_ChrsA)
/* f064abc: 3c12800a */ lui $s2,%hi(g_Vars)
/* f064ac0: 4480d000 */ mtc1 $zero,$f26
/* f064ac4: 26529fc0 */ addiu $s2,$s2,%lo(g_Vars)
/* f064ac8: 26b52988 */ addiu $s5,$s5,%lo(g_Chrs)
/* f064ac8: 26b52988 */ addiu $s5,$s5,%lo(g_ChrsA)
/* f064acc: 001398c0 */ sll $s3,$s3,0x3
/* f064ad0: 241e001e */ addiu $s8,$zero,0x1e
/* f064ad4: 24170004 */ addiu $s7,$zero,0x4
+6 -6
View File
@@ -7006,8 +7006,8 @@ glabel setupParseObject
/* f06b108: 00c23023 */ subu $a2,$a2,$v0
/* f06b10c: 00063080 */ sll $a2,$a2,0x2
/* f06b110: 00c23021 */ addu $a2,$a2,$v0
/* f06b114: 3c048006 */ lui $a0,%hi(g_Chrs)
/* f06b118: 24842988 */ addiu $a0,$a0,%lo(g_Chrs)
/* f06b114: 3c048006 */ lui $a0,%hi(g_ChrsA)
/* f06b118: 24842988 */ addiu $a0,$a0,%lo(g_ChrsA)
/* f06b11c: 000630c0 */ sll $a2,$a2,0x3
/* f06b120: 00001825 */ or $v1,$zero,$zero
/* f06b124: 24100048 */ addiu $s0,$zero,0x48
@@ -29206,8 +29206,8 @@ glabel func0f07e758
/* f07f028: 00a42823 */ subu $a1,$a1,$a0
/* f07f02c: 00052880 */ sll $a1,$a1,0x2
/* f07f030: 00a42821 */ addu $a1,$a1,$a0
/* f07f034: 3c068006 */ lui $a2,%hi(g_Chrs)
/* f07f038: 24c62988 */ addiu $a2,$a2,%lo(g_Chrs)
/* f07f034: 3c068006 */ lui $a2,%hi(g_ChrsA)
/* f07f038: 24c62988 */ addiu $a2,$a2,%lo(g_ChrsA)
/* f07f03c: 000528c0 */ sll $a1,$a1,0x3
/* f07f040: 00001025 */ or $v0,$zero,$zero
/* f07f044: 2407ffff */ addiu $a3,$zero,-1
@@ -42570,8 +42570,8 @@ glabel func0f08acb0
/* f08ace8: 02a2a823 */ subu $s5,$s5,$v0
/* f08acec: 0015a880 */ sll $s5,$s5,0x2
/* f08acf0: 02a2a821 */ addu $s5,$s5,$v0
/* f08acf4: 3c138006 */ lui $s3,%hi(g_Chrs)
/* f08acf8: 26732988 */ addiu $s3,$s3,%lo(g_Chrs)
/* f08acf4: 3c138006 */ lui $s3,%hi(g_ChrsA)
/* f08acf8: 26732988 */ addiu $s3,$s3,%lo(g_ChrsA)
/* f08acfc: 0015a8c0 */ sll $s5,$s5,0x3
/* f08ad00: 27b20040 */ addiu $s2,$sp,0x40
/* f08ad04: 8e6e0000 */ lw $t6,0x0($s3)
+2 -2
View File
@@ -6639,8 +6639,8 @@ glabel func0f0b802c
/* f0b81e8: 0295a023 */ subu $s4,$s4,$s5
/* f0b81ec: 0014a080 */ sll $s4,$s4,0x2
/* f0b81f0: 0295a021 */ addu $s4,$s4,$s5
/* f0b81f4: 3c168006 */ lui $s6,%hi(g_Chrs)
/* f0b81f8: 26d62988 */ addiu $s6,$s6,%lo(g_Chrs)
/* f0b81f4: 3c168006 */ lui $s6,%hi(g_ChrsA)
/* f0b81f8: 26d62988 */ addiu $s6,$s6,%lo(g_ChrsA)
/* f0b81fc: 0014a0c0 */ sll $s4,$s4,0x3
/* f0b8200: 27b300e8 */ addiu $s3,$sp,0xe8
/* f0b8204: 27b100c0 */ addiu $s1,$sp,0xc0
+2 -2
View File
@@ -554,8 +554,8 @@ glabel func0f12955c
/* f1296b4: 02c2b023 */ subu $s6,$s6,$v0
/* f1296b8: 0016b080 */ sll $s6,$s6,0x2
/* f1296bc: 02c2b021 */ addu $s6,$s6,$v0
/* f1296c0: 3c178006 */ lui $s7,%hi(g_Chrs)
/* f1296c4: 26f72988 */ addiu $s7,$s7,%lo(g_Chrs)
/* f1296c0: 3c178006 */ lui $s7,%hi(g_ChrsA)
/* f1296c4: 26f72988 */ addiu $s7,$s7,%lo(g_ChrsA)
/* f1296c8: 0016b0c0 */ sll $s6,$s6,0x3
/* f1296cc: 00009825 */ or $s3,$zero,$zero
/* f1296d0: 241e0005 */ addiu $s8,$zero,0x5
+4 -4
View File
@@ -1117,8 +1117,8 @@ GLOBAL_ASM(
glabel func0f129cfc
/* f129cfc: 27bdff78 */ addiu $sp,$sp,-136
/* f129d00: afb5004c */ sw $s5,0x4c($sp)
/* f129d04: 3c158006 */ lui $s5,%hi(g_NumChrs)
/* f129d08: 26b5298c */ addiu $s5,$s5,%lo(g_NumChrs)
/* f129d04: 3c158006 */ lui $s5,%hi(g_NumChrsA)
/* f129d08: 26b5298c */ addiu $s5,$s5,%lo(g_NumChrsA)
/* f129d0c: 8eaf0000 */ lw $t7,0x0($s5)
/* f129d10: afbe0058 */ sw $s8,0x58($sp)
/* f129d14: 3c0e7f08 */ lui $t6,0x7f08
@@ -1146,10 +1146,10 @@ glabel func0f129cfc
/* f129d6c: 4481c000 */ mtc1 $at,$f24
/* f129d70: 3c014000 */ lui $at,0x4000
/* f129d74: 3c16800a */ lui $s6,%hi(g_Vars)
/* f129d78: 3c118006 */ lui $s1,%hi(g_Chrs)
/* f129d78: 3c118006 */ lui $s1,%hi(g_ChrsA)
/* f129d7c: 4481b000 */ mtc1 $at,$f22
/* f129d80: 4480a000 */ mtc1 $zero,$f20
/* f129d84: 26312988 */ addiu $s1,$s1,%lo(g_Chrs)
/* f129d84: 26312988 */ addiu $s1,$s1,%lo(g_ChrsA)
/* f129d88: 26d69fc0 */ addiu $s6,$s6,%lo(g_Vars)
/* f129d8c: 00008025 */ or $s0,$zero,$zero
/* f129d90: 24170003 */ addiu $s7,$zero,0x3
+3 -3
View File
@@ -16121,9 +16121,9 @@ u32 var8009cd00 = 0;
u32 var8009cd04 = 0;
u32 var8009cd08 = 0;
u32 var8009cd0c = 0;
u32 var8009cd10 = 0;
u32 var8009cd14 = 0;
u32 var8009cd18 = 0;
u32 g_NumChrsC = 0;
s16 *g_ChrnumsC = NULL;
s16 *g_ChrIndexesC = NULL;
u32 var8009cd1c = 0;
u32 var8009cd20 = 0;
u32 var8009cd24 = 0;
+2 -2
View File
@@ -3,8 +3,8 @@
#include <ultra64.h>
#include "types.h"
struct chrdata *chrFindById(struct chrdata *data, u32 chrnum);
struct chrdata *chrFindByLiteralId(s16 chrnum);
struct chrdata *chrFindById(struct chrdata *data, s32 chrnum);
struct chrdata *chrFindByLiteralId(s32 chrnum);
f32 chrGetDistanceFromTargetToPad(struct chrdata *chr, s32 pad_id);
f32 chrGetDistanceToChr(struct chrdata *chr1, s32 chr2num);
f32 chrGetDistanceToCoord(struct chrdata *chr, struct coord *pos);
+3 -3
View File
@@ -542,9 +542,9 @@ extern u32 var8009cca8;
extern u32 var8009ccb0;
extern u32 var8009ccb8;
extern u32 var8009ccc0;
extern u32 var8009cd10;
extern u32 var8009cd14;
extern u32 var8009cd18;
extern u32 g_NumChrsC;
extern s16 *g_ChrnumsC;
extern s16 *g_ChrIndexesC;
extern u32 var8009cd20;
extern u32 var8009cd28;
extern u32 var8009cd48;
+5 -5
View File
@@ -6,8 +6,8 @@
extern s32 g_StageNum;
extern u64 rand_seed;
extern struct chrdata *g_Chrs; // pointer to first element of chrs array
extern u32 g_NumChrs;
extern struct chrdata *g_ChrsA; // pointer to first element of chrs array
extern u32 g_NumChrsA;
extern u32 var8005ce60;
extern u32 var8005ce64;
extern u32 var8005ce68;
@@ -359,9 +359,9 @@ extern u32 var80067c08;
extern u32 var80067d28;
extern u32 var80067d70;
extern u32 var80067e50;
extern u32 var80067e58;
extern u32 var80067e5c;
extern u32 var80067e60;
extern struct chrdata *g_ChrsB;
extern s16 *g_ChrnumsB;
extern s32 g_NumChrsB;
extern u32 var80067e64;
extern s16 *g_SquadronList;
extern u32 var80067fdc;
+1 -1
View File
@@ -2483,7 +2483,7 @@ struct player {
struct ailist {
u8 *list;
u32 id;
s32 id;
};
struct path {
+51 -78
View File
@@ -2,11 +2,14 @@
#include "types.h"
#include "game/game_096750.h"
#include "game/game_114240.h"
#include "gvars/gvars.h"
#include "library/library_04790.h"
#include "library/library_159b0.h"
#include "library/library_16110.h"
#include "library/library_4a360.h"
#include "library/library_4f5e0.h"
#include "setup/ailists.h"
#include "setup/setup_000000.h"
const u32 var70054200[] = {0x42652ee0};
const u32 var70054204[] = {0x00000000};
@@ -2541,84 +2544,54 @@ glabel func00018148
/* 184cc: 00000000 */ sll $zero,$zero,0x0
);
GLOBAL_ASM(
glabel ailistFindById
/* 184d0: 28810401 */ slti $at,$a0,0x401
/* 184d4: 14200020 */ bnez $at,.L00018558
/* 184d8: 3c058006 */ lui $a1,0x8006
/* 184dc: 3c02800a */ lui $v0,0x800a
/* 184e0: 8c42d048 */ lw $v0,-0x2fb8($v0)
/* 184e4: 3c058006 */ lui $a1,0x8006
/* 184e8: 50400037 */ beqzl $v0,.L000185c8
/* 184ec: 00001025 */ or $v0,$zero,$zero
/* 184f0: 8ca5ef34 */ lw $a1,-0x10cc($a1)
/* 184f4: 00001825 */ or $v1,$zero,$zero
/* 184f8: 04a00032 */ bltz $a1,.L000185c4
/* 184fc: 00653821 */ addu $a3,$v1,$a1
.L00018500:
/* 18500: 04e10003 */ bgez $a3,.L00018510
/* 18504: 00077043 */ sra $t6,$a3,0x1
/* 18508: 24e10001 */ addiu $at,$a3,0x1
/* 1850c: 00017043 */ sra $t6,$at,0x1
.L00018510:
/* 18510: 000e78c0 */ sll $t7,$t6,0x3
/* 18514: 004f4021 */ addu $t0,$v0,$t7
/* 18518: 8d090004 */ lw $t1,0x4($t0)
/* 1851c: 01c03025 */ or $a2,$t6,$zero
/* 18520: 14890003 */ bne $a0,$t1,.L00018530
/* 18524: 0089082a */ slt $at,$a0,$t1
/* 18528: 03e00008 */ jr $ra
/* 1852c: 8d020000 */ lw $v0,0x0($t0)
.L00018530:
/* 18530: 50200004 */ beqzl $at,.L00018544
/* 18534: 24c30001 */ addiu $v1,$a2,0x1
/* 18538: 10000002 */ beqz $zero,.L00018544
/* 1853c: 24c5ffff */ addiu $a1,$a2,-1
/* 18540: 24c30001 */ addiu $v1,$a2,0x1
.L00018544:
/* 18544: 00a3082a */ slt $at,$a1,$v1
/* 18548: 5020ffed */ beqzl $at,.L00018500
/* 1854c: 00653821 */ addu $a3,$v1,$a1
/* 18550: 1000001d */ beqz $zero,.L000185c8
/* 18554: 00001025 */ or $v0,$zero,$zero
.L00018558:
/* 18558: 8ca5ef30 */ lw $a1,-0x10d0($a1)
/* 1855c: 3c098008 */ lui $t1,%hi(g_GlobalAilists)
/* 18560: 00001825 */ or $v1,$zero,$zero
/* 18564: 04a00017 */ bltz $a1,.L000185c4
/* 18568: 2529ac58 */ addiu $t1,$t1,%lo(g_GlobalAilists)
/* 1856c: 00653821 */ addu $a3,$v1,$a1
.L00018570:
/* 18570: 04e10003 */ bgez $a3,.L00018580
/* 18574: 0007c043 */ sra $t8,$a3,0x1
/* 18578: 24e10001 */ addiu $at,$a3,0x1
/* 1857c: 0001c043 */ sra $t8,$at,0x1
.L00018580:
/* 18580: 0018c8c0 */ sll $t9,$t8,0x3
/* 18584: 01394021 */ addu $t0,$t1,$t9
/* 18588: 8d020004 */ lw $v0,0x4($t0)
/* 1858c: 03003025 */ or $a2,$t8,$zero
/* 18590: 54820004 */ bnel $a0,$v0,.L000185a4
/* 18594: 0082082a */ slt $at,$a0,$v0
/* 18598: 03e00008 */ jr $ra
/* 1859c: 8d020000 */ lw $v0,0x0($t0)
/* 185a0: 0082082a */ slt $at,$a0,$v0
.L000185a4:
/* 185a4: 50200004 */ beqzl $at,.L000185b8
/* 185a8: 24c30001 */ addiu $v1,$a2,0x1
/* 185ac: 10000002 */ beqz $zero,.L000185b8
/* 185b0: 24c5ffff */ addiu $a1,$a2,-1
/* 185b4: 24c30001 */ addiu $v1,$a2,0x1
.L000185b8:
/* 185b8: 00a3082a */ slt $at,$a1,$v1
/* 185bc: 5020ffec */ beqzl $at,.L00018570
/* 185c0: 00653821 */ addu $a3,$v1,$a1
.L000185c4:
/* 185c4: 00001025 */ or $v0,$zero,$zero
.L000185c8:
/* 185c8: 03e00008 */ jr $ra
/* 185cc: 00000000 */ sll $zero,$zero,0x0
);
u8 *ailistFindById(s32 ailistid)
{
s32 lower;
s32 upper;
s32 index;
if (ailistid >= 0x401) {
if (g_StageSetup.ailists) {
lower = 0;
upper = g_NumLvAilists;
index;
while (upper >= lower) {
index = (lower + upper) / 2;
if (g_StageSetup.ailists[index].id == ailistid) {
return g_StageSetup.ailists[index].list;
}
if (ailistid < g_StageSetup.ailists[index].id) {
upper = index - 1;
} else {
lower = index + 1;
}
}
}
} else {
lower = 0;
upper = g_NumGlobalAilists;
index;
while (upper >= lower) {
index = (lower + upper) / 2;
if (g_GlobalAilists[index].id == ailistid) {
return g_GlobalAilists[index].list;
}
if (ailistid < g_GlobalAilists[index].id) {
upper = index - 1;
} else {
lower = index + 1;
}
}
}
return NULL;
}
GLOBAL_ASM(
glabel func000185d0
+6 -5
View File
@@ -8297,10 +8297,10 @@ u32 var80062980 = 0;
s32 var80062984 = 5000;
// 80062988
struct chrdata *g_Chrs = NULL;
struct chrdata *g_ChrsA = NULL;
// 8006298c
u32 g_NumChrs = 0;
u32 g_NumChrsA = 0;
u32 var80062990 = 0x00000000;
u32 var80062994 = 0x00000000;
@@ -13731,9 +13731,10 @@ u32 var80067e50 = (u32) &var80067e48;
// 80067e54
u32 g_StageFlags = 0;
u32 var80067e58 = 0x00000000;
u32 var80067e5c = 0x00000000;
u32 var80067e60 = 0x00000000;
struct chrdata *g_ChrsB = NULL;
s16 *g_ChrnumsB = NULL;
s32 g_NumChrsB = 0;
u32 var80067e64 = 0x00000000;
s16 *g_SquadronList = NULL;
u32 var80067e6c = 0x00280000;