Files
banjo-kazooie/src/core2/bs/washy.c
2022-08-17 23:03:46 -05:00

104 lines
2.6 KiB
C

#include <ultra64.h>
#include "functions.h"
#include "variables.h"
/* .bss */
u8 D_8037D5D0;
/* .code */
void func_802B9980(s32 arg0){
AnimCtrl *plyr_anim = _player_getAnimCtrlPtr();
switch (arg0)
{
case 1: //L802B99B8
func_802BB3DC(0, 30.0f, 0.6f);
func_8030E58C(SFX_82_METAL_BREAK, 0.8f);
player_setYVelocity(400.0f);
break;
case 2: //L802B99F4
func_802BB3DC(0, 10.0f, 0.6f);
player_setYVelocity(300.0f);
break;
case 3: //L802B9A20
func_8029E3C0(0, 0.01f);
break;
case 4: //L802B9A38
FUNC_8030E624(SFX_3EB_UNKNOWN, 0.7f, 25000);
func_8029E3C0(0, 0.25f);
break;
case 5: //L802B9A58
func_8030E58C(SFX_D0_GRIMLET_SQUEAK, 0.9f);
animctrl_setDuration(plyr_anim, 2.2f);
break;
case 6: //L802B9A84
func_8029E3C0(0, 0.01f);
case 0: //L802B9A94
break;
}
D_8037D5D0 = arg0;
}
void func_802B9AAC(void){
func_802900FC();
}
void func_802B9ACC(void){
func_8028A180(ASSET_281_ANIM_WISHYWASHY_DOOOH, 40.0f);
func_8029C7F4(1, 1, 3, 2);
func_802900B4();
func_802B9980(0);
}
void func_802B9B14(void){
s32 next_state = 0;
s32 sp18;
switch(D_8037D5D0){
case 0: // L802B9B48
if(func_8028B2E8())
func_802B9980(1);
break;
case 1: // L802B9B68
if(func_8028B2E8())
func_802B9980(2);
break;
case 2: // L802B9B88
if(func_8028B2E8())
func_802B9980(3);
break;
case 3: // L802B9BA8
if(func_8029E1A8(0))
func_802B9980(4);
break;
case 4: // L802B9BC8
if(func_8029E1A8(0))
func_802B9980(5);
break;
case 5: // L802B9BE8
if(baanim_isStopped()){
if(func_8028ADF0())
next_state = BS_1_IDLE;
else
func_802B9980(6);
}
break;
case 6: // L802B9C20
if(func_8029E1A8(0)){
sp18 = func_802F9AA8(SFX_12B_BOILING_AND_BUBBLING);
func_802F9DB8(sp18, 1.0f, 1.2f, 0.0f);
func_802F9F80(sp18, 0.05f, 0.05 + randf()*0.4, 0.1f);
func_802FA060(sp18, 28000, 32000, 0.0f);
func_8029E3C0(0, 0.8 + randf()*0.7);
}
break;
}
bs_setState(next_state);
}
void func_802B9D00(void){
if(bs_getInterruptType() == BS_INTR_A)
func_80296608();
}