mirror of
https://gitlab.com/banjo.decomp/banjo-kazooie
synced 2026-09-07 02:49:46 -04:00
78 lines
2.2 KiB
C
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();
|
|
}
|