Skip to content

Commit

Permalink
Support setting old material/# properties on MeshInstance3D
Browse files Browse the repository at this point in the history
  • Loading branch information
nikitalita committed Sep 30, 2024
1 parent e3213aa commit 86895c1
Showing 1 changed file with 13 additions and 2 deletions.
15 changes: 13 additions & 2 deletions scene/3d/mesh_instance_3d.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -50,8 +50,19 @@ bool MeshInstance3D::_set(const StringName &p_name, const Variant &p_value) {
return true;
}

if (p_name.operator String().begins_with("surface_material_override/")) {
int idx = p_name.operator String().get_slicec('/', 1).to_int();
String name = p_name;

#ifndef DISABLE_DEPRECATED
if (name.begins_with("material/")) {
WARN_DEPRECATED_MSG("This mesh uses an old deprecated parameter name. Consider re-saving this scene in order for it to continue working in future versions." +
(is_inside_tree() ? vformat(" Path: \"%s\"", get_path()) : String()));
}
if (name.begins_with("surface_material_override/") || name.begins_with("material/"))
#else
if (name.begins_with("surface_material_override/"))
#endif
{
int idx = name.get_slicec('/', 1).to_int();

if (idx >= surface_override_materials.size() || idx < 0) {
return false;
Expand Down

0 comments on commit 86895c1

Please sign in to comment.