match m_player_main_wait

This commit is contained in:
Prakxo
2024-08-26 23:09:00 +02:00
parent 8f19bf3f04
commit 306edd74fa
5 changed files with 125 additions and 4 deletions
+5
View File
@@ -1301,6 +1301,10 @@ typedef struct player_main_return_outdoor2_s {
int prev_main_index;
} mPlayer_main_return_outdoor2_c;
typedef struct player_main_wait_s {
int radio_exercise_command;
} mPlayer_main_wait_c;
typedef struct player_main_wade_s {
int dir;
xyz_t start_pos;
@@ -1379,6 +1383,7 @@ typedef union {
mPlayer_main_return_demo_c return_demo;
mPlayer_main_return_outdoor_c return_outdoor;
mPlayer_main_return_outdoor2_c return_outdoor2;
mPlayer_main_wait_c wait;
mPlayer_main_wade_c wade;
mPlayer_main_pickup_c pickup;
mPlayer_main_pickup_jump_c pickup_jump;
+2 -2
View File
@@ -2,8 +2,8 @@
int Player_actor_request_main_return_demo_all(GAME* game, int prev_index, int now_index, f32 time){
if(Player_actor_check_request_main_able(game, mPlayer_INDEX_RETURN_DEMO, now_index)){
PLAYER_ACTOR* player = GET_PLAYER_ACTOR((GAME_PLAY*)game);
PLAYER_ACTOR* player = GET_PLAYER_ACTOR_GAME(game);
player->requested_main_index_data.return_demo.prev_main_index = prev_index;
player->requested_main_index_data.return_demo.time = time;
Player_actor_request_main_index(game, mPlayer_INDEX_RETURN_DEMO, now_index);
+1 -1
View File
@@ -1,7 +1,7 @@
int Player_actor_request_main_return_outdoor_all(GAME* game, int prev_index, int now_index, f32 time, f32 arg5){
if(Player_actor_check_request_main_able(game, mPlayer_INDEX_RETURN_OUTDOOR, now_index)){
PLAYER_ACTOR* player = GET_PLAYER_ACTOR((GAME_PLAY*)game);
PLAYER_ACTOR* player = GET_PLAYER_ACTOR_GAME(game);
player->requested_main_index_data.return_outdoor.prev_main_index = prev_index;
player->requested_main_index_data.return_outdoor.time = time;
+1 -1
View File
@@ -1,7 +1,7 @@
int Player_actor_request_main_return_outdoor2_all(GAME* game, int prev_index, int now_index, f32 time, f32 arg5){
if(Player_actor_check_request_main_able(game, mPlayer_INDEX_RETURN_OUTDOOR2, now_index)){
PLAYER_ACTOR* player = GET_PLAYER_ACTOR((GAME_PLAY*)game);
PLAYER_ACTOR* player = GET_PLAYER_ACTOR_GAME(game);
player->requested_main_index_data.return_outdoor2.prev_main_index = prev_index;
player->requested_main_index_data.return_outdoor2.time = time;
+116
View File
@@ -0,0 +1,116 @@
int Player_actor_request_main_wait_all(GAME* game, f32 morph_speed, f32 _04, int flags, int now_index){
if(Player_actor_check_request_main_able(game, mPlayer_INDEX_WAIT, now_index)){
PLAYER_ACTOR* player = GET_PLAYER_ACTOR_GAME(game);
Player_actor_request_main_index(game, mPlayer_INDEX_WAIT, now_index);
player->requested_main_index_data.wait.morph_speed = morph_speed;
player->requested_main_index_data.wait.flags = flags;
player->requested_main_index_data.wait._04 = _04;
return TRUE;
}
else{
return FALSE;
}
}
void Player_actor_request_main_wait_from_submenu(ACTOR* actor, GAME* game){
Player_actor_request_main_wait_all(game, -5.0f, 0.0f, 0, 31);
}
void Player_actor_setup_main_Wait(ACTOR* actor, GAME* game){
PLAYER_ACTOR* player = (PLAYER_ACTOR*)actor;
int flags = player->requested_main_index_data.wait.flags;
f32 speed = player->requested_main_index_data.wait.morph_speed;
f32 absspeed;
int anim_idx;
int part_table_idx;
if(flags & 4){
player->main_data.wait.radio_exercise_command = 0;
}
else{
player->main_data.wait.radio_exercise_command = 1;
player->radio_exercise_continue_cmd_idx = -1;
player->radio_exercise_cmd_timer = 0.0f;
}
absspeed = ABS(speed);
Player_actor_SetupItem_Base1(actor, 0, -absspeed, &anim_idx, &part_table_idx);
Player_actor_InitAnimation_Base1(actor, game, mPlayer_ANIM_WAIT1, anim_idx, 1.0f, 1.0f, 0.5f, speed, part_table_idx);
if (flags & 1) {
Player_actor_SetEffect_forTakeout_item(actor, game);
}
Player_actor_setup_main_Base(actor,game);
}
void Player_actor_Set_RadioExerciseCommand_Wait(ACTOR* actor, GAME* game){
PLAYER_ACTOR* player = (PLAYER_ACTOR*)actor;
Player_actor_Set_RadioExerciseCommand(actor, game, player->main_data.wait.radio_exercise_command);
player->main_data.wait.radio_exercise_command = 0;
}
void Player_actor_Movement_Wait(ACTOR* actor){
Player_actor_Movement_Base_Braking_common(actor, 0.23925f);
}
void Player_actor_CulcAnimation_Wait(ACTOR* actor){
f32 base;
Player_actor_CulcAnimation_Base2(actor, &base);
}
void Player_actor_ObjCheck_Wait(ACTOR* actor, GAME* game){
Player_actor_Excute_Corect_forStand(actor, game);
}
void Player_actor_BGcheck_Wait(ACTOR* actor){
Player_actor_BGcheck_common_type1(actor);
}
void Player_actor_request_proc_index_fromWait(ACTOR* actor, GAME* game){
if(!actor->bg_collision_check.result.on_ground){
Player_actor_request_main_fall_all(game, -5.0f, 1, 1);
}
Player_actor_CheckAndRequest_main_axe_all(game, 4);
if (Player_actor_CheckController_forNet(game) != 0) {
Player_actor_request_main_ready_net(game, 4);
}
if (Player_actor_CheckController_forRod(game) != 0) {
Player_actor_request_main_ready_rod(game, 4);
}
Player_actor_CheckAndRequest_main_scoop_all(game, 4);
Player_actor_CheckAndRequest_main_umbrella_all(game, 4);
Player_actor_CheckAndRequest_main_fan_all(game, 1, 1, 4);
Player_actor_CheckAndRequest_main_shake_tree_all(game);
if ((Player_actor_GetController_move_percentX()) || (Player_actor_GetController_move_percentY())) {
Player_actor_request_main_walk_all(game, NULL, -5.0f, 4, 1);
}
Player_actor_CheckAndRequest_main_pickup_all(game);
Player_actor_CheckAndRequest_main_radio_exercise_all(game, 0);
}
void Player_actor_main_Wait(ACTOR* actor, GAME* game){
Player_actor_Set_RadioExerciseCommand_Wait(actor, game);
Player_actor_Movement_Wait(actor);
Player_actor_Reinput_force_position_angle(actor, game);
Player_actor_CulcAnimation_Wait(actor);
Player_actor_recover_lean_angle(actor);
Player_actor_set_eye_pattern_normal(actor);
Player_actor_ObjCheck_Wait(actor, game);
Player_actor_BGcheck_Wait(actor);
Player_actor_Item_main(actor, game);
Player_actor_request_proc_index_fromWait(actor, game);
}