mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-09-10 03:42:00 -04:00
Decompile func0f015420
This commit is contained in:
+8
-29
@@ -10,32 +10,11 @@
|
||||
#include "gvars/gvars.h"
|
||||
#include "types.h"
|
||||
|
||||
/**
|
||||
* Iterates an array of structs and sets their unk04 value to 0.
|
||||
* The array is stored at 800a45c4 and each struct is 0x6c long.
|
||||
*/
|
||||
GLOBAL_ASM(
|
||||
glabel func0f015420
|
||||
/* f015420: 3c04800a */ lui $a0,%hi(var800a45c0)
|
||||
/* f015424: 248445c0 */ addiu $a0,$a0,%lo(var800a45c0)
|
||||
/* f015428: 8c8e0000 */ lw $t6,0x0($a0)
|
||||
/* f01542c: 00001025 */ or $v0,$zero,$zero
|
||||
/* f015430: 00001825 */ or $v1,$zero,$zero
|
||||
/* f015434: 19c0000b */ blez $t6,.L0f015464
|
||||
/* f015438: 3c05800a */ lui $a1,%hi(var800a45c4)
|
||||
/* f01543c: 24a545c4 */ addiu $a1,$a1,%lo(var800a45c4)
|
||||
/* f015440: 8caf0000 */ lw $t7,0x0($a1)
|
||||
.L0f015444:
|
||||
/* f015444: 24420001 */ addiu $v0,$v0,0x1
|
||||
/* f015448: 01e3c021 */ addu $t8,$t7,$v1
|
||||
/* f01544c: af000004 */ sw $zero,0x4($t8)
|
||||
/* f015450: 8c990000 */ lw $t9,0x0($a0)
|
||||
/* f015454: 2463006c */ addiu $v1,$v1,0x6c
|
||||
/* f015458: 0059082a */ slt $at,$v0,$t9
|
||||
/* f01545c: 5420fff9 */ bnezl $at,.L0f015444
|
||||
/* f015460: 8caf0000 */ lw $t7,0x0($a1)
|
||||
.L0f015464:
|
||||
/* f015464: 03e00008 */ jr $ra
|
||||
/* f015468: 00000000 */ nop
|
||||
/* f01546c: 00000000 */ nop
|
||||
);
|
||||
void func0f015420(void)
|
||||
{
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < var800a45c0; i++) {
|
||||
var800a45c4[i].unk04 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -15357,8 +15357,8 @@ u32 var800a45b0 = 0;
|
||||
u32 var800a45b4 = 0;
|
||||
u32 var800a45b8 = 0;
|
||||
u32 var800a45bc = 0;
|
||||
u32 var800a45c0 = 0;
|
||||
u32 var800a45c4 = 0;
|
||||
s32 var800a45c0 = 0;
|
||||
struct var800a45c4 *var800a45c4 = NULL;
|
||||
u32 var800a45c8 = 0;
|
||||
u32 var800a45cc = 0;
|
||||
struct var800a45d0 var800a45d0 = {0};
|
||||
|
||||
@@ -713,8 +713,8 @@ extern char var800a41c0[];
|
||||
extern u32 var800a41d8;
|
||||
extern u32 var800a45a0;
|
||||
extern u32 var800a45a8;
|
||||
extern u32 var800a45c0;
|
||||
extern u32 var800a45c4;
|
||||
extern s32 var800a45c0; // count of var800a45c4
|
||||
extern struct var800a45c4 *var800a45c4;
|
||||
extern struct var800a45d0 var800a45d0;
|
||||
extern u32 var800a4634;
|
||||
extern struct var800a4640 var800a4640;
|
||||
|
||||
@@ -6666,4 +6666,34 @@ struct gfxvtx {
|
||||
/*0x0a*/ u16 unk0a;
|
||||
};
|
||||
|
||||
struct var800a45c4 {
|
||||
/*0x00*/ u32 unk00;
|
||||
/*0x04*/ u32 unk04;
|
||||
/*0x08*/ u32 unk08;
|
||||
/*0x0c*/ u32 unk0c;
|
||||
/*0x10*/ u32 unk10;
|
||||
/*0x14*/ u32 unk14;
|
||||
/*0x18*/ u32 unk18;
|
||||
/*0x1c*/ u32 unk1c;
|
||||
/*0x20*/ u32 unk20;
|
||||
/*0x24*/ u32 unk24;
|
||||
/*0x28*/ u32 unk28;
|
||||
/*0x2c*/ u32 unk2c;
|
||||
/*0x30*/ u32 unk30;
|
||||
/*0x34*/ u32 unk34;
|
||||
/*0x38*/ u32 unk38;
|
||||
/*0x3c*/ u32 unk3c;
|
||||
/*0x40*/ u32 unk40;
|
||||
/*0x44*/ u32 unk44;
|
||||
/*0x48*/ u32 unk48;
|
||||
/*0x4c*/ u32 unk4c;
|
||||
/*0x50*/ u32 unk50;
|
||||
/*0x54*/ u32 unk54;
|
||||
/*0x58*/ u32 unk58;
|
||||
/*0x5c*/ u32 unk5c;
|
||||
/*0x60*/ u32 unk60;
|
||||
/*0x64*/ u32 unk64;
|
||||
/*0x68*/ u32 unk68;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user