Merge pull request #96780 from bruvzg/no_type_ed_settings

[Resource Loader] Do not check property type for non registered properties.
This commit is contained in:
Rémi Verschelde 2024-09-10 10:37:11 +02:00
commit 97ef3c8372
No known key found for this signature in database
GPG Key ID: C3336907360768E1
4 changed files with 64 additions and 54 deletions

View File

@ -845,6 +845,7 @@ Error ResourceLoaderBinary::load() {
} }
} }
if (ClassDB::has_property(res->get_class_name(), name)) {
if (value.get_type() == Variant::ARRAY) { if (value.get_type() == Variant::ARRAY) {
Array set_array = value; Array set_array = value;
bool is_get_valid = false; bool is_get_valid = false;
@ -869,6 +870,7 @@ Error ResourceLoaderBinary::load() {
} }
} }
} }
}
if (set_valid) { if (set_valid) {
res->set(name, value); res->set(name, value);

View File

@ -2947,6 +2947,9 @@
<member name="xr/openxr/enabled" type="bool" setter="" getter="" default="false"> <member name="xr/openxr/enabled" type="bool" setter="" getter="" default="false">
If [code]true[/code], Godot will setup and initialize OpenXR on startup. If [code]true[/code], Godot will setup and initialize OpenXR on startup.
</member> </member>
<member name="xr/openxr/enabled.editor" type="bool" setter="" getter="" default="false">
If [code]true[/code], Godot will setup and initialize OpenXR on editor startup.
</member>
<member name="xr/openxr/environment_blend_mode" type="int" setter="" getter="" default="&quot;0&quot;"> <member name="xr/openxr/environment_blend_mode" type="int" setter="" getter="" default="&quot;0&quot;">
Specify how OpenXR should blend in the environment. This is specific to certain AR and passthrough devices where camera images are blended in by the XR compositor. Specify how OpenXR should blend in the environment. This is specific to certain AR and passthrough devices where camera images are blended in by the XR compositor.
</member> </member>

View File

@ -2541,6 +2541,7 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph
// XR project settings. // XR project settings.
GLOBAL_DEF_RST_BASIC("xr/openxr/enabled", false); GLOBAL_DEF_RST_BASIC("xr/openxr/enabled", false);
GLOBAL_DEF_RST_BASIC("xr/openxr/enabled.editor", false);
GLOBAL_DEF_BASIC(PropertyInfo(Variant::STRING, "xr/openxr/default_action_map", PROPERTY_HINT_FILE, "*.tres"), "res://openxr_action_map.tres"); GLOBAL_DEF_BASIC(PropertyInfo(Variant::STRING, "xr/openxr/default_action_map", PROPERTY_HINT_FILE, "*.tres"), "res://openxr_action_map.tres");
GLOBAL_DEF_BASIC(PropertyInfo(Variant::INT, "xr/openxr/form_factor", PROPERTY_HINT_ENUM, "Head Mounted,Handheld"), "0"); GLOBAL_DEF_BASIC(PropertyInfo(Variant::INT, "xr/openxr/form_factor", PROPERTY_HINT_ENUM, "Head Mounted,Handheld"), "0");
GLOBAL_DEF_BASIC(PropertyInfo(Variant::INT, "xr/openxr/view_configuration", PROPERTY_HINT_ENUM, "Mono,Stereo"), "1"); // "Mono,Stereo,Quad,Observer" GLOBAL_DEF_BASIC(PropertyInfo(Variant::INT, "xr/openxr/view_configuration", PROPERTY_HINT_ENUM, "Mono,Stereo"), "1"); // "Mono,Stereo,Quad,Observer"

View File

@ -612,6 +612,7 @@ Error ResourceLoaderText::load() {
} }
} }
if (ClassDB::has_property(res->get_class_name(), assign)) {
if (value.get_type() == Variant::ARRAY) { if (value.get_type() == Variant::ARRAY) {
Array set_array = value; Array set_array = value;
bool is_get_valid = false; bool is_get_valid = false;
@ -636,6 +637,7 @@ Error ResourceLoaderText::load() {
} }
} }
} }
}
if (set_valid) { if (set_valid) {
res->set(assign, value); res->set(assign, value);
@ -752,6 +754,7 @@ Error ResourceLoaderText::load() {
} }
} }
if (ClassDB::has_property(resource->get_class_name(), assign)) {
if (value.get_type() == Variant::ARRAY) { if (value.get_type() == Variant::ARRAY) {
Array set_array = value; Array set_array = value;
bool is_get_valid = false; bool is_get_valid = false;
@ -776,6 +779,7 @@ Error ResourceLoaderText::load() {
} }
} }
} }
}
if (set_valid) { if (set_valid) {
resource->set(assign, value); resource->set(assign, value);