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:
parent
d7877279b1
commit
c6f8f5f466
File diff suppressed because it is too large
Load Diff
|
@ -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;
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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;
|
|
@ -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);
|
||||||
|
}
|
|
@ -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);
|
||||||
|
}
|
|
@ -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 );
|
||||||
}
|
}
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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 );
|
||||||
|
|
|
@ -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 = "---";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -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 |
|
@ -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,
|
||||||
|
}
|
|
@ -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",},
|
||||||
|
|
|
@ -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",},},
|
||||||
|
|
|
@ -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);
|
||||||
}
|
}
|
Loading…
Reference in New Issue