Decompile func0f000130

This commit is contained in:
Ryan Dwyer 2020-12-28 14:46:57 +10:00
parent dcb1abbb9b
commit 5015f72aff
3 changed files with 81 additions and 211 deletions

View File

@ -126,102 +126,45 @@ u32 var80062af0 = 0x00000007;
u32 var80062af4 = 0x00000003;
u32 var80062af8 = 0x00000001;
u32 var80062afc = 0x00000005;
u32 var80062b00 = 0x00000000;
u32 var80062b04 = 0x00000000;
u32 var80062b08 = 0x00000000;
u32 var80062b0c = 0x00000000;
u32 var80062b10 = 0x00000000;
u32 var80062b14 = 0x00000000;
u32 var80062b18 = 0x00000000;
u32 var80062b1c = 0x00000000;
u32 var80062b20 = 0x00000001;
u32 var80062b24 = 0x00000002;
u32 var80062b28 = 0x00000003;
u32 var80062b2c = 0xffffffff;
u32 var80062b30 = 0xffffffff;
u32 var80062b34 = 0xffffffff;
u32 var80062b38 = 0xffffffff;
u32 var80062b3c = 0xffffffff;
u32 var80062b40 = 0xffffffff;
u32 var80062b44 = 0xffffffff;
u32 var80062b48 = 0xffffffff;
u32 var80062b4c = 0xffffffff;
u32 var80062b50 = 0xffffffff;
u32 var80062b54 = 0xffffffff;
u32 var80062b58 = 0xffffffff;
u32 var80062b5c = 0xffffffff;
u32 var80062b60 = 0xffffffff;
u32 var80062b64 = 0xffffffff;
u32 var80062b68 = 0x00000018;
u32 var80062b6c = 0x00000013;
u32 var80062b70 = 0x00000016;
u32 var80062b74 = 0x00000011;
u32 var80062b78 = 0x00000006;
u32 var80062b7c = 0x00000014;
u32 var80062b80 = 0x00000012;
u32 var80062b84 = 0x0000001b;
u32 var80062b88 = 0x0000001c;
u32 var80062b8c = 0x0000001a;
u32 var80062b90 = 0x0000003b;
u32 var80062b94 = 0x00000037;
u32 var80062b98 = 0x00000042;
u32 var80062b9c = 0x00000043;
u32 var80062ba0 = 0x00000048;
u32 var80062ba4 = 0x00000054;
u32 var80062ba8 = 0x0000000b;
u32 var80062bac = 0x0000002a;
u32 var80062bb0 = 0x0000001e;
u32 var80062bb4 = 0x0000001f;
u32 var80062bb8 = 0x00000022;
u32 var80062bbc = 0x00000023;
u32 var80062bc0 = 0x00000025;
u32 var80062bc4 = 0x00000026;
u32 var80062bc8 = 0x00000027;
u32 var80062bcc = 0x0000002d;
u32 var80062bd0 = 0x0000002e;
u32 var80062bd4 = 0x00000049;
u32 var80062bd8 = 0x0000004a;
u32 var80062bdc = 0x0000004b;
u32 var80062be0 = 0x0000004c;
u32 var80062be4 = 0x0000004d;
u32 var80062be8 = 0x0000004e;
u32 var80062bec = 0x0000004f;
u32 var80062bf0 = 0x00000050;
u32 var80062bf4 = 0x00000051;
u32 var80062bf8 = 0x00000052;
u32 var80062bfc = 0x00000055;
u32 var80062c00 = 0x0000003f;
u32 var80062c04 = 0x00000040;
u32 var80062c08 = 0x00000041;
u32 var80062c0c = 0x00000044;
u32 var80062c10 = 0xffffffff;
u32 var80062c14 = 0x00000018;
u32 var80062c18 = 0x00000013;
u32 var80062c1c = 0x00000016;
u32 var80062c20 = 0x00000011;
u32 var80062c24 = 0x00000006;
u32 var80062c28 = 0x00000014;
u32 var80062c2c = 0x00000012;
u32 var80062c30 = 0x0000001b;
u32 var80062c34 = 0x0000001c;
u32 var80062c38 = 0x0000001a;
u32 var80062c3c = 0x0000003b;
u32 var80062c40 = 0x00000037;
u32 var80062c44 = 0x00000042;
u32 var80062c48 = 0x00000043;
u32 var80062c4c = 0x00000048;
u32 var80062c50 = 0x00000054;
u32 var80062c54 = 0xffffffff;
u32 var80062c58 = 0x00000021;
u32 var80062c5c = 0x00000020;
u32 var80062c60 = 0x00000024;
u32 var80062c64 = 0x0000002c;
u32 var80062c68 = 0xffffffff;
u32 var80062c6c = 0x00000021;
u32 var80062c70 = 0x00000020;
u32 var80062c74 = 0x00000024;
u32 var80062c78 = 0x0000002c;
u32 var80062c7c = 0xffffffff;
s32 var80062b00 = 0;
s32 var80062b04 = 0;
s32 var80062b08 = 0;
s32 var80062b0c = 0;
s32 var80062b10 = 0;
u32 var80062b14 = 0;
u32 var80062b18 = 0;
// These arrays are head/body numbers
s32 var80062b1c[] = {
0x00, 0x01, 0x02, 0x03, -1, -1, -1, -1,
-1, -1, -1, -1, -1, -1, -1, -1,
-1, -1, -1,
};
s32 var80062b68[] = {
0x18, 0x13, 0x16, 0x11, 0x06, 0x14, 0x12, 0x1b,
0x1c, 0x1a, 0x3b, 0x37, 0x42, 0x43, 0x48, 0x54,
0x0b, 0x2a, 0x1e, 0x1f, 0x22, 0x23, 0x25, 0x26,
0x27, 0x2d, 0x2e, 0x49, 0x4a, 0x4b, 0x4c, 0x4d,
0x4e, 0x4f, 0x50, 0x51, 0x52, 0x55, 0x3f, 0x40,
0x41, 0x44, -1,
};
s32 var80062c14[] = {
0x18, 0x13, 0x16, 0x11, 0x06, 0x14, 0x12, 0x1b,
0x1c, 0x1a, 0x3b, 0x37, 0x42, 0x43, 0x48, 0x54,
-1,
};
s32 var80062c58[] = {
0x21, 0x20, 0x24, 0x2c, -1,
};
s32 var80062c6c[] = {
0x21, 0x20, 0x24, 0x2c, -1,
};
u32 var80062c80 = 0x00000000;
u32 g_HeadsAIndex = 0x00000000;
u32 g_HeadsBIndex = 0x00000000;

