mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-08-31 09:10:45 -04:00
Decompile func0f02855c
This commit is contained in:
+19
-30
@@ -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)
|
||||
{
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -39,7 +39,7 @@ void func0f00b510(void)
|
||||
|
||||
var80062968 = 1;
|
||||
var8006296c = 0;
|
||||
var80062970 = 0;
|
||||
g_SelectedAnimNum = 0;
|
||||
var80062974 = 0;
|
||||
var80062978 = 0;
|
||||
var8006297c = 0;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user