aboutsummaryrefslogtreecommitdiff
path: root/game/src/Game/Autoload
diff options
context:
space:
mode:
author Joel Machens <ajmach6@gmail.com>2023-06-12 04:27:31 +0200
committer BrickPi <49528459+BrickPi@users.noreply.github.com>2023-06-13 19:53:03 +0200
commitacda3217349a0ebdb8b48a3787cb15d8eb250e7c (patch)
treec6703f8c2f7fe33cfd6a11bbcf4d0a6294046570 /game/src/Game/Autoload
parent6e26b948ea2a7632bcb7b795fe78f7169477eb6a (diff)
Add Loading Screen
Diffstat (limited to 'game/src/Game/Autoload')
-rw-r--r--game/src/Game/Autoload/Events.gd30
-rw-r--r--game/src/Game/Autoload/Events/GameDebug.gd1
-rw-r--r--game/src/Game/Autoload/Events/Localisation.gd1
-rw-r--r--game/src/Game/Autoload/Events/Options.gd1
-rw-r--r--game/src/Game/Autoload/Events/ShaderManager.gd1
5 files changed, 26 insertions, 8 deletions
diff --git a/game/src/Game/Autoload/Events.gd b/game/src/Game/Autoload/Events.gd
index 4387cc7..786ece4 100644
--- a/game/src/Game/Autoload/Events.gd
+++ b/game/src/Game/Autoload/Events.gd
@@ -1,9 +1,9 @@
extends Node
-var GameDebug = preload("Events/GameDebug.gd").new()
-var Options = preload("Events/Options.gd").new()
-var Localisation = preload("Events/Localisation.gd").new()
-var ShaderManager = preload("Events/ShaderManager.gd").new()
+var GameDebug: GameDebugSingleton
+var Options: OptionsSingleton
+var Localisation: LocalisationSingleton
+var ShaderManager: ShaderManagerSingleton
var _define_filepaths_dict : Dictionary = {
GameSingleton.get_province_identifier_file_key(): "res://common/map/provinces.json",
@@ -19,9 +19,10 @@ var _define_filepaths_dict : Dictionary = {
# REQUIREMENTS
# * FS-333, FS-334, FS-335, FS-341
-func _ready():
+func load_events(loading_screen: LoadingScreen):
GameSingleton.setup_logger()
-
+ loading_screen.update_loading_screen(5)
+
# Set this to your Vic2 install dir or a mod's dir to enable compatibility mode
# (this won't work for mods which rely on vanilla map assets, copy missing assets
# into the mod's dir for a temporary fix)
@@ -33,13 +34,26 @@ func _ready():
compatibility_mode_path = arg_dictionary.get(&"compatibility-mode", compatibility_mode_path)
var start := Time.get_ticks_usec()
-
+
+ GameDebug = GameDebugSingleton.new()
+ loading_screen.update_loading_screen(15)
+ Options = OptionsSingleton.new()
+ loading_screen.update_loading_screen(25)
+ Localisation = LocalisationSingleton.new()
+ loading_screen.update_loading_screen(45)
+ ShaderManager = ShaderManagerSingleton.new()
+ loading_screen.update_loading_screen(50, true)
+
if compatibility_mode_path:
if GameSingleton.load_defines_compatibility_mode(compatibility_mode_path) != OK:
push_error("Errors loading game defines!")
else:
if GameSingleton.load_defines(_define_filepaths_dict) != OK:
push_error("Errors loading game defines!")
-
+
+ loading_screen.update_loading_screen(100)
var end := Time.get_ticks_usec()
print("Loading took ", float(end - start) / 1000000, " seconds")
+
+ # change scene in a thread-safe way
+ get_tree().call_deferred("change_scene_to_file", "res://src/Game/GameMenu.tscn")
diff --git a/game/src/Game/Autoload/Events/GameDebug.gd b/game/src/Game/Autoload/Events/GameDebug.gd
index df7a23a..ea4a157 100644
--- a/game/src/Game/Autoload/Events/GameDebug.gd
+++ b/game/src/Game/Autoload/Events/GameDebug.gd
@@ -1,4 +1,5 @@
extends RefCounted
+class_name GameDebugSingleton
# REQUIREMENTS:
# * SS-56
diff --git a/game/src/Game/Autoload/Events/Localisation.gd b/game/src/Game/Autoload/Events/Localisation.gd
index eda7e51..91f9ca0 100644
--- a/game/src/Game/Autoload/Events/Localisation.gd
+++ b/game/src/Game/Autoload/Events/Localisation.gd
@@ -1,4 +1,5 @@
extends RefCounted
+class_name LocalisationSingleton
# REQUIREMENTS
# * SS-59, SS-60, SS-61
diff --git a/game/src/Game/Autoload/Events/Options.gd b/game/src/Game/Autoload/Events/Options.gd
index fbeccef..2e9b90b 100644
--- a/game/src/Game/Autoload/Events/Options.gd
+++ b/game/src/Game/Autoload/Events/Options.gd
@@ -1,4 +1,5 @@
extends RefCounted
+class_name OptionsSingleton
signal save_settings(save_file: ConfigFile)
signal load_settings(load_file: ConfigFile)
diff --git a/game/src/Game/Autoload/Events/ShaderManager.gd b/game/src/Game/Autoload/Events/ShaderManager.gd
index a503c52..731dc3c 100644
--- a/game/src/Game/Autoload/Events/ShaderManager.gd
+++ b/game/src/Game/Autoload/Events/ShaderManager.gd
@@ -1,4 +1,5 @@
extends RefCounted
+class_name ShaderManagerSingleton
const param_province_shape_tex : StringName = &"province_shape_tex"
const param_province_shape_subdivisions : StringName = &"province_shape_subdivisions"