diff --git a/include/ac_bee.h b/include/ac_bee.h index b4f40370..2d4784c4 100644 --- a/include/ac_bee.h +++ b/include/ac_bee.h @@ -3,11 +3,38 @@ #include "types.h" #include "m_actor.h" +#include "c_keyframe.h" #ifdef __cplusplus extern "C" { #endif +#define aBEE_JOINT_NUM 4 + +typedef struct bee_actor_s BEE_ACTOR; + +struct bee_actor_s { + ACTOR actor_class; + mActor_proc action_proc; + int action; + cKF_SkeletonInfo_R_c keyframe; + s_xyz work[aBEE_JOINT_NUM]; + s_xyz morph[aBEE_JOINT_NUM]; + Mtx mtx[2][aBEE_JOINT_NUM]; + xyz_t size; + f32 speed; + f32 start_frame; + f32 pos_y; + int alpha; + s16 bobbing_counter; + s16 add_angle; + s16 fly_angle[2]; + s16 base_angle; + int catch_delay_frames; + ACTOR* insect_actor; + int disappear_timer; +}; + extern ACTOR_PROFILE Bee_Profile; #ifdef __cplusplus @@ -15,4 +42,3 @@ extern ACTOR_PROFILE Bee_Profile; #endif #endif - diff --git a/include/audio_defs.h b/include/audio_defs.h index a4b53056..334547aa 100644 --- a/include/audio_defs.h +++ b/include/audio_defs.h @@ -110,6 +110,8 @@ typedef enum audio_sound_effects { NA_SE_GOKI_MOVE = 0xA8, + NA_SE_B0 = 0xB0, + NA_SE_KA_BUZZ = 0xCF, NA_SE_108 = 0x108, diff --git a/include/m_actor.h b/include/m_actor.h index df500ddc..dd458235 100644 --- a/include/m_actor.h +++ b/include/m_actor.h @@ -16,7 +16,7 @@ extern "C" { #endif typedef void (*mActor_proc)(ACTOR*, GAME*); -#define NONE_ACTOR_PROC ((mActor_proc) & none_proc1) +#define NONE_ACTOR_PROC ((mActor_proc)&none_proc1) #define mAc_MAX_ACTORS 200 @@ -432,7 +432,7 @@ typedef enum bank_id { ACTOR_OBJ_BANK_389, ACTOR_OBJ_BANK_390, ACTOR_OBJ_BANK_TAMA, - ACTOR_OBJ_BANK_392, + ACTOR_OBJ_BANK_BEE, ACTOR_OBJ_BANK_393, ACTOR_OBJ_BANK_ROPE, ACTOR_OBJ_BANK_CRACKER, diff --git a/include/m_lib.h b/include/m_lib.h index 82bf72ac..683f0803 100644 --- a/include/m_lib.h +++ b/include/m_lib.h @@ -17,7 +17,7 @@ extern "C" { #define SQ(x) ((x) * (x)) #define CLAMP_MIN(x, min) ((x) < (min) ? (min) : (x)) #define CLAMP_MAX(x, max) ((max) < (x) ? (max) : (x)) -#define CLAMP(x, min, max) ((x) < (min) ? (min) : ((x > (max) ? (max) : (x)))) +#define CLAMP(x, min, max) ((x) < (min) ? (min) : (((x) > (max) ? (max) : (x)))) /* Float modulo operator */ #define MOD_F(a, m) (a - (int)((a) * (1.0f / (m))) * (m)) diff --git a/src/actor/ac_bee.c b/src/actor/ac_bee.c new file mode 100644 index 00000000..6f09d3e3 --- /dev/null +++ b/src/actor/ac_bee.c @@ -0,0 +1,393 @@ +#include "ac_bee.h" + +#include "m_name_table.h" +#include "libultra/libultra.h" +#include "sys_matrix.h" +#include "m_rcp.h" +#include "m_player_lib.h" +#include "m_common_data.h" +#include "ac_set_ovl_insect.h" + +enum { + aBEE_ACT_APPEAR, + aBEE_ACT_FLY, + aBEE_ACT_CAUGHT, + aBEE_ACT_ATTACK_WAIT, + aBEE_ACT_ATTACK, + aBEE_ACT_DISAPPEAR, + + aBEE_ACT_NUM +}; + +static void aBEE_actor_ct(ACTOR* actorx, GAME* game); +static void aBEE_actor_move(ACTOR* actorx, GAME* game); +static void aBEE_actor_draw(ACTOR* actorx, GAME* game); + +// clang-format off +ACTOR_PROFILE Bee_Profile = { + mAc_PROFILE_BEE, + ACTOR_PART_BG, + ACTOR_STATE_NO_MOVE_WHILE_CULLED, + EMPTY_NO, + ACTOR_OBJ_BANK_BEE, + sizeof(BEE_ACTOR), + &aBEE_actor_ct, + mActor_NONE_PROC1, + &aBEE_actor_move, + &aBEE_actor_draw, + NULL, +}; +// clang-format on + +static void aBEE_setupAction(BEE_ACTOR* bee, int action, GAME* game); + +extern cKF_Skeleton_R_c cKF_bs_r_act_bee; +extern cKF_Animation_R_c cKF_ba_r_act_bee; + +static void aBEE_actor_ct(ACTOR* actorx, GAME* game) { + BEE_ACTOR* bee = (BEE_ACTOR*)actorx; + cKF_SkeletonInfo_R_c* kf_p = &bee->keyframe; + + cKF_SkeletonInfo_R_ct(kf_p, &cKF_bs_r_act_bee, &cKF_ba_r_act_bee, bee->work, bee->morph); + cKF_SkeletonInfo_R_init_standard_repeat(kf_p, &cKF_ba_r_act_bee, NULL); + kf_p->frame_control.current_frame = 90.0f; + cKF_SkeletonInfo_R_play(kf_p); + kf_p->frame_control.speed = 0.0f; + bee->fly_angle[1] = DEG2SHORT_ANGLE2(180.0f); + bee->start_frame = 90.0f; + bzero(&actorx->scale, sizeof(actorx->scale)); + actorx->mv_proc = &aBEE_actor_move; // @cleanup - this is unnecessary + aBEE_setupAction(bee, aBEE_ACT_APPEAR, game); +} + +static f32 aBEE_calc_scale_sub(f32* scale_p, f32 target, f32 frac, f32 max_step) { + return add_calc(scale_p, target, 1.0f - sqrtf(1.0f - frac), max_step * 0.5f, 0.0f); +} + +static void aBEE_calc_scale(BEE_ACTOR* bee, f32 frac, f32 max_step) { + aBEE_calc_scale_sub(&bee->actor_class.scale.x, bee->size.x, frac, max_step); + aBEE_calc_scale_sub(&bee->actor_class.scale.y, bee->size.y, frac, max_step); + aBEE_calc_scale_sub(&bee->actor_class.scale.z, bee->size.z, frac, max_step); +} + +static void aBEE_anime_proc(BEE_ACTOR* bee) { + cKF_SkeletonInfo_R_c* kf_p = &bee->keyframe; + + kf_p->frame_control.current_frame = bee->start_frame; + cKF_SkeletonInfo_R_play(kf_p); + kf_p->frame_control.speed = 0.0f; + bee->fly_angle[0] += 500; + bee->fly_angle[1] -= 500; +} + +static void aBEE_fly_move_common(BEE_ACTOR* bee, GAME* game) { + ACTOR* player = GET_PLAYER_ACTOR_GAME_ACTOR(game); + f32 speed; + f32 angle = fabsf(90.0f - bee->start_frame) * 7.5f; + int speed_angle; + s16 abs_speed_angle; + f32 target_frame; + f32 diff; + + switch (bee->action) { + case aBEE_ACT_FLY: + case aBEE_ACT_CAUGHT: + bee->base_angle = 1600; + break; + default: + bee->base_angle = 5000; + break; + } + + add_calc_short_angle2(&bee->add_angle, bee->base_angle - (s16)angle, 1.0f - sqrtf(0.6f), 250, 0); + add_calc_short_angle2(&bee->actor_class.world.angle.y, bee->actor_class.player_angle_y, 1.0f - sqrtf(0.6f), bee->add_angle >> 1, 0); + bee->actor_class.shape_info.rotation.y = bee->actor_class.world.angle.y; + speed_angle = (int)(bee->actor_class.world.angle.y - bee->actor_class.player_angle_y); + abs_speed_angle = ABS((s16)speed_angle); + if (abs_speed_angle > DEG2SHORT_ANGLE2(-180.0f)) { + abs_speed_angle = 0; + } + + bee->speed = 2.9f; + bee->speed += fabsf((f32)((DEG2SHORT_ANGLE2(180.0f) - abs_speed_angle) / DEG2SHORT_ANGLE2(30.0f))); + add_calc(&bee->actor_class.speed, bee->speed, 1.0f - sqrtf(0.7f), 0.15f, 0.0f); + + bee->bobbing_counter += 0x900; + if (player != NULL) { + bee->pos_y = player->world.position.y + 50.0f; + } + bee->pos_y += 5.0f * sin_s(bee->bobbing_counter); + + target_frame = 90.0f + (f32)(bee->actor_class.player_angle_y - bee->actor_class.world.angle.y) / 30.0f; + if (target_frame < 0.0f) { + target_frame = 0.0f; + } else if (target_frame > 180.0f) { + target_frame = 180.0f; + } + add_calc(&bee->start_frame, target_frame, 1.0f - sqrtf(0.5f), 5.0f, 0.0f); + + diff = fabsf(90.0f - bee->start_frame); + bee->size.x = (0.75f + diff / 360.0f) * 0.01f; + bee->size.y = (0.75f + diff / 360.0f) * 0.01f; + bee->size.z = (1.5f - diff / 180.0f) * 0.01f; + aBEE_calc_scale(bee, 0.2f, 0.01f); +} + +static void aBEE_calc_fly_angle(ACTOR* actorx) { + add_calc_short_angle2(&actorx->shape_info.rotation.z, 0, 1.0f - sqrtf(0.7f), 1000, 0); + add_calc_short_angle2(&actorx->shape_info.rotation.x, 0, 1.0f - sqrtf(0.7f), 1000, 0); +} + +static void aBEE_appear(ACTOR* actorx, GAME* game) { + BEE_ACTOR* bee = (BEE_ACTOR*)actorx; + ACTOR* player = GET_PLAYER_ACTOR_GAME_ACTOR(game); + + if (player != NULL) { + bee->pos_y = player->world.position.y + 50.0f; + } + + actorx->shape_info.rotation.x = DEG2SHORT_ANGLE2(180.0f) - 1; + actorx->shape_info.rotation.z += DEG2SHORT_ANGLE2(22.5f); + + bee->alpha += 3; + if (bee->alpha >= 255) { + bee->alpha = 255; + aBEE_setupAction(bee, aBEE_ACT_FLY, game); + } else { + aBEE_calc_scale(bee, 0.1f, 0.005f); + } +} + +static void aBEE_fly(ACTOR* actorx, GAME* game) { + BEE_ACTOR* bee = (BEE_ACTOR*)actorx; + xyz_t pos; + + aBEE_calc_fly_angle(actorx); + if ((u32)bee == mPlib_Get_item_net_catch_label()) { + aBEE_setupAction(bee, aBEE_ACT_CAUGHT, game); + } else if (actorx->shape_info.rotation.x <= DEG2SHORT_ANGLE2(22.5f)) { + if (mPlib_check_player_actor_main_index_Pitfall(game)) { + aBEE_setupAction(bee, aBEE_ACT_ATTACK_WAIT, game); + } else { + switch (mPlib_Get_status_for_bee()) { + case mPlayer_STATUS_FOR_BEE_ENTER_BUILDING: + aBEE_setupAction(bee, aBEE_ACT_DISAPPEAR, game); + return; + case mPlayer_STATUS_FOR_BEE_ATTACK: + if (actorx->player_distance_xz < 30.0f) { + mPlib_request_main_stung_bee_type1(game); + aBEE_setupAction(bee, aBEE_ACT_ATTACK, game); + return; + } + break; + default: + if (actorx->player_distance_xz < 30.0f) { + aBEE_setupAction(bee, aBEE_ACT_ATTACK_WAIT, game); + return; + } + break; + } + + if (bee->catch_delay_frames > 0) { + bee->catch_delay_frames--; + } else { + f32 swing_timer; + + swing_timer = GET_PLAYER_ACTOR_NOW()->Get_Item_net_catch_swing_timer_proc(GET_PLAYER_ACTOR_NOW_ACTOR(), gamePT); + if ((swing_timer > 0.0f || mPlib_Check_StopNet(&pos)) && actorx->player_distance_xz < 40.0f) { + GET_PLAYER_ACTOR_NOW()->Set_Item_net_catch_request_force_proc(GET_PLAYER_ACTOR_NOW_ACTOR(), gamePT, (u32)actorx, TRUE); + } else { + GET_PLAYER_ACTOR_NOW()->Set_Item_net_catch_request_table_proc(GET_PLAYER_ACTOR_NOW_ACTOR(), gamePT, (u32)actorx, TRUE, &actorx->world.position, 24.0f); + } + } + + aBEE_fly_move_common(bee, game); + } + } +} + +static void aBEE_caught(ACTOR* actorx, GAME* game) { + BEE_ACTOR* bee = (BEE_ACTOR*)actorx; + + if (bee->insect_actor == NULL) { + aINS_Init_c insect_data; + + insect_data.insect_type = aSOI_INSECT_TYPE_BEE; + xyz_t_move(&insect_data.position, &bee->actor_class.world.position); + insect_data.extra_data = 0; + insect_data.game = game; + + bee->insect_actor = CLIP(insect_clip)->make_insect_proc(&insect_data, aINS_MAKE_EXIST); + } + + if (bee->insect_actor != NULL) { + if (mPlib_Change_item_net_catch_label((u32)bee->insect_actor, 0)) { + aBEE_setupAction(bee, aBEE_ACT_DISAPPEAR, game); + return; + } + } else { + bee->disappear_timer++; + if (bee->disappear_timer > 1) { + aBEE_setupAction(bee, aBEE_ACT_DISAPPEAR, game); + return; + } + } + + aBEE_fly_move_common(bee, game); +} + +static void aBEE_attack_wait(ACTOR* actorx, GAME* game) { + // TODO: this function is suspicious, only matches when accessing actorx. + // It might be that these all are (BEE_ACTOR*, GAME*) funcs. + BEE_ACTOR* bee = (BEE_ACTOR*)actorx; + + aBEE_calc_fly_angle(actorx); + if (actorx->shape_info.rotation.x <= DEG2SHORT_ANGLE2(22.5f)) { + switch (mPlib_Get_status_for_bee()) { + case mPlayer_STATUS_FOR_BEE_ENTER_BUILDING: + aBEE_setupAction((BEE_ACTOR*)actorx, aBEE_ACT_DISAPPEAR, game); + return; + case mPlayer_STATUS_FOR_BEE_ATTACK: + if (actorx->player_distance_xz < 30.0f) { + mPlib_request_main_stung_bee_type1(game); + aBEE_setupAction((BEE_ACTOR*)actorx, aBEE_ACT_ATTACK, game); + } + break; + } + + aBEE_fly_move_common((BEE_ACTOR*)actorx, game); + } +} + +static void aBEE_attack(ACTOR* actorx, GAME* game) { + // TODO: this function is suspicious, only matches when accessing actorx. + // It might be that these all are (BEE_ACTOR*, GAME*) funcs. + BEE_ACTOR* bee = (BEE_ACTOR*)actorx; + + aBEE_calc_fly_angle(actorx); + if (actorx->shape_info.rotation.x <= DEG2SHORT_ANGLE2(22.5f)) { + if (mPlib_get_player_actor_main_index(game) == mPlayer_INDEX_STUNG_BEE) { + if (mPlib_Check_end_stung_bee()) { + aBEE_setupAction((BEE_ACTOR*)actorx, aBEE_ACT_DISAPPEAR, game); + return; + } + } else { + mPlib_request_main_stung_bee_type1(game); + } + + aBEE_fly_move_common((BEE_ACTOR*)actorx, game); + } +} + +static void aBEE_disappear(ACTOR* actorx, GAME* game) { + BEE_ACTOR* bee = (BEE_ACTOR*)actorx; + + bee->size.x = 0.03f; + bee->size.y = bee->size.z = bee->size.x; + bee->alpha -= 15; + + if (bee->alpha < 0) { + bee->alpha = 0; + Actor_delete(actorx); + } else { + aBEE_calc_scale(bee, 0.1f, 0.01f); + } +} + +static void aBEE_appear_init(BEE_ACTOR* bee, GAME* game) { + static xyz_t Size_data = { 0.01f, 0.01f, 0.01f }; + + xyz_t_move(&bee->size, &Size_data); + Common_Set(player_bee_chase_flag, TRUE); +} + +static void aBEE_fly_init(BEE_ACTOR* bee, GAME* game) { + bee->catch_delay_frames = 60; +} + +static void aBEE_caught_init(BEE_ACTOR* bee, GAME* game) { + bee->disappear_timer = 0; +} + +static void aBEE_disappear_init(BEE_ACTOR* bee, GAME* game) { + bee->actor_class.speed = 9.7f; + bee->actor_class.shape_info.rotation.x = 0; + bee->actor_class.shape_info.rotation.z = 0; +} + +typedef void (*aBEE_INIT_PROC)(BEE_ACTOR*, GAME*); + +static void aBEE_setupAction(BEE_ACTOR* bee, int action, GAME* game) { + static aBEE_INIT_PROC init_proc[] = { + &aBEE_appear_init, + &aBEE_fly_init, + &aBEE_caught_init, + (aBEE_INIT_PROC)&none_proc1, + (aBEE_INIT_PROC)&none_proc1, + &aBEE_disappear_init, + }; + + static mActor_proc act_proc[] = { + &aBEE_appear, + &aBEE_fly, + &aBEE_caught, + &aBEE_attack_wait, + &aBEE_attack, + &aBEE_disappear, + }; + + bee->action = action; + bee->action_proc = act_proc[action]; + (*init_proc[action])(bee, game); +} + +static void aBEE_actor_move(ACTOR* actorx, GAME* game) { + BEE_ACTOR* bee = (BEE_ACTOR*)actorx; + + sAdo_OngenPos((u32)actorx, NA_SE_B0, &actorx->world.position); + if ((actorx->world.position.x < 0.0f && actorx->world.position.z < 0.0f)) { + // empty block, maybe for debug? + } else { + if (bee->action == aBEE_ACT_ATTACK || mFI_GetPlayerWade() == mFI_WADE_NONE) { + Actor_position_moveF(actorx); + } + + (*bee->action_proc)(actorx, game); + aBEE_anime_proc(bee); + add_calc(&actorx->world.position.y, bee->pos_y, 1.0f - sqrtf(0.7f), 1.5f, 0.0f); + } +} + +static void aBEE_actor_draw(ACTOR* actorx, GAME* game) { + GAME_PLAY* play = (GAME_PLAY*)game; + GRAPH* graph; + BEE_ACTOR* bee = (BEE_ACTOR*)actorx; + int idx; + Mtx* mtx; + Gfx* gfx; + + if (actorx->world.position.x < 0.0f || actorx->world.position.z < 0.0f) { + return; + } + + graph = game->graph; + gfx = two_tex_scroll_dolphin(graph, 0, 180.0f * sin_s(bee->fly_angle[0]), 180.0f * cos_s(bee->fly_angle[0]), 32, 32, 1, 180.0f * cos_s(bee->fly_angle[1]), 180.0f * sin_s(bee->fly_angle[1]), 32, 32); + if (gfx != NULL) { + idx = game->frame_counter & 1; + mtx = bee->mtx[idx]; + + Matrix_push(); + _texture_z_light_fog_prim_xlu(graph); + Setpos_HiliteReflect_xlu_init(&actorx->world.position, play); + + OPEN_POLY_XLU_DISP(graph); + + gDPSetPrimColor(POLY_XLU_DISP++, 0, 255, 0, 0, 0, bee->alpha); + gSPSegment(POLY_XLU_DISP++, ANIME_1_TXT_SEG, gfx); + + CLOSE_POLY_XLU_DISP(graph); + + cKF_Si3_draw_R_SV(game, &bee->keyframe, mtx, NULL, NULL, bee); + Matrix_pull(); + } +} diff --git a/src/game/m_player_main_air_axe.c_inc b/src/game/m_player_main_air_axe.c_inc index d5e643c2..73b67229 100644 --- a/src/game/m_player_main_air_axe.c_inc +++ b/src/game/m_player_main_air_axe.c_inc @@ -63,7 +63,7 @@ static void Player_actor_request_proc_index_fromAir_axe(ACTOR* actor, GAME* game if (Player_actor_Check_AnimationFrame(&kf->frame_control, 35.5f)) { Player_actor_SettleRequestMainIndexPriority(actor); - Player_actor_Set_status_for_bee(actor, TRUE); + Player_actor_Set_status_for_bee(actor, mPlayer_STATUS_FOR_BEE_ATTACK); } else if ((kf->frame_control.current_frame >= 36.0f) && (!Player_actor_CheckAndRequest_main_axe_all(game, mPlayer_REQUEST_PRIORITY_4)) && ((Player_actor_GetController_move_percentX()) || (Player_actor_GetController_move_percentY()))) { diff --git a/src/game/m_player_main_dig_scoop.c_inc b/src/game/m_player_main_dig_scoop.c_inc index e6dbc7f9..79d62ab5 100644 --- a/src/game/m_player_main_dig_scoop.c_inc +++ b/src/game/m_player_main_dig_scoop.c_inc @@ -251,7 +251,7 @@ static void Player_actor_request_proc_index_fromDig_scoop(ACTOR* actor, GAME* ga if (Player_actor_Check_AnimationFrame(fc, 34.5f + mod)) { Player_actor_SettleRequestMainIndexPriority(actor); - Player_actor_Set_status_for_bee(actor, TRUE); + Player_actor_Set_status_for_bee(actor, mPlayer_STATUS_FOR_BEE_ATTACK); } else { f32 cur_frame = fc->current_frame; diff --git a/src/game/m_player_main_fill_scoop.c_inc b/src/game/m_player_main_fill_scoop.c_inc index 2275c26b..f5d864b4 100644 --- a/src/game/m_player_main_fill_scoop.c_inc +++ b/src/game/m_player_main_fill_scoop.c_inc @@ -166,7 +166,7 @@ static void Player_actor_request_proc_index_fromFill_scoop(ACTOR* actor, GAME* g if (Player_actor_Check_AnimationFrame(fc, 44.5f + mod)) { Player_actor_SettleRequestMainIndexPriority(actor); - Player_actor_Set_status_for_bee(actor, TRUE); + Player_actor_Set_status_for_bee(actor, mPlayer_STATUS_FOR_BEE_ATTACK); } else { f32 cur_frame = fc->current_frame; diff --git a/src/game/m_player_main_mail_land.c_inc b/src/game/m_player_main_mail_land.c_inc index 096b8deb..2d2468e4 100644 --- a/src/game/m_player_main_mail_land.c_inc +++ b/src/game/m_player_main_mail_land.c_inc @@ -51,7 +51,7 @@ static void Player_actor_request_proc_index_fromMail_land(ACTOR* actorx, GAME* g if (Player_actor_Check_AnimationFrame(fc0_p, 16.5f)) { Player_actor_SettleRequestMainIndexPriority(actorx); - Player_actor_Set_status_for_bee(actorx, TRUE); + Player_actor_Set_status_for_bee(actorx, mPlayer_STATUS_FOR_BEE_ATTACK); } else if (fc0_p->current_frame <= 16.0f && (Player_actor_GetController_move_percentX() || Player_actor_GetController_move_percentY())) { Player_actor_request_main_walk_all(game, NULL, -5.0f, 0, mPlayer_REQUEST_PRIORITY_1); diff --git a/src/game/m_player_main_radio_exercise.c_inc b/src/game/m_player_main_radio_exercise.c_inc index b8fba729..3860ef35 100644 --- a/src/game/m_player_main_radio_exercise.c_inc +++ b/src/game/m_player_main_radio_exercise.c_inc @@ -177,7 +177,7 @@ static void Player_actor_request_proc_index_fromRadio_exercise(ACTOR* actorx, GA if (radio_exercise_p->_08 == FALSE) { if (cur_frame >= fc0_p->end_frame - 0.5f) { Player_actor_SettleRequestMainIndexPriority(actorx); - Player_actor_Set_status_for_bee(actorx, TRUE); + Player_actor_Set_status_for_bee(actorx, mPlayer_STATUS_FOR_BEE_ATTACK); radio_exercise_p->_08 = TRUE; } } else if (end_flag) { diff --git a/src/game/m_player_main_reflect_axe.c_inc b/src/game/m_player_main_reflect_axe.c_inc index 3784efd3..09c8cc68 100644 --- a/src/game/m_player_main_reflect_axe.c_inc +++ b/src/game/m_player_main_reflect_axe.c_inc @@ -199,7 +199,7 @@ static void Player_actor_request_proc_index_fromReflect_axe(ACTOR* actor, GAME* if (Player_actor_Check_AnimationFrame(fc, 30.5f)) { Player_actor_SettleRequestMainIndexPriority(actor); - Player_actor_Set_status_for_bee(actor, 1); + Player_actor_Set_status_for_bee(actor, mPlayer_STATUS_FOR_BEE_ATTACK); } else if ((fc->current_frame >= 31.0f) && (!Player_actor_CheckAndRequest_main_axe_all(game, mPlayer_REQUEST_PRIORITY_4)) && diff --git a/src/game/m_player_main_reflect_scoop.c_inc b/src/game/m_player_main_reflect_scoop.c_inc index 59831afe..0dedb324 100644 --- a/src/game/m_player_main_reflect_scoop.c_inc +++ b/src/game/m_player_main_reflect_scoop.c_inc @@ -261,7 +261,7 @@ static void Player_actor_request_proc_index_fromReflect_scoop(ACTOR* actor, GAME if (Player_actor_Check_AnimationFrame(fc, 29.5f)) { Player_actor_SettleRequestMainIndexPriority(actor); - Player_actor_Set_status_for_bee(actor, TRUE); + Player_actor_Set_status_for_bee(actor, mPlayer_STATUS_FOR_BEE_ATTACK); } else { f32 cur_frame = fc->current_frame; diff --git a/src/game/m_player_main_rotate_umbrella.c_inc b/src/game/m_player_main_rotate_umbrella.c_inc index d462506d..f2054d78 100644 --- a/src/game/m_player_main_rotate_umbrella.c_inc +++ b/src/game/m_player_main_rotate_umbrella.c_inc @@ -43,7 +43,7 @@ static void Player_actor_request_proc_index_fromRotate_umbrella(ACTOR* actorx, G if (Player_actor_Check_AnimationFrame(fc0_p, 19.5f)) { Player_actor_SettleRequestMainIndexPriority(actorx); - Player_actor_Set_status_for_bee(actorx, TRUE); + Player_actor_Set_status_for_bee(actorx, mPlayer_STATUS_FOR_BEE_ATTACK); } else { if (fc0_p->current_frame >= 20.0f && Player_actor_CheckAndRequest_main_umbrella_all(game, mPlayer_REQUEST_PRIORITY_4) == FALSE) { diff --git a/src/game/m_player_main_shake_tree.c_inc b/src/game/m_player_main_shake_tree.c_inc index ae309916..36434dec 100644 --- a/src/game/m_player_main_shake_tree.c_inc +++ b/src/game/m_player_main_shake_tree.c_inc @@ -145,7 +145,7 @@ static void Player_actor_request_proc_index_fromShake_tree(ACTOR* actorx, GAME* } } else if (Player_actor_Check_AnimationFrame(fc0_p, 29.5f)) { Player_actor_SettleRequestMainIndexPriority(actorx); - Player_actor_Set_status_for_bee(actorx, TRUE); + Player_actor_Set_status_for_bee(actorx, mPlayer_STATUS_FOR_BEE_ATTACK); } else if (cur_frame >= 30.0f) { if (Player_actor_GetController_move_percentX() || Player_actor_GetController_move_percentY()) { Player_actor_request_main_walk_all(game, NULL, -5.0f, 0, mPlayer_REQUEST_PRIORITY_1); diff --git a/src/game/m_player_main_swing_axe.c_inc b/src/game/m_player_main_swing_axe.c_inc index 0e383f6b..1955aacb 100644 --- a/src/game/m_player_main_swing_axe.c_inc +++ b/src/game/m_player_main_swing_axe.c_inc @@ -274,7 +274,7 @@ static void Player_actor_request_proc_index_fromSwing_axe(ACTOR* actor, GAME* ga } } else if (Player_actor_Check_AnimationFrame(fc, 16.5f)) { Player_actor_SettleRequestMainIndexPriority(actor); - Player_actor_Set_status_for_bee(actor, 1); + Player_actor_Set_status_for_bee(actor, mPlayer_STATUS_FOR_BEE_ATTACK); } else if ((current >= 17.0f) && (!Player_actor_CheckAndRequest_main_axe_all(game, 4)) && ((Player_actor_GetController_move_percentX()) || (Player_actor_GetController_move_percentY()))) { diff --git a/src/game/m_player_main_swing_fan.c_inc b/src/game/m_player_main_swing_fan.c_inc index 2e0d0977..354ab94f 100644 --- a/src/game/m_player_main_swing_fan.c_inc +++ b/src/game/m_player_main_swing_fan.c_inc @@ -71,7 +71,7 @@ static void Player_actor_request_proc_index_fromSwing_fan(ACTOR* actorx, GAME* g if (Player_actor_Check_AnimationFrame(fc0_p, 7.5f)) { Player_actor_SettleRequestMainIndexPriority(actorx); - Player_actor_Set_status_for_bee(actorx, TRUE); + Player_actor_Set_status_for_bee(actorx, mPlayer_STATUS_FOR_BEE_ATTACK); } else { f32 cur_frame = fc0_p->current_frame;