Decompile func0f14a240

This commit is contained in:
Ryan Dwyer 2021-09-28 19:04:51 +10:00
parent 9dd91592d1
commit 2bd8dd5e8e
2 changed files with 227 additions and 56 deletions

View File

@ -883,60 +883,35 @@ glabel func0f14a20c
/* f14a23c: 01cf1021 */ addu $v0,$t6,$t7
);
GLOBAL_ASM(
glabel func0f14a240
/* f14a240: 3c03800a */ lui $v1,%hi(var800a45a0)
/* f14a244: 246345a0 */ addiu $v1,$v1,%lo(var800a45a0)
/* f14a248: 8c6e0000 */ lw $t6,0x0($v1)
/* f14a24c: 240dffff */ addiu $t5,$zero,-1
/* f14a250: 00001025 */ or $v0,$zero,$zero
/* f14a254: adc0048c */ sw $zero,0x48c($t6)
/* f14a258: 8c6f0000 */ lw $t7,0x0($v1)
/* f14a25c: 24040008 */ addiu $a0,$zero,0x8
/* f14a260: 24050004 */ addiu $a1,$zero,0x4
/* f14a264: ade00484 */ sw $zero,0x484($t7)
/* f14a268: 8c780000 */ lw $t8,0x0($v1)
/* f14a26c: 240f0001 */ addiu $t7,$zero,0x1
/* f14a270: af000470 */ sw $zero,0x470($t8)
/* f14a274: 8c790000 */ lw $t9,0x0($v1)
/* f14a278: af200474 */ sw $zero,0x474($t9)
/* f14a27c: 8c680000 */ lw $t0,0x0($v1)
/* f14a280: ad000478 */ sw $zero,0x478($t0)
/* f14a284: 8c690000 */ lw $t1,0x0($v1)
/* f14a288: ad20047c */ sw $zero,0x47c($t1)
/* f14a28c: 8c6a0000 */ lw $t2,0x0($v1)
/* f14a290: ad400480 */ sw $zero,0x480($t2)
/* f14a294: 8c6b0000 */ lw $t3,0x0($v1)
/* f14a298: ad60037c */ sw $zero,0x37c($t3)
/* f14a29c: 8c6c0000 */ lw $t4,0x0($v1)
/* f14a2a0: ad800000 */ sw $zero,0x0($t4)
/* f14a2a4: 8c6e0000 */ lw $t6,0x0($v1)
/* f14a2a8: adcd0004 */ sw $t5,0x4($t6)
/* f14a2ac: 8c780000 */ lw $t8,0x0($v1)
/* f14a2b0: af0f0008 */ sw $t7,0x8($t8)
/* f14a2b4: 00001825 */ or $v1,$zero,$zero
.L0f14a2b8:
/* f14a2b8: 24630001 */ addiu $v1,$v1,0x1
.L0f14a2bc:
/* f14a2bc: 5464ffff */ bnel $v1,$a0,.L0f14a2bc
/* f14a2c0: 24630001 */ addiu $v1,$v1,0x1
/* f14a2c4: 24420001 */ addiu $v0,$v0,0x1
/* f14a2c8: 28410004 */ slti $at,$v0,0x4
/* f14a2cc: 5420fffa */ bnezl $at,.L0f14a2b8
/* f14a2d0: 00001825 */ or $v1,$zero,$zero
/* f14a2d4: 00001025 */ or $v0,$zero,$zero
/* f14a2d8: 00001825 */ or $v1,$zero,$zero
.L0f14a2dc:
/* f14a2dc: 24630001 */ addiu $v1,$v1,0x1
.L0f14a2e0:
/* f14a2e0: 5464ffff */ bnel $v1,$a0,.L0f14a2e0
/* f14a2e4: 24630001 */ addiu $v1,$v1,0x1
/* f14a2e8: 24420001 */ addiu $v0,$v0,0x1
/* f14a2ec: 5445fffb */ bnel $v0,$a1,.L0f14a2dc
/* f14a2f0: 00001825 */ or $v1,$zero,$zero
/* f14a2f4: 03e00008 */ jr $ra
/* f14a2f8: 00000000 */ nop
);
void func0f14a240(void)
{
s32 i;
s32 j;
var800a45a0->unk48c = 0;
var800a45a0->unk484 = 0;
var800a45a0->unk470 = 0;
var800a45a0->unk474 = 0;
var800a45a0->unk478 = 0;
var800a45a0->unk47c = 0;
var800a45a0->unk480 = 0;
var800a45a0->unk37c = 0;
var800a45a0->unk000 = 0;
var800a45a0->unk004 = -1;
var800a45a0->unk008 = 1;
for (i = 0; i < 4; i++) {
for (j = 0; j < 8; j++) {
// empty
}
}
for (i = 0; i < 4; i++) {
for (j = 0; j < 8; j++) {
// empty
}
}
}
GLOBAL_ASM(
glabel func0f14a2fc
@ -959,7 +934,7 @@ void phAllocate(void)
if (IS8MB()) {
u32 size1 = align16(sizeof(struct var8007f8dc) * 4);
u32 size2 = align16(0x490);
u32 size2 = align16(sizeof(struct var800a45a0));
var8007f8dc = malloc(size1, MEMPOOL_PERMANENT);
var800a45a0 = malloc(size2, MEMPOOL_PERMANENT);

View File

@ -7218,7 +7218,203 @@ struct var800a45a0 {
/*0x170*/ u32 unk170;
/*0x174*/ u32 unk174;
/*0x178*/ u32 unk178;
// len 0x490?
/*0x17c*/ u32 unk17c;
/*0x180*/ u32 unk180;
/*0x184*/ u32 unk184;
/*0x188*/ u32 unk188;
/*0x18c*/ u32 unk18c;
/*0x190*/ u32 unk190;
/*0x194*/ u32 unk194;
/*0x198*/ u32 unk198;
/*0x19c*/ u32 unk19c;
/*0x1a0*/ u32 unk1a0;
/*0x1a4*/ u32 unk1a4;
/*0x1a8*/ u32 unk1a8;
/*0x1ac*/ u32 unk1ac;
/*0x1b0*/ u32 unk1b0;
/*0x1b4*/ u32 unk1b4;
/*0x1b8*/ u32 unk1b8;
/*0x1bc*/ u32 unk1bc;
/*0x1c0*/ u32 unk1c0;
/*0x1c4*/ u32 unk1c4;
/*0x1c8*/ u32 unk1c8;
/*0x1cc*/ u32 unk1cc;
/*0x1d0*/ u32 unk1d0;
/*0x1d4*/ u32 unk1d4;
/*0x1d8*/ u32 unk1d8;
/*0x1dc*/ u32 unk1dc;
/*0x1e0*/ u32 unk1e0;
/*0x1e4*/ u32 unk1e4;
/*0x1e8*/ u32 unk1e8;
/*0x1ec*/ u32 unk1ec;
/*0x1f0*/ u32 unk1f0;
/*0x1f4*/ u32 unk1f4;
/*0x1f8*/ u32 unk1f8;
/*0x1fc*/ u32 unk1fc;
/*0x200*/ u32 unk200;
/*0x204*/ u32 unk204;
/*0x208*/ u32 unk208;
/*0x20c*/ u32 unk20c;
/*0x210*/ u32 unk210;
/*0x214*/ u32 unk214;
/*0x218*/ u32 unk218;
/*0x21c*/ u32 unk21c;
/*0x220*/ u32 unk220;
/*0x224*/ u32 unk224;
/*0x228*/ u32 unk228;
/*0x22c*/ u32 unk22c;
/*0x230*/ u32 unk230;
/*0x234*/ u32 unk234;
/*0x238*/ u32 unk238;
/*0x23c*/ u32 unk23c;
/*0x240*/ u32 unk240;
/*0x244*/ u32 unk244;
/*0x248*/ u32 unk248;
/*0x24c*/ u32 unk24c;
/*0x250*/ u32 unk250;
/*0x254*/ u32 unk254;
/*0x258*/ u32 unk258;
/*0x25c*/ u32 unk25c;
/*0x260*/ u32 unk260;
/*0x264*/ u32 unk264;
/*0x268*/ u32 unk268;
/*0x26c*/ u32 unk26c;
/*0x270*/ u32 unk270;
/*0x274*/ u32 unk274;
/*0x278*/ u32 unk278;
/*0x27c*/ u32 unk27c;
/*0x280*/ u32 unk280;
/*0x284*/ u32 unk284;
/*0x288*/ u32 unk288;
/*0x28c*/ u32 unk28c;
/*0x290*/ u32 unk290;
/*0x294*/ u32 unk294;
/*0x298*/ u32 unk298;
/*0x29c*/ u32 unk29c;
/*0x2a0*/ u32 unk2a0;
/*0x2a4*/ u32 unk2a4;
/*0x2a8*/ u32 unk2a8;
/*0x2ac*/ u32 unk2ac;
/*0x2b0*/ u32 unk2b0;
/*0x2b4*/ u32 unk2b4;
/*0x2b8*/ u32 unk2b8;
/*0x2bc*/ u32 unk2bc;
/*0x2c0*/ u32 unk2c0;
/*0x2c4*/ u32 unk2c4;
/*0x2c8*/ u32 unk2c8;
/*0x2cc*/ u32 unk2cc;
/*0x2d0*/ u32 unk2d0;
/*0x2d4*/ u32 unk2d4;
/*0x2d8*/ u32 unk2d8;
/*0x2dc*/ u32 unk2dc;
/*0x2e0*/ u32 unk2e0;
/*0x2e4*/ u32 unk2e4;
/*0x2e8*/ u32 unk2e8;
/*0x2ec*/ u32 unk2ec;
/*0x2f0*/ u32 unk2f0;
/*0x2f4*/ u32 unk2f4;
/*0x2f8*/ u32 unk2f8;
/*0x2fc*/ u32 unk2fc;
/*0x300*/ u32 unk300;
/*0x304*/ u32 unk304;
/*0x308*/ u32 unk308;
/*0x30c*/ u32 unk30c;
/*0x310*/ u32 unk310;
/*0x314*/ u32 unk314;
/*0x318*/ u32 unk318;
/*0x31c*/ u32 unk31c;
/*0x320*/ u32 unk320;
/*0x324*/ u32 unk324;
/*0x328*/ u32 unk328;
/*0x32c*/ u32 unk32c;
/*0x330*/ u32 unk330;
/*0x334*/ u32 unk334;
/*0x338*/ u32 unk338;
/*0x33c*/ u32 unk33c;
/*0x340*/ u32 unk340;
/*0x344*/ u32 unk344;
/*0x348*/ u32 unk348;
/*0x34c*/ u32 unk34c;
/*0x350*/ u32 unk350;
/*0x354*/ u32 unk354;
/*0x358*/ u32 unk358;
/*0x35c*/ u32 unk35c;
/*0x360*/ u32 unk360;
/*0x364*/ u32 unk364;
/*0x368*/ u32 unk368;
/*0x36c*/ u32 unk36c;
/*0x370*/ u32 unk370;
/*0x374*/ u32 unk374;
/*0x378*/ u32 unk378;
/*0x37c*/ u32 unk37c;
/*0x380*/ u32 unk380;
/*0x384*/ u32 unk384;
/*0x388*/ u32 unk388;
/*0x38c*/ u32 unk38c;
/*0x390*/ u32 unk390;
/*0x394*/ u32 unk394;
/*0x398*/ u32 unk398;
/*0x39c*/ u32 unk39c;
/*0x3a0*/ u32 unk3a0;
/*0x3a4*/ u32 unk3a4;
/*0x3a8*/ u32 unk3a8;
/*0x3ac*/ u32 unk3ac;
/*0x3b0*/ u32 unk3b0;
/*0x3b4*/ u32 unk3b4;
/*0x3b8*/ u32 unk3b8;
/*0x3bc*/ u32 unk3bc;
/*0x3c0*/ u32 unk3c0;
/*0x3c4*/ u32 unk3c4;
/*0x3c8*/ u32 unk3c8;
/*0x3cc*/ u32 unk3cc;
/*0x3d0*/ u32 unk3d0;
/*0x3d4*/ u32 unk3d4;
/*0x3d8*/ u32 unk3d8;
/*0x3dc*/ u32 unk3dc;
/*0x3e0*/ u32 unk3e0;
/*0x3e4*/ u32 unk3e4;
/*0x3e8*/ u32 unk3e8;
/*0x3ec*/ u32 unk3ec;
/*0x3f0*/ u32 unk3f0;
/*0x3f4*/ u32 unk3f4;
/*0x3f8*/ u32 unk3f8;
/*0x3fc*/ u32 unk3fc;
/*0x400*/ u32 unk400;
/*0x404*/ u32 unk404;
/*0x408*/ u32 unk408;
/*0x40c*/ u32 unk40c;
/*0x410*/ u32 unk410;
/*0x414*/ u32 unk414;
/*0x418*/ u32 unk418;
/*0x41c*/ u32 unk41c;
/*0x420*/ u32 unk420;
/*0x424*/ u32 unk424;
/*0x428*/ u32 unk428;
/*0x42c*/ u32 unk42c;
/*0x430*/ u32 unk430;
/*0x434*/ u32 unk434;
/*0x438*/ u32 unk438;
/*0x43c*/ u32 unk43c;
/*0x440*/ u32 unk440;
/*0x444*/ u32 unk444;
/*0x448*/ u32 unk448;
/*0x44c*/ u32 unk44c;
/*0x450*/ u32 unk450;
/*0x454*/ u32 unk454;
/*0x458*/ u32 unk458;
/*0x45c*/ u32 unk45c;
/*0x460*/ u32 unk460;
/*0x464*/ u32 unk464;
/*0x468*/ u32 unk468;
/*0x46c*/ u32 unk46c;
/*0x470*/ u32 unk470;
/*0x474*/ u32 unk474;
/*0x478*/ u32 unk478;
/*0x47c*/ u32 unk47c;
/*0x480*/ u32 unk480;
/*0x484*/ u32 unk484;
/*0x488*/ u32 unk488;
/*0x48c*/ u32 unk48c;
};
struct var8007f8e0 { // perfect head?