aboutsummaryrefslogtreecommitdiff
path: root/game/src/Game/Autoload
diff options
context:
space:
mode:
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 450d21e..f979301 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)
@@ -30,13 +31,26 @@ func _ready():
var compatibility_mode_path : String = ArgumentParser.get_argument(&"compatibility-mode")
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 20b6a67..9e18343 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
func set_debug_mode(value : bool) -> void:
ArgumentParser.set_argument(&"game-debug", value)
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"