Decompile func0f0151f0

This commit is contained in:
Ryan Dwyer 2020-04-01 20:31:00 +10:00
parent 00ffa20d1c
commit 87c7d3d4f6
4 changed files with 13 additions and 45 deletions

View File

@ -10,36 +10,13 @@
#include "gvars/gvars.h"
#include "types.h"
GLOBAL_ASM(
glabel func0f0151f0
/* f0151f0: 3c04800a */ lui $a0,%hi(g_Objectives)
/* f0151f4: 3c08800a */ lui $t0,%hi(var8009d088)
/* f0151f8: 3c06800a */ lui $a2,%hi(var8009d088)
/* f0151fc: 24c6d088 */ addiu $a2,$a2,%lo(var8009d088)
/* f015200: 2508d088 */ addiu $t0,$t0,%lo(var8009d088)
/* f015204: 2484d060 */ addiu $a0,$a0,%lo(g_Objectives)
/* f015208: 00001825 */ or $v1,$zero,$zero
/* f01520c: 24070001 */ addiu $a3,$zero,0x1
/* f015210: 24050002 */ addiu $a1,$zero,0x2
.L0f015214:
/* f015214: 8c820000 */ lw $v0,0x0($a0)
/* f015218: 24840004 */ addiu $a0,$a0,0x4
/* f01521c: 1040000a */ beqz $v0,.L0f015248
/* f015220: 00000000 */ sll $zero,$zero,0x0
/* f015224: 904e000e */ lbu $t6,0xe($v0)
/* f015228: 00c31021 */ addu $v0,$a2,$v1
/* f01522c: 31cf0001 */ andi $t7,$t6,0x1
/* f015230: 11e00005 */ beqz $t7,.L0f015248
/* f015234: 00000000 */ sll $zero,$zero,0x0
/* f015238: 8c580000 */ lw $t8,0x0($v0)
/* f01523c: 10b80002 */ beq $a1,$t8,.L0f015248
/* f015240: 00000000 */ sll $zero,$zero,0x0
/* f015244: ac470000 */ sw $a3,0x0($v0)
.L0f015248:
/* f015248: 1488fff2 */ bne $a0,$t0,.L0f015214
/* f01524c: 24630004 */ addiu $v1,$v1,0x4
/* f015250: 03e00008 */ jr $ra
/* f015254: 00000000 */ sll $zero,$zero,0x0
/* f015258: 00000000 */ sll $zero,$zero,0x0
/* f01525c: 00000000 */ sll $zero,$zero,0x0
);
void func0f0151f0(void)
{
s32 i;
for (i = 0; i < ARRAYCOUNT(g_Objectives); i++) {
if (g_Objectives[i] && (g_Objectives[i]->unk0e & 1) && var8009d088[i] != 2) {
var8009d088[i] = 1;
}
}
}

View File

@ -15447,16 +15447,7 @@ u32 var8009d054 = 0;
u32 var8009d058 = 0;
u32 var8009d05c = 0;
struct objective *g_Objectives[MAX_OBJECTIVES] = {0};
u32 var8009d088 = 0;
u32 var8009d08c = 0;
u32 var8009d090 = 0;
u32 var8009d094 = 0;
u32 var8009d098 = 0;
u32 var8009d09c = 0;
u32 var8009d0a0 = 0;
u32 var8009d0a4 = 0;
u32 var8009d0a8 = 0;
u32 var8009d0ac = 0;
u32 var8009d088[MAX_OBJECTIVES] = {0};
u32 var8009d0b0 = 0;
struct objectivething *var8009d0b4 = NULL;
struct criteria_roomentered *g_RoomEnteredCriterias = NULL;

View File

@ -3,6 +3,6 @@
#include <ultra64.h>
#include "types.h"
u32 func0f0151f0(void);
void func0f0151f0(void);
#endif

View File

@ -570,7 +570,7 @@ extern u32 var8009cf88;
extern struct stagesetup g_StageSetup;
extern u8 *g_GeCreditsData;
extern struct objective *g_Objectives[MAX_OBJECTIVES];
extern u32 var8009d088;
extern u32 var8009d088[MAX_OBJECTIVES];
extern u32 var8009d0b0;
extern struct objectivething *var8009d0b4;
extern struct criteria_roomentered *g_RoomEnteredCriterias;