mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-06-25 16:04:29 -04:00
match m_player_main_return_outdoor
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user