Animated Tilesets for All-Stars Resource Packs

This PR adds animated tilesets! I spent the day working on these, and it wasn't easy. This is primarily to help animate the All-Stars' grass tiles. You should be able to animate the other tilesets as well, but I haven't tested them.

JSONs are provided in the assets for Conveyer Belts and Liquids. There's two ways to animate the tilesets. The first is by the traditional way as used by `AnimatedSprite2D`, and the other is by how Godot animates tilesets normally as seen with the conveyer belts and liquids.

The last thing is that while doing this, I actually managed to fix the Resource Pack bug where reloading also reloads the blocks! It was surprisingly straightforward. I just edited the `BlockClass.gd` file to erase the cells when a block is hit or destroyed.

Let me know if you have any suggestions for things I should change or fix.
This commit is contained in:
KirbyKidJ
2025-09-30 00:04:03 -07:00
parent 9311424f55
commit 8b5d9afba9
14 changed files with 332 additions and 34 deletions

View File

@@ -26,9 +26,10 @@ visibility_layer = 2
z_index = -10
tile_set = SubResource("TileSet_b50pv")
[node name="TilesetTextureSetter" type="Node" parent="." node_paths=PackedStringArray("tile_map")]
[node name="TilesetTextureSetter" type="Node" parent="." node_paths=PackedStringArray("tile_map", "resource_setter")]
script = ExtResource("3_mv6fy")
tile_map = NodePath("..")
resource_setter = NodePath("../ResourceSetterNew")
metadata/_custom_type_script = "uid://73oviwf6bbys"
[node name="ResourceSetterNew" type="Node" parent="." node_paths=PackedStringArray("node_to_affect")]

View File

@@ -45,9 +45,10 @@ position = Vector2(-8, 8)
tile_map_data = PackedByteArray("AAD+////AAAGAAcAAAD+/wAAAAAHAAcAAAD+/wEAAAAHAAcAAAD///7/AAADAAoAAAD/////AAAFAAoAAAD//wAAAAAHAAcAAAD//wEAAAAHAAcAAAAAAP7/AAAHAAcAAAAAAP//AAAFAAoAAAAAAAAAAAAGAAoAAAABAP7/AAAEAAoAAAABAP//AAAFAAoAAAABAAAAAAAHAAcAAAABAAEAAAAHAAcAAAACAP//AAAGAAcAAAACAAAAAAAHAAcAAAACAAEAAAAHAAcAAAD///3/AAAGAAcAAAAAAP3/AAAGAAcAAAABAP3/AAAGAAcAAAA=")
tile_set = SubResource("TileSet_0n6c4")
[node name="TilesetTextureSetter" type="Node" parent="Tiles" node_paths=PackedStringArray("tile_map")]
[node name="TilesetTextureSetter" type="Node" parent="Tiles" node_paths=PackedStringArray("tile_map", "resource_setter")]
script = ExtResource("2_ulvy5")
tile_map = NodePath("..")
resource_setter = NodePath("ResourceSetterNew")
metadata/_custom_type_script = "uid://73oviwf6bbys"
[node name="ResourceSetterNew" type="Node" parent="Tiles/TilesetTextureSetter" node_paths=PackedStringArray("node_to_affect")]
@@ -63,9 +64,10 @@ show_behind_parent = true
tile_map_data = PackedByteArray("AAAAAAAAAAAHABQAAAAAAAEAAAAHABQAAAAAAAIAAAAHABQAAAAAAAMAAAAHABQAAAABAAAAAAAHABQAAAABAAEAAAAHABQAAAABAAIAAAAHABQAAAABAAMAAAAHABQAAAA=")
tile_set = SubResource("TileSet_vjwyw")
[node name="TilesetTextureSetter" type="Node" parent="Tiles/BG" node_paths=PackedStringArray("tile_map")]
[node name="TilesetTextureSetter" type="Node" parent="Tiles/BG" node_paths=PackedStringArray("tile_map", "resource_setter")]
script = ExtResource("2_ulvy5")
tile_map = NodePath("..")
resource_setter = NodePath("ResourceSetterNew")
metadata/_custom_type_script = "uid://73oviwf6bbys"
[node name="ResourceSetterNew" type="Node" parent="Tiles/BG/TilesetTextureSetter" node_paths=PackedStringArray("node_to_affect")]

View File

@@ -1791,10 +1791,11 @@ z_index = -1
tile_set = SubResource("TileSet_g81ue")
physics_quadrant_size = 2
[node name="MainTilesetTextureSetter" type="Node" parent="." node_paths=PackedStringArray("tile_map")]
[node name="MainTilesetTextureSetter" type="Node" parent="." node_paths=PackedStringArray("tile_map", "resource_setter")]
script = ExtResource("24_5xtcs")
tile_map = NodePath("..")
texture = ExtResource("30_vdakf")
resource_setter = NodePath("ResourceSetterNew")
[node name="ResourceSetterNew" type="Node" parent="MainTilesetTextureSetter" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("22_ls3wh")
@@ -1804,10 +1805,11 @@ mode = 1
resource_json = ExtResource("23_vt0hv")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="LiquidTextureSetter" type="Node" parent="." node_paths=PackedStringArray("tile_map")]
[node name="LiquidTextureSetter" type="Node" parent="." node_paths=PackedStringArray("tile_map", "resource_setter")]
script = ExtResource("24_5xtcs")
tile_map = NodePath("..")
atlas_id = 2
resource_setter = NodePath("ResourceSetterNew")
[node name="ResourceSetterNew" type="Node" parent="LiquidTextureSetter" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("22_ls3wh")
@@ -1817,10 +1819,11 @@ mode = 1
resource_json = ExtResource("28_ls3wh")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="DecoTileTextureSetter" type="Node" parent="." node_paths=PackedStringArray("tile_map")]
[node name="DecoTileTextureSetter" type="Node" parent="." node_paths=PackedStringArray("tile_map", "resource_setter")]
script = ExtResource("24_5xtcs")
tile_map = NodePath("..")
atlas_id = 3
resource_setter = NodePath("ResourceSetterNew")
[node name="ResourceSetterNew" type="Node" parent="DecoTileTextureSetter" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("22_ls3wh")
@@ -1830,11 +1833,12 @@ mode = 1
resource_json = ExtResource("27_b6qiv")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="ConveyorTextureSetter" type="Node" parent="." node_paths=PackedStringArray("tile_map")]
[node name="ConveyorTextureSetter" type="Node" parent="." node_paths=PackedStringArray("tile_map", "resource_setter")]
script = ExtResource("24_5xtcs")
tile_map = NodePath("..")
texture = ExtResource("24_vt0hv")
atlas_id = 4
resource_setter = NodePath("ResourceSetterNew")
[node name="ResourceSetterNew" type="Node" parent="ConveyorTextureSetter" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("22_ls3wh")
@@ -1844,11 +1848,12 @@ mode = 1
resource_json = ExtResource("33_ra18v")
metadata/_custom_type_script = "uid://cbal8ms2oe1ik"
[node name="OnOffConveyorTextureSetter" type="Node" parent="." node_paths=PackedStringArray("tile_map")]
[node name="OnOffConveyorTextureSetter" type="Node" parent="." node_paths=PackedStringArray("tile_map", "resource_setter")]
script = ExtResource("24_5xtcs")
tile_map = NodePath("..")
texture = ExtResource("25_vt0hv")
atlas_id = 5
resource_setter = NodePath("ResourceSetterNew")
[node name="ResourceSetterNew" type="Node" parent="OnOffConveyorTextureSetter" node_paths=PackedStringArray("node_to_affect")]
script = ExtResource("22_ls3wh")