Taggerung's match of func_8005E6C (#441)
* Taggerung's match of func_8005E6C
This commit is contained in:
parent
ab2be40711
commit
274fc21ffa
|
|
@ -1,159 +0,0 @@
|
|||
glabel func_80053E6C
|
||||
/* 054A6C 80053E6C 27BDFFC0 */ addiu $sp, $sp, -0x40
|
||||
/* 054A70 80053E70 3C038015 */ lui $v1, %hi(gDisplayListHead) # $v1, 0x8015
|
||||
/* 054A74 80053E74 24630298 */ addiu $v1, %lo(gDisplayListHead) # addiu $v1, $v1, 0x298
|
||||
/* 054A78 80053E78 8C620000 */ lw $v0, ($v1)
|
||||
/* 054A7C 80053E7C AFBF003C */ sw $ra, 0x3c($sp)
|
||||
/* 054A80 80053E80 AFB50038 */ sw $s5, 0x38($sp)
|
||||
/* 054A84 80053E84 244E0008 */ addiu $t6, $v0, 8
|
||||
/* 054A88 80053E88 AFB40034 */ sw $s4, 0x34($sp)
|
||||
/* 054A8C 80053E8C AFB30030 */ sw $s3, 0x30($sp)
|
||||
/* 054A90 80053E90 AFB2002C */ sw $s2, 0x2c($sp)
|
||||
/* 054A94 80053E94 AFB10028 */ sw $s1, 0x28($sp)
|
||||
/* 054A98 80053E98 AFB00024 */ sw $s0, 0x24($sp)
|
||||
/* 054A9C 80053E9C AC6E0000 */ sw $t6, ($v1)
|
||||
/* 054AA0 80053EA0 3C180D00 */ lui $t8, %hi(D_0D007E98) # $t8, 0xd00
|
||||
/* 054AA4 80053EA4 27187E98 */ addiu $t8, %lo(D_0D007E98) # addiu $t8, $t8, 0x7e98
|
||||
/* 054AA8 80053EA8 3C0F0600 */ lui $t7, 0x600
|
||||
/* 054AAC 80053EAC AC4F0000 */ sw $t7, ($v0)
|
||||
/* 054AB0 80053EB0 AC580004 */ sw $t8, 4($v0)
|
||||
/* 054AB4 80053EB4 8C620000 */ lw $v0, ($v1)
|
||||
/* 054AB8 80053EB8 3C0F800E */ lui $t7, %hi(D_800E52D0) # $t7, 0x800e
|
||||
/* 054ABC 80053EBC 25EF52D0 */ addiu $t7, %lo(D_800E52D0) # addiu $t7, $t7, 0x52d0
|
||||
/* 054AC0 80053EC0 24590008 */ addiu $t9, $v0, 8
|
||||
/* 054AC4 80053EC4 AC790000 */ sw $t9, ($v1)
|
||||
/* 054AC8 80053EC8 3C0EFD10 */ lui $t6, 0xfd10
|
||||
/* 054ACC 80053ECC AC4E0000 */ sw $t6, ($v0)
|
||||
/* 054AD0 80053ED0 AC4F0004 */ sw $t7, 4($v0)
|
||||
/* 054AD4 80053ED4 8C620000 */ lw $v0, ($v1)
|
||||
/* 054AD8 80053ED8 3C19E800 */ lui $t9, 0xe800
|
||||
/* 054ADC 80053EDC 3C0FF500 */ lui $t7, (0xF5000100 >> 16) # lui $t7, 0xf500
|
||||
/* 054AE0 80053EE0 24580008 */ addiu $t8, $v0, 8
|
||||
/* 054AE4 80053EE4 AC780000 */ sw $t8, ($v1)
|
||||
/* 054AE8 80053EE8 AC400004 */ sw $zero, 4($v0)
|
||||
/* 054AEC 80053EEC AC590000 */ sw $t9, ($v0)
|
||||
/* 054AF0 80053EF0 8C620000 */ lw $v0, ($v1)
|
||||
/* 054AF4 80053EF4 3C180700 */ lui $t8, 0x700
|
||||
/* 054AF8 80053EF8 35EF0100 */ ori $t7, (0xF5000100 & 0xFFFF) # ori $t7, $t7, 0x100
|
||||
/* 054AFC 80053EFC 244E0008 */ addiu $t6, $v0, 8
|
||||
/* 054B00 80053F00 AC6E0000 */ sw $t6, ($v1)
|
||||
/* 054B04 80053F04 AC580004 */ sw $t8, 4($v0)
|
||||
/* 054B08 80053F08 AC4F0000 */ sw $t7, ($v0)
|
||||
/* 054B0C 80053F0C 8C620000 */ lw $v0, ($v1)
|
||||
/* 054B10 80053F10 3C0EE600 */ lui $t6, 0xe600
|
||||
/* 054B14 80053F14 3C18F000 */ lui $t8, 0xf000
|
||||
/* 054B18 80053F18 24590008 */ addiu $t9, $v0, 8
|
||||
/* 054B1C 80053F1C AC790000 */ sw $t9, ($v1)
|
||||
/* 054B20 80053F20 AC400004 */ sw $zero, 4($v0)
|
||||
/* 054B24 80053F24 AC4E0000 */ sw $t6, ($v0)
|
||||
/* 054B28 80053F28 8C620000 */ lw $v0, ($v1)
|
||||
/* 054B2C 80053F2C 3C19073F */ lui $t9, (0x073FC000 >> 16) # lui $t9, 0x73f
|
||||
/* 054B30 80053F30 3739C000 */ ori $t9, (0x073FC000 & 0xFFFF) # ori $t9, $t9, 0xc000
|
||||
/* 054B34 80053F34 244F0008 */ addiu $t7, $v0, 8
|
||||
/* 054B38 80053F38 AC6F0000 */ sw $t7, ($v1)
|
||||
/* 054B3C 80053F3C AC590004 */ sw $t9, 4($v0)
|
||||
/* 054B40 80053F40 AC580000 */ sw $t8, ($v0)
|
||||
/* 054B44 80053F44 8C620000 */ lw $v0, ($v1)
|
||||
/* 054B48 80053F48 3C0FE700 */ lui $t7, 0xe700
|
||||
/* 054B4C 80053F4C 0080A825 */ move $s5, $a0
|
||||
/* 054B50 80053F50 244E0008 */ addiu $t6, $v0, 8
|
||||
/* 054B54 80053F54 AC6E0000 */ sw $t6, ($v1)
|
||||
/* 054B58 80053F58 AC400004 */ sw $zero, 4($v0)
|
||||
/* 054B5C 80053F5C AC4F0000 */ sw $t7, ($v0)
|
||||
/* 054B60 80053F60 AFA00018 */ sw $zero, 0x18($sp)
|
||||
/* 054B64 80053F64 AFA00014 */ sw $zero, 0x14($sp)
|
||||
/* 054B68 80053F68 AFA00010 */ sw $zero, 0x10($sp)
|
||||
/* 054B6C 80053F6C 00002025 */ move $a0, $zero
|
||||
/* 054B70 80053F70 00002825 */ move $a1, $zero
|
||||
/* 054B74 80053F74 00003025 */ move $a2, $zero
|
||||
/* 054B78 80053F78 0C012D85 */ jal func_8004B614
|
||||
/* 054B7C 80053F7C 00003825 */ move $a3, $zero
|
||||
/* 054B80 80053F80 3C028018 */ lui $v0, %hi(D_80183E80) # $v0, 0x8018
|
||||
/* 054B84 80053F84 24423E80 */ addiu $v0, %lo(D_80183E80) # addiu $v0, $v0, 0x3e80
|
||||
/* 054B88 80053F88 34188000 */ li $t8, 32768
|
||||
/* 054B8C 80053F8C A4400000 */ sh $zero, ($v0)
|
||||
/* 054B90 80053F90 A4580002 */ sh $t8, 2($v0)
|
||||
/* 054B94 80053F94 3C048019 */ lui $a0, %hi(D_8018D4BC) # $a0, 0x8019
|
||||
/* 054B98 80053F98 8C84D4BC */ lw $a0, %lo(D_8018D4BC)($a0)
|
||||
/* 054B9C 80053F9C 24050040 */ li $a1, 64
|
||||
/* 054BA0 80053FA0 0C0114A9 */ jal func_800452A4
|
||||
/* 054BA4 80053FA4 24060020 */ li $a2, 32
|
||||
/* 054BA8 80053FA8 3C028016 */ lui $v0, %hi(D_80165738) # $v0, 0x8016
|
||||
/* 054BAC 80053FAC 84425738 */ lh $v0, %lo(D_80165738)($v0)
|
||||
/* 054BB0 80053FB0 3C108019 */ lui $s0, %hi(D_8018C630) # $s0, 0x8019
|
||||
/* 054BB4 80053FB4 2610C630 */ addiu $s0, %lo(D_8018C630) # addiu $s0, $s0, -0x39d0
|
||||
/* 054BB8 80053FB8 18400019 */ blez $v0, .L80054020
|
||||
/* 054BBC 80053FBC 00008825 */ move $s1, $zero
|
||||
/* 054BC0 80053FC0 3C138016 */ lui $s3, %hi(D_80165C18) # $s3, 0x8016
|
||||
/* 054BC4 80053FC4 26735C18 */ addiu $s3, %lo(D_80165C18) # addiu $s3, $s3, 0x5c18
|
||||
/* 054BC8 80053FC8 241400E0 */ li $s4, 224
|
||||
/* 054BCC 80053FCC 2412FFFF */ li $s2, -1
|
||||
.L80053FD0:
|
||||
/* 054BD0 80053FD0 8E040000 */ lw $a0, ($s0)
|
||||
/* 054BD4 80053FD4 5092000E */ beql $a0, $s2, .L80054010
|
||||
/* 054BD8 80053FD8 26310001 */ addiu $s1, $s1, 1
|
||||
/* 054BDC 80053FDC 00940019 */ multu $a0, $s4
|
||||
/* 054BE0 80053FE0 02A02825 */ move $a1, $s5
|
||||
/* 054BE4 80053FE4 0000C812 */ mflo $t9
|
||||
/* 054BE8 80053FE8 02797021 */ addu $t6, $s3, $t9
|
||||
/* 054BEC 80053FEC 85CF00A6 */ lh $t7, 0xa6($t6)
|
||||
/* 054BF0 80053FF0 29E10002 */ slti $at, $t7, 2
|
||||
/* 054BF4 80053FF4 54200006 */ bnel $at, $zero, .L80054010
|
||||
/* 054BF8 80053FF8 26310001 */ addiu $s1, $s1, 1
|
||||
/* 054BFC 80053FFC 0C014F5D */ jal func_80053D74
|
||||
/* 054C00 80054000 00003025 */ move $a2, $zero
|
||||
/* 054C04 80054004 3C028016 */ lui $v0, %hi(D_80165738) # $v0, 0x8016
|
||||
/* 054C08 80054008 84425738 */ lh $v0, %lo(D_80165738)($v0)
|
||||
/* 054C0C 8005400C 26310001 */ addiu $s1, $s1, 1
|
||||
.L80054010:
|
||||
/* 054C10 80054010 0222082A */ slt $at, $s1, $v0
|
||||
/* 054C14 80054014 1420FFEE */ bnez $at, .L80053FD0
|
||||
/* 054C18 80054018 26100004 */ addiu $s0, $s0, 4
|
||||
/* 054C1C 8005401C 00008825 */ move $s1, $zero
|
||||
.L80054020:
|
||||
/* 054C20 80054020 3C138016 */ lui $s3, %hi(D_80165C18) # $s3, 0x8016
|
||||
/* 054C24 80054024 3C048019 */ lui $a0, %hi(D_8018D4C0) # $a0, 0x8019
|
||||
/* 054C28 80054028 26735C18 */ addiu $s3, %lo(D_80165C18) # addiu $s3, $s3, 0x5c18
|
||||
/* 054C2C 8005402C 2412FFFF */ li $s2, -1
|
||||
/* 054C30 80054030 241400E0 */ li $s4, 224
|
||||
/* 054C34 80054034 8C84D4C0 */ lw $a0, %lo(D_8018D4C0)($a0)
|
||||
/* 054C38 80054038 24050040 */ li $a1, 64
|
||||
/* 054C3C 8005403C 0C0114A9 */ jal func_800452A4
|
||||
/* 054C40 80054040 24060020 */ li $a2, 32
|
||||
/* 054C44 80054044 3C028016 */ lui $v0, %hi(D_80165738) # $v0, 0x8016
|
||||
/* 054C48 80054048 84425738 */ lh $v0, %lo(D_80165738)($v0)
|
||||
/* 054C4C 8005404C 3C108019 */ lui $s0, %hi(D_8018C630) # $s0, 0x8019
|
||||
/* 054C50 80054050 2610C630 */ addiu $s0, %lo(D_8018C630) # addiu $s0, $s0, -0x39d0
|
||||
/* 054C54 80054054 58400015 */ blezl $v0, .L800540AC
|
||||
/* 054C58 80054058 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
.L8005405C:
|
||||
/* 054C5C 8005405C 8E040000 */ lw $a0, ($s0)
|
||||
/* 054C60 80054060 5092000E */ beql $a0, $s2, .L8005409C
|
||||
/* 054C64 80054064 26310001 */ addiu $s1, $s1, 1
|
||||
/* 054C68 80054068 00940019 */ multu $a0, $s4
|
||||
/* 054C6C 8005406C 02A02825 */ move $a1, $s5
|
||||
/* 054C70 80054070 0000C012 */ mflo $t8
|
||||
/* 054C74 80054074 0278C821 */ addu $t9, $s3, $t8
|
||||
/* 054C78 80054078 872E00A6 */ lh $t6, 0xa6($t9)
|
||||
/* 054C7C 8005407C 29C10002 */ slti $at, $t6, 2
|
||||
/* 054C80 80054080 54200006 */ bnel $at, $zero, .L8005409C
|
||||
/* 054C84 80054084 26310001 */ addiu $s1, $s1, 1
|
||||
/* 054C88 80054088 0C014F5D */ jal func_80053D74
|
||||
/* 054C8C 8005408C 24060004 */ li $a2, 4
|
||||
/* 054C90 80054090 3C028016 */ lui $v0, %hi(D_80165738) # $v0, 0x8016
|
||||
/* 054C94 80054094 84425738 */ lh $v0, %lo(D_80165738)($v0)
|
||||
/* 054C98 80054098 26310001 */ addiu $s1, $s1, 1
|
||||
.L8005409C:
|
||||
/* 054C9C 8005409C 0222082A */ slt $at, $s1, $v0
|
||||
/* 054CA0 800540A0 1420FFEE */ bnez $at, .L8005405C
|
||||
/* 054CA4 800540A4 26100004 */ addiu $s0, $s0, 4
|
||||
/* 054CA8 800540A8 8FBF003C */ lw $ra, 0x3c($sp)
|
||||
.L800540AC:
|
||||
/* 054CAC 800540AC 8FB00024 */ lw $s0, 0x24($sp)
|
||||
/* 054CB0 800540B0 8FB10028 */ lw $s1, 0x28($sp)
|
||||
/* 054CB4 800540B4 8FB2002C */ lw $s2, 0x2c($sp)
|
||||
/* 054CB8 800540B8 8FB30030 */ lw $s3, 0x30($sp)
|
||||
/* 054CBC 800540BC 8FB40034 */ lw $s4, 0x34($sp)
|
||||
/* 054CC0 800540C0 8FB50038 */ lw $s5, 0x38($sp)
|
||||
/* 054CC4 800540C4 03E00008 */ jr $ra
|
||||
/* 054CC8 800540C8 27BD0040 */ addiu $sp, $sp, 0x40
|
||||
|
|
@ -4599,87 +4599,35 @@ void func_80053D74(s32 objectIndex, UNUSED s32 arg1, s32 vertexIndex) {
|
|||
}
|
||||
}
|
||||
|
||||
#ifdef MIPS_TO_C
|
||||
//generated by m2c commit d9d3d6575355663122de59f6b2882d8f174e2355 on Dec-28-2022
|
||||
extern s8 *D_8018D4BC;
|
||||
extern s8 *D_8018D4C0;
|
||||
static ? D_800E52D0; /* unable to generate initializer */
|
||||
extern u8 D_800E52D0[];
|
||||
extern u8* D_8018D4BC;
|
||||
extern u8* D_8018D4C0;
|
||||
|
||||
void func_80053E6C(s32 arg0) {
|
||||
Gfx *temp_v0;
|
||||
Gfx *temp_v0_2;
|
||||
Gfx *temp_v0_3;
|
||||
Gfx *temp_v0_4;
|
||||
Gfx *temp_v0_5;
|
||||
Gfx *temp_v0_6;
|
||||
Gfx *temp_v0_7;
|
||||
s32 *var_s0;
|
||||
s32 *var_s0_2;
|
||||
s32 temp_a0;
|
||||
s32 temp_a0_2;
|
||||
s32 var_s1;
|
||||
s32 thing;
|
||||
|
||||
temp_v0 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0 + 8;
|
||||
temp_v0->words.w0 = 0x06000000;
|
||||
temp_v0->words.w1 = (u32) D_0D007E98;
|
||||
temp_v0_2 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_2 + 8;
|
||||
temp_v0_2->words.w0 = 0xFD100000;
|
||||
temp_v0_2->words.w1 = (u32) &D_800E52D0;
|
||||
temp_v0_3 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_3 + 8;
|
||||
temp_v0_3->words.w1 = 0;
|
||||
temp_v0_3->words.w0 = 0xE8000000;
|
||||
temp_v0_4 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_4 + 8;
|
||||
temp_v0_4->words.w1 = 0x07000000;
|
||||
temp_v0_4->words.w0 = 0xF5000100;
|
||||
temp_v0_5 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_5 + 8;
|
||||
temp_v0_5->words.w1 = 0;
|
||||
temp_v0_5->words.w0 = 0xE6000000;
|
||||
temp_v0_6 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_6 + 8;
|
||||
temp_v0_6->words.w1 = 0x073FC000;
|
||||
temp_v0_6->words.w0 = 0xF0000000;
|
||||
temp_v0_7 = gDisplayListHead;
|
||||
gDisplayListHead = temp_v0_7 + 8;
|
||||
temp_v0_7->words.w1 = 0;
|
||||
temp_v0_7->words.w0 = 0xE7000000;
|
||||
gSPDisplayList(gDisplayListHead++, D_0D007E98);
|
||||
gDPLoadTLUT_pal256(gDisplayListHead++, D_800E52D0);
|
||||
func_8004B614(0, 0, 0, 0, 0, 0, 0);
|
||||
D_80183E80->unk0 = 0;
|
||||
D_80183E80->unk2 = 0x8000;
|
||||
func_800452A4(D_8018D4BC, 0x00000040, 0x00000020);
|
||||
var_s0 = D_8018C630;
|
||||
var_s1 = 0;
|
||||
if (D_80165738 > 0) {
|
||||
do {
|
||||
temp_a0 = *var_s0;
|
||||
if ((temp_a0 != -1) && (D_80165C18[temp_a0].unk_0A6 >= 2)) {
|
||||
func_80053D74(temp_a0, arg0, 0);
|
||||
}
|
||||
var_s1 += 1;
|
||||
var_s0 += 4;
|
||||
} while (var_s1 < D_80165738);
|
||||
var_s1 = 0;
|
||||
D_80183E80[0] = 0;
|
||||
D_80183E80[1] = 0x8000;
|
||||
func_800452A4(D_8018D4BC, 0x40, 0x20);
|
||||
for (var_s1 = 0; var_s1 < D_80165738; var_s1++) {
|
||||
thing = D_8018C630[var_s1];
|
||||
if ((thing != -1) && (D_80165C18[thing].unk_0A6 >= 2)) {
|
||||
func_80053D74(thing, arg0, 0);
|
||||
}
|
||||
}
|
||||
func_800452A4(D_8018D4C0, 0x00000040, 0x00000020);
|
||||
var_s0_2 = D_8018C630;
|
||||
if (D_80165738 > 0) {
|
||||
do {
|
||||
temp_a0_2 = *var_s0_2;
|
||||
if ((temp_a0_2 != -1) && (D_80165C18[temp_a0_2].unk_0A6 >= 2)) {
|
||||
func_80053D74(temp_a0_2, arg0, 4);
|
||||
}
|
||||
var_s1 += 1;
|
||||
var_s0_2 += 4;
|
||||
} while (var_s1 < D_80165738);
|
||||
func_800452A4(D_8018D4C0, 0x40, 0x20);
|
||||
for (var_s1 = 0; var_s1 < D_80165738; var_s1++) {
|
||||
thing = D_8018C630[var_s1];
|
||||
if ((thing != -1) && (D_80165C18[thing].unk_0A6 >= 2)) {
|
||||
func_80053D74(thing, arg0, 4);
|
||||
}
|
||||
}
|
||||
}
|
||||
#else
|
||||
GLOBAL_ASM("asm/non_matchings/hud_renderer/func_80053E6C.s")
|
||||
#endif
|
||||
|
||||
|
||||
void func_800540CC(s32 objectIndex, s32 cameraId) {
|
||||
Camera *camera;
|
||||
|
|
|
|||
Loading…
Reference in New Issue