diff --git a/Assets/TextureAtlases/puppyfruit.png b/Assets/TextureAtlases/puppyfruit.png new file mode 100644 index 0000000..3c01bdd Binary files /dev/null and b/Assets/TextureAtlases/puppyfruit.png differ diff --git a/Assets/TextureAtlases/puppyfruit.png.import b/Assets/TextureAtlases/puppyfruit.png.import new file mode 100644 index 0000000..6edea4f --- /dev/null +++ b/Assets/TextureAtlases/puppyfruit.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://6frn8lcwwehv" +path="res://.godot/imported/puppyfruit.png-4202c2b53b1e609128620576392b70df.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/TextureAtlases/puppyfruit.png" +dest_files=["res://.godot/imported/puppyfruit.png-4202c2b53b1e609128620576392b70df.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/Resources/Enemies/airenemy2.tres b/Resources/Enemies/airenemy2.tres index ec18054..c33289c 100644 --- a/Resources/Enemies/airenemy2.tres +++ b/Resources/Enemies/airenemy2.tres @@ -3,7 +3,7 @@ [ext_resource type="Texture2D" uid="uid://b1lwaxw62yp3p" path="res://Assets/Textures/dead_spike.png" id="1_1js8q"] [ext_resource type="Texture2D" uid="uid://duywsy7jmh4u" path="res://Assets/Textures/spike.png" id="1_22o7e"] [ext_resource type="Script" uid="uid://cbwxa2a4hfcy4" path="res://Scripts/Resources/enemy.gd" id="1_q5r05"] -[ext_resource type="PackedScene" uid="uid://bjo2q6vca5qlv" path="res://Worlds/GreenPlanet/Enemies/air_enemy.tscn" id="3_b3axe"] +[ext_resource type="PackedScene" uid="uid://cveiaa0y66gln" path="res://crystal_enemy.tscn" id="3_b3axe"] [ext_resource type="Texture2D" uid="uid://sybn6bjbj5fh" path="res://Assets/TextureAtlases/spike.tres" id="3_tbb38"] [resource] diff --git a/Scenes/Menus/MainMenu/main_menu.tscn b/Scenes/Menus/MainMenu/main_menu.tscn index 2756058..66e10d8 100644 --- a/Scenes/Menus/MainMenu/main_menu.tscn +++ b/Scenes/Menus/MainMenu/main_menu.tscn @@ -112,15 +112,15 @@ defense" horizontal_alignment = 1 vertical_alignment = 1 -[node name="MainControls" type="VBoxContainer" parent="."] +[node name="MainControls" type="HBoxContainer" parent="."] layout_mode = 1 anchors_preset = -1 -anchor_top = 1.0 -anchor_bottom = 1.0 -offset_left = 130.0 -offset_top = -188.0 -offset_right = 143.0 -offset_bottom = -80.0 +anchor_left = 0.05 +anchor_top = 0.95 +anchor_right = 0.95 +anchor_bottom = 0.95 +offset_top = -60.0 +grow_horizontal = 2 grow_vertical = 0 [node name="PlayButton" type="Button" parent="MainControls"] @@ -149,14 +149,12 @@ text = "Quit [node name="ProfileEditor" type="PanelContainer" parent="."] layout_mode = 1 anchors_preset = -1 -anchor_left = 1.0 -anchor_top = 1.0 -anchor_right = 1.0 -anchor_bottom = 1.0 -offset_left = -429.0 -offset_top = -140.0 -offset_right = -55.0 -offset_bottom = -40.0 +anchor_left = 0.97 +anchor_top = 0.95 +anchor_right = 0.97 +anchor_bottom = 0.95 +offset_left = -421.0 +offset_top = -150.0 grow_horizontal = 0 grow_vertical = 0 diff --git a/Scripts/EnemyAI/enemy_movement.gd b/Scripts/EnemyAI/enemy_movement.gd index cb0ed2a..b15029b 100644 --- a/Scripts/EnemyAI/enemy_movement.gd +++ b/Scripts/EnemyAI/enemy_movement.gd @@ -1,6 +1,14 @@ class_name EnemyMovement extends Node -@export var character: CharacterBody3D +@export var character: EnemyController var astar: AStarGraph3D var distance_remaining: float = 0.0 +var speed: float = 0.0 + + +func _ready() -> void: + #TODO: make deterministic random + var variance: float = randf_range(-1.0, 1.0) + var variance_max: float = 0.03 # Enemy speed can vary by 3% from their base speed + speed = character.stats.movement_speed + (variance * variance_max) diff --git a/Scripts/EnemyAI/pathing_controller.gd b/Scripts/EnemyAI/pathing_controller.gd index 2a54469..4c28ebd 100644 --- a/Scripts/EnemyAI/pathing_controller.gd +++ b/Scripts/EnemyAI/pathing_controller.gd @@ -3,10 +3,24 @@ class_name PathingController extends EnemyMovement #var path: Curve3D #var path_progress: float = 0.0 var flow_field: FlowField -var next_node: FlowNode +var next_node: FlowNode : + get(): + return next_node + set(value): + next_node = value + var found_point: bool = false + while !found_point: + #TODO: make deterministic random + var x: float = randf_range(-1, 1) + var y: float = randf_range(-1, 1) + if Vector3(next_node.global_position.x + x, next_node.global_position.y, next_node.global_position.z + y).distance_to(next_node.global_position) <= 1.0: + found_point = true + next_pos = Vector3(next_node.global_position.x + x, next_node.global_position.y, next_node.global_position.z + y) +var next_pos: Vector3 func _ready() -> void: + super._ready() #if path: # distance_remaining = path.get_baked_length() next_node = flow_field.get_closest_traversable_point(character.global_position) @@ -26,11 +40,11 @@ func calculate_distance_to_goal(node: FlowNode) -> float: func walk(delta: float) -> void: - var distance_travelled: float = (character.stats.movement_speed * clampf(character.movement_speed_penalty, 0.0, 1.0)) * delta + var distance_travelled: float = (speed * clampf(speed, 0.0, 1.0)) * delta distance_remaining -= distance_travelled - character.global_position = character.global_position.move_toward(next_node.global_position, distance_travelled) - character.look_at(next_node.global_position) - if character.global_position.distance_to(next_node.global_position) <= 0.05: + character.global_position = character.global_position.move_toward(next_pos, distance_travelled) + character.look_at(next_pos) + if character.global_position.distance_to(next_pos) <= 0.05: next_node = next_node.best_path diff --git a/Scripts/game.gd b/Scripts/game.gd index 6cf2fa5..36750fe 100644 --- a/Scripts/game.gd +++ b/Scripts/game.gd @@ -8,12 +8,12 @@ signal game_setup signal game_started signal lost_game signal won_game +signal switch_to_single_player +signal switch_to_multi_player +signal switch_to_main_menu var level_scene: PackedScene = load("res://Worlds/GreenPlanet/Levels/first_level.tscn") var player_scene: PackedScene = load("res://PCs/hero.tscn") -var main_menu_scene_path: String = "res://Scenes/Menus/MainMenu/main_menu.tscn" -var multiplayer_lobby_scene_path: String = "res://Scenes/Menus/multiplayer_lobby.tscn" -var singleplayer_lobby_scene_path: String = "res://Scenes/Menus/singleplayer_lobby.tscn" var game_end_scene: PackedScene = load("res://Scenes/Menus/GameEndScreen/game_end_screen.tscn") var connected_players_nodes: Dictionary = {} var game_active: bool = false @@ -262,12 +262,13 @@ func end_wave() -> void: for spawn: EnemySpawner in level.enemy_spawns: spawn.path.enable_visualization() #level.a_star_graph_3d.enable_non_path_tower_frames() + level.enable_non_path_tower_frames() if is_multiplayer_authority(): if randf_in_range(23 * wave, 0.0, 1.0) <= shop_chance: networked_spawn_shop.rpc() shop_chance = 0.0 else: - shop_chance += 0.07 + shop_chance += 0.09 wave_finished.emit(wave) set_upcoming_wave() @@ -365,12 +366,15 @@ func scene_switch_main_menu() -> void: connected_players_nodes.clear() multiplayer.multiplayer_peer.close() multiplayer.multiplayer_peer = null - get_tree().change_scene_to_file(main_menu_scene_path) + switch_to_main_menu.emit() + #get_tree().change_scene_to_file(main_menu_scene_path) func scene_switch_to_multiplayer_lobby() -> void: - get_tree().change_scene_to_file(multiplayer_lobby_scene_path) + switch_to_multi_player.emit() + #get_tree().change_scene_to_file(multiplayer_lobby_scene_path) func scene_switch_to_singleplayer_lobby() -> void: - get_tree().change_scene_to_file(singleplayer_lobby_scene_path) + switch_to_single_player.emit() + #get_tree().change_scene_to_file(singleplayer_lobby_scene_path) diff --git a/Scripts/hitbox.gd b/Scripts/hitbox.gd index 48fcfef..357a84e 100644 --- a/Scripts/hitbox.gd +++ b/Scripts/hitbox.gd @@ -1,7 +1,9 @@ class_name Hitbox extends CollisionShape3D +@export var critical_zone: bool = false + signal took_damage(amount: int) func damage(amount: int) -> void: - took_damage.emit(amount) + took_damage.emit(amount * 1.5 if critical_zone else amount) diff --git a/Scripts/wave_manager.gd b/Scripts/wave_manager.gd index 83dd2fe..1b739c2 100644 --- a/Scripts/wave_manager.gd +++ b/Scripts/wave_manager.gd @@ -12,7 +12,7 @@ class_name WaveManager extends Object ## Takes in wave number and number of players and returns a spawn power value ## intended for passing into the generate_wave method static func calculate_spawn_power(wave_number: int, number_of_players: int) -> int: - return (20 * number_of_players) + (5 * wave_number) + return (40 * number_of_players) + (6 * wave_number) ## Takes in wave number and number of players and returns the amount of coins diff --git a/Worlds/GreenPlanet/Enemies/air_enemy.tscn b/Worlds/GreenPlanet/Enemies/air_enemy.tscn index c036ba4..ff46203 100644 --- a/Worlds/GreenPlanet/Enemies/air_enemy.tscn +++ b/Worlds/GreenPlanet/Enemies/air_enemy.tscn @@ -1,17 +1,13 @@ -[gd_scene load_steps=13 format=3 uid="uid://bjo2q6vca5qlv"] +[gd_scene load_steps=10 format=3 uid="uid://bjo2q6vca5qlv"] [ext_resource type="Script" uid="uid://ejqql2660u6h" path="res://Worlds/GreenPlanet/Enemies/enemy_controller.gd" id="1_m83kr"] [ext_resource type="PackedScene" uid="uid://canrxnpxcugc2" path="res://Scenes/corpse.tscn" id="2_aed6c"] [ext_resource type="Script" uid="uid://bamhci3kawuyt" path="res://Scripts/health.gd" id="3_wiose"] [ext_resource type="PackedScene" uid="uid://cqtew0t8sttpm" path="res://Scenes/damage_particle.tscn" id="4_mhq3m"] -[ext_resource type="Texture2D" uid="uid://chhmkmlfrobhu" path="res://Assets/Textures/bubble.png" id="6_ke2c8"] [ext_resource type="PackedScene" uid="uid://hjq3nrnumklp" path="res://Scenes/health_bar.tscn" id="9_4xla1"] [ext_resource type="Script" uid="uid://cojjgevmbhwal" path="res://Scripts/status_effector.gd" id="9_7hati"] [ext_resource type="Texture2D" uid="uid://b1fn60m6xfcsq" path="res://Assets/Textures/minimap_enemy.png" id="9_7yfyh"] [ext_resource type="Script" uid="uid://d147vuqksqhis" path="res://Scripts/EnemyAI/beelining_controller.gd" id="9_cx8mv"] -[ext_resource type="Script" uid="uid://cummt2be3r1gq" path="res://Scripts/hitbox.gd" id="10_4ayno"] - -[sub_resource type="SphereShape3D" id="SphereShape3D_yxqm6"] [sub_resource type="ViewportTexture" id="ViewportTexture_ss5ir"] viewport_path = NodePath("SubViewport") @@ -31,17 +27,6 @@ corpse_scene = ExtResource("2_aed6c") script = ExtResource("3_wiose") damage_particle_scene = ExtResource("4_mhq3m") -[node name="Hitbox" type="CollisionShape3D" parent="."] -shape = SubResource("SphereShape3D_yxqm6") -script = ExtResource("10_4ayno") -metadata/_custom_type_script = "uid://cummt2be3r1gq" - -[node name="DirectionSprite" type="Sprite3D" parent="."] -transform = Transform3D(1.56, 0, 0, 0, 1.56, 0, 0, 0, 1.56, 0, 0.0251125, 0) -billboard = 1 -texture_filter = 0 -texture = ExtResource("6_ke2c8") - [node name="Sprite3D" type="Sprite3D" parent="."] transform = Transform3D(0.2, 0, 0, 0, 0.2, 0, 0, 0, 0.2, 0, 0.637873, 0) sorting_offset = 1.0 @@ -86,4 +71,3 @@ metadata/_custom_type_script = "uid://cojjgevmbhwal" [connection signal="health_changed" from="Health" to="SubViewport/HealthBar" method="on_health_changed"] [connection signal="health_depleted" from="Health" to="." method="die"] -[connection signal="took_damage" from="Hitbox" to="Health" method="take_damage"] diff --git a/Worlds/GreenPlanet/Levels/first_level.tscn b/Worlds/GreenPlanet/Levels/first_level.tscn index 9f47add..2f69f0c 100644 --- a/Worlds/GreenPlanet/Levels/first_level.tscn +++ b/Worlds/GreenPlanet/Levels/first_level.tscn @@ -1,12 +1,9 @@ -[gd_scene load_steps=41 format=3 uid="uid://y1qa1g3ic8sp"] +[gd_scene load_steps=36 format=3 uid="uid://y1qa1g3ic8sp"] [ext_resource type="Script" uid="uid://cvejbo3srx8py" path="res://Scripts/level.gd" id="1_ws6nn"] [ext_resource type="PackedScene" uid="uid://d2yv447trxkwt" path="res://Scenes/enemy_spawner.tscn" id="3_5imwp"] [ext_resource type="Script" uid="uid://cbwxa2a4hfcy4" path="res://Scripts/Resources/enemy.gd" id="3_6od8s"] [ext_resource type="Resource" uid="uid://8eba45hql7bo" path="res://Resources/Enemies/dog.tres" id="5_6od8s"] -[ext_resource type="Resource" uid="uid://boik1gnpl4v0a" path="res://Resources/Enemies/dog_boss.tres" id="6_dj4cy"] -[ext_resource type="Resource" uid="uid://cvehqh4tt28g7" path="res://Resources/Enemies/dog_fast.tres" id="7_ttr7n"] -[ext_resource type="Resource" uid="uid://dxi17xvdlhkvc" path="res://Resources/Enemies/dog_heavy.tres" id="8_r4es0"] [ext_resource type="Resource" uid="uid://bffhb5krs5elm" path="res://Resources/Enemies/airenemy2.tres" id="9_4gdda"] [ext_resource type="PackedScene" uid="uid://cjvgqek2phoq1" path="res://obstacle1.tscn" id="9_luxf3"] [ext_resource type="PackedScene" uid="uid://1b2ikdanl66b" path="res://Scenes/CardPrinter/card_printer.tscn" id="9_r25gu"] @@ -14,8 +11,6 @@ [ext_resource type="Script" uid="uid://yk54owkf7pgj" path="res://Scripts/cinema_cam.gd" id="9_xuyhn"] [ext_resource type="PackedScene" uid="uid://iohlxrso4bl8" path="res://Worlds/GreenPlanet/Decorations/tree.tscn" id="10_7v1co"] [ext_resource type="PackedScene" uid="uid://dk0k7ndwhaenh" path="res://obstacle2.tscn" id="10_dsyfh"] -[ext_resource type="Resource" uid="uid://dsgkwh3opyqtx" path="res://Resources/Enemies/airenemy.tres" id="10_kmc01"] -[ext_resource type="Resource" uid="uid://btudmfd7wfwec" path="res://Resources/Enemies/leapfrog.tres" id="10_ttr7n"] [ext_resource type="PackedScene" uid="uid://ds4sa5xyfgyo0" path="res://obstacle3.tscn" id="11_dfexu"] [ext_resource type="AudioStream" uid="uid://dknygn5eyuhxt" path="res://Audio/shot1.wav" id="11_l537x"] [ext_resource type="PackedScene" uid="uid://sud13mytdwhv" path="res://obstacle4.tscn" id="12_mctwo"] @@ -250,7 +245,7 @@ data = { "cells": PackedInt32Array(65522, 65530, 1, 65522, 65531, 1, 65522, 65532, 1, 65522, 65533, 1, 65522, 65534, 1, 65522, 65535, 1, 65522, 0, 1, 65522, 1, 1, 65522, 2, 1, 65522, 3, 1, 65522, 4, 1, 65522, 5, 1, 65523, 65530, 1, 65523, 65531, 1, 65523, 65532, 1, 65523, 65533, 1, 65523, 65534, 1, 65523, 65535, 1, 65523, 0, 1, 65523, 1, 1, 65523, 2, 1, 65523, 3, 1, 65523, 4, 1, 65523, 5, 1, 65524, 65530, 1, 65524, 65531, 1, 65524, 65532, 1, 65524, 65533, 1, 65524, 65534, 1, 65524, 65535, 1, 65524, 0, 1, 65524, 1, 1, 65524, 2, 1, 65524, 3, 1, 65524, 4, 1, 65524, 5, 1, 65525, 65530, 1, 65525, 65531, 1, 65525, 65532, 1, 65525, 65533, 1, 65525, 65534, 1, 65525, 65535, 1, 65525, 0, 1, 65525, 1, 1, 65525, 2, 1, 65525, 3, 1, 65525, 4, 1, 65525, 5, 1, 65526, 65530, 1, 65526, 65531, 1, 65526, 65532, 1, 65526, 65533, 1, 65526, 65534, 1, 65526, 65535, 1, 65526, 0, 1, 65526, 1, 1, 65526, 2, 1, 65526, 3, 1, 65526, 4, 1, 65526, 5, 1, 65527, 65530, 1, 65527, 65531, 1, 65527, 65532, 1, 65527, 65533, 1, 65527, 65534, 1, 65527, 65535, 1, 65527, 0, 1, 65527, 1, 1, 65527, 2, 1, 65527, 3, 1, 65527, 4, 1, 65527, 5, 1, 65528, 65530, 1, 65528, 65531, 1, 65528, 65532, 1, 65528, 65533, 1, 65528, 65534, 1, 65528, 65535, 1, 65528, 0, 1, 65528, 1, 1, 65528, 2, 1, 65528, 3, 1, 65528, 4, 1, 65528, 5, 1, 65529, 65530, 1, 65529, 65531, 1, 65529, 65532, 1, 65529, 65533, 1, 65529, 65534, 1, 65529, 65535, 1, 65529, 0, 1, 65529, 1, 1, 65529, 2, 1, 65529, 3, 1, 65529, 4, 1, 65529, 5, 1, 65530, 65530, 1, 65530, 65531, 1, 65530, 65532, 1, 65530, 65533, 1, 65530, 65534, 1, 65530, 65535, 1, 65530, 0, 1, 65530, 1, 1, 65530, 2, 1, 65530, 3, 1, 65530, 4, 1, 65530, 5, 1, 65531, 65530, 1, 65531, 65531, 1, 65531, 65532, 1, 65531, 65533, 1, 65531, 65534, 1, 65531, 65535, 1, 65531, 0, 1, 65531, 1, 1, 65531, 2, 1, 65531, 3, 1, 65531, 4, 1, 65531, 5, 1, 65532, 65530, 1, 65532, 65531, 1, 65532, 65532, 1, 65532, 65533, 1, 65532, 65534, 1, 65532, 65535, 1, 65532, 0, 1, 65532, 1, 1, 65532, 2, 1, 65532, 3, 1, 65532, 4, 1, 65532, 5, 1, 65533, 65530, 1, 65533, 65531, 1, 65533, 65532, 1, 65533, 65533, 1, 65533, 65534, 1, 65533, 65535, 1, 65533, 0, 1, 65533, 1, 1, 65533, 2, 1, 65533, 3, 1, 65533, 4, 1, 65533, 5, 1, 65534, 65530, 1, 65534, 65531, 1, 65534, 65532, 1, 65534, 65533, 1, 65534, 65534, 1, 65534, 65535, 1, 65534, 0, 1, 65534, 1, 1, 65534, 2, 1, 65534, 3, 1, 65534, 4, 1, 65534, 5, 1, 65535, 65530, 1, 65535, 65531, 1, 65535, 65532, 1, 65535, 65533, 1, 65535, 65534, 1, 65535, 65535, 1, 65535, 0, 1, 65535, 1, 1, 65535, 2, 1, 65535, 3, 1, 65535, 4, 1, 65535, 5, 1, 0, 65530, 1, 0, 65531, 1, 0, 65533, 1, 0, 65534, 1, 0, 65535, 1, 0, 0, 1, 0, 1, 1, 0, 2, 1, 0, 3, 1, 0, 4, 1, 0, 5, 1, 1, 65531, 1, 1, 65534, 1, 1, 65535, 1, 1, 0, 1, 1, 1, 1, 1, 2, 1, 1, 3, 1, 1, 4, 1, 1, 5, 1, 2, 65530, 1, 2, 65531, 1, 2, 65532, 1, 2, 65533, 1, 2, 65535, 1, 2, 0, 1, 2, 1, 1, 2, 2, 1, 2, 3, 1, 2, 4, 1, 2, 5, 1, 3, 65530, 1, 3, 65531, 1, 3, 65533, 1, 3, 65534, 1, 3, 65535, 1, 3, 0, 1, 3, 1, 1, 3, 2, 1, 3, 3, 1, 3, 4, 1, 3, 5, 1, 4, 65530, 1, 4, 65531, 1, 4, 65532, 1, 4, 65533, 1, 4, 65534, 1, 4, 65535, 1, 4, 0, 1, 4, 1, 1, 4, 2, 1, 4, 3, 1, 4, 4, 1, 4, 5, 1, 5, 65530, 1, 5, 65531, 1, 5, 65532, 1, 5, 65533, 1, 5, 2, 1, 5, 3, 1, 5, 4, 1, 5, 5, 1, 6, 65530, 1, 6, 65531, 1, 6, 65532, 1, 6, 65533, 1, 6, 65534, 1, 6, 65535, 1, 6, 0, 1, 6, 1, 1, 6, 2, 1, 6, 3, 1, 6, 4, 1, 6, 5, 1, 7, 65530, 1, 7, 65531, 1, 7, 65532, 1, 7, 65533, 1, 7, 65534, 1, 7, 65535, 1, 7, 0, 1, 7, 1, 1, 7, 2, 1, 7, 3, 1, 7, 4, 1, 7, 5, 1, 8, 65530, 1, 8, 65531, 1, 8, 65532, 1, 8, 65533, 1, 8, 65534, 1, 8, 65535, 1, 8, 0, 1, 8, 1, 1, 8, 2, 1, 8, 3, 1, 8, 4, 1, 8, 5, 1, 9, 65530, 1, 9, 65531, 1, 9, 65532, 1, 9, 65533, 1, 9, 65534, 1, 9, 65535, 1, 9, 0, 1, 9, 1, 1, 9, 2, 1, 9, 3, 1, 9, 4, 1, 9, 5, 1, 10, 65530, 1, 10, 65531, 1, 10, 65532, 1, 10, 65533, 1, 10, 65534, 1, 10, 65535, 1, 10, 0, 1, 10, 1, 1, 10, 2, 1, 10, 3, 1, 10, 4, 1, 10, 5, 1, 11, 65530, 1, 11, 65531, 1, 11, 65532, 1, 11, 65533, 1, 11, 65534, 1, 11, 65535, 1, 11, 0, 1, 11, 1, 1, 11, 2, 1, 11, 3, 1, 11, 4, 1, 11, 5, 1, 12, 65530, 1, 12, 65531, 1, 12, 65532, 1, 12, 65533, 1, 12, 65534, 1, 12, 65535, 1, 12, 0, 1, 12, 1, 1, 12, 2, 1, 12, 3, 1, 12, 4, 1, 12, 5, 1, 13, 65530, 1, 13, 65531, 1, 13, 65532, 1, 13, 65533, 1, 13, 65534, 1, 13, 65535, 1, 13, 0, 1, 13, 1, 1, 13, 2, 1, 13, 3, 1, 13, 4, 1, 13, 5, 1, 14, 65530, 1, 14, 65531, 1, 14, 65532, 1, 14, 65533, 1, 14, 65534, 1, 14, 65535, 1, 14, 0, 1, 14, 1, 1, 14, 2, 1, 14, 3, 1, 14, 4, 1, 14, 5, 1, 2, 65534, 1, 3, 65532, 1, 5, 65534, 1, 5, 65535, 1, 5, 0, 1, 5, 1, 1, 0, 65532, 1, 1, 65532, 1, 1, 65533, 1, 1, 65530, 1, 65522, 6, 1, 65523, 6, 1, 65524, 6, 1, 65525, 6, 1, 65528, 6, 1, 65527, 6, 1, 65526, 6, 1, 65529, 6, 1, 65530, 6, 1, 65531, 6, 1, 65532, 6, 1, 65533, 6, 1, 65534, 6, 1, 65535, 6, 1, 0, 6, 1, 1, 6, 1, 2, 6, 1, 3, 6, 1, 4, 6, 1, 5, 6, 1, 6, 6, 1, 7, 6, 1, 8, 6, 1, 9, 6, 1, 10, 6, 1, 11, 6, 1, 12, 6, 1, 13, 6, 1, 14, 6, 1, 65535, 65529, 1, 65535, 65528, 1, 65534, 65528, 1, 65533, 65528, 1, 65532, 65528, 1, 65531, 65528, 1, 65530, 65528, 1, 65529, 65528, 1, 65528, 65528, 1, 65527, 65528, 1, 65526, 65528, 1, 65525, 65528, 1, 65524, 65528, 1, 65523, 65528, 1, 65522, 65528, 1, 65522, 65529, 1, 65523, 65529, 1, 65524, 65529, 1, 65525, 65529, 1, 65526, 65529, 1, 65527, 65529, 1, 65528, 65529, 1, 65529, 65529, 1, 65532, 65529, 1, 65533, 65529, 1, 65534, 65529, 1, 65531, 65529, 1, 65530, 65529, 1, 0, 65529, 1, 1, 65529, 1, 2, 65529, 1, 3, 65529, 1, 4, 65529, 1, 5, 65529, 1, 6, 65529, 1, 7, 65529, 1, 8, 65529, 1, 9, 65529, 1, 10, 65529, 1, 11, 65529, 1, 12, 65529, 1, 13, 65529, 1, 14, 65529, 1, 14, 65528, 1, 13, 65528, 1, 12, 65528, 1, 11, 65528, 1, 10, 65528, 1, 9, 65528, 1, 8, 65528, 1, 7, 65528, 1, 6, 65528, 1, 5, 65528, 1, 4, 65528, 1, 3, 65528, 1, 2, 65528, 1, 1, 65528, 1, 0, 65528, 1, 6, 7, 1, 6, 8, 1, 7, 8, 1, 8, 8, 1, 9, 8, 1, 10, 8, 1, 11, 8, 1, 12, 8, 1, 13, 8, 1, 14, 8, 1, 14, 7, 1, 13, 7, 1, 12, 7, 1, 11, 7, 1, 10, 7, 1, 9, 7, 1, 8, 7, 1, 7, 7, 1, 5, 7, 1, 4, 7, 1, 3, 7, 1, 2, 7, 1, 1, 7, 1, 0, 7, 1, 65535, 7, 1, 65534, 7, 1, 65533, 7, 1, 65532, 7, 1, 5, 8, 1, 4, 8, 1, 3, 8, 1, 2, 8, 1, 1, 8, 1, 0, 8, 1, 65535, 8, 1, 65534, 8, 1, 65533, 8, 1, 65532, 8, 1, 65531, 8, 1, 65530, 8, 1, 65529, 8, 1, 65528, 8, 1, 65527, 8, 1, 65526, 8, 1, 65525, 8, 1, 65524, 8, 1, 65524, 7, 1, 65523, 7, 1, 65522, 7, 1, 65522, 8, 1, 65523, 8, 1, 65525, 7, 1, 65526, 7, 1, 65527, 7, 1, 65528, 7, 1, 65529, 7, 1, 65530, 7, 1, 65531, 7, 1) } script = ExtResource("1_ws6nn") -enemy_pool = Array[ExtResource("3_6od8s")]([ExtResource("10_ttr7n"), ExtResource("5_6od8s"), ExtResource("6_dj4cy"), ExtResource("7_ttr7n"), ExtResource("8_r4es0"), ExtResource("9_4gdda"), ExtResource("10_kmc01")]) +enemy_pool = Array[ExtResource("3_6od8s")]([ExtResource("5_6od8s"), ExtResource("9_4gdda")]) tower_path = NodePath("Towers") player_spawns = [NodePath("PlayerSpawnLocations/PlayerSpawn1"), NodePath("PlayerSpawnLocations/PlayerSpawn2"), NodePath("PlayerSpawnLocations/PlayerSpawn3"), NodePath("PlayerSpawnLocations/PlayerSpawn4")] enemy_spawns = [NodePath("GroundSpawn"), NodePath("AirSpawn"), NodePath("GroundSpawn2"), NodePath("GroundSpawn3"), NodePath("GroundSpawn4"), NodePath("GroundSpawn5")] diff --git a/blk-nx64-1x.png b/blk-nx64-1x.png new file mode 100644 index 0000000..6f730f6 Binary files /dev/null and b/blk-nx64-1x.png differ diff --git a/blk-nx64-1x.png.import b/blk-nx64-1x.png.import new file mode 100644 index 0000000..aa96049 --- /dev/null +++ b/blk-nx64-1x.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bpo5fu2a26mr7" +path="res://.godot/imported/blk-nx64-1x.png-073bb5194bda50a3dbca3434c8427284.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://blk-nx64-1x.png" +dest_files=["res://.godot/imported/blk-nx64-1x.png-073bb5194bda50a3dbca3434c8427284.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/bridge.glb b/bridge.glb index d6bfa82..33d9ff8 100644 Binary files a/bridge.glb and b/bridge.glb differ diff --git a/crystal_enemy.glb b/crystal_enemy.glb new file mode 100644 index 0000000..7b56aba Binary files /dev/null and b/crystal_enemy.glb differ diff --git a/crystal_enemy.glb.import b/crystal_enemy.glb.import new file mode 100644 index 0000000..360f28f --- /dev/null +++ b/crystal_enemy.glb.import @@ -0,0 +1,1845 @@ +[remap] + +importer="scene" +importer_version=1 +type="PackedScene" +uid="uid://o6whohcbalui" +path="res://.godot/imported/crystal_enemy.glb-5db02a6c9798f184be321fd8ed4734ae.scn" + +[deps] + +source_file="res://crystal_enemy.glb" +dest_files=["res://.godot/imported/crystal_enemy.glb-5db02a6c9798f184be321fd8ed4734ae.scn"] + +[params] + +nodes/root_type="" +nodes/root_name="" +nodes/apply_root_scale=true +nodes/root_scale=0.3 +nodes/import_as_skeleton_bones=false +nodes/use_node_type_suffixes=true +meshes/ensure_tangents=true +meshes/generate_lods=true +meshes/create_shadow_meshes=true +meshes/light_baking=1 +meshes/lightmap_texel_size=0.2 +meshes/force_disable_compression=false +skins/use_named_skins=true +animation/import=true +animation/fps=30 +animation/trimming=false +animation/remove_immutable_tracks=true +animation/import_rest_as_RESET=false +import_script/path="" +_subresources={ +"animations": { +"Spin": { +"save_to_file/enabled": false, +"save_to_file/keep_custom_tracks": "", +"save_to_file/path": "", +"settings/loop_mode": 1, +"slice_1/end_frame": 0, +"slice_1/loop_mode": 0, +"slice_1/name": "", +"slice_1/save_to_file/enabled": false, +"slice_1/save_to_file/keep_custom_tracks": false, +"slice_1/save_to_file/path": "", +"slice_1/start_frame": 0, +"slice_10/end_frame": 0, +"slice_10/loop_mode": 0, +"slice_10/name": "", +"slice_10/save_to_file/enabled": false, +"slice_10/save_to_file/keep_custom_tracks": false, +"slice_10/save_to_file/path": "", +"slice_10/start_frame": 0, +"slice_100/end_frame": 0, +"slice_100/loop_mode": 0, +"slice_100/name": "", +"slice_100/save_to_file/enabled": false, +"slice_100/save_to_file/keep_custom_tracks": false, +"slice_100/save_to_file/path": "", +"slice_100/start_frame": 0, +"slice_101/end_frame": 0, +"slice_101/loop_mode": 0, +"slice_101/name": "", +"slice_101/save_to_file/enabled": false, +"slice_101/save_to_file/keep_custom_tracks": false, +"slice_101/save_to_file/path": "", +"slice_101/start_frame": 0, +"slice_102/end_frame": 0, +"slice_102/loop_mode": 0, +"slice_102/name": "", +"slice_102/save_to_file/enabled": false, +"slice_102/save_to_file/keep_custom_tracks": false, +"slice_102/save_to_file/path": "", +"slice_102/start_frame": 0, +"slice_103/end_frame": 0, +"slice_103/loop_mode": 0, +"slice_103/name": "", +"slice_103/save_to_file/enabled": false, +"slice_103/save_to_file/keep_custom_tracks": false, +"slice_103/save_to_file/path": "", +"slice_103/start_frame": 0, +"slice_104/end_frame": 0, +"slice_104/loop_mode": 0, +"slice_104/name": "", +"slice_104/save_to_file/enabled": false, +"slice_104/save_to_file/keep_custom_tracks": false, +"slice_104/save_to_file/path": "", +"slice_104/start_frame": 0, +"slice_105/end_frame": 0, +"slice_105/loop_mode": 0, +"slice_105/name": "", +"slice_105/save_to_file/enabled": false, +"slice_105/save_to_file/keep_custom_tracks": false, +"slice_105/save_to_file/path": "", +"slice_105/start_frame": 0, +"slice_106/end_frame": 0, +"slice_106/loop_mode": 0, +"slice_106/name": "", +"slice_106/save_to_file/enabled": false, +"slice_106/save_to_file/keep_custom_tracks": false, +"slice_106/save_to_file/path": "", +"slice_106/start_frame": 0, +"slice_107/end_frame": 0, +"slice_107/loop_mode": 0, +"slice_107/name": "", +"slice_107/save_to_file/enabled": false, +"slice_107/save_to_file/keep_custom_tracks": false, +"slice_107/save_to_file/path": "", +"slice_107/start_frame": 0, +"slice_108/end_frame": 0, +"slice_108/loop_mode": 0, +"slice_108/name": "", +"slice_108/save_to_file/enabled": false, +"slice_108/save_to_file/keep_custom_tracks": false, +"slice_108/save_to_file/path": "", +"slice_108/start_frame": 0, +"slice_109/end_frame": 0, +"slice_109/loop_mode": 0, +"slice_109/name": "", +"slice_109/save_to_file/enabled": false, +"slice_109/save_to_file/keep_custom_tracks": false, +"slice_109/save_to_file/path": "", +"slice_109/start_frame": 0, +"slice_11/end_frame": 0, +"slice_11/loop_mode": 0, +"slice_11/name": "", +"slice_11/save_to_file/enabled": false, +"slice_11/save_to_file/keep_custom_tracks": false, +"slice_11/save_to_file/path": "", +"slice_11/start_frame": 0, +"slice_110/end_frame": 0, +"slice_110/loop_mode": 0, +"slice_110/name": "", +"slice_110/save_to_file/enabled": false, +"slice_110/save_to_file/keep_custom_tracks": false, +"slice_110/save_to_file/path": "", +"slice_110/start_frame": 0, +"slice_111/end_frame": 0, +"slice_111/loop_mode": 0, +"slice_111/name": "", +"slice_111/save_to_file/enabled": false, +"slice_111/save_to_file/keep_custom_tracks": false, +"slice_111/save_to_file/path": "", +"slice_111/start_frame": 0, +"slice_112/end_frame": 0, +"slice_112/loop_mode": 0, +"slice_112/name": "", +"slice_112/save_to_file/enabled": false, +"slice_112/save_to_file/keep_custom_tracks": false, +"slice_112/save_to_file/path": "", +"slice_112/start_frame": 0, +"slice_113/end_frame": 0, +"slice_113/loop_mode": 0, +"slice_113/name": "", +"slice_113/save_to_file/enabled": false, +"slice_113/save_to_file/keep_custom_tracks": false, +"slice_113/save_to_file/path": "", +"slice_113/start_frame": 0, +"slice_114/end_frame": 0, +"slice_114/loop_mode": 0, +"slice_114/name": "", +"slice_114/save_to_file/enabled": false, +"slice_114/save_to_file/keep_custom_tracks": false, +"slice_114/save_to_file/path": "", +"slice_114/start_frame": 0, +"slice_115/end_frame": 0, +"slice_115/loop_mode": 0, +"slice_115/name": "", +"slice_115/save_to_file/enabled": false, +"slice_115/save_to_file/keep_custom_tracks": false, +"slice_115/save_to_file/path": "", +"slice_115/start_frame": 0, +"slice_116/end_frame": 0, +"slice_116/loop_mode": 0, +"slice_116/name": "", +"slice_116/save_to_file/enabled": false, +"slice_116/save_to_file/keep_custom_tracks": false, +"slice_116/save_to_file/path": "", +"slice_116/start_frame": 0, +"slice_117/end_frame": 0, +"slice_117/loop_mode": 0, +"slice_117/name": "", +"slice_117/save_to_file/enabled": false, +"slice_117/save_to_file/keep_custom_tracks": false, +"slice_117/save_to_file/path": "", +"slice_117/start_frame": 0, +"slice_118/end_frame": 0, +"slice_118/loop_mode": 0, +"slice_118/name": "", +"slice_118/save_to_file/enabled": false, +"slice_118/save_to_file/keep_custom_tracks": false, +"slice_118/save_to_file/path": "", +"slice_118/start_frame": 0, +"slice_119/end_frame": 0, +"slice_119/loop_mode": 0, +"slice_119/name": "", +"slice_119/save_to_file/enabled": false, +"slice_119/save_to_file/keep_custom_tracks": false, +"slice_119/save_to_file/path": "", +"slice_119/start_frame": 0, +"slice_12/end_frame": 0, +"slice_12/loop_mode": 0, +"slice_12/name": "", +"slice_12/save_to_file/enabled": false, +"slice_12/save_to_file/keep_custom_tracks": false, +"slice_12/save_to_file/path": "", +"slice_12/start_frame": 0, +"slice_120/end_frame": 0, +"slice_120/loop_mode": 0, +"slice_120/name": "", +"slice_120/save_to_file/enabled": false, +"slice_120/save_to_file/keep_custom_tracks": false, +"slice_120/save_to_file/path": "", +"slice_120/start_frame": 0, +"slice_121/end_frame": 0, +"slice_121/loop_mode": 0, +"slice_121/name": "", +"slice_121/save_to_file/enabled": false, +"slice_121/save_to_file/keep_custom_tracks": false, +"slice_121/save_to_file/path": "", +"slice_121/start_frame": 0, +"slice_122/end_frame": 0, +"slice_122/loop_mode": 0, +"slice_122/name": "", +"slice_122/save_to_file/enabled": false, +"slice_122/save_to_file/keep_custom_tracks": false, +"slice_122/save_to_file/path": "", +"slice_122/start_frame": 0, +"slice_123/end_frame": 0, +"slice_123/loop_mode": 0, +"slice_123/name": "", +"slice_123/save_to_file/enabled": false, +"slice_123/save_to_file/keep_custom_tracks": false, +"slice_123/save_to_file/path": "", +"slice_123/start_frame": 0, +"slice_124/end_frame": 0, +"slice_124/loop_mode": 0, +"slice_124/name": "", +"slice_124/save_to_file/enabled": false, +"slice_124/save_to_file/keep_custom_tracks": false, +"slice_124/save_to_file/path": "", +"slice_124/start_frame": 0, +"slice_125/end_frame": 0, +"slice_125/loop_mode": 0, +"slice_125/name": "", +"slice_125/save_to_file/enabled": false, +"slice_125/save_to_file/keep_custom_tracks": false, +"slice_125/save_to_file/path": "", +"slice_125/start_frame": 0, +"slice_126/end_frame": 0, +"slice_126/loop_mode": 0, +"slice_126/name": "", +"slice_126/save_to_file/enabled": false, +"slice_126/save_to_file/keep_custom_tracks": false, +"slice_126/save_to_file/path": "", +"slice_126/start_frame": 0, +"slice_127/end_frame": 0, +"slice_127/loop_mode": 0, +"slice_127/name": "", +"slice_127/save_to_file/enabled": false, +"slice_127/save_to_file/keep_custom_tracks": false, +"slice_127/save_to_file/path": "", +"slice_127/start_frame": 0, +"slice_128/end_frame": 0, +"slice_128/loop_mode": 0, +"slice_128/name": "", +"slice_128/save_to_file/enabled": false, +"slice_128/save_to_file/keep_custom_tracks": false, +"slice_128/save_to_file/path": "", +"slice_128/start_frame": 0, +"slice_129/end_frame": 0, +"slice_129/loop_mode": 0, +"slice_129/name": "", +"slice_129/save_to_file/enabled": false, +"slice_129/save_to_file/keep_custom_tracks": false, +"slice_129/save_to_file/path": "", +"slice_129/start_frame": 0, +"slice_13/end_frame": 0, +"slice_13/loop_mode": 0, +"slice_13/name": "", +"slice_13/save_to_file/enabled": false, +"slice_13/save_to_file/keep_custom_tracks": false, +"slice_13/save_to_file/path": "", +"slice_13/start_frame": 0, +"slice_130/end_frame": 0, +"slice_130/loop_mode": 0, +"slice_130/name": "", +"slice_130/save_to_file/enabled": false, +"slice_130/save_to_file/keep_custom_tracks": false, +"slice_130/save_to_file/path": "", +"slice_130/start_frame": 0, +"slice_131/end_frame": 0, +"slice_131/loop_mode": 0, +"slice_131/name": "", +"slice_131/save_to_file/enabled": false, +"slice_131/save_to_file/keep_custom_tracks": false, +"slice_131/save_to_file/path": "", +"slice_131/start_frame": 0, +"slice_132/end_frame": 0, +"slice_132/loop_mode": 0, +"slice_132/name": "", +"slice_132/save_to_file/enabled": false, +"slice_132/save_to_file/keep_custom_tracks": false, +"slice_132/save_to_file/path": "", +"slice_132/start_frame": 0, +"slice_133/end_frame": 0, +"slice_133/loop_mode": 0, +"slice_133/name": "", +"slice_133/save_to_file/enabled": false, +"slice_133/save_to_file/keep_custom_tracks": false, +"slice_133/save_to_file/path": "", +"slice_133/start_frame": 0, +"slice_134/end_frame": 0, +"slice_134/loop_mode": 0, +"slice_134/name": "", +"slice_134/save_to_file/enabled": false, +"slice_134/save_to_file/keep_custom_tracks": false, +"slice_134/save_to_file/path": "", +"slice_134/start_frame": 0, +"slice_135/end_frame": 0, +"slice_135/loop_mode": 0, +"slice_135/name": "", +"slice_135/save_to_file/enabled": false, +"slice_135/save_to_file/keep_custom_tracks": false, +"slice_135/save_to_file/path": "", +"slice_135/start_frame": 0, +"slice_136/end_frame": 0, +"slice_136/loop_mode": 0, +"slice_136/name": "", +"slice_136/save_to_file/enabled": false, +"slice_136/save_to_file/keep_custom_tracks": false, +"slice_136/save_to_file/path": "", +"slice_136/start_frame": 0, +"slice_137/end_frame": 0, +"slice_137/loop_mode": 0, +"slice_137/name": "", +"slice_137/save_to_file/enabled": false, +"slice_137/save_to_file/keep_custom_tracks": false, +"slice_137/save_to_file/path": "", +"slice_137/start_frame": 0, +"slice_138/end_frame": 0, +"slice_138/loop_mode": 0, +"slice_138/name": "", +"slice_138/save_to_file/enabled": false, +"slice_138/save_to_file/keep_custom_tracks": false, +"slice_138/save_to_file/path": "", +"slice_138/start_frame": 0, +"slice_139/end_frame": 0, +"slice_139/loop_mode": 0, +"slice_139/name": "", +"slice_139/save_to_file/enabled": false, +"slice_139/save_to_file/keep_custom_tracks": false, +"slice_139/save_to_file/path": "", +"slice_139/start_frame": 0, +"slice_14/end_frame": 0, +"slice_14/loop_mode": 0, +"slice_14/name": "", +"slice_14/save_to_file/enabled": false, +"slice_14/save_to_file/keep_custom_tracks": false, +"slice_14/save_to_file/path": "", +"slice_14/start_frame": 0, +"slice_140/end_frame": 0, +"slice_140/loop_mode": 0, +"slice_140/name": "", +"slice_140/save_to_file/enabled": false, +"slice_140/save_to_file/keep_custom_tracks": false, +"slice_140/save_to_file/path": "", +"slice_140/start_frame": 0, +"slice_141/end_frame": 0, +"slice_141/loop_mode": 0, +"slice_141/name": "", +"slice_141/save_to_file/enabled": false, +"slice_141/save_to_file/keep_custom_tracks": false, +"slice_141/save_to_file/path": "", +"slice_141/start_frame": 0, +"slice_142/end_frame": 0, +"slice_142/loop_mode": 0, +"slice_142/name": "", +"slice_142/save_to_file/enabled": false, +"slice_142/save_to_file/keep_custom_tracks": false, +"slice_142/save_to_file/path": "", +"slice_142/start_frame": 0, +"slice_143/end_frame": 0, +"slice_143/loop_mode": 0, +"slice_143/name": "", +"slice_143/save_to_file/enabled": false, +"slice_143/save_to_file/keep_custom_tracks": false, +"slice_143/save_to_file/path": "", +"slice_143/start_frame": 0, +"slice_144/end_frame": 0, +"slice_144/loop_mode": 0, +"slice_144/name": "", +"slice_144/save_to_file/enabled": false, +"slice_144/save_to_file/keep_custom_tracks": false, +"slice_144/save_to_file/path": "", +"slice_144/start_frame": 0, +"slice_145/end_frame": 0, +"slice_145/loop_mode": 0, +"slice_145/name": "", +"slice_145/save_to_file/enabled": false, +"slice_145/save_to_file/keep_custom_tracks": false, +"slice_145/save_to_file/path": "", +"slice_145/start_frame": 0, +"slice_146/end_frame": 0, +"slice_146/loop_mode": 0, +"slice_146/name": "", +"slice_146/save_to_file/enabled": false, +"slice_146/save_to_file/keep_custom_tracks": false, +"slice_146/save_to_file/path": "", +"slice_146/start_frame": 0, +"slice_147/end_frame": 0, +"slice_147/loop_mode": 0, +"slice_147/name": "", +"slice_147/save_to_file/enabled": false, +"slice_147/save_to_file/keep_custom_tracks": false, +"slice_147/save_to_file/path": "", +"slice_147/start_frame": 0, +"slice_148/end_frame": 0, +"slice_148/loop_mode": 0, +"slice_148/name": "", +"slice_148/save_to_file/enabled": false, +"slice_148/save_to_file/keep_custom_tracks": false, +"slice_148/save_to_file/path": "", +"slice_148/start_frame": 0, +"slice_149/end_frame": 0, +"slice_149/loop_mode": 0, +"slice_149/name": "", +"slice_149/save_to_file/enabled": false, +"slice_149/save_to_file/keep_custom_tracks": false, +"slice_149/save_to_file/path": "", +"slice_149/start_frame": 0, +"slice_15/end_frame": 0, +"slice_15/loop_mode": 0, +"slice_15/name": "", +"slice_15/save_to_file/enabled": false, +"slice_15/save_to_file/keep_custom_tracks": false, +"slice_15/save_to_file/path": "", +"slice_15/start_frame": 0, +"slice_150/end_frame": 0, +"slice_150/loop_mode": 0, +"slice_150/name": "", +"slice_150/save_to_file/enabled": false, +"slice_150/save_to_file/keep_custom_tracks": false, +"slice_150/save_to_file/path": "", +"slice_150/start_frame": 0, +"slice_151/end_frame": 0, +"slice_151/loop_mode": 0, +"slice_151/name": "", +"slice_151/save_to_file/enabled": false, +"slice_151/save_to_file/keep_custom_tracks": false, +"slice_151/save_to_file/path": "", +"slice_151/start_frame": 0, +"slice_152/end_frame": 0, +"slice_152/loop_mode": 0, +"slice_152/name": "", +"slice_152/save_to_file/enabled": false, +"slice_152/save_to_file/keep_custom_tracks": false, +"slice_152/save_to_file/path": "", +"slice_152/start_frame": 0, +"slice_153/end_frame": 0, +"slice_153/loop_mode": 0, +"slice_153/name": "", +"slice_153/save_to_file/enabled": false, +"slice_153/save_to_file/keep_custom_tracks": false, +"slice_153/save_to_file/path": "", +"slice_153/start_frame": 0, +"slice_154/end_frame": 0, +"slice_154/loop_mode": 0, +"slice_154/name": "", +"slice_154/save_to_file/enabled": false, +"slice_154/save_to_file/keep_custom_tracks": false, +"slice_154/save_to_file/path": "", +"slice_154/start_frame": 0, +"slice_155/end_frame": 0, +"slice_155/loop_mode": 0, +"slice_155/name": "", +"slice_155/save_to_file/enabled": false, +"slice_155/save_to_file/keep_custom_tracks": false, +"slice_155/save_to_file/path": "", +"slice_155/start_frame": 0, +"slice_156/end_frame": 0, +"slice_156/loop_mode": 0, +"slice_156/name": "", +"slice_156/save_to_file/enabled": false, +"slice_156/save_to_file/keep_custom_tracks": false, +"slice_156/save_to_file/path": "", +"slice_156/start_frame": 0, +"slice_157/end_frame": 0, +"slice_157/loop_mode": 0, +"slice_157/name": "", +"slice_157/save_to_file/enabled": false, +"slice_157/save_to_file/keep_custom_tracks": false, +"slice_157/save_to_file/path": "", +"slice_157/start_frame": 0, +"slice_158/end_frame": 0, +"slice_158/loop_mode": 0, +"slice_158/name": "", +"slice_158/save_to_file/enabled": false, +"slice_158/save_to_file/keep_custom_tracks": false, +"slice_158/save_to_file/path": "", +"slice_158/start_frame": 0, +"slice_159/end_frame": 0, +"slice_159/loop_mode": 0, +"slice_159/name": "", +"slice_159/save_to_file/enabled": false, +"slice_159/save_to_file/keep_custom_tracks": false, +"slice_159/save_to_file/path": "", +"slice_159/start_frame": 0, +"slice_16/end_frame": 0, +"slice_16/loop_mode": 0, +"slice_16/name": "", +"slice_16/save_to_file/enabled": false, +"slice_16/save_to_file/keep_custom_tracks": false, +"slice_16/save_to_file/path": "", +"slice_16/start_frame": 0, +"slice_160/end_frame": 0, +"slice_160/loop_mode": 0, +"slice_160/name": "", +"slice_160/save_to_file/enabled": false, +"slice_160/save_to_file/keep_custom_tracks": false, +"slice_160/save_to_file/path": "", +"slice_160/start_frame": 0, +"slice_161/end_frame": 0, +"slice_161/loop_mode": 0, +"slice_161/name": "", +"slice_161/save_to_file/enabled": false, +"slice_161/save_to_file/keep_custom_tracks": false, +"slice_161/save_to_file/path": "", +"slice_161/start_frame": 0, +"slice_162/end_frame": 0, +"slice_162/loop_mode": 0, +"slice_162/name": "", +"slice_162/save_to_file/enabled": false, +"slice_162/save_to_file/keep_custom_tracks": false, +"slice_162/save_to_file/path": "", +"slice_162/start_frame": 0, +"slice_163/end_frame": 0, +"slice_163/loop_mode": 0, +"slice_163/name": "", +"slice_163/save_to_file/enabled": false, +"slice_163/save_to_file/keep_custom_tracks": false, +"slice_163/save_to_file/path": "", +"slice_163/start_frame": 0, +"slice_164/end_frame": 0, +"slice_164/loop_mode": 0, +"slice_164/name": "", +"slice_164/save_to_file/enabled": false, +"slice_164/save_to_file/keep_custom_tracks": false, +"slice_164/save_to_file/path": "", +"slice_164/start_frame": 0, +"slice_165/end_frame": 0, +"slice_165/loop_mode": 0, +"slice_165/name": "", +"slice_165/save_to_file/enabled": false, +"slice_165/save_to_file/keep_custom_tracks": false, +"slice_165/save_to_file/path": "", +"slice_165/start_frame": 0, +"slice_166/end_frame": 0, +"slice_166/loop_mode": 0, +"slice_166/name": "", +"slice_166/save_to_file/enabled": false, +"slice_166/save_to_file/keep_custom_tracks": false, +"slice_166/save_to_file/path": "", +"slice_166/start_frame": 0, +"slice_167/end_frame": 0, +"slice_167/loop_mode": 0, +"slice_167/name": "", +"slice_167/save_to_file/enabled": false, +"slice_167/save_to_file/keep_custom_tracks": false, +"slice_167/save_to_file/path": "", +"slice_167/start_frame": 0, +"slice_168/end_frame": 0, +"slice_168/loop_mode": 0, +"slice_168/name": "", +"slice_168/save_to_file/enabled": false, +"slice_168/save_to_file/keep_custom_tracks": false, +"slice_168/save_to_file/path": "", +"slice_168/start_frame": 0, +"slice_169/end_frame": 0, +"slice_169/loop_mode": 0, +"slice_169/name": "", +"slice_169/save_to_file/enabled": false, +"slice_169/save_to_file/keep_custom_tracks": false, +"slice_169/save_to_file/path": "", +"slice_169/start_frame": 0, +"slice_17/end_frame": 0, +"slice_17/loop_mode": 0, +"slice_17/name": "", +"slice_17/save_to_file/enabled": false, +"slice_17/save_to_file/keep_custom_tracks": false, +"slice_17/save_to_file/path": "", +"slice_17/start_frame": 0, +"slice_170/end_frame": 0, +"slice_170/loop_mode": 0, +"slice_170/name": "", +"slice_170/save_to_file/enabled": false, +"slice_170/save_to_file/keep_custom_tracks": false, +"slice_170/save_to_file/path": "", +"slice_170/start_frame": 0, +"slice_171/end_frame": 0, +"slice_171/loop_mode": 0, +"slice_171/name": "", +"slice_171/save_to_file/enabled": false, +"slice_171/save_to_file/keep_custom_tracks": false, +"slice_171/save_to_file/path": "", +"slice_171/start_frame": 0, +"slice_172/end_frame": 0, +"slice_172/loop_mode": 0, +"slice_172/name": "", +"slice_172/save_to_file/enabled": false, +"slice_172/save_to_file/keep_custom_tracks": false, +"slice_172/save_to_file/path": "", +"slice_172/start_frame": 0, +"slice_173/end_frame": 0, +"slice_173/loop_mode": 0, +"slice_173/name": "", +"slice_173/save_to_file/enabled": false, +"slice_173/save_to_file/keep_custom_tracks": false, +"slice_173/save_to_file/path": "", +"slice_173/start_frame": 0, +"slice_174/end_frame": 0, +"slice_174/loop_mode": 0, +"slice_174/name": "", +"slice_174/save_to_file/enabled": false, +"slice_174/save_to_file/keep_custom_tracks": false, +"slice_174/save_to_file/path": "", +"slice_174/start_frame": 0, +"slice_175/end_frame": 0, +"slice_175/loop_mode": 0, +"slice_175/name": "", +"slice_175/save_to_file/enabled": false, +"slice_175/save_to_file/keep_custom_tracks": false, +"slice_175/save_to_file/path": "", +"slice_175/start_frame": 0, +"slice_176/end_frame": 0, +"slice_176/loop_mode": 0, +"slice_176/name": "", +"slice_176/save_to_file/enabled": false, +"slice_176/save_to_file/keep_custom_tracks": false, +"slice_176/save_to_file/path": "", +"slice_176/start_frame": 0, +"slice_177/end_frame": 0, +"slice_177/loop_mode": 0, +"slice_177/name": "", +"slice_177/save_to_file/enabled": false, +"slice_177/save_to_file/keep_custom_tracks": false, +"slice_177/save_to_file/path": "", +"slice_177/start_frame": 0, +"slice_178/end_frame": 0, +"slice_178/loop_mode": 0, +"slice_178/name": "", +"slice_178/save_to_file/enabled": false, +"slice_178/save_to_file/keep_custom_tracks": false, +"slice_178/save_to_file/path": "", +"slice_178/start_frame": 0, +"slice_179/end_frame": 0, +"slice_179/loop_mode": 0, +"slice_179/name": "", +"slice_179/save_to_file/enabled": false, +"slice_179/save_to_file/keep_custom_tracks": false, +"slice_179/save_to_file/path": "", +"slice_179/start_frame": 0, +"slice_18/end_frame": 0, +"slice_18/loop_mode": 0, +"slice_18/name": "", +"slice_18/save_to_file/enabled": false, +"slice_18/save_to_file/keep_custom_tracks": false, +"slice_18/save_to_file/path": "", +"slice_18/start_frame": 0, +"slice_180/end_frame": 0, +"slice_180/loop_mode": 0, +"slice_180/name": "", +"slice_180/save_to_file/enabled": false, +"slice_180/save_to_file/keep_custom_tracks": false, +"slice_180/save_to_file/path": "", +"slice_180/start_frame": 0, +"slice_181/end_frame": 0, +"slice_181/loop_mode": 0, +"slice_181/name": "", +"slice_181/save_to_file/enabled": false, +"slice_181/save_to_file/keep_custom_tracks": false, +"slice_181/save_to_file/path": "", +"slice_181/start_frame": 0, +"slice_182/end_frame": 0, +"slice_182/loop_mode": 0, +"slice_182/name": "", +"slice_182/save_to_file/enabled": false, +"slice_182/save_to_file/keep_custom_tracks": false, +"slice_182/save_to_file/path": "", +"slice_182/start_frame": 0, +"slice_183/end_frame": 0, +"slice_183/loop_mode": 0, +"slice_183/name": "", +"slice_183/save_to_file/enabled": false, +"slice_183/save_to_file/keep_custom_tracks": false, +"slice_183/save_to_file/path": "", +"slice_183/start_frame": 0, +"slice_184/end_frame": 0, +"slice_184/loop_mode": 0, +"slice_184/name": "", +"slice_184/save_to_file/enabled": false, +"slice_184/save_to_file/keep_custom_tracks": false, +"slice_184/save_to_file/path": "", +"slice_184/start_frame": 0, +"slice_185/end_frame": 0, +"slice_185/loop_mode": 0, +"slice_185/name": "", +"slice_185/save_to_file/enabled": false, +"slice_185/save_to_file/keep_custom_tracks": false, +"slice_185/save_to_file/path": "", +"slice_185/start_frame": 0, +"slice_186/end_frame": 0, +"slice_186/loop_mode": 0, +"slice_186/name": "", +"slice_186/save_to_file/enabled": false, +"slice_186/save_to_file/keep_custom_tracks": false, +"slice_186/save_to_file/path": "", +"slice_186/start_frame": 0, +"slice_187/end_frame": 0, +"slice_187/loop_mode": 0, +"slice_187/name": "", +"slice_187/save_to_file/enabled": false, +"slice_187/save_to_file/keep_custom_tracks": false, +"slice_187/save_to_file/path": "", +"slice_187/start_frame": 0, +"slice_188/end_frame": 0, +"slice_188/loop_mode": 0, +"slice_188/name": "", +"slice_188/save_to_file/enabled": false, +"slice_188/save_to_file/keep_custom_tracks": false, +"slice_188/save_to_file/path": "", +"slice_188/start_frame": 0, +"slice_189/end_frame": 0, +"slice_189/loop_mode": 0, +"slice_189/name": "", +"slice_189/save_to_file/enabled": false, +"slice_189/save_to_file/keep_custom_tracks": false, +"slice_189/save_to_file/path": "", +"slice_189/start_frame": 0, +"slice_19/end_frame": 0, +"slice_19/loop_mode": 0, +"slice_19/name": "", +"slice_19/save_to_file/enabled": false, +"slice_19/save_to_file/keep_custom_tracks": false, +"slice_19/save_to_file/path": "", +"slice_19/start_frame": 0, +"slice_190/end_frame": 0, +"slice_190/loop_mode": 0, +"slice_190/name": "", +"slice_190/save_to_file/enabled": false, +"slice_190/save_to_file/keep_custom_tracks": false, +"slice_190/save_to_file/path": "", +"slice_190/start_frame": 0, +"slice_191/end_frame": 0, +"slice_191/loop_mode": 0, +"slice_191/name": "", +"slice_191/save_to_file/enabled": false, +"slice_191/save_to_file/keep_custom_tracks": false, +"slice_191/save_to_file/path": "", +"slice_191/start_frame": 0, +"slice_192/end_frame": 0, +"slice_192/loop_mode": 0, +"slice_192/name": "", +"slice_192/save_to_file/enabled": false, +"slice_192/save_to_file/keep_custom_tracks": false, +"slice_192/save_to_file/path": "", +"slice_192/start_frame": 0, +"slice_193/end_frame": 0, +"slice_193/loop_mode": 0, +"slice_193/name": "", +"slice_193/save_to_file/enabled": false, +"slice_193/save_to_file/keep_custom_tracks": false, +"slice_193/save_to_file/path": "", +"slice_193/start_frame": 0, +"slice_194/end_frame": 0, +"slice_194/loop_mode": 0, +"slice_194/name": "", +"slice_194/save_to_file/enabled": false, +"slice_194/save_to_file/keep_custom_tracks": false, +"slice_194/save_to_file/path": "", +"slice_194/start_frame": 0, +"slice_195/end_frame": 0, +"slice_195/loop_mode": 0, +"slice_195/name": "", +"slice_195/save_to_file/enabled": false, +"slice_195/save_to_file/keep_custom_tracks": false, +"slice_195/save_to_file/path": "", +"slice_195/start_frame": 0, +"slice_196/end_frame": 0, +"slice_196/loop_mode": 0, +"slice_196/name": "", +"slice_196/save_to_file/enabled": false, +"slice_196/save_to_file/keep_custom_tracks": false, +"slice_196/save_to_file/path": "", +"slice_196/start_frame": 0, +"slice_197/end_frame": 0, +"slice_197/loop_mode": 0, +"slice_197/name": "", +"slice_197/save_to_file/enabled": false, +"slice_197/save_to_file/keep_custom_tracks": false, +"slice_197/save_to_file/path": "", +"slice_197/start_frame": 0, +"slice_198/end_frame": 0, +"slice_198/loop_mode": 0, +"slice_198/name": "", +"slice_198/save_to_file/enabled": false, +"slice_198/save_to_file/keep_custom_tracks": false, +"slice_198/save_to_file/path": "", +"slice_198/start_frame": 0, +"slice_199/end_frame": 0, +"slice_199/loop_mode": 0, +"slice_199/name": "", +"slice_199/save_to_file/enabled": false, +"slice_199/save_to_file/keep_custom_tracks": false, +"slice_199/save_to_file/path": "", +"slice_199/start_frame": 0, +"slice_2/end_frame": 0, +"slice_2/loop_mode": 0, +"slice_2/name": "", +"slice_2/save_to_file/enabled": false, +"slice_2/save_to_file/keep_custom_tracks": false, +"slice_2/save_to_file/path": "", +"slice_2/start_frame": 0, +"slice_20/end_frame": 0, +"slice_20/loop_mode": 0, +"slice_20/name": "", +"slice_20/save_to_file/enabled": false, +"slice_20/save_to_file/keep_custom_tracks": false, +"slice_20/save_to_file/path": "", +"slice_20/start_frame": 0, +"slice_200/end_frame": 0, +"slice_200/loop_mode": 0, +"slice_200/name": "", +"slice_200/save_to_file/enabled": false, +"slice_200/save_to_file/keep_custom_tracks": false, +"slice_200/save_to_file/path": "", +"slice_200/start_frame": 0, +"slice_201/end_frame": 0, +"slice_201/loop_mode": 0, +"slice_201/name": "", +"slice_201/save_to_file/enabled": false, +"slice_201/save_to_file/keep_custom_tracks": false, +"slice_201/save_to_file/path": "", +"slice_201/start_frame": 0, +"slice_202/end_frame": 0, +"slice_202/loop_mode": 0, +"slice_202/name": "", +"slice_202/save_to_file/enabled": false, +"slice_202/save_to_file/keep_custom_tracks": false, +"slice_202/save_to_file/path": "", +"slice_202/start_frame": 0, +"slice_203/end_frame": 0, +"slice_203/loop_mode": 0, +"slice_203/name": "", +"slice_203/save_to_file/enabled": false, +"slice_203/save_to_file/keep_custom_tracks": false, +"slice_203/save_to_file/path": "", +"slice_203/start_frame": 0, +"slice_204/end_frame": 0, +"slice_204/loop_mode": 0, +"slice_204/name": "", +"slice_204/save_to_file/enabled": false, +"slice_204/save_to_file/keep_custom_tracks": false, +"slice_204/save_to_file/path": "", +"slice_204/start_frame": 0, +"slice_205/end_frame": 0, +"slice_205/loop_mode": 0, +"slice_205/name": "", +"slice_205/save_to_file/enabled": false, +"slice_205/save_to_file/keep_custom_tracks": false, +"slice_205/save_to_file/path": "", +"slice_205/start_frame": 0, +"slice_206/end_frame": 0, +"slice_206/loop_mode": 0, +"slice_206/name": "", +"slice_206/save_to_file/enabled": false, +"slice_206/save_to_file/keep_custom_tracks": false, +"slice_206/save_to_file/path": "", +"slice_206/start_frame": 0, +"slice_207/end_frame": 0, +"slice_207/loop_mode": 0, +"slice_207/name": "", +"slice_207/save_to_file/enabled": false, +"slice_207/save_to_file/keep_custom_tracks": false, +"slice_207/save_to_file/path": "", +"slice_207/start_frame": 0, +"slice_208/end_frame": 0, +"slice_208/loop_mode": 0, +"slice_208/name": "", +"slice_208/save_to_file/enabled": false, +"slice_208/save_to_file/keep_custom_tracks": false, +"slice_208/save_to_file/path": "", +"slice_208/start_frame": 0, +"slice_209/end_frame": 0, +"slice_209/loop_mode": 0, +"slice_209/name": "", +"slice_209/save_to_file/enabled": false, +"slice_209/save_to_file/keep_custom_tracks": false, +"slice_209/save_to_file/path": "", +"slice_209/start_frame": 0, +"slice_21/end_frame": 0, +"slice_21/loop_mode": 0, +"slice_21/name": "", +"slice_21/save_to_file/enabled": false, +"slice_21/save_to_file/keep_custom_tracks": false, +"slice_21/save_to_file/path": "", +"slice_21/start_frame": 0, +"slice_210/end_frame": 0, +"slice_210/loop_mode": 0, +"slice_210/name": "", +"slice_210/save_to_file/enabled": false, +"slice_210/save_to_file/keep_custom_tracks": false, +"slice_210/save_to_file/path": "", +"slice_210/start_frame": 0, +"slice_211/end_frame": 0, +"slice_211/loop_mode": 0, +"slice_211/name": "", +"slice_211/save_to_file/enabled": false, +"slice_211/save_to_file/keep_custom_tracks": false, +"slice_211/save_to_file/path": "", +"slice_211/start_frame": 0, +"slice_212/end_frame": 0, +"slice_212/loop_mode": 0, +"slice_212/name": "", +"slice_212/save_to_file/enabled": false, +"slice_212/save_to_file/keep_custom_tracks": false, +"slice_212/save_to_file/path": "", +"slice_212/start_frame": 0, +"slice_213/end_frame": 0, +"slice_213/loop_mode": 0, +"slice_213/name": "", +"slice_213/save_to_file/enabled": false, +"slice_213/save_to_file/keep_custom_tracks": false, +"slice_213/save_to_file/path": "", +"slice_213/start_frame": 0, +"slice_214/end_frame": 0, +"slice_214/loop_mode": 0, +"slice_214/name": "", +"slice_214/save_to_file/enabled": false, +"slice_214/save_to_file/keep_custom_tracks": false, +"slice_214/save_to_file/path": "", +"slice_214/start_frame": 0, +"slice_215/end_frame": 0, +"slice_215/loop_mode": 0, +"slice_215/name": "", +"slice_215/save_to_file/enabled": false, +"slice_215/save_to_file/keep_custom_tracks": false, +"slice_215/save_to_file/path": "", +"slice_215/start_frame": 0, +"slice_216/end_frame": 0, +"slice_216/loop_mode": 0, +"slice_216/name": "", +"slice_216/save_to_file/enabled": false, +"slice_216/save_to_file/keep_custom_tracks": false, +"slice_216/save_to_file/path": "", +"slice_216/start_frame": 0, +"slice_217/end_frame": 0, +"slice_217/loop_mode": 0, +"slice_217/name": "", +"slice_217/save_to_file/enabled": false, +"slice_217/save_to_file/keep_custom_tracks": false, +"slice_217/save_to_file/path": "", +"slice_217/start_frame": 0, +"slice_218/end_frame": 0, +"slice_218/loop_mode": 0, +"slice_218/name": "", +"slice_218/save_to_file/enabled": false, +"slice_218/save_to_file/keep_custom_tracks": false, +"slice_218/save_to_file/path": "", +"slice_218/start_frame": 0, +"slice_219/end_frame": 0, +"slice_219/loop_mode": 0, +"slice_219/name": "", +"slice_219/save_to_file/enabled": false, +"slice_219/save_to_file/keep_custom_tracks": false, +"slice_219/save_to_file/path": "", +"slice_219/start_frame": 0, +"slice_22/end_frame": 0, +"slice_22/loop_mode": 0, +"slice_22/name": "", +"slice_22/save_to_file/enabled": false, +"slice_22/save_to_file/keep_custom_tracks": false, +"slice_22/save_to_file/path": "", +"slice_22/start_frame": 0, +"slice_220/end_frame": 0, +"slice_220/loop_mode": 0, +"slice_220/name": "", +"slice_220/save_to_file/enabled": false, +"slice_220/save_to_file/keep_custom_tracks": false, +"slice_220/save_to_file/path": "", +"slice_220/start_frame": 0, +"slice_221/end_frame": 0, +"slice_221/loop_mode": 0, +"slice_221/name": "", +"slice_221/save_to_file/enabled": false, +"slice_221/save_to_file/keep_custom_tracks": false, +"slice_221/save_to_file/path": "", +"slice_221/start_frame": 0, +"slice_222/end_frame": 0, +"slice_222/loop_mode": 0, +"slice_222/name": "", +"slice_222/save_to_file/enabled": false, +"slice_222/save_to_file/keep_custom_tracks": false, +"slice_222/save_to_file/path": "", +"slice_222/start_frame": 0, +"slice_223/end_frame": 0, +"slice_223/loop_mode": 0, +"slice_223/name": "", +"slice_223/save_to_file/enabled": false, +"slice_223/save_to_file/keep_custom_tracks": false, +"slice_223/save_to_file/path": "", +"slice_223/start_frame": 0, +"slice_224/end_frame": 0, +"slice_224/loop_mode": 0, +"slice_224/name": "", +"slice_224/save_to_file/enabled": false, +"slice_224/save_to_file/keep_custom_tracks": false, +"slice_224/save_to_file/path": "", +"slice_224/start_frame": 0, +"slice_225/end_frame": 0, +"slice_225/loop_mode": 0, +"slice_225/name": "", +"slice_225/save_to_file/enabled": false, +"slice_225/save_to_file/keep_custom_tracks": false, +"slice_225/save_to_file/path": "", +"slice_225/start_frame": 0, +"slice_226/end_frame": 0, +"slice_226/loop_mode": 0, +"slice_226/name": "", +"slice_226/save_to_file/enabled": false, +"slice_226/save_to_file/keep_custom_tracks": false, +"slice_226/save_to_file/path": "", +"slice_226/start_frame": 0, +"slice_227/end_frame": 0, +"slice_227/loop_mode": 0, +"slice_227/name": "", +"slice_227/save_to_file/enabled": false, +"slice_227/save_to_file/keep_custom_tracks": false, +"slice_227/save_to_file/path": "", +"slice_227/start_frame": 0, +"slice_228/end_frame": 0, +"slice_228/loop_mode": 0, +"slice_228/name": "", +"slice_228/save_to_file/enabled": false, +"slice_228/save_to_file/keep_custom_tracks": false, +"slice_228/save_to_file/path": "", +"slice_228/start_frame": 0, +"slice_229/end_frame": 0, +"slice_229/loop_mode": 0, +"slice_229/name": "", +"slice_229/save_to_file/enabled": false, +"slice_229/save_to_file/keep_custom_tracks": false, +"slice_229/save_to_file/path": "", +"slice_229/start_frame": 0, +"slice_23/end_frame": 0, +"slice_23/loop_mode": 0, +"slice_23/name": "", +"slice_23/save_to_file/enabled": false, +"slice_23/save_to_file/keep_custom_tracks": false, +"slice_23/save_to_file/path": "", +"slice_23/start_frame": 0, +"slice_230/end_frame": 0, +"slice_230/loop_mode": 0, +"slice_230/name": "", +"slice_230/save_to_file/enabled": false, +"slice_230/save_to_file/keep_custom_tracks": false, +"slice_230/save_to_file/path": "", +"slice_230/start_frame": 0, +"slice_231/end_frame": 0, +"slice_231/loop_mode": 0, +"slice_231/name": "", +"slice_231/save_to_file/enabled": false, +"slice_231/save_to_file/keep_custom_tracks": false, +"slice_231/save_to_file/path": "", +"slice_231/start_frame": 0, +"slice_232/end_frame": 0, +"slice_232/loop_mode": 0, +"slice_232/name": "", +"slice_232/save_to_file/enabled": false, +"slice_232/save_to_file/keep_custom_tracks": false, +"slice_232/save_to_file/path": "", +"slice_232/start_frame": 0, +"slice_233/end_frame": 0, +"slice_233/loop_mode": 0, +"slice_233/name": "", +"slice_233/save_to_file/enabled": false, +"slice_233/save_to_file/keep_custom_tracks": false, +"slice_233/save_to_file/path": "", +"slice_233/start_frame": 0, +"slice_234/end_frame": 0, +"slice_234/loop_mode": 0, +"slice_234/name": "", +"slice_234/save_to_file/enabled": false, +"slice_234/save_to_file/keep_custom_tracks": false, +"slice_234/save_to_file/path": "", +"slice_234/start_frame": 0, +"slice_235/end_frame": 0, +"slice_235/loop_mode": 0, +"slice_235/name": "", +"slice_235/save_to_file/enabled": false, +"slice_235/save_to_file/keep_custom_tracks": false, +"slice_235/save_to_file/path": "", +"slice_235/start_frame": 0, +"slice_236/end_frame": 0, +"slice_236/loop_mode": 0, +"slice_236/name": "", +"slice_236/save_to_file/enabled": false, +"slice_236/save_to_file/keep_custom_tracks": false, +"slice_236/save_to_file/path": "", +"slice_236/start_frame": 0, +"slice_237/end_frame": 0, +"slice_237/loop_mode": 0, +"slice_237/name": "", +"slice_237/save_to_file/enabled": false, +"slice_237/save_to_file/keep_custom_tracks": false, +"slice_237/save_to_file/path": "", +"slice_237/start_frame": 0, +"slice_238/end_frame": 0, +"slice_238/loop_mode": 0, +"slice_238/name": "", +"slice_238/save_to_file/enabled": false, +"slice_238/save_to_file/keep_custom_tracks": false, +"slice_238/save_to_file/path": "", +"slice_238/start_frame": 0, +"slice_239/end_frame": 0, +"slice_239/loop_mode": 0, +"slice_239/name": "", +"slice_239/save_to_file/enabled": false, +"slice_239/save_to_file/keep_custom_tracks": false, +"slice_239/save_to_file/path": "", +"slice_239/start_frame": 0, +"slice_24/end_frame": 0, +"slice_24/loop_mode": 0, +"slice_24/name": "", +"slice_24/save_to_file/enabled": false, +"slice_24/save_to_file/keep_custom_tracks": false, +"slice_24/save_to_file/path": "", +"slice_24/start_frame": 0, +"slice_240/end_frame": 0, +"slice_240/loop_mode": 0, +"slice_240/name": "", +"slice_240/save_to_file/enabled": false, +"slice_240/save_to_file/keep_custom_tracks": false, +"slice_240/save_to_file/path": "", +"slice_240/start_frame": 0, +"slice_241/end_frame": 0, +"slice_241/loop_mode": 0, +"slice_241/name": "", +"slice_241/save_to_file/enabled": false, +"slice_241/save_to_file/keep_custom_tracks": false, +"slice_241/save_to_file/path": "", +"slice_241/start_frame": 0, +"slice_242/end_frame": 0, +"slice_242/loop_mode": 0, +"slice_242/name": "", +"slice_242/save_to_file/enabled": false, +"slice_242/save_to_file/keep_custom_tracks": false, +"slice_242/save_to_file/path": "", +"slice_242/start_frame": 0, +"slice_243/end_frame": 0, +"slice_243/loop_mode": 0, +"slice_243/name": "", +"slice_243/save_to_file/enabled": false, +"slice_243/save_to_file/keep_custom_tracks": false, +"slice_243/save_to_file/path": "", +"slice_243/start_frame": 0, +"slice_244/end_frame": 0, +"slice_244/loop_mode": 0, +"slice_244/name": "", +"slice_244/save_to_file/enabled": false, +"slice_244/save_to_file/keep_custom_tracks": false, +"slice_244/save_to_file/path": "", +"slice_244/start_frame": 0, +"slice_245/end_frame": 0, +"slice_245/loop_mode": 0, +"slice_245/name": "", +"slice_245/save_to_file/enabled": false, +"slice_245/save_to_file/keep_custom_tracks": false, +"slice_245/save_to_file/path": "", +"slice_245/start_frame": 0, +"slice_246/end_frame": 0, +"slice_246/loop_mode": 0, +"slice_246/name": "", +"slice_246/save_to_file/enabled": false, +"slice_246/save_to_file/keep_custom_tracks": false, +"slice_246/save_to_file/path": "", +"slice_246/start_frame": 0, +"slice_247/end_frame": 0, +"slice_247/loop_mode": 0, +"slice_247/name": "", +"slice_247/save_to_file/enabled": false, +"slice_247/save_to_file/keep_custom_tracks": false, +"slice_247/save_to_file/path": "", +"slice_247/start_frame": 0, +"slice_248/end_frame": 0, +"slice_248/loop_mode": 0, +"slice_248/name": "", +"slice_248/save_to_file/enabled": false, +"slice_248/save_to_file/keep_custom_tracks": false, +"slice_248/save_to_file/path": "", +"slice_248/start_frame": 0, +"slice_249/end_frame": 0, +"slice_249/loop_mode": 0, +"slice_249/name": "", +"slice_249/save_to_file/enabled": false, +"slice_249/save_to_file/keep_custom_tracks": false, +"slice_249/save_to_file/path": "", +"slice_249/start_frame": 0, +"slice_25/end_frame": 0, +"slice_25/loop_mode": 0, +"slice_25/name": "", +"slice_25/save_to_file/enabled": false, +"slice_25/save_to_file/keep_custom_tracks": false, +"slice_25/save_to_file/path": "", +"slice_25/start_frame": 0, +"slice_250/end_frame": 0, +"slice_250/loop_mode": 0, +"slice_250/name": "", +"slice_250/save_to_file/enabled": false, +"slice_250/save_to_file/keep_custom_tracks": false, +"slice_250/save_to_file/path": "", +"slice_250/start_frame": 0, +"slice_251/end_frame": 0, +"slice_251/loop_mode": 0, +"slice_251/name": "", +"slice_251/save_to_file/enabled": false, +"slice_251/save_to_file/keep_custom_tracks": false, +"slice_251/save_to_file/path": "", +"slice_251/start_frame": 0, +"slice_252/end_frame": 0, +"slice_252/loop_mode": 0, +"slice_252/name": "", +"slice_252/save_to_file/enabled": false, +"slice_252/save_to_file/keep_custom_tracks": false, +"slice_252/save_to_file/path": "", +"slice_252/start_frame": 0, +"slice_253/end_frame": 0, +"slice_253/loop_mode": 0, +"slice_253/name": "", +"slice_253/save_to_file/enabled": false, +"slice_253/save_to_file/keep_custom_tracks": false, +"slice_253/save_to_file/path": "", +"slice_253/start_frame": 0, +"slice_254/end_frame": 0, +"slice_254/loop_mode": 0, +"slice_254/name": "", +"slice_254/save_to_file/enabled": false, +"slice_254/save_to_file/keep_custom_tracks": false, +"slice_254/save_to_file/path": "", +"slice_254/start_frame": 0, +"slice_255/end_frame": 0, +"slice_255/loop_mode": 0, +"slice_255/name": "", +"slice_255/save_to_file/enabled": false, +"slice_255/save_to_file/keep_custom_tracks": false, +"slice_255/save_to_file/path": "", +"slice_255/start_frame": 0, +"slice_256/end_frame": 0, +"slice_256/loop_mode": 0, +"slice_256/name": "", +"slice_256/save_to_file/enabled": false, +"slice_256/save_to_file/keep_custom_tracks": false, +"slice_256/save_to_file/path": "", +"slice_256/start_frame": 0, +"slice_26/end_frame": 0, +"slice_26/loop_mode": 0, +"slice_26/name": "", +"slice_26/save_to_file/enabled": false, +"slice_26/save_to_file/keep_custom_tracks": false, +"slice_26/save_to_file/path": "", +"slice_26/start_frame": 0, +"slice_27/end_frame": 0, +"slice_27/loop_mode": 0, +"slice_27/name": "", +"slice_27/save_to_file/enabled": false, +"slice_27/save_to_file/keep_custom_tracks": false, +"slice_27/save_to_file/path": "", +"slice_27/start_frame": 0, +"slice_28/end_frame": 0, +"slice_28/loop_mode": 0, +"slice_28/name": "", +"slice_28/save_to_file/enabled": false, +"slice_28/save_to_file/keep_custom_tracks": false, +"slice_28/save_to_file/path": "", +"slice_28/start_frame": 0, +"slice_29/end_frame": 0, +"slice_29/loop_mode": 0, +"slice_29/name": "", +"slice_29/save_to_file/enabled": false, +"slice_29/save_to_file/keep_custom_tracks": false, +"slice_29/save_to_file/path": "", +"slice_29/start_frame": 0, +"slice_3/end_frame": 0, +"slice_3/loop_mode": 0, +"slice_3/name": "", +"slice_3/save_to_file/enabled": false, +"slice_3/save_to_file/keep_custom_tracks": false, +"slice_3/save_to_file/path": "", +"slice_3/start_frame": 0, +"slice_30/end_frame": 0, +"slice_30/loop_mode": 0, +"slice_30/name": "", +"slice_30/save_to_file/enabled": false, +"slice_30/save_to_file/keep_custom_tracks": false, +"slice_30/save_to_file/path": "", +"slice_30/start_frame": 0, +"slice_31/end_frame": 0, +"slice_31/loop_mode": 0, +"slice_31/name": "", +"slice_31/save_to_file/enabled": false, +"slice_31/save_to_file/keep_custom_tracks": false, +"slice_31/save_to_file/path": "", +"slice_31/start_frame": 0, +"slice_32/end_frame": 0, +"slice_32/loop_mode": 0, +"slice_32/name": "", +"slice_32/save_to_file/enabled": false, +"slice_32/save_to_file/keep_custom_tracks": false, +"slice_32/save_to_file/path": "", +"slice_32/start_frame": 0, +"slice_33/end_frame": 0, +"slice_33/loop_mode": 0, +"slice_33/name": "", +"slice_33/save_to_file/enabled": false, +"slice_33/save_to_file/keep_custom_tracks": false, +"slice_33/save_to_file/path": "", +"slice_33/start_frame": 0, +"slice_34/end_frame": 0, +"slice_34/loop_mode": 0, +"slice_34/name": "", +"slice_34/save_to_file/enabled": false, +"slice_34/save_to_file/keep_custom_tracks": false, +"slice_34/save_to_file/path": "", +"slice_34/start_frame": 0, +"slice_35/end_frame": 0, +"slice_35/loop_mode": 0, +"slice_35/name": "", +"slice_35/save_to_file/enabled": false, +"slice_35/save_to_file/keep_custom_tracks": false, +"slice_35/save_to_file/path": "", +"slice_35/start_frame": 0, +"slice_36/end_frame": 0, +"slice_36/loop_mode": 0, +"slice_36/name": "", +"slice_36/save_to_file/enabled": false, +"slice_36/save_to_file/keep_custom_tracks": false, +"slice_36/save_to_file/path": "", +"slice_36/start_frame": 0, +"slice_37/end_frame": 0, +"slice_37/loop_mode": 0, +"slice_37/name": "", +"slice_37/save_to_file/enabled": false, +"slice_37/save_to_file/keep_custom_tracks": false, +"slice_37/save_to_file/path": "", +"slice_37/start_frame": 0, +"slice_38/end_frame": 0, +"slice_38/loop_mode": 0, +"slice_38/name": "", +"slice_38/save_to_file/enabled": false, +"slice_38/save_to_file/keep_custom_tracks": false, +"slice_38/save_to_file/path": "", +"slice_38/start_frame": 0, +"slice_39/end_frame": 0, +"slice_39/loop_mode": 0, +"slice_39/name": "", +"slice_39/save_to_file/enabled": false, +"slice_39/save_to_file/keep_custom_tracks": false, +"slice_39/save_to_file/path": "", +"slice_39/start_frame": 0, +"slice_4/end_frame": 0, +"slice_4/loop_mode": 0, +"slice_4/name": "", +"slice_4/save_to_file/enabled": false, +"slice_4/save_to_file/keep_custom_tracks": false, +"slice_4/save_to_file/path": "", +"slice_4/start_frame": 0, +"slice_40/end_frame": 0, +"slice_40/loop_mode": 0, +"slice_40/name": "", +"slice_40/save_to_file/enabled": false, +"slice_40/save_to_file/keep_custom_tracks": false, +"slice_40/save_to_file/path": "", +"slice_40/start_frame": 0, +"slice_41/end_frame": 0, +"slice_41/loop_mode": 0, +"slice_41/name": "", +"slice_41/save_to_file/enabled": false, +"slice_41/save_to_file/keep_custom_tracks": false, +"slice_41/save_to_file/path": "", +"slice_41/start_frame": 0, +"slice_42/end_frame": 0, +"slice_42/loop_mode": 0, +"slice_42/name": "", +"slice_42/save_to_file/enabled": false, +"slice_42/save_to_file/keep_custom_tracks": false, +"slice_42/save_to_file/path": "", +"slice_42/start_frame": 0, +"slice_43/end_frame": 0, +"slice_43/loop_mode": 0, +"slice_43/name": "", +"slice_43/save_to_file/enabled": false, +"slice_43/save_to_file/keep_custom_tracks": false, +"slice_43/save_to_file/path": "", +"slice_43/start_frame": 0, +"slice_44/end_frame": 0, +"slice_44/loop_mode": 0, +"slice_44/name": "", +"slice_44/save_to_file/enabled": false, +"slice_44/save_to_file/keep_custom_tracks": false, +"slice_44/save_to_file/path": "", +"slice_44/start_frame": 0, +"slice_45/end_frame": 0, +"slice_45/loop_mode": 0, +"slice_45/name": "", +"slice_45/save_to_file/enabled": false, +"slice_45/save_to_file/keep_custom_tracks": false, +"slice_45/save_to_file/path": "", +"slice_45/start_frame": 0, +"slice_46/end_frame": 0, +"slice_46/loop_mode": 0, +"slice_46/name": "", +"slice_46/save_to_file/enabled": false, +"slice_46/save_to_file/keep_custom_tracks": false, +"slice_46/save_to_file/path": "", +"slice_46/start_frame": 0, +"slice_47/end_frame": 0, +"slice_47/loop_mode": 0, +"slice_47/name": "", +"slice_47/save_to_file/enabled": false, +"slice_47/save_to_file/keep_custom_tracks": false, +"slice_47/save_to_file/path": "", +"slice_47/start_frame": 0, +"slice_48/end_frame": 0, +"slice_48/loop_mode": 0, +"slice_48/name": "", +"slice_48/save_to_file/enabled": false, +"slice_48/save_to_file/keep_custom_tracks": false, +"slice_48/save_to_file/path": "", +"slice_48/start_frame": 0, +"slice_49/end_frame": 0, +"slice_49/loop_mode": 0, +"slice_49/name": "", +"slice_49/save_to_file/enabled": false, +"slice_49/save_to_file/keep_custom_tracks": false, +"slice_49/save_to_file/path": "", +"slice_49/start_frame": 0, +"slice_5/end_frame": 0, +"slice_5/loop_mode": 0, +"slice_5/name": "", +"slice_5/save_to_file/enabled": false, +"slice_5/save_to_file/keep_custom_tracks": false, +"slice_5/save_to_file/path": "", +"slice_5/start_frame": 0, +"slice_50/end_frame": 0, +"slice_50/loop_mode": 0, +"slice_50/name": "", +"slice_50/save_to_file/enabled": false, +"slice_50/save_to_file/keep_custom_tracks": false, +"slice_50/save_to_file/path": "", +"slice_50/start_frame": 0, +"slice_51/end_frame": 0, +"slice_51/loop_mode": 0, +"slice_51/name": "", +"slice_51/save_to_file/enabled": false, +"slice_51/save_to_file/keep_custom_tracks": false, +"slice_51/save_to_file/path": "", +"slice_51/start_frame": 0, +"slice_52/end_frame": 0, +"slice_52/loop_mode": 0, +"slice_52/name": "", +"slice_52/save_to_file/enabled": false, +"slice_52/save_to_file/keep_custom_tracks": false, +"slice_52/save_to_file/path": "", +"slice_52/start_frame": 0, +"slice_53/end_frame": 0, +"slice_53/loop_mode": 0, +"slice_53/name": "", +"slice_53/save_to_file/enabled": false, +"slice_53/save_to_file/keep_custom_tracks": false, +"slice_53/save_to_file/path": "", +"slice_53/start_frame": 0, +"slice_54/end_frame": 0, +"slice_54/loop_mode": 0, +"slice_54/name": "", +"slice_54/save_to_file/enabled": false, +"slice_54/save_to_file/keep_custom_tracks": false, +"slice_54/save_to_file/path": "", +"slice_54/start_frame": 0, +"slice_55/end_frame": 0, +"slice_55/loop_mode": 0, +"slice_55/name": "", +"slice_55/save_to_file/enabled": false, +"slice_55/save_to_file/keep_custom_tracks": false, +"slice_55/save_to_file/path": "", +"slice_55/start_frame": 0, +"slice_56/end_frame": 0, +"slice_56/loop_mode": 0, +"slice_56/name": "", +"slice_56/save_to_file/enabled": false, +"slice_56/save_to_file/keep_custom_tracks": false, +"slice_56/save_to_file/path": "", +"slice_56/start_frame": 0, +"slice_57/end_frame": 0, +"slice_57/loop_mode": 0, +"slice_57/name": "", +"slice_57/save_to_file/enabled": false, +"slice_57/save_to_file/keep_custom_tracks": false, +"slice_57/save_to_file/path": "", +"slice_57/start_frame": 0, +"slice_58/end_frame": 0, +"slice_58/loop_mode": 0, +"slice_58/name": "", +"slice_58/save_to_file/enabled": false, +"slice_58/save_to_file/keep_custom_tracks": false, +"slice_58/save_to_file/path": "", +"slice_58/start_frame": 0, +"slice_59/end_frame": 0, +"slice_59/loop_mode": 0, +"slice_59/name": "", +"slice_59/save_to_file/enabled": false, +"slice_59/save_to_file/keep_custom_tracks": false, +"slice_59/save_to_file/path": "", +"slice_59/start_frame": 0, +"slice_6/end_frame": 0, +"slice_6/loop_mode": 0, +"slice_6/name": "", +"slice_6/save_to_file/enabled": false, +"slice_6/save_to_file/keep_custom_tracks": false, +"slice_6/save_to_file/path": "", +"slice_6/start_frame": 0, +"slice_60/end_frame": 0, +"slice_60/loop_mode": 0, +"slice_60/name": "", +"slice_60/save_to_file/enabled": false, +"slice_60/save_to_file/keep_custom_tracks": false, +"slice_60/save_to_file/path": "", +"slice_60/start_frame": 0, +"slice_61/end_frame": 0, +"slice_61/loop_mode": 0, +"slice_61/name": "", +"slice_61/save_to_file/enabled": false, +"slice_61/save_to_file/keep_custom_tracks": false, +"slice_61/save_to_file/path": "", +"slice_61/start_frame": 0, +"slice_62/end_frame": 0, +"slice_62/loop_mode": 0, +"slice_62/name": "", +"slice_62/save_to_file/enabled": false, +"slice_62/save_to_file/keep_custom_tracks": false, +"slice_62/save_to_file/path": "", +"slice_62/start_frame": 0, +"slice_63/end_frame": 0, +"slice_63/loop_mode": 0, +"slice_63/name": "", +"slice_63/save_to_file/enabled": false, +"slice_63/save_to_file/keep_custom_tracks": false, +"slice_63/save_to_file/path": "", +"slice_63/start_frame": 0, +"slice_64/end_frame": 0, +"slice_64/loop_mode": 0, +"slice_64/name": "", +"slice_64/save_to_file/enabled": false, +"slice_64/save_to_file/keep_custom_tracks": false, +"slice_64/save_to_file/path": "", +"slice_64/start_frame": 0, +"slice_65/end_frame": 0, +"slice_65/loop_mode": 0, +"slice_65/name": "", +"slice_65/save_to_file/enabled": false, +"slice_65/save_to_file/keep_custom_tracks": false, +"slice_65/save_to_file/path": "", +"slice_65/start_frame": 0, +"slice_66/end_frame": 0, +"slice_66/loop_mode": 0, +"slice_66/name": "", +"slice_66/save_to_file/enabled": false, +"slice_66/save_to_file/keep_custom_tracks": false, +"slice_66/save_to_file/path": "", +"slice_66/start_frame": 0, +"slice_67/end_frame": 0, +"slice_67/loop_mode": 0, +"slice_67/name": "", +"slice_67/save_to_file/enabled": false, +"slice_67/save_to_file/keep_custom_tracks": false, +"slice_67/save_to_file/path": "", +"slice_67/start_frame": 0, +"slice_68/end_frame": 0, +"slice_68/loop_mode": 0, +"slice_68/name": "", +"slice_68/save_to_file/enabled": false, +"slice_68/save_to_file/keep_custom_tracks": false, +"slice_68/save_to_file/path": "", +"slice_68/start_frame": 0, +"slice_69/end_frame": 0, +"slice_69/loop_mode": 0, +"slice_69/name": "", +"slice_69/save_to_file/enabled": false, +"slice_69/save_to_file/keep_custom_tracks": false, +"slice_69/save_to_file/path": "", +"slice_69/start_frame": 0, +"slice_7/end_frame": 0, +"slice_7/loop_mode": 0, +"slice_7/name": "", +"slice_7/save_to_file/enabled": false, +"slice_7/save_to_file/keep_custom_tracks": false, +"slice_7/save_to_file/path": "", +"slice_7/start_frame": 0, +"slice_70/end_frame": 0, +"slice_70/loop_mode": 0, +"slice_70/name": "", +"slice_70/save_to_file/enabled": false, +"slice_70/save_to_file/keep_custom_tracks": false, +"slice_70/save_to_file/path": "", +"slice_70/start_frame": 0, +"slice_71/end_frame": 0, +"slice_71/loop_mode": 0, +"slice_71/name": "", +"slice_71/save_to_file/enabled": false, +"slice_71/save_to_file/keep_custom_tracks": false, +"slice_71/save_to_file/path": "", +"slice_71/start_frame": 0, +"slice_72/end_frame": 0, +"slice_72/loop_mode": 0, +"slice_72/name": "", +"slice_72/save_to_file/enabled": false, +"slice_72/save_to_file/keep_custom_tracks": false, +"slice_72/save_to_file/path": "", +"slice_72/start_frame": 0, +"slice_73/end_frame": 0, +"slice_73/loop_mode": 0, +"slice_73/name": "", +"slice_73/save_to_file/enabled": false, +"slice_73/save_to_file/keep_custom_tracks": false, +"slice_73/save_to_file/path": "", +"slice_73/start_frame": 0, +"slice_74/end_frame": 0, +"slice_74/loop_mode": 0, +"slice_74/name": "", +"slice_74/save_to_file/enabled": false, +"slice_74/save_to_file/keep_custom_tracks": false, +"slice_74/save_to_file/path": "", +"slice_74/start_frame": 0, +"slice_75/end_frame": 0, +"slice_75/loop_mode": 0, +"slice_75/name": "", +"slice_75/save_to_file/enabled": false, +"slice_75/save_to_file/keep_custom_tracks": false, +"slice_75/save_to_file/path": "", +"slice_75/start_frame": 0, +"slice_76/end_frame": 0, +"slice_76/loop_mode": 0, +"slice_76/name": "", +"slice_76/save_to_file/enabled": false, +"slice_76/save_to_file/keep_custom_tracks": false, +"slice_76/save_to_file/path": "", +"slice_76/start_frame": 0, +"slice_77/end_frame": 0, +"slice_77/loop_mode": 0, +"slice_77/name": "", +"slice_77/save_to_file/enabled": false, +"slice_77/save_to_file/keep_custom_tracks": false, +"slice_77/save_to_file/path": "", +"slice_77/start_frame": 0, +"slice_78/end_frame": 0, +"slice_78/loop_mode": 0, +"slice_78/name": "", +"slice_78/save_to_file/enabled": false, +"slice_78/save_to_file/keep_custom_tracks": false, +"slice_78/save_to_file/path": "", +"slice_78/start_frame": 0, +"slice_79/end_frame": 0, +"slice_79/loop_mode": 0, +"slice_79/name": "", +"slice_79/save_to_file/enabled": false, +"slice_79/save_to_file/keep_custom_tracks": false, +"slice_79/save_to_file/path": "", +"slice_79/start_frame": 0, +"slice_8/end_frame": 0, +"slice_8/loop_mode": 0, +"slice_8/name": "", +"slice_8/save_to_file/enabled": false, +"slice_8/save_to_file/keep_custom_tracks": false, +"slice_8/save_to_file/path": "", +"slice_8/start_frame": 0, +"slice_80/end_frame": 0, +"slice_80/loop_mode": 0, +"slice_80/name": "", +"slice_80/save_to_file/enabled": false, +"slice_80/save_to_file/keep_custom_tracks": false, +"slice_80/save_to_file/path": "", +"slice_80/start_frame": 0, +"slice_81/end_frame": 0, +"slice_81/loop_mode": 0, +"slice_81/name": "", +"slice_81/save_to_file/enabled": false, +"slice_81/save_to_file/keep_custom_tracks": false, +"slice_81/save_to_file/path": "", +"slice_81/start_frame": 0, +"slice_82/end_frame": 0, +"slice_82/loop_mode": 0, +"slice_82/name": "", +"slice_82/save_to_file/enabled": false, +"slice_82/save_to_file/keep_custom_tracks": false, +"slice_82/save_to_file/path": "", +"slice_82/start_frame": 0, +"slice_83/end_frame": 0, +"slice_83/loop_mode": 0, +"slice_83/name": "", +"slice_83/save_to_file/enabled": false, +"slice_83/save_to_file/keep_custom_tracks": false, +"slice_83/save_to_file/path": "", +"slice_83/start_frame": 0, +"slice_84/end_frame": 0, +"slice_84/loop_mode": 0, +"slice_84/name": "", +"slice_84/save_to_file/enabled": false, +"slice_84/save_to_file/keep_custom_tracks": false, +"slice_84/save_to_file/path": "", +"slice_84/start_frame": 0, +"slice_85/end_frame": 0, +"slice_85/loop_mode": 0, +"slice_85/name": "", +"slice_85/save_to_file/enabled": false, +"slice_85/save_to_file/keep_custom_tracks": false, +"slice_85/save_to_file/path": "", +"slice_85/start_frame": 0, +"slice_86/end_frame": 0, +"slice_86/loop_mode": 0, +"slice_86/name": "", +"slice_86/save_to_file/enabled": false, +"slice_86/save_to_file/keep_custom_tracks": false, +"slice_86/save_to_file/path": "", +"slice_86/start_frame": 0, +"slice_87/end_frame": 0, +"slice_87/loop_mode": 0, +"slice_87/name": "", +"slice_87/save_to_file/enabled": false, +"slice_87/save_to_file/keep_custom_tracks": false, +"slice_87/save_to_file/path": "", +"slice_87/start_frame": 0, +"slice_88/end_frame": 0, +"slice_88/loop_mode": 0, +"slice_88/name": "", +"slice_88/save_to_file/enabled": false, +"slice_88/save_to_file/keep_custom_tracks": false, +"slice_88/save_to_file/path": "", +"slice_88/start_frame": 0, +"slice_89/end_frame": 0, +"slice_89/loop_mode": 0, +"slice_89/name": "", +"slice_89/save_to_file/enabled": false, +"slice_89/save_to_file/keep_custom_tracks": false, +"slice_89/save_to_file/path": "", +"slice_89/start_frame": 0, +"slice_9/end_frame": 0, +"slice_9/loop_mode": 0, +"slice_9/name": "", +"slice_9/save_to_file/enabled": false, +"slice_9/save_to_file/keep_custom_tracks": false, +"slice_9/save_to_file/path": "", +"slice_9/start_frame": 0, +"slice_90/end_frame": 0, +"slice_90/loop_mode": 0, +"slice_90/name": "", +"slice_90/save_to_file/enabled": false, +"slice_90/save_to_file/keep_custom_tracks": false, +"slice_90/save_to_file/path": "", +"slice_90/start_frame": 0, +"slice_91/end_frame": 0, +"slice_91/loop_mode": 0, +"slice_91/name": "", +"slice_91/save_to_file/enabled": false, +"slice_91/save_to_file/keep_custom_tracks": false, +"slice_91/save_to_file/path": "", +"slice_91/start_frame": 0, +"slice_92/end_frame": 0, +"slice_92/loop_mode": 0, +"slice_92/name": "", +"slice_92/save_to_file/enabled": false, +"slice_92/save_to_file/keep_custom_tracks": false, +"slice_92/save_to_file/path": "", +"slice_92/start_frame": 0, +"slice_93/end_frame": 0, +"slice_93/loop_mode": 0, +"slice_93/name": "", +"slice_93/save_to_file/enabled": false, +"slice_93/save_to_file/keep_custom_tracks": false, +"slice_93/save_to_file/path": "", +"slice_93/start_frame": 0, +"slice_94/end_frame": 0, +"slice_94/loop_mode": 0, +"slice_94/name": "", +"slice_94/save_to_file/enabled": false, +"slice_94/save_to_file/keep_custom_tracks": false, +"slice_94/save_to_file/path": "", +"slice_94/start_frame": 0, +"slice_95/end_frame": 0, +"slice_95/loop_mode": 0, +"slice_95/name": "", +"slice_95/save_to_file/enabled": false, +"slice_95/save_to_file/keep_custom_tracks": false, +"slice_95/save_to_file/path": "", +"slice_95/start_frame": 0, +"slice_96/end_frame": 0, +"slice_96/loop_mode": 0, +"slice_96/name": "", +"slice_96/save_to_file/enabled": false, +"slice_96/save_to_file/keep_custom_tracks": false, +"slice_96/save_to_file/path": "", +"slice_96/start_frame": 0, +"slice_97/end_frame": 0, +"slice_97/loop_mode": 0, +"slice_97/name": "", +"slice_97/save_to_file/enabled": false, +"slice_97/save_to_file/keep_custom_tracks": false, +"slice_97/save_to_file/path": "", +"slice_97/start_frame": 0, +"slice_98/end_frame": 0, +"slice_98/loop_mode": 0, +"slice_98/name": "", +"slice_98/save_to_file/enabled": false, +"slice_98/save_to_file/keep_custom_tracks": false, +"slice_98/save_to_file/path": "", +"slice_98/start_frame": 0, +"slice_99/end_frame": 0, +"slice_99/loop_mode": 0, +"slice_99/name": "", +"slice_99/save_to_file/enabled": false, +"slice_99/save_to_file/keep_custom_tracks": false, +"slice_99/save_to_file/path": "", +"slice_99/start_frame": 0, +"slices/amount": 0 +} +}, +"materials": { +"Material": { +"use_external/enabled": true, +"use_external/path": "uid://dylmoyx1tasat" +} +} +} +gltf/naming_version=1 +gltf/embedded_image_handling=1 diff --git a/crystal_enemy.png b/crystal_enemy.png new file mode 100644 index 0000000..3416ea3 Binary files /dev/null and b/crystal_enemy.png differ diff --git a/crystal_enemy.png.import b/crystal_enemy.png.import new file mode 100644 index 0000000..b8d3c20 --- /dev/null +++ b/crystal_enemy.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d01y8kogfuayr" +path="res://.godot/imported/crystal_enemy.png-1a076fb76b0382c8c7482178fe2aaa81.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://crystal_enemy.png" +dest_files=["res://.godot/imported/crystal_enemy.png-1a076fb76b0382c8c7482178fe2aaa81.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/crystal_enemy.tscn b/crystal_enemy.tscn new file mode 100644 index 0000000..f59029a --- /dev/null +++ b/crystal_enemy.tscn @@ -0,0 +1,58 @@ +[gd_scene load_steps=7 format=3 uid="uid://cveiaa0y66gln"] + +[ext_resource type="PackedScene" uid="uid://bjo2q6vca5qlv" path="res://Worlds/GreenPlanet/Enemies/air_enemy.tscn" id="1_aormu"] +[ext_resource type="PackedScene" uid="uid://o6whohcbalui" path="res://crystal_enemy.glb" id="2_myjng"] +[ext_resource type="Script" uid="uid://cummt2be3r1gq" path="res://Scripts/hitbox.gd" id="3_myjng"] + +[sub_resource type="ViewportTexture" id="ViewportTexture_c5uwa"] +viewport_path = NodePath("SubViewport") + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_c5uwa"] +radius = 0.332871 +height = 1.415 + +[sub_resource type="CapsuleShape3D" id="CapsuleShape3D_d7aub"] +radius = 0.133503 +height = 0.56 + +[node name="Dog" instance=ExtResource("1_aormu")] + +[node name="Sprite3D" parent="." index="1"] +texture = SubResource("ViewportTexture_c5uwa") + +[node name="crystal_enemy" parent="." index="7" instance=ExtResource("2_myjng")] + +[node name="RemoteTransform3D" type="RemoteTransform3D" parent="crystal_enemy/Cube_001" index="0"] +remote_path = NodePath("../../../MiniHitbox2") + +[node name="RemoteTransform3D" type="RemoteTransform3D" parent="crystal_enemy/Cube_002" index="0"] +remote_path = NodePath("../../../MiniHitbox") + +[node name="AnimationPlayer" parent="crystal_enemy" index="3"] +autoplay = "Spin" +speed_scale = 2.0 + +[node name="MainHitbox" type="CollisionShape3D" parent="." index="8"] +shape = SubResource("CapsuleShape3D_c5uwa") +script = ExtResource("3_myjng") +metadata/_custom_type_script = "uid://cummt2be3r1gq" + +[node name="MiniHitbox" type="CollisionShape3D" parent="." index="9"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.601335, 0.59523, 0) +shape = SubResource("CapsuleShape3D_d7aub") +script = ExtResource("3_myjng") +critical_zone = true +metadata/_custom_type_script = "uid://cummt2be3r1gq" + +[node name="MiniHitbox2" type="CollisionShape3D" parent="." index="10"] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.599804, -0.600394, 0) +shape = SubResource("CapsuleShape3D_d7aub") +script = ExtResource("3_myjng") +critical_zone = true +metadata/_custom_type_script = "uid://cummt2be3r1gq" + +[connection signal="took_damage" from="MainHitbox" to="Health" method="take_damage"] +[connection signal="took_damage" from="MiniHitbox" to="Health" method="take_damage"] +[connection signal="took_damage" from="MiniHitbox2" to="Health" method="take_damage"] + +[editable path="crystal_enemy"] diff --git a/crystal_enemy_mat.tres b/crystal_enemy_mat.tres new file mode 100644 index 0000000..f26eae1 --- /dev/null +++ b/crystal_enemy_mat.tres @@ -0,0 +1,13 @@ +[gd_resource type="ShaderMaterial" load_steps=3 format=3 uid="uid://dylmoyx1tasat"] + +[ext_resource type="Shader" uid="uid://c5bffujq0l70k" path="res://jitter.gdshader" id="1_4cwdh"] +[ext_resource type="Texture2D" uid="uid://d01y8kogfuayr" path="res://crystal_enemy.png" id="2_l5awy"] + +[resource] +render_priority = 0 +shader = ExtResource("1_4cwdh") +shader_parameter/affine_mapping = true +shader_parameter/albedo = ExtResource("2_l5awy") +shader_parameter/alpha_scissor = 0.5 +shader_parameter/jitter = 0.25 +shader_parameter/resolution = Vector2i(320, 240) diff --git a/eye_dog.tscn b/eye_dog.tscn index 68bc1aa..53147db 100644 --- a/eye_dog.tscn +++ b/eye_dog.tscn @@ -1,92 +1,21 @@ -[gd_scene load_steps=17 format=4 uid="uid://bvq6tbkuv2mfp"] +[gd_scene load_steps=14 format=3 uid="uid://bvq6tbkuv2mfp"] [ext_resource type="Script" uid="uid://ejqql2660u6h" path="res://Worlds/GreenPlanet/Enemies/enemy_controller.gd" id="1_1dh2f"] [ext_resource type="PackedScene" uid="uid://canrxnpxcugc2" path="res://Scenes/corpse.tscn" id="2_1dh2f"] [ext_resource type="Script" uid="uid://bamhci3kawuyt" path="res://Scripts/health.gd" id="2_bckix"] -[ext_resource type="Material" uid="uid://bquvikft4xp1v" path="res://eye_dog_mat.tres" id="2_h25mw"] [ext_resource type="PackedScene" uid="uid://cqtew0t8sttpm" path="res://Scenes/damage_particle.tscn" id="3_wnwjl"] [ext_resource type="Script" uid="uid://cummt2be3r1gq" path="res://Scripts/hitbox.gd" id="6_3v8fr"] [ext_resource type="Texture2D" uid="uid://b1fn60m6xfcsq" path="res://Assets/Textures/minimap_enemy.png" id="7_bkkhh"] [ext_resource type="PackedScene" uid="uid://hjq3nrnumklp" path="res://Scenes/health_bar.tscn" id="8_k2835"] [ext_resource type="Script" uid="uid://b62xnsbki8axa" path="res://Scripts/EnemyAI/pathing_controller.gd" id="9_t4oco"] +[ext_resource type="PackedScene" uid="uid://dlhx6r23m5ceg" path="res://eyedog.glb" id="10_h25mw"] [ext_resource type="Script" uid="uid://cojjgevmbhwal" path="res://Scripts/status_effector.gd" id="11_kpdsm"] -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_t16cj"] -resource_name = "Material" -cull_mode = 2 - -[sub_resource type="ArrayMesh" id="ArrayMesh_1dh2f"] -resource_name = "eyedog_Cube" -_surfaces = [{ -"aabb": AABB(-3.41696, -4.69348, -5.98271, 6.83392, 9.43436, 13.2972), -"attribute_data": PackedByteArray("WDHcPiSVHz5Oyvg+KMFTPqz3xT6qac8++rX1Pvgryz2YyfM+qEnXPaz3xT6qac8+b5G1Ph7qij5l/QY9XPIaPxjEpj7YyD8+OrkDP/xJSj9vkbU+HuqKPnaWBT8MPAM++rX1Pvgryz2YyfM+qEnXPQUDmT6wFX0+xo/0PeCzpj4tQ6I+phyUPvzLkz4QSic/KNoIPgScBD+v/gs/fJzcPijaCD4EnAQ/AdUVPUyk4D4W34A+ij7gPi1Doj6mHJQ+Tsr4PijBUz67+hU/0AUFPseexT7s1oM+7cy3PgYPoz57ObQ+dJWPPgmGtj5o/Yw+SK+yPngojz6FbQA/OI60PVgx3D4klR8+dpYFPww8Az6wq/M++EXJPbCr8z74Rck9/rj0PsgNzz2KQ/M+ANTbPSwx9D6o0NE9nBb0Pqij1j2slOs+bMcTPv649D7IDc89LDH0PqjQ0T2KQ/M+ANTbPZwW9D6oo9Y9x57FPuzWgz7tzLc+Bg+jPgmGtj5o/Yw+ezm0PnSVjz5Ir7I+eCiPPnithz46xjE/Rfz/PjANWT+a9A8+7a5QP2kjHz08hSk/sdQSPwBmeD7mb+g+FGKEPnfREj98SiA+Pa8VP0YzlT7mb+g+FGKEPvzE9T7gst49NJwKP/CP8T0rqxQ/ABmnPeDSCT/gyo89NJwKP/CP8T3KhfM+QG3bPSD07z5Ybac9/MT1PuCy3j0AyfY+CDi3Pe4zyT4IgfY9rJTrPmzHEz7KhfM+QG3bPQDJ9j4IOLc9pd6/PlSOXT7ya/Q+oCDXPYqE9D4oCtI9+h31PkBszj0WKvQ+iOvVPbQitz4E/oU+SvWxPmQMAz8ZqhU/1WgQP0r1sT5kDAM//MuTPhBKJz/zKMM8KrcPPyjKwTzaAAg/UnQaPsq95j7fOpw+uIa7PlJ0Gj7KveY+wIQOPfiw7T6DdEg+CBHZPoRK6j3WSNE+m40cPYggtT6ESuo91kjRPpxtdT7GnZ0+g3RIPggR2T4W34A+ij7gPt86nD64hrs+eMiVPjLYjz6yGYs+StaIPnjIlT4y2I8+GjmuPsw3kT4RD7o+Cl6LPo+6sz4CuJI+dcy1PkJcjT68YLM+fNOOPpwYtD7WI48+fxy1Po5rjD6l3r8+VI5dPo+6sz4CuJI+EQ+6Pgpeiz60Irc+BP6FPho5rj7MN5E+vGCzPnzTjj51zLU+QlyNPn8ctT6Oa4w+nBi0PtYjjz7ya/Q+oCDXPRYq9D6I69U9+h31PkBszj2KhPQ+KArSPQZFUj4eJX0/P8EIPXxxVT+a9A8+7a5QP3ithz46xjE/ZAuYPhucYT8H6cw+sEN0P2QLmD4bnGE/"), -"bone_aabbs": [AABB(-2.28318, -0.738707, 3.26614, 4.56636, 3.36441, 3.98988), AABB(0, 0, 0, -1, -1, -1), AABB(-2.28318, -1.73489, 0.363099, 4.56636, 5.14132, 4.84409), AABB(-3.22906, -4.63345, -2.12683, 6.45813, 6.16832, 7.06441), AABB(-3.40993, -4.68297, 0.722066, 6.81985, 4.5502, 4.95126), AABB(-2.28318, -1.04081, 0.150798, 4.56636, 5.78168, 7.16369), AABB(-2.35386, -1.78388, -5.89924, 4.70773, 5.19031, 8.70491), AABB(-3.41142, -4.66082, -5.98271, 6.82284, 7.24109, 6.93371), AABB(-3.41696, -4.69348, -5.98271, 6.83392, 3.6559, 3.64776)], -"format": 34359745559, -"index_count": 720, -"index_data": PackedByteArray("NgA3AAEAOAA2AAEANgA5ADcAOAABACEAOAAYADYANgA6ADkANgAYADoAOAALABgAIQAZADgACwA4ABkAKAAhAAEAIAABADcAAQAgACgAKAA7ACEAIQA8ABkAPQAZADwAPAA+AD0APQA/ABkAPwA9AD4ACwAZAD8AHwA+ADwAHwA/AD4AHwA8ACEAHwALAD8AOwAiACEAIgAfACEAKQA7ACgAIgA7ACkAKQAoAEAAIABAACgAKgApAEAAIwALAB8AIwAfAEEAIgBBAB8AQgALACMAIgApAEMAQwApACoAIAAiAEMARABBACIARAAiACAARAAjAEEARQALAEIARQAYAAsAIwAkAEIAJABFAEIAGABFAAAARAAAACMAJABGAEUAAABFAEYAIwBHACQAAABHACMARwAmACQAJgBGACQAAAA6ABgARwADACYAAABEAAgAIAAIAEQAAAAlAEcAJQADAEcAAABGACUAAABIADoAAAAIAEgAJQBGAA0AJgANAEYAJQBJAAMAJQANAEkAAwBKACYASgANACYAAwBLAEoASQBLAAMASgAnAA0ASQANACcASwAnAEoASQAnAEwASwBMACcASQBMAEsAOgBIABoAGgAFADoAOQA6AAUATQAaAEgAOQAFABMAOQATAAIAOQACADcAEwAFAE4AEwBOAE8AEwBPAFAAEwBQAAIACQBPAE4ACQBQAE8ACQBOAFEACQARAFAATgAUAFEAUAARABIATgAWABQABQAWAE4AFABSAFEAEgARAFIABwBRAFIABwBSABEAEgBSAFMAFABTAFIAFgBUABQAVABTABQABQBVABYAVgASAFMAVABXAFMAVgBTAFcAFgBYAFQAVQBYABYAFQBXAFQAFQBWAFcAWABZAFQAFQBUAFkAFQBZAFoAWAAPAFkAWQAPAFoAFQBaAFsAFQBbAFYAWwBaAA8AWABcAA8AVQBcAFgAXQBbAA8AXQBWAFsAXQAPAFwAXgBWAF0AXgASAFYAUAASAF4AAgBQAF4AXwBeAF0AAgBeAF8AXwBdAFwAEAACAF8AYABfAFwAEABfAGAAYABcAGEAYgBhAFwAYgBcAFUAYABhAA4AYgAOAGEAYAAOABAAFwBiAFUAYgAXAA4AFwBVAAUACAAQAA4ACAAOABcACAAXAEgABQAbABcAGgAbAAUASAAXAGMAZAAbABoAFwAbAGUAZABlABsAFwBlAGMATQBkABoASABjAE0AHQBlAGQAYwBlABwAHQAcAGUATQBjAB4AYwAcAB4ABgBkAE0ABgAdAGQATQAeAAYAZgAcAB0ABgAeAGcAHgAcAGgAZgBoABwAHgBoAGcAaQBmAB0AaQAdAAYAaQBoAGYABgBnAGkAaQBnAGgAIABqAAgACABqABAAIAA3AGoANwAtAGoALQA3AAIAAgAQAC4ALQACAC4AEABrAC4AbAAtAC4AbAAuAGsAbQBqAC0AbQAtAGwAagBuABAAagBtAG4AEABuAGsACgBtAGwAbQAxAG4AbQAKADEAbgAwAGsAbgAxADAALwBsAGsACgBsAC8ALwBrADAACgBvADEAcAAvADAAcQAKAC8AcQAvAHAACgBxAG8AcAAwAHIAMQByADAAcQBwAHIAMQBvAHIAcQByAG8AcwAsAAQAcwB0ACwAdQAsAHQAcwB1AHQAdQB2ACwAdgAEACwAcwAMAHUADAB2AHUAdgAqAAQADAAqAHYAKgBAAAQAQwAqAAwAKwAEAEAAKwBzAAQAKwAMAHMAKwBDAAwAIAArAEAAIABDACsANAB3AHgANQA0AHgAMgA0ADUANQB4AHkAeQB4AHcAegA1AHkAMgB7ADQANAB7AHcAMwB7ADIAewB8AHcAMwB8AHsAeQB3AH0AegB5AH0AfQB3AHwAMwB6AH0AMwB9AHwA"), -"lods": [1.65628, PackedByteArray("EAACAAcAAgAJAAcABQAHAAkACQACABMACQATAAUAFwAHAAUAFwAQAAcAEwALAAUAEwACAAEACwATAAEALQABAAIAAgAQAC0ABQAaABcAGgAFAAsAFwAaABwAFwAcAAYABgAcABoAGgAXAAYACAAXABoAFwAIABAACAAtABAAAAAIABoAAAAtAAgAAAAaAAsALQAKABAAEAAKADAACgAtADAAEAAwAC0AAAABAC0AAQAfAAsAAAAEAAEAKQABAAQADAApAAQAAAAMAAQAKQAiAAEAIgApAAwAIgAfAAEAAAAiAAwAAAAfACIAIwALAB8AAAAjAB8AJAALACMAAAALACQAIwADACQAAAADACMAAwANACQAJAANAAAAAAANAAMA"), 1.99253, PackedByteArray("DgACAA8AEAACAA4AAgARAA8AEQASAA8ABwASABEABwAJABIACQARABMAEwARAAIAFAASAAkAFAAVABIAFQAPABIAFQAUABYAFgAPABUABQAWABQABQAUAAkABQAPABYACQATAAUAFwAPAAUAFwAOAA8AEwAYAAUAEwACAAEAGQAYABMAGQATAAEAGQALABgAGgAFABgADgAXABoABQAbABcAGgAbAAUAFwAbABwAHQAcABsAHQAbABoAFwAcAB4ABgAcAB0ABgAeABwABgAXAB4ABgAdABoAGgAXAAYAAAAaABgAAAAOABoAAAAYAAsACwAZAB8AAAAgAA4AIQAfABkAGQABACEAIgAfACEAIAAfACIAIwALAB8AIAAjAB8AIAAAACMAAAALACQAJAALACMAAAAlACMAJAANAAAAAAANACUAIwAmACQAJgANACQAJQADACMAIwADACYAJQANAAMAJgAnAA0AAwANACcAAwAnACYAKAAhAAEAAQAgACgAKAApACEAKQAiACEAKQAoAAQAIAAEACgAIgApACoAKgApAAQAIAAiACsAIAArAAQAKwAiAAwAIgAqAAwAKwAMAAQADAAqACwAKgAEACwADAAsAAQAIAABAC0AIAAtAA4ALQABAAIADgAtABAALQACAC4AAgAQAC4ALwAtAC4ALQAKABAACgAtAC8ALwAuADAAEAAwAC4ACgAvADAAEAAxADAACgAwADEACgAxABAAMgAzADQANQA0ADMAMgA0ADUA"), 2.15688, PackedByteArray("CAACAAcAAgAJAAcABQAHAAkACAAHAAUACQACAAUACAAFAAYABQAIAAYAAgAKAAgACAAKAAIAAAAIAAUAAAACAAgAAgALAAUAAAAFAAsAAAABAAIACwACAAEAAAAEAAEABAAMAAEADAALAAEAAAAMAAQAAAALAAwAAAADAAsADQALAAMAAAALAA0AAAANAAMA"), 2.76915, PackedByteArray("AAABAAIAAAABAAMAAAADAAEAAAAEAAEAAAABAAQAAAAFAAEAAgABAAUAAAACAAUABgACAAUAAgAGAAUABQACAAcABwACAAUA")], -"material": SubResource("StandardMaterial3D_t16cj"), -"name": "Material", -"primitive": 3, -"skin_data": PackedByteArray("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"), -"uv_scale": Vector4(0, 0, 0, 0), -"vertex_count": 126, -"vertex_data": PackedByteArray("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") -}] -blend_shape_mode = 0 - -[sub_resource type="Skin" id="Skin_bckix"] -resource_name = "Skin" -bind_count = 9 -bind/0/name = &"Bone.005" -bind/0/bone = -1 -bind/0/pose = Transform3D(-0.640916, -0.646869, -0.413264, -0.392779, -0.186192, 0.900587, -0.659508, 0.739522, -0.134744, 2.02247, -4.61441, 0.217656) -bind/1/name = &"Bone.006" -bind/1/bone = -1 -bind/1/pose = Transform3D(-0.634558, -0.635373, -0.440043, -0.374525, -0.245251, 0.894194, -0.676067, 0.732225, -0.0823369, 2.18085, -5.42181, -0.0971631) -bind/2/name = &"Bone.004" -bind/2/bone = -1 -bind/2/pose = Transform3D(1, 2.32525e-07, -5.26812e-08, -6.03962e-14, 0.220961, 0.975283, 2.38419e-07, -0.975284, 0.220961, -1.84507e-07, -1.50289, 0.773879) -bind/3/name = &"Bone" -bind/3/bone = -1 -bind/3/pose = Transform3D(0.959145, -0.257365, 0.117493, -0.282714, -0.856223, 0.432386, -0.0106809, -0.447938, -0.894001, 1.02412, -1.16217, 1.63304) -bind/4/name = &"Bone.003" -bind/4/bone = -1 -bind/4/pose = Transform3D(0.977532, -0.196746, 0.0756499, -0.210725, -0.920949, 0.327795, 0.0051773, -0.336371, -0.941715, 1.3022, -3.20924, 2.02577) -bind/5/name = &"Bone.007" -bind/5/bone = -1 -bind/5/pose = Transform3D(1, 2.08089e-07, -1.16372e-07, -1.98952e-13, 0.4881, 0.872788, 2.38419e-07, -0.872789, 0.4881, 1.34921e-08, -2.92444, -0.05659) -bind/6/name = &"Bone.008" -bind/6/bone = -1 -bind/6/pose = Transform3D(1, 0, 0, 0, -0.00700919, -0.999975, 0, 0.999975, -0.00700919, 0, 1.30233, -1.07773) -bind/7/name = &"Bone.001" -bind/7/bone = -1 -bind/7/pose = Transform3D(0.898798, -0.347512, -0.267202, -0.438357, -0.715641, -0.543784, -0.00224915, 0.605882, -0.795551, -0.269272, -1.92535, -2.46093) -bind/8/name = &"Bone.002" -bind/8/bone = -1 -bind/8/pose = Transform3D(0.989485, -0.13865, 0.041188, -0.144576, -0.939744, 0.309806, -0.00424831, -0.312503, -0.949907, 1.99111, -1.12023, -5.53977) - -[sub_resource type="ArrayMesh" id="ArrayMesh_wnwjl"] -resource_name = "eyedog_Cube_002" -_surfaces = [{ -"aabb": AABB(-1.21143, -0.192761, 4.6902, 1.24364, 0.68767, 2.28712), -"attribute_data": PackedByteArray("gBFgP2zgIz+AEWA/2IJAP4ARYD/YgkA/Fm9DP9iCQD+AEWA/rsd5PxZvQz/YgkA/qswmP2zgIz8Wb0M/bOAjPxZvQz9DJV0/gBFgP0MlXT+AEWA/QyVdPxZvQz9DJV0/7LN8P9iCQD/ss3w/2IJAP6rMJj/YgkA/qswmP9iCQD8="), -"bone_aabbs": [AABB(-1.18232, -0.108765, 4.6902, 1.21453, 0.603684, 1.48705), AABB(-1.21143, -0.192761, 4.6902, 1.24364, 0.68767, 2.28713)], -"format": 34359745559, -"index_count": 42, -"index_data": PackedByteArray("BAAIAAkACAAKAAkACAALAAoACwABAAoACwADAAEADAANAAEADAABAAIAAgABAAMAAgAAAAwAAgADAAUABQAHAAIABQADAA4ABQAOAA8ADwAGAAUA"), -"lods": [0.68984, PackedByteArray("AAABAAIAAgABAAMABAADAAEAAgADAAUABQADAAYABQAHAAIA")], -"material": SubResource("StandardMaterial3D_t16cj"), -"name": "Material", -"primitive": 3, -"skin_data": PackedByteArray("AQAAAAAAAAD//wAAAAAAAAAAAQAAAAAAR/W3CgAAAAABAAAAAAAAAED+vgEAAAAAAAABAAAAAAAD9vsJAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAAL//AAAAAAAAQAAAAAAAAD//wAAAAAAAAEAAAAAAAAA//8AAAAAAAABAAAAAAAAAC//zwAAAAAAAQAAAAAAAAAr+9MEAAAAAAAAAQAAAAAAqfNVDAAAAAAAAAEAAAAAAMnwNQ8AAAAAAQAAAAAAAAAr+9MEAAAAAAAAAQAAAAAAqfNVDAAAAAAAAAEAAAAAAMnwNQ8AAAAAAQAAAAAAAAAv/88AAAAAAA=="), -"uv_scale": Vector4(0, 0, 0, 0), -"vertex_count": 16, -"vertex_data": PackedByteArray("DxCbvwljRb4tRt9AVNK6vMlk/T450p9ADokHvxrakz65p8VA1vADPR1Lcz6P1p9ADxCbvwljRb4tRt9A2ebyvh3XAD0PrMVADxCbvwljRb4tRt9ADxCbvwljRb4tRt9AZkuQv+6/3r3z77tAN1aXv3ceGD6e67tA8vksv+uZtT4cFpZAUeQev8hqxz1zGpZAN1aXv3ceGD6e67tA8vksv+uZtT4cFpZAUeQev8hqxz1zGpZAZkuQv+6/3r3z77tAlGHjaVsQE6ZixefP0kXO2hqe0rvYLK/hxuAGSNmud/GUYeNpPWaM60y6f1cLpFXilGHjaSfMLMiUYeNpPWaM63lBHiyFL0zg1Sx/tLKsN+b8J8ngI4QC5d4xOQ3wOy7y1Sx/tOA6jI/8J8ng////v94xOQ3///+/eUEeLCG3gKk=") -}] -blend_shape_mode = 0 - [sub_resource type="SphereShape3D" id="SphereShape3D_cavbv"] +radius = 0.42 + +[sub_resource type="SphereShape3D" id="SphereShape3D_h25mw"] +radius = 0.151085 [sub_resource type="ViewportTexture" id="ViewportTexture_1kwxq"] viewport_path = NodePath("SubViewport") @@ -102,30 +31,23 @@ d_n = NodePath("Node3D") corpse_scene = ExtResource("2_1dh2f") metadata/_custom_type_script = "uid://ejqql2660u6h" -[node name="Cube" type="MeshInstance3D" parent="."] -transform = Transform3D(-0.065, 0, -5.68248e-09, 0, 0.065, 0, 5.68248e-09, 0, -0.065, 0, 0.400893, 0) -mesh = SubResource("ArrayMesh_1dh2f") -skin = SubResource("Skin_bckix") -skeleton = NodePath("") -surface_material_override/0 = ExtResource("2_h25mw") - -[node name="Cube_001" type="MeshInstance3D" parent="."] -transform = Transform3D(-0.065, 0, -5.68248e-09, 0, 0.065, 0, 5.68248e-09, 0, -0.065, 0, 0.400893, 0) -mesh = SubResource("ArrayMesh_wnwjl") -skin = SubResource("Skin_bckix") -skeleton = NodePath("") -surface_material_override/0 = ExtResource("2_h25mw") - [node name="Health" type="Node" parent="."] script = ExtResource("2_bckix") damage_particle_scene = ExtResource("3_wnwjl") [node name="Hitbox" type="CollisionShape3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.441355, 0) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.33811, 0.0832841) shape = SubResource("SphereShape3D_cavbv") script = ExtResource("6_3v8fr") metadata/_custom_type_script = "uid://cummt2be3r1gq" +[node name="Hitbox2" type="CollisionShape3D" parent="."] +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.601201, -0.436369) +shape = SubResource("SphereShape3D_h25mw") +script = ExtResource("6_3v8fr") +critical_zone = true +metadata/_custom_type_script = "uid://cummt2be3r1gq" + [node name="HealthBar" type="Sprite3D" parent="."] transform = Transform3D(0.2, 0, 0, 0, 0.2, 0, 0, 0, 0.2, 0, 1.20821, 0) sorting_offset = 1.0 @@ -169,6 +91,10 @@ metadata/_custom_type_script = "uid://cojjgevmbhwal" [node name="Node3D" type="Node3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.39813, 0) +[node name="eyedog" parent="." instance=ExtResource("10_h25mw")] +transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0.3764, 0) + [connection signal="health_changed" from="Health" to="SubViewport/HealthBar" method="on_health_changed"] [connection signal="health_depleted" from="Health" to="." method="die"] [connection signal="took_damage" from="Hitbox" to="Health" method="take_damage"] +[connection signal="took_damage" from="Hitbox2" to="Health" method="take_damage"] diff --git a/eye_dog_mat.tres b/eye_dog_mat.tres deleted file mode 100644 index 6359107..0000000 --- a/eye_dog_mat.tres +++ /dev/null @@ -1,8 +0,0 @@ -[gd_resource type="StandardMaterial3D" load_steps=2 format=3 uid="uid://bquvikft4xp1v"] - -[ext_resource type="Texture2D" uid="uid://wx4d2upch81n" path="res://eyedog_eyedog_tex.png" id="1_l4rje"] - -[resource] -shading_mode = 0 -albedo_texture = ExtResource("1_l4rje") -texture_filter = 2 diff --git a/eyedog.glb.import b/eyedog.glb.import index afabe15..d11f5cd 100644 --- a/eyedog.glb.import +++ b/eyedog.glb.import @@ -16,7 +16,7 @@ dest_files=["res://.godot/imported/eyedog.glb-e332c2bd7f518d74bf3d38e536e40139.s nodes/root_type="" nodes/root_name="" nodes/apply_root_scale=true -nodes/root_scale=1.0 +nodes/root_scale=0.08 nodes/import_as_skeleton_bones=false nodes/use_node_type_suffixes=true meshes/ensure_tangents=true @@ -32,6 +32,13 @@ animation/trimming=false animation/remove_immutable_tracks=true animation/import_rest_as_RESET=false import_script/path="" -_subresources={} +_subresources={ +"materials": { +"Material": { +"use_external/enabled": true, +"use_external/path": "uid://bo82o88d7vo1x" +} +} +} gltf/naming_version=1 gltf/embedded_image_handling=1 diff --git a/gif_animation.gd b/gif_animation.gd new file mode 100644 index 0000000..755ffcc --- /dev/null +++ b/gif_animation.gd @@ -0,0 +1,33 @@ +class_name BootLogo extends TextureRect + +signal animation_finished() + +var time: float = 0.0 +var x: int = 0 +var y: int = 0 +var loops: int = 0 +var signalled: bool = false +@export var color_rect: ColorRect + + +func _process(delta: float) -> void: + time += delta + if time >= (1.0 / 24.0): + time -= (1.0 / 24.0) + x += 1 + if x >= 10: + x = 0 + y += 1 + if y == 4 and x == 4: + var tween: Tween = create_tween() + tween.set_ease(Tween.EASE_OUT) + tween.set_trans(Tween.TRANS_CUBIC) + tween.tween_property(color_rect, "offset_top", 155.0, 1.5) + if y == 8 and x == 4: + y = 7 + x = 5 + loops += 1 + if !signalled and loops >= 3: + signalled = true + animation_finished.emit() + texture.region = Rect2(256.0 * x, 256.0 * y, 256.0, 256.0) diff --git a/gif_animation.gd.uid b/gif_animation.gd.uid new file mode 100644 index 0000000..722c2fb --- /dev/null +++ b/gif_animation.gd.uid @@ -0,0 +1 @@ +uid://p1ugbcmjuwxg diff --git a/jitter.gdshader b/jitter.gdshader new file mode 100644 index 0000000..74ce4f8 --- /dev/null +++ b/jitter.gdshader @@ -0,0 +1,50 @@ +shader_type spatial; +render_mode blend_mix, + cull_disabled, + depth_prepass_alpha, + shadows_disabled, + specular_disabled, + vertex_lighting; + +uniform bool affine_mapping = false; +uniform sampler2D albedo : source_color, filter_nearest; +uniform float alpha_scissor : hint_range(0, 1) = 0.5; +uniform float jitter: hint_range(0, 1) = 0.25; +uniform ivec2 resolution = ivec2(320, 240); + +vec4 snap_to_position(vec4 base_position) +{ + vec4 snapped_position = base_position; + snapped_position.xyz = base_position.xyz / base_position.w; + + vec2 snap_resulotion = floor(vec2(resolution) * (1.0 - jitter)); + snapped_position.x = floor(snap_resulotion.x * snapped_position.x) / snap_resulotion.x; + snapped_position.y = floor(snap_resulotion.y * snapped_position.y) / snap_resulotion.y; + + snapped_position.xyz *= base_position.w; + return snapped_position; +} + +void vertex() +{ + vec4 snapped_position = snap_to_position(PROJECTION_MATRIX * MODELVIEW_MATRIX * vec4(VERTEX, 1.0)); + if (affine_mapping) + { + POSITION = snapped_position; + POSITION /= abs(POSITION.w); + } + else + { + POSITION = snapped_position; + } +} + +void fragment() +{ + vec4 color_base = COLOR; + vec4 texture_color = texture(albedo, UV); + + ALBEDO = (color_base * texture_color).rgb; + ALPHA = texture_color.a * color_base.a; + ALPHA_SCISSOR_THRESHOLD = alpha_scissor; +} \ No newline at end of file diff --git a/jitter.gdshader.uid b/jitter.gdshader.uid new file mode 100644 index 0000000..54b4c99 --- /dev/null +++ b/jitter.gdshader.uid @@ -0,0 +1 @@ +uid://c5bffujq0l70k diff --git a/lost-century-1x.png b/lost-century-1x.png new file mode 100644 index 0000000..321bd10 Binary files /dev/null and b/lost-century-1x.png differ diff --git a/lost-century-1x.png.import b/lost-century-1x.png.import new file mode 100644 index 0000000..21d4b46 --- /dev/null +++ b/lost-century-1x.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://jy150d2odqk2" +path="res://.godot/imported/lost-century-1x.png-1c6cec7524286e83e291b7e7de05b077.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://lost-century-1x.png" +dest_files=["res://.godot/imported/lost-century-1x.png-1c6cec7524286e83e291b7e7de05b077.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/main.gd b/main.gd index ecf6eba..04114dd 100644 --- a/main.gd +++ b/main.gd @@ -1,19 +1,44 @@ class_name Main -extends SubViewportContainer +extends Node + +@export var scene: Node +@export var movies: Node var loaded: bool = false +var main_menu_scene_path: String = "res://Scenes/Menus/MainMenu/main_menu.tscn" +var multiplayer_lobby_scene_path: String = "res://Scenes/Menus/multiplayer_lobby.tscn" +var singleplayer_lobby_scene_path: String = "res://Scenes/Menus/singleplayer_lobby.tscn" func _ready() -> void: - ResourceLoader.load_threaded_request("res://Scenes/Menus/MainMenu/main_menu.tscn") + Game.switch_to_main_menu.connect(load_main_menu) + Game.switch_to_single_player.connect(load_singleplayer) + Game.switch_to_multi_player.connect(load_multiplayer) -func _process(delta: float) -> void: - if !loaded: - var progress: Array = [] - ResourceLoader.load_threaded_get_status("res://Scenes/Menus/MainMenu/main_menu.tscn", progress) - $SubViewport/ProgressBar.value = progress[0] * 100.0 +func load_main_menu() -> void: + load_scene(main_menu_scene_path) + + +func load_singleplayer() -> void: + load_scene(singleplayer_lobby_scene_path) + + +func load_multiplayer() -> void: + load_scene(multiplayer_lobby_scene_path) + + +func load_scene(scene_path: String) -> void: + ResourceLoader.load_threaded_request(scene_path) + for node: Node in scene.get_children(): + node.queue_free() + var progress: Array = [0.0] + while progress[0] < 1.0: + await get_tree().process_frame + ResourceLoader.load_threaded_get_status(scene_path, progress) if progress[0] >= 1.0: - $SubViewport/ProgressBar.queue_free() - var main_menu: PackedScene = ResourceLoader.load_threaded_get("res://Scenes/Menus/MainMenu/main_menu.tscn") - $SubViewport/Node.add_child(main_menu.instantiate()) - loaded = true + var new_scene: PackedScene = ResourceLoader.load_threaded_get(scene_path) + if movies: + movies.queue_free() + movies = null + $CanvasLayer.visible = true + scene.add_child(new_scene.instantiate()) diff --git a/main.tscn b/main.tscn index 9f208d9..18d519d 100644 --- a/main.tscn +++ b/main.tscn @@ -1,36 +1,101 @@ -[gd_scene load_steps=4 format=3 uid="uid://d2k8y13qfvch0"] +[gd_scene load_steps=8 format=3 uid="uid://d2k8y13qfvch0"] -[ext_resource type="Shader" uid="uid://y78cbva8erip" path="res://psx.gdshader" id="1_0xm2m"] +[ext_resource type="Shader" uid="uid://diugvmtoos1ti" path="res://pixeldither.gdshader" id="2_1bvp3"] [ext_resource type="Script" uid="uid://cx1xj7esl03ui" path="res://main.gd" id="2_h2yge"] +[ext_resource type="Texture2D" uid="uid://6frn8lcwwehv" path="res://Assets/TextureAtlases/puppyfruit.png" id="2_lquwl"] +[ext_resource type="Script" uid="uid://p1ugbcmjuwxg" path="res://gif_animation.gd" id="3_7mycd"] +[ext_resource type="Texture2D" uid="uid://bpo5fu2a26mr7" path="res://blk-nx64-1x.png" id="3_h2yge"] -[sub_resource type="ShaderMaterial" id="ShaderMaterial_1bvp3"] -shader = ExtResource("1_0xm2m") -shader_parameter/enabled = true +[sub_resource type="AtlasTexture" id="AtlasTexture_272bh"] +atlas = ExtResource("2_lquwl") +region = Rect2(0, 0, 256, 256) + +[sub_resource type="ShaderMaterial" id="ShaderMaterial_7mycd"] +shader = ExtResource("2_1bvp3") +shader_parameter/shader_enabled = true +shader_parameter/palette = ExtResource("3_h2yge") shader_parameter/dithering = true -shader_parameter/colors = 12 -shader_parameter/dither_size = 1 +shader_parameter/dithering_size = 4 +shader_parameter/resolution_scale = 1 +shader_parameter/quantization_level = 8 -[node name="SubViewportContainer" type="SubViewportContainer"] -material = SubResource("ShaderMaterial_1bvp3") +[node name="Main" type="Node" node_paths=PackedStringArray("scene", "movies")] +script = ExtResource("2_h2yge") +scene = NodePath("Scene") +movies = NodePath("Movies") +metadata/_custom_type_script = "uid://cx1xj7esl03ui" + +[node name="Movies" type="ColorRect" parent="."] anchors_preset = 15 anchor_right = 1.0 anchor_bottom = 1.0 grow_horizontal = 2 grow_vertical = 2 -script = ExtResource("2_h2yge") +color = Color(0.193592, 0.4164, 0.224909, 1) -[node name="SubViewport" type="SubViewport" parent="."] -size = Vector2i(1920, 1080) - -[node name="ProgressBar" type="ProgressBar" parent="SubViewport"] -anchors_preset = 14 +[node name="TextureRect" type="TextureRect" parent="Movies" node_paths=PackedStringArray("color_rect")] +layout_mode = 1 +anchors_preset = 8 +anchor_left = 0.5 anchor_top = 0.5 -anchor_right = 1.0 +anchor_right = 0.5 anchor_bottom = 0.5 -offset_top = -13.5 -offset_bottom = 13.5 +offset_left = -128.0 +offset_top = -128.0 +offset_right = 128.0 +offset_bottom = 128.0 grow_horizontal = 2 grow_vertical = 2 -show_percentage = false +texture = SubResource("AtlasTexture_272bh") +script = ExtResource("3_7mycd") +color_rect = NodePath("../ColorRect") -[node name="Node" type="Node" parent="SubViewport"] +[node name="Label" type="Label" parent="Movies"] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -52.0 +offset_top = 205.0 +offset_right = 52.0 +offset_bottom = 20.0 +grow_horizontal = 2 +grow_vertical = 2 +theme_override_font_sizes/font_size = 91 +text = "puppyfruit" +horizontal_alignment = 1 +vertical_alignment = 1 + +[node name="ColorRect" type="ColorRect" parent="Movies"] +layout_mode = 1 +anchors_preset = -1 +anchor_left = 0.5 +anchor_top = 0.5 +anchor_right = 0.5 +anchor_bottom = 0.5 +offset_left = -165.0 +offset_top = 85.0 +offset_right = 190.0 +offset_bottom = 170.0 +grow_horizontal = 2 +grow_vertical = 2 +color = Color(0.192157, 0.415686, 0.223529, 1) + +[node name="Scene" type="Node" parent="."] + +[node name="CanvasLayer" type="CanvasLayer" parent="."] +layer = 2 +visible = false + +[node name="ColorRect" type="ColorRect" parent="CanvasLayer"] +material = SubResource("ShaderMaterial_7mycd") +anchors_preset = 15 +anchor_right = 1.0 +anchor_bottom = 1.0 +grow_horizontal = 2 +grow_vertical = 2 +mouse_filter = 2 + +[connection signal="animation_finished" from="Movies/TextureRect" to="." method="load_main_menu"] diff --git a/pixelate.gdshader b/pixelate.gdshader new file mode 100644 index 0000000..a7b1b9a --- /dev/null +++ b/pixelate.gdshader @@ -0,0 +1,15 @@ +shader_type canvas_item; + +uniform sampler2D SCREEN_TEXTURE: hint_screen_texture, filter_linear_mipmap; + +uniform int pixel_size : hint_range(1, 64) = 4; // Pixel size +uniform vec2 screen_size = vec2(1920.0, 1080.0); // Screen size (set manually) + +void fragment() { + //Pixel coordinates in screen space + vec2 pixel_coords = floor(FRAGCOORD.xy / float(pixel_size)) * float(pixel_size); + // Convert pixel coordinates to UVs for screen texture + vec2 uv = pixel_coords / screen_size; + // Get color from texture screen + COLOR = texture(SCREEN_TEXTURE, uv); +} \ No newline at end of file diff --git a/pixelate.gdshader.uid b/pixelate.gdshader.uid new file mode 100644 index 0000000..f1e4c5f --- /dev/null +++ b/pixelate.gdshader.uid @@ -0,0 +1 @@ +uid://dio8pftmnf0l0 diff --git a/pixeldither.gdshader b/pixeldither.gdshader new file mode 100644 index 0000000..f32f2a5 --- /dev/null +++ b/pixeldither.gdshader @@ -0,0 +1,75 @@ +shader_type canvas_item; + +uniform bool shader_enabled = true; + +uniform sampler2D palette; +uniform sampler2D SCREEN_TEXTURE: hint_screen_texture, filter_linear_mipmap; +uniform bool dithering = false; +uniform int dithering_size : hint_range(1, 16) = 2; +uniform int resolution_scale : hint_range(1, 64) = 2; +uniform int quantization_level : hint_range(2, 64) = 64; + +int dithering_pattern(ivec2 fragcoord) { + const int pattern[] = { + -4, +0, -3, +1, + +2, -2, +3, -1, + -3, +1, -4, +0, + +3, -1, +2, -2 + }; + int x = fragcoord.x % 4; + int y = fragcoord.y % 4; + return pattern[y * 4 + x] * dithering_size; +} + +float color_distance(vec3 a, vec3 b) { + vec3 diff = a - b; + return dot(diff, diff); +} + +vec3 quantize_color(vec3 color, int levels) { + if (levels <= 1) return vec3(0.0); + float step = 1.0 / float(levels - 1); + return round(color / step) * step; +} + +void fragment() { + vec4 final_color; + + if (!shader_enabled) { + final_color = texture(SCREEN_TEXTURE, UV); + } else { + vec2 tex_size = vec2(textureSize(SCREEN_TEXTURE, 0)); + + if (tex_size.x <= 0.0 || tex_size.y <= 0.0) { + final_color = vec4(0.0); + } else { + ivec2 texel_coord = ivec2(floor(UV * tex_size / float(resolution_scale))); + vec3 color = texelFetch(SCREEN_TEXTURE, texel_coord * resolution_scale, 0).rgb; + + if (dithering) { + int dither = dithering_pattern(texel_coord); + color += vec3(float(dither) / 255.0); + } + color = clamp(color, 0.0, 1.0); + color = quantize_color(color, quantization_level); + + int palette_size = 64; + float closest_distance = 9999.0; + vec4 closest_color = vec4(0.0); + + for (int i = 0; i < palette_size; i++) { + float u = float(i) / float(palette_size - 1); + vec3 palette_color = texture(palette, vec2(u, 0.0)).rgb; + float dist = color_distance(color, palette_color); + if (dist < closest_distance) { + closest_distance = dist; + closest_color = vec4(palette_color, 1.0); + } + } + + final_color = closest_color; + } + } + + COLOR = final_color; +} diff --git a/pixeldither.gdshader.uid b/pixeldither.gdshader.uid new file mode 100644 index 0000000..a19cb3a --- /dev/null +++ b/pixeldither.gdshader.uid @@ -0,0 +1 @@ +uid://diugvmtoos1ti diff --git a/playstation.gdshader b/playstation.gdshader new file mode 100644 index 0000000..08bb02f --- /dev/null +++ b/playstation.gdshader @@ -0,0 +1,35 @@ +shader_type canvas_item; + +uniform sampler2D SCREEN_TEXTURE: hint_screen_texture, filter_linear_mipmap; +uniform int resolution_scale : hint_range(1, 64) = 1; + +uniform float dither_spread = 1.0; +uniform float dither_gamma = 1.0; + + +void fragment() { + vec2 tex_size = vec2(textureSize(SCREEN_TEXTURE, 0)); + ivec2 texel_coord = ivec2(floor(UV * tex_size / float(resolution_scale))); + vec3 color = texelFetch(SCREEN_TEXTURE, texel_coord * resolution_scale, 0).rgb; + + int ps1_dither_matrix[16] = { + -4, 0, -3, 1, + 2, -2, 3, -1, + -3, 1, -4, 0, + 3, -1, 2, -2 + }; + + // Index 1D dither matrix based on 2D screen coordinates + float noise = float(ps1_dither_matrix[(int(texel_coord.x) % 4) + (int(texel_coord.y) % 4) * 4]); + + // Apply dithering and quantize 24 bit srgb to 15 bit srgb according to https://psx-spx.consoledev.net/graphicsprocessingunitgpu/ + color = pow(color, vec3(1.0 / dither_gamma)); // Convert to srgb cause it imo looks better and is probably correct idk looks more correct than linear quantization + color = round(color * 255.0 + noise); // Convert to 0-255 and add dither noise + color = clamp(round(color), vec3(0), vec3(255)); // Clamp to 0-255 in case of overflow + color = clamp(color / 8.0, vec3(0), vec3(31)); // Convert to 0-31 range + color /= 31.0; // Convert back to 0-1 range + + color = pow(color, vec3(dither_gamma)); // Convert back to linear + + COLOR = vec4(color, 1.0); +} \ No newline at end of file diff --git a/playstation.gdshader.uid b/playstation.gdshader.uid new file mode 100644 index 0000000..0b9d87d --- /dev/null +++ b/playstation.gdshader.uid @@ -0,0 +1 @@ +uid://dsn7gkhdg1xbb diff --git a/project.godot b/project.godot index 7680f87..fa13b1e 100644 --- a/project.godot +++ b/project.godot @@ -14,6 +14,7 @@ config/name="Decked Out Defense" config/version="0.2.0" run/main_scene="uid://d2k8y13qfvch0" config/features=PackedStringArray("4.4", "Forward Plus") +boot_splash/show_image=false config/icon="res://Assets/Textures/icon.svg" [autoload] @@ -30,6 +31,7 @@ gdscript/warnings/inferred_declaration=2 window/size/viewport_width=1920 window/size/viewport_height=1080 +window/stretch/mode="canvas_items" [editor] diff --git a/psx_model_material.tres b/psx_model_material.tres new file mode 100644 index 0000000..18e5f83 --- /dev/null +++ b/psx_model_material.tres @@ -0,0 +1,13 @@ +[gd_resource type="ShaderMaterial" load_steps=3 format=3 uid="uid://bo82o88d7vo1x"] + +[ext_resource type="Shader" uid="uid://c5bffujq0l70k" path="res://jitter.gdshader" id="1_crvh7"] +[ext_resource type="Texture2D" uid="uid://wx4d2upch81n" path="res://eyedog_eyedog_tex.png" id="2_j3hec"] + +[resource] +render_priority = 0 +shader = ExtResource("1_crvh7") +shader_parameter/affine_mapping = true +shader_parameter/albedo = ExtResource("2_j3hec") +shader_parameter/alpha_scissor = 0.5 +shader_parameter/jitter = 0.25 +shader_parameter/resolution = Vector2i(320, 240) diff --git a/resurrect-64-1x.png b/resurrect-64-1x.png new file mode 100644 index 0000000..d4934ae Binary files /dev/null and b/resurrect-64-1x.png differ diff --git a/resurrect-64-1x.png.import b/resurrect-64-1x.png.import new file mode 100644 index 0000000..0d1afb6 --- /dev/null +++ b/resurrect-64-1x.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cfbvrwy0x72e6" +path="res://.godot/imported/resurrect-64-1x.png-19790abf6f86dfef7c9c0ca4ad1888b4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://resurrect-64-1x.png" +dest_files=["res://.godot/imported/resurrect-64-1x.png-19790abf6f86dfef7c9c0ca4ad1888b4.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1