View File

@ -18,111 +18,38 @@ const u32 var7f1a78c4[] = {0x38c907a9};
const u32 var7f1a78c8[] = {0x3dccccce};
const u32 var7f1a78cc[] = {0x00000000};
GLOBAL_ASM(
glabel func0f000130
/* f000130: 3c048006 */ lui $a0,%hi(var80062b1c)
/* f000134: 24842b1c */ addiu $a0,$a0,%lo(var80062b1c)
/* f000138: 00007080 */ sll $t6,$zero,0x2
/* f00013c: 008e7821 */ addu $t7,$a0,$t6
/* f000140: 8df80000 */ lw $t8,0x0($t7)
/* f000144: 3c038006 */ lui $v1,%hi(var80062b00)
/* f000148: 24632b00 */ addiu $v1,$v1,%lo(var80062b00)
/* f00014c: ac600000 */ sw $zero,0x0($v1)
/* f000150: 07000009 */ bltz $t8,.L0f000178
/* f000154: 00001025 */ or $v0,$zero,$zero
/* f000158: 24590001 */ addiu $t9,$v0,0x1
.L0f00015c:
/* f00015c: 00194080 */ sll $t0,$t9,0x2
/* f000160: 00884821 */ addu $t1,$a0,$t0
/* f000164: 8d2a0000 */ lw $t2,0x0($t1)
/* f000168: ac790000 */ sw $t9,0x0($v1)
/* f00016c: 03201025 */ or $v0,$t9,$zero
/* f000170: 0543fffa */ bgezl $t2,.L0f00015c
/* f000174: 24590001 */ addiu $t9,$v0,0x1
.L0f000178:
/* f000178: 3c048006 */ lui $a0,%hi(var80062c14)
/* f00017c: 24842c14 */ addiu $a0,$a0,%lo(var80062c14)
/* f000180: 00005880 */ sll $t3,$zero,0x2
/* f000184: 008b6021 */ addu $t4,$a0,$t3
/* f000188: 8d8d0000 */ lw $t5,0x0($t4)
/* f00018c: 3c038006 */ lui $v1,%hi(var80062b0c)
/* f000190: 24632b0c */ addiu $v1,$v1,%lo(var80062b0c)
/* f000194: ac600000 */ sw $zero,0x0($v1)
/* f000198: 05a00009 */ bltz $t5,.L0f0001c0
/* f00019c: 00001025 */ or $v0,$zero,$zero
/* f0001a0: 244e0001 */ addiu $t6,$v0,0x1
.L0f0001a4:
/* f0001a4: 000e7880 */ sll $t7,$t6,0x2
/* f0001a8: 008fc021 */ addu $t8,$a0,$t7
/* f0001ac: 8f190000 */ lw $t9,0x0($t8)
/* f0001b0: ac6e0000 */ sw $t6,0x0($v1)
/* f0001b4: 01c01025 */ or $v0,$t6,$zero
/* f0001b8: 0723fffa */ bgezl $t9,.L0f0001a4
/* f0001bc: 244e0001 */ addiu $t6,$v0,0x1
.L0f0001c0:
/* f0001c0: 3c048006 */ lui $a0,%hi(var80062c6c)
/* f0001c4: 24842c6c */ addiu $a0,$a0,%lo(var80062c6c)
/* f0001c8: 00004080 */ sll $t0,$zero,0x2
/* f0001cc: 00884821 */ addu $t1,$a0,$t0
/* f0001d0: 8d2a0000 */ lw $t2,0x0($t1)
/* f0001d4: 3c038006 */ lui $v1,%hi(var80062b10)
/* f0001d8: 24632b10 */ addiu $v1,$v1,%lo(var80062b10)
/* f0001dc: ac600000 */ sw $zero,0x0($v1)
/* f0001e0: 05400009 */ bltz $t2,.L0f000208
/* f0001e4: 00001025 */ or $v0,$zero,$zero
/* f0001e8: 244b0001 */ addiu $t3,$v0,0x1
.L0f0001ec:
/* f0001ec: 000b6080 */ sll $t4,$t3,0x2
/* f0001f0: 008c6821 */ addu $t5,$a0,$t4
/* f0001f4: 8dae0000 */ lw $t6,0x0($t5)
/* f0001f8: ac6b0000 */ sw $t3,0x0($v1)
/* f0001fc: 01601025 */ or $v0,$t3,$zero
/* f000200: 05c3fffa */ bgezl $t6,.L0f0001ec
/* f000204: 244b0001 */ addiu $t3,$v0,0x1
.L0f000208:
/* f000208: 3c048006 */ lui $a0,%hi(var80062b68)
/* f00020c: 24842b68 */ addiu $a0,$a0,%lo(var80062b68)
/* f000210: 00007880 */ sll $t7,$zero,0x2
/* f000214: 008fc021 */ addu $t8,$a0,$t7
/* f000218: 8f190000 */ lw $t9,0x0($t8)
/* f00021c: 3c038006 */ lui $v1,%hi(var80062b04)
/* f000220: 24632b04 */ addiu $v1,$v1,%lo(var80062b04)
/* f000224: ac600000 */ sw $zero,0x0($v1)
/* f000228: 07200009 */ bltz $t9,.L0f000250
/* f00022c: 00001025 */ or $v0,$zero,$zero
/* f000230: 24480001 */ addiu $t0,$v0,0x1
.L0f000234:
/* f000234: 00084880 */ sll $t1,$t0,0x2
/* f000238: 00895021 */ addu $t2,$a0,$t1
/* f00023c: 8d4b0000 */ lw $t3,0x0($t2)
/* f000240: ac680000 */ sw $t0,0x0($v1)
/* f000244: 01001025 */ or $v0,$t0,$zero
/* f000248: 0563fffa */ bgezl $t3,.L0f000234
/* f00024c: 24480001 */ addiu $t0,$v0,0x1
.L0f000250:
/* f000250: 3c048006 */ lui $a0,%hi(var80062c58)
/* f000254: 24842c58 */ addiu $a0,$a0,%lo(var80062c58)
/* f000258: 00006080 */ sll $t4,$zero,0x2
/* f00025c: 008c6821 */ addu $t5,$a0,$t4
/* f000260: 8dae0000 */ lw $t6,0x0($t5)
/* f000264: 3c038006 */ lui $v1,%hi(var80062b08)
/* f000268: 24632b08 */ addiu $v1,$v1,%lo(var80062b08)
/* f00026c: ac600000 */ sw $zero,0x0($v1)
/* f000270: 05c00009 */ bltz $t6,.L0f000298
/* f000274: 00001025 */ or $v0,$zero,$zero
/* f000278: 244f0001 */ addiu $t7,$v0,0x1
.L0f00027c:
/* f00027c: 000fc080 */ sll $t8,$t7,0x2
/* f000280: 0098c821 */ addu $t9,$a0,$t8
/* f000284: 8f280000 */ lw $t0,0x0($t9)
/* f000288: ac6f0000 */ sw $t7,0x0($v1)
/* f00028c: 01e01025 */ or $v0,$t7,$zero
/* f000290: 0503fffa */ bgezl $t0,.L0f00027c
/* f000294: 244f0001 */ addiu $t7,$v0,0x1
.L0f000298:
/* f000298: 03e00008 */ jr $ra
/* f00029c: 00000000 */ nop
);
void func0f000130(void)
{
var80062b00 = 0;
while (var80062b1c[var80062b00] >= 0) {
var80062b00++;
}
var80062b0c = 0;
while (var80062c14[var80062b0c] >= 0) {
var80062b0c++;
}
var80062b10 = 0;
while (var80062c6c[var80062b10] >= 0) {
var80062b10++;
}
var80062b04 = 0;
while (var80062b68[var80062b04] >= 0) {
var80062b04++;
}
var80062b08 = 0;
while (var80062c58[var80062b08] >= 0) {
var80062b08++;
}
}
GLOBAL_ASM(
glabel func0f0002a0

View File

@ -109,17 +109,17 @@ extern struct var80062a8c *var80062a8c; // pointer to array
extern s32 var80062a90; // true if var80062a8c has anything in its array
extern u32 var80062a94;
extern u32 var80062aa0;
extern u32 var80062b00;
extern u32 var80062b04;
extern u32 var80062b08;
extern u32 var80062b0c;
extern u32 var80062b10;
extern s32 var80062b00;
extern s32 var80062b04;
extern s32 var80062b08;
extern s32 var80062b0c;
extern s32 var80062b10;
extern u32 var80062b14;
extern u32 var80062b1c;
extern u32 var80062b68;
extern u32 var80062c14;
extern u32 var80062c58;
extern u32 var80062c6c;
extern s32 var80062b1c[];
extern s32 var80062b68[];
extern s32 var80062c14[];
extern s32 var80062c58[];
extern s32 var80062c6c[];
extern u32 g_HeadsAIndex;
extern u32 g_HeadsBIndex;
extern u32 g_FemaleHeads[3];