title_xscale = 1 / max(1, fade_in_time ); title_yscale = 1 / max(1, fade_in_time ); title_angle = 10 * dsin( fade_in_time ); scroller = fade_in_time % sprite_get_width(spr_temp_art); fade_in_time -= 1; title_switch_timer -= 1; if (title_switch_timer <= 0 && title_mode == TITLE_MODE_START_FADEIN ) { title_mode = TITLE_MODE_START_READY; } if ( title_mode == TITLE_MODE_START_READY ) { var input = scr_input_get(INPUT_ANY); if (input) { title_switch_timer = MENU_TRANSITION; title_mode = TITLE_MODE_MENU_FADEIN; } } if (title_switch_timer <= 0 && title_mode == TITLE_MODE_MENU_FADEIN ) { title_mode = TITLE_MODE_MENU_READY; } if (title_mode == TITLE_MODE_MENU_READY ) { menu_wait--; var input_up = scr_input_get( INPUT_UP ); var input_down = scr_input_get( INPUT_DOWN ); var input_select = ( scr_input_get( INPUT_A ) ); if (input_up ) { if (menu_wait < 0) { menu_position--; if (menu_position <= 0) { menu_position = TITLE_MENU_CHOICES; } menu_wait = MENU_DELAY; } } if (input_down) { if (menu_wait < 0) { menu_position++; if (menu_position > TITLE_MENU_CHOICES ) { menu_position = 1; } menu_wait = MENU_DELAY; } } if ( input_select ) { menu_wait = MENU_DELAY; switch (menu_position) { case TITLE_MENU_CHOICE_FILES: { title_switch_timer = MENU_TRANSITION; title_mode = TITLE_MODE_FILES_FADEIN; scr_files_load_preview(); break; } case TITLE_MENU_CHOICE_CG: { title_switch_timer = MENU_TRANSITION; title_mode = TITLE_MODE_CG_FADEIN; break; } case TITLE_MENU_CHOICE_MUSIC: { title_switch_timer = MENU_TRANSITION; title_mode = TITLE_MODE_MUSIC_FADEIN; menu_wait = MENU_DELAY; break; } case TITLE_MENU_CHOICE_OPTIONS: { title_switch_timer = MENU_TRANSITION; title_mode = TITLE_MODE_OPTIONS_FADEIN; menu_wait = MENU_DELAY; break; } case TITLE_MENU_CHOICE_EXIT_GAME: { game_end(); break; } default: { break; } } } } if ( title_switch_timer <= 0 && title_mode == TITLE_MODE_FILES_FADEIN ) { //add loading file summary title_mode = TITLE_MODE_FILES_READY; keyboard_clear(vk_anykey); } if ( title_mode == TITLE_MODE_FILES_READY ) { menu_wait--; var input_up = scr_input_get( INPUT_UP ); var input_down = scr_input_get( INPUT_DOWN ); var input_select = ( scr_input_get( INPUT_A ) ); if (input_up ) { if (menu_wait < 0) { menu_position--; if (menu_position <= 0) { menu_position = LOAD_MENU_CHOICES; } menu_wait = MENU_DELAY; } } if (input_down) { if (menu_wait < 0) { menu_position++; if (menu_position > LOAD_MENU_CHOICES ) { menu_position = 1; } menu_wait = MENU_DELAY; } } if ( input_select ) { if (menu_wait < 0) { switch (menu_position) { case LOAD_CHOICE_FILE_A: { title_switch_timer = MENU_TRANSITION; global.load_file_name = SAVE_FILE_NAME_A; title_mode = TITLE_MODE_FILES_FADEAWAY; menu_wait = MENU_DELAY; break; } case LOAD_CHOICE_FILE_B: { title_switch_timer = MENU_TRANSITION; global.load_file_name = SAVE_FILE_NAME_B; title_mode = TITLE_MODE_FILES_FADEAWAY; menu_wait = MENU_DELAY; break; } case LOAD_CHOICE_FILE_C: { title_switch_timer = MENU_TRANSITION; global.load_file_name = SAVE_FILE_NAME_C; title_mode = TITLE_MODE_FILES_FADEAWAY; menu_wait = MENU_DELAY; break; } case LOAD_CHOICE_CLEAR: { title_switch_timer = MENU_TRANSITION; menu_position = 1; title_mode = TITLE_MODE_FILES_CLEAR; menu_wait = MENU_DELAY; break; } case LOAD_CHOICE_BACK: { title_switch_timer = MENU_TRANSITION; title_mode = TITLE_MODE_FILES_FADEOUT; menu_wait = MENU_DELAY; break; } default: { break; } } } } } if ( title_mode == TITLE_MODE_FILES_CLEAR ) { menu_wait--; var input_up = scr_input_get( INPUT_UP ); var input_down = scr_input_get( INPUT_DOWN ); var input_left = scr_input_get( INPUT_LEFT ); var input_right = scr_input_get( INPUT_RIGHT ); var input_select = ( scr_input_get( INPUT_A ) ); if (!confirm) { if (input_up ) { if (menu_wait < 0) { menu_position--; if (menu_position <= 0) { menu_position = CLEAR_MENU_CHOICES; } menu_wait = MENU_DELAY; } } if (input_down) { if (menu_wait < 0) { menu_position++; if (menu_position > CLEAR_MENU_CHOICES ) { menu_position = 1; } menu_wait = MENU_DELAY; } } if ( input_select ) { if (menu_wait < 0) { menu_wait = MENU_DELAY; switch (menu_position) { case CLEAR_CHOICE_FILE_A: { title_switch_timer = MENU_TRANSITION; global.load_file_name = SAVE_FILE_NAME_A; confirm = true; confirm_choice = false; break; } case CLEAR_CHOICE_FILE_B: { title_switch_timer = MENU_TRANSITION; global.load_file_name = SAVE_FILE_NAME_B; confirm = true; confirm_choice = false; break; } case CLEAR_CHOICE_FILE_C: { title_switch_timer = MENU_TRANSITION; global.load_file_name = SAVE_FILE_NAME_C; confirm = true; confirm_choice = false; break; } case CLEAR_CHOICE_CANCEL: { title_switch_timer = MENU_TRANSITION; title_mode = TITLE_MODE_FILES_READY; confirm = false; confirm_choice = false; menu_position = LOAD_CHOICE_FILE_A; break; } default: { break; } } } } } if (confirm) { if ( input_right ) { if (menu_wait < 0) { confirm_choice = !confirm_choice; menu_wait = MENU_DELAY; } } if ( input_left ) { if (menu_wait < 0) { confirm_choice = !confirm_choice; menu_wait = MENU_DELAY; } } if ( input_select ) { if (menu_wait < 0) { menu_wait = MENU_DELAY; if (!confirm_choice) { confirm = false; confirm_choice = false; } if (confirm_choice) { scr_files_load(global.load_file_name); if (ds_exists( global.loaded_file, ds_type_map ) ) { ds_map_clear( global.loaded_file ); ds_map_copy( global.loaded_file, global.default_save ); } scr_files_save( global.load_file_name); confirm = false; confirm_choice = false; } } scr_files_load_preview(); } } } if (title_switch_timer <= 0 && title_mode == TITLE_MODE_FILES_FADEOUT) { title_mode = TITLE_MODE_MENU_READY; menu_wait = 5; keyboard_clear(vk_anykey); } if (title_switch_timer <= 0 && title_mode == TITLE_MODE_FILES_FADEAWAY ) { //add loading for selected file room_goto(rm_loader); } if ( title_switch_timer <= 0 && title_mode == TITLE_MODE_CG_FADEIN ) { title_mode = TITLE_MODE_CG_READY; menu_position = 1; menu_wait = 5; gallery_select_x = 0; gallery_select_y = 0; cg_drawer = -1; cg_choice = NONE; gallery_top_y = 0; keyboard_clear(vk_anykey); } if ( title_switch_timer <= 0 && title_mode == TITLE_MODE_MUSIC_FADEIN ) { title_mode = TITLE_MODE_MUSIC_READY; menu_position = 1; music_top = 1; music_select = -1; keyboard_clear(vk_anykey); } if ( title_mode == TITLE_MODE_MUSIC_READY ) { menu_wait--; var input_up = scr_input_get( INPUT_UP ); var input_down = scr_input_get( INPUT_DOWN ); var input_select = ( scr_input_get( INPUT_A ) ); var input_back = ( scr_input_get( INPUT_B ) ); if (input_up ) { if (menu_wait < 0) { menu_position--; if (menu_position <= 0) { menu_position = MUSIC_MENU_CHOICES; } if (music_top > menu_position) { music_top = menu_position; } if (music_top < menu_position - 3) { music_top = menu_position - 3; } menu_wait = MENU_DELAY; } } if (input_down) { if (menu_wait < 0) { menu_position++; if (menu_position > MUSIC_MENU_CHOICES ) { menu_position = 1; } if (music_top > menu_position) { music_top = menu_position; } if (music_top < menu_position - 3) { music_top = menu_position - 3; } menu_wait = MENU_DELAY; } } if (input_back) { if (menu_wait < 0) { audio_stop_all(); title_switch_timer = MENU_TRANSITION; menu_position = 1; title_mode = TITLE_MODE_MUSIC_FADEOUT; } } if ( input_select ) { switch (menu_position) { case MUSIC_MENU_CHOICE_A: { music_select = MUSIC_MENU_CHOICE_A; audio_stop_all(); audio_play_sound( MUSIC_MENU_SOUND_A, 0, true ); break; } case MUSIC_MENU_CHOICE_B: { music_select = MUSIC_MENU_CHOICE_B; audio_stop_all(); audio_play_sound( MUSIC_MENU_SOUND_B, 0, true ); break; } case MUSIC_MENU_CHOICE_C: { music_select = MUSIC_MENU_CHOICE_C; audio_stop_all(); audio_play_sound( MUSIC_MENU_SOUND_C, 0, true ); break; } case MUSIC_MENU_CHOICE_D: { music_select = MUSIC_MENU_CHOICE_D; audio_stop_all(); audio_play_sound( MUSIC_MENU_SOUND_D, 0, true ); break; } case MUSIC_MENU_CHOICE_E: { music_select = MUSIC_MENU_CHOICE_E; audio_stop_all(); audio_play_sound( MUSIC_MENU_SOUND_E, 0, true ); break; } case MUSIC_MENU_CHOICE_F: { music_select = MUSIC_MENU_CHOICE_F; audio_stop_all(); audio_play_sound( MUSIC_MENU_SOUND_F, 0, true ); break; } default: { break; } } } } if (title_switch_timer <= 0 && title_mode == TITLE_MODE_MUSIC_FADEOUT) { title_mode = TITLE_MODE_MENU_READY; menu_wait = MENU_DELAY; keyboard_clear(vk_anykey); } if ( title_switch_timer <= 0 && title_mode == TITLE_MODE_OPTIONS_FADEIN ) { //add loading options if (ds_exists(temp_options, ds_type_map)) { ds_map_destroy(temp_options); temp_options = ds_map_create(); } ds_map_copy(temp_options, global.options); menu_position = 1; title_mode = TITLE_MODE_OPTIONS_READY; keyboard_clear(vk_anykey); } if ( title_mode == TITLE_MODE_OPTIONS_READY ) { menu_wait--; //add selecting and toggling options and loading defaults, fadeout when going back, mark whether save and exit or exit wtihout saving var input_up = scr_input_get( INPUT_UP ); var input_down = scr_input_get( INPUT_DOWN ); var input_left = scr_input_get( INPUT_LEFT ); var input_right = scr_input_get( INPUT_RIGHT ); var input_select = ( scr_input_get( INPUT_A ) ); var input_back = ( scr_input_get( INPUT_B ) ); if (input_up ) { if (menu_wait < 0) { menu_position--; if (menu_position <= 0) { menu_position = OPTIONS_MENU_CHOICES; } menu_wait = MENU_DELAY; } } if (input_down) { if (menu_wait < 0) { menu_position++; if (menu_position > OPTIONS_MENU_CHOICES ) { menu_position = 1; } menu_wait = MENU_DELAY; } } if (input_left) { if (menu_wait < 0) { switch (menu_position) { case OPTIONS_MENU_CHOICE_FULLSCREEN: { temp_options[? OPTIONS_FULLSCREEN] = !temp_options[? OPTIONS_FULLSCREEN]; break; } case OPTIONS_MENU_CHOICE_DEFAULTS: { break; } case OPTIONS_MENU_CHOICE_SAVE: { break; } case OPTIONS_MENU_CHOICE_DISCARD:{ break; } default: { break; } } } menu_wait = MENU_DELAY; } if (input_right) { if (menu_wait < 0) { switch (menu_position) { case OPTIONS_MENU_CHOICE_FULLSCREEN: { temp_options[? OPTIONS_FULLSCREEN] = !temp_options[? OPTIONS_FULLSCREEN]; break; } case OPTIONS_MENU_CHOICE_DEFAULTS: { break; } case OPTIONS_MENU_CHOICE_SAVE: { break; } case OPTIONS_MENU_CHOICE_DISCARD:{ break; } default: { break; } } } menu_wait = MENU_DELAY; } if (input_select) { if (menu_wait < 0) { switch (menu_position) { case OPTIONS_MENU_CHOICE_FULLSCREEN: { temp_options[? OPTIONS_FULLSCREEN] = !temp_options[? OPTIONS_FULLSCREEN]; break; } case OPTIONS_MENU_CHOICE_DEFAULTS: { temp_options[? OPTIONS_INPUT_TYPE] = "keyboard"; temp_options[? OPTIONS_FULLSCREEN] = true; temp_options[? OPTIONS_WINDOWMULT] = WINDOW_HEIGHT_720; break; } case OPTIONS_MENU_CHOICE_SAVE: { ds_map_copy(global.options, temp_options); var file = file_text_open_write(working_directory + "options.json"); var output_string = json_encode( global.options ); file_text_write_string(file, output_string); file_text_close(file); title_switch_timer = MENU_TRANSITION; menu_position = 1; discarding = false; title_mode = TITLE_MODE_OPTIONS_FADEOUT; break; } case OPTIONS_MENU_CHOICE_DISCARD:{ title_switch_timer = MENU_TRANSITION; menu_position = 1; discarding = true; title_mode = TITLE_MODE_OPTIONS_FADEOUT; } default: { break; } } } menu_wait = MENU_DELAY; } if (input_back) { if (menu_wait < 0) { title_switch_timer = MENU_TRANSITION; menu_position = 1; title_mode = TITLE_MODE_OPTIONS_FADEOUT; } } } if (title_switch_timer <= 0 && title_mode == TITLE_MODE_OPTIONS_FADEOUT) { if (discarding == false) { if (global.options[? OPTIONS_FULLSCREEN]) { window_set_fullscreen(true); view_set_hport(view_current, WINDOW_BASE_HEIGHT * global.options[? OPTIONS_WINDOWMULT]); view_set_wport(view_current, WINDOW_BASE_WIDTH * global.options[? OPTIONS_WINDOWMULT]); } else { window_set_fullscreen(false); view_set_hport(view_current, WINDOW_BASE_HEIGHT * global.options[? OPTIONS_WINDOWMULT]); view_set_wport(view_current, WINDOW_BASE_WIDTH * global.options[? OPTIONS_WINDOWMULT]); } } title_mode = TITLE_MODE_MENU_READY; menu_wait = MENU_DELAY; keyboard_clear(vk_anykey); } //TODO: add CG gallery