Use generated textures for bamboo gutters

This commit is contained in:
2026-06-20 06:21:41 +09:00
parent 697eaaf7f9
commit d6ecbe6fce
3 changed files with 32 additions and 6 deletions

View File

@@ -3707,6 +3707,9 @@ func _check_bamboo_gutter(failures: Array[String], node: Node, label: String) ->
return
if gutter.get_child_count() != 3:
failures.append("%s should use three bamboo slips" % label)
return
for index in range(gutter.get_child_count()):
_check_panel_uses_generated_ornament_texture(failures, gutter.get_child(index) as PanelContainer, "%s slip %d" % [label, index])
func _check_edict_marker_stack(failures: Array[String], panel: PanelContainer, label: String) -> void:
@@ -3841,6 +3844,24 @@ func _check_panel_uses_generated_texture(failures: Array[String], panel: PanelCo
_check_panel_style_texture(failures, stylebox as StyleBoxTexture, label)
func _check_panel_uses_generated_ornament_texture(failures: Array[String], panel: PanelContainer, label: String) -> void:
if panel == null:
failures.append("%s missing" % label)
return
var stylebox := panel.get_theme_stylebox("panel")
if not (stylebox is StyleBoxTexture):
failures.append("%s should use a generated ornament texture" % label)
return
var style := stylebox as StyleBoxTexture
if style.texture == null:
failures.append("%s generated ornament texture is missing its texture" % label)
return
if style.texture.get_width() < 512 or style.texture.get_height() < 512:
failures.append("%s generated ornament texture should keep high-resolution source pixels: %dx%d" % [label, style.texture.get_width(), style.texture.get_height()])
if style.texture_margin_left < 24 or style.texture_margin_top < 24:
failures.append("%s generated ornament texture should define a visible frame slice margin" % label)
func _colors_nearly_equal(left: Color, right: Color) -> bool:
return (
absf(left.r - right.r) < 0.01