Files
banjo-kazooie/src/core2/code_90E0.c
2022-08-10 16:06:32 -05:00

99 lines
2.0 KiB
C

#include <ultra64.h>
#include "functions.h"
#include "variables.h"
extern void func_80292E00(s32, f32);
typedef struct {
f32 unk0;
u8 unk4;
//u8 pad5[3];
f32 unk8;
} Struct_core2_7060_0;
/* .data */
Struct_core2_7060_0 D_803636D0[] = {
{2.0f, 1, 0.1f},
{0.034f, 0, 0.1f},
{5.0f, 1, 0.06f},
{0.034f, 0, 0.06f},
{0.2f, 1, 0.09f},
{0.034f, 0, 0.09f},
{1.0f, 1, 0.1f},
{0.034f, 0, 0.1f},
{5.0f, 1, 0.1f},
{0.034f, 0, 0.1f},
{1.0f, 4, 0.0f}
};
Struct_core2_7060_0 D_80363754[] = {
{0.0f, 1, 0.1f},
{0.034f, 0, 0.1f},
{0.0f, 4, 0.0f}
};
/* .bss */
struct{
Struct_core2_7060_0 *unk0;
f32 unk4;
u8 unk8;
u8 unk9;
} D_8037C000;
/* .code */
void func_80290070(void){
D_8037C000.unk0 = NULL;
D_8037C000.unk9 = FALSE;
D_8037C000.unk8 = 0;
D_8037C000.unk4 = 0.0f;
}
void func_80290090(Struct_core2_7060_0 *arg0){
D_8037C000.unk0 = arg0;
D_8037C000.unk9 = TRUE;
D_8037C000.unk8 = 0;
D_8037C000.unk4 = arg0->unk0;
}
void func_802900B4(void){
func_80290090(D_803636D0);
}
void func_802900D8(void){
func_80290090(D_80363754);
}
void func_802900FC(void){
D_8037C000.unk9 = FALSE;
}
void func_80290108(void) {
f32 phi_f20;
Struct_core2_7060_0 *phi_s0;
if (D_8037C000.unk9){
phi_f20 = time_getDelta();
while(phi_f20 > 0.0f){
D_8037C000.unk4 -= phi_f20;
if(D_8037C000.unk4 > 0.0f)
break;
phi_f20 = mlAbsF(D_8037C000.unk4);
phi_s0 = &D_8037C000.unk0[D_8037C000.unk8];
func_80292E00(phi_s0->unk4, phi_s0->unk8);
phi_s0++;
if (phi_s0->unk4 == 4) {
if (phi_s0->unk0 == 0.0f) {
D_8037C000.unk9 = FALSE;
return;
}
phi_s0 = D_8037C000.unk0;
D_8037C000.unk8 = 0;
}
else{
D_8037C000.unk8++;
}
D_8037C000.unk4 = phi_s0->unk0;
}
}
}