Document core2/bakey.c

This commit is contained in:
banjo.decomp
2024-10-30 21:56:48 -05:00
parent 4c3d4df97b
commit 01a4051a87
50 changed files with 681 additions and 681 deletions

View File

@@ -521,7 +521,7 @@ segments:
# - [0xF5EA40, c, code_90E0] #DONE # - [0xF5EA40, c, code_90E0] #DONE
# - [0xF5EBF0, c, code_9290] #DONE # - [0xF5EBF0, c, code_9290] #DONE
# - [0xF5EDB0, c, code_9450] #DONE # - [0xF5EDB0, c, code_9450] #DONE
# - [0xF5F260, c, code_9900] #DONE # - [0xF5F260, c, babuzz] #DONE
# - [0xF5F530, c, code_9BD0] #DONE # - [0xF5F530, c, code_9BD0] #DONE
# - [0xF5FF60, c, code_A600] #DONE # - [0xF5FF60, c, code_A600] #DONE
# - [0xF60040, c, statetimer] #DONE # - [0xF60040, c, statetimer] #DONE
@@ -537,7 +537,7 @@ segments:
# - [0xF63160, c, ba/carry] #DONE # - [0xF63160, c, ba/carry] #DONE
# - [0xF63310, c, code_D9B0] #DONE # - [0xF63310, c, code_D9B0] #DONE
# - [0xF638D0, c, code_DF70] #DONE # - [0xF638D0, c, code_DF70] #DONE
# - [0xF63D70, c, code_E410] #DONE # - [0xF63D70, c, bakey] #DONE
# - [0xF63FE0, c, abilityprogress] #DONE # - [0xF63FE0, c, abilityprogress] #DONE
# - [0xF64270, c, code_E910] #DONE # - [0xF64270, c, code_E910] #DONE
# - [0xF647A0, c, code_EE40] #DONE # - [0xF647A0, c, code_EE40] #DONE
@@ -560,7 +560,7 @@ segments:
# - [0xF690E0, c, code_13780] #DONE # - [0xF690E0, c, code_13780] #DONE
# - [0xF69260, c, bsStoredState] #DONE # - [0xF69260, c, bsStoredState] #DONE
# - [0xF69360, c, code_13A00] #DONE # - [0xF69360, c, code_13A00] #DONE
# - [0xF69920, c, code_13FC0] #DONE # - [0xF69920, c, bastick] #DONE
# - [0xF69D80, c, code_14420] #DONE # - [0xF69D80, c, code_14420] #DONE
# - [0xF6B880, c, code_15F20] #DONE # - [0xF6B880, c, code_15F20] #DONE
# - [0xF6B970, c, code_16010] #DONE # - [0xF6B970, c, code_16010] #DONE
@@ -1132,7 +1132,7 @@ segments:
- [0x1066E30, .rodata, code_7060] - [0x1066E30, .rodata, code_7060]
- [0x1066F60, bin, core2_untouched_rodata] - [0x1066F60, bin, core2_untouched_rodata]
# - [0x1042F90, .rodata, code_9450] # - [0x1042F90, .rodata, code_9450]
# - [0x1042FC0, .rodata, code_9900] # - [0x1042FC0, .rodata, babuzz]
# - [0x1042FD0, .rodata, code_9BD0] # - [0x1042FD0, .rodata, code_9BD0]
# - [0x1043010, .rodata, ba/model] # - [0x1043010, .rodata, ba/model]
# - [0x10430C0, .rodata, ba/drone] # - [0x10430C0, .rodata, ba/drone]
@@ -1155,7 +1155,7 @@ segments:
# - [0x1043660, .rodata, code_12360] # - [0x1043660, .rodata, code_12360]
# - [0x1043690, .rodata, code_126C0] # - [0x1043690, .rodata, code_126C0]
# - [0x10436C0, .rodata, code_12F30] # - [0x10436C0, .rodata, code_12F30]
# - [0x10436E0, .rodata, code_13FC0] # - [0x10436E0, .rodata, bastick]
# - [0x10436F0, .rodata, code_14420] # - [0x10436F0, .rodata, code_14420]
# - [0x1043770, .rodata, code_16010] # - [0x1043770, .rodata, code_16010]
# - [0x1043BD0, .rodata, code_16C60] # - [0x1043BD0, .rodata, code_16C60]
@@ -1387,7 +1387,7 @@ segments:
# - [0x0106C980, .bss, code_90E0] # - [0x0106C980, .bss, code_90E0]
# - [0x0106C980, .bss, code_9290] # - [0x0106C980, .bss, code_9290]
# - [0x0106C980, .bss, code_9450] # - [0x0106C980, .bss, code_9450]
# - [0x0106C980, .bss, code_9900] # - [0x0106C980, .bss, babuzz]
# - [0x0106C980, .bss, code_9BD0] # - [0x0106C980, .bss, code_9BD0]
# - [0x0106C980, .bss, code_A600] # - [0x0106C980, .bss, code_A600]
# - [0x0106C980, .bss, statetimer] # - [0x0106C980, .bss, statetimer]
@@ -1401,7 +1401,7 @@ segments:
# - [0x0106C980, .bss, ba/carry] # - [0x0106C980, .bss, ba/carry]
# - [0x0106C980, .bss, code_D9B0] # - [0x0106C980, .bss, code_D9B0]
# - [0x0106C980, .bss, code_DF70] # - [0x0106C980, .bss, code_DF70]
# - [0x0106C980, .bss, code_E410] # - [0x0106C980, .bss, bakey]
# - [0x0106C980, .bss, abilityprogress] # - [0x0106C980, .bss, abilityprogress]
# - [0x0106C980, .bss, code_E910] # - [0x0106C980, .bss, code_E910]
# - [0x0106C980, .bss, code_EE40] # - [0x0106C980, .bss, code_EE40]
@@ -1424,7 +1424,7 @@ segments:
# - [0x0106C980, .bss, code_13780] # - [0x0106C980, .bss, code_13780]
# - [0x0106C980, .bss, bsStoredState] # - [0x0106C980, .bss, bsStoredState]
# - [0x0106C980, .bss, code_13A00] # - [0x0106C980, .bss, code_13A00]
# - [0x0106C980, .bss, code_13FC0] # - [0x0106C980, .bss, bastick]
# - [0x0106C980, .bss, code_14420] # - [0x0106C980, .bss, code_14420]
# - [0x0106C980, .bss, code_15F20] # - [0x0106C980, .bss, code_15F20]
# - [0x0106C980, .bss, code_16010] # - [0x0106C980, .bss, code_16010]

View File

@@ -504,41 +504,41 @@ segments:
vram: 0x80286F90 # via https://hack64.net/wiki/doku.php?id=player_kazooie:ram_map vram: 0x80286F90 # via https://hack64.net/wiki/doku.php?id=player_kazooie:ram_map
follows_vram: core1 follows_vram: core1
subsegments: subsegments:
- [0xF55960, c, anctrl] - [0xF55960, c, anctrl] #anctrl
- [0xF56430, c, anim/sprite] - [0xF56430, c, anim/sprite] #anctrl2
- [0xF56A40, c, animcache] - [0xF56A40, c, animcache] # andb1
- [0xF56EB0, c, code_1550] - [0xF56EB0, c, code_1550] # andb2
- [0xF57290, c, anseq] - [0xF57290, c, anseq] # anseq
- [0xF57BA0, c, code_2240] - [0xF57BA0, c, code_2240]
- [0xF581F0, c, ba/anim] - [0xF581F0, c, ba/anim] # anstate???
- [0xF58DE0, c, snackerctl] - [0xF58DE0, c, snackerctl]
- [0xF59330, c, code_39D0] - [0xF59330, c, code_39D0]
- [0xF5A120, c, ba/marker] - [0xF5A120, c, ba/marker] #babanjo? baavatar?
- [0xF5C490, c, code_6B30] - [0xF5C490, c, code_6B30]
- [0xF5C730, c, ba/carriedobj] - [0xF5C730, c, ba/carriedobj]
- [0xF5C9C0, c, code_7060] - [0xF5C9C0, c, code_7060]
- [0xF5E700, c, ba/flap] - [0xF5E700, c, ba/flap] #babflap?
- [0xF5EA40, c, code_90E0] - [0xF5EA40, c, code_90E0]
- [0xF5EBF0, c, code_9290] - [0xF5EBF0, c, code_9290]
- [0xF5EDB0, c, code_9450] - [0xF5EDB0, c, code_9450]
- [0xF5F260, c, code_9900] - [0xF5F260, c, babuzz] # babuzz
- [0xF5F530, c, code_9BD0] - [0xF5F530, c, code_9BD0]
- [0xF5FF60, c, code_A600] - [0xF5FF60, c, code_A600]
- [0xF60040, c, statetimer] - [0xF60040, c, statetimer]
- [0xF602C0, c, code_A960] - [0xF602C0, c, code_A960]
- [0xF603C0, c, ba/model] - [0xF603C0, c, ba/model] # badraw?
- [0xF60FB0, c, ba/drone] - [0xF60FB0, c, ba/drone]
- [0xF611B0, c, code_B850] - [0xF611B0, c, code_B850]
- [0xF614B0, c, eggshatter] - [0xF614B0, c, eggshatter]
- [0xF61680, c, code_BD20] - [0xF61680, c, code_BD20] # baeyes
- [0xF61A40, c, ba/falldamage] - [0xF61A40, c, ba/falldamage]
- [0xF61D50, c, code_C3F0] - [0xF61D50, c, code_C3F0] # baflag
- [0xF61E10, c, code_C4B0] - [0xF61E10, c, code_C4B0]
- [0xF63160, c, ba/carry] - [0xF63160, c, ba/carry]
- [0xF63310, c, code_D9B0] - [0xF63310, c, code_D9B0]
- [0xF638D0, c, code_DF70] - [0xF638D0, c, code_DF70] # bainput
- [0xF63D70, c, code_E410] - [0xF63D70, c, bakey] # bakey
- [0xF63FE0, c, abilityprogress] - [0xF63FE0, c, abilityprogress] #baknow
- [0xF64270, c, code_E910] - [0xF64270, c, code_E910]
- [0xF647A0, c, code_EE40] - [0xF647A0, c, code_EE40]
- [0xF648B0, c, code_EF50] - [0xF648B0, c, code_EF50]
@@ -550,20 +550,20 @@ segments:
- [0xF66DC0, c, code_11460] - [0xF66DC0, c, code_11460]
- [0xF66FC0, c, code_11660] - [0xF66FC0, c, code_11660]
- [0xF67130, c, code_117D0] - [0xF67130, c, code_117D0]
- [0xF671D0, c, code_11870] - [0xF671D0, c, code_11870] # barest
- [0xF674A0, c, roll] - [0xF674A0, c, roll]
- [0xF67740, c, yaw] - [0xF67740, c, yaw]
- [0xF67CC0, c, code_12360] - [0xF67CC0, c, code_12360]
- [0xF68020, c, code_126C0] - [0xF68020, c, code_126C0] # basfx
- [0xF68890, c, code_12F30] - [0xF68890, c, code_12F30]
- [0xF68FD0, c, bsList] - [0xF68FD0, c, bsList]
- [0xF690E0, c, code_13780] - [0xF690E0, c, code_13780]
- [0xF69260, c, bsStoredState] - [0xF69260, c, bsStoredState] #bastate
- [0xF69360, c, code_13A00] - [0xF69360, c, code_13A00]
- [0xF69920, c, code_13FC0] - [0xF69920, c, bastick]
- [0xF69D80, c, code_14420] - [0xF69D80, c, code_14420]
- [0xF6B880, c, code_15F20] - [0xF6B880, c, code_15F20]
- [0xF6B970, c, code_16010] - [0xF6B970, c, code_16010] # baswamp?
- [0xF6C5C0, c, code_16C60] - [0xF6C5C0, c, code_16C60]
- [0xF6CB50, c, batimer] - [0xF6CB50, c, batimer]
- [0xF6CDB0, c, bs/ant] - [0xF6CDB0, c, bs/ant]
@@ -1130,7 +1130,7 @@ segments:
- [0x1042D70, .rodata, code_6B30] - [0x1042D70, .rodata, code_6B30]
- [0x1042E60, .rodata, code_7060] - [0x1042E60, .rodata, code_7060]
- [0x1042F90, .rodata, code_9450] - [0x1042F90, .rodata, code_9450]
- [0x1042FC0, .rodata, code_9900] - [0x1042FC0, .rodata, babuzz]
- [0x1042FD0, .rodata, code_9BD0] - [0x1042FD0, .rodata, code_9BD0]
- [0x1043010, .rodata, ba/model] - [0x1043010, .rodata, ba/model]
- [0x10430C0, .rodata, ba/drone] - [0x10430C0, .rodata, ba/drone]
@@ -1153,7 +1153,7 @@ segments:
- [0x1043660, .rodata, code_12360] - [0x1043660, .rodata, code_12360]
- [0x1043690, .rodata, code_126C0] - [0x1043690, .rodata, code_126C0]
- [0x10436C0, .rodata, code_12F30] - [0x10436C0, .rodata, code_12F30]
- [0x10436E0, .rodata, code_13FC0] - [0x10436E0, .rodata, bastick]
- [0x10436F0, .rodata, code_14420] - [0x10436F0, .rodata, code_14420]
- [0x1043770, .rodata, code_16010] - [0x1043770, .rodata, code_16010]
- [0x1043BD0, .rodata, code_16C60] - [0x1043BD0, .rodata, code_16C60]
@@ -1385,7 +1385,7 @@ segments:
- [0x1048560, .bss, code_90E0] - [0x1048560, .bss, code_90E0]
- [0x1048560, .bss, code_9290] - [0x1048560, .bss, code_9290]
- [0x1048560, .bss, code_9450] - [0x1048560, .bss, code_9450]
- [0x1048560, .bss, code_9900] - [0x1048560, .bss, babuzz]
- [0x1048560, .bss, code_9BD0] - [0x1048560, .bss, code_9BD0]
- [0x1048560, .bss, code_A600] - [0x1048560, .bss, code_A600]
- [0x1048560, .bss, statetimer] - [0x1048560, .bss, statetimer]
@@ -1399,7 +1399,7 @@ segments:
- [0x1048560, .bss, ba/carry] - [0x1048560, .bss, ba/carry]
- [0x1048560, .bss, code_D9B0] - [0x1048560, .bss, code_D9B0]
- [0x1048560, .bss, code_DF70] - [0x1048560, .bss, code_DF70]
- [0x1048560, .bss, code_E410] - [0x1048560, .bss, bakey]
- [0x1048560, .bss, abilityprogress] - [0x1048560, .bss, abilityprogress]
- [0x1048560, .bss, code_E910] - [0x1048560, .bss, code_E910]
- [0x1048560, .bss, code_EE40] - [0x1048560, .bss, code_EE40]
@@ -1422,7 +1422,7 @@ segments:
- [0x1048560, .bss, code_13780] - [0x1048560, .bss, code_13780]
- [0x1048560, .bss, bsStoredState] - [0x1048560, .bss, bsStoredState]
- [0x1048560, .bss, code_13A00] - [0x1048560, .bss, code_13A00]
- [0x1048560, .bss, code_13FC0] - [0x1048560, .bss, bastick]
- [0x1048560, .bss, code_14420] - [0x1048560, .bss, code_14420]
- [0x1048560, .bss, code_15F20] - [0x1048560, .bss, code_15F20]
- [0x1048560, .bss, code_16010] - [0x1048560, .bss, code_16010]

View File

@@ -64,8 +64,8 @@ void player_getPosition(f32 dst[3]);
void player_getRotation(f32 *dst); void player_getRotation(f32 *dst);
int button_pressed(s32); int bakey_pressed(s32);
u32 button_held(s32); u32 bakey_held(s32);
void pitch_setIdeal(f32); void pitch_setIdeal(f32);
f32 pitch_get(void); f32 pitch_get(void);
@@ -285,11 +285,11 @@ void bsStoredState_setLongLegTimer(f32);
void bsStoredState_setTrot(bool); void bsStoredState_setTrot(bool);
void bsStoredState_setTurboTimer(f32); void bsStoredState_setTurboTimer(f32);
void func_8029AD28(f32, s32); void func_8029AD28(f32, s32);
f32 func_8029B2DC(void); f32 bastick_getY(void);
f32 func_8029B2E8(void); f32 bastick_distance(void);
f32 func_8029B30C(void); f32 bastick_getZonePosition(void);
void func_8029B324(s32, f32); void bastick_setZoneMax(s32, f32);
f32 func_8029B33C(void); f32 bastick_getAngleRelativeToBanjo(void);
f32 func_8029B41C(void); f32 func_8029B41C(void);
ParticleEmitter *func_8029B950(f32[3],f32); ParticleEmitter *func_8029B950(f32[3],f32);
void func_8029C3E8(f32, f32); void func_8029C3E8(f32, f32);

View File

@@ -84,8 +84,8 @@ set_throw_target_position = 0x802948e0;
set_turbo_duration = 0x80294908; set_turbo_duration = 0x80294908;
func_80294AF4 = 0x80294914; func_80294AF4 = 0x80294914;
func_80294E54 = 0x80294c74; func_80294E54 = 0x80294c74;
func_802955A4 = 0x802953c4; bakey_getAndSetState = 0x802953c4;
func_802955BC = 0x802953dc; bakey_disableAll = 0x802953dc;
ability_hasLearned = 0x80295618; ability_hasLearned = 0x80295618;
ability_setLearned = 0x80295658; ability_setLearned = 0x80295658;
func_80295914 = 0x80295754; func_80295914 = 0x80295754;
@@ -137,7 +137,7 @@ bs_getState = 0x8029a608;
bs_checkInterrupt = 0x8029a65c; bs_checkInterrupt = 0x8029a65c;
bsStoredState_getTransformation = 0x8029a734; bsStoredState_getTransformation = 0x8029a734;
bsStoredState_setTrot = 0x8029a7c0; bsStoredState_setTrot = 0x8029a7c0;
func_8029B318 = 0x8029b158; bastick_lockAtzero = 0x8029b158;
func_8029B41C = 0x8029b25c; func_8029B41C = 0x8029b25c;
func_8029B73C = 0x8029b57c; func_8029B73C = 0x8029b57c;
bs_getIdleState = 0x8029bdb8; bs_getIdleState = 0x8029bdb8;

View File

