thpj5/objects/obj_title/Step_0.gml

566 lines
13 KiB
Plaintext

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