Skip to content

Commit

Permalink
Merge pull request #83729 from Chaosus/vs_fix_texture_param
Browse files Browse the repository at this point in the history
Add extra warning messages to `VisualShaderNodeTextureParameter`
  • Loading branch information
akien-mga committed Jun 12, 2024
2 parents 292e50e + 3b35307 commit f1ac3e2
Show file tree
Hide file tree
Showing 2 changed files with 53 additions and 0 deletions.
52 changes: 52 additions & 0 deletions scene/resources/visual_shader_nodes.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -6497,6 +6497,58 @@ bool VisualShaderNodeTextureParameter::is_show_prop_names() const {
return true;
}

String VisualShaderNodeTextureParameter::get_warning(Shader::Mode p_mode, VisualShader::Type p_type) const {
if (texture_source != SOURCE_NONE) {
String texture_source_str;

switch (texture_source) {
case SOURCE_SCREEN: {
texture_source_str = "Screen";
} break;
case SOURCE_DEPTH: {
texture_source_str = "Depth";
} break;
case SOURCE_NORMAL_ROUGHNESS: {
texture_source_str = "NormalRoughness";
} break;
default:
break;
}

if (texture_type == TYPE_NORMAL_MAP || texture_type == TYPE_ANISOTROPY) {
String texture_type_str;

switch (texture_type) {
case TYPE_NORMAL_MAP: {
texture_type_str = "Normal Map";
} break;
case TYPE_ANISOTROPY: {
texture_type_str = "Anisotropic";
} break;
default:
break;
}
return vformat(RTR("'%s' type is incompatible with '%s' source."), texture_type_str, texture_source_str);
} else if (color_default != COLOR_DEFAULT_WHITE) {
String color_default_str;

switch (color_default) {
case COLOR_DEFAULT_BLACK: {
color_default_str = "Black";
} break;
case COLOR_DEFAULT_TRANSPARENT: {
color_default_str = "Transparent";
} break;
default:
break;
}
return vformat(RTR("'%s' default color is incompatible with '%s' source."), color_default_str, texture_source_str);
}
}

return "";
}

HashMap<StringName, String> VisualShaderNodeTextureParameter::get_editable_properties_names() const {
HashMap<StringName, String> names;
names.insert("texture_type", RTR("Type"));
Expand Down
1 change: 1 addition & 0 deletions scene/resources/visual_shader_nodes.h
Original file line number Diff line number Diff line change
Expand Up @@ -2543,6 +2543,7 @@ class VisualShaderNodeTextureParameter : public VisualShaderNodeParameter {

virtual HashMap<StringName, String> get_editable_properties_names() const override;
virtual bool is_show_prop_names() const override;
virtual String get_warning(Shader::Mode p_mode, VisualShader::Type p_type) const override;

Vector<StringName> get_editable_properties() const override;

Expand Down

0 comments on commit f1ac3e2

Please sign in to comment.