diff --git a/src/game/chr/chr.c b/src/game/chr/chr.c index 51e224093..790bf35dc 100644 --- a/src/game/chr/chr.c +++ b/src/game/chr/chr.c @@ -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) { diff --git a/src/game/data/data_003dc0.c b/src/game/data/data_003dc0.c index 6adcef0c1..c8fa96370 100644 --- a/src/game/data/data_003dc0.c +++ b/src/game/data/data_003dc0.c @@ -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; diff --git a/src/game/game_00b480.c b/src/game/game_00b480.c index 20e1464f9..c46c6ae82 100644 --- a/src/game/game_00b480.c +++ b/src/game/game_00b480.c @@ -39,7 +39,7 @@ void func0f00b510(void) var80062968 = 1; var8006296c = 0; - var80062970 = 0; + g_SelectedAnimNum = 0; var80062974 = 0; var80062978 = 0; var8006297c = 0; diff --git a/src/include/game/data/data_000000.h b/src/include/game/data/data_000000.h index 05d7848ab..6029dce14 100644 --- a/src/include/game/data/data_000000.h +++ b/src/include/game/data/data_000000.h @@ -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; diff --git a/src/include/game/data/data_0083d0.h b/src/include/game/data/data_0083d0.h index 4973536da..6d225da9b 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 s32 var80062970; +extern s32 g_SelectedAnimNum; 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 9a136447f..3c1892fe2 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); -s32 func000237dc(void); +s32 getNumAnimations(void); u32 func000237e8(void); s32 func0002384c(s32 animnum, s32 frame); u32 func00023908(void); diff --git a/src/include/lib/main.h b/src/include/lib/main.h index cf05149a7..51ef84ac9 100644 --- a/src/include/lib/main.h +++ b/src/include/lib/main.h @@ -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); diff --git a/src/lib/lib_233c0.c b/src/lib/lib_233c0.c index a7da7da3c..7e9274a80 100644 --- a/src/lib/lib_233c0.c +++ b/src/lib/lib_233c0.c @@ -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(