match m_player_main_return_outdoor

This commit is contained in:
Prakxo
2024-08-26 20:54:16 +02:00
parent 24f6e78d00
commit eb57b46bbe
2 changed files with 86 additions and 0 deletions
+14
View File
@@ -597,6 +597,18 @@ typedef struct player_request_return_demo_s {
f32 time;
} mPlayer_request_return_demo_c;
typedef struct player_request_return_outdoor_s {
int prev_main_index;
f32 time;
f32 _08;
} mPlayer_request_return_outdoor_c;
typedef struct player_request_return_outdoor2_s {
int prev_main_index;
f32 time;
f32 _08;
} mPlayer_request_return_outdoor2_c;
typedef struct player_request_wait_s {
f32 morph_speed;
f32 _04;
@@ -1183,6 +1195,8 @@ typedef union {
mPlayer_request_release_creature_balloon_from_submenu_c release_creature_balloon_from_submenu;
mPlayer_request_demo_wait_from_submenu_c demo_wait_from_submenu;
mPlayer_request_return_demo_c return_demo;
mPlayer_request_return_outdoor_c return_outdoor;
mPlayer_request_return_outdoor2_c return_outdoor2;
mPlayer_request_wait_c wait;
mPlayer_request_talk_c talk;
mPlayer_request_hold_c hold;
+72
View File
@@ -0,0 +1,72 @@
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->requested_main_index_data.return_outdoor.prev_main_index = prev_index;
player->requested_main_index_data.return_outdoor.time = time;
player->requested_main_index_data.return_outdoor._08 = arg5;
Player_actor_request_main_index(game, mPlayer_INDEX_RETURN_OUTDOOR, now_index);
return TRUE;
}
else{
return FALSE;
}
}
void Player_actor_setup_main_Return_outdoor(ACTOR* actor, GAME* game){
PLAYER_ACTOR* player = (PLAYER_ACTOR*)actor;
int anim_idx;
int part_table_idx;
f32 _08 = player->requested_main_index_data.return_outdoor._08;
Player_actor_SetupItem_Base1(actor, 0, -5.0f, &anim_idx, &part_table_idx);
player->main_data.return_outdoor.timer = 0.0f;
player->main_data.return_outdoor.max_timer = player->requested_main_index_data.return_outdoor.time;
player->main_data.return_outdoor.prev_main_index = player->requested_main_index_data.return_outdoor.prev_main_index;
Player_actor_InitAnimation_Base1(actor, game, mPlayer_ANIM_WAIT1, anim_idx, 1.0f, 1.0f, 0.5f, _08, part_table_idx);
Player_actor_setup_main_Base(actor,game);
}
void Player_actor_CulcAnimation_Return_outdoor(ACTOR* actor){
f32 base;
Player_actor_CulcAnimation_Base2(actor, &base);
}
void Player_actor_Movement_Return_outdoor(ACTOR* actor){
Player_actor_Movement_Base_Braking(actor);
}
void Player_actor_ObjCheck_Return_outdoor(ACTOR* actor, GAME* game){
Player_actor_Excute_Corect_forStand(actor,game);
}
void Player_actor_BGcheck_Return_outdoor(ACTOR* actor){
Player_actor_BGcheck_common_type1(actor);
}
void Player_actor_request_proc_index_fromReturn_outdoor(ACTOR* actor, GAME* game){
PLAYER_ACTOR* player = (PLAYER_ACTOR*)actor;
f32 max_timer = player->main_data.return_outdoor.max_timer;
int prev = player->main_data.return_outdoor.prev_main_index;
player->main_data.return_outdoor.timer += 1.0f;
if(player->main_data.return_outdoor.timer >= max_timer){
Player_actor_request_main_return_outdoor2_all(game, prev, mPlayer_INDEX_INTRO, 3.0f, -5.0f);
}
}
void Player_actor_main_Return_outdoor(ACTOR* actor, GAME* game){
Player_actor_Movement_Return_outdoor(actor);
Player_actor_Reinput_force_position_angle(actor, game);
Player_actor_CulcAnimation_Return_outdoor(actor);
Player_actor_recover_lean_angle(actor);
Player_actor_set_eye_pattern_normal(actor);
Player_actor_ObjCheck_Return_outdoor(actor, game);
Player_actor_BGcheck_Return_outdoor(actor);
Player_actor_Item_main(actor, game);
Player_actor_request_proc_index_fromReturn_outdoor(actor, game);
}