Files
banjo-kazooie/src/core2/bs/timeout.c
T

78 lines
2.2 KiB
C

#include <ultra64.h>
#include "functions.h"
#include "variables.h"
#include "core2/ba/physics.h"
#include "core2/ba/timer.h"
#include "core2/yaw.h"
void baeyes_openSingleEye(s32, f32);
f32 func_8029B41C(void);
void ncbadie_func_802BF2C0(f32);
void timeout_banjo_init(void){
baanim_playForDuration_once(ASSET_77_ANIM_BSTIMEOUT, 3.2f);
code_14420_setUpdateTypes(1, YAW_STATE_1_DEFAULT, 3, BA_PHYSICS_NORMAL);
baphysics_set_target_horizontal_velocity(0.0f);
func_802914CC(0xD);
yaw_setIdeal(func_8029B41C() + 35.0f);
ncbadie_func_802BF2C0(80.0f);
func_8025A58C(0, 4000);
comusic_playTrack(COMUSIC_3C_MINIGAME_LOSS);
midichannel_incOrDecCounter(FALSE);
modelAppendages_setKazooiesUpperHalfVisibility(TRUE);
baMarker_collisionOff();
}
void timeout_banjo_update(void){
AnimCtrl *aCtrl = baanim_getAnimCtrlPtr();
if(anctrl_isAt(aCtrl, 0.0625f))
baeyes_close();
if(anctrl_isAt(aCtrl, 0.18f))
FUNC_8030E624(SFX_3EB_UNKNOWN, 1.0f, 18000);
if(anctrl_isAt(aCtrl, 0.8421f)){
baeyes_openSingleEye(0, 0.3f);
baeyes_openSingleEye(1, 0.3f);
}
if(anctrl_isAt(aCtrl, 0.84f))
func_8029B6F0();
}
void timeout_banjo_end(void){
baeyes_open();
func_80291548();
midichannel_incOrDecCounter(TRUE);
}
void timeout_transformation_init(void){
AnimCtrl *aCtrl = baanim_getAnimCtrlPtr();
anctrl_reset(aCtrl);
func_8029C848(aCtrl);
anctrl_setPlaybackType(aCtrl, ANIMCTRL_LOOP);
anctrl_start(aCtrl, "bstimeout.c", 0x7E);
code_14420_setUpdateTypes(1, YAW_STATE_1_DEFAULT, 3, BA_PHYSICS_FREEZE);
baphysics_set_target_horizontal_velocity(0.0f);
func_802914CC(0xD);
yaw_setIdeal(func_8029B41C() + 35.0f);
ncbadie_func_802BF2C0(80.0f);
func_8025A58C(0, 4000);
comusic_playTrack(COMUSIC_3C_MINIGAME_LOSS);
midichannel_incOrDecCounter(FALSE);
baMarker_collisionOff();
batimer_set(0, 2.9f);
}
void timeout_transformation_update(void){
if(batimer_decrement(0))
func_8029B6F0();
}
void timeout_transformation_end(void){
modelAppendages_setKazooiesUpperHalfVisibility(FALSE);
func_80291548();
midichannel_incOrDecCounter(TRUE);
func_8025A904();
}