diff --git a/Resources/Locale/locale.de.translation b/Resources/Locale/locale.de.translation index c1297788..d226ff06 100644 Binary files a/Resources/Locale/locale.de.translation and b/Resources/Locale/locale.de.translation differ diff --git a/Resources/Locale/locale.en.translation b/Resources/Locale/locale.en.translation index 84122ec8..ef42953f 100644 Binary files a/Resources/Locale/locale.en.translation and b/Resources/Locale/locale.en.translation differ diff --git a/Resources/Locale/locale.es.translation b/Resources/Locale/locale.es.translation index 428cca78..f9ac2f4b 100644 Binary files a/Resources/Locale/locale.es.translation and b/Resources/Locale/locale.es.translation differ diff --git a/Resources/Locale/locale.fil.translation b/Resources/Locale/locale.fil.translation index bf1324d6..df33e460 100644 Binary files a/Resources/Locale/locale.fil.translation and b/Resources/Locale/locale.fil.translation differ diff --git a/Resources/Locale/locale.fr.translation b/Resources/Locale/locale.fr.translation index f9da9074..b4e206b8 100644 Binary files a/Resources/Locale/locale.fr.translation and b/Resources/Locale/locale.fr.translation differ diff --git a/Resources/Locale/locale.ga.translation b/Resources/Locale/locale.ga.translation index c6a73213..639c102a 100644 Binary files a/Resources/Locale/locale.ga.translation and b/Resources/Locale/locale.ga.translation differ diff --git a/Resources/Locale/locale.id.translation b/Resources/Locale/locale.id.translation index d37f0068..fabeaa9e 100644 Binary files a/Resources/Locale/locale.id.translation and b/Resources/Locale/locale.id.translation differ diff --git a/Resources/Locale/locale.it.translation b/Resources/Locale/locale.it.translation index 92c525e5..78e4053d 100644 Binary files a/Resources/Locale/locale.it.translation and b/Resources/Locale/locale.it.translation differ diff --git a/Resources/Locale/locale.jp.translation b/Resources/Locale/locale.jp.translation index 521e1af3..88599481 100644 Binary files a/Resources/Locale/locale.jp.translation and b/Resources/Locale/locale.jp.translation differ diff --git a/Resources/Locale/locale.pl.translation b/Resources/Locale/locale.pl.translation index 2fe3ecc6..a428e860 100644 Binary files a/Resources/Locale/locale.pl.translation and b/Resources/Locale/locale.pl.translation differ diff --git a/Resources/Locale/locale.pt.translation b/Resources/Locale/locale.pt.translation index 5d121ff4..4a995aa1 100644 Binary files a/Resources/Locale/locale.pt.translation and b/Resources/Locale/locale.pt.translation differ diff --git a/Resources/Locale/locale.ru.translation b/Resources/Locale/locale.ru.translation index 89b01834..04cc0047 100644 Binary files a/Resources/Locale/locale.ru.translation and b/Resources/Locale/locale.ru.translation differ diff --git a/Resources/Locale/locale.tr.translation b/Resources/Locale/locale.tr.translation index cad8a036..be9559c1 100644 Binary files a/Resources/Locale/locale.tr.translation and b/Resources/Locale/locale.tr.translation differ diff --git a/Scripts/Classes/Components/ResourceSetterNew.gd b/Scripts/Classes/Components/ResourceSetterNew.gd index df6f9af0..31b5f782 100644 --- a/Scripts/Classes/Components/ResourceSetterNew.gd +++ b/Scripts/Classes/Components/ResourceSetterNew.gd @@ -306,7 +306,7 @@ func clear_cache() -> void: cache.clear() property_cache.clear() -func load_image_from_path(path := "") -> ImageTexture: +func load_image_from_path(path := "") -> Texture2D: if path.contains("res://"): if path.contains("NULL"): return null diff --git a/addons/discord-rpc-gd/bin/windows/~discord_game_sdk_binding_debug.dll b/addons/discord-rpc-gd/bin/windows/~discord_game_sdk_binding_debug.dll new file mode 100644 index 00000000..2b52a76b Binary files /dev/null and b/addons/discord-rpc-gd/bin/windows/~discord_game_sdk_binding_debug.dll differ diff --git a/addons/mod_loader/_export_plugin/export_plugin.gd.uid b/addons/mod_loader/_export_plugin/export_plugin.gd.uid index ce548885..7df4640c 100644 --- a/addons/mod_loader/_export_plugin/export_plugin.gd.uid +++ b/addons/mod_loader/_export_plugin/export_plugin.gd.uid @@ -1 +1 @@ -uid://b0csnkkiudklo +uid://bmpsawwiyy20a diff --git a/addons/mod_loader/_export_plugin/plugin.gd.uid b/addons/mod_loader/_export_plugin/plugin.gd.uid index 60a97981..a787428c 100644 --- a/addons/mod_loader/_export_plugin/plugin.gd.uid +++ b/addons/mod_loader/_export_plugin/plugin.gd.uid @@ -1 +1 @@ -uid://l36n5fcc565s +uid://b6a02y62bm16j diff --git a/addons/mod_loader/api/config.gd.uid b/addons/mod_loader/api/config.gd.uid index e4497b94..84f33306 100644 --- a/addons/mod_loader/api/config.gd.uid +++ b/addons/mod_loader/api/config.gd.uid @@ -1 +1 @@ -uid://byhbvq7il70cy +uid://cepqw3ldumchb diff --git a/addons/mod_loader/api/deprecated.gd.uid b/addons/mod_loader/api/deprecated.gd.uid index cb59f6bc..701f1544 100644 --- a/addons/mod_loader/api/deprecated.gd.uid +++ b/addons/mod_loader/api/deprecated.gd.uid @@ -1 +1 @@ -uid://2sifoxblubxv +uid://b503egkdydcbv diff --git a/addons/mod_loader/api/hook_chain.gd.uid b/addons/mod_loader/api/hook_chain.gd.uid index 14921414..df848ea1 100644 --- a/addons/mod_loader/api/hook_chain.gd.uid +++ b/addons/mod_loader/api/hook_chain.gd.uid @@ -1 +1 @@ -uid://nyep44jvp7yc +uid://2wreigxn0epq diff --git a/addons/mod_loader/api/log.gd b/addons/mod_loader/api/log.gd index f9fedc8f..6e4761ce 100644 --- a/addons/mod_loader/api/log.gd +++ b/addons/mod_loader/api/log.gd @@ -43,8 +43,13 @@ static var verbosity: VERBOSITY_LEVEL = VERBOSITY_LEVEL.DEBUG ## Array of mods that should be ignored when logging messages (contains mod IDs as strings) static var ignored_mods: Array[String] = [] -## Highlighting color for hint type log messages -static var hint_color := Color("#70bafa") +# NOTE: default values which get replaced later by `_configure_logger` +static var warning_color := Color("#ffde66") +static var success_color := Color("#5d8c3f") +static var info_color := Color("#70bafa") +static var hint_color := Color("#b293fa") +static var debug_color := Color("#d4d4d4") +static var debug_bold := true ## This Sub-Class represents a log entry in ModLoader. class ModLoaderLogEntry: @@ -99,9 +104,15 @@ class ModLoaderLogEntry: ## Get the prefix string for the log entry, including the log type and mod name.[br] ## [br] + ## [b]Parameters:[/b][br] + ## [param exclude_type] ([bool]): (Optional) If true, the log type (e.g., DEBUG, WARN) will be excluded from the prefix. Default is false.[br] + ## [br] ## [b]Returns:[/b] [String] - func get_prefix() -> String: - return "%s %s: " % [type.to_upper(), mod_name] + func get_prefix(exclude_type := false) -> String: + return "%s%s: " % [ + "" if exclude_type else "%s " % type.to_upper(), + mod_name + ] ## Generate an MD5 hash of the log entry (prefix + message).[br] @@ -391,6 +402,17 @@ static func get_all_entries_as_string(log_entries: Array) -> Array: # Internal log functions # ============================================================================= +static func _print_rich(prefix: String, message: String, color: Color, bold := true) -> void: + if OS.has_feature("editor"): + var prefix_text := "[b]%s[/b]" % prefix if bold else prefix + print_rich("[color=%s]%s[/color]%s" % [ + color.to_html(false), + prefix_text, + message + ]) + else: + print(prefix + message) + static func _log(message: String, mod_name: String, log_type: String = "info", only_once := false) -> void: if _is_mod_name_ignored(mod_name): return @@ -422,25 +444,35 @@ static func _log(message: String, mod_name: String, log_type: String = "info", o _write_to_log_file(JSON.stringify(get_stack(), " ")) assert(false, message) "error": - printerr(log_entry.get_prefix() + message) + if ModLoaderStore.has_feature.editor: + printerr(log_entry.get_prefix(true) + message) + else: + printerr(log_entry.get_prefix() + message) push_error(message) _write_to_log_file(log_entry.get_entry()) "warning": if verbosity >= VERBOSITY_LEVEL.WARNING: - print(log_entry.get_prefix() + message) + _print_rich(log_entry.get_prefix(), message, warning_color) push_warning(message) _write_to_log_file(log_entry.get_entry()) - "info", "success": + "success": if verbosity >= VERBOSITY_LEVEL.INFO: - print(log_entry.get_prefix() + message) + _print_rich(log_entry.get_prefix(), message, success_color) + _write_to_log_file(log_entry.get_entry()) + "info": + if verbosity >= VERBOSITY_LEVEL.INFO: + _print_rich(log_entry.get_prefix(), message, info_color) _write_to_log_file(log_entry.get_entry()) "debug": if verbosity >= VERBOSITY_LEVEL.DEBUG: - print(log_entry.get_prefix() + message) + _print_rich(log_entry.get_prefix(), message, debug_color, debug_bold) _write_to_log_file(log_entry.get_entry()) "hint": - if OS.has_feature("editor") and verbosity >= VERBOSITY_LEVEL.DEBUG: - print_rich("[color=%s]%s[/color]" % [hint_color.to_html(false), log_entry.get_prefix() + message]) + if ( + ModLoaderStore.has_feature.editor and + verbosity >= VERBOSITY_LEVEL.DEBUG + ): + _print_rich(log_entry.get_prefix(), message, hint_color) static func _is_mod_name_ignored(mod_name: String) -> bool: diff --git a/addons/mod_loader/api/log.gd.uid b/addons/mod_loader/api/log.gd.uid index e837e7eb..650a728d 100644 --- a/addons/mod_loader/api/log.gd.uid +++ b/addons/mod_loader/api/log.gd.uid @@ -1 +1 @@ -uid://dfoleo2pforxu +uid://ca6jko6awb8i3 diff --git a/addons/mod_loader/api/mod.gd.uid b/addons/mod_loader/api/mod.gd.uid index 7b447f83..5bc3a3b8 100644 --- a/addons/mod_loader/api/mod.gd.uid +++ b/addons/mod_loader/api/mod.gd.uid @@ -1 +1 @@ -uid://d2hugw88f3q4e +uid://b3khrstensh0 diff --git a/addons/mod_loader/api/profile.gd.uid b/addons/mod_loader/api/profile.gd.uid index 96f5fbba..8e687d50 100644 --- a/addons/mod_loader/api/profile.gd.uid +++ b/addons/mod_loader/api/profile.gd.uid @@ -1 +1 @@ -uid://c0u28df0ffhan +uid://caiv672leoq2u diff --git a/addons/mod_loader/internal/cache.gd.uid b/addons/mod_loader/internal/cache.gd.uid index ab408d18..fb864b4b 100644 --- a/addons/mod_loader/internal/cache.gd.uid +++ b/addons/mod_loader/internal/cache.gd.uid @@ -1 +1 @@ -uid://b73enisoxe0uq +uid://5fg2uh7tfmrh diff --git a/addons/mod_loader/internal/cli.gd.uid b/addons/mod_loader/internal/cli.gd.uid index d6787c19..f8766d5a 100644 --- a/addons/mod_loader/internal/cli.gd.uid +++ b/addons/mod_loader/internal/cli.gd.uid @@ -1 +1 @@ -uid://c3rvk5ry6rqyq +uid://ctocxfrx7h62y diff --git a/addons/mod_loader/internal/dependency.gd b/addons/mod_loader/internal/dependency.gd index 472697b1..f6559339 100644 --- a/addons/mod_loader/internal/dependency.gd +++ b/addons/mod_loader/internal/dependency.gd @@ -49,6 +49,7 @@ static func check_dependencies(mod: ModData, is_required := true, dependency_cha _handle_missing_dependency(mod_id, dependency_id) # Flag the mod so it's not loaded later mod.is_loadable = false + mod.is_active = false else: var dependency: ModData = ModLoaderStore.mod_data[dependency_id] diff --git a/addons/mod_loader/internal/dependency.gd.uid b/addons/mod_loader/internal/dependency.gd.uid index 46b62021..199c98c6 100644 --- a/addons/mod_loader/internal/dependency.gd.uid +++ b/addons/mod_loader/internal/dependency.gd.uid @@ -1 +1 @@ -uid://bnmjbsvid8sxk +uid://be0ha68kaqhym diff --git a/addons/mod_loader/internal/file.gd b/addons/mod_loader/internal/file.gd index 5377bad2..41cd1577 100644 --- a/addons/mod_loader/internal/file.gd +++ b/addons/mod_loader/internal/file.gd @@ -195,10 +195,7 @@ static func file_exists_in_zip(zip_path: String, path: String) -> bool: if not reader: return false - if _ModLoaderGodot.is_version_below(_ModLoaderGodot.ENGINE_VERSION_HEX_4_2_0): - return reader.get_files().has(path.trim_prefix("res://")) - else: - return reader.file_exists(path.trim_prefix("res://")) + return reader.get_files().has(path.trim_prefix("res://")) static func get_mod_dir_name_in_zip(zip_path: String) -> String: diff --git a/addons/mod_loader/internal/file.gd.uid b/addons/mod_loader/internal/file.gd.uid index 09d1bdd4..b322a6c3 100644 --- a/addons/mod_loader/internal/file.gd.uid +++ b/addons/mod_loader/internal/file.gd.uid @@ -1 +1 @@ -uid://d34sgvhw73mtb +uid://43dqdp55oll diff --git a/addons/mod_loader/internal/godot.gd.uid b/addons/mod_loader/internal/godot.gd.uid index 373ae8d5..95142a79 100644 --- a/addons/mod_loader/internal/godot.gd.uid +++ b/addons/mod_loader/internal/godot.gd.uid @@ -1 +1 @@ -uid://dc86ulvsd1da7 +uid://dke5ndugd3pw8 diff --git a/addons/mod_loader/internal/hooks.gd.uid b/addons/mod_loader/internal/hooks.gd.uid index 30fbbd0b..ef5a8040 100644 --- a/addons/mod_loader/internal/hooks.gd.uid +++ b/addons/mod_loader/internal/hooks.gd.uid @@ -1 +1 @@ -uid://yrog1crr7kxp +uid://cbqwg3m61yvwl diff --git a/addons/mod_loader/internal/mod_hook_packer.gd.uid b/addons/mod_loader/internal/mod_hook_packer.gd.uid index 1c80c411..8416423a 100644 --- a/addons/mod_loader/internal/mod_hook_packer.gd.uid +++ b/addons/mod_loader/internal/mod_hook_packer.gd.uid @@ -1 +1 @@ -uid://dnwq8741pln26 +uid://dcm2pyox3kbym diff --git a/addons/mod_loader/internal/mod_hook_preprocessor.gd.uid b/addons/mod_loader/internal/mod_hook_preprocessor.gd.uid index 216198b4..3c06369d 100644 --- a/addons/mod_loader/internal/mod_hook_preprocessor.gd.uid +++ b/addons/mod_loader/internal/mod_hook_preprocessor.gd.uid @@ -1 +1 @@ -uid://gxlbhvqctoix +uid://cjg3y750m35jr diff --git a/addons/mod_loader/internal/mod_loader_utils.gd.uid b/addons/mod_loader/internal/mod_loader_utils.gd.uid index bdfb0043..230b3142 100644 --- a/addons/mod_loader/internal/mod_loader_utils.gd.uid +++ b/addons/mod_loader/internal/mod_loader_utils.gd.uid @@ -1 +1 @@ -uid://bk8dltcgr6n5d +uid://b5k7eocfniqut diff --git a/addons/mod_loader/internal/path.gd.uid b/addons/mod_loader/internal/path.gd.uid index db6ef60c..75e8a2e8 100644 --- a/addons/mod_loader/internal/path.gd.uid +++ b/addons/mod_loader/internal/path.gd.uid @@ -1 +1 @@ -uid://dahg6tbvgiy3q +uid://b71qi44121xu6 diff --git a/addons/mod_loader/internal/scene_extension.gd.uid b/addons/mod_loader/internal/scene_extension.gd.uid index f4856907..a19f1197 100644 --- a/addons/mod_loader/internal/scene_extension.gd.uid +++ b/addons/mod_loader/internal/scene_extension.gd.uid @@ -1 +1 @@ -uid://daijyovwv2vnr +uid://2sm6ww4bwa35 diff --git a/addons/mod_loader/internal/script_extension.gd.uid b/addons/mod_loader/internal/script_extension.gd.uid index 951ea9fc..84d0a2f6 100644 --- a/addons/mod_loader/internal/script_extension.gd.uid +++ b/addons/mod_loader/internal/script_extension.gd.uid @@ -1 +1 @@ -uid://dinxouhn4hk1d +uid://48f4wo7gu7pg diff --git a/addons/mod_loader/internal/third_party/steam.gd.uid b/addons/mod_loader/internal/third_party/steam.gd.uid index df6258ac..7464c5f7 100644 --- a/addons/mod_loader/internal/third_party/steam.gd.uid +++ b/addons/mod_loader/internal/third_party/steam.gd.uid @@ -1 +1 @@ -uid://br0xd56w758rg +uid://jmbfyn7bw0c4 diff --git a/addons/mod_loader/mod_loader.gd.uid b/addons/mod_loader/mod_loader.gd.uid index 91ad539d..994e4a66 100644 --- a/addons/mod_loader/mod_loader.gd.uid +++ b/addons/mod_loader/mod_loader.gd.uid @@ -1 +1 @@ -uid://bd8npc3ai2vv3 +uid://dddx78cqvuhg1 diff --git a/addons/mod_loader/mod_loader_setup.gd.uid b/addons/mod_loader/mod_loader_setup.gd.uid new file mode 100644 index 00000000..e19ad3d7 --- /dev/null +++ b/addons/mod_loader/mod_loader_setup.gd.uid @@ -0,0 +1 @@ +uid://b0goxb1n0eqvr diff --git a/addons/mod_loader/mod_loader_store.gd b/addons/mod_loader/mod_loader_store.gd index 5bc7bebd..fac47969 100644 --- a/addons/mod_loader/mod_loader_store.gd +++ b/addons/mod_loader/mod_loader_store.gd @@ -227,4 +227,9 @@ func _update_ml_options_from_cli_args() -> void: func _configure_logger() -> void: ModLoaderLog.verbosity = ml_options.log_level ModLoaderLog.ignored_mods = ml_options.ignored_mod_names_in_log + ModLoaderLog.warning_color = ml_options.warning_color + ModLoaderLog.success_color = ml_options.success_color + ModLoaderLog.info_color = ml_options.info_color ModLoaderLog.hint_color = ml_options.hint_color + ModLoaderLog.debug_color = ml_options.debug_color + ModLoaderLog.debug_bold = ml_options.debug_bold diff --git a/addons/mod_loader/mod_loader_store.gd.uid b/addons/mod_loader/mod_loader_store.gd.uid index d52c6ec4..a3429c71 100644 --- a/addons/mod_loader/mod_loader_store.gd.uid +++ b/addons/mod_loader/mod_loader_store.gd.uid @@ -1 +1 @@ -uid://jv5kxtsw7sfj +uid://c2ajp5nymw8j8 diff --git a/addons/mod_loader/options/options.tres b/addons/mod_loader/options/options.tres index f9382d4a..341b1aad 100644 --- a/addons/mod_loader/options/options.tres +++ b/addons/mod_loader/options/options.tres @@ -1,12 +1,8 @@ [gd_resource type="Resource" script_class="ModLoaderCurrentOptions" load_steps=4 format=3 uid="uid://bls83tkysflvg"] -[ext_resource type="Resource" path="res://addons/mod_loader/options/profiles/default.tres" id="1_yg7p8"] -[ext_resource type="Script" path="res://addons/mod_loader/resources/options_current.gd" id="2"] +[ext_resource type="Resource" uid="uid://bau85xe7qd6xm" path="res://addons/mod_loader/options/profiles/default.tres" id="1_yg7p8"] +[ext_resource type="Script" uid="uid://cmxtu4snlj1bb" path="res://addons/mod_loader/resources/options_current.gd" id="2"] [ext_resource type="Resource" path="res://addons/mod_loader/options/profiles/editor.tres" id="3"] [resource] script = ExtResource("2") -current_options = ExtResource("1_yg7p8") -feature_override_options = { -"editor": ExtResource("3") -} diff --git a/addons/mod_loader/options/profiles/default.tres b/addons/mod_loader/options/profiles/default.tres index 07774b34..545c2b3e 100644 --- a/addons/mod_loader/options/profiles/default.tres +++ b/addons/mod_loader/options/profiles/default.tres @@ -1,14 +1,6 @@ -[gd_resource type="Resource" load_steps=2 format=2] - -[ext_resource path="res://addons/mod_loader/resources/options_profile.gd" type="Script" id=1] +[gd_resource type="Resource" script_class="ModLoaderOptionsProfile" load_steps=2 format=3 uid="uid://bau85xe7qd6xm"] +[ext_resource type="Script" uid="uid://f46uvi5y8oqi" path="res://addons/mod_loader/resources/options_profile.gd" id="1"] [resource] -script = ExtResource( 1 ) -enable_mods = true -log_level = 3 -disabled_mods = [ ] -steam_workshop_enabled = false -override_path_to_mods = "" -override_path_to_configs = "" -override_path_to_workshop = "" +script = ExtResource("1") diff --git a/addons/mod_loader/resources/mod_config.gd.uid b/addons/mod_loader/resources/mod_config.gd.uid index 8141ef12..e9949db1 100644 --- a/addons/mod_loader/resources/mod_config.gd.uid +++ b/addons/mod_loader/resources/mod_config.gd.uid @@ -1 +1 @@ -uid://bjfjju1edaxwv +uid://bvxprkn5ij076 diff --git a/addons/mod_loader/resources/mod_data.gd.uid b/addons/mod_loader/resources/mod_data.gd.uid index 9b5d062d..0701cb56 100644 --- a/addons/mod_loader/resources/mod_data.gd.uid +++ b/addons/mod_loader/resources/mod_data.gd.uid @@ -1 +1 @@ -uid://bfnhjikkx0g5s +uid://dsgr2b68w3ndv diff --git a/addons/mod_loader/resources/mod_manifest.gd.uid b/addons/mod_loader/resources/mod_manifest.gd.uid index 7a78093c..c9ee6bdb 100644 --- a/addons/mod_loader/resources/mod_manifest.gd.uid +++ b/addons/mod_loader/resources/mod_manifest.gd.uid @@ -1 +1 @@ -uid://bleh3oamdbmnr +uid://s5gnda0rx2s8 diff --git a/addons/mod_loader/resources/mod_user_profile.gd.uid b/addons/mod_loader/resources/mod_user_profile.gd.uid index 79281ef5..d5ea0390 100644 --- a/addons/mod_loader/resources/mod_user_profile.gd.uid +++ b/addons/mod_loader/resources/mod_user_profile.gd.uid @@ -1 +1 @@ -uid://ddrlbkscua6n0 +uid://diggt80eyfpwi diff --git a/addons/mod_loader/resources/options_current.gd.uid b/addons/mod_loader/resources/options_current.gd.uid index 75e27515..589d0105 100644 --- a/addons/mod_loader/resources/options_current.gd.uid +++ b/addons/mod_loader/resources/options_current.gd.uid @@ -1 +1 @@ -uid://cmxtu4snlj1bb +uid://isimicww6eyn diff --git a/addons/mod_loader/resources/options_profile.gd b/addons/mod_loader/resources/options_profile.gd index f1982f48..2ae870c7 100644 --- a/addons/mod_loader/resources/options_profile.gd +++ b/addons/mod_loader/resources/options_profile.gd @@ -55,7 +55,18 @@ enum VERSION_VALIDATION { ## [code]ModLoader:Dependency[/code] - ignore the exact name [br] ## [code]ModLoader:*[/code] - ignore all beginning with this name [br] @export var ignored_mod_names_in_log: Array[String] = [] -@export var hint_color := Color("#70bafa") +## Highlighting color for warning type log messages +@export var warning_color := Color("#ffde66") +## Highlighting color for success type log messages +@export var success_color := Color("#5d8c3f") +## Highlighting color for info type log messages +@export var info_color := Color("#70bafa") +## Highlighting color for hint type log messages +@export var hint_color := Color("#b293fa") +## Highlighting color for debug type log messages +@export var debug_color := Color("#d4d4d4") +## Highlight debug log prefixes with bold formatting +@export var debug_bold := true @export_group("Game Data") ## Steam app id, can be found in the steam page url diff --git a/addons/mod_loader/resources/options_profile.gd.uid b/addons/mod_loader/resources/options_profile.gd.uid index 856965dc..4363bfe7 100644 --- a/addons/mod_loader/resources/options_profile.gd.uid +++ b/addons/mod_loader/resources/options_profile.gd.uid @@ -1 +1 @@ -uid://dsbicisgihjet +uid://f46uvi5y8oqi diff --git a/addons/mod_loader/restart_notification.gd.uid b/addons/mod_loader/restart_notification.gd.uid index b6864aaa..a5405a90 100644 --- a/addons/mod_loader/restart_notification.gd.uid +++ b/addons/mod_loader/restart_notification.gd.uid @@ -1 +1 @@ -uid://k10oyyxy00y1 +uid://c1ryohmi4al0d diff --git a/addons/mod_loader/setup/setup_log.gd.uid b/addons/mod_loader/setup/setup_log.gd.uid index e599f5b0..dc3f7c0f 100644 --- a/addons/mod_loader/setup/setup_log.gd.uid +++ b/addons/mod_loader/setup/setup_log.gd.uid @@ -1 +1 @@ -uid://djchjoj06bcko +uid://vsfxyayum0ww diff --git a/addons/mod_loader/setup/setup_utils.gd.uid b/addons/mod_loader/setup/setup_utils.gd.uid index 0eb66e17..c98268d8 100644 --- a/addons/mod_loader/setup/setup_utils.gd.uid +++ b/addons/mod_loader/setup/setup_utils.gd.uid @@ -1 +1 @@ -uid://2tin8kqukljx +uid://2f67cuf7q2fr diff --git a/addons/mod_tool/global/utils.gd b/addons/mod_tool/global/utils.gd index a53ee96f..08ff459d 100644 --- a/addons/mod_tool/global/utils.gd +++ b/addons/mod_tool/global/utils.gd @@ -10,7 +10,7 @@ class_name ModToolUtils static func reload_script(script: Script, mod_tool_store: ModToolStore) -> void: var pending_reloads := mod_tool_store.pending_reloads - if script.resource_path in pending_reloads: + if script and script.resource_path in pending_reloads: var source_code_from_disc := FileAccess.open(script.resource_path, FileAccess.READ).get_as_text() var script_editor := EditorInterface.get_script_editor() diff --git a/addons/mod_tool/interface/file_system/file_system_context_actions.gd b/addons/mod_tool/interface/file_system/file_system_context_actions.gd index 53ec6dc7..023cca14 100644 --- a/addons/mod_tool/interface/file_system/file_system_context_actions.gd +++ b/addons/mod_tool/interface/file_system/file_system_context_actions.gd @@ -89,7 +89,7 @@ func add_custom_context_actions(context_menu: PopupMenu, file_paths: Array[Strin add_hooks_context_action(context_menu, script_paths) if asset_override_paths.size() > 0: - add_asset_override_context_action(context_menu, script_paths) + add_asset_override_context_action(context_menu, asset_override_paths) func create_script_extension(file_path: String) -> String: diff --git a/export_presets.cfg b/export_presets.cfg index ae60e6a6..8505c54c 100644 --- a/export_presets.cfg +++ b/export_presets.cfg @@ -16,7 +16,7 @@ encryption_exclude_filters="" seed=0 encrypt_pck=false encrypt_directory=false -script_export_mode=2 +script_export_mode=0 [preset.0.options] diff --git a/godotgif/bin/~godotgif.windows.template_debug.x86_64.dll b/godotgif/bin/~godotgif.windows.template_debug.x86_64.dll new file mode 100644 index 00000000..dfaf3116 Binary files /dev/null and b/godotgif/bin/~godotgif.windows.template_debug.x86_64.dll differ