The first commit

This commit is contained in:
Banjo Kazooie
2022-07-15 17:09:41 -05:00
commit dd13d34074
1087 changed files with 391897 additions and 0 deletions

199
src/core2/bs/bFlap.c Normal file
View File

@@ -0,0 +1,199 @@
#include <ultra64.h>
#include "functions.h"
#include "variables.h"
f32 func_802A2858(void);
/*.data*/
const f32 D_80364A10 = 280.0f;
const f32 D_80364A14 = -1100.0f;
const f32 D_80364A18 = -399.9f;
/*.bss*/
u8 D_8037D300;
u8 D_8037D301;
f32 D_8037D304;
f32 D_8037D308;
u8 D_8037D30C;
void bsbflap_init(void) {
func_8028A274(0x18, 0.3f);
func_8029C7F4(1, 1, 1, 2);
if (func_8029B2E8() != 0.0f) {
yaw_setIdeal(func_8029B33C());
}
func_8029797C(yaw_getIdeal());
func_802B6FA8();
func_802979AC(yaw_getIdeal(), func_80297A64());
player_setYVelocity(0.0f);
gravity_set(D_80364A14);
func_8029E070(1);
miscflag_set(0x12);
func_8029E3C0(0, 2.5f);
D_8037D30C = func_8030D90C();
func_80299BD4();
D_8037D301 = 0;
D_8037D308 = 0.0f;
D_8037D300 = 0;
}
void func_802A2790(s32 arg0, f32 arg1, s32 arg2) {
func_8030E394(D_8037D30C);
sfxsource_setSfxId(D_8037D30C, arg0);
func_8030DBB4(D_8037D30C, arg1);
sfxsource_setSampleRate(D_8037D30C, arg2);
func_8030DD90(D_8037D30C, 0);
func_8030DD14(D_8037D30C, 3);
func_8030E2C4(D_8037D30C);
}
void func_802A2810(void) {
AnimCtrl *plyrMvPtr;
plyrMvPtr = _player_getAnimCtrlPtr();
if (animctrl_isAt(plyrMvPtr, 0.9f)) {
D_8037D301++;
}
}
f32 func_802A2858(void){
switch (D_8037D301)
{
case 0:
return 0.15f;
case 1:
return 0.2f;
case 2:
return 0.27f;
case 3:
return 0.38f;
case 4:
return 0.4f;
default:
return 0.7f;
}
}
void func_802A28CC(void){
AnimCtrl *sp1c = _player_getAnimCtrlPtr();
animctrl_setDuration(sp1c, func_802A2858());
}
void func_802A2900(void){
D_8037D304 = D_8037D308;
D_8037D308 += time_getDelta();
}
int func_802A293C(f32 arg0){
return ((D_8037D304 <= arg0) && (arg0 < D_8037D308));
}
void func_802A298C(void){
AnimCtrl * sp1c;
sp1c = _player_getAnimCtrlPtr();
if(func_802A293C(0.08f)){
func_802A2790(0x4e, 1.24f, 0x4e20);
}
if((0.7 < D_8037D308) && animctrl_isAt(sp1c, 0.5698f)){
func_802A2790(0x47, 1.0f, 0x55f0);
}
}
void bsbflap_update(void){
s32 sp1c;
AnimCtrl * sp18;
sp1c = 0;
sp18 = _player_getAnimCtrlPtr();
func_802B6FA8();
switch(D_8037D300){
case 0:
func_80293350();
func_802A2900();
func_802A298C();
if(animctrl_isAt(sp18, 0.9f)){
animctrl_setSmoothTransition(sp18, 0);
animctrl_setIndex(sp18, ANIM_BANJO_BFLAP);
animctrl_setDuration(sp18, func_802A2858());
animctrl_setPlaybackType(sp18, ANIMCTRL_LOOP);
func_8028774C(sp18, 0.0f);
func_802875AC(sp18, "bsbflap.c", 0xe1);
player_setYVelocity(D_80364A10);
gravity_set(D_80364A14);
func_80297BF8(D_80364A18);
D_8037D300 = 1;
}
break;
case 1:
func_80293350();
func_802A2900();
func_802A2810();
func_802A28CC();
func_802A298C();
if(0.67 <= D_8037D308){
D_8037D300 = 2;
}
break;
case 2:
func_80293350();
func_802A2900();
func_802A2810();
func_802A28CC();
func_802A298C();
if(D_8037D301 == 4)
D_8037D300 = 3;
if(button_released(BUTTON_A)){
gravity_reset();
func_80297B94();
animctrl_setDuration(sp18, 1.0f);
D_8037D300 = 4;
}
break;
case 3:
func_80293350();
func_802A2900();
func_802A2810();
func_802A28CC();
func_802A298C();
if(button_released(BUTTON_A)){
gravity_reset();
func_80297B94();
animctrl_setDuration(sp18, 1.0f);
func_80293240(2);
D_8037D300 = 4;
}
else{
func_80297970(func_80297A64() * 0.35);
}
break;
case 4:
if(func_8028B424())
sp1c = BS_3D_FALL_TUMBLING;
break;
}//L802A2C94
func_8029E1A8(0);
if(func_8029E384(0))
sp1c = BS_2F_FALL;
if(should_beak_bust())
sp1c = BS_F_BBUSTER;
if(func_8028B2E8()){
func_8029C5E8();
sp1c = BS_2_WALK_SLOW;
}
if(player_inWater())
sp1c = BS_4C_LANDING_IN_WATER;
bs_setState(sp1c);
}
void bsbflap_end(void) {
ability_use(1);
gravity_reset();
func_80297B94();
func_8029E090(0, 0.2f);
func_8030DA44(D_8037D30C);
}