From 61a1cd173ec4f0175976805d0d5bfd28bb36872f Mon Sep 17 00:00:00 2001 From: Ryan Dwyer Date: Sat, 13 Feb 2021 12:49:17 +1000 Subject: [PATCH] Decompile func0f0284ac --- src/game/chr/chr.c | 32 ++++++++++------------------- src/include/game/data/data_0083d0.h | 2 +- src/include/lib/lib_233c0.h | 2 +- 3 files changed, 13 insertions(+), 23 deletions(-) diff --git a/src/game/chr/chr.c b/src/game/chr/chr.c index 8a46d1018..4a1abacc7 100644 --- a/src/game/chr/chr.c +++ b/src/game/chr/chr.c @@ -66,7 +66,7 @@ void *var80062960 = NULL; u32 var80062964 = 0x00000000; f32 var80062968 = 0; bool var8006296c = false; -u32 var80062970 = 0x00000000; +s32 var80062970 = 0; u32 var80062974 = 0x00000000; u32 var80062978 = 0x00000000; u32 var8006297c = 0; @@ -9611,27 +9611,17 @@ void func0f028498(bool value) var8005efbc = value; } +void func0f0284ac(s32 arg0) +{ + var80062970 -= arg0; + + if (var80062970 <= 0) { + var80062970 = func000237dc() - 1; + } +} + GLOBAL_ASM( -glabel func0f0284ac -/* f0284ac: 3c038006 */ lui $v1,%hi(var80062970) -/* f0284b0: 24632970 */ addiu $v1,$v1,%lo(var80062970) -/* f0284b4: 8c6e0000 */ lw $t6,0x0($v1) -/* f0284b8: 27bdffe8 */ addiu $sp,$sp,-24 -/* f0284bc: afbf0014 */ sw $ra,0x14($sp) -/* f0284c0: 01c47823 */ subu $t7,$t6,$a0 -/* f0284c4: 1de00007 */ bgtz $t7,.L0f0284e4 -/* f0284c8: ac6f0000 */ sw $t7,0x0($v1) -/* f0284cc: 0c008df7 */ jal func000237dc -/* f0284d0: 00000000 */ nop -/* f0284d4: 3c038006 */ lui $v1,%hi(var80062970) -/* f0284d8: 24632970 */ addiu $v1,$v1,%lo(var80062970) -/* f0284dc: 2459ffff */ addiu $t9,$v0,-1 -/* f0284e0: ac790000 */ sw $t9,0x0($v1) -.L0f0284e4: -/* f0284e4: 8fbf0014 */ lw $ra,0x14($sp) -/* f0284e8: 27bd0018 */ addiu $sp,$sp,0x18 -/* f0284ec: 03e00008 */ jr $ra -/* f0284f0: 00000000 */ nop +glabel func0f0284f4 /* f0284f4: 3c038006 */ lui $v1,%hi(var80062970) /* f0284f8: 24632970 */ addiu $v1,$v1,%lo(var80062970) /* f0284fc: 8c6e0000 */ lw $t6,0x0($v1) diff --git a/src/include/game/data/data_0083d0.h b/src/include/game/data/data_0083d0.h index e34eea37e..4973536da 100644 --- a/src/include/game/data/data_0083d0.h +++ b/src/include/game/data/data_0083d0.h @@ -83,7 +83,7 @@ extern void *var80062960; extern u32 var80062964; extern f32 var80062968; extern bool var8006296c; -extern u32 var80062970; +extern s32 var80062970; extern u32 var80062974; extern u32 var80062978; extern u32 var8006297c; diff --git a/src/include/lib/lib_233c0.h b/src/include/lib/lib_233c0.h index 75230572b..9a136447f 100644 --- a/src/include/lib/lib_233c0.h +++ b/src/include/lib/lib_233c0.h @@ -8,7 +8,7 @@ u32 func00023640(void); void func0002373c(void); s32 animGetNumFrames(s16 anim_id); bool func00023794(s16 animnum); -u32 func000237dc(void); +s32 func000237dc(void); u32 func000237e8(void); s32 func0002384c(s32 animnum, s32 frame); u32 func00023908(void);