@@ -427,7 +427,7 @@ void chSmBottles_update(Actor *this) {
f32 plyr_pos[3]; f32 plyr_pos[3];
void *sp40; void *sp40;
int sp34; int sp34;
int button_pressed; int bakey_pressed;
// Checks the actor's selector value is lower than 0x9 // Checks the actor's selector value is lower than 0x9
// Anything higher is a non-Spiral Mountain ability, and should use a different actor id // Anything higher is a non-Spiral Mountain ability, and should use a different actor id
@@ -594,25 +594,25 @@ void chSmBottles_update(Actor *this) {
__chSmBottles_setState(this, SM_BOTTLES_STATE_4_UNKNOWN); __chSmBottles_setState(this, SM_BOTTLES_STATE_4_UNKNOWN);
}//L8038A1B8 }//L8038A1B8
button_pressed = -1; bakey_pressed = -1;
if (this->unk38_0) { if (this->unk38_0) {
this->lifetime_value += time_getDelta(); this->lifetime_value += time_getDelta();
if (func_803114C4() != 0xe1d) { if (func_803114C4() != 0xe1d) {
if (face_buttons[FACE_BUTTON(BUTTON_A)] == TRUE) { if (face_buttons[FACE_BUTTON(BUTTON_A)] == TRUE) {
button_pressed = 1; bakey_pressed = 1;
} }
else if (face_buttons[FACE_BUTTON(BUTTON_B)] == TRUE) { else if (face_buttons[FACE_BUTTON(BUTTON_B)] == TRUE) {
button_pressed = 0; bakey_pressed = 0;
} }
}//L8038A218 }//L8038A218
if (button_pressed != -1) { if (bakey_pressed != -1) {
fileProgressFlag_set(FILEPROG_DB_SKIPPED_TUTORIAL, button_pressed ? 0 : 1); fileProgressFlag_set(FILEPROG_DB_SKIPPED_TUTORIAL, bakey_pressed ? 0 : 1);
gcdialog_showText(button_pressed ? ASSET_E07_DIALOG_BOTTLES_UNKNOWN : ASSET_E09_DIALOG_BOTTLES_SKIPPED_TUTORIAL, 0xe, this->position, this->marker, __chSmBottles_textCallback,__chSmBottles_textActions); gcdialog_showText(bakey_pressed ? ASSET_E07_DIALOG_BOTTLES_UNKNOWN : ASSET_E09_DIALOG_BOTTLES_SKIPPED_TUTORIAL, 0xe, this->position, this->marker, __chSmBottles_textCallback,__chSmBottles_textActions);
if (!button_pressed) { if (!bakey_pressed) {
__chSmBottles_skipIntroTutorial(); __chSmBottles_skipIntroTutorial();
} }

View File

@@ -34,7 +34,7 @@ s32 D_8038AAE4 = 0x8C0992D1; //compiled SM_code_crc_2
union { union {
u8 byte[4]; u8 byte[4];
s32 word; s32 word;
} D_8038AAE8 = {0x00, 0x01, 0xEB, 0x56}; //compiled SM_data_crc_1 (with this zeroed out) } D_8038AAE8 = {0x00, 0x01, 0xEB, 0x56}; //compiled SM_data_crc_1 (with this disabled out)
s32 D_8038AAEC = 0; s32 D_8038AAEC = 0;
/* .bss */ /* .bss */

View File

@@ -274,8 +274,8 @@ void baphysics_update(void){
func_8029740C(); func_8029740C();
break; break;
case BA_PHYSICS_AIRBORN: //L80297840 case BA_PHYSICS_AIRBORN: //L80297840
if(0.0f < func_8029B2E8()){ if(0.0f < bastick_distance()){
baphysics_set_target_yaw(func_8029B33C()); baphysics_set_target_yaw(bastick_getAngleRelativeToBanjo());
} }
__baphysics_update_normal(); __baphysics_update_normal();
break; break;

79
src/core2/babuzz.c Normal file
View File

@@ -0,0 +1,79 @@
#include <ultra64.h>
#include "functions.h"
#include "variables.h"
/* .bss */
u8 baBuzzSfxSource;
struct {
f32 volume;
s32 sample_rate;
}D_8037C048;
struct{
f32 volume;
s32 sample_rate;
} D_8037C050;
f32 D_8037C058;
/* .code */
f32 babuzz_80290890(f32 arg0){
f64 temp_f2;
temp_f2 = func_80257A44(arg0, 0.7f);
arg0 = temp_f2 + temp_f2;
if(1.0 <= arg0){
arg0 = 2.0 - arg0;
}
arg0 = arg0 - 0.5;
return (f64)arg0 * 0.04;
}
f32 babuzz_80290920(f32 arg0, f32 arg1, f32 arg2){
f32 tick = time_getDelta();
if(arg0 < arg1){
arg0 += tick*arg2;
if(arg1 < arg0){
arg0 = arg1;
}
}
else{
arg0-= tick*arg2;
if(arg0 < arg1){
arg0 = arg1;
}
}
return arg0;
}
void babuzz_release(void){
sfxsource_freeSfxsourceByIndex(baBuzzSfxSource);
baBuzzSfxSource = 0;
}
void babuzz_reset(void){
baBuzzSfxSource = sfxsource_createSfxsourceAndReturnIndex();
D_8037C050.volume = 1.0f;
D_8037C048.sample_rate = D_8037C050.sample_rate = 13000;
D_8037C048.volume = D_8037C050.volume;
sfxsource_setSfxId(baBuzzSfxSource, 0x3fa);
func_8030DD14(baBuzzSfxSource, 2);
sfxsource_playSfxAtVolume(baBuzzSfxSource, D_8037C048.volume);
sfxsource_setSampleRate(baBuzzSfxSource, D_8037C048.sample_rate);
D_8037C058 = 0.0f;
}
void babuzz_update(void){
D_8037C058 += time_getDelta();
D_8037C048.volume = babuzz_80290920(D_8037C048.volume, D_8037C050.volume, 0.3f);
D_8037C048.sample_rate = babuzz_80290920((f32)D_8037C048.sample_rate, (f32)D_8037C050.sample_rate, 100.0f);
sfxsource_playSfxAtVolume(baBuzzSfxSource, babuzz_80290890(D_8037C058) + D_8037C048.volume);
sfxsource_setSampleRate(baBuzzSfxSource, D_8037C048.sample_rate);
func_8030E2C4(baBuzzSfxSource);
}
void babuzz_setVolume(f32 arg0){
D_8037C050.volume = arg0;
}
void babuzz_setSampleRate(s32 arg0){
D_8037C050.sample_rate = arg0;
}

80
src/core2/bakey.c Normal file
View File

@@ -0,0 +1,80 @@
#include <ultra64.h>
#include "functions.h"
#include "variables.h"
/* .bss */
struct {
u32 pressed_count[0xE];
u32 released_count[0xE];
u8 state[0xE];
u8 prev_state[0xE];
} bakey;
/* .code */
void bakey_reset(void){
s32 i;
for(i = 0; i<0xe; i++){
bakey.pressed_count[i] = bakey.released_count[i] = 0;
bakey.state[i] = bakey.prev_state[i] = 0;
}
}
void bakey_update(void){
s32 i;
bakey.pressed_count[0] = controller_getStartButton(0);
func_8024E60C(0, &bakey.pressed_count[1]);
func_8024E6E0(0, &bakey.pressed_count[4]);
controller_copyFaceButtons(0, &bakey.pressed_count[8]);
for(i=0; i<0xE; i++){//L802954A8
bakey.prev_state[i] = bakey.state[i];
if(bakey.state[i]){
bakey.pressed_count[i] = 0;
if(bakey.state[i] == 2)
bakey.state[i] = 0;
}
bakey.released_count[i] = (bakey.pressed_count[i])? 0: bakey.released_count[i] + 1 ;
}
if(gctransition_8030BDC0()){
bakey_reset();
}
}
int bakey_heldCount(s32 button_indx){
return bakey.pressed_count[button_indx];
}
int bakey_releaseCount(s32 button_indx){
return bakey.released_count[button_indx];
}
int bakey_pressed(s32 button_indx){
return bakey.pressed_count[button_indx] == 1;
}
int bakey_newlyReleased(s32 button_indx){
return bakey.released_count[button_indx] == 1;
}
u32 bakey_held(s32 button_indx){
return bakey.pressed_count[button_indx];
}
int bakey_released(s32 button_indx){
return bakey.released_count[button_indx];
}
int bakey_getAndSetState(s32 button_indx, s32 val){
bakey.state[button_indx] = val;
return bakey.prev_state[button_indx];
}
void bakey_disableAll(s32 arg0){
s32 i;
for(i=0; i<0xe; i++){
bakey_getAndSetState(i, arg0);
}
}

160
src/core2/bastick.c Normal file
View File

@@ -0,0 +1,160 @@
#include <ultra64.h>
#include "core1/core1.h"
#include "functions.h"
#include "variables.h"
extern void controller_getJoystick(s32, f32*);
extern f32 player_getYaw(void);
extern void particleEmitter_setSphericalParticleVelocityRange(ParticleEmitter *this, f32 pitch_min, f32 yaw_min, f32 radial_min, f32 pitch_max, f32 yaw_max, f32 radial_max);
ParticleEmitter * func_802EDD8C(f32[3], f32, f32);
extern void func_80354030(f32[3], f32);
extern void func_80356074(f32[3], f32[3], f32, f32);
extern void func_80292864(f32, f32);
/* .bss */
struct {
f32 zone_position;
s32 zone;
f32 zone_markers[5];
f32 value[2];
f32 angle;
f32 distance;
s32 zeroed_count;
s32 nonzero_count;
u8 locked_at_zero;
} bastick;
/*.code */
f32 bastick_calculateZonePosition(f32 arg0, f32 arg1, f32 arg2){
return (arg0 - arg1)/(arg2 - arg1);
}
void bastick_updateZone(void) {
s32 i;
if (bastick.distance <= bastick.zone_markers[0]) {
bastick.zone = 0;
bastick.zone_position = 0.0f;
return;
}
if ((bastick.zone_markers[0] < bastick.distance) && (bastick.distance <= bastick.zone_markers[1])) {
bastick.zone = 1;
bastick.zone_position = bastick_calculateZonePosition(bastick.distance, bastick.zone_markers[0], bastick.zone_markers[1]);
return;
}
if ((bastick.zone_markers[1] < bastick.distance) && (bastick.distance <= bastick.zone_markers[2])) {
bastick.zone = 2;
bastick.zone_position = bastick_calculateZonePosition(bastick.distance, bastick.zone_markers[1], bastick.zone_markers[2]);
return;
}
if ((bastick.zone_markers[2] < bastick.distance) && (bastick.distance <= bastick.zone_markers[3])) {
bastick.zone = 3;
bastick.zone_position = bastick_calculateZonePosition(bastick.distance, bastick.zone_markers[2], bastick.zone_markers[3]);
return;
}
if ((bastick.zone_markers[3] < bastick.distance) && (bastick.distance <= bastick.zone_markers[4])) {
bastick.zone = 4;
bastick.zone_position = bastick_calculateZonePosition(bastick.distance, bastick.zone_markers[3], bastick.zone_markers[4]);
return;
}
}
void bastick_resetZones(void) {
bastick_setZoneMax(0, 0.12f);
bastick_setZoneMax(1, 0.2f);
bastick_setZoneMax(2, 0.5f);
bastick_setZoneMax(3, 0.75f);
bastick_setZoneMax(4, 1.0f);
}
void bastick_reset(void) {
bastick.value[0] = bastick.value[1] = bastick.distance = bastick.angle = bastick.zone_position = 0.0f;
bastick.locked_at_zero = 0;
bastick.nonzero_count = 0;
bastick.zeroed_count = 0;
bastick.zone = 0;
bastick_resetZones();
}
void bastick_update(void) {
controller_getJoystick(0, &bastick.value);
if (bastick.locked_at_zero) {
bastick.value[0] = bastick.value[1] = 0.0f;
}
bastick.distance = gu_sqrtf(bastick.value[0]*bastick.value[0] + bastick.value[1]*bastick.value[1]);
if (bastick.distance != 0.0f) {
bastick.zeroed_count = 0;
bastick.nonzero_count = (s32) (bastick.nonzero_count + 1);
bastick.angle = ml_acosf(bastick.value[1] / bastick.distance);
if (bastick.value[0] < 0.0f) {
bastick.angle = (f32) (180.0f - bastick.angle);
}
if (bastick.value[1] < 0.0f) {
bastick.angle = (f32) (360.0f - bastick.angle);
}
} else {
bastick.nonzero_count = 0;
bastick.zeroed_count = (s32) (bastick.zeroed_count + 1);
}
if (bastick.distance > 1.0) {
bastick.distance = 1.0f;
}
bastick_updateZone();
}
f32 bastick_getX(void){
return bastick.value[0];
}
f32 bastick_getY(void){
return bastick.value[1];
}
f32 bastick_distance(void){
return bastick.distance;
}
f32 bastick_getAngle(void){
return bastick.angle;
}
s32 bastick_getZone(void){
return bastick.zone;
}
f32 bastick_getZonePosition(void){
return bastick.zone_position;
}
void bastick_lockAtzero(bool arg0){
bastick.locked_at_zero = arg0;
}
void bastick_setZoneMax(s32 zone_id, f32 value){
bastick.zone_markers[zone_id] = value;
}
f32 bastick_getAngleRelativeToBanjo(void){
f32 sp1C[3];
_player_getPosition(sp1C);
return viewport_adjustAngleToRight(sp1C, bastick_getAngle());
}
s32 bastick_getNonzeroCount(void){
return bastick.nonzero_count;
}
s32 bastick_getCenteredCount(void){
return bastick.zeroed_count;
}
bool bastick_newlyActive(void){
return bastick.nonzero_count == 1;
}
bool bastick_newlyCentered(void){
return bastick.zeroed_count == 1;
}

View File

@@ -40,9 +40,9 @@ void func_8029E448(int arg0){
} }
void func_8029E48C(void){ void func_8029E48C(void){
f32 sp1C = func_8029B30C(); f32 sp1C = bastick_getZonePosition();
if(func_8029B300() == 0){ if(bastick_getZone() == 0){
baphysics_set_target_horizontal_velocity(0.0f); baphysics_set_target_horizontal_velocity(0.0f);
} }
else{ else{
@@ -52,7 +52,7 @@ void func_8029E48C(void){
void func_8029E4EC(void){ void func_8029E4EC(void){
if(!bsant_inSet(bs_getNextState())){ if(!bsant_inSet(bs_getNextState())){
func_8029B0C0(); bastick_resetZones();
func_8029E070(0); func_8029E070(0);
func_8029E064(0); func_8029E064(0);
miscFlag_clear(MISC_FLAG_3); miscFlag_clear(MISC_FLAG_3);
@@ -100,10 +100,10 @@ void bsant_idle_update(void){
if(should_look_first_person_camera()) if(should_look_first_person_camera())
new_state = badrone_look(); new_state = badrone_look();
if(func_8029B300() > 0) if(bastick_getZone() > 0)
new_state = BS_ANT_WALK; new_state = BS_ANT_WALK;
if(button_pressed(BUTTON_A)) if(bakey_pressed(BUTTON_A))
new_state = BS_ANT_JUMP; new_state = BS_ANT_JUMP;
bs_setState(new_state); bs_setState(new_state);
@@ -135,13 +135,13 @@ void bsant_walk_update(void){
if(anctrl_isAt(aCtrl, 0.2781f)) if(anctrl_isAt(aCtrl, 0.2781f))
func_8029E448(1); func_8029E448(1);
if(func_8029B300() == 0 && baphysics_is_slower_than(1.0f)) if(bastick_getZone() == 0 && baphysics_is_slower_than(1.0f))
sp1C = BS_35_ANT_IDLE; sp1C = BS_35_ANT_IDLE;
if(func_8028B094()) if(func_8028B094())
sp1C = BS_38_ANT_FALL; sp1C = BS_38_ANT_FALL;
if(button_pressed(BUTTON_A)) if(bakey_pressed(BUTTON_A))
sp1C = BS_ANT_JUMP; sp1C = BS_ANT_JUMP;
bs_setState(sp1C); bs_setState(sp1C);
@@ -164,8 +164,8 @@ void bsant_jump_init(void){
anctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE); anctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE);
anctrl_start(aCtrl, "bsant.c", 0x17c); anctrl_start(aCtrl, "bsant.c", 0x17c);
func_8029C7F4(1, YAW_STATE_1_DEFAULT, 3, BA_PHYSICS_AIRBORN); func_8029C7F4(1, YAW_STATE_1_DEFAULT, 3, BA_PHYSICS_AIRBORN);
if(func_8029B2E8() != 0.0f) if(bastick_distance() != 0.0f)
yaw_setIdeal(func_8029B33C()); yaw_setIdeal(bastick_getAngleRelativeToBanjo());
baphysics_set_target_yaw(yaw_getIdeal()); baphysics_set_target_yaw(yaw_getIdeal());
func_8029E48C(); func_8029E48C();
baphysics_set_horizontal_velocity(yaw_getIdeal(), baphysics_get_target_horizontal_velocity()); baphysics_set_horizontal_velocity(yaw_getIdeal(), baphysics_get_target_horizontal_velocity());
@@ -184,7 +184,7 @@ void bsant_jump_update(void){
func_8029E48C(); func_8029E48C();
baphysics_get_velocity(sp1C); baphysics_get_velocity(sp1C);
if(button_released(BUTTON_A) && 0.0f < sp1C[1]) if(bakey_released(BUTTON_A) && 0.0f < sp1C[1])
baphysics_reset_gravity(); baphysics_reset_gravity();
switch(bsant_substate){ switch(bsant_substate){
@@ -216,10 +216,10 @@ void bsant_jump_update(void){
}//L8029EB38 }//L8029EB38
if(player_isStable()){ if(player_isStable()){
baphysics_set_target_horizontal_velocity(0.0f); baphysics_set_target_horizontal_velocity(0.0f);
if(func_8029B300() > 0) if(bastick_getZone() > 0)
sp2C = BS_ANT_WALK; sp2C = BS_ANT_WALK;
if(button_pressed(BUTTON_A)) if(bakey_pressed(BUTTON_A))
sp2C = BS_ANT_JUMP; sp2C = BS_ANT_JUMP;
} }

View File

@@ -88,7 +88,7 @@ void bsbarge_update(void){
sp24 = 0; sp24 = 0;
plyrMvmnt = baanim_getAnimCtrlPtr(); plyrMvmnt = baanim_getAnimCtrlPtr();
if(button_released(BUTTON_B)) if(bakey_released(BUTTON_B))
miscFlag_set(MISC_FLAG_A); miscFlag_set(MISC_FLAG_A);
switch(D_8037D2A5){ switch(D_8037D2A5){
case 0: case 0:

View File

@@ -50,7 +50,7 @@ void bseggass_update(void) {
} }
} }
if (anctrl_isStopped(plyr_mvmt)) { if (anctrl_isStopped(plyr_mvmt)) {
next_state = (button_held(BUTTON_Z))? BS_CROUCH : BS_1_IDLE; next_state = (bakey_held(BUTTON_Z))? BS_CROUCH : BS_1_IDLE;
} else if (0.6 < (f64) anctrl_getAnimTimer(plyr_mvmt)) { } else if (0.6 < (f64) anctrl_getAnimTimer(plyr_mvmt)) {
next_state = func_802ADCD4(0); next_state = func_802ADCD4(0);
} }

View File

@@ -58,7 +58,7 @@ void bsegghead_update(void) {
} }
} }
if (anctrl_isStopped(aCtrl)) { if (anctrl_isStopped(aCtrl)) {
next_state = (button_held(BUTTON_Z))? BS_CROUCH : BS_1_IDLE; next_state = (bakey_held(BUTTON_Z))? BS_CROUCH : BS_1_IDLE;
} else if (0.65 < (f64) anctrl_getAnimTimer(aCtrl)) { } else if (0.65 < (f64) anctrl_getAnimTimer(aCtrl)) {
next_state = func_802ADCD4(0); next_state = func_802ADCD4(0);

View File

@@ -22,8 +22,8 @@ u8 D_8037D30C;
void bsbflap_init(void) { void bsbflap_init(void) {
baanim_playForDuration_onceSmooth(ASSET_18_ANIM_BSBFLAP_ENTER, 0.3f); baanim_playForDuration_onceSmooth(ASSET_18_ANIM_BSBFLAP_ENTER, 0.3f);
func_8029C7F4(1, 1, 1, BA_PHYSICS_NORMAL); func_8029C7F4(1, 1, 1, BA_PHYSICS_NORMAL);
if (func_8029B2E8() != 0.0f) { if (bastick_distance() != 0.0f) {
yaw_setIdeal(func_8029B33C()); yaw_setIdeal(bastick_getAngleRelativeToBanjo());
} }
baphysics_set_target_yaw(yaw_getIdeal()); baphysics_set_target_yaw(yaw_getIdeal());
func_802B6FA8(); func_802B6FA8();
@@ -146,7 +146,7 @@ void bsbflap_update(void){
if(D_8037D301 == 4) { if(D_8037D301 == 4) {
D_8037D300 = 3; D_8037D300 = 3;
} }
if(button_released(BUTTON_A)){ if(bakey_released(BUTTON_A)){
baphysics_reset_gravity(); baphysics_reset_gravity();
baphysics_reset_terminal_velocity(); baphysics_reset_terminal_velocity();
anctrl_setDuration(sp18, 1.0f); anctrl_setDuration(sp18, 1.0f);
@@ -159,7 +159,7 @@ void bsbflap_update(void){
func_802A2810(); func_802A2810();
func_802A28CC(); func_802A28CC();
func_802A298C(); func_802A298C();
if(button_released(BUTTON_A)){ if(bakey_released(BUTTON_A)){
baphysics_reset_gravity(); baphysics_reset_gravity();
baphysics_reset_terminal_velocity(); baphysics_reset_terminal_velocity();
anctrl_setDuration(sp18, 1.0f); anctrl_setDuration(sp18, 1.0f);

View File

@@ -17,8 +17,8 @@ u8 D_8037D310;
/* .code */ /* .code */
void _bsbflip_802A2D60(void){ void _bsbflip_802A2D60(void){
f32 sp1C; f32 sp1C;
sp1C = func_8029B30C(); sp1C = bastick_getZonePosition();
if(!func_8029B300()) if(!bastick_getZone())
baphysics_set_target_horizontal_velocity(0.0f); baphysics_set_target_horizontal_velocity(0.0f);
else else
baphysics_set_target_horizontal_velocity(ml_interpolate_f(sp1C, D_80364A2C, D_80364A30)); baphysics_set_target_horizontal_velocity(ml_interpolate_f(sp1C, D_80364A2C, D_80364A30));
@@ -52,8 +52,8 @@ void bsbflip_init(void){
anctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE); anctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE);
anctrl_start(aCtrl, "bsbflip.c", 0x80); anctrl_start(aCtrl, "bsbflip.c", 0x80);
func_8029C7F4(1,1,2, BA_PHYSICS_LOCKED_ROTATION); func_8029C7F4(1,1,2, BA_PHYSICS_LOCKED_ROTATION);
func_8029B324(0, 0.03f); bastick_setZoneMax(0, 0.03f);
func_8029B324(1, 1.0f); bastick_setZoneMax(1, 1.0f);
func_8029E070(1); func_8029E070(1);
func_80299BD4(); func_80299BD4();
D_8037D310 = 0; D_8037D310 = 0;
@@ -73,11 +73,11 @@ void bsbflip_update(void){
switch(D_8037D310){ switch(D_8037D310){
case 0://L802A2FD4 case 0://L802A2FD4
if(anctrl_isAt(aCtrl, 0.1837f)){ if(anctrl_isAt(aCtrl, 0.1837f)){
if(func_8029B2E8() != 0.0f){ if(bastick_distance() != 0.0f){
yaw_setUpdateState(2); yaw_setUpdateState(2);
func_8029957C(3); func_8029957C(3);
if(func_8029B2E8){ //!!! BUG !!! if(bastick_distance){ //!!! BUG !!!
yaw_setIdeal(func_8029B33C()); yaw_setIdeal(bastick_getAngleRelativeToBanjo());
} }
yaw_rotateTimed(1.0f); yaw_rotateTimed(1.0f);
baphysics_set_type(BA_PHYSICS_AIRBORN); baphysics_set_type(BA_PHYSICS_AIRBORN);
@@ -114,7 +114,7 @@ void bsbflip_update(void){
case 2://L802A3184 case 2://L802A3184
if(player_isFallTumbling()) if(player_isFallTumbling())
sp24 = BS_3D_FALL_TUMBLING; sp24 = BS_3D_FALL_TUMBLING;
if(button_released(BUTTON_A)){ if(bakey_released(BUTTON_A)){
anctrl_reset(aCtrl); anctrl_reset(aCtrl);
anctrl_setSmoothTransition(aCtrl, 0); anctrl_setSmoothTransition(aCtrl, 0);
anctrl_setIndex(aCtrl, ASSET_61_ANIM_BSBFLIP_EXIT); anctrl_setIndex(aCtrl, ASSET_61_ANIM_BSBFLIP_EXIT);
@@ -164,5 +164,5 @@ void bsbflip_end(void){
baphysics_reset_gravity(); baphysics_reset_gravity();
baphysics_reset_terminal_velocity(); baphysics_reset_terminal_velocity();
func_8029E070(0); func_8029E070(0);
func_8029B0C0(); bastick_resetZones();
} }

View File

@@ -7,7 +7,7 @@
#include "core2/ba/timer.h" #include "core2/ba/timer.h"
extern void baModel_setYDisplacement(f32); extern void baModel_setYDisplacement(f32);
extern f32 func_8029B2D0(void); extern f32 bastick_getX(void);
extern void ncDynamicCam4_func_802BFE50(f32, f32, f32); extern void ncDynamicCam4_func_802BFE50(f32, f32, f32);
extern void func_80354030(f32[3], f32); extern void func_80354030(f32[3], f32);
@@ -81,8 +81,8 @@ void func_802A354C(void){
f32 roll_range; f32 roll_range;
f32 sp2C; f32 sp2C;
sp2C = func_8029B2D0(); sp2C = bastick_getX();
if(button_held(BUTTON_R)){ if(bakey_held(BUTTON_R)){
yaw_setVelocityBounded(500.0f, 30.0f); yaw_setVelocityBounded(500.0f, 30.0f);
yaw_range = 6.0f; yaw_range = 6.0f;
roll_range = 85.0f; roll_range = 85.0f;
@@ -97,7 +97,7 @@ void func_802A354C(void){
} }
void func_802A3648(void){ void func_802A3648(void){
f32 tmp_f0 = func_8029B2DC(); f32 tmp_f0 = bastick_getY();
if(tmp_f0 < 0.0f) if(tmp_f0 < 0.0f)
pitch_setIdeal(ml_map_f(tmp_f0, -1.0f, 0.0f, 300.0f, 360.0f)); pitch_setIdeal(ml_map_f(tmp_f0, -1.0f, 0.0f, 300.0f, 360.0f));
@@ -138,8 +138,8 @@ int func_802A37F8(void){
void bsbfly_enter_init(void){ void bsbfly_enter_init(void){
baanim_playForDuration_onceSmooth(ASSET_45_ANIM_BSBFLY_ENTER, 1.4f); baanim_playForDuration_onceSmooth(ASSET_45_ANIM_BSBFLY_ENTER, 1.4f);
func_8029C7F4(1,1,3, BA_PHYSICS_AIRBORN); func_8029C7F4(1,1,3, BA_PHYSICS_AIRBORN);
if(func_8029B2E8() != 0.0f) if(bastick_distance() != 0.0f)
yaw_setIdeal(func_8029B33C()); yaw_setIdeal(bastick_getAngleRelativeToBanjo());
baphysics_set_target_yaw(yaw_getIdeal()); baphysics_set_target_yaw(yaw_getIdeal());
baphysics_set_velocity(0); baphysics_set_velocity(0);
@@ -216,7 +216,7 @@ void bsbfly_update(void){
func_802A3648(); func_802A3648();
sp3C = pitch_get(); sp3C = pitch_get();
sp2C = 0; sp2C = 0;
if(button_pressed(BUTTON_A)) if(bakey_pressed(BUTTON_A))
D_8037D347 = 1; D_8037D347 = 1;
if(D_8037D347 && globalTimer_getTime()%3 == 0){ if(D_8037D347 && globalTimer_getTime()%3 == 0){
@@ -292,7 +292,7 @@ void bsbfly_update(void){
D_8037D320 = ml_max_f(D_8037D320 - time_getDelta(), 0.0f); D_8037D320 = ml_max_f(D_8037D320 - time_getDelta(), 0.0f);
if( D_8037D320 == 0.0f if( D_8037D320 == 0.0f
&& button_pressed(BUTTON_B) && bakey_pressed(BUTTON_B)
&& can_beak_bomb() && can_beak_bomb()
){ ){
sp2C = 0; sp2C = 0;

View File

@@ -39,8 +39,8 @@ void func_802A5208(int arg0){
} }
void func_802A524C(void){ void func_802A524C(void){
f32 sp1C = func_8029B30C(); f32 sp1C = bastick_getZonePosition();
if(!func_8029B300()) if(!bastick_getZone())
baphysics_set_target_horizontal_velocity(0.0f); baphysics_set_target_horizontal_velocity(0.0f);
else else
baphysics_set_target_horizontal_velocity(ml_interpolate_f(sp1C, D_80364A40, D_80364A44)); baphysics_set_target_horizontal_velocity(ml_interpolate_f(sp1C, D_80364A40, D_80364A44));
@@ -64,8 +64,8 @@ void func_802A531C(void){
void func_802A5374(void){ void func_802A5374(void){
baModel_80292078(1, -50.0f); baModel_80292078(1, -50.0f);
func_8029B324(0, 0.03f); bastick_setZoneMax(0, 0.03f);
func_8029B324(1, 1.0f); bastick_setZoneMax(1, 1.0f);
func_8029E070(1); func_8029E070(1);
func_8029E064(1); func_8029E064(1);
func_8029E0F4(1); func_8029E0F4(1);
@@ -79,7 +79,7 @@ void func_802A5404(void){
return; return;
baModel_80292078(1,0); baModel_80292078(1,0);
func_8029B0C0(); bastick_resetZones();
func_8029E070(0); func_8029E070(0);
func_8029E064(0); func_8029E064(0);
func_8029E0F4(0); func_8029E0F4(0);
@@ -171,16 +171,16 @@ void bsblongleg_stand_update(void){
if(should_look_first_person_camera()) if(should_look_first_person_camera())
next_state = badrone_look(); next_state = badrone_look();
if(button_pressed(BUTTON_B)) if(bakey_pressed(BUTTON_B))
stateTimer_clear(STATE_TIMER_2_LONGLEG); stateTimer_clear(STATE_TIMER_2_LONGLEG);
if(func_8029B300() > 0) if(bastick_getZone() > 0)
next_state = BS_LONGLEG_WALK; next_state = BS_LONGLEG_WALK;
if(player_shouldSlideTrot()) if(player_shouldSlideTrot())
next_state = BS_LONGLEG_SLIDE; next_state = BS_LONGLEG_SLIDE;
if(button_pressed(BUTTON_A) && player_isStable()) if(bakey_pressed(BUTTON_A) && player_isStable())
next_state = BS_LONGLEG_JUMP; next_state = BS_LONGLEG_JUMP;
if(stateTimer_isDone(STATE_TIMER_2_LONGLEG)) if(stateTimer_isDone(STATE_TIMER_2_LONGLEG))
@@ -222,16 +222,16 @@ void bsblongleg_walk_update(void){
func_802A5208(1); func_802A5208(1);
func_802A524C(); func_802A524C();
if(button_pressed(BUTTON_B) && baphysics_get_target_horizontal_velocity() == 0.0f) if(bakey_pressed(BUTTON_B) && baphysics_get_target_horizontal_velocity() == 0.0f)
stateTimer_clear(STATE_TIMER_2_LONGLEG); stateTimer_clear(STATE_TIMER_2_LONGLEG);
if(!func_8029B300() && baphysics_is_slower_than(1.0f)) if(!bastick_getZone() && baphysics_is_slower_than(1.0f))
next_state = BS_26_LONGLEG_IDLE; next_state = BS_26_LONGLEG_IDLE;
if(player_shouldSlideTrot()) if(player_shouldSlideTrot())
next_state = BS_LONGLEG_SLIDE; next_state = BS_LONGLEG_SLIDE;
if(button_pressed(BUTTON_A) && player_isStable()) if(bakey_pressed(BUTTON_A) && player_isStable())
next_state = BS_LONGLEG_JUMP; next_state = BS_LONGLEG_JUMP;
if(stateTimer_isDone(STATE_TIMER_2_LONGLEG)) if(stateTimer_isDone(STATE_TIMER_2_LONGLEG))
@@ -325,8 +325,8 @@ void bsblongleg_jump_init(void){
anctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE); anctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE);
anctrl_start(aCtrl, "bsblongleg.c", 0x27F); anctrl_start(aCtrl, "bsblongleg.c", 0x27F);
func_8029C7F4(1,1,3, BA_PHYSICS_AIRBORN); func_8029C7F4(1,1,3, BA_PHYSICS_AIRBORN);
if(func_8029B2E8() != 0.0f) if(bastick_distance() != 0.0f)
yaw_setIdeal(func_8029B33C()); yaw_setIdeal(bastick_getAngleRelativeToBanjo());
baphysics_set_target_yaw(yaw_getIdeal()); baphysics_set_target_yaw(yaw_getIdeal());
func_802A524C(); func_802A524C();
baphysics_set_horizontal_velocity(yaw_getIdeal(), baphysics_get_target_horizontal_velocity()); baphysics_set_horizontal_velocity(yaw_getIdeal(), baphysics_get_target_horizontal_velocity());
@@ -345,7 +345,7 @@ void bsblongleg_jump_update(void){
func_802A531C(); func_802A531C();
func_802A524C(); func_802A524C();
baphysics_get_velocity(sp34); baphysics_get_velocity(sp34);
if(button_released(BUTTON_A) && 0.0f < sp34[1]) if(bakey_released(BUTTON_A) && 0.0f < sp34[1])
baphysics_reset_gravity(); baphysics_reset_gravity();
sp30 = player_getYPosition() - func_80294438(); sp30 = player_getYPosition() - func_80294438();
@@ -385,7 +385,7 @@ void bsblongleg_jump_update(void){
if(anctrl_isStopped(aCtrl)) if(anctrl_isStopped(aCtrl))
sp44 = BS_26_LONGLEG_IDLE; sp44 = BS_26_LONGLEG_IDLE;
if(button_pressed(BUTTON_A)) if(bakey_pressed(BUTTON_A))
sp44 = BS_LONGLEG_JUMP; sp44 = BS_LONGLEG_JUMP;
if(stateTimer_isDone(STATE_TIMER_2_LONGLEG)) if(stateTimer_isDone(STATE_TIMER_2_LONGLEG))
@@ -446,7 +446,7 @@ void bsblongleg_slide_update(void){
sp3C = BS_26_LONGLEG_IDLE; sp3C = BS_26_LONGLEG_IDLE;
} }
if(D_8037D358 == 0.0f && button_pressed(BUTTON_A)) if(D_8037D358 == 0.0f && bakey_pressed(BUTTON_A))
sp3C = BS_LONGLEG_JUMP; sp3C = BS_LONGLEG_JUMP;
if(func_802A51D0()) if(func_802A51D0())

View File

@@ -25,8 +25,8 @@ void bsbshock_charge_init(void){
anctrl_start(aCtrl, "bsbshock.c", 0x61); anctrl_start(aCtrl, "bsbshock.c", 0x61);
func_8029C7F4(1,1,3, BA_PHYSICS_AIRBORN); func_8029C7F4(1,1,3, BA_PHYSICS_AIRBORN);
if(func_8029B2E8() != 0.0f) if(bastick_distance() != 0.0f)
yaw_setIdeal(func_8029B33C()); yaw_setIdeal(bastick_getAngleRelativeToBanjo());
baphysics_set_target_yaw(yaw_getIdeal()); baphysics_set_target_yaw(yaw_getIdeal());
func_802B6FA8(); func_802B6FA8();
@@ -59,7 +59,7 @@ void bsbshock_charge_update(void){
} }
func_802B6FA8(); func_802B6FA8();
baphysics_get_velocity(sp1C); baphysics_get_velocity(sp1C);
if(button_released(BUTTON_A) && 0.0f < sp1C[1]){ if(bakey_released(BUTTON_A) && 0.0f < sp1C[1]){
baphysics_reset_gravity(); baphysics_reset_gravity();
} }
@@ -88,7 +88,7 @@ void bsbshock_charge_update(void){
}//L802A6CAC }//L802A6CAC
if(func_8028B254(0x3C)){ if(func_8028B254(0x3C)){
if(anctrl_getAnimTimer(aCtrl) < 0.3637 && button_released(8)){ if(anctrl_getAnimTimer(aCtrl) < 0.3637 && bakey_released(8)){
D_8037D380 = 0; D_8037D380 = 0;
}//L802A6CF4 }//L802A6CF4
if(player_isStable()) if(player_isStable())
@@ -137,8 +137,8 @@ void bsbshock_init(void){
anctrl_start(aCtrl, "bsbshock.c", 0x13a); anctrl_start(aCtrl, "bsbshock.c", 0x13a);
func_8029C7F4(1,1,3, BA_PHYSICS_AIRBORN); func_8029C7F4(1,1,3, BA_PHYSICS_AIRBORN);
if(func_8029B2E8() != 0.0f) if(bastick_distance() != 0.0f)
yaw_setIdeal(func_8029B33C()); yaw_setIdeal(bastick_getAngleRelativeToBanjo());
baphysics_set_target_yaw(yaw_getIdeal()); baphysics_set_target_yaw(yaw_getIdeal());
func_802B6FA8(); func_802B6FA8();
@@ -164,7 +164,7 @@ void bsbshock_update(void){
if(anctrl_isAt(aCtrl, 0.7f)) if(anctrl_isAt(aCtrl, 0.7f))
sfxsource_playHighPriority(SFX_53_BANJO_HUIII); sfxsource_playHighPriority(SFX_53_BANJO_HUIII);
if(button_released(BUTTON_A) && 0.0f < sp20[1]) if(bakey_released(BUTTON_A) && 0.0f < sp20[1])
baphysics_reset_gravity(); baphysics_reset_gravity();
if(D_8037D381 == 0){ if(D_8037D381 == 0){

View File

@@ -8,7 +8,7 @@
extern f32 func_8029494C(void); extern f32 func_8029494C(void);
extern f32 func_8029B2D0(void); extern f32 bastick_getX(void);
/* .bss */ /* .bss */
f32 D_8037D390; f32 D_8037D390;
@@ -33,9 +33,9 @@ void func_802A71D8(void) {
f32 roll_range; f32 roll_range;
f32 sp30; f32 sp30;
sp30 = func_8029B2D0(); sp30 = bastick_getX();
sp38 = func_802A716C(); sp38 = func_802A716C();
if (button_held(BUTTON_R)) { if (bakey_held(BUTTON_R)) {
roll_range = 45.0f; roll_range = 45.0f;
yaw_range = 4.3f; yaw_range = 4.3f;
yaw_setVelocityBounded(250.0f, 20.0f); yaw_setVelocityBounded(250.0f, 20.0f);
@@ -52,7 +52,7 @@ void func_802A7304() {
f32 temp_f0; f32 temp_f0;
pitch_setAngVel(ml_interpolate_f(func_802A716C(), 70.0f, 30.0f), 0.9f); pitch_setAngVel(ml_interpolate_f(func_802A716C(), 70.0f, 30.0f), 0.9f);
temp_f0 = func_8029B2DC(); temp_f0 = bastick_getY();
if (temp_f0 < 0.0f) { if (temp_f0 < 0.0f) {
pitch_setIdeal(ml_map_f(temp_f0, -1.0f, 0.0f, 275.0f, 360.0f)); pitch_setIdeal(ml_map_f(temp_f0, -1.0f, 0.0f, 275.0f, 360.0f));
return; return;
@@ -74,8 +74,8 @@ void func_802A744C(void) {
roll_setAngularVelocity(30.0f, 0.9f); roll_setAngularVelocity(30.0f, 0.9f);
baphysics_set_gravity(0.0f); baphysics_set_gravity(0.0f);
baphysics_set_terminal_velocity(-399.99f); baphysics_set_terminal_velocity(-399.99f);
func_8029B324(0, 0.03f); bastick_setZoneMax(0, 0.03f);
func_8029B324(1, 1.0f); bastick_setZoneMax(1, 1.0f);
func_8029E070(1); func_8029E070(1);
func_80294378(3); func_80294378(3);
baModel_setYDisplacement(60.0f); baModel_setYDisplacement(60.0f);
@@ -105,7 +105,7 @@ void func_802A75B0(void) {
roll_setIdeal(0.0f); roll_setIdeal(0.0f);
baphysics_reset_terminal_velocity(); baphysics_reset_terminal_velocity();
baphysics_reset_gravity(); baphysics_reset_gravity();
func_8029B0C0(); bastick_resetZones();
func_8029E070(0); func_8029E070(0);
func_80294378(1); func_80294378(1);
baModel_setYDisplacement(0.0f); baModel_setYDisplacement(0.0f);
@@ -129,10 +129,10 @@ void func_802A7674() {
if (should_look_first_person_camera()) { if (should_look_first_person_camera()) {
state_id = badrone_look(); state_id = badrone_look();
} }
if (button_held(BUTTON_A)) { if (bakey_held(BUTTON_A)) {
state_id = BS_39_DIVE_A; state_id = BS_39_DIVE_A;
} }
if (button_held(BUTTON_B)) { if (bakey_held(BUTTON_B)) {
state_id = BS_2C_DIVE_B; state_id = BS_2C_DIVE_B;
} }
if (func_802A73BC()) { if (func_802A73BC()) {
@@ -202,8 +202,8 @@ void func_802A7838(void) {
if (anctrl_isAt(anim_ctrl, 0.2766f)) { if (anctrl_isAt(anim_ctrl, 0.2766f)) {
anctrl_setDuration(anim_ctrl, 3.0f); anctrl_setDuration(anim_ctrl, 3.0f);
} }
if (!button_held(BUTTON_B)) { if (!bakey_held(BUTTON_B)) {
if (button_held(BUTTON_A)) { if (bakey_held(BUTTON_A)) {
temp_f2 = (f64) anctrl_getAnimTimer(anim_ctrl); temp_f2 = (f64) anctrl_getAnimTimer(anim_ctrl);
if (temp_f2 <= 0.4625 && 0.1 < temp_f2) { if (temp_f2 <= 0.4625 && 0.1 < temp_f2) {
next_state = BS_39_DIVE_A; next_state = BS_39_DIVE_A;
@@ -212,8 +212,8 @@ void func_802A7838(void) {
next_state = BS_2B_DIVE_IDLE; next_state = BS_2B_DIVE_IDLE;
} }
} }
if (anctrl_isAt(anim_ctrl, 0.4625f) && !button_held(BUTTON_B)) { if (anctrl_isAt(anim_ctrl, 0.4625f) && !bakey_held(BUTTON_B)) {
if (button_held(BUTTON_A)) { if (bakey_held(BUTTON_A)) {
next_state = BS_39_DIVE_A; next_state = BS_39_DIVE_A;
} else { } else {
next_state = BS_2B_DIVE_IDLE; next_state = BS_2B_DIVE_IDLE;
@@ -258,10 +258,10 @@ void func_802A7AB0(void) {
func_8030E760(SFX_0_BLOOP, 1.7f, 10000); func_8030E760(SFX_0_BLOOP, 1.7f, 10000);
} }
if (anctrl_isAt(anim_ctl, 0.99f)) { if (anctrl_isAt(anim_ctl, 0.99f)) {
if (!button_held(BUTTON_A)) { if (!bakey_held(BUTTON_A)) {
next_state = BS_2B_DIVE_IDLE; next_state = BS_2B_DIVE_IDLE;
} }
if (button_held(BUTTON_B)) { if (bakey_held(BUTTON_B)) {
next_state = BS_2C_DIVE_B; next_state = BS_2C_DIVE_B;
} }
} }

View File

@@ -41,7 +41,7 @@ void func_802A880C(s32 arg0){
} }
void func_802A8850(void){ void func_802A8850(void){
if( button_pressed(BUTTON_B) if( bakey_pressed(BUTTON_B)
&& stateTimer_isActive(STATE_TIMER_3_TURBO_TALON) && stateTimer_isActive(STATE_TIMER_3_TURBO_TALON)
&& baphysics_get_target_horizontal_velocity() == 0.0f && baphysics_get_target_horizontal_velocity() == 0.0f
){ ){
@@ -89,8 +89,8 @@ f32 func_802A8984(void){
} }
void func_802A89D4(void){ void func_802A89D4(void){
f32 sp24 = func_8029B30C(); f32 sp24 = bastick_getZonePosition();
if(!func_8029B300()){ if(!bastick_getZone()){
baphysics_set_target_horizontal_velocity(0.0f); baphysics_set_target_horizontal_velocity(0.0f);
} }
else{ else{
@@ -100,8 +100,8 @@ void func_802A89D4(void){
} }
void func_802A8A40(void){ void func_802A8A40(void){
func_8029B324(0, 0.03f); bastick_setZoneMax(0, 0.03f);
func_8029B324(1, 1.0f); bastick_setZoneMax(1, 1.0f);
func_8029E070(1); func_8029E070(1);
func_8029E064(1); func_8029E064(1);
pitch_setAngVel(1000.0f, 12.0f); pitch_setAngVel(1000.0f, 12.0f);
@@ -138,7 +138,7 @@ void func_802A8BB0(void){
return; return;
baModel_setDirection(PLAYER_MODEL_DIR_BANJO); baModel_setDirection(PLAYER_MODEL_DIR_BANJO);
func_8029B0C0(); bastick_resetZones();
func_8029E070(0); func_8029E070(0);
func_8029E064(0); func_8029E064(0);
pitch_setIdeal(0.0f); pitch_setIdeal(0.0f);
@@ -157,7 +157,7 @@ int func_802A8C60(void){
if(stateTimer_isActive(STATE_TIMER_3_TURBO_TALON)) if(stateTimer_isActive(STATE_TIMER_3_TURBO_TALON))
return 0; return 0;
return button_released(BUTTON_Z); return bakey_released(BUTTON_Z);
} }
void _bsbtrot_802A8C98(AnimCtrl *aCtrl, enum asset_e arg1){ void _bsbtrot_802A8C98(AnimCtrl *aCtrl, enum asset_e arg1){
@@ -187,7 +187,7 @@ enum bs_e func_802A8D34(enum bs_e arg0){
} }
enum bs_e func_802A8D84(enum bs_e arg0){ enum bs_e func_802A8D84(enum bs_e arg0){
if( func_8029B300(arg0) > 0) if( bastick_getZone(arg0) > 0)
arg0 = BS_16_BTROT_WALK; arg0 = BS_16_BTROT_WALK;
if(should_look_first_person_camera()) if(should_look_first_person_camera())
@@ -199,7 +199,7 @@ enum bs_e func_802A8D84(enum bs_e arg0){
if(func_802A8C60()) if(func_802A8C60())
arg0 = BS_17_BTROT_EXIT; arg0 = BS_17_BTROT_EXIT;
if(button_pressed(BUTTON_A)) if(bakey_pressed(BUTTON_A))
arg0 = func_802A8D34(arg0); arg0 = func_802A8D34(arg0);
if(player_shouldSlideTrot()) if(player_shouldSlideTrot())
@@ -313,7 +313,7 @@ void bsbtrot_walk_update(void){
if(anctrl_isAt(aCtrl, 0.2115f) || anctrl_isAt(aCtrl, 0.7115f)) if(anctrl_isAt(aCtrl, 0.2115f) || anctrl_isAt(aCtrl, 0.7115f))
func_802A87C0(); func_802A87C0();
} }
if(!func_8029B300() && baphysics_is_slower_than(1.0f)) if(!bastick_getZone() && baphysics_is_slower_than(1.0f))
sp1C = BS_15_BTROT_IDLE; sp1C = BS_15_BTROT_IDLE;
if(func_8028B094()) if(func_8028B094())
@@ -322,7 +322,7 @@ void bsbtrot_walk_update(void){
if(func_802A8C60()) if(func_802A8C60())
sp1C = BS_17_BTROT_EXIT; sp1C = BS_17_BTROT_EXIT;
if(button_pressed(BUTTON_A)) if(bakey_pressed(BUTTON_A))
sp1C = func_802A8D34(sp1C); sp1C = func_802A8D34(sp1C);
if(player_shouldSlideTrot()) if(player_shouldSlideTrot())
@@ -357,8 +357,8 @@ void bsbtrot_jump_init(void){
yaw_setUpdateState(1); yaw_setUpdateState(1);
func_8029957C(3); func_8029957C(3);
baphysics_set_type(BA_PHYSICS_AIRBORN); baphysics_set_type(BA_PHYSICS_AIRBORN);
if(func_8029B2E8() != 0.0f) if(bastick_distance() != 0.0f)
yaw_setIdeal(func_8029B33C()); yaw_setIdeal(bastick_getAngleRelativeToBanjo());
baphysics_set_target_yaw(yaw_getIdeal()); baphysics_set_target_yaw(yaw_getIdeal());
func_802A89D4(); func_802A89D4();
@@ -383,7 +383,7 @@ void bsbtrot_jump_update(void){
func_802A89D4(); func_802A89D4();
baphysics_get_velocity(sp1C); baphysics_get_velocity(sp1C);
if(button_released(BUTTON_A) && 0.0f < sp1C[1]) if(bakey_released(BUTTON_A) && 0.0f < sp1C[1])
baphysics_reset_gravity(); baphysics_reset_gravity();
switch(D_8037D3A4){ switch(D_8037D3A4){
@@ -464,7 +464,7 @@ void bsbtrot_jump_update(void){
sp2C = BS_4C_LANDING_IN_WATER; sp2C = BS_4C_LANDING_IN_WATER;
if(player_isStable()){ if(player_isStable()){
if(button_pressed(BUTTON_A)) if(bakey_pressed(BUTTON_A))
sp2C = func_802A8D34(sp2C); sp2C = func_802A8D34(sp2C);
if(player_shouldSlideTrot()) if(player_shouldSlideTrot())
@@ -540,7 +540,7 @@ void bsbtrot_slide_update(void){
if(player_inWater()) if(player_inWater())
sp3C = BS_2D_SWIM_IDLE; sp3C = BS_2D_SWIM_IDLE;
if(D_8037D3A0 == 0.0f && button_pressed(BUTTON_A) && player_isStable()) if(D_8037D3A0 == 0.0f && bakey_pressed(BUTTON_A) && player_isStable())
sp3C = func_802A8D34(sp3C); sp3C = func_802A8D34(sp3C);
@@ -664,7 +664,7 @@ void bsbtrot_fall_update(void){
sp2C = BS_3D_FALL_TUMBLING; sp2C = BS_3D_FALL_TUMBLING;
if(player_isStable()){ if(player_isStable()){
if(button_pressed(BUTTON_A)) if(bakey_pressed(BUTTON_A))
sp2C = func_802A8D34(sp2C); sp2C = func_802A8D34(sp2C);
if(player_shouldSlideTrot()) if(player_shouldSlideTrot())

View File

@@ -18,8 +18,8 @@ u8 D_8037D3B4;
/* .code */ /* .code */
void func_802AA400(void){ void func_802AA400(void){
f32 sp1C = func_8029B30C(); f32 sp1C = bastick_getZonePosition();
if(!func_8029B300()){ if(!bastick_getZone()){
baphysics_set_target_horizontal_velocity(0.0f); baphysics_set_target_horizontal_velocity(0.0f);
}else{ }else{
baphysics_set_target_horizontal_velocity(ml_interpolate_f(sp1C, D_80364AD0, D_80364AD4)); baphysics_set_target_horizontal_velocity(ml_interpolate_f(sp1C, D_80364AD0, D_80364AD4));
@@ -36,7 +36,7 @@ static void __bsbwhirl_end(void){
|| state == BS_A5_WONDERWING_UNKA5 || state == BS_A5_WONDERWING_UNKA5
) )
){ ){
func_8029B0C0(); bastick_resetZones();
func_8029E070(0); func_8029E070(0);
func_8025A55C(-1, 0xfa0, 0xd); func_8025A55C(-1, 0xfa0, 0xd);
core1_ce60_incOrDecCounter(TRUE); core1_ce60_incOrDecCounter(TRUE);
@@ -50,13 +50,13 @@ static void __bsbwhirl_spawnSparkle(void){
} }
enum bs_e func_802AA510(enum bs_e arg0){ enum bs_e func_802AA510(enum bs_e arg0){
if(func_8029B300(arg0) > 0) if(bastick_getZone(arg0) > 0)
arg0 = BS_1C_WONDERWING_WALK; arg0 = BS_1C_WONDERWING_WALK;
if(button_released(BUTTON_Z)) if(bakey_released(BUTTON_Z))
arg0 = BS_1E_WONDERWING_EXIT; arg0 = BS_1E_WONDERWING_EXIT;
if(button_pressed(BUTTON_A) && player_isStable()) if(bakey_pressed(BUTTON_A) && player_isStable())
arg0 = BS_1D_WONDERWING_JUMP; arg0 = BS_1D_WONDERWING_JUMP;
if(player_inWater()) if(player_inWater())
@@ -82,8 +82,8 @@ void bsbwhirl_enter_init(void){
baanim_playForDuration_onceSmooth(ASSET_22_ANIM_BSWHIRL_EXIT, 0.5f); baanim_playForDuration_onceSmooth(ASSET_22_ANIM_BSWHIRL_EXIT, 0.5f);
func_8029C7F4(1,1,1, BA_PHYSICS_NORMAL); func_8029C7F4(1,1,1, BA_PHYSICS_NORMAL);
baphysics_set_target_horizontal_velocity(0.0f); baphysics_set_target_horizontal_velocity(0.0f);
func_8029B324(0, 0.03f); bastick_setZoneMax(0, 0.03f);
func_8029B324(1, 1.0f); bastick_setZoneMax(1, 1.0f);
func_8029E070(1); func_8029E070(1);
D_8037D3B0 = 0.0f; D_8037D3B0 = 0.0f;
core1_ce60_incOrDecCounter(FALSE); core1_ce60_incOrDecCounter(FALSE);
@@ -145,13 +145,13 @@ void bsbwhirl_walk_update(void){
func_8029AD28(0.97f, 3); func_8029AD28(0.97f, 3);
func_802AA400(); func_802AA400();
if(!func_8029B300() && baphysics_is_slower_than(1.0f)) if(!bastick_getZone() && baphysics_is_slower_than(1.0f))
sp1C = BS_1B_WONDERWING_IDLE; sp1C = BS_1B_WONDERWING_IDLE;
if(button_released(BUTTON_Z)) if(bakey_released(BUTTON_Z))
sp1C = BS_1E_WONDERWING_EXIT; sp1C = BS_1E_WONDERWING_EXIT;
if(button_pressed(BUTTON_A) && player_isStable()) if(bakey_pressed(BUTTON_A) && player_isStable())
sp1C = BS_1D_WONDERWING_JUMP; sp1C = BS_1D_WONDERWING_JUMP;
if(player_inWater()) if(player_inWater())
@@ -181,8 +181,8 @@ void bsbwhirl_jump_init(void){
anctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE); anctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE);
anctrl_start(aCtrl, "bsbwhirl.c", 0x181); anctrl_start(aCtrl, "bsbwhirl.c", 0x181);
func_8029C7F4(1,1,3,BA_PHYSICS_AIRBORN); func_8029C7F4(1,1,3,BA_PHYSICS_AIRBORN);
if(func_8029B2E8() != 0.0f) if(bastick_distance() != 0.0f)
yaw_setIdeal(func_8029B33C()); yaw_setIdeal(bastick_getAngleRelativeToBanjo());
baphysics_set_target_yaw(yaw_getIdeal()); baphysics_set_target_yaw(yaw_getIdeal());
func_802AA400(); func_802AA400();
@@ -201,7 +201,7 @@ void bsbwhirl_jump_update(void){
__bsbwhirl_spawnSparkle(); __bsbwhirl_spawnSparkle();
func_802AA400(); func_802AA400();
baphysics_get_velocity(sp1C); baphysics_get_velocity(sp1C);
if(button_released(BUTTON_A) && 0.0f < sp1C[1]) if(bakey_released(BUTTON_A) && 0.0f < sp1C[1])
baphysics_reset_gravity(); baphysics_reset_gravity();
switch(D_8037D3B4){ switch(D_8037D3B4){

View File

@@ -16,7 +16,7 @@ void func_802A02C0(void){
if(bsbee_inSet(bs_getNextState()) == 0){ if(bsbee_inSet(bs_getNextState()) == 0){
pitch_setIdeal(0.0f); //pitch_setIdeal pitch_setIdeal(0.0f); //pitch_setIdeal
roll_setIdeal(0.0f); roll_setIdeal(0.0f);
func_8029B0C0(); bastick_resetZones();
func_8029E070(0); func_8029E070(0);
func_8029E064(0); func_8029E064(0);
miscFlag_clear(MISC_FLAG_3); miscFlag_clear(MISC_FLAG_3);

View File

@@ -7,16 +7,16 @@
void func_80354030(f32*, f32); void func_80354030(f32*, f32);
f32 func_8029B2E8(void); f32 bastick_distance(void);
f32 func_8029B33C(void); f32 bastick_getAngleRelativeToBanjo(void);
void baModel_setYDisplacement(f32); void baModel_setYDisplacement(f32);
void ncDynamicCam4_func_802BFE50(f32, f32, f32); void ncDynamicCam4_func_802BFE50(f32, f32, f32);
void yaw_setVelocityBounded(f32, f32); void yaw_setVelocityBounded(f32, f32);
f32 func_8029B2D0(void); f32 bastick_getX(void);
f32 func_8029B2DC(void); f32 bastick_getY(void);
void func_80290B40(f32); void babuzz_setVolume(f32);
void func_80290A6C(void); void babuzz_update(void);
/* .data */ /* .data */
f32 D_803649B0[5] = {0.38f, 0.3f, 0.24f, 0.18f, 0.14}; f32 D_803649B0[5] = {0.38f, 0.3f, 0.24f, 0.18f, 0.14};
@@ -44,8 +44,8 @@ void func_802A0590(void){
func_802A0340(); func_802A0340();
baanim_playForDuration_onceSmooth(0x1df, 1.5f); baanim_playForDuration_onceSmooth(0x1df, 1.5f);
func_8029C7F4(1,1,3, BA_PHYSICS_AIRBORN); func_8029C7F4(1,1,3, BA_PHYSICS_AIRBORN);
if(func_8029B2E8() != 0.0f){ if(bastick_distance() != 0.0f){
yaw_setIdeal(func_8029B33C()); yaw_setIdeal(bastick_getAngleRelativeToBanjo());
} }
baphysics_set_target_yaw(yaw_getIdeal()); baphysics_set_target_yaw(yaw_getIdeal());
baphysics_set_target_horizontal_velocity(0.0f); baphysics_set_target_horizontal_velocity(0.0f);
@@ -99,7 +99,7 @@ void _bsbeefly_end(void){
baphysics_reset_gravity(); baphysics_reset_gravity();
baphysics_reset_terminal_velocity(); baphysics_reset_terminal_velocity();
baflap_activate(0); baflap_activate(0);
func_8029099C(); babuzz_release();
} }
void func_802A07F8(void){ void func_802A07F8(void){
@@ -113,16 +113,16 @@ void func_802A07F8(void){
baphysics_set_terminal_velocity(-99.9f); baphysics_set_terminal_velocity(-99.9f);
baflap_reset(); baflap_reset();
baflap_activate(1); baflap_activate(1);
func_802909C4(); babuzz_reset();
} }
void _bsBeeFly_updateYaw(void){ void _bsBeeFly_updateYaw(void){
f32 sp34; f32 sp34;
f32 sp30; f32 sp30;
f32 stickX; f32 stickX;
stickX = func_8029B2D0(); stickX = bastick_getX();
ncDynamicCam4_func_802BFE50(2.0f, 2000.0f, 350.0f); ncDynamicCam4_func_802BFE50(2.0f, 2000.0f, 350.0f);
if(button_held(BUTTON_R)){ if(bakey_held(BUTTON_R)){
yaw_setVelocityBounded(500.0f, 30.0f); yaw_setVelocityBounded(500.0f, 30.0f);
sp34 = 6.0f; sp34 = 6.0f;
sp30 = 85.0f; sp30 = 85.0f;
@@ -137,7 +137,7 @@ void _bsBeeFly_updateYaw(void){
} }
void _bsBeeFly_updatePitch(void){ void _bsBeeFly_updatePitch(void){
f32 stickY = func_8029B2DC(); f32 stickY = bastick_getY();
if(stickY < 0.0f){ if(stickY < 0.0f){
pitch_setIdeal(ml_map_f(stickY, -1.0f, 0.0f, 300.0f, 360.0f)); pitch_setIdeal(ml_map_f(stickY, -1.0f, 0.0f, 300.0f, 360.0f));
} else { } else {
@@ -185,7 +185,7 @@ void bsbeefly_update(void){
_bsBeeFly_updateYaw(); _bsBeeFly_updateYaw();
_bsBeeFly_updatePitch(); _bsBeeFly_updatePitch();
pitch_get(); //return value never used pitch_get(); //return value never used
if(button_pressed(BUTTON_A) && (player_getYPosition() < 7500.0)){ if(bakey_pressed(BUTTON_A) && (player_getYPosition() < 7500.0)){
baflap_add(1.0f); baflap_add(1.0f);
} }
if((baflap_getCount() == 0) && player_inWater()){ if((baflap_getCount() == 0) && player_inWater()){
@@ -207,11 +207,11 @@ void bsbeefly_update(void){
} }
} }
sp40 += sp30; sp40 += sp30;
if(!sp44 && button_held(BUTTON_B)){ if(!sp44 && bakey_held(BUTTON_B)){
sp40 += 0.12; sp40 += 0.12;
} }
func_80290B40(sp40); babuzz_setVolume(sp40);
func_80290A6C(); babuzz_update();
switch(D_8037D2C0){ switch(D_8037D2C0){
default: default:
break; break;
@@ -249,7 +249,7 @@ void bsbeefly_update(void){
} }
} }
baphysics_set_target_yaw(yaw_get()); baphysics_set_target_yaw(yaw_get());
if(button_held(9)){ if(bakey_held(9)){
sp38 += (f64)sp38; sp38 += (f64)sp38;
} }
baphysics_set_target_horizontal_velocity(sp38); baphysics_set_target_horizontal_velocity(sp38);

View File

@@ -12,9 +12,9 @@ void ncDynamicCamD_func_802BF2C0(f32);
f32 baanim_getTimer(void); f32 baanim_getTimer(void);
void baanim_setEndAndDuration(f32, f32); void baanim_setEndAndDuration(f32, f32);
f32 func_8029B2E8(void); f32 bastick_distance(void);
f32 func_8029B33C(void); f32 bastick_getAngleRelativeToBanjo(void);
f32 func_8029B30C(); f32 bastick_getZonePosition();
/* .data */ /* .data */
f32 D_803649E0 = 30.0f; f32 D_803649E0 = 30.0f;
@@ -47,8 +47,8 @@ void func_802A0FB4(void){
void func_802A1020(void){ void func_802A1020(void){
f32 sp1c; f32 sp1c;
sp1c = func_8029B30C(); sp1c = bastick_getZonePosition();
if(func_8029B300() == 0){ if(bastick_getZone() == 0){
baphysics_set_target_horizontal_velocity(0.0f); baphysics_set_target_horizontal_velocity(0.0f);
} }
else{ else{
@@ -75,10 +75,10 @@ void func_802A10D4(void){
if(should_look_first_person_camera()) if(should_look_first_person_camera())
s0 = badrone_look(); s0 = badrone_look();
if(func_8029B300() > 0) if(bastick_getZone() > 0)
s0 = BS_BEE_WALK; s0 = BS_BEE_WALK;
if(button_pressed(BUTTON_A)) if(bakey_pressed(BUTTON_A))
s0 = BS_BEE_JUMP; s0 = BS_BEE_JUMP;
if(player_inWater()) if(player_inWater())
@@ -108,13 +108,13 @@ void func_802A1214(void){
func_802A1020(); func_802A1020();
func_8029AD28(0.94f, 4); func_8029AD28(0.94f, 4);
func_8029AD28(0.44f, 3); func_8029AD28(0.44f, 3);
if(func_8029B300() == 0 && baphysics_is_slower_than(1.0f)) if(bastick_getZone() == 0 && baphysics_is_slower_than(1.0f))
s0 = BS_85_BEE_IDLE; s0 = BS_85_BEE_IDLE;
if(func_8028B094()) if(func_8028B094())
s0 = BS_88_BEE_FALL; s0 = BS_88_BEE_FALL;
if(button_pressed(BUTTON_A)) if(bakey_pressed(BUTTON_A))
s0 = BS_BEE_JUMP; s0 = BS_BEE_JUMP;
if(player_inWater()) if(player_inWater())
@@ -142,8 +142,8 @@ void func_802A12FC(void){
anctrl_setPlaybackType(s0, ANIMCTRL_ONCE); anctrl_setPlaybackType(s0, ANIMCTRL_ONCE);
anctrl_start(s0, "bsbeemain.c", 0x15b); anctrl_start(s0, "bsbeemain.c", 0x15b);
func_8029C7F4(1,1,3, BA_PHYSICS_AIRBORN); func_8029C7F4(1,1,3, BA_PHYSICS_AIRBORN);
if(func_8029B2E8() != 0.0f){ if(bastick_distance() != 0.0f){
yaw_setIdeal(func_8029B33C()); yaw_setIdeal(bastick_getAngleRelativeToBanjo());
} }
baphysics_set_target_yaw(yaw_getIdeal()); baphysics_set_target_yaw(yaw_getIdeal());
func_802A1020(); func_802A1020();
@@ -163,7 +163,7 @@ void func_802A1438(void){
sp28 = baanim_getAnimCtrlPtr(); sp28 = baanim_getAnimCtrlPtr();
func_802A1020(); func_802A1020();
baphysics_get_velocity(sp1c); baphysics_get_velocity(sp1c);
if(button_released(BUTTON_A) && (0.0f < sp1c[1])){ if(bakey_released(BUTTON_A) && (0.0f < sp1c[1])){
baphysics_reset_gravity(); baphysics_reset_gravity();
} }
switch (D_8037D2D4) switch (D_8037D2D4)
@@ -202,14 +202,14 @@ void func_802A1438(void){
break; break;
} }
if(player_isStable()){ if(player_isStable()){
if(func_8029B300() > 0) if(bastick_getZone() > 0)
sp2c = BS_BEE_WALK; sp2c = BS_BEE_WALK;
if(button_pressed(BUTTON_A)){ if(bakey_pressed(BUTTON_A)){
sp2c = BS_BEE_JUMP; sp2c = BS_BEE_JUMP;
} }
} }
else{ else{
if(button_pressed(BUTTON_A)){ if(bakey_pressed(BUTTON_A)){
sp2c = BS_BEE_FLY; sp2c = BS_BEE_FLY;
} }
} }
@@ -277,15 +277,15 @@ void func_802A170C(void){
if(miscFlag_isTrue(MISC_FLAG_19)){ if(miscFlag_isTrue(MISC_FLAG_19)){
sp2c = badrone_transform(); sp2c = badrone_transform();
}else{ }else{
if(func_8029B300() > 0) if(bastick_getZone() > 0)
sp2c = BS_BEE_WALK; sp2c = BS_BEE_WALK;
if(button_pressed(BUTTON_A)) if(bakey_pressed(BUTTON_A))
sp2c = BS_BEE_JUMP; sp2c = BS_BEE_JUMP;
sp2c = func_8029CA94(sp2c); sp2c = func_8029CA94(sp2c);
} }
} }
else{ else{
if(miscFlag_isFalse(MISC_FLAG_F) && button_pressed(BUTTON_A)) if(miscFlag_isFalse(MISC_FLAG_F) && bakey_pressed(BUTTON_A))
sp2c = BS_BEE_FLY; sp2c = BS_BEE_FLY;
}//L802A189C }//L802A189C
if(player_inWater()) if(player_inWater())

View File

@@ -13,8 +13,8 @@ const f32 D_80364AF8 = 0.84f;
const f32 D_80364AFC = 0.4f; const f32 D_80364AFC = 0.4f;
void func_802AAE80(void){ void func_802AAE80(void){
f32 sp1C = func_8029B30C(); f32 sp1C = bastick_getZonePosition();
if(func_8029B300() == 0) if(bastick_getZone() == 0)
baphysics_set_target_horizontal_velocity(0.0f); baphysics_set_target_horizontal_velocity(0.0f);
else else
baphysics_set_target_horizontal_velocity(ml_interpolate_f(sp1C, D_80364AF0, D_80364AF4)); baphysics_set_target_horizontal_velocity(ml_interpolate_f(sp1C, D_80364AF0, D_80364AF4));
@@ -24,7 +24,7 @@ void func_802AAEE0(void){
enum bs_e state = bs_getNextState(); enum bs_e state = bs_getNextState();
if(state != BS_3A_CARRY_IDLE && state != BS_3B_CARRY_WALK) if(state != BS_3A_CARRY_IDLE && state != BS_3B_CARRY_WALK)
func_8029B0C0(); bastick_resetZones();
baanim_setUpdateType(BAANIM_UPDATE_1_NORMAL); baanim_setUpdateType(BAANIM_UPDATE_1_NORMAL);
} }
@@ -44,7 +44,7 @@ void bscarry_idle_init(void){
void bscarry_idle_update(void){ void bscarry_idle_update(void){
enum bs_e sp1C = 0; enum bs_e sp1C = 0;
if(func_8029B300() > 0) if(bastick_getZone() > 0)
sp1C = BS_3B_CARRY_WALK; sp1C = BS_3B_CARRY_WALK;
if(bacarry_get_marker() == NULL) if(bacarry_get_marker() == NULL)
@@ -73,7 +73,7 @@ void bscarry_walk_update(void){
func_8029AD28(0.4f, 4); func_8029AD28(0.4f, 4);
func_8029AD28(0.9f, 3); func_8029AD28(0.9f, 3);
func_802AAE80(); func_802AAE80();
if(func_8029B300() == 0 && baphysics_is_slower_than(1.0f)) if(bastick_getZone() == 0 && baphysics_is_slower_than(1.0f))
sp1C = BS_3A_CARRY_IDLE; sp1C = BS_3A_CARRY_IDLE;
if(bacarry_get_marker() == NULL) if(bacarry_get_marker() == NULL)

View File

@@ -60,7 +60,7 @@ void bsclaw_update(void){
if(player_inWater()) if(player_inWater())
sp2C = BS_4C_LANDING_IN_WATER; sp2C = BS_4C_LANDING_IN_WATER;
if(button_pressed(BUTTON_A)) if(bakey_pressed(BUTTON_A))
sp2C = bs_getTypeOfJump(); sp2C = bs_getTypeOfJump();
bs_setState(sp2C); bs_setState(sp2C);

View File

@@ -15,7 +15,7 @@ void func_802AB5C0(void){
f32 sp28; f32 sp28;
f32 f2; f32 f2;
sp28 = func_8029B2DC(); sp28 = bastick_getY();
if(mlAbsF(sp28) < 0.03){ if(mlAbsF(sp28) < 0.03){
f2 = 0.0f; f2 = 0.0f;
} }
@@ -32,8 +32,8 @@ void func_802AB654(void){
func_8029957C(6); func_8029957C(6);
yaw_setUpdateState(3); yaw_setUpdateState(3);
yaw_setVelocityBounded(500.0f, 15.0f); yaw_setVelocityBounded(500.0f, 15.0f);
func_8029B324(0, 0.03f); bastick_setZoneMax(0, 0.03f);
func_8029B324(1, 1.0f); bastick_setZoneMax(1, 1.0f);
baphysics_set_type(BA_PHYSICS_CLIMB); baphysics_set_type(BA_PHYSICS_CLIMB);
baphysics_set_acceleration(10.0f); baphysics_set_acceleration(10.0f);
func_80294378(5); func_80294378(5);
@@ -44,7 +44,7 @@ void func_802AB654(void){
void func_802AB6F0(void){ void func_802AB6F0(void){
if(!bsclimb_inSet(bs_getNextState())){ if(!bsclimb_inSet(bs_getNextState())){
func_80291548(); func_80291548();
func_8029B0C0(); bastick_resetZones();
baanim_setUpdateType(BAANIM_UPDATE_1_NORMAL); baanim_setUpdateType(BAANIM_UPDATE_1_NORMAL);
baphysics_set_type(BA_PHYSICS_NORMAL); baphysics_set_type(BA_PHYSICS_NORMAL);
func_80294378(1); func_80294378(1);
@@ -113,7 +113,7 @@ void bsclimb_idle_update(void){
next_state = BS_50_CLIMB_MOVE; next_state = BS_50_CLIMB_MOVE;
if(button_pressed(BUTTON_A)) if(bakey_pressed(BUTTON_A))
next_state = BS_5_JUMP; next_state = BS_5_JUMP;
if(D_8037D3D8 == 0) if(D_8037D3D8 == 0)
@@ -175,7 +175,7 @@ void bsclimb_move_update(void){
next_state = BS_51_CLIMB_EXIT; next_state = BS_51_CLIMB_EXIT;
} }
if(button_pressed(BUTTON_A)) if(bakey_pressed(BUTTON_A))
next_state = BS_5_JUMP; next_state = BS_5_JUMP;
if(!D_8037D3D8) if(!D_8037D3D8)

View File

@@ -68,8 +68,8 @@ void func_802ABE70(void){
} }
void func_802ABF54(void){ void func_802ABF54(void){
f32 sp1C = func_8029B30C(); f32 sp1C = bastick_getZonePosition();
if(func_8029B300() == 0){ if(bastick_getZone() == 0){
baphysics_set_target_horizontal_velocity(0.0f); baphysics_set_target_horizontal_velocity(0.0f);
} }
else{ else{
@@ -79,7 +79,7 @@ void func_802ABF54(void){
void func_802ABFBC(void){ void func_802ABFBC(void){
if(!bscroc_inSet(bs_getNextState())){ if(!bscroc_inSet(bs_getNextState())){
func_8029B0C0(); bastick_resetZones();
func_8029E070(0); func_8029E070(0);
func_8029E064(0); func_8029E064(0);
miscFlag_clear(MISC_FLAG_3); miscFlag_clear(MISC_FLAG_3);
@@ -125,13 +125,13 @@ void bscroc_idle_update(void){
if(should_look_first_person_camera()) if(should_look_first_person_camera())
next_state = badrone_look(); next_state = badrone_look();
if(func_8029B300() > 0) if(bastick_getZone() > 0)
next_state = BS_CROC_WALK; next_state = BS_CROC_WALK;
if(button_pressed(BUTTON_B)) if(bakey_pressed(BUTTON_B))
next_state = BS_6E_CROC_BITE; next_state = BS_6E_CROC_BITE;
if(button_pressed(BUTTON_A)) if(bakey_pressed(BUTTON_A))
next_state = BS_CROC_JUMP; next_state = BS_CROC_JUMP;
next_state = func_8029CA94(next_state); next_state = func_8029CA94(next_state);
@@ -160,16 +160,16 @@ void bscroc_walk_update(void){
func_8029AD28(0.1f, 4); func_8029AD28(0.1f, 4);
func_8029AD28(0.6f, 3); func_8029AD28(0.6f, 3);
if(func_8029B300() == 0 && baphysics_is_slower_than(1.0f)) if(bastick_getZone() == 0 && baphysics_is_slower_than(1.0f))
next_state = BS_5E_CROC_IDLE; next_state = BS_5E_CROC_IDLE;
if(func_8028B094()) if(func_8028B094())
next_state = BS_61_CROC_FALL; next_state = BS_61_CROC_FALL;
if(button_pressed(BUTTON_B)) if(bakey_pressed(BUTTON_B))
next_state = BS_6E_CROC_BITE; next_state = BS_6E_CROC_BITE;
if(button_pressed(BUTTON_A)) if(bakey_pressed(BUTTON_A))
next_state = BS_CROC_JUMP; next_state = BS_CROC_JUMP;
bs_setState(next_state); bs_setState(next_state);
@@ -192,8 +192,8 @@ void bscroc_jump_init(void){
anctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE); anctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE);
anctrl_start(aCtrl, "bscroc.c", 0x1ac); anctrl_start(aCtrl, "bscroc.c", 0x1ac);
func_8029C7F4(1,1,3, BA_PHYSICS_AIRBORN); func_8029C7F4(1,1,3, BA_PHYSICS_AIRBORN);
if(func_8029B2E8() != 0.0f){ if(bastick_distance() != 0.0f){
yaw_setIdeal(func_8029B33C()); yaw_setIdeal(bastick_getAngleRelativeToBanjo());
} }
baphysics_set_target_yaw(yaw_getIdeal()); baphysics_set_target_yaw(yaw_getIdeal());
func_802ABF54(); func_802ABF54();
@@ -212,7 +212,7 @@ void bscroc_jump_update(void){
func_802ABE70(); func_802ABE70();
func_802ABF54(); func_802ABF54();
baphysics_get_velocity(player_velocity); baphysics_get_velocity(player_velocity);
if(button_released(BUTTON_A) && 0.0f < player_velocity[1]) if(bakey_released(BUTTON_A) && 0.0f < player_velocity[1])
baphysics_reset_gravity(); baphysics_reset_gravity();
switch(D_8037D3EC){ switch(D_8037D3EC){
@@ -252,14 +252,14 @@ void bscroc_jump_update(void){
}//L802AC66C }//L802AC66C
if(player_isStable()){ if(player_isStable()){
if(func_8029B300() > 0) if(bastick_getZone() > 0)
sp2C = BS_CROC_WALK; sp2C = BS_CROC_WALK;
if(button_pressed(BUTTON_A)) if(bakey_pressed(BUTTON_A))
sp2C = BS_CROC_JUMP; sp2C = BS_CROC_JUMP;
} }
if(button_pressed(BUTTON_B)) if(bakey_pressed(BUTTON_B))
sp2C = BS_6E_CROC_BITE; sp2C = BS_6E_CROC_BITE;
bs_setState(sp2C); bs_setState(sp2C);
@@ -312,7 +312,7 @@ void bscroc_fall_update(void){
}//L802AC850 }//L802AC850
if(player_isStable()){ if(player_isStable()){
if(func_8029B300() > 0 || (D_8037D3EC == 2 && anctrl_isStopped(aCtrl))){ if(bastick_getZone() > 0 || (D_8037D3EC == 2 && anctrl_isStopped(aCtrl))){
if(miscFlag_isTrue(MISC_FLAG_19)){ if(miscFlag_isTrue(MISC_FLAG_19)){
next_state = badrone_transform(); next_state = badrone_transform();
}else{ }else{
@@ -550,7 +550,7 @@ void bscroc_bite_update(void){
next_state = BS_CROC_WALK; next_state = BS_CROC_WALK;
} }
if(player_isStable() && button_pressed(BUTTON_A)) if(player_isStable() && bakey_pressed(BUTTON_A))
next_state = BS_CROC_JUMP; next_state = BS_CROC_JUMP;
bs_setState(next_state); bs_setState(next_state);

View File

@@ -177,13 +177,13 @@ void bscrouch_update(void){
void bscrouch_end(void){} void bscrouch_end(void){}
enum bs_e func_802ADCD4(enum bs_e arg0){ enum bs_e func_802ADCD4(enum bs_e arg0){
if(button_released(BUTTON_Z)){ if(bakey_released(BUTTON_Z)){
arg0 = BS_1_IDLE; arg0 = BS_1_IDLE;
if(button_pressed(BUTTON_B) && can_claw()) if(bakey_pressed(BUTTON_B) && can_claw())
arg0 = BS_CLAW; arg0 = BS_CLAW;
if(button_pressed(BUTTON_A)) if(bakey_pressed(BUTTON_A))
arg0 = bs_getTypeOfJump(); arg0 = bs_getTypeOfJump();
}else{ }else{

View File

@@ -3,7 +3,7 @@
#include "variables.h" #include "variables.h"
#include "core2/ba/physics.h" #include "core2/ba/physics.h"
extern f32 func_8029B2D0(void); extern f32 bastick_getX(void);
/* .code */ /* .code */
void __bsDroneLook_getEyePos(f32 arg0[3]) { void __bsDroneLook_getEyePos(f32 arg0[3]) {
@@ -45,8 +45,8 @@ void bsDroneLook_update(void) {
if (ncFirstPersonCamera_getState() == FIRSTPERSON_STATE_2_IDLE) { if (ncFirstPersonCamera_getState() == FIRSTPERSON_STATE_2_IDLE) {
//camera is in "idle" state //camera is in "idle" state
ncFirstPersonCamera_getZoomedInRotation(eye_rotation); ncFirstPersonCamera_getZoomedInRotation(eye_rotation);
eye_rotation[0] -= func_8029B2DC() * 90.0f * dt; eye_rotation[0] -= bastick_getY() * 90.0f * dt;
eye_rotation[1] -= func_8029B2D0() * 90.0f * dt; eye_rotation[1] -= bastick_getX() * 90.0f * dt;
eye_rotation[2] = 0.0f; eye_rotation[2] = 0.0f;
eye_rotation[0] = (eye_rotation[0] > 180.0f) ? ml_max_f(305.0f, eye_rotation[0]) : ml_min_f(70.0f, eye_rotation[0]); eye_rotation[0] = (eye_rotation[0] > 180.0f) ? ml_max_f(305.0f, eye_rotation[0]) : ml_min_f(70.0f, eye_rotation[0]);
ncFirstPersonCamera_setZoomedOutRotation(eye_rotation); ncFirstPersonCamera_setZoomedOutRotation(eye_rotation);
@@ -54,7 +54,7 @@ void bsDroneLook_update(void) {
exit_first_person = FALSE; exit_first_person = FALSE;
// 1st person cancelled via input // 1st person cancelled via input
if (button_pressed(BUTTON_B) || button_pressed(BUTTON_A) || button_pressed(BUTTON_C_UP)) { if (bakey_pressed(BUTTON_B) || bakey_pressed(BUTTON_A) || bakey_pressed(BUTTON_C_UP)) {
exit_first_person = TRUE; exit_first_person = TRUE;
} }
// 1st person cancelled via entering water // 1st person cancelled via entering water

View File

@@ -10,8 +10,8 @@
f32 func_80294438(void); f32 func_80294438(void);
void func_80299B58(f32, f32); void func_80299B58(f32, f32);
f32 func_8029B2E8(void); f32 bastick_distance(void);
f32 func_8029B33C(void); f32 bastick_getAngleRelativeToBanjo(void);
void baanim_playForDuration_loop(s32, f32); void baanim_playForDuration_loop(s32, f32);
/* .data */ /* .data */
@@ -60,8 +60,8 @@ void bsjump_init(void){
anctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE); anctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE);
anctrl_start(aCtrl, "bsjump.c", 0x95); anctrl_start(aCtrl, "bsjump.c", 0x95);
func_8029C7F4(1,1,3, BA_PHYSICS_AIRBORN); func_8029C7F4(1,1,3, BA_PHYSICS_AIRBORN);
if(func_8029B2E8() != 0.0f){ if(bastick_distance() != 0.0f){
yaw_setIdeal(func_8029B33C()); yaw_setIdeal(bastick_getAngleRelativeToBanjo());
} }
baphysics_set_target_yaw(yaw_getIdeal()); baphysics_set_target_yaw(yaw_getIdeal());
func_802B6FA8(); func_802B6FA8();
@@ -97,7 +97,7 @@ void bsjump_update(void){
} }
baphysics_get_velocity(velocity); baphysics_get_velocity(velocity);
if((button_released(BUTTON_A) && 0.0f < velocity[1] && !D_8037D4C2) || !can_control_jump_height()){ if((bakey_released(BUTTON_A) && 0.0f < velocity[1] && !D_8037D4C2) || !can_control_jump_height()){
baphysics_reset_gravity(); baphysics_reset_gravity();
} }
@@ -138,7 +138,7 @@ void bsjump_update(void){
if(player_isFallTumbling()) if(player_isFallTumbling())
sp34 = BS_3D_FALL_TUMBLING; sp34 = BS_3D_FALL_TUMBLING;
if(button_released(BUTTON_A)) if(bakey_released(BUTTON_A))
D_8037D4C2 = 0; D_8037D4C2 = 0;
if(should_feathery_flap()) if(should_feathery_flap())

View File

@@ -42,8 +42,8 @@ void func_802B21D0(void) {
void func_802B223C(void) { void func_802B223C(void) {
f32 sp1C; f32 sp1C;
sp1C = func_8029B30C(); sp1C = bastick_getZonePosition();
if (func_8029B300() == 0) { if (bastick_getZone() == 0) {
baphysics_set_target_horizontal_velocity(0.0f); baphysics_set_target_horizontal_velocity(0.0f);
return; return;
} }
@@ -52,7 +52,7 @@ void func_802B223C(void) {
void func_802B229C(void) { void func_802B229C(void) {
if (!bspumpkin_inSet(bs_getNextState())) { if (!bspumpkin_inSet(bs_getNextState())) {
func_8029B0C0(); bastick_resetZones();
func_8029E070(0); func_8029E070(0);
func_8029E064(0); func_8029E064(0);
miscFlag_clear(MISC_FLAG_3); miscFlag_clear(MISC_FLAG_3);
@@ -95,10 +95,10 @@ void bspumpkin_idle_update(void) {
if (should_look_first_person_camera()) { if (should_look_first_person_camera()) {
next_state = badrone_look(); next_state = badrone_look();
} }
if (func_8029B300() > 0) { if (bastick_getZone() > 0) {
next_state = BS_49_PUMPKIN_WALK; next_state = BS_49_PUMPKIN_WALK;
} }
if (button_pressed(BUTTON_A)) { if (bakey_pressed(BUTTON_A)) {
next_state = BS_4A_PUMPKIN_JUMP; next_state = BS_4A_PUMPKIN_JUMP;
} }
bs_setState(next_state); bs_setState(next_state);
@@ -131,13 +131,13 @@ void bspumpkin_walk_update(void) {
next_state = 0; next_state = 0;
func_802B223C(); func_802B223C();
func_8029AD68(0.3f, 4); func_8029AD68(0.3f, 4);
if ((func_8029B300() == 0) && baphysics_is_slower_than(1.0f)) { if ((bastick_getZone() == 0) && baphysics_is_slower_than(1.0f)) {
next_state = BS_48_PUMPKIN_IDLE; next_state = BS_48_PUMPKIN_IDLE;
} }
if (func_8028B094()) { if (func_8028B094()) {
next_state = BS_4B_PUMPKIN_FALL; next_state = BS_4B_PUMPKIN_FALL;
} }
if (button_pressed(BUTTON_A)) { if (bakey_pressed(BUTTON_A)) {
next_state = BS_4A_PUMPKIN_JUMP; next_state = BS_4A_PUMPKIN_JUMP;
} }
bs_setState(next_state); bs_setState(next_state);
@@ -159,8 +159,8 @@ void bspumpkin_jump_init(void) {
anctrl_setPlaybackType(anim_ctrl, ANIMCTRL_ONCE); anctrl_setPlaybackType(anim_ctrl, ANIMCTRL_ONCE);
anctrl_start(anim_ctrl, "bspumpkin.c", 0x16C); anctrl_start(anim_ctrl, "bspumpkin.c", 0x16C);
func_8029C7F4(1, 1, 3, BA_PHYSICS_AIRBORN); func_8029C7F4(1, 1, 3, BA_PHYSICS_AIRBORN);
if (func_8029B2E8() != 0.0f) { if (bastick_distance() != 0.0f) {
yaw_setIdeal(func_8029B33C()); yaw_setIdeal(bastick_getAngleRelativeToBanjo());
} }
baphysics_set_target_yaw(yaw_getIdeal()); baphysics_set_target_yaw(yaw_getIdeal());
func_802B223C(); func_802B223C();
@@ -180,7 +180,7 @@ void bspumpkin_jump_update(void) {
anim_ctrl = baanim_getAnimCtrlPtr(); anim_ctrl = baanim_getAnimCtrlPtr();
func_802B223C(); func_802B223C();
baphysics_get_velocity(sp1C); baphysics_get_velocity(sp1C);
if (button_released(BUTTON_A) && sp1C[1] > 0.0f) { if (bakey_released(BUTTON_A) && sp1C[1] > 0.0f) {
baphysics_reset_gravity(); baphysics_reset_gravity();
} }
switch (D_8037D4E0) { switch (D_8037D4E0) {
@@ -225,10 +225,10 @@ void bspumpkin_jump_update(void) {
break; break;
} }
if (player_isStable()) { if (player_isStable()) {
if (func_8029B300() > 0) { if (bastick_getZone() > 0) {
next_state = BS_49_PUMPKIN_WALK; next_state = BS_49_PUMPKIN_WALK;
} }
if (button_pressed(BUTTON_A)) { if (bakey_pressed(BUTTON_A)) {
next_state = BS_4A_PUMPKIN_JUMP; next_state = BS_4A_PUMPKIN_JUMP;
} }
} }
@@ -289,7 +289,7 @@ void bspumpkin_fall_update(void) {
case 2: case 2:
break; break;
} }
if (player_isStable() && ((func_8029B300() > 0) || (D_8037D4E0 == 2 && anctrl_isStopped(anim_ctrl)))) { if (player_isStable() && ((bastick_getZone() > 0) || (D_8037D4E0 == 2 && anctrl_isStopped(anim_ctrl)))) {
if (miscFlag_isTrue(MISC_FLAG_19)) { if (miscFlag_isTrue(MISC_FLAG_19)) {
next_state = badrone_transform(); next_state = badrone_transform();
} else { } else {

View File

@@ -110,7 +110,7 @@ void bsslide_update(void){
if(player_inWater()) if(player_inWater())
sp3C = BS_4C_LANDING_IN_WATER; sp3C = BS_4C_LANDING_IN_WATER;
if(D_8037D528 == 0.0f && button_pressed(BUTTON_A)) if(D_8037D528 == 0.0f && bakey_pressed(BUTTON_A))
sp3C = bs_getTypeOfJump(); sp3C = bs_getTypeOfJump();
bs_setState(sp3C); bs_setState(sp3C);

View File

@@ -5,7 +5,7 @@
#include "core2/statetimer.h" #include "core2/statetimer.h"
#include "core2/ba/physics.h" #include "core2/ba/physics.h"
extern f32 func_8029B2E8(void); extern f32 bastick_distance(void);
void yaw_setVelocityBounded(f32, f32); void yaw_setVelocityBounded(f32, f32);
void anctrl_start(AnimCtrl *, char*, s32); void anctrl_start(AnimCtrl *, char*, s32);
@@ -50,7 +50,7 @@ u32 func_802B4870(u32 arg0){
s32 func_802B488C(s32 arg0){ s32 func_802B488C(s32 arg0){
s32 retVal = arg0; s32 retVal = arg0;
switch(func_8029B300()){ switch(bastick_getZone()){
case 1: //L802B48CC case 1: //L802B48CC
retVal = BS_WALK_CREEP; retVal = BS_WALK_CREEP;
break; break;
@@ -64,13 +64,13 @@ s32 func_802B488C(s32 arg0){
retVal = BS_4_WALK_FAST; retVal = BS_4_WALK_FAST;
break; break;
} }
if(button_held(BUTTON_Z)) if(bakey_held(BUTTON_Z))
retVal = BS_CROUCH; retVal = BS_CROUCH;
if(button_pressed(BUTTON_B) && can_claw()) if(bakey_pressed(BUTTON_B) && can_claw())
retVal = BS_CLAW; retVal = BS_CLAW;
if(button_pressed(BUTTON_A)) if(bakey_pressed(BUTTON_A))
retVal = bs_getTypeOfJump(); retVal = bs_getTypeOfJump();
if(should_look_first_person_camera()) if(should_look_first_person_camera())
@@ -189,7 +189,7 @@ void bsstand_update(void) {
s32 sp18; s32 sp18;
anim_ctrl = baanim_getAnimCtrlPtr(); anim_ctrl = baanim_getAnimCtrlPtr();
if ((func_8029B300() == 0) && (func_8029B2E8() > 0.0f)) { if ((bastick_getZone() == 0) && (bastick_distance() > 0.0f)) {
D_8037D544 = 1; D_8037D544 = 1;
yaw_setUpdateState(3); yaw_setUpdateState(3);
yaw_setVelocityBounded(200.0f, 14.0f); yaw_setVelocityBounded(200.0f, 14.0f);

View File

@@ -26,7 +26,7 @@ void func_802B6064(void) {
enum bs_e next_state; enum bs_e next_state;
next_state = 0; next_state = 0;
if (button_pressed(BUTTON_A)) { if (bakey_pressed(BUTTON_A)) {
next_state = BS_5_JUMP; next_state = BS_5_JUMP;
} }
if (D_8037D560 == 0) { if (D_8037D560 == 0) {

View File

@@ -65,8 +65,8 @@ void func_802B5538(AnimCtrl *arg0) {
void func_802B55DC(void) { void func_802B55DC(void) {
f32 sp1C; f32 sp1C;
sp1C = func_8029B30C(); sp1C = bastick_getZonePosition();
if (func_8029B300() == 0) { if (bastick_getZone() == 0) {
baphysics_set_target_horizontal_velocity(0.0f); baphysics_set_target_horizontal_velocity(0.0f);
return; return;
} }
@@ -81,8 +81,8 @@ void swim_enteredWater(void) {
} }
baphysics_set_gravity(100.0f); baphysics_set_gravity(100.0f);
baphysics_set_terminal_velocity(133.33f); baphysics_set_terminal_velocity(133.33f);
func_8029B324(0, 0.03f); bastick_setZoneMax(0, 0.03f);
func_8029B324(1, 1.0f); bastick_setZoneMax(1, 1.0f);
func_80294378(3); func_80294378(3);
} }
@@ -91,7 +91,7 @@ void func_802B56D4(void) {
if (!bsswim_inset(bs_getNextState())) { if (!bsswim_inset(bs_getNextState())) {
baphysics_reset_terminal_velocity(); baphysics_reset_terminal_velocity();
baphysics_reset_gravity(); baphysics_reset_gravity();
func_8029B0C0(); bastick_resetZones();
func_80294378(1); func_80294378(1);
} }
} }
@@ -164,7 +164,7 @@ void func_802B5950(void) {
if (anctrl_isAt(anim_ctrl, 0.4348f) != 0) { if (anctrl_isAt(anim_ctrl, 0.4348f) != 0) {
func_802B5538(anim_ctrl); func_802B5538(anim_ctrl);
} }
if (func_8029B300() == 1) { if (bastick_getZone() == 1) {
next_state = BS_2E_SWIM; next_state = BS_2E_SWIM;
} }
if (!player_inWater()) { if (!player_inWater()) {
@@ -176,7 +176,7 @@ void func_802B5950(void) {
if (should_dive()) { if (should_dive()) {
next_state = BS_30_DIVE_ENTER; next_state = BS_30_DIVE_ENTER;
} }
if (func_80294524() && button_pressed(BUTTON_A)) { if (func_80294524() && bakey_pressed(BUTTON_A)) {
next_state = BS_5_JUMP; next_state = BS_5_JUMP;
} }
if (miscFlag_isTrue(MISC_FLAG_6) || miscFlag_isTrue(MISC_FLAG_14_LOSE_BOGGY_RACE)) { if (miscFlag_isTrue(MISC_FLAG_6) || miscFlag_isTrue(MISC_FLAG_14_LOSE_BOGGY_RACE)) {
@@ -236,7 +236,7 @@ void func_802B5C40(void) {
func_8030EB88(SFX_12_WATER_PADDLING_1, 0.9f, 1.1f); func_8030EB88(SFX_12_WATER_PADDLING_1, 0.9f, 1.1f);
} }
func_802B55DC(); func_802B55DC();
if (func_8029B300() == 0) { if (bastick_getZone() == 0) {
next_state = BS_2D_SWIM_IDLE; next_state = BS_2D_SWIM_IDLE;
} }
if (player_inWater() == 0) { if (player_inWater() == 0) {
@@ -253,7 +253,7 @@ void func_802B5C40(void) {
if (should_dive() != 0) { if (should_dive() != 0) {
next_state = BS_30_DIVE_ENTER; next_state = BS_30_DIVE_ENTER;
} }
if (func_80294524() && button_pressed(BUTTON_A)) { if (func_80294524() && bakey_pressed(BUTTON_A)) {
next_state = BS_5_JUMP; next_state = BS_5_JUMP;
} }
if (miscFlag_isTrue(MISC_FLAG_6) || miscFlag_isTrue(MISC_FLAG_14_LOSE_BOGGY_RACE)) { if (miscFlag_isTrue(MISC_FLAG_6) || miscFlag_isTrue(MISC_FLAG_14_LOSE_BOGGY_RACE)) {

View File

@@ -53,13 +53,13 @@ void bsturn_update(void){
if(anctrl_isStopped(baanim_getAnimCtrlPtr())) if(anctrl_isStopped(baanim_getAnimCtrlPtr()))
sp2C = BS_4_WALK_FAST; sp2C = BS_4_WALK_FAST;
if(button_held(BUTTON_Z)) if(bakey_held(BUTTON_Z))
sp2C = BS_CROUCH; sp2C = BS_CROUCH;
if(button_pressed(BUTTON_B)) if(bakey_pressed(BUTTON_B))
sp2C = BS_CLAW; sp2C = BS_CLAW;
if(button_pressed(BUTTON_A)) if(bakey_pressed(BUTTON_A))
sp2C = bs_getTypeOfJump(); sp2C = bs_getTypeOfJump();
bs_setState(sp2C); bs_setState(sp2C);

View File

@@ -67,7 +67,7 @@ void bstwirl_update(void){
break; break;
}//L802B6C4C }//L802B6C4C
if(button_pressed(BUTTON_A)) if(bakey_pressed(BUTTON_A))
sp1C = bs_getTypeOfJump(); sp1C = bs_getTypeOfJump();
if(0.6 < anctrl_getAnimTimer(aCtrl) && !player_isStable()) if(0.6 < anctrl_getAnimTimer(aCtrl) && !player_isStable())

View File

@@ -7,10 +7,10 @@
void baanim_setDurationRange(f32, f32); void baanim_setDurationRange(f32, f32);
void func_802927E0(f32, f32); void func_802927E0(f32, f32);
f32 func_8029B2E8(void); f32 bastick_distance(void);
void func_8029AD28(f32, s32); void func_8029AD28(f32, s32);
void baanim_scaleDuration(f32); void baanim_scaleDuration(f32);
f32 func_8029B30C(void); f32 bastick_getZonePosition(void);
void func_80299594(s32, f32); void func_80299594(s32, f32);
// .data // .data
@@ -41,13 +41,13 @@ void func_802B6D00(void){
f32 sp1C; f32 sp1C;
s32 sp18; s32 sp18;
sp1C = func_8029B30C(); sp1C = bastick_getZonePosition();
sp18 = func_8029B300(); sp18 = bastick_getZone();
if(func_8028B128()){ if(func_8028B128()){
if(sp18 == 0){ if(sp18 == 0){
baphysics_set_target_horizontal_velocity(0.0f); baphysics_set_target_horizontal_velocity(0.0f);
}else{//L802B6D48 }else{//L802B6D48
baphysics_set_target_horizontal_velocity(ml_interpolate_f(func_8029B2E8(), bsWalkMinMudVelocity, bsWalkMaxMudVelocity)); baphysics_set_target_horizontal_velocity(ml_interpolate_f(bastick_distance(), bsWalkMinMudVelocity, bsWalkMaxMudVelocity));
} }
} }
else{//L802B6D78 else{//L802B6D78
@@ -93,7 +93,7 @@ int func_802B6EF4(void){
} }
s32 func_802B6F20(s32 arg0){ s32 func_802B6F20(s32 arg0){
if(button_pressed(BUTTON_B)){ if(bakey_pressed(BUTTON_B)){
if( bsWalkWalkFastWalkVelocityThreshold < baphysics_get_target_horizontal_velocity()){ if( bsWalkWalkFastWalkVelocityThreshold < baphysics_get_target_horizontal_velocity()){
if(can_roll()) if(can_roll())
arg0 = BS_ROLL; arg0 = BS_ROLL;
@@ -136,14 +136,14 @@ void bswalk_creep_init(void){
void bswalk_creep_update(void){ void bswalk_creep_update(void){
s32 next_state = 0; s32 next_state = 0;
func_802B6E44(); func_802B6E44();
if(func_8029B2E8() == 0.0f){ if(bastick_distance() == 0.0f){
yaw_setIdeal(yaw_get()); yaw_setIdeal(yaw_get());
} }
func_8029AD28(0.47f, 4); func_8029AD28(0.47f, 4);
func_8029AD28(0.97f, 3); func_8029AD28(0.97f, 3);
func_802B6D00(); func_802B6D00();
switch(func_8029B300()){ switch(bastick_getZone()){
case 0://L802B7160 case 0://L802B7160
if(baphysics_is_slower_than(1.0f)) if(baphysics_is_slower_than(1.0f))
next_state = BS_1_IDLE; next_state = BS_1_IDLE;
@@ -167,12 +167,12 @@ void bswalk_creep_update(void){
if(func_8028B094()) if(func_8028B094())
next_state = BS_2F_FALL; next_state = BS_2F_FALL;
if(button_held(BUTTON_Z)) if(bakey_held(BUTTON_Z))
next_state = BS_CROUCH; next_state = BS_CROUCH;
next_state = func_802B6F20(next_state); next_state = func_802B6F20(next_state);
if(button_pressed(BUTTON_A)) if(bakey_pressed(BUTTON_A))
next_state = bs_getTypeOfJump(); next_state = bs_getTypeOfJump();
if(player_isSliding()) if(player_isSliding())
@@ -209,14 +209,14 @@ void bswalk_slow_init(void){
void bswalk_slow_upate(void){ void bswalk_slow_upate(void){
s32 next_state = 0; s32 next_state = 0;
func_802B6E44(); func_802B6E44();
if(func_8029B2E8() == 0.0f){ if(bastick_distance() == 0.0f){
yaw_setIdeal(yaw_get()); yaw_setIdeal(yaw_get());
} }
func_8029AD28(0.4f, 4); func_8029AD28(0.4f, 4);
func_8029AD28(0.9f, 3); func_8029AD28(0.9f, 3);
func_802B6D00(); func_802B6D00();
switch(func_8029B300()){ switch(bastick_getZone()){
case 0://L802B7160 case 0://L802B7160
if(baphysics_is_slower_than(3.0f)) if(baphysics_is_slower_than(3.0f))
next_state = BS_1_IDLE; next_state = BS_1_IDLE;
@@ -240,12 +240,12 @@ void bswalk_slow_upate(void){
if(func_8028B094()) if(func_8028B094())
next_state = BS_2F_FALL; next_state = BS_2F_FALL;
if(button_held(BUTTON_Z)) if(bakey_held(BUTTON_Z))
next_state = BS_CROUCH; next_state = BS_CROUCH;
next_state = func_802B6F20(next_state); next_state = func_802B6F20(next_state);
if(button_pressed(BUTTON_A)) if(bakey_pressed(BUTTON_A))
next_state = bs_getTypeOfJump(); next_state = bs_getTypeOfJump();
if(player_isSliding()) if(player_isSliding())
@@ -292,7 +292,7 @@ void bswalk_update(void){
func_8029AD28(0.9f, 3); func_8029AD28(0.9f, 3);
func_802B6EBC(); func_802B6EBC();
func_802B6D00(); func_802B6D00();
switch(func_8029B300()){ switch(bastick_getZone()){
case 0: case 0:
case 1: case 1:
case 2: case 2:
@@ -316,12 +316,12 @@ void bswalk_update(void){
if(func_8028B094()) if(func_8028B094())
next_state = BS_2F_FALL; next_state = BS_2F_FALL;
if(button_held(BUTTON_Z)) if(bakey_held(BUTTON_Z))
next_state = BS_CROUCH; next_state = BS_CROUCH;
next_state = func_802B6F20(next_state); next_state = func_802B6F20(next_state);
if(button_pressed(BUTTON_A)) if(bakey_pressed(BUTTON_A))
next_state = bs_getTypeOfJump(); next_state = bs_getTypeOfJump();
if(player_isSliding()) if(player_isSliding())
@@ -380,7 +380,7 @@ void bswalk_fast_update(void){
func_8029AD28(0.9f, 3); func_8029AD28(0.9f, 3);
func_802B6EBC(); func_802B6EBC();
func_802B6D00(); func_802B6D00();
switch(func_8029B300()){ switch(bastick_getZone()){
case 0://L802B79EC case 0://L802B79EC
if(baphysics_is_slower_than(18.0f)) if(baphysics_is_slower_than(18.0f))
next_state = BS_1_IDLE; next_state = BS_1_IDLE;
@@ -416,12 +416,12 @@ void bswalk_fast_update(void){
if(func_8028B094()) if(func_8028B094())
next_state = BS_2F_FALL; next_state = BS_2F_FALL;
if(button_held(BUTTON_Z)) if(bakey_held(BUTTON_Z))
next_state = BS_CROUCH; next_state = BS_CROUCH;
next_state = func_802B6F20(next_state); next_state = func_802B6F20(next_state);
if(button_pressed(BUTTON_A)) if(bakey_pressed(BUTTON_A))
next_state = bs_getTypeOfJump(); next_state = bs_getTypeOfJump();
if(player_isSliding()) if(player_isSliding())
@@ -456,7 +456,7 @@ void bswalk_mud_update(void){
if(!func_8028B128()) if(!func_8028B128())
next_state = BS_2_WALK_SLOW; next_state = BS_2_WALK_SLOW;
if(!func_8029B300()) if(!bastick_getZone())
next_state = BS_1_IDLE; next_state = BS_1_IDLE;
if(should_look_first_person_camera()) if(should_look_first_person_camera())
@@ -465,12 +465,12 @@ void bswalk_mud_update(void){
if(func_8028B094()) if(func_8028B094())
next_state = BS_2F_FALL; next_state = BS_2F_FALL;
if(button_held(BUTTON_Z)) if(bakey_held(BUTTON_Z))
next_state = BS_CROUCH; next_state = BS_CROUCH;
next_state = func_802B6F20(next_state); next_state = func_802B6F20(next_state);
if(button_pressed(BUTTON_A)) if(bakey_pressed(BUTTON_A))
next_state = bs_getTypeOfJump(); next_state = bs_getTypeOfJump();
if(player_isSliding()) if(player_isSliding())

View File

@@ -44,8 +44,8 @@ void func_802B7E00(void) {
void func_802B7E6C(void) { void func_802B7E6C(void) {
f32 sp1C; f32 sp1C;
sp1C = func_8029B30C(); sp1C = bastick_getZonePosition();
if (func_8029B300() == 0) { if (bastick_getZone() == 0) {
baphysics_set_target_horizontal_velocity(0.0f); baphysics_set_target_horizontal_velocity(0.0f);
return; return;
} }
@@ -54,7 +54,7 @@ void func_802B7E6C(void) {
void func_802B7ECC(void) { void func_802B7ECC(void) {
D_8037D5C0 = 0.0f; D_8037D5C0 = 0.0f;
if (func_80295530(8) < 3) { if (bakey_releaseCount(BUTTON_A) < 3) {
D_8037D5C0 = 1.0f; D_8037D5C0 = 1.0f;
} }
D_8037D5C0 = ml_clamp_f(D_8037D5C0, 0.0f, 1.0f); D_8037D5C0 = ml_clamp_f(D_8037D5C0, 0.0f, 1.0f);
@@ -70,7 +70,7 @@ void func_802B7F28(void) {
sp38 = D_80364DD8; sp38 = D_80364DD8;
sp3C = D_80364DDC; sp3C = D_80364DDC;
sp40 = func_8029B30C(); sp40 = bastick_getZonePosition();
func_802B7ECC(); func_802B7ECC();
baphysics_get_velocity(sp20); baphysics_get_velocity(sp20);
sp20[1] = 0.0f; sp20[1] = 0.0f;
@@ -81,7 +81,7 @@ void func_802B7F28(void) {
sp3C += D_8037D5C0 * 350.0; sp3C += D_8037D5C0 * 350.0;
} }
} }
if (func_8029B300() == 0) { if (bastick_getZone() == 0) {
baphysics_set_target_horizontal_velocity(0.0f); baphysics_set_target_horizontal_velocity(0.0f);
return; return;
} }
@@ -92,7 +92,7 @@ void func_802B8048(void){
if(!bswalrus_inSet(bs_getNextState())){ if(!bswalrus_inSet(bs_getNextState())){
pitch_setIdeal(0.0f); pitch_setIdeal(0.0f);
roll_setIdeal(0.0f); roll_setIdeal(0.0f);
func_8029B0C0(); bastick_resetZones();
func_8029E070(0); func_8029E070(0);
func_8029E064(0); func_8029E064(0);
miscFlag_clear(MISC_FLAG_3); miscFlag_clear(MISC_FLAG_3);
@@ -165,10 +165,10 @@ void bswalrus_idle_update(void){
if(should_look_first_person_camera()) if(should_look_first_person_camera())
next_state = badrone_look(); next_state = badrone_look();
if(func_8029B300() > 0) if(bastick_getZone() > 0)
next_state = BS_WALRUS_WALK; next_state = BS_WALRUS_WALK;
if(button_pressed(BUTTON_A)) if(bakey_pressed(BUTTON_A))
next_state = BS_WALRUS_JUMP; next_state = BS_WALRUS_JUMP;
bs_setState(next_state); bs_setState(next_state);
@@ -194,13 +194,13 @@ void bswalrus_walk_update(void){
func_802B7E6C(); func_802B7E6C();
func_8029AD68(0.3f, 4); func_8029AD68(0.3f, 4);
if(func_8029B300() == 0 && baphysics_is_slower_than(1.0f)) if(bastick_getZone() == 0 && baphysics_is_slower_than(1.0f))
next_state = BS_67_WALRUS_IDLE; next_state = BS_67_WALRUS_IDLE;
if(func_8028B094()) if(func_8028B094())
next_state = BS_6A_WALRUS_FALL; next_state = BS_6A_WALRUS_FALL;
if(button_pressed(BUTTON_A)) if(bakey_pressed(BUTTON_A))
next_state = BS_WALRUS_JUMP; next_state = BS_WALRUS_JUMP;
bs_setState(next_state); bs_setState(next_state);
@@ -223,8 +223,8 @@ void bswalrus_jump_init(void){
anctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE); anctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE);
anctrl_start(aCtrl, "bswalrus.c", 0x1f8); anctrl_start(aCtrl, "bswalrus.c", 0x1f8);
func_8029C7F4(1,1,3, BA_PHYSICS_AIRBORN); func_8029C7F4(1,1,3, BA_PHYSICS_AIRBORN);
if(func_8029B2E8() != 0.0f) if(bastick_distance() != 0.0f)
yaw_setIdeal(func_8029B33C()); yaw_setIdeal(bastick_getAngleRelativeToBanjo());
baphysics_set_target_yaw(yaw_getIdeal()); baphysics_set_target_yaw(yaw_getIdeal());
func_802B7E6C(); func_802B7E6C();
baphysics_set_horizontal_velocity(yaw_getIdeal(), baphysics_get_target_horizontal_velocity()); baphysics_set_horizontal_velocity(yaw_getIdeal(), baphysics_get_target_horizontal_velocity());
@@ -242,7 +242,7 @@ void bswalrus_jump_update(void){
func_802B7E6C(); func_802B7E6C();
baphysics_get_velocity(sp1C); baphysics_get_velocity(sp1C);
if(button_released(BUTTON_A) && 0.0f < sp1C[1]) if(bakey_released(BUTTON_A) && 0.0f < sp1C[1])
baphysics_reset_gravity(); baphysics_reset_gravity();
switch(D_8037D5C8){ switch(D_8037D5C8){
@@ -288,10 +288,10 @@ void bswalrus_jump_update(void){
}//L802B8838 }//L802B8838
if(player_isStable()){ if(player_isStable()){
if(func_8029B300() > 0) if(bastick_getZone() > 0)
next_state = BS_WALRUS_WALK; next_state = BS_WALRUS_WALK;
if(button_pressed(BUTTON_A)) if(bakey_pressed(BUTTON_A))
next_state = BS_WALRUS_JUMP; next_state = BS_WALRUS_JUMP;
} }
@@ -349,7 +349,7 @@ void bswalrus_fall_update(void){
}//L802B8A38 }//L802B8A38
if(player_isStable()){ if(player_isStable()){
if( func_8029B300() > 0 if( bastick_getZone() > 0
|| (D_8037D5C8 == 2 && anctrl_isStopped(aCtrl)) || (D_8037D5C8 == 2 && anctrl_isStopped(aCtrl))
){ ){
if(miscFlag_isTrue(MISC_FLAG_19)) if(miscFlag_isTrue(MISC_FLAG_19))
@@ -581,7 +581,7 @@ void bswalrus_sled_update(void){
if(should_look_first_person_camera()) if(should_look_first_person_camera())
next_state = badrone_look(); next_state = badrone_look();
if(button_pressed(BUTTON_A)) if(bakey_pressed(BUTTON_A))
next_state = BS_7E_WALRUS_SLED; next_state = BS_7E_WALRUS_SLED;
next_state = func_8029CA94(next_state); next_state = func_8029CA94(next_state);
@@ -604,8 +604,8 @@ void bswalrus_sled_jump_init(void){
anctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE); anctrl_setPlaybackType(aCtrl, ANIMCTRL_ONCE);
anctrl_start(aCtrl, "bswalrus.c", 0x477); anctrl_start(aCtrl, "bswalrus.c", 0x477);
func_8029C7F4(1,1,3, BA_PHYSICS_AIRBORN); func_8029C7F4(1,1,3, BA_PHYSICS_AIRBORN);
if(func_8029B2E8() != 0.0f) if(bastick_distance() != 0.0f)
yaw_setIdeal(func_8029B33C()); yaw_setIdeal(bastick_getAngleRelativeToBanjo());
baphysics_set_target_yaw(yaw_getIdeal()); baphysics_set_target_yaw(yaw_getIdeal());
func_802B7F28(); func_802B7F28();
baphysics_set_horizontal_velocity(yaw_getIdeal(), baphysics_get_target_horizontal_velocity()); baphysics_set_horizontal_velocity(yaw_getIdeal(), baphysics_get_target_horizontal_velocity());
@@ -624,7 +624,7 @@ void bswalrus_sled_jump_update(void){
func_802B7F28(); func_802B7F28();
baphysics_get_velocity(sp1C); baphysics_get_velocity(sp1C);
if(button_released(BUTTON_A) && 0.0f < sp1C[1]) if(bakey_released(BUTTON_A) && 0.0f < sp1C[1])
baphysics_reset_gravity(); baphysics_reset_gravity();
switch (D_8037D5C8) switch (D_8037D5C8)
@@ -649,7 +649,7 @@ void bswalrus_sled_jump_update(void){
}//L802B9530 }//L802B9530
if(player_isStable()){ if(player_isStable()){
if(button_pressed(BUTTON_A)) if(bakey_pressed(BUTTON_A))
next_state = BS_7E_WALRUS_SLED; next_state = BS_7E_WALRUS_SLED;
next_state = func_8029CA94(next_state); next_state = func_8029CA94(next_state);
@@ -704,13 +704,13 @@ void func_802B963C(void){
}//L802B96F0 }//L802B96F0
if(player_isStable()){ if(player_isStable()){
if( func_8029B300() > 0 if( bastick_getZone() > 0
|| (D_8037D5C8 == 2 && anctrl_isStopped(aCtrl)) || (D_8037D5C8 == 2 && anctrl_isStopped(aCtrl))
){ ){
next_state = BS_7D_WALRUS_SLED; next_state = BS_7D_WALRUS_SLED;
} }
if(button_pressed(BUTTON_A)) if(bakey_pressed(BUTTON_A))
next_state = BS_7E_WALRUS_SLED; next_state = BS_7E_WALRUS_SLED;
next_state = func_8029CA94(next_state); next_state = func_8029CA94(next_state);

View File

@@ -2,7 +2,7 @@
#include "functions.h" #include "functions.h"
#include "variables.h" #include "variables.h"
extern f32 func_8029B2D0(void); extern f32 bastick_getX(void);
void func_8029957C(s32 arg0); void func_8029957C(s32 arg0);
@@ -23,7 +23,7 @@ void func_8029932C(f32 arg0){
} }
void func_80299338(void){ void func_80299338(void){
f32 stickX = func_8029B2D0(); f32 stickX = bastick_getX();
f32 d_yaw_deg; f32 d_yaw_deg;
d_yaw_deg =(0.03 < (f64)mlAbsF(stickX)) ? ml_mapAbsRange_f(stickX, 0.0f, 1.0f, 1.0f, 6.0f) : 0.0f; d_yaw_deg =(0.03 < (f64)mlAbsF(stickX)) ? ml_mapAbsRange_f(stickX, 0.0f, 1.0f, 1.0f, 6.0f) : 0.0f;
yaw_setIdeal(yaw_getIdeal() + d_yaw_deg); yaw_setIdeal(yaw_getIdeal() + d_yaw_deg);
@@ -32,14 +32,14 @@ void func_80299338(void){
void func_802993C8(void){ void func_802993C8(void){
switch(D_8037C6B0){ switch(D_8037C6B0){
case 1://802993F8 case 1://802993F8
if(func_8029B2E8() != 0.0f){ if(bastick_distance() != 0.0f){
yaw_setIdeal(func_8029B33C()); yaw_setIdeal(bastick_getAngleRelativeToBanjo());
} }
yaw_update(); yaw_update();
break; break;
case 5://80299438 case 5://80299438
if(func_8029B2E8() != 0.0f){ if(bastick_distance() != 0.0f){
yaw_setIdeal(func_8029B33C() + 180.0f); yaw_setIdeal(bastick_getAngleRelativeToBanjo() + 180.0f);
} }
yaw_update(); yaw_update();
break; break;
@@ -51,18 +51,18 @@ void func_802993C8(void){
yaw_update(); yaw_update();
break; break;
case 4://802994A8 case 4://802994A8
if(func_8029B2E8() != 0.0f){ if(bastick_distance() != 0.0f){
yaw_setIdeal(func_8029B33C()); yaw_setIdeal(bastick_getAngleRelativeToBanjo());
yaw_set(yaw_getIdeal()); yaw_set(yaw_getIdeal());
} }
yaw_update(); yaw_update();
break; break;
case 7://802994F8 case 7://802994F8
if(func_8029B2E8() != 0.0f){ if(bastick_distance() != 0.0f){
f32 sp1C = func_8029B33C(); f32 sp1C = bastick_getAngleRelativeToBanjo();
f32 diff = mlDiffDegF(yaw_getIdeal(), sp1C); f32 diff = mlDiffDegF(yaw_getIdeal(), sp1C);
if(D_8037C6B4 <= mlAbsF(diff)){ if(D_8037C6B4 <= mlAbsF(diff)){
yaw_setIdeal(func_8029B33C()); yaw_setIdeal(bastick_getAngleRelativeToBanjo());
} }
} }
yaw_update(); yaw_update();

View File

@@ -1,160 +0,0 @@
#include <ultra64.h>
#include "core1/core1.h"
#include "functions.h"
#include "variables.h"
extern void controller_getJoystick(s32, f32*);
extern f32 player_getYaw(void);
extern void particleEmitter_setSphericalParticleVelocityRange(ParticleEmitter *this, f32 pitch_min, f32 yaw_min, f32 radial_min, f32 pitch_max, f32 yaw_max, f32 radial_max);
ParticleEmitter * func_802EDD8C(f32[3], f32, f32);
extern void func_80354030(f32[3], f32);
extern void func_80356074(f32[3], f32[3], f32, f32);
extern void func_80292864(f32, f32);
/* .bss */
struct {
f32 unk0;
s32 unk4;
f32 unk8[5];
f32 unk1C[2];
f32 unk24;
f32 unk28;
s32 unk2C;
s32 unk30;
u8 unk34;
} D_8037D1A0;
/*.code */
f32 func_8029AF50(f32 arg0, f32 arg1, f32 arg2){
return (arg0 - arg1)/(arg2 - arg1);
}
void func_8029AF68(void) {
s32 i;
if (D_8037D1A0.unk28 <= D_8037D1A0.unk8[0]) {
D_8037D1A0.unk4 = 0;
D_8037D1A0.unk0 = 0.0f;
return;
}
if ((D_8037D1A0.unk8[0] < D_8037D1A0.unk28) && (D_8037D1A0.unk28 <= D_8037D1A0.unk8[1])) {
D_8037D1A0.unk4 = 1;
D_8037D1A0.unk0 = func_8029AF50(D_8037D1A0.unk28, D_8037D1A0.unk8[0], D_8037D1A0.unk8[1]);
return;
}
if ((D_8037D1A0.unk8[1] < D_8037D1A0.unk28) && (D_8037D1A0.unk28 <= D_8037D1A0.unk8[2])) {
D_8037D1A0.unk4 = 2;
D_8037D1A0.unk0 = func_8029AF50(D_8037D1A0.unk28, D_8037D1A0.unk8[1], D_8037D1A0.unk8[2]);
return;
}
if ((D_8037D1A0.unk8[2] < D_8037D1A0.unk28) && (D_8037D1A0.unk28 <= D_8037D1A0.unk8[3])) {
D_8037D1A0.unk4 = 3;
D_8037D1A0.unk0 = func_8029AF50(D_8037D1A0.unk28, D_8037D1A0.unk8[2], D_8037D1A0.unk8[3]);
return;
}
if ((D_8037D1A0.unk8[3] < D_8037D1A0.unk28) && (D_8037D1A0.unk28 <= D_8037D1A0.unk8[4])) {
D_8037D1A0.unk4 = 4;
D_8037D1A0.unk0 = func_8029AF50(D_8037D1A0.unk28, D_8037D1A0.unk8[3], D_8037D1A0.unk8[4]);
return;
}
}
void func_8029B0C0(void) {
func_8029B324(0, 0.12f);
func_8029B324(1, 0.2f);
func_8029B324(2, 0.5f);
func_8029B324(3, 0.75f);
func_8029B324(4, 1.0f);
}
void func_8029B11C(void) {
D_8037D1A0.unk1C[0] = D_8037D1A0.unk1C[1] = D_8037D1A0.unk28 = D_8037D1A0.unk24 = D_8037D1A0.unk0 = 0.0f;
D_8037D1A0.unk34 = 0;
D_8037D1A0.unk30 = 0;
D_8037D1A0.unk2C = 0;
D_8037D1A0.unk4 = 0;
func_8029B0C0();
}
void func_8029B174(void) {
controller_getJoystick(0, &D_8037D1A0.unk1C);
if (D_8037D1A0.unk34) {
D_8037D1A0.unk1C[0] = D_8037D1A0.unk1C[1] = 0.0f;
}
D_8037D1A0.unk28 = gu_sqrtf(D_8037D1A0.unk1C[0]*D_8037D1A0.unk1C[0] + D_8037D1A0.unk1C[1]*D_8037D1A0.unk1C[1]);
if (D_8037D1A0.unk28 != 0.0f) {
D_8037D1A0.unk2C = 0;
D_8037D1A0.unk30 = (s32) (D_8037D1A0.unk30 + 1);
D_8037D1A0.unk24 = ml_acosf(D_8037D1A0.unk1C[1] / D_8037D1A0.unk28);
if (D_8037D1A0.unk1C[0] < 0.0f) {
D_8037D1A0.unk24 = (f32) (180.0f - D_8037D1A0.unk24);
}
if (D_8037D1A0.unk1C[1] < 0.0f) {
D_8037D1A0.unk24 = (f32) (360.0f - D_8037D1A0.unk24);
}
} else {
D_8037D1A0.unk30 = 0;
D_8037D1A0.unk2C = (s32) (D_8037D1A0.unk2C + 1);
}
if (D_8037D1A0.unk28 > 1.0) {
D_8037D1A0.unk28 = 1.0f;
}
func_8029AF68();
}
f32 func_8029B2D0(void){
return D_8037D1A0.unk1C[0];
}
f32 func_8029B2DC(void){
return D_8037D1A0.unk1C[1];
}
f32 func_8029B2E8(void){
return D_8037D1A0.unk28;
}
f32 func_8029B2F4(void){
return D_8037D1A0.unk24;
}
s32 func_8029B300(void){
return D_8037D1A0.unk4;
}
f32 func_8029B30C(void){
return D_8037D1A0.unk0;
}
void func_8029B318(bool arg0){
D_8037D1A0.unk34 = arg0;
}
void func_8029B324(s32 arg0, f32 arg1){
D_8037D1A0.unk8[arg0] = arg1;
}
f32 func_8029B33C(void){
f32 sp1C[3];
_player_getPosition(sp1C);
return viewport_adjustAngleToRight(sp1C, func_8029B2F4());
}
s32 func_8029B370(void){
return D_8037D1A0.unk30;
}
s32 func_8029B37C(void){
return D_8037D1A0.unk2C;
}
bool func_8029B388(void){
return D_8037D1A0.unk30 == 1;
}
bool func_8029B39C(void){
return D_8037D1A0.unk2C == 1;
}

View File

@@ -753,7 +753,7 @@ void func_8029C748(void) {
} }
enum bs_e bs_getTypeOfJump(void){ enum bs_e bs_getTypeOfJump(void){
if(button_held(BUTTON_Z) && can_flap_flip()) if(bakey_held(BUTTON_Z) && can_flap_flip())
return BS_12_BFLIP; return BS_12_BFLIP;
if(miscFlag_isTrue(MISC_FLAG_2_ON_SPRING_PAD)) if(miscFlag_isTrue(MISC_FLAG_2_ON_SPRING_PAD))
@@ -829,13 +829,13 @@ s32 func_8029C9C0(s32 arg0){
if(miscFlag_isTrue(MISC_FLAG_F)) if(miscFlag_isTrue(MISC_FLAG_F))
return arg0; return arg0;
if(button_pressed(BUTTON_A)) if(bakey_pressed(BUTTON_A))
arg0 = bs_getTypeOfJump(); arg0 = bs_getTypeOfJump();
if(button_pressed(BUTTON_B) && can_claw()) if(bakey_pressed(BUTTON_B) && can_claw())
arg0 = BS_CLAW; arg0 = BS_CLAW;
if(button_held(BUTTON_Z) && should_beak_barge()) if(bakey_held(BUTTON_Z) && should_beak_barge())
arg0 = BS_BBARGE; arg0 = BS_BBARGE;
if(should_look_first_person_camera()) if(should_look_first_person_camera())

View File

@@ -551,11 +551,11 @@ f32 func_8028EF88(void){
} }
bool func_8028EFC8(void){ bool func_8028EFC8(void){
return func_802955A4(BUTTON_B, 2); return bakey_getAndSetState(BUTTON_B, 2);
} }
bool func_8028EFEC(void){ bool func_8028EFEC(void){
return func_802955A4(BUTTON_A, 2); return bakey_getAndSetState(BUTTON_A, 2);
} }
void func_8028F010(enum actor_e actor_id){ void func_8028F010(enum actor_e actor_id){
@@ -786,12 +786,12 @@ void func_8028F760(s32 arg0, f32 arg1, f32 arg2){
void func_8028F784(bool arg0){ void func_8028F784(bool arg0){
if(arg0){ if(arg0){
func_802955BC(TRUE); bakey_disableAll(TRUE);
func_8029B318(TRUE); bastick_lockAtzero(TRUE);
} }
else{ else{
func_802955BC(FALSE); bakey_disableAll(FALSE);
func_8029B318(FALSE); bastick_lockAtzero(FALSE);
} }
} }

View File

@@ -1,79 +0,0 @@
#include <ultra64.h>
#include "functions.h"
#include "variables.h"
/* .bss */
u8 D_8037C040;
struct {
f32 unk0;
s32 unk4;
}D_8037C048;
struct{
f32 unk0;
s32 unk4;
} D_8037C050;
f32 D_8037C058;
/* .code */
f32 func_80290890(f32 arg0){
f64 temp_f2;
temp_f2 = func_80257A44(arg0, 0.7f);
arg0 = temp_f2 + temp_f2;
if(1.0 <= arg0){
arg0 = 2.0 - arg0;
}
arg0 = arg0 - 0.5;
return (f64)arg0 * 0.04;
}
f32 func_80290920(f32 arg0, f32 arg1, f32 arg2){
f32 tick = time_getDelta();
if(arg0 < arg1){
arg0 += tick*arg2;
if(arg1 < arg0){
arg0 = arg1;
}
}
else{
arg0-= tick*arg2;
if(arg0 < arg1){
arg0 = arg1;
}
}
return arg0;
}
void func_8029099C(void){
sfxsource_freeSfxsourceByIndex(D_8037C040);
D_8037C040 = 0;
}
void func_802909C4(void){
D_8037C040 = sfxsource_createSfxsourceAndReturnIndex();
D_8037C050.unk0 = 1.0f;
D_8037C048.unk4 = D_8037C050.unk4 = 13000;
D_8037C048.unk0 = D_8037C050.unk0;
sfxsource_setSfxId(D_8037C040, 0x3fa);
func_8030DD14(D_8037C040, 2);
sfxsource_playSfxAtVolume(D_8037C040, D_8037C048.unk0);
sfxsource_setSampleRate(D_8037C040, D_8037C048.unk4);
D_8037C058 = 0.0f;
}
void func_80290A6C(void){
D_8037C058 += time_getDelta();
D_8037C048.unk0 = func_80290920(D_8037C048.unk0, D_8037C050.unk0, 0.3f);
D_8037C048.unk4 = func_80290920((f32)D_8037C048.unk4, (f32)D_8037C050.unk4, 100.0f);
sfxsource_playSfxAtVolume(D_8037C040, func_80290890(D_8037C058) + D_8037C048.unk0);
sfxsource_setSampleRate(D_8037C040, D_8037C048.unk4);
func_8030E2C4(D_8037C040);
}
void func_80290B40(f32 arg0){
D_8037C050.unk0 = arg0;
}
void func_80290B4C(s32 arg0){
D_8037C050.unk4 = arg0;
}

View File

@@ -182,7 +182,7 @@ void func_80291108(void){
void func_80291154(void){ void func_80291154(void){
int tmp; int tmp;
if(!func_80290D48() && !func_80290E8C()){ if(!func_80290D48() && !func_80290E8C()){
if(button_held(BUTTON_R)){ if(bakey_held(BUTTON_R)){
ncDynamicCamera_setState(0x13); ncDynamicCamera_setState(0x13);
func_80291488(0x4); func_80291488(0x4);
func_80290F14(); func_80290F14();
@@ -200,7 +200,7 @@ void func_80291154(void){
void func_802911E0(void){ void func_802911E0(void){
if( !func_80290D48() && !func_80290E8C() && !func_8029105C(7)){ if( !func_80290D48() && !func_80290E8C() && !func_8029105C(7)){
func_80290F14(); func_80290F14();
if(button_held(BUTTON_R)){ if(bakey_held(BUTTON_R)){
func_802C095C(); func_802C095C();
} }
else{ else{

View File

@@ -6,51 +6,51 @@ u32 D_8037C300;
f32 D_8037C304; f32 D_8037C304;
int should_beak_barge(void){ int should_beak_barge(void){
return button_pressed(BUTTON_B) && can_beak_barge(); return bakey_pressed(BUTTON_B) && can_beak_barge();
} }
int should_beak_bust(void){ int should_beak_bust(void){
return button_pressed(BUTTON_Z) && can_beak_bust(); return bakey_pressed(BUTTON_Z) && can_beak_bust();
} }
int should_look_first_person_camera(void){ int should_look_first_person_camera(void){
return button_pressed(BUTTON_C_UP) && can_view_first_person(); return bakey_pressed(BUTTON_C_UP) && can_view_first_person();
} }
int should_rotate_camera_left(void){ int should_rotate_camera_left(void){
return button_pressed(BUTTON_C_LEFT) && func_802951FC(0); return bakey_pressed(BUTTON_C_LEFT) && func_802951FC(0);
} }
int should_rotate_camera_right(void){ int should_rotate_camera_right(void){
return button_pressed(BUTTON_C_RIGHT) && func_802951FC(1); return bakey_pressed(BUTTON_C_RIGHT) && func_802951FC(1);
} }
int should_zoom_out_camera(void){ int should_zoom_out_camera(void){
return button_pressed(BUTTON_C_DOWN) && func_802951FC(5); return bakey_pressed(BUTTON_C_DOWN) && func_802951FC(5);
} }
int should_poop_egg(void){ int should_poop_egg(void){
return button_pressed(BUTTON_C_DOWN) && can_egg(); return bakey_pressed(BUTTON_C_DOWN) && can_egg();
} }
int should_shoot_egg(void){ int should_shoot_egg(void){
return button_pressed(BUTTON_C_UP) && can_egg(); return bakey_pressed(BUTTON_C_UP) && can_egg();
} }
int should_feathery_flap(void){ int should_feathery_flap(void){
return button_pressed(BUTTON_A) && can_feathery_flap(); return bakey_pressed(BUTTON_A) && can_feathery_flap();
} }
int should_flap_flip(void){ int should_flap_flip(void){
return button_pressed(BUTTON_A) && can_flap_flip(); return bakey_pressed(BUTTON_A) && can_flap_flip();
} }
int should_peck(void){ int should_peck(void){
return button_pressed(BUTTON_B) && can_peck(); return bakey_pressed(BUTTON_B) && can_peck();
} }
int should_dive(void){ int should_dive(void){
return button_pressed(BUTTON_B) && (D_8037C304 == 0.0f) && can_dive(); return bakey_pressed(BUTTON_B) && (D_8037C304 == 0.0f) && can_dive();
} }
int func_802951FC(s32 arg0){ int func_802951FC(s32 arg0){
@@ -58,11 +58,11 @@ int func_802951FC(s32 arg0){
} }
int should_trot(void){ int should_trot(void){
return button_pressed(BUTTON_C_LEFT) && can_trot(); return bakey_pressed(BUTTON_C_LEFT) && can_trot();
} }
int should_wonderwing(void){ int should_wonderwing(void){
return button_pressed(BUTTON_C_RIGHT) && can_wonderwing(); return bakey_pressed(BUTTON_C_RIGHT) && can_wonderwing();
} }
void func_8029528C(void){ void func_8029528C(void){

View File

@@ -1,80 +0,0 @@
#include <ultra64.h>
#include "functions.h"
#include "variables.h"
/* .bss */
struct {
u32 unk0[0xE];
u32 unk38[0xE];
u8 unk70[0xE];
u8 unk7E[0xE];
} D_8037C310;
/* .code */
void func_802953A0(void){
s32 i;
for(i = 0; i<0xe; i++){
D_8037C310.unk0[i] = D_8037C310.unk38[i] = 0;
D_8037C310.unk70[i] = D_8037C310.unk7E[i] = 0;
}
}
void func_80295448(void){
s32 i;
D_8037C310.unk0[0] = controller_getStartButton(0);
func_8024E60C(0, &D_8037C310.unk0[1]);
func_8024E6E0(0, &D_8037C310.unk0[4]);
controller_copyFaceButtons(0, &D_8037C310.unk0[8]);
for(i=0; i<0xE; i++){//L802954A8
D_8037C310.unk7E[i] = D_8037C310.unk70[i];
if(D_8037C310.unk70[i]){
D_8037C310.unk0[i] = 0;
if(D_8037C310.unk70[i] == 2)
D_8037C310.unk70[i] = 0;
}
D_8037C310.unk38[i] = (D_8037C310.unk0[i])? 0: D_8037C310.unk38[i] + 1 ;
}
if(gctransition_8030BDC0()){
func_802953A0();
}
}
int func_8029551C(s32 button_indx){
return D_8037C310.unk0[button_indx];
}
int func_80295530(s32 button_indx){
return D_8037C310.unk38[button_indx];
}
int button_pressed(s32 button_indx){
return D_8037C310.unk0[button_indx] == 1;
}
int func_80295560(s32 button_indx){
return D_8037C310.unk38[button_indx] == 1;
}
u32 button_held(s32 button_indx){
return D_8037C310.unk0[button_indx];
}
int button_released(s32 button_indx){
return D_8037C310.unk38[button_indx];
}
int func_802955A4(s32 button_indx, s32 val){
D_8037C310.unk70[button_indx] = val;
return D_8037C310.unk7E[button_indx];
}
void func_802955BC(s32 arg0){
s32 i;
for(i=0; i<0xe; i++){
func_802955A4(i, arg0);
}
}

View File

@@ -194,8 +194,8 @@ void func_80295914(void){
miscFlag_clearAll(); miscFlag_clearAll();
func_8028B6FC(); func_8028B6FC();
func_80291590(); func_80291590();
func_802953A0(); bakey_reset();
func_8029B11C(); bastick_reset();
func_8029528C(); func_8029528C();
bsList_clearAll(); bsList_clearAll();
bs_clearState(); bs_clearState();
@@ -283,8 +283,8 @@ void func_80295C14(void){
func_8029E100(); func_8029E100();
pfsManager_update();//controller_update pfsManager_update();//controller_update
disableInput_set(); disableInput_set();
func_80295448(); bakey_update();
func_8029B174(); bastick_update();
func_8029533C(); //dive_cooldown_update func_8029533C(); //dive_cooldown_update
bs_updateState(); bs_updateState();
baphysics_update(); baphysics_update();