diff options
-rw-r--r-- | core/config/project_settings.cpp | 5 | ||||
-rw-r--r-- | core/config/project_settings.h | 2 | ||||
-rw-r--r-- | editor/editor_paths.cpp | 2 | ||||
-rw-r--r-- | tests/core/test_time.h | 4 |
4 files changed, 10 insertions, 3 deletions
diff --git a/core/config/project_settings.cpp b/core/config/project_settings.cpp index f0de22f2ef..56e9057a2a 100644 --- a/core/config/project_settings.cpp +++ b/core/config/project_settings.cpp @@ -656,6 +656,7 @@ Error ProjectSettings::setup(const String &p_path, const String &p_main_pack, bo Compression::gzip_level = GLOBAL_GET("compression/formats/gzip/compression_level"); + project_loaded = err == OK; return err; } @@ -1106,6 +1107,10 @@ bool ProjectSettings::is_using_datapack() const { return using_datapack; } +bool ProjectSettings::is_project_loaded() const { + return project_loaded; +} + bool ProjectSettings::_property_can_revert(const StringName &p_name) const { if (!props.has(p_name)) { return false; diff --git a/core/config/project_settings.h b/core/config/project_settings.h index 50cb274831..a0249ef267 100644 --- a/core/config/project_settings.h +++ b/core/config/project_settings.h @@ -95,6 +95,7 @@ protected: String resource_path; HashMap<StringName, PropertyInfo> custom_prop_info; bool using_datapack = false; + bool project_loaded = false; List<String> input_presets; HashSet<String> custom_features; @@ -190,6 +191,7 @@ public: Variant get_setting_with_override(const StringName &p_name) const; bool is_using_datapack() const; + bool is_project_loaded() const; bool has_custom_feature(const String &p_feature) const; diff --git a/editor/editor_paths.cpp b/editor/editor_paths.cpp index 36ebeb8c33..389c16fd66 100644 --- a/editor/editor_paths.cpp +++ b/editor/editor_paths.cpp @@ -218,7 +218,7 @@ EditorPaths::EditorPaths() { // Validate or create project-specific editor data dir, // including shader cache subdir. - if (Engine::get_singleton()->is_project_manager_hint() || Main::is_cmdline_tool()) { + if (Engine::get_singleton()->is_project_manager_hint() || (Main::is_cmdline_tool() && !ProjectSettings::get_singleton()->is_project_loaded())) { // Nothing to create, use shared editor data dir for shader cache. Engine::get_singleton()->set_shader_cache_path(data_dir); } else { diff --git a/tests/core/test_time.h b/tests/core/test_time.h index 7c8465cd12..6e31324359 100644 --- a/tests/core/test_time.h +++ b/tests/core/test_time.h @@ -91,7 +91,7 @@ TEST_CASE("[Time] Datetime dictionary conversion methods") { datetime[YEAR_KEY] = 2014; datetime[MONTH_KEY] = 2; datetime[DAY_KEY] = 9; - datetime[WEEKDAY_KEY] = Weekday::WEEKDAY_SUNDAY; + datetime[WEEKDAY_KEY] = (int64_t)Weekday::WEEKDAY_SUNDAY; datetime[HOUR_KEY] = 22; datetime[MINUTE_KEY] = 10; datetime[SECOND_KEY] = 30; @@ -100,7 +100,7 @@ TEST_CASE("[Time] Datetime dictionary conversion methods") { date_only[YEAR_KEY] = 2014; date_only[MONTH_KEY] = 2; date_only[DAY_KEY] = 9; - date_only[WEEKDAY_KEY] = Weekday::WEEKDAY_SUNDAY; + date_only[WEEKDAY_KEY] = (int64_t)Weekday::WEEKDAY_SUNDAY; Dictionary time_only; time_only[HOUR_KEY] = 22; |