Decompile func0f02855c

This commit is contained in:
Ryan Dwyer
2021-02-13 13:03:36 +10:00
parent edbf443aba
commit 7a1ecd119f
8 changed files with 37 additions and 48 deletions
+19 -30
View File
@@ -52,7 +52,6 @@
#include "types.h"
const char var7f1a8690[] = "chr/chr.c";
const char var7f1a869c[] = "selectanimnum";
u8 g_FileState = 0;
u8 var80062944 = 0;
@@ -66,7 +65,7 @@ void *var80062960 = NULL;
u32 var80062964 = 0x00000000;
f32 var80062968 = 0;
bool var8006296c = false;
s32 var80062970 = 0;
s32 g_SelectedAnimNum = 0;
u32 var80062974 = 0x00000000;
u32 var80062978 = 0x00000000;
u32 var8006297c = 0;
@@ -4655,17 +4654,17 @@ glabel var7f1a87d8
/* f023328: 8e020014 */ lw $v0,0x14($s0)
.L0f02332c:
/* f02332c: 8f18296c */ lw $t8,%lo(var8006296c)($t8)
/* f023330: 3c048006 */ lui $a0,%hi(var80062970+0x2)
/* f023330: 3c048006 */ lui $a0,%hi(g_SelectedAnimNum+0x2)
/* f023334: 13000022 */ beqz $t8,.L0f0233c0
/* f023338: 00000000 */ nop
/* f02333c: 0c008de5 */ jal func00023794
/* f023340: 84842972 */ lh $a0,%lo(var80062970+0x2)($a0)
/* f023340: 84842972 */ lh $a0,%lo(g_SelectedAnimNum+0x2)($a0)
/* f023344: 10400025 */ beqz $v0,.L0f0233dc
/* f023348: 00000000 */ nop
/* f02334c: 0c00744f */ jal modelGetAnimNum
/* f023350: 8fa40208 */ lw $a0,0x208($sp)
/* f023354: 3c038006 */ lui $v1,%hi(var80062970)
/* f023358: 8c632970 */ lw $v1,%lo(var80062970)($v1)
/* f023354: 3c038006 */ lui $v1,%hi(g_SelectedAnimNum)
/* f023358: 8c632970 */ lw $v1,%lo(g_SelectedAnimNum)($v1)
/* f02335c: 5443000b */ bnel $v0,$v1,.L0f02338c
/* f023360: 44800000 */ mtc1 $zero,$f0
/* f023364: 0c00744f */ jal modelGetAnimNum
@@ -4675,8 +4674,8 @@ glabel var7f1a87d8
/* f023374: 0c008de5 */ jal func00023794
/* f023378: 01e02025 */ or $a0,$t7,$zero
/* f02337c: 14400017 */ bnez $v0,.L0f0233dc
/* f023380: 3c038006 */ lui $v1,%hi(var80062970)
/* f023384: 8c632970 */ lw $v1,%lo(var80062970)($v1)
/* f023380: 3c038006 */ lui $v1,%hi(g_SelectedAnimNum)
/* f023384: 8c632970 */ lw $v1,%lo(g_SelectedAnimNum)($v1)
/* f023388: 44800000 */ mtc1 $zero,$f0
.L0f02338c:
/* f02338c: 3c013f00 */ lui $at,0x3f00
@@ -9613,19 +9612,19 @@ void func0f028498(bool value)
void func0f0284ac(s32 arg0)
{
var80062970 -= arg0;
g_SelectedAnimNum -= arg0;
if (var80062970 <= 0) {
var80062970 = func000237dc() - 1;
if (g_SelectedAnimNum <= 0) {
g_SelectedAnimNum = getNumAnimations() - 1;
}
}
void func0f0284f4(s32 arg0)
{
var80062970 += arg0;
g_SelectedAnimNum += arg0;
if (var80062970 >= func000237dc()) {
var80062970 = 1;
if (g_SelectedAnimNum >= getNumAnimations()) {
g_SelectedAnimNum = 1;
}
}
@@ -9634,22 +9633,12 @@ void func0f028544(void)
var80062974 = !var80062974;
}
GLOBAL_ASM(
glabel func0f02855c
/* f02855c: 3c018006 */ lui $at,%hi(var80062978)
/* f028560: 27bdffe8 */ addiu $sp,$sp,-24
/* f028564: ac242978 */ sw $a0,%lo(var80062978)($at)
/* f028568: afbf0014 */ sw $ra,0x14($sp)
/* f02856c: 3c047f1b */ lui $a0,%hi(var7f1a869c)
/* f028570: 3c058006 */ lui $a1,%hi(var80062970)
/* f028574: 24a52970 */ addiu $a1,$a1,%lo(var80062970)
/* f028578: 0c0036cc */ jal func0000db30
/* f02857c: 2484869c */ addiu $a0,$a0,%lo(var7f1a869c)
/* f028580: 8fbf0014 */ lw $ra,0x14($sp)
/* f028584: 27bd0018 */ addiu $sp,$sp,0x18
/* f028588: 03e00008 */ jr $ra
/* f02858c: 00000000 */ nop
);
void func0f02855c(s32 arg0)
{
var80062978 = arg0;
func0000db30("selectanimnum", &g_SelectedAnimNum);
}
void func0f028590(f32 arg0)
{
+1 -1
View File
@@ -75,7 +75,7 @@ u32 var8005eff8 = 0xffffffff;
u32 var8005effc = 0x00000000;
u32 var8005f000 = 0x00000000;
u32 var8005f004 = 0x00000000;
s16 var8005f008 = 0x00000000;
s16 g_NumAnimations = 0x00000000;
struct animheader *g_Anims = NULL;
u32 var8005f010 = 0x00000000;
u32 var8005f014 = 0x00000000;
+1 -1
View File
@@ -39,7 +39,7 @@ void func0f00b510(void)
var80062968 = 1;
var8006296c = 0;
var80062970 = 0;
g_SelectedAnimNum = 0;
var80062974 = 0;
var80062978 = 0;
var8006297c = 0;
+1 -1
View File
@@ -151,7 +151,7 @@ extern u32 var8005efcc;
extern u32 var8005efd0;
extern u32 var8005efe0;
extern u32 var8005efec;
extern s16 var8005f008;
extern s16 g_NumAnimations;
extern struct animheader *g_Anims;
extern u32 var8005f010;
extern u32 var8005f014;
+1 -1
View File
@@ -83,7 +83,7 @@ extern void *var80062960;
extern u32 var80062964;
extern f32 var80062968;
extern bool var8006296c;
extern s32 var80062970;
extern s32 g_SelectedAnimNum;
extern u32 var80062974;
extern u32 var80062978;
extern u32 var8006297c;
+1 -1
View File
@@ -8,7 +8,7 @@ u32 func00023640(void);
void func0002373c(void);
s32 animGetNumFrames(s16 anim_id);
bool func00023794(s16 animnum);
s32 func000237dc(void);
s32 getNumAnimations(void);
u32 func000237e8(void);
s32 func0002384c(s32 animnum, s32 frame);
u32 func00023908(void);
+1 -1
View File
@@ -7,7 +7,7 @@ extern s32 var8005dd18;
void mainInit(void);
void mainEntry(void);
void func0000db30(char *string, u32 *ptr);
void func0000db30(char *string, void *ptr);
void mainLoop(void);
void mainTick(void);
void mainEndStage(void);
+12 -12
View File
@@ -56,10 +56,10 @@ glabel func000233c0
/* 23418: 2484a894 */ addiu $a0,$a0,%lo(var8009a894)
/* 2341c: 8c6a0000 */ lw $t2,0x0($v1)
/* 23420: 3c05800a */ lui $a1,%hi(var8009a898)
/* 23424: 3c098006 */ lui $t1,%hi(var8005f008)
/* 23424: 3c098006 */ lui $t1,%hi(g_NumAnimations)
/* 23428: a48a0000 */ sh $t2,0x0($a0)
/* 2342c: 848b0000 */ lh $t3,0x0($a0)
/* 23430: 2529f008 */ addiu $t1,$t1,%lo(var8005f008)
/* 23430: 2529f008 */ addiu $t1,$t1,%lo(g_NumAnimations)
/* 23434: 24a5a898 */ addiu $a1,$a1,%lo(var8009a898)
/* 23438: 246c0004 */ addiu $t4,$v1,0x4
/* 2343c: acac0000 */ sw $t4,0x0($a1)
@@ -116,10 +116,10 @@ glabel func000233c0
/* 234f8: 39e4003f */ xori $a0,$t7,0x3f
/* 234fc: 0c0048f2 */ jal malloc
/* 23500: 24050006 */ addiu $a1,$zero,0x6
/* 23504: 3c098006 */ lui $t1,%hi(var8005f008)
/* 23504: 3c098006 */ lui $t1,%hi(g_NumAnimations)
/* 23508: 3c018006 */ lui $at,%hi(var8005f010)
/* 2350c: ac22f010 */ sw $v0,%lo(var8005f010)($at)
/* 23510: 2529f008 */ addiu $t1,$t1,%lo(var8005f008)
/* 23510: 2529f008 */ addiu $t1,$t1,%lo(g_NumAnimations)
/* 23514: 85240000 */ lh $a0,0x0($t1)
/* 23518: 24050006 */ addiu $a1,$zero,0x6
/* 2351c: 0004c840 */ sll $t9,$a0,0x1
@@ -199,8 +199,8 @@ glabel func000233c0
GLOBAL_ASM(
glabel func00023640
/* 23640: 3c048006 */ lui $a0,%hi(var8005f008)
/* 23644: 2484f008 */ addiu $a0,$a0,%lo(var8005f008)
/* 23640: 3c048006 */ lui $a0,%hi(g_NumAnimations)
/* 23644: 2484f008 */ addiu $a0,$a0,%lo(g_NumAnimations)
/* 23648: 848e0000 */ lh $t6,0x0($a0)
/* 2364c: 00001025 */ or $v0,$zero,$zero
/* 23650: 00001825 */ or $v1,$zero,$zero
@@ -270,7 +270,7 @@ glabel func00023640
void func0002373c(void)
{
var8005f008 = var8009a894;
g_NumAnimations = var8009a894;
g_Anims = var8009a898;
var8005f020 = 0;
}
@@ -282,8 +282,8 @@ s32 animGetNumFrames(s16 animnum)
GLOBAL_ASM(
glabel func00023794
/* 23794: 3c188006 */ lui $t8,%hi(var8005f008)
/* 23798: 8718f008 */ lh $t8,%lo(var8005f008)($t8)
/* 23794: 3c188006 */ lui $t8,%hi(g_NumAnimations)
/* 23798: 8718f008 */ lh $t8,%lo(g_NumAnimations)($t8)
/* 2379c: 00047400 */ sll $t6,$a0,0x10
/* 237a0: 000e7c03 */ sra $t7,$t6,0x10
/* 237a4: 01f8102a */ slt $v0,$t7,$t8
@@ -304,10 +304,10 @@ glabel func00023794
);
GLOBAL_ASM(
glabel func000237dc
/* 237dc: 3c028006 */ lui $v0,%hi(var8005f008)
glabel getNumAnimations
/* 237dc: 3c028006 */ lui $v0,%hi(g_NumAnimations)
/* 237e0: 03e00008 */ jr $ra
/* 237e4: 8442f008 */ lh $v0,%lo(var8005f008)($v0)
/* 237e4: 8442f008 */ lh $v0,%lo(g_NumAnimations)($v0)
);
GLOBAL_ASM(