diff --git a/Art/Patients/patient_itl/patient_itl.aseprite b/Art/Patients/patient_itl/patient_itl.aseprite new file mode 100644 index 0000000..233cc59 Binary files /dev/null and b/Art/Patients/patient_itl/patient_itl.aseprite differ diff --git a/Art/Patients/patient_its_01/patient_its_01.aseprite b/Art/Patients/patient_its_01/patient_its_01.aseprite index e44715d..0938933 100644 Binary files a/Art/Patients/patient_its_01/patient_its_01.aseprite and b/Art/Patients/patient_its_01/patient_its_01.aseprite differ diff --git a/Art/Patients/patient_its_01/patient_its_01_itthatsmiles1.png b/Art/Patients/patient_its_01/patient_its_01_itthatsmiles1.png index ac182e8..74c3d50 100644 Binary files a/Art/Patients/patient_its_01/patient_its_01_itthatsmiles1.png and b/Art/Patients/patient_its_01/patient_its_01_itthatsmiles1.png differ diff --git a/Art/Patients/patient_its_01/patient_its_01_itthatsmiles2.png b/Art/Patients/patient_its_01/patient_its_01_itthatsmiles2.png index ed40619..89c170f 100644 Binary files a/Art/Patients/patient_its_01/patient_its_01_itthatsmiles2.png and b/Art/Patients/patient_its_01/patient_its_01_itthatsmiles2.png differ diff --git a/Scenes/UI/load.gd b/Scenes/UI/load.gd index 9141e57..e8cdbbf 100644 --- a/Scenes/UI/load.gd +++ b/Scenes/UI/load.gd @@ -12,7 +12,11 @@ func _ready() -> void: load_slot.resize(Globals.save_slot_count + 1) #Resizes save_slot #Connecting signals - back.pressed.connect(func(): self.hide()) + back.pressed.connect(func(): + self.hide() + if UI.in_title_screen: + UI.masks.mask.hide() + ) #Sets up save_slot array for i in range(1, Globals.save_slot_count + 1): #Goes from 1 to 4 diff --git a/Scenes/UI/pause_menu.gd b/Scenes/UI/pause_menu.gd index 2afda0d..4a61b5d 100644 --- a/Scenes/UI/pause_menu.gd +++ b/Scenes/UI/pause_menu.gd @@ -21,6 +21,7 @@ func _ready() -> void: menu_button.pressed.connect(func(): submenu.show() ui_main.masks.mask.show() + ui_main.in_title_screen = false ) submenu.resume.pressed.connect(func(): reset() diff --git a/Scenes/UI/settings.gd b/Scenes/UI/settings.gd index 280e27f..d55e937 100644 --- a/Scenes/UI/settings.gd +++ b/Scenes/UI/settings.gd @@ -37,7 +37,11 @@ var resolution_list: Dictionary = { # Called when the node enters the scene tree for the first time. func _ready() -> void: - back.pressed.connect(func(): self.hide()) #Back button + back.pressed.connect(func(): + self.hide() + if UI.in_title_screen: + UI.masks.mask.hide() + ) #Back button #Text settings #Signals @@ -106,9 +110,12 @@ func _on_display_selected(index: int): 1: #Borderless mode DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_MAXIMIZED) DisplayServer.window_set_flag(DisplayServer.WINDOW_FLAG_BORDERLESS, true) + resolution_button.select(resolution_list.find_key(screen_size)) #Selects screen size as resolution 2: #Fullscreen mode DisplayServer.window_set_mode(DisplayServer.WINDOW_MODE_FULLSCREEN) - print("window setting changed") + DisplayServer.window_set_flag(DisplayServer.WINDOW_FLAG_BORDERLESS, false) + resolution_button.select(resolution_list.find_key(screen_size)) #Selects screen size as resolution + print("Window setting changed") #Shows selected resolution diff --git a/Scenes/UI/ui.gd b/Scenes/UI/ui.gd index 229d920..d0fba28 100644 --- a/Scenes/UI/ui.gd +++ b/Scenes/UI/ui.gd @@ -22,6 +22,9 @@ signal main_menu_pressed signal text_value_changed signal auto_value_changed +#Boolean to differentiate in-game UI from title_screen UI +var in_title_screen = false + # Called when the node enters the scene tree for the first time. func _ready() -> void: diff --git a/Scenes/UI/ui.tscn b/Scenes/UI/ui.tscn index 3fd8570..d9b6a6b 100644 --- a/Scenes/UI/ui.tscn +++ b/Scenes/UI/ui.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=29 format=3 uid="uid://dy40jygog8t3k"] +[gd_scene load_steps=32 format=3 uid="uid://dy40jygog8t3k"] [ext_resource type="Script" uid="uid://c0q67t6m1i4dl" path="res://Scenes/UI/ui.gd" id="1_mg12k"] [ext_resource type="FontFile" uid="uid://dv8ppra5tgn1t" path="res://Art/Fonts/PixelatedEleganceRegular-ovyAA.ttf" id="2_vb7na"] @@ -67,6 +67,9 @@ _data = { &"fade_out": SubResource("Animation_in743") } +[sub_resource type="Theme" id="Theme_h6tq4"] +OptionButton/fonts/font = ExtResource("2_vb7na") + [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_fo2i3"] border_width_left = 2 border_width_top = 2 @@ -74,28 +77,53 @@ border_width_right = 2 border_width_bottom = 2 [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_h6tq4"] -bg_color = Color(0, 0, 0, 1) -border_width_left = 2 -border_width_top = 2 -border_width_right = 2 -border_width_bottom = 2 -border_color = Color(0.78431374, 0.78431374, 0.78431374, 1) +bg_color = Color(0.39215687, 0.39215687, 0.39215687, 1) +border_width_left = 4 +border_width_top = 4 +border_width_right = 4 +border_width_bottom = 4 +border_color = Color(0.5882353, 0.5882353, 0.5882353, 1) +border_blend = true corner_radius_top_left = 4 corner_radius_top_right = 4 corner_radius_bottom_right = 4 corner_radius_bottom_left = 4 [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_t7te2"] -bg_color = Color(0.78431374, 0.78431374, 0.78431374, 1) -border_color = Color(1, 1, 1, 1) +bg_color = Color(0, 0, 0, 1) +border_width_left = 4 +border_width_top = 4 +border_width_right = 4 +border_width_bottom = 4 +border_color = Color(0.39215687, 0.39215687, 0.39215687, 1) +border_blend = true corner_radius_top_left = 4 corner_radius_top_right = 4 corner_radius_bottom_right = 4 corner_radius_bottom_left = 4 +[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_56q1t"] +bg_color = Color(0.5882353, 0.5882353, 0.5882353, 1) +border_width_left = 4 +border_width_top = 4 +border_width_right = 4 +border_width_bottom = 4 +border_color = Color(0.78431374, 0.78431374, 0.78431374, 1) +border_blend = true +corner_radius_top_left = 4 +corner_radius_top_right = 4 +corner_radius_bottom_right = 4 +corner_radius_bottom_left = 4 + +[sub_resource type="Theme" id="Theme_fevae"] +Button/styles/hover = SubResource("StyleBoxFlat_h6tq4") +Button/styles/normal = SubResource("StyleBoxFlat_t7te2") +Button/styles/pressed = SubResource("StyleBoxFlat_56q1t") + [sub_resource type="Theme" id="Theme_27bfm"] +default_font = ExtResource("2_vb7na") default_font_size = 18 -OptionButton/fonts/font = null +OptionButton/fonts/font = ExtResource("2_vb7na") [sub_resource type="Theme" id="Theme_k8uqd"] default_font = ExtResource("2_vb7na") @@ -237,6 +265,7 @@ anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 mouse_filter = 2 +theme = SubResource("Theme_h6tq4") script = ExtResource("4_s3gqk") [node name="Submenu" type="PanelContainer" parent="PauseMenu"] @@ -503,7 +532,7 @@ text_slider = NodePath("MarginContainer/VBoxContainer/GridContainer/DialogueCont auto_slider = NodePath("MarginContainer/VBoxContainer/GridContainer/DialogueContainer/VBoxContainer2/DialogueOptions/VBoxContainer/Control/AutoSpeed/AutoSlider") text_counter = NodePath("MarginContainer/VBoxContainer/GridContainer/DialogueContainer/VBoxContainer2/DialogueOptions/VBoxContainer/TextSpeed/TextCounter") auto_counter = NodePath("MarginContainer/VBoxContainer/GridContainer/DialogueContainer/VBoxContainer2/DialogueOptions/VBoxContainer/Control/AutoSpeed/AutoCounter") -autoplay = NodePath("MarginContainer/VBoxContainer/GridContainer/DialogueContainer/VBoxContainer2/DialogueOptions/VBoxContainer/AutoPlay/AutoPlayCheckBox") +autoplay = NodePath("MarginContainer/VBoxContainer/GridContainer/DialogueContainer/VBoxContainer2/DialogueOptions/VBoxContainer/AutoPlay/AutoPlayCheckbox") auto_mask = NodePath("MarginContainer/VBoxContainer/GridContainer/DialogueContainer/VBoxContainer2/DialogueOptions/VBoxContainer/Control/AutoMask") display_button = NodePath("MarginContainer/VBoxContainer/GridContainer/ScreenContainer/VBoxContainer2/ScreenSettings/VBoxContainer/Display/DisplayButton") resolution_button = NodePath("MarginContainer/VBoxContainer/GridContainer/ScreenContainer/VBoxContainer2/ScreenSettings/VBoxContainer/Resolution/ResolutionButton") @@ -597,6 +626,7 @@ size_flags_vertical = 4 theme_override_fonts/normal_font = ExtResource("2_vb7na") theme_override_font_sizes/normal_font_size = 16 bbcode_enabled = true +vertical_alignment = 1 [node name="Control" type="Control" parent="PauseMenu/Settings/MarginContainer/VBoxContainer/GridContainer/DialogueContainer/VBoxContainer2/DialogueOptions/VBoxContainer"] custom_minimum_size = Vector2(0, 50) @@ -641,6 +671,7 @@ size_flags_vertical = 4 theme_override_fonts/normal_font = ExtResource("2_vb7na") theme_override_font_sizes/normal_font_size = 16 bbcode_enabled = true +vertical_alignment = 1 [node name="AutoMask" type="ColorRect" parent="PauseMenu/Settings/MarginContainer/VBoxContainer/GridContainer/DialogueContainer/VBoxContainer2/DialogueOptions/VBoxContainer/Control"] layout_mode = 1 @@ -666,14 +697,13 @@ bbcode_enabled = true text = "AUTOPLAY" vertical_alignment = 1 -[node name="AutoPlayCheckBox" type="CheckBox" parent="PauseMenu/Settings/MarginContainer/VBoxContainer/GridContainer/DialogueContainer/VBoxContainer2/DialogueOptions/VBoxContainer/AutoPlay"] +[node name="AutoPlayCheckbox" type="Button" parent="PauseMenu/Settings/MarginContainer/VBoxContainer/GridContainer/DialogueContainer/VBoxContainer2/DialogueOptions/VBoxContainer/AutoPlay"] custom_minimum_size = Vector2(25, 25) layout_mode = 2 size_flags_horizontal = 4 size_flags_vertical = 4 -theme_override_styles/normal = SubResource("StyleBoxFlat_h6tq4") -theme_override_styles/pressed = SubResource("StyleBoxFlat_t7te2") -theme_override_styles/hover = SubResource("StyleBoxFlat_t7te2") +theme = SubResource("Theme_fevae") +toggle_mode = true [node name="ScreenContainer" type="MarginContainer" parent="PauseMenu/Settings/MarginContainer/VBoxContainer/GridContainer"] layout_mode = 2 @@ -714,12 +744,12 @@ theme_override_fonts/normal_font = ExtResource("2_vb7na") theme_override_font_sizes/normal_font_size = 16 bbcode_enabled = true text = "DISPLAY" +vertical_alignment = 1 [node name="DisplayButton" type="OptionButton" parent="PauseMenu/Settings/MarginContainer/VBoxContainer/GridContainer/ScreenContainer/VBoxContainer2/ScreenSettings/VBoxContainer/Display"] custom_minimum_size = Vector2(250, 0) layout_mode = 2 theme = SubResource("Theme_27bfm") -theme_override_fonts/font = ExtResource("2_vb7na") theme_override_font_sizes/font_size = 16 selected = 2 item_count = 3 @@ -742,6 +772,7 @@ theme_override_fonts/normal_font = ExtResource("2_vb7na") theme_override_font_sizes/normal_font_size = 16 bbcode_enabled = true text = "RESOLUTION" +vertical_alignment = 1 [node name="ResolutionButton" type="OptionButton" parent="PauseMenu/Settings/MarginContainer/VBoxContainer/GridContainer/ScreenContainer/VBoxContainer2/ScreenSettings/VBoxContainer/Resolution"] custom_minimum_size = Vector2(250, 0) @@ -787,6 +818,7 @@ theme_override_fonts/normal_font = ExtResource("2_vb7na") theme_override_font_sizes/normal_font_size = 16 bbcode_enabled = true text = "MASTER" +vertical_alignment = 1 [node name="MasterVolume" type="HSlider" parent="PauseMenu/Settings/MarginContainer/VBoxContainer/GridContainer/SoundContainer/VBoxContainer2/DialogueOptions/VBoxContainer/TextSpeed"] layout_mode = 2 @@ -806,6 +838,7 @@ size_flags_vertical = 4 theme_override_fonts/normal_font = ExtResource("2_vb7na") theme_override_font_sizes/normal_font_size = 16 bbcode_enabled = true +vertical_alignment = 1 [node name="Back" type="Button" parent="PauseMenu/Settings/MarginContainer/VBoxContainer"] custom_minimum_size = Vector2(80, 40) diff --git a/Scenes/main/main.gd b/Scenes/main/main.gd index 2cc3c64..97b30aa 100644 --- a/Scenes/main/main.gd +++ b/Scenes/main/main.gd @@ -86,7 +86,7 @@ func start_day(): UI.pause_menu.menu_button.hide() #Transitioning to day screen - $TextScreens/Day.text = "[center]DAY " + str(Globals.day_count) + "[/center]" + $TextScreens/Day.text = "[center]FLOOR " + str(Globals.floor_count) + "[/center]" var scenes_to_hide: Array[Node] = [$TitleScreen, $TextScreens, $TextScreens/Day, $ScreeningDesk] var scenes_to_show: Array[Node] = [$TextScreens, $TextScreens/Day] diff --git a/Scenes/text_screen/text_screens.gd b/Scenes/text_screen/text_screens.gd index fa6a446..2a2707b 100644 --- a/Scenes/text_screen/text_screens.gd +++ b/Scenes/text_screen/text_screens.gd @@ -1,6 +1,7 @@ extends CanvasLayer -@onready var intro_text_container = $MarginContainer/IntroBoxContainer/TextContainer +@onready var day = $Day + @@ -8,8 +9,5 @@ extends CanvasLayer func _ready() -> void: #Hiding everything - self.hide() - for node in intro_text_container.get_children(): - node.hide() - $MarginContainer/IntroBoxContainer/Header.hide() - $Day.hide() + hide() + day.hide() diff --git a/Scenes/text_screen/text_screens.tscn b/Scenes/text_screen/text_screens.tscn index a0f9f56..56e9f22 100644 --- a/Scenes/text_screen/text_screens.tscn +++ b/Scenes/text_screen/text_screens.tscn @@ -15,173 +15,15 @@ grow_horizontal = 2 grow_vertical = 2 color = Color(0, 0, 0, 1) -[node name="MarginContainer" type="MarginContainer" parent="."] -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 -theme_override_constants/margin_left = 100 -theme_override_constants/margin_top = 100 -theme_override_constants/margin_right = 100 -theme_override_constants/margin_bottom = 100 - -[node name="IntroBoxContainer" type="BoxContainer" parent="MarginContainer"] -layout_mode = 2 -vertical = true - -[node name="Header" type="RichTextLabel" parent="MarginContainer/IntroBoxContainer"] -clip_contents = false -custom_minimum_size = Vector2(10, 0) -layout_mode = 2 -size_flags_vertical = 3 -size_flags_stretch_ratio = 0.2 -theme_override_font_sizes/normal_font_size = 30 -theme_override_font_sizes/bold_font_size = 30 -theme_override_font_sizes/bold_italics_font_size = 30 -theme_override_font_sizes/italics_font_size = 30 -theme_override_font_sizes/mono_font_size = 30 -text = "French Republic, Paris, October 12th 2053 - -78 days since the Abnormality" -tab_size = 8 - -[node name="Separator" type="RichTextLabel" parent="MarginContainer/IntroBoxContainer"] -layout_mode = 2 -size_flags_vertical = 3 -size_flags_stretch_ratio = 0.2 - -[node name="TextContainer" type="MarginContainer" parent="MarginContainer/IntroBoxContainer"] -layout_mode = 2 -size_flags_vertical = 3 - -[node name="TextIntro1" type="RichTextLabel" parent="MarginContainer/IntroBoxContainer/TextContainer"] -clip_contents = false -custom_minimum_size = Vector2(10, 0) -layout_mode = 2 -theme_override_font_sizes/normal_font_size = 30 -theme_override_font_sizes/bold_font_size = 30 -theme_override_font_sizes/bold_italics_font_size = 30 -theme_override_font_sizes/italics_font_size = 30 -theme_override_font_sizes/mono_font_size = 30 -text = "It's been almost 3 months already since it all began. - -We thought it as a mere pandemic, yet another crisis amongst the dozens we had to bear for the past decade. - -A few hundred thousand deaths, twice the governmental lies, thrice the social media memes. - -Add in a pinch of conspiracy, season abundantly with senseless blaming, and the media would eventually move on to the next money-grabbing controversy. - - - -How i wish we still lived in those times." -tab_size = 8 - -[node name="TextIntro2" type="RichTextLabel" parent="MarginContainer/IntroBoxContainer/TextContainer"] -clip_contents = false -custom_minimum_size = Vector2(10, 0) -layout_mode = 2 -theme_override_font_sizes/normal_font_size = 30 -theme_override_font_sizes/bold_font_size = 30 -theme_override_font_sizes/bold_italics_font_size = 30 -theme_override_font_sizes/italics_font_size = 30 -theme_override_font_sizes/mono_font_size = 30 -bbcode_enabled = true -text = "The nightmares came first. Whispers from afar, soft, humming, comforting even. Slowly seeping into one's mind. -And then, the unexplainable. Things that the mind cannot comprehend, cannot write nor speak. - -The [i]Abnormal[/i]. - -Those with severe mental illnesses were the most vulnerable to It. - -Every trained psychiatrist from Saigon to Paris swiftly waltzed to the afterlife last month, murdered by the very patients they were trying to help. - -Deaths unbearable to witness, corpses disfigured beyond any rationality. - - -10 days ago, it started happening to the sane. -" -tab_size = 8 - -[node name="TextIntro3" type="RichTextLabel" parent="MarginContainer/IntroBoxContainer/TextContainer"] -clip_contents = false -custom_minimum_size = Vector2(10, 0) -layout_mode = 2 -theme_override_font_sizes/normal_font_size = 30 -theme_override_font_sizes/bold_font_size = 30 -theme_override_font_sizes/bold_italics_font_size = 30 -theme_override_font_sizes/italics_font_size = 30 -theme_override_font_sizes/mono_font_size = 30 -bbcode_enabled = true -text = "Military curfew all around the globe. -Containment attempts by the governments, even though It seems to propagate regardless of any safety measure. -Mass executions. - -I don't watch the news anymore. - -Disinformation was a delicacy in times of boredom, now it tastes somewhere between bitter resentment and sour resignation. - - - -Maybe science can save us. Probably not, but we have to believe. I have to believe. What other choice is there ? - - -" -tab_size = 8 - -[node name="TextIntro4" type="RichTextLabel" parent="MarginContainer/IntroBoxContainer/TextContainer"] -clip_contents = false -custom_minimum_size = Vector2(10, 0) -layout_mode = 2 -theme_override_font_sizes/normal_font_size = 30 -theme_override_font_sizes/bold_font_size = 30 -theme_override_font_sizes/bold_italics_font_size = 30 -theme_override_font_sizes/italics_font_size = 30 -theme_override_font_sizes/mono_font_size = 30 -bbcode_enabled = true -text = "I applied to help with psychiatric research, in a perhaps futile attempt to help. - -Since every senior psychiatrist teleported to the afterlife, all we were given was a 2-weeks crash course before getting hurled to the frontlines. - - -I am to screen the patients. Separate the Abnormals from the normally insane. - -Filter the acceptably unhinged from the anomalously disturbed. - -So we may dissect the ones for research, and execute the others for safety." -tab_size = 8 - -[node name="TextIntro5" type="RichTextLabel" parent="MarginContainer/IntroBoxContainer/TextContainer"] -clip_contents = false -custom_minimum_size = Vector2(10, 0) -layout_mode = 2 -theme_override_font_sizes/normal_font_size = 30 -theme_override_font_sizes/bold_font_size = 30 -theme_override_font_sizes/bold_italics_font_size = 30 -theme_override_font_sizes/italics_font_size = 30 -theme_override_font_sizes/mono_font_size = 30 -bbcode_enabled = true -text = "I am not qualified. - -I do not belong. - -And yet I have to try. - - - -For in these times of strife, I finally get to [i]matter[/i]." -tab_size = 8 - [node name="Day" type="RichTextLabel" parent="."] -visible = false anchors_preset = 8 anchor_left = 0.5 anchor_top = 0.5 anchor_right = 0.5 anchor_bottom = 0.5 -offset_left = -240.0 +offset_left = -406.0 offset_top = -105.5 -offset_right = 240.0 +offset_right = 406.0 offset_bottom = 105.5 grow_horizontal = 2 grow_vertical = 2 diff --git a/Scenes/title_screen/title_screen.gd b/Scenes/title_screen/title_screen.gd index aecf6ea..bfce19a 100644 --- a/Scenes/title_screen/title_screen.gd +++ b/Scenes/title_screen/title_screen.gd @@ -1,5 +1,11 @@ extends CanvasLayer +#Menu Elements +@onready var new_game = $TitleScreen/MenuContainer/NewGame +@onready var load = $TitleScreen/MenuContainer/Load +@onready var settings = $TitleScreen/MenuContainer/Settings +@onready var quit_game = $TitleScreen/MenuContainer/QuitGame + signal new_game_pressed @@ -7,35 +13,29 @@ signal new_game_pressed func _ready() -> void: #Connecting signals - $TitleScreen/MenuContainer/NewGame.pressed.connect(_on_new_game_pressed) - $TitleScreen/MenuContainer/Load.pressed.connect(_on_load_pressed) - $TitleScreen/MenuContainer/Settings.pressed.connect(_on_settings_pressed) - $TitleScreen/MenuContainer/QuitGame.pressed.connect(_on_quit_game_pressed) + new_game.pressed.connect(_on_new_game_pressed) + load.pressed.connect(_on_load_pressed) + settings.pressed.connect(_on_settings_pressed) + quit_game.pressed.connect(_on_quit_game_pressed) #Hiding everything - self.hide() - + hide() func _on_new_game_pressed() -> void: new_game_pressed.emit() - func _on_load_pressed(): - UI.get_node("UI/Load").show() - UI.get_node("UI/Load/MarginContainer/VBoxContainer/Control/Back").hide() - UI.get_node("UI/Load/MarginContainer/VBoxContainer/Control/BackTitle").show() - UI.masks.mask.visible = true - + UI.pause_menu.load.show() + UI.masks.mask.show() + UI.in_title_screen = true func _on_settings_pressed() -> void: - UI.get_node("UI/Settings").show() - UI.get_node("UI/Settings/MarginContainer/VBoxContainer/Control/Back").hide() - UI.get_node("UI/Settings/MarginContainer/VBoxContainer/Control/BackTitle").show() - UI.masks.mask.visible = true - + UI.pause_menu.settings.show() + UI.masks.mask.show() + UI.in_title_screen = true func _on_quit_game_pressed():