mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-06-04 18:28:49 -04:00
Match m_player_other_func.c_inc
This commit is contained in:
@@ -0,0 +1,308 @@
|
||||
|
||||
void Player_actor_ct_other_func1(ACTOR* actor, GAME* game) {
|
||||
GAME_PLAY* play = (GAME_PLAY*)game;
|
||||
|
||||
play->submenu.disable_start_btn_flag = TRUE;
|
||||
actor->unknown_b4 = 1;
|
||||
|
||||
Actor_info_make_actor(&play->actor_info, game, mAc_PROFILE_FIELD_DRAW, actor->world.position.x,
|
||||
actor->world.position.y, actor->world.position.z, 0, 0, 0, -1, -1,
|
||||
-1, EMPTY_NO, -1, -1, -1);
|
||||
}
|
||||
|
||||
void Player_actor_setup_main_Wade_other_func1(ACTOR* actor, GAME* game) {
|
||||
GAME_PLAY* play = (GAME_PLAY*)game;
|
||||
|
||||
play->object_exchange._1954 = TRUE;
|
||||
}
|
||||
|
||||
void Player_actor_setup_main_Wade_snowball_other_func1(ACTOR* actor, GAME* game) {
|
||||
Player_actor_setup_main_Wade_other_func1(actor, game);
|
||||
}
|
||||
|
||||
void Player_actor_setup_main_Wade_other_func2(ACTOR* actor, GAME* game) {
|
||||
PLAYER_ACTOR* player = (PLAYER_ACTOR*)actor;
|
||||
GAME_PLAY* play = (GAME_PLAY*)game;
|
||||
xyz_t pos = player->main_data.wade.end_pos;
|
||||
|
||||
mFI_SetBearActor(play, pos, TRUE);
|
||||
|
||||
Common_Set(in_initial_block, FALSE);
|
||||
}
|
||||
|
||||
void Player_actor_setup_main_Wade_snowball_other_func2(ACTOR* actor, GAME* game) {
|
||||
Player_actor_setup_main_Wade_other_func2(actor, game);
|
||||
}
|
||||
|
||||
void Player_actor_setup_main_Demo_wade_other_func2(ACTOR* actor, GAME* game) {
|
||||
PLAYER_ACTOR* player = (PLAYER_ACTOR*)actor;
|
||||
GAME_PLAY* play = (GAME_PLAY*)game;
|
||||
xyz_t pos = player->main_data.wade.end_pos;
|
||||
|
||||
mFI_SetBearActor(play, pos, TRUE);
|
||||
|
||||
Common_Set(in_initial_block, FALSE);
|
||||
}
|
||||
|
||||
void Player_actor_setup_main_Demo_geton_boat_wade_other_func2(ACTOR* actor, GAME* game) {
|
||||
PLAYER_ACTOR* player = (PLAYER_ACTOR*)actor;
|
||||
GAME_PLAY* play = (GAME_PLAY*)game;
|
||||
xyz_t pos = player->main_data.wade.end_pos;
|
||||
|
||||
mFI_SetBearActor(play, pos, TRUE);
|
||||
|
||||
Common_Set(in_initial_block, FALSE);
|
||||
}
|
||||
|
||||
void Player_actor_ChangeFace_for_Wade(ACTOR* actor, GAME* game, f32 timer) {
|
||||
if (18.0f <= timer && timer < 19.0f) {
|
||||
int rank = 0;
|
||||
|
||||
rank |= Player_actor_Set_player_sunburn_rankup(actor);
|
||||
rank |= Player_actor_Set_player_sunburn_rankdown(actor);
|
||||
|
||||
if (rank != 0) {
|
||||
mPlib_change_player_face_pallet(game);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Player_actor_main_Wade_other_func1(ACTOR* actor, GAME* game) {
|
||||
PLAYER_ACTOR* player = (PLAYER_ACTOR*)actor;
|
||||
|
||||
Player_actor_ChangeFace_for_Wade(actor, game, player->main_data.wade.timer);
|
||||
}
|
||||
|
||||
void Player_actor_main_Demo_wade_other_func1(ACTOR* actor, GAME* game) {
|
||||
PLAYER_ACTOR* player = (PLAYER_ACTOR*)actor;
|
||||
|
||||
Player_actor_ChangeFace_for_Wade(actor, game, player->main_data.wade.timer);
|
||||
}
|
||||
|
||||
void Player_actor_main_Wade_snowball_other_func1(ACTOR* actor, GAME* game) {
|
||||
PLAYER_ACTOR* player = (PLAYER_ACTOR*)actor;
|
||||
|
||||
Player_actor_ChangeFace_for_Wade(actor, game, player->main_data.wade.timer);
|
||||
}
|
||||
|
||||
void Player_actor_main_Demo_geton_boat_wade_other_func1(ACTOR* actor, GAME* game) {
|
||||
PLAYER_ACTOR* player = (PLAYER_ACTOR*)actor;
|
||||
|
||||
Player_actor_ChangeFace_for_Wade(actor, game, player->main_data.wade.timer);
|
||||
}
|
||||
|
||||
void Player_actor_main_Sitdown_wait_other_func2(ACTOR* actor) {
|
||||
if (Common_Get(clip.my_room_clip)) {
|
||||
Common_Get(clip.my_room_clip)->call_sit_down_ongen_pos_se_proc(&actor->world.position);
|
||||
}
|
||||
}
|
||||
|
||||
void Player_actor_main_Relax_rod_other_func2(ACTOR* actor, GAME* game) {
|
||||
PLAYER_ACTOR* player = (PLAYER_ACTOR*)actor;
|
||||
Player_actor_request_camera2_main_simple_fishing(actor, game);
|
||||
}
|
||||
|
||||
void Player_actor_main_Vib_rod_other_func2(ACTOR* actor, GAME* game) {
|
||||
Player_actor_request_camera2_main_simple_fishing(actor, game);
|
||||
}
|
||||
|
||||
void Player_actor_main_Collect_rod_other_func2(ACTOR* actor, GAME* game) {
|
||||
Player_actor_request_camera2_main_simple_return(actor, game);
|
||||
}
|
||||
|
||||
void Player_actor_main_Fly_rod_other_func2(ACTOR* actor, GAME* game) {
|
||||
Player_actor_request_camera2_main_simple_return(actor, game);
|
||||
}
|
||||
|
||||
void Player_actor_settle_main_Collect_rod_other_func2(ACTOR* actor, GAME* game) {
|
||||
Player_actor_request_camera2_main_normal(game);
|
||||
}
|
||||
|
||||
void Player_actor_settle_main_Fly_rod_other_func2(ACTOR* actor, GAME* game) {
|
||||
Player_actor_request_camera2_change_priority(game);
|
||||
}
|
||||
|
||||
void Player_actor_set_nextgoto_info_type0(ACTOR* actor) {
|
||||
GAME_PLAY* play = (GAME_PLAY*)gamePT;
|
||||
PLAYER_ACTOR* player = GET_PLAYER_ACTOR(play);
|
||||
|
||||
if (goto_other_scene(play, Common_GetPointer(structure_exit_door_data), TRUE) != TRUE) {
|
||||
mDemo_End(actor);
|
||||
} else {
|
||||
aMR_SaveWaltzTempo2();
|
||||
mBGMPsComp_make_ps_wipe(0x195);
|
||||
}
|
||||
player->update_scene_bg_mode = TRUE;
|
||||
}
|
||||
|
||||
void Player_actor_set_nextgoto_info_type1(ACTOR* actor) {
|
||||
GAME_PLAY* play = (GAME_PLAY*)gamePT;
|
||||
PLAYER_ACTOR* player = (PLAYER_ACTOR*)actor;
|
||||
|
||||
if (goto_next_scene(play, player->item_in_front - DOOR_START, TRUE) != TRUE) {
|
||||
mDemo_End(actor);
|
||||
} else {
|
||||
int scene = Common_Get(door_data).next_scene_id - 1;
|
||||
|
||||
if (scene == SCENE_DEPART_2 || scene == SCENE_MUSEUM_ENTRANCE || scene == SCENE_MUSEUM_ROOM_PAINTING ||
|
||||
scene == SCENE_MUSEUM_ROOM_FOSSIL || scene == SCENE_MUSEUM_ROOM_INSECT || scene == SCENE_MUSEUM_ROOM_FISH) {
|
||||
play->fb_fade_type = 12;
|
||||
mBGMForce_room_nonstop_start();
|
||||
} else {
|
||||
mBGMPsComp_make_ps_wipe(0x249);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int Player_actor_check_bg_for_next_goto(ACTOR* actor, mActor_name_t door) {
|
||||
mCoBG_Collision_u* col;
|
||||
|
||||
if (mFI_GET_TYPE(mFI_GetFieldId()) == mFI_FIELD_PLAYER0_ROOM) {
|
||||
if (door >= DOOR_START && door < EXIT_DOOR) {
|
||||
col = mFI_GetUnitCol(actor->world.position);
|
||||
if (col->data.center != col->data.top_left || col->data.center != col->data.bot_left ||
|
||||
col->data.center != col->data.top_right || col->data.center != col->data.bot_right) {
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
void Player_actor_check_nextgoto(ACTOR* actor, GAME* game) {
|
||||
PLAYER_ACTOR* player = (PLAYER_ACTOR*)actor;
|
||||
GAME_PLAY* play = (GAME_PLAY*)game;
|
||||
mActor_name_t door = player->item_in_front;
|
||||
|
||||
if (ITEM_NAME_GET_TYPE(door) == NAME_TYPE_WARP && Player_actor_check_bg_for_next_goto(actor, door) != FALSE &&
|
||||
mEv_CheckTitleDemo() <= 0 && play->fb_wipe_mode == 0) {
|
||||
if (door >= EXIT_DOOR && door < EXIT_DOOR1) {
|
||||
mDemo_Request(mDemo_TYPE_EXITSCENE, actor, Player_actor_set_nextgoto_info_type0);
|
||||
|
||||
if (player->update_scene_bg_mode != FALSE) {
|
||||
mBGMPsComp_scene_mode(0xE);
|
||||
player->update_scene_bg_mode = FALSE;
|
||||
}
|
||||
} else if (door >= DOOR_START && door < EXIT_DOOR) {
|
||||
if ((mFI_GetUnitCol(actor->world.position)->data.center !=
|
||||
mFI_GetUnitCol(actor->world.position)->data.top_left ||
|
||||
mFI_GetUnitCol(actor->world.position)->data.center !=
|
||||
mFI_GetUnitCol(actor->world.position)->data.bot_left ||
|
||||
mFI_GetUnitCol(actor->world.position)->data.center !=
|
||||
mFI_GetUnitCol(actor->world.position)->data.top_right ||
|
||||
mFI_GetUnitCol(actor->world.position)->data.center !=
|
||||
mFI_GetUnitCol(actor->world.position)->data.bot_right) &&
|
||||
mFI_GET_TYPE(mFI_GetFieldId()) == mFI_FIELD_PLAYER0_ROOM) {
|
||||
aMR_SaveWaltzTempo2();
|
||||
mBGMPsComp_make_ps_wipe(0x10E);
|
||||
}
|
||||
mDemo_Request(mDemo_TYPE_EXITSCENE, actor, Player_actor_set_nextgoto_info_type1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void Player_actor_check_forward(ACTOR* actor, GAME* game) {
|
||||
PLAYER_ACTOR* player = (PLAYER_ACTOR*)actor;
|
||||
GAME_PLAY* play = (GAME_PLAY*)game;
|
||||
s16 rot = actor->shape_info.rotation.y;
|
||||
xyz_t pos;
|
||||
mActor_name_t* item;
|
||||
|
||||
pos.x = actor->world.position.x + 0.0006f * sins(rot);
|
||||
pos.z = actor->world.position.z + 0.0006f * coss(rot);
|
||||
pos.y = 0.0f;
|
||||
|
||||
pos.y = mCoBG_GetBgY_OnlyCenter_FromWpos(pos, 0.0f);
|
||||
|
||||
item = mFI_GetUnitFG(pos);
|
||||
|
||||
player->forward_ut_pos.x = pos.x;
|
||||
player->forward_ut_pos.z = pos.z;
|
||||
player->forward_ut_pos.y = pos.y;
|
||||
|
||||
if (item != NULL) {
|
||||
player->item_in_front = *item;
|
||||
} else {
|
||||
player->item_in_front = EMPTY_NO;
|
||||
}
|
||||
|
||||
Player_actor_check_nextgoto(actor, game);
|
||||
|
||||
if (chkTrigger(BUTTON_A)) {
|
||||
player->a_btn_pressed = TRUE;
|
||||
} else {
|
||||
player->a_btn_pressed = FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
void Player_actor_move_other_func1(ACTOR* actor, GAME* game) {
|
||||
Player_actor_cancel_request_change_proc_index_by_A_btn(actor);
|
||||
Player_actor_request_main_change_from_submenu(actor, game);
|
||||
Player_actor_request_change_item(game);
|
||||
Player_actor_cancel_request_change_proc_index(actor);
|
||||
Player_actor_change_proc_index(actor, game);
|
||||
Player_actor_Reset_excute_cancel_wade(actor);
|
||||
Player_actor_Set_OldAngle(actor);
|
||||
Player_actor_Culc_player_frame_counter(actor);
|
||||
Player_actor_Check_player_sunburn_ChangeDay();
|
||||
Player_actor_Check_player_sunburn_for_main(actor);
|
||||
Player_actor_Check_player_change_color_for_main(actor);
|
||||
}
|
||||
|
||||
void Player_actor_move_other_func2(ACTOR* actor, GAME* game) {
|
||||
PLAYER_ACTOR* player = (PLAYER_ACTOR*)actor;
|
||||
GAME_PLAY* play = (GAME_PLAY*)game;
|
||||
|
||||
Player_actor_set_eye_PositionAndAngle(actor);
|
||||
Player_actor_sound_SetStatus(actor);
|
||||
Player_actor_Set_Indoor_Camera_Index(actor, game);
|
||||
Player_actor_check_forward(actor, game);
|
||||
mFI_SetPlayerWade(play);
|
||||
Player_actor_check_little_shake_tree(actor, game);
|
||||
Player_actor_check_shake_tree_timer(actor);
|
||||
Player_actor_check_pitfall(actor, game);
|
||||
Player_actor_set_ripple(actor, game);
|
||||
|
||||
SETREG(PLAYERREG, 87, player->now_main_index);
|
||||
SETREG(PLAYERREG, 88, player->requested_main_index_priority);
|
||||
SETREG(PLAYERREG, 89, actor->world.angle.y);
|
||||
SETREG(PLAYERREG, 90, actor->shape_info.rotation.y);
|
||||
SETREG(PLAYERREG, 91, actor->world.position.x);
|
||||
SETREG(PLAYERREG, 92, actor->world.position.y);
|
||||
SETREG(PLAYERREG, 93, actor->world.position.z);
|
||||
|
||||
Player_actor_Set_old_sound_frame_counter(actor);
|
||||
}
|
||||
|
||||
void Player_actor_draw_other_func2(ACTOR* actor, GAME* game) {
|
||||
Player_actor_SetPosition_OBJtoLine_forItem(actor, game);
|
||||
}
|
||||
|
||||
void Player_actor_change_main_index_other_func1(ACTOR* actor, GAME* game) {
|
||||
}
|
||||
|
||||
void Player_actor_change_main_index_other_func2(ACTOR* actor, GAME* game) {
|
||||
}
|
||||
|
||||
void Player_actor_settle_main_other_func2(ACTOR* actor, GAME* game) {
|
||||
Player_actor_SetFootMark_for_settle_main(actor, game);
|
||||
}
|
||||
|
||||
void Player_actor_SetActorUki(ACTOR* actor, GAME* game) {
|
||||
PLAYER_ACTOR* player = (PLAYER_ACTOR*)actor;
|
||||
GAME_PLAY* play = (GAME_PLAY*)game;
|
||||
|
||||
if (Player_actor_CheckScene_AbleOutItem(Save_Get(scene_no)) != FALSE && player->fishing_rod_actor_p == NULL) {
|
||||
player->fishing_rod_actor_p = Actor_info_name_search(&play->actor_info, mAc_PROFILE_UKI, ACTOR_PART_BG);
|
||||
}
|
||||
}
|
||||
|
||||
void Player_actor_Item_main_other_func1(ACTOR* actor, GAME* game) {
|
||||
Player_actor_SetActorUki(actor, game);
|
||||
}
|
||||
|
||||
void Player_actor_setup_main_Demo_geton_boat_other_func2(ACTOR* actor, GAME* game) {
|
||||
Common_Set(_2DBA6, 0);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user