Convert all VisualShaders to plain Shaders; clean editor noise
Godot 4 emits two unavoidable warnings every time it reconstructs a Godot-3-authored VisualShader graph: 'graph_offset property is deprecated' (the editor's pan position, removed in 4.x) and 'connect_nodes_forced: Index p_from_port = 1 is out of bounds' (node-graph ports that no longer line up). The compiled GLSL inside each ShaderMaterial is correct; only the graph reconstruction is broken. scripts/devisualize_shaders.gd walks every .material, .tres, and .mesh under res:// and replaces ShaderMaterial.shader from VisualShader to a plain Shader carrying the same .code. 15 materials converted (font outline, dissolve, color tints, book/candle/godet/ growler/parchment/rock-floor/stool/table). Godot now loads the compiled shader directly with no graph reconstruction → both warnings gone, rendering identical. Also: - scripts/resave_scenes.gd: load + re-save every .tscn so inline ArrayMesh sub-resources (notably WarCraft.tscn::17, the baked floor) move from Godot-3 PoolByteArray to Godot-4 PackedByteArray surface format. Silences 'Mesh uses old surface format'. - scripts/find_visualshaders.gd: companion audit tool that lists every Resource still backed by a VisualShader. Useful if new legacy materials get added. - Drop the now-orphan inline VisualShader / ShaderMaterial sub- resources (id 1..17) from Summary.tscn. The PanelWood lost its screen-blend tint material; a plain Panel renders fine and the effect can be re-authored as a hand-written shader if wanted. - Add releases/.gdignore and tighten .gitignore so Godot stops warning 'Detected another project.godot at res://releases'. The releases/ directory has its own placeholder project.godot which Godot would otherwise flag at every editor open. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,30 +1,32 @@
|
||||
[gd_scene load_steps=5 format=2]
|
||||
[gd_scene format=3]
|
||||
|
||||
[ext_resource path="res://scenes/UI/loading/parts/LoadingBare.tscn" type="PackedScene" id=1]
|
||||
[ext_resource path="res://scenes/UI/loading/parts/TopPart.tscn" type="PackedScene" id=2]
|
||||
[ext_resource path="res://scenes/UI/background/Background.tscn" type="PackedScene" id=3]
|
||||
[ext_resource type="PackedScene" path="res://scenes/UI/loading/parts/LoadingBare.tscn" id="1"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/UI/loading/parts/TopPart.tscn" id="2"]
|
||||
[ext_resource type="PackedScene" path="res://scenes/UI/background/Background.tscn" id="3"]
|
||||
|
||||
[sub_resource type="Animation" id=1]
|
||||
[sub_resource type="Animation" id="1"]
|
||||
resource_name = "BorderAnim"
|
||||
tracks/0/type = "bezier"
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/path = NodePath("LoadingTopBorder:position:y")
|
||||
tracks/0/interp = 1
|
||||
tracks/0/loop_wrap = true
|
||||
tracks/0/imported = false
|
||||
tracks/0/enabled = true
|
||||
tracks/0/keys = {
|
||||
"points": PackedFloat32Array( -768, -0.25, 0, 1.01154, 306.838, -160.174, -1.02203, -283.071, 0.439946, 60.9141, -27.6065, -0.45336, -19.562, 0.536352, 17.1993, 0.362091, -0.538766, -0.968613, 0.25, 0 ),
|
||||
"times": PackedFloat32Array( 0.1, 0.3, 0.6, 0.9 )
|
||||
"handle_modes": PackedInt32Array(0, 0, 0, 0),
|
||||
"points": PackedFloat32Array(-768, -0.25, 0, 1.01154, 306.838, -160.174, -1.02203, -283.071, 0.439946, 60.9141, -27.6065, -0.45336, -19.562, 0.536352, 17.1993, 0.362091, -0.538766, -0.968613, 0.25, 0),
|
||||
"times": PackedFloat32Array(0.1, 0.3, 0.6, 0.9)
|
||||
}
|
||||
tracks/1/type = "bezier"
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/path = NodePath("LoadingBare:modulate:a")
|
||||
tracks/1/interp = 1
|
||||
tracks/1/loop_wrap = true
|
||||
tracks/1/imported = false
|
||||
tracks/1/enabled = true
|
||||
tracks/1/keys = {
|
||||
"points": PackedFloat32Array( 0, -0.25, 0, 1.10651, 0.716757, 1, -1.59408, -0.0328361, 0.25, 0 ),
|
||||
"times": PackedFloat32Array( 0, 0.4 )
|
||||
"handle_modes": PackedInt32Array(0, 0),
|
||||
"points": PackedFloat32Array(0, -0.25, 0, 1.10651, 0.716757, 1, -1.59408, -0.0328361, 0.25, 0),
|
||||
"times": PackedFloat32Array(0, 0.4)
|
||||
}
|
||||
|
||||
[node name="Control" type="Control"]
|
||||
@@ -34,19 +36,19 @@ __meta__ = {
|
||||
"_edit_use_anchors_": false
|
||||
}
|
||||
|
||||
[node name="BackgroundPicture" parent="." instance=ExtResource( 3 )]
|
||||
[node name="BackgroundPicture" parent="." instance=ExtResource("3")]
|
||||
layout_mode = 1
|
||||
anchors_preset = 15
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
|
||||
[node name="LoadingTopBorder" parent="." instance=ExtResource( 2 )]
|
||||
[node name="LoadingTopBorder" parent="." instance=ExtResource("2")]
|
||||
offset_top = 0.362091
|
||||
offset_bottom = 0.362061
|
||||
|
||||
[node name="LoadingBare" parent="." instance=ExtResource( 1 )]
|
||||
[node name="LoadingBare" parent="." instance=ExtResource("1")]
|
||||
offset_top = 360.0
|
||||
|
||||
[node name="AnimLoading" type="AnimationPlayer" parent="."]
|
||||
method_call_mode = 1
|
||||
anims/BorderAnim = SubResource( 1 )
|
||||
anims/BorderAnim = SubResource("1")
|
||||
|
||||
Reference in New Issue
Block a user