Added saving on pause and moved autosave to a separate file. Save/load now works by line and obj_dialogue advances to the specified line when loading a scene script

This commit is contained in:
Jennifer Hogueison 2023-06-06 23:53:55 -07:00
parent d7877279b1
commit c6f8f5f466
19 changed files with 4381 additions and 41 deletions

File diff suppressed because it is too large Load Diff

View File

@ -8,6 +8,7 @@ textlinefadein = 0;
text_advance_ready = TEXT_LOADING; text_advance_ready = TEXT_LOADING;
text_auto_mode = AUTO_OFF; text_auto_mode = AUTO_OFF;
text_auto_timer = AUTO_SPEED; text_auto_timer = AUTO_SPEED;
text_loader_skip = global.loaded_file[? SAVE_LINENUM];
speaker_name = ""; speaker_name = "";
bg_id = BG_NONE; bg_id = BG_NONE;

View File

@ -27,6 +27,7 @@ if (global.dialogue_mode) {
) { ) {
text_advance_ready = TEXT_TYPING; text_advance_ready = TEXT_TYPING;
//bg files
bg_id_last = bg_id; bg_id_last = bg_id;
bg_id = ds_queue_dequeue(bg_test); bg_id = ds_queue_dequeue(bg_test);
switch ( bg_id ) { switch ( bg_id ) {
@ -38,12 +39,54 @@ if (global.dialogue_mode) {
bg_sprite = spr_bg_PLACEHOLDER; bg_sprite = spr_bg_PLACEHOLDER;
break; break;
} }
case BG_KOMEIJI_LIBRARY: {
bg_sprite = spr_bg_PLACEHOLDER;
break;
}
case BG_KOMEIJI_OUTSIDE: {
bg_sprite = spr_bg_PLACEHOLDER;
break;
}
case BG_JOB_AGENCY: {
bg_sprite = spr_bg_PLACEHOLDER;
break;
}
case BG_OFFICE_PLAIN: {
bg_sprite = spr_bg_PLACEHOLDER;
break;
}
case BG_OFFICE_DECOR: {
bg_sprite = spr_bg_PLACEHOLDER;
break;
}
case BG_OFFICE_WAITING: {
bg_sprite = spr_bg_PLACEHOLDER;
break;
}
case BG_MISTY_LAKE: {
bg_sprite = spr_bg_PLACEHOLDER;
break;
}
case BG_BAMBOO_FOREST: {
bg_sprite = spr_bg_PLACEHOLDER;
break;
}
case BG_MORIYA_SHRINE: {
bg_sprite = spr_bg_PLACEHOLDER;
break;
}
case BG_HUMAN_VILLAGE: {
bg_sprite = spr_bg_PLACEHOLDER;
break;
}
default: { default: {
bg_sprite = -1; bg_sprite = -1;
break; break;
} }
} }
//music files
mus_id_last = mus_id; mus_id_last = mus_id;
mus_id = ds_queue_dequeue(mus_test); mus_id = ds_queue_dequeue(mus_test);
if ( mus_id_last != mus_id ) { if ( mus_id_last != mus_id ) {
@ -69,6 +112,8 @@ if (global.dialogue_mode) {
} }
} }
//sound effects
sound_id = ds_queue_dequeue(sound_test); sound_id = ds_queue_dequeue(sound_test);
switch ( sound_id ) { switch ( sound_id ) {
case SOUND_NONE: { case SOUND_NONE: {
@ -88,11 +133,14 @@ if (global.dialogue_mode) {
audio_play_sound( sound_playing, 1, false ); audio_play_sound( sound_playing, 1, false );
} }
//display modes
display_mode = ds_queue_dequeue(display_test); display_mode = ds_queue_dequeue(display_test);
if ( display_mode == DISPLAY_NOTEXT && text_auto_mode == AUTO_OFF ) { if ( display_mode == DISPLAY_NOTEXT && text_auto_mode == AUTO_OFF ) {
text_auto_mode = AUTO_NEXT; text_auto_mode = AUTO_NEXT;
} }
//portrait sprites
actor_A_pos = ds_queue_dequeue(pos_test); actor_A_pos = ds_queue_dequeue(pos_test);
actor_A_sprite_id_last = actor_A_sprite_id; actor_A_sprite_id_last = actor_A_sprite_id;
actor_A_sprite_id = ds_queue_dequeue(sprite_test); actor_A_sprite_id = ds_queue_dequeue(sprite_test);
@ -108,6 +156,55 @@ if (global.dialogue_mode) {
actor_A_sprite = spr_talk_PLACEHOLDER; actor_A_sprite = spr_talk_PLACEHOLDER;
break; break;
} }
case TALK_KOISHI: {
actor_A_sprite = spr_talk_koishi;
break;
}
case TALK_SATORI: {
actor_A_sprite = spr_talk_PLACEHOLDER;
break;
}
case TALK_SAKUYA: {
actor_A_sprite = spr_talk_PLACEHOLDER;
break;
}
case TALK_CIRNO: {
actor_A_sprite = spr_talk_PLACEHOLDER;
break;
}
case TALK_DAIYOUSEI: {
actor_A_sprite = spr_talk_PLACEHOLDER;
break;
}
case TALK_KAGUYA: {
actor_A_sprite = spr_talk_PLACEHOLDER;
break;
}
case TALK_MOKOU: {
actor_A_sprite = spr_talk_PLACEHOLDER;
break;
}
case TALK_RIN: {
actor_A_sprite = spr_talk_PLACEHOLDER;
break;
}
case TALK_UTSUHO: {
actor_A_sprite = spr_talk_PLACEHOLDER;
break;
}
case TALK_KANOKO: {
actor_A_sprite = spr_talk_PLACEHOLDER;
break;
}
case TALK_SUWAKO: {
actor_A_sprite = spr_talk_PLACEHOLDER;
break;
}
case TALK_SANAE: {
actor_A_sprite = spr_talk_PLACEHOLDER;
break;
}
default: { default: {
actor_A_sprite = -1; actor_A_sprite = -1;
break; break;
@ -129,6 +226,55 @@ if (global.dialogue_mode) {
actor_B_sprite = spr_talk_PLACEHOLDER; actor_B_sprite = spr_talk_PLACEHOLDER;
break; break;
} }
case TALK_KOISHI: {
actor_B_sprite = spr_talk_koishi;
break;
}
case TALK_SATORI: {
actor_B_sprite = spr_talk_PLACEHOLDER;
break;
}
case TALK_SAKUYA: {
actor_B_sprite = spr_talk_PLACEHOLDER;
break;
}
case TALK_CIRNO: {
actor_B_sprite = spr_talk_PLACEHOLDER;
break;
}
case TALK_DAIYOUSEI: {
actor_B_sprite = spr_talk_PLACEHOLDER;
break;
}
case TALK_KAGUYA: {
actor_B_sprite = spr_talk_PLACEHOLDER;
break;
}
case TALK_MOKOU: {
actor_B_sprite = spr_talk_PLACEHOLDER;
break;
}
case TALK_RIN: {
actor_B_sprite = spr_talk_PLACEHOLDER;
break;
}
case TALK_UTSUHO: {
actor_B_sprite = spr_talk_PLACEHOLDER;
break;
}
case TALK_KANOKO: {
actor_B_sprite = spr_talk_PLACEHOLDER;
break;
}
case TALK_SUWAKO: {
actor_B_sprite = spr_talk_PLACEHOLDER;
break;
}
case TALK_SANAE: {
actor_B_sprite = spr_talk_PLACEHOLDER;
break;
}
default: { default: {
actor_B_sprite = -1; actor_B_sprite = -1;
break; break;
@ -150,14 +296,65 @@ if (global.dialogue_mode) {
actor_C_sprite = spr_talk_PLACEHOLDER; actor_C_sprite = spr_talk_PLACEHOLDER;
break; break;
} }
case TALK_KOISHI: {
actor_C_sprite = spr_talk_koishi;
break;
}
case TALK_SATORI: {
actor_C_sprite = spr_talk_PLACEHOLDER;
break;
}
case TALK_SAKUYA: {
actor_C_sprite = spr_talk_PLACEHOLDER;
break;
}
case TALK_CIRNO: {
actor_C_sprite = spr_talk_PLACEHOLDER;
break;
}
case TALK_DAIYOUSEI: {
actor_C_sprite = spr_talk_PLACEHOLDER;
break;
}
case TALK_KAGUYA: {
actor_C_sprite = spr_talk_PLACEHOLDER;
break;
}
case TALK_MOKOU: {
actor_C_sprite = spr_talk_PLACEHOLDER;
break;
}
case TALK_RIN: {
actor_C_sprite = spr_talk_PLACEHOLDER;
break;
}
case TALK_UTSUHO: {
actor_C_sprite = spr_talk_PLACEHOLDER;
break;
}
case TALK_KANOKO: {
actor_C_sprite = spr_talk_PLACEHOLDER;
break;
}
case TALK_SUWAKO: {
actor_C_sprite = spr_talk_PLACEHOLDER;
break;
}
case TALK_SANAE: {
actor_C_sprite = spr_talk_PLACEHOLDER;
break;
}
default: { default: {
actor_C_sprite = -1; actor_C_sprite = -1;
break; break;
} }
} }
//speaker name
speaker_name = ds_queue_dequeue(speaker_test); speaker_name = ds_queue_dequeue(speaker_test);
//spoken text
textload = ds_queue_dequeue(text_test); textload = ds_queue_dequeue(text_test);
texttarget = string_replace_all(textload, "#", "\n" ); texttarget = string_replace_all(textload, "#", "\n" );
@ -181,7 +378,7 @@ if (global.dialogue_mode) {
spewlength++; spewlength++;
} }
textlinefadein++; textlinefadein++;
if (keyboard_check_pressed(ord("Z")) || keyboard_check(vk_control)) { if (keyboard_check_pressed(ord("Z")) || keyboard_check(vk_control) || text_loader_skip > 0) {
textlinefadein = 1000; textlinefadein = 1000;
keyboard_clear(ord("Z")); keyboard_clear(ord("Z"));
keyboard_clear(vk_control); keyboard_clear(vk_control);
@ -195,7 +392,7 @@ if (global.dialogue_mode) {
textspew += string_char_at(texttarget, spewlength); textspew += string_char_at(texttarget, spewlength);
audio_play_sound( snd_typewriter, 0, false ); audio_play_sound( snd_typewriter, 0, false );
spewlength++; spewlength++;
if (keyboard_check_pressed(ord("Z")) || keyboard_check(vk_control)) { if (keyboard_check_pressed(ord("Z")) || keyboard_check(vk_control) || text_loader_skip > 0) {
textspew = texttarget; textspew = texttarget;
keyboard_clear(ord("Z")); keyboard_clear(ord("Z"));
keyboard_clear(vk_control); keyboard_clear(vk_control);
@ -208,10 +405,15 @@ if (global.dialogue_mode) {
if (text_advance_ready == TEXT_READY) { if (text_advance_ready == TEXT_READY) {
text_auto_timer--; text_auto_timer--;
if ( keyboard_check_pressed(ord("Z")) || keyboard_check(vk_control) || (text_auto_timer <= 0 && (text_auto_mode == AUTO_NEXT || text_auto_mode == AUTO_ON)) ) { if ( keyboard_check_pressed(ord("Z")) || keyboard_check(vk_control) || text_loader_skip > 0 || (text_auto_timer <= 0 && (text_auto_mode == AUTO_NEXT || text_auto_mode == AUTO_ON)) ) {
if (text_auto_mode == AUTO_NEXT ) { if (text_auto_mode == AUTO_NEXT ) {
text_auto_mode = AUTO_OFF; text_auto_mode = AUTO_OFF;
} }
if (text_loader_skip > 0) {
text_loader_skip--;
} else {
global.loaded_file[? SAVE_LINENUM]++;
}
text_auto_timer = AUTO_SPEED; text_auto_timer = AUTO_SPEED;
textlinefadein = 0; textlinefadein = 0;
text_advance_ready = TEXT_LOADING; text_advance_ready = TEXT_LOADING;

View File

@ -4,3 +4,9 @@ menu_wait = MENU_DELAY;
dx = 0; dx = 0;
dy = 0; dy = 0;
surface_mult = global.options[? OPTIONS_WINDOWMULT]; surface_mult = global.options[? OPTIONS_WINDOWMULT];
save_check = false;
save_allowed = false;
unpause_allowed = false;
save_display = 0;
escape_allowed = false;

View File

@ -6,7 +6,7 @@ if (pause) {
if (paused_surface == -1) { if (paused_surface == -1) {
instance_deactivate_all(true); instance_deactivate_all(true);
} }
surface_mult = global.options[? OPTIONS_WINDOWMULT]; surface_mult = 1;
paused_surface = surface_create(view_get_wport(view_camera[0]) * surface_mult, view_get_wport(view_camera[0]) * surface_mult); paused_surface = surface_create(view_get_wport(view_camera[0]) * surface_mult, view_get_wport(view_camera[0]) * surface_mult);
surface_set_target(paused_surface); surface_set_target(paused_surface);
draw_surface(application_surface, 0, 0); draw_surface(application_surface, 0, 0);
@ -20,7 +20,15 @@ if (pause) {
draw_set_halign(fa_center); draw_set_halign(fa_center);
draw_set_color(c_fuchsia); draw_set_color(c_fuchsia);
draw_text(dx + 320, dy + 170, "Paused, press P to continue"); draw_text(dx + 320, dy + 170, "Paused, press P to continue");
draw_text(dx + 320, dy + 220, "press S to save");
draw_text(dx + 320, dy + 270, "press ESC to exit");
draw_set_color(c_white); draw_set_color(c_white);
draw_set_halign(fa_left); draw_set_halign(fa_left);
} }
} }
if (save_display > 0) {
draw_set_halign(fa_right);
draw_text_ext_transformed_color_border(600, 320, "Saving...", 20, 150, 1, 1, 0, c_green, c_orange, c_green, c_orange, 1, 1, c_fuchsia);
draw_set_halign(fa_left);
}

View File

@ -1,7 +1,26 @@
menu_wait--; menu_wait--;
save_display--;
if menu_wait <= 0 {
save_allowed = true;
unpause_allowed = true;
escape_allowed = true;
}
if (keyboard_check_pressed(ord("S")) && save_allowed == true) {
save_check = true;
save_allowed = false;
menu_wait = MENU_DELAY;
}
if (save_check == true) {
scr_files_save( global.load_file_name );
save_check = false;
save_display = MENU_DELAY;
}
if (keyboard_check_pressed(ord("P")) && menu_wait <= 0) { if (keyboard_check_pressed(ord("P")) && unpause_allowed == true) {
menu_wait = MENU_DELAY; menu_wait = MENU_DELAY;
pause = !pause; pause = !pause;
if (!pause) { if (!pause) {
@ -13,3 +32,14 @@ if (keyboard_check_pressed(ord("P")) && menu_wait <= 0) {
if (pause) { if (pause) {
//put things here to prevent alarms from counting down //put things here to prevent alarms from counting down
} }
if (keyboard_check_pressed(vk_escape) && escape_allowed == true) {
menu_wait = MENU_DELAY;
pause = !pause;
if (!pause) {
instance_activate_all();
surface_free(paused_surface);
paused_surface = -1;
}
room_goto(rm_title);
}

View File

@ -3,6 +3,10 @@ countdown--;
if (countdown == 0 ) { if (countdown == 0 ) {
//load file //load file
var save_check = scr_files_load( global.load_file_name ); var save_check = scr_files_load( global.load_file_name );
if (global.autosave_load == true) {
global.autosave_load = false;
save_check = scr_files_load( SAVE_AUTOSAVE );
}
if (save_check == FILE_LOAD_FAIL) { if (save_check == FILE_LOAD_FAIL) {
scr_files_load( SAVE_DEFAULTS ); scr_files_load( SAVE_DEFAULTS );
} }

View File

@ -1,14 +1,64 @@
fade_in = 50; fade_in = 50;
if (global.loaded_file[? SAVE_POINT] > SCENE_TOTAL ) { if (global.loaded_file[? SAVE_CHNUM] > SCENE_TOTAL ) {
room_goto(rm_ending); room_goto(rm_ending);
} }
if (!global.scene_mode && global.loaded_file[? SAVE_POINT] == SAVE_POINT_START) { if (!global.scene_mode && global.loaded_file[? SAVE_CHNUM] == 0) {
global.scene_mode = true; global.scene_mode = true;
global.scene_number = scene_TEST; global.scene_number = SCENE_TEST;
timeline_position = 0;
timeline_index = tml_scene_test;
timeline_running = true;
}
if (!global.scene_mode && global.loaded_file[? SAVE_CHNUM] == 1) {
global.scene_mode = true;
global.scene_number = SCENE_TEST;
timeline_position = 0;
timeline_index = tml_scene_test;
timeline_running = true;
}
if (!global.scene_mode && global.loaded_file[? SAVE_CHNUM] == 2) {
global.scene_mode = true;
global.scene_number = SCENE_TEST;
timeline_position = 0;
timeline_index = tml_scene_test;
timeline_running = true;
}
if (!global.scene_mode && global.loaded_file[? SAVE_CHNUM] == 3) {
global.scene_mode = true;
global.scene_number = SCENE_TEST;
timeline_position = 0;
timeline_index = tml_scene_test;
timeline_running = true;
}
if (!global.scene_mode && global.loaded_file[? SAVE_CHNUM] == 4) {
global.scene_mode = true;
global.scene_number = SCENE_TEST;
timeline_position = 0;
timeline_index = tml_scene_test;
timeline_running = true;
}
if (!global.scene_mode && global.loaded_file[? SAVE_CHNUM] == 5) {
global.scene_mode = true;
global.scene_number = SCENE_TEST;
timeline_position = 0;
timeline_index = tml_scene_test;
timeline_running = true;
}
if (!global.scene_mode && global.loaded_file[? SAVE_CHNUM] == 6) {
global.scene_mode = true;
global.scene_number = SCENE_TEST;
timeline_position = 0;
timeline_index = tml_scene_test;
timeline_running = true;
}
if (!global.scene_mode && global.loaded_file[? SAVE_CHNUM] == 7) {
global.scene_mode = true;
global.scene_number = SCENE_TEST;
timeline_position = 0; timeline_position = 0;
timeline_index = tml_scene_test; timeline_index = tml_scene_test;
timeline_running = true; timeline_running = true;
} }

View File

@ -1,5 +1,5 @@
global.scene_mode = false; global.scene_mode = false;
global.scene_number = scene_NOSCENE; global.scene_number = SCENE_NOSCENE;
global.dialogue_mode = false; global.dialogue_mode = false;
timeline_running = false; timeline_running = false;

View File

@ -13,7 +13,8 @@ function scr_files_init(){
} }
//initialize default save data //initialize default save data
global.default_save[? SAVE_POINT ] = SAVE_POINT_START; global.default_save[? SAVE_CHNUM ] = 1;
global.default_save[? SAVE_LINENUM ] = 0;
scr_files_load( SAVE_DEFAULTS ); scr_files_load( SAVE_DEFAULTS );
//initialize save files //initialize save files

View File

@ -1,18 +1,24 @@
//scr_files_load_preview //scr_files_load_preview
function scr_files_load_preview() { function scr_files_load_preview() {
global.file_A_preview = "---"; global.file_A_preview_line1 = "---";
global.file_B_preview = "---"; global.file_A_preview_line2 = "---";
global.file_C_preview = "---"; global.file_B_preview_line1 = "---";
global.file_B_preview_line2 = "---";
global.file_C_preview_line1 = "---";
global.file_C_preview_line2 = "---";
if ( scr_files_load( SAVE_FILE_NAME_A ) == FILE_LOAD_SUCCESS ) { if ( scr_files_load( SAVE_FILE_NAME_A ) == FILE_LOAD_SUCCESS ) {
global.file_A_preview = "chapter " + string(global.loaded_file[? SAVE_POINT]); global.file_A_preview_line1 = "chapter " + string(global.loaded_file[? SAVE_CHNUM]);
global.file_A_preview_line2 = "line " + string(global.loaded_file[? SAVE_LINENUM]);
//TODO: add chapter names //TODO: add chapter names
} }
if ( scr_files_load( SAVE_FILE_NAME_B ) == FILE_LOAD_SUCCESS ) { if ( scr_files_load( SAVE_FILE_NAME_B ) == FILE_LOAD_SUCCESS ) {
global.file_B_preview = "chapter " + string(global.loaded_file[? SAVE_POINT]); global.file_B_preview_line1 = "chapter " + string(global.loaded_file[? SAVE_CHNUM]);
global.file_B_preview_line2 = "line " + string(global.loaded_file[? SAVE_LINENUM]);
//TODO: add chapter names //TODO: add chapter names
} }
if ( scr_files_load( SAVE_FILE_NAME_C ) == FILE_LOAD_SUCCESS ) { if ( scr_files_load( SAVE_FILE_NAME_C ) == FILE_LOAD_SUCCESS ) {
global.file_C_preview = "chapter " + string(global.loaded_file[? SAVE_POINT]); global.file_C_preview_line1 = "chapter " + string(global.loaded_file[? SAVE_CHNUM]);
global.file_C_preview_line2 = "line " + string(global.loaded_file[? SAVE_LINENUM]);
//TODO: add chapter names //TODO: add chapter names
} }
scr_files_load( SAVE_DEFAULTS ); scr_files_load( SAVE_DEFAULTS );

View File

@ -173,13 +173,10 @@
#macro SAVE_FILE_NAME_B "save_B.json" #macro SAVE_FILE_NAME_B "save_B.json"
#macro SAVE_FILE_NAME_C "save_c.json" #macro SAVE_FILE_NAME_C "save_c.json"
#macro SAVE_DEFAULTS "defaults.json" #macro SAVE_DEFAULTS "defaults.json"
#macro SAVE_AUTOSAVE "autosave.json"
#macro SAVE_POINT "save_point" #macro SAVE_CHNUM "save_chnum"
#macro SAVE_POINT_START 0 #macro SAVE_LINENUM "save_linenum"
#macro SAVE_POINT_A 1
#macro SAVE_POINT_B 2
#macro SAVE_POINT_C 3
#macro SAVE_POINT_D 4
//dialogue //dialogue
#macro TEXT_LOADING -1 #macro TEXT_LOADING -1
@ -195,6 +192,9 @@
#macro DISPLAY_ADV 1 #macro DISPLAY_ADV 1
#macro DISPLAY_NARRATOR 2 #macro DISPLAY_NARRATOR 2
#macro DISPLAY_CG 3 #macro DISPLAY_CG 3
#macro DISPLAY_ADV_SHOUT 4
#macro DISPLAY_WRITER 5
#macro POSITION_LEFT -1 #macro POSITION_LEFT -1
#macro POSITION_LEFTCENTER -0.5 #macro POSITION_LEFTCENTER -0.5
@ -210,10 +210,11 @@
#macro BG_OFFICE_PLAIN 4 #macro BG_OFFICE_PLAIN 4
#macro BG_OFFICE_DECOR 5 #macro BG_OFFICE_DECOR 5
#macro BG_OFFICE_WAITING 6 #macro BG_OFFICE_WAITING 6
#macro BG_MEADOW 7 #macro BG_HUMAN_VILLAGE 7
#macro BG_MISTY_LAKE 8 #macro BG_MISTY_LAKE 8
#macro BG_BAMBOO_FOREST 9 #macro BG_BAMBOO_FOREST 9
#macro BG_MORIYA_SHRINE 10 #macro BG_MORIYA_SHRINE 10
#macro CG_CIRNO_DAIYOUSEI 11 #macro CG_CIRNO_DAIYOUSEI 11
#macro CG_KAGUYA_MOKOU 12 #macro CG_KAGUYA_MOKOU 12
#macro CG_KANAKO_SUWAKO 13 #macro CG_KANAKO_SUWAKO 13
@ -221,15 +222,36 @@
#macro MUS_TEST -1 #macro MUS_TEST -1
#macro MUS_NONE 0 #macro MUS_NONE 0
#macro SOUND_TEST -1 #macro SOUND_TEST -1
#macro SOUND_NONE 0 #macro SOUND_NONE 0
#macro TALK_TEST -1 #macro TALK_TEST -1
#macro TALK_NOSPRITE 0 #macro TALK_NOSPRITE 0
#macro TALK_KOISHI 1
#macro TALK_SATORI 2
#macro TALK_SAKUYA 3
#macro TALK_CIRNO 4
#macro TALK_DAIYOUSEI 5
#macro TALK_KAGUYA 6
#macro TALK_MOKOU 7
#macro TALK_RIN 8
#macro TALK_UTSUHO 9
#macro TALK_KANOKO 10
#macro TALK_SUWAKO 11
#macro TALK_SANAE 12
//scene //scene
#macro SCENE_TOTAL 0 #macro SCENE_TOTAL 7
#macro scene_NOSCENE -1 #macro SCENE_TEST -1
#macro scene_TEST 0 #macro SCENE_NOSCENE 0
#macro SCENE_C1_SISMAD 1
#macro SCENE_C2_IZAYOI 2
#macro SCENE_C3_LAKEFEY 3
#macro SCENE_C4_HOURAI 4
#macro SCENE_C5_RINPARK 5
#macro SCENE_C6_MORIYA 6
#macro SCENE_C7_SISSORRY 7
#endregion #endregion
@ -240,15 +262,19 @@ function scr_initialize() {
scr_input_init(); scr_input_init();
scr_files_init(); scr_files_init();
global.scene_mode = false; global.scene_mode = false;
global.scene_number = scene_NOSCENE; global.scene_number = SCENE_NOSCENE;
global.dialogue_mode = false; global.dialogue_mode = false;
global.combat_mode = false; global.combat_mode = false;
global.autosave_load = false;
global.savepoint_numbers = 0; global.savepoint_numbers = 0;
global.savepoint_instances[255] = 0; global.savepoint_instances[255] = 0;
global.load_file_name = "defaults.json"; global.load_file_name = "defaults.json";
global.file_A_preview = "---"; global.file_A_preview_line1 = "---";
global.file_B_preview = "---"; global.file_B_preview_line1 = "---";
global.file_C_preview = "---"; global.file_C_preview_line1 = "---";
global.file_A_preview_line2 = "---";
global.file_B_preview_line2 = "---";
global.file_C_preview_line2 = "---";
} }

View File

@ -73,9 +73,12 @@ function scr_menu_draw( _menu, _t, _pos) {
draw_text( 120, 300, "Back to title"); draw_text( 120, 300, "Back to title");
draw_set_halign( fa_right ); draw_set_halign( fa_right );
draw_text( 350, 60, global.file_A_preview); draw_text( 350, 60, global.file_A_preview_line1);
draw_text( 350, 120, global.file_B_preview); draw_text( 350, 85, global.file_A_preview_line2);
draw_text( 350, 180, global.file_C_preview); draw_text( 350, 120, global.file_B_preview_line1);
draw_text( 350, 145, global.file_B_preview_line2);
draw_text( 350, 180, global.file_C_preview_line1);
draw_text( 350, 205, global.file_C_preview_line2);
draw_set_font(fn_menu_help); draw_set_font(fn_menu_help);
draw_set_halign(fa_left); draw_set_halign(fa_left);
@ -112,9 +115,9 @@ function scr_menu_draw( _menu, _t, _pos) {
draw_text( 120, 300, "Cancel"); draw_text( 120, 300, "Cancel");
draw_set_halign( fa_right ); draw_set_halign( fa_right );
draw_text( 350, 60, global.file_A_preview); draw_text( 350, 60, global.file_A_preview_line1);
draw_text( 350, 120, global.file_B_preview); draw_text( 350, 120, global.file_B_preview_line1);
draw_text( 350, 180, global.file_C_preview); draw_text( 350, 180, global.file_C_preview_line1);
if (confirm) { if (confirm) {
draw_set_color(c_black); draw_set_color(c_black);

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 90 KiB

View File

@ -0,0 +1,74 @@
{
"resourceType": "GMSprite",
"resourceVersion": "1.0",
"name": "spr_talk_koishi",
"bbox_bottom": 359,
"bbox_left": 8,
"bbox_right": 357,
"bbox_top": 8,
"bboxMode": 0,
"collisionKind": 1,
"collisionTolerance": 0,
"DynamicTexturePage": false,
"edgeFiltering": false,
"For3D": false,
"frames": [
{"resourceType":"GMSpriteFrame","resourceVersion":"1.1","name":"e6e385bf-8c5b-40de-86fd-91814c59f4d9",},
],
"gridX": 0,
"gridY": 0,
"height": 360,
"HTile": false,
"layers": [
{"resourceType":"GMImageLayer","resourceVersion":"1.0","name":"ff151efd-f07c-4e00-9830-7a7a8aaf85a3","blendMode":0,"displayName":"default","isLocked":false,"opacity":100.0,"visible":true,},
],
"nineSlice": null,
"origin": 1,
"parent": {
"name": "portraits",
"path": "folders/portraits.yy",
},
"preMultiplyAlpha": false,
"sequence": {
"resourceType": "GMSequence",
"resourceVersion": "1.4",
"name": "spr_talk_koishi",
"autoRecord": true,
"backdropHeight": 768,
"backdropImageOpacity": 0.5,
"backdropImagePath": "",
"backdropWidth": 1366,
"backdropXOffset": 0.0,
"backdropYOffset": 0.0,
"events": {"resourceType":"KeyframeStore<MessageEventKeyframe>","resourceVersion":"1.0","Keyframes":[],},
"eventStubScript": null,
"eventToFunction": {},
"length": 1.0,
"lockOrigin": false,
"moments": {"resourceType":"KeyframeStore<MomentsEventKeyframe>","resourceVersion":"1.0","Keyframes":[],},
"playback": 1,
"playbackSpeed": 30.0,
"playbackSpeedType": 0,
"showBackdrop": true,
"showBackdropImage": false,
"timeUnits": 1,
"tracks": [
{"resourceType":"GMSpriteFramesTrack","resourceVersion":"1.0","name":"frames","builtinName":0,"events":[],"inheritsTrackColour":true,"interpolation":1,"isCreationTrack":false,"keyframes":{"resourceType":"KeyframeStore<SpriteFrameKeyframe>","resourceVersion":"1.0","Keyframes":[
{"resourceType":"Keyframe<SpriteFrameKeyframe>","resourceVersion":"1.0","Channels":{"0":{"resourceType":"SpriteFrameKeyframe","resourceVersion":"1.0","Id":{"name":"e6e385bf-8c5b-40de-86fd-91814c59f4d9","path":"sprites/spr_talk_koishi/spr_talk_koishi.yy",},},},"Disabled":false,"id":"1ce8de87-b0a5-4d7e-a634-5390338ae572","IsCreationKey":false,"Key":0.0,"Length":1.0,"Stretch":false,},
],},"modifiers":[],"spriteId":null,"trackColour":0,"tracks":[],"traits":0,},
],
"visibleRange": null,
"volume": 1.0,
"xorigin": 180,
"yorigin": 0,
},
"swatchColours": null,
"swfPrecision": 2.525,
"textureGroupId": {
"name": "Default",
"path": "texturegroups/Default",
},
"type": 0,
"VTile": false,
"width": 360,
}

View File

@ -41,6 +41,7 @@
{"name":"rm_logo","order":15,"path":"rooms/rm_logo/rm_logo.yy",}, {"name":"rm_logo","order":15,"path":"rooms/rm_logo/rm_logo.yy",},
{"name":"fn_menu_large","order":3,"path":"fonts/fn_menu_large/fn_menu_large.yy",}, {"name":"fn_menu_large","order":3,"path":"fonts/fn_menu_large/fn_menu_large.yy",},
{"name":"spr_leftarrow","order":5,"path":"sprites/spr_leftarrow/spr_leftarrow.yy",}, {"name":"spr_leftarrow","order":5,"path":"sprites/spr_leftarrow/spr_leftarrow.yy",},
{"name":"spr_talk_koishi","order":1,"path":"sprites/spr_talk_koishi/spr_talk_koishi.yy",},
{"name":"fn_logo_large","order":2,"path":"fonts/fn_logo_large/fn_logo_large.yy",}, {"name":"fn_logo_large","order":2,"path":"fonts/fn_logo_large/fn_logo_large.yy",},
{"name":"rm_init","order":14,"path":"rooms/rm_init/rm_init.yy",}, {"name":"rm_init","order":14,"path":"rooms/rm_init/rm_init.yy",},
{"name":"spr_controller","order":1,"path":"sprites/spr_controller/spr_controller.yy",}, {"name":"spr_controller","order":1,"path":"sprites/spr_controller/spr_controller.yy",},

View File

@ -19,7 +19,7 @@
{"resourceType":"GMFolder","resourceVersion":"1.0","name":"scripts","folderPath":"folders/scripts.yy",}, {"resourceType":"GMFolder","resourceVersion":"1.0","name":"scripts","folderPath":"folders/scripts.yy",},
], ],
"IncludedFiles": [ "IncludedFiles": [
{"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"thpj5_intro.txt","CopyToMask":-1,"filePath":"datafiles",}, {"resourceType":"GMIncludedFile","resourceVersion":"1.0","name":"thpj5_intro.txt","CopyToMask":3035426170322551022,"filePath":"datafiles",},
], ],
"isEcma": false, "isEcma": false,
"LibraryEmitters": [], "LibraryEmitters": [],
@ -65,6 +65,7 @@
{"id":{"name":"rm_logo","path":"rooms/rm_logo/rm_logo.yy",},}, {"id":{"name":"rm_logo","path":"rooms/rm_logo/rm_logo.yy",},},
{"id":{"name":"fn_menu_large","path":"fonts/fn_menu_large/fn_menu_large.yy",},}, {"id":{"name":"fn_menu_large","path":"fonts/fn_menu_large/fn_menu_large.yy",},},
{"id":{"name":"spr_leftarrow","path":"sprites/spr_leftarrow/spr_leftarrow.yy",},}, {"id":{"name":"spr_leftarrow","path":"sprites/spr_leftarrow/spr_leftarrow.yy",},},
{"id":{"name":"spr_talk_koishi","path":"sprites/spr_talk_koishi/spr_talk_koishi.yy",},},
{"id":{"name":"fn_logo_large","path":"fonts/fn_logo_large/fn_logo_large.yy",},}, {"id":{"name":"fn_logo_large","path":"fonts/fn_logo_large/fn_logo_large.yy",},},
{"id":{"name":"rm_init","path":"rooms/rm_init/rm_init.yy",},}, {"id":{"name":"rm_init","path":"rooms/rm_init/rm_init.yy",},},
{"id":{"name":"spr_controller","path":"sprites/spr_controller/spr_controller.yy",},}, {"id":{"name":"spr_controller","path":"sprites/spr_controller/spr_controller.yy",},},

View File

@ -1,8 +1,10 @@
global.loaded_file[? SAVE_POINT]++; global.loaded_file[? SAVE_CHNUM]++;
scr_files_save( global.load_file_name ); global.loaded_file[? SAVE_LINENUM] = 0;
if (global.loaded_file[? SAVE_POINT] > SCENE_TOTAL ) { if (global.loaded_file[? SAVE_CHNUM] > SCENE_TOTAL ) {
room_goto(rm_ending); room_goto(rm_ending);
} else { } else {
scr_files_save( SAVE_AUTOSAVE );
global.autosave_load = true;
room_goto(rm_loader); room_goto(rm_loader);
} }