mirror of
https://github.com/ACreTeam/ac-decomp
synced 2026-05-25 07:02:50 -04:00
94 lines
2.9 KiB
Plaintext
94 lines
2.9 KiB
Plaintext
static int mMsg_Main_Appear_SetScale(mMsg_Window_c* msg_p, GAME* game) {
|
|
const f32 max = 18.0f;
|
|
|
|
if (msg_p->timer < max) {
|
|
f32 scale;
|
|
|
|
msg_p->timer += 1.0f;
|
|
scale = get_percent_forAccelBrake(msg_p->timer, 0.0f, max, 0.0f, 0.0f);
|
|
msg_p->window_scale = scale;
|
|
msg_p->text_scale = scale;
|
|
return FALSE;
|
|
}
|
|
else {
|
|
msg_p->window_scale = 1.0f;
|
|
msg_p->text_scale = 1.0f;
|
|
msg_p->timer = 0.0f;
|
|
return TRUE;
|
|
}
|
|
}
|
|
|
|
static void mMsg_request_main_index_fromAppear(mMsg_Window_c* msg_p, GAME* game, int scale_done_flag) {
|
|
if (scale_done_flag && mMsg_request_main_cursol(msg_p, FALSE, 5)) {
|
|
mMsg_SetTimer(msg_p, 20.0f);
|
|
}
|
|
}
|
|
|
|
static void mMsg_Main_Appear(mMsg_Window_c* msg_p, GAME* game) {
|
|
int scaling_done_flag = mMsg_Main_Appear_SetScale(msg_p, game);
|
|
mMsg_request_main_index_fromAppear(msg_p, game, scaling_done_flag);
|
|
mMsg_MainSetup_Window(msg_p, game);
|
|
}
|
|
|
|
static void mMsg_MainSetup_Appear(mMsg_Window_c* msg_p, GAME* game) {
|
|
mMsg_Request_MainAppear_Data_c* appear_data = &msg_p->request_data.request_main_appear;
|
|
int msg_no = appear_data->msg_no;
|
|
|
|
if (mMsg_LoadMsgData(msg_p->msg_data, msg_no, FALSE)) {
|
|
ACTOR* actor = appear_data->speaker_actor;
|
|
int show_name = appear_data->name_shown_flag;
|
|
|
|
mMsg_Set_client_actor_p(msg_p, actor, show_name);
|
|
msg_p->window_background_color = appear_data->window_color;
|
|
mMsg_sound_spec_change_voice(msg_p);
|
|
mMsg_sound_voice_mode(msg_p);
|
|
msg_p->main_index = mMsg_INDEX_APPEAR;
|
|
msg_p->draw_flag = TRUE;
|
|
msg_p->window_scale = 0.0f;
|
|
msg_p->text_scale = 0.0f;
|
|
msg_p->timer = 0.0f;
|
|
msg_p->show_continue_button = FALSE;
|
|
msg_p->requested_main_index = -1;
|
|
msg_p->requested_priority = 4;
|
|
msg_p->start_text_cursor_idx = 0;
|
|
msg_p->end_text_cursor_idx = 0;
|
|
|
|
if (msg_p->client_actor_p != NULL) {
|
|
switch (mNpc_GetNpcSex(msg_p->client_actor_p)) {
|
|
case mPr_SEX_MALE:
|
|
msg_p->name_background_color.r = 70;
|
|
msg_p->name_background_color.g = 245;
|
|
msg_p->name_background_color.b = 255;
|
|
msg_p->name_text_color.r = 0;
|
|
msg_p->name_text_color.g = 0;
|
|
msg_p->name_text_color.b = 15;
|
|
break;
|
|
|
|
case mPr_SEX_FEMALE:
|
|
msg_p->name_background_color.r = 235;
|
|
msg_p->name_background_color.g = 140;
|
|
msg_p->name_background_color.b = 210;
|
|
msg_p->name_text_color.r = 45;
|
|
msg_p->name_text_color.g = 0;
|
|
msg_p->name_text_color.b = 30;
|
|
break;
|
|
|
|
default:
|
|
msg_p->name_background_color.r = 185;
|
|
msg_p->name_background_color.g = 255;
|
|
msg_p->name_background_color.b = 0;
|
|
msg_p->name_text_color.r = 0;
|
|
msg_p->name_text_color.g = 30;
|
|
msg_p->name_text_color.b = 0;
|
|
break;
|
|
}
|
|
}
|
|
|
|
msg_p->data_loaded = TRUE;
|
|
emu64_refresh();
|
|
}
|
|
else {
|
|
msg_p->data_loaded = FALSE;
|
|
}
|
|
}
|