func_800015F8 matching

This commit is contained in:
Christian
2022-11-21 08:24:16 -07:00
parent 1e9c9b83b3
commit dcf32cbb40
+7 -29
View File
@@ -501,44 +501,22 @@ u8 music_is_playing(void) {
return (alCSPGetState(gMusicPlayer) == AL_PLAYING); return (alCSPGetState(gMusicPlayer) == AL_PLAYING);
} }
#ifdef NON_EQUIVALENT
f32 D_800E49E0 = 46875.0f;
f32 D_800E49E4 = 46875.0f;
f32 D_800E49E8 = 120000.0f;
f32 func_800015F8(void) { f32 func_800015F8(void) {
u32 current_cnt = osGetCount();
u32 delta;
f32 delta_f;
f32 tmp; f32 tmp;
f32 *tmp2 = &D_80115D34; u32 cnt = osGetCount();
if ((u32) audioPrevCount < cnt) {
if (audioPrevCount < current_cnt) { D_80115D34 += (f32) (cnt - audioPrevCount) / 46875.0f;
delta = current_cnt - audioPrevCount;
delta_f = (delta < 0)
? (f32)delta + 4294967296.000000f
: delta;
D_80115D34 = delta_f / D_800E49E0 + *tmp2;
} else { } else {
delta = audioPrevCount - current_cnt; D_80115D34 += (f32) ((cnt - audioPrevCount) - 1) / 46875.0f;
delta_f = (delta + -1);
delta_f = (delta < 0)
? delta_f + 4294967296.000000f
: delta_f;
*tmp2 = delta_f / D_800E49E0 + D_80115D34;
} }
if (D_80115D40 == 0) { if (D_80115D40 == 0) {
sMusicTempo = 182; sMusicTempo = 182;
} }
tmp = D_800E49E8 / (f32)sMusicTempo; for (tmp = 120000.0f / (f32) sMusicTempo; tmp < D_80115D34; D_80115D34 -= tmp)
while (D_80115D34 > tmp) { ;
D_80115D34 -= tmp; audioPrevCount = (s32) cnt;
}
audioPrevCount = current_cnt;
return D_80115D34 / tmp; return D_80115D34 / tmp;
} }
#else
GLOBAL_ASM("asm/non_matchings/audio/func_800015F8.s")
#endif
void func_80001728(u8 arg0, u8 *arg1, u8 *arg2, u8 *arg3) { void func_80001728(u8 arg0, u8 *arg1, u8 *arg2, u8 *arg3) {
*arg1 = sMusicPool[arg0].unk1; *arg1 = sMusicPool[arg0].unk1;