From b49f0378da04733069baf32dab16c3e7ad3d5fd9 Mon Sep 17 00:00:00 2001 From: Snoweuph Date: Fri, 7 Apr 2023 15:33:54 +0200 Subject: [PATCH 01/19] - Adding Cave Generation - Placeholder Art - Setting Physics Layer --- Assets/Sprites/PlaceHolderA.png | Bin 0 -> 78 bytes Assets/Sprites/PlaceHolderA.png.import | 34 ++++ Assets/Sprites/PlaceHolderB.png | Bin 0 -> 79 bytes Assets/Sprites/PlaceHolderB.png.import | 34 ++++ Assets/Test_Tileset.tres | 25 +++ Scenes/Cave.tscn | 13 ++ Scripts/MapGenerator.gd | 216 +++++++++++++++++++++++++ project.godot | 4 + 8 files changed, 326 insertions(+) create mode 100644 Assets/Sprites/PlaceHolderA.png create mode 100644 Assets/Sprites/PlaceHolderA.png.import create mode 100644 Assets/Sprites/PlaceHolderB.png create mode 100644 Assets/Sprites/PlaceHolderB.png.import create mode 100644 Assets/Test_Tileset.tres create mode 100644 Scenes/Cave.tscn create mode 100644 Scripts/MapGenerator.gd diff --git a/Assets/Sprites/PlaceHolderA.png b/Assets/Sprites/PlaceHolderA.png new file mode 100644 index 0000000000000000000000000000000000000000..9bac8579af0ad86dc1ad39e6387b3d21af11cfbd GIT binary patch literal 78 zcmeAS@N?(olHy`uVBq!ia0vp^93afW1|*O0@9PFqqMj~}Are!QeZH;xd%l6);NfH$ bJ1z!0FD9$m*^@p26)0boFyt=akR{0K*y;y#N3J literal 0 HcmV?d00001 diff --git a/Assets/Sprites/PlaceHolderB.png.import b/Assets/Sprites/PlaceHolderB.png.import new file mode 100644 index 0000000..62f9ec7 --- /dev/null +++ b/Assets/Sprites/PlaceHolderB.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cbtiuvqgnulmf" +path="res://.godot/imported/PlaceHolderB.png-e4349525f46542a37c6106a7ccfeea94.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Sprites/PlaceHolderB.png" +dest_files=["res://.godot/imported/PlaceHolderB.png-e4349525f46542a37c6106a7ccfeea94.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/Assets/Test_Tileset.tres b/Assets/Test_Tileset.tres new file mode 100644 index 0000000..bdce79f --- /dev/null +++ b/Assets/Test_Tileset.tres @@ -0,0 +1,25 @@ +[gd_resource type="TileSet" load_steps=5 format=3 uid="uid://b7cqbf6xdbeal"] + +[ext_resource type="Texture2D" uid="uid://bjyry6vvtr8h5" path="res://Assets/Sprites/PlaceHolderA.png" id="1_nuhua"] +[ext_resource type="Texture2D" uid="uid://cbtiuvqgnulmf" path="res://Assets/Sprites/PlaceHolderB.png" id="2_jl0te"] + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_urqd5"] +texture = ExtResource("1_nuhua") +texture_region_size = Vector2i(8, 8) +0:0/0 = 0 +0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_0/angular_velocity = 0.0 +0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-4, -4, 4, -4, 4, 4, -4, 4) + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_7bjb0"] +texture = ExtResource("2_jl0te") +texture_region_size = Vector2i(8, 8) +0:0/0 = 0 +0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_0/angular_velocity = 0.0 + +[resource] +tile_size = Vector2i(8, 8) +physics_layer_0/collision_layer = 1 +sources/0 = SubResource("TileSetAtlasSource_urqd5") +sources/1 = SubResource("TileSetAtlasSource_7bjb0") diff --git a/Scenes/Cave.tscn b/Scenes/Cave.tscn new file mode 100644 index 0000000..ff0ce79 --- /dev/null +++ b/Scenes/Cave.tscn @@ -0,0 +1,13 @@ +[gd_scene load_steps=3 format=3 uid="uid://chfp8mm3vwh2e"] + +[ext_resource type="TileSet" uid="uid://b7cqbf6xdbeal" path="res://Assets/Test_Tileset.tres" id="1_8lepy"] +[ext_resource type="Script" path="res://Scripts/MapGenerator.gd" id="2_qvwn8"] + +[node name="Node2D" type="Node2D"] + +[node name="TileMap" type="TileMap" parent="."] +tile_set = ExtResource("1_8lepy") +cell_quadrant_size = 8 +collision_visibility_mode = 1 +format = 2 +script = ExtResource("2_qvwn8") diff --git a/Scripts/MapGenerator.gd b/Scripts/MapGenerator.gd new file mode 100644 index 0000000..7267c96 --- /dev/null +++ b/Scripts/MapGenerator.gd @@ -0,0 +1,216 @@ +extends TileMap + +@export var width := 128 +@export var height := 75 +@export var fill_percentage := 0.65 + +@export var solid_id := 0 +@export var non_solid_id := 1 + +@export var solid_threshold := 7 +@export var nonsolid_threshold := 4 + +@export var start_area_size := 5 +@export var start_area_corner_size := 2 + +@export var cave_gen_iterations := 3 +@export var cave_mine_size_threshold := 80 + +func _ready(): + var start_time = Time.get_unix_time_from_system() + randomize() + random_fill() + make_cave_areas() + make_borders() + prepare_player_start_area() + connect_caves(get_caves()) + make_cave_areas() + make_borders() + print(Time.get_unix_time_from_system() - start_time) + +func random_fill(): + for x in width: + for y in height: + if randf() < fill_percentage: + self.set_cell(0, Vector2i(x,y),solid_id, Vector2i(0, 0)) + else: + self.set_cell(0, Vector2i(x,y),non_solid_id, Vector2i(0, 0)) + pass + +func make_borders(): + for x in width: + self.set_cell(0, Vector2i(x,0),solid_id, Vector2i(0, 0)) + self.set_cell(0, Vector2i(x,height-1),solid_id, Vector2i(0, 0)) + for y in height: + self.set_cell(0, Vector2i(0,y),solid_id, Vector2i(0, 0)) + self.set_cell(0, Vector2i(width-1,y),solid_id, Vector2i(0, 0)) + +func prepare_player_start_area(): + var center = Vector2i(width/2, height/2) + for x in range(center.x - start_area_size, center.x + start_area_size): + + # Getting a P factor for the corner "radius" Decission + var p := 0 + if x <= center.x - start_area_size + start_area_corner_size: + p = center.x - start_area_size + start_area_corner_size - x + if x >= center.x + start_area_size - start_area_corner_size: + p = x - ( center.x + start_area_size) + start_area_corner_size + 1 + var p2 = p + + for y in range(center.y - start_area_size, center.y + start_area_size): + # Decide if the tile is part of the Corner or not + if !(p2 > 0 or p2 <= - (start_area_size*2 - p*2)): + self.set_cell(0, Vector2i(x,y),non_solid_id, Vector2i(0, 0)) + p2 -= 1 + +func make_cave_areas(): + for i in cave_gen_iterations: + for x in range(1, width): + for y in range(1, height): + # Count Solid Neighbor Cells + var count := 0 + #y-1 + if self.get_cell_source_id(0, Vector2i(x-1, y-1)) == solid_id: count +=1 + if self.get_cell_source_id(0, Vector2i(x, y-1)) == solid_id: count +=1 + if self.get_cell_source_id(0, Vector2i(x+1, y-1)) == solid_id: count +=1 + #y + if self.get_cell_source_id(0, Vector2i(x-1, y)) == solid_id: count +=1 + if self.get_cell_source_id(0, Vector2i(x+1, y)) == solid_id: count +=1 + #y+1 + if self.get_cell_source_id(0, Vector2i(x-1, y+1)) == solid_id: count +=1 + if self.get_cell_source_id(0, Vector2i(x, y+1)) == solid_id: count +=1 + if self.get_cell_source_id(0, Vector2i(x+1, y+1)) == solid_id: count +=1 + + # Check Wether to Change the Cell or Not + if count < nonsolid_threshold: + self.set_cell(0, Vector2i(x,y),non_solid_id, Vector2i(0, 0)) + + if count >= solid_threshold: + self.set_cell(0, Vector2i(x,y),solid_id, Vector2i(0, 0)) + pass + +func get_caves() -> Array: + # get caves + var caves := [] + + for x in range (2, width-2): + for y in range (2, height-2): + if self.get_cell_source_id(0, Vector2i(x, y)) == non_solid_id: + flood_fill(x,y, caves) + + for cave in caves: + for tile in cave: + self.set_cell(0, Vector2i(tile.x,tile.y),non_solid_id, Vector2i(0, 0)) + return caves + +func flood_fill(tilex, tiley, caves) -> Array: + var cave := [] + var to_fill := [Vector2i(tilex, tiley)] + while to_fill: + var tile = to_fill.pop_back() + + if !cave.has(tile): + cave.append(tile) + self.set_cell(0, Vector2i(tile.x,tile.y),solid_id, Vector2i(0, 0)) + + #check adjacent cells + var north = Vector2i(tile.x, tile.y+1) + var south = Vector2i(tile.x, tile.y-1) + var east = Vector2i(tile.x+1, tile.y) + var west = Vector2i(tile.x-1, tile.y) + + for dir in [north,south,east,west]: + if self.get_cell_source_id(0, dir) == non_solid_id: + if !to_fill.has(dir) and !cave.has(dir): + to_fill.append(dir) + if cave.size() >= cave_mine_size_threshold: + caves.append(cave) + return caves + +func choose(choices): + randomize() + + var rand_index = randi() % choices.size() + return choices[rand_index] + +func connect_caves(caves): + var prev_cave = null + var tunnel_caves = caves.duplicate() + + for cave in tunnel_caves: + if prev_cave: + var new_point = choose(cave) + var prev_point = choose(prev_cave) + + # ensure not the same point + if new_point != prev_point: + create_tunnel(new_point, prev_point, cave) + + prev_cave = cave + pass + +func create_tunnel(point1, point2, cave): + randomize() # for randf + var max_steps = 500 # so editor won't hang if walk fails + var steps = 0 + var drunk_x = point2[0] + var drunk_y = point2[1] + + while steps < max_steps and !cave.has(Vector2i(drunk_x, drunk_y)): + steps += 1 + + # set initial dir weights + var n = 1.0 + var s = 1.0 + var e = 1.0 + var w = 1.0 + var weight = 1 + + # weight the random walk against edges + if drunk_x < point1.x: # drunkard is left of point1 + e += weight + elif drunk_x > point1.x: # drunkard is right of point1 + w += weight + if drunk_y < point1.y: # drunkard is above point1 + s += weight + elif drunk_y > point1.y: # drunkard is below point1 + n += weight + + # normalize probabilities so they form a range from 0 to 1 + var total = n + s + e + w + n /= total + s /= total + e /= total + w /= total + + var dx + var dy + + # choose the direction + var choice = randf() + + if 0 <= choice and choice < n: + dx = 0 + dy = -1 + elif n <= choice and choice < (n+s): + dx = 0 + dy = 1 + elif (n+s) <= choice and choice < (n+s+e): + dx = 1 + dy = 0 + else: + dx = -1 + dy = 0 + + # ensure not to walk past edge of map + if (2 < drunk_x + dx and drunk_x + dx < width-2) and \ + (2 < drunk_y + dy and drunk_y + dy < height-2): + drunk_x += dx + drunk_y += dy + + + if self.get_cell_source_id(0, Vector2i(drunk_x, drunk_y)) == solid_id: + self.set_cell(0, Vector2i(drunk_x, drunk_y),non_solid_id, Vector2i(0, 0)) + #make tunnel wider + self.set_cell(0, Vector2i(drunk_x+1, drunk_y),non_solid_id, Vector2i(0, 0)) + self.set_cell(0, Vector2i(drunk_x+1, drunk_y+1),non_solid_id, Vector2i(0, 0)) diff --git a/project.godot b/project.godot index 7d4e427..5e401af 100644 --- a/project.godot +++ b/project.godot @@ -15,6 +15,10 @@ run/main_scene="res://Scenes/Test.tscn" config/features=PackedStringArray("4.0", "GL Compatibility") config/icon="res://icon.svg" +[layer_names] + +2d_physics/layer_1="Map" + [rendering] renderer/rendering_method="gl_compatibility" -- 2.45.2 From 4b2d83a4c58d539133261a5c507eee5db7a1dd8a Mon Sep 17 00:00:00 2001 From: AXVIII3 <76608488+AXVIII3@users.noreply.github.com> Date: Fri, 7 Apr 2023 19:28:30 +0530 Subject: [PATCH 02/19] Basic Movement --- Player/player.gd | 59 ++++++++++++++++++++++++++++++++++++++++++++ Player/player.tscn | 16 ++++++++++++ Scenes/Movement.tscn | 16 ++++++++++++ project.godot | 33 ++++++++++++++++++++++++- 4 files changed, 123 insertions(+), 1 deletion(-) create mode 100644 Player/player.gd create mode 100644 Player/player.tscn create mode 100644 Scenes/Movement.tscn diff --git a/Player/player.gd b/Player/player.gd new file mode 100644 index 0000000..99cc78b --- /dev/null +++ b/Player/player.gd @@ -0,0 +1,59 @@ +extends CharacterBody2D + +# Serialized Variables ------------------ +@export var MAX_SPEED = 300 +@export var ACCELERATION = 1500 +@export var FRICTION = 1200 +# --------------------------------------- + + + +# Calculation Variables ----------------- +@onready var axis = Vector2.ZERO +# --------------------------------------- + + + +# Engine Callbacks ---------------------- +func _physics_process(delta): + move(delta) +# --------------------------------------- + + + +# Input --------------------------------- +func get_input(): + # Makes the function equivalent to unity's Input.GetAxis("Horizontal") + axis.x = int(Input.is_action_pressed("move_right")) - int(Input.is_action_pressed("move_left")) + # Makes the function equivalent to unity's Input.GetAxis("Vertical") + axis.y = int(Input.is_action_pressed("move_down")) - int(Input.is_action_pressed("move-up")) + + return axis.normalized() +# --------------------------------------- + + + +# Movement ------------------------------ +func move(delta): + axis = get_input() # Get the input + + # If player is not moving + if axis == Vector2.ZERO: + apply_friction(FRICTION * delta) + else : + apply_movement(axis * ACCELERATION * delta) + + move_and_slide() + + +func apply_movement(accel): + velocity += accel + velocity = velocity.limit_length(MAX_SPEED) + + +func apply_friction(amount): + if velocity.length() > amount : + velocity -= velocity.normalized() * amount + else : + velocity = Vector2.ZERO +# ---------------------------------------- diff --git a/Player/player.tscn b/Player/player.tscn new file mode 100644 index 0000000..4b2714d --- /dev/null +++ b/Player/player.tscn @@ -0,0 +1,16 @@ +[gd_scene load_steps=4 format=3 uid="uid://btiw3mdue2ien"] + +[ext_resource type="Texture2D" uid="uid://futvep428rf0" path="res://icon.svg" id="1_1j8gw"] +[ext_resource type="Script" path="res://Player/player.gd" id="1_dl5xi"] + +[sub_resource type="CircleShape2D" id="CircleShape2D_rcutd"] +radius = 67.0 + +[node name="Player" type="CharacterBody2D"] +script = ExtResource("1_dl5xi") + +[node name="Sprite2D" type="Sprite2D" parent="."] +texture = ExtResource("1_1j8gw") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +shape = SubResource("CircleShape2D_rcutd") diff --git a/Scenes/Movement.tscn b/Scenes/Movement.tscn new file mode 100644 index 0000000..4529cb2 --- /dev/null +++ b/Scenes/Movement.tscn @@ -0,0 +1,16 @@ +[gd_scene load_steps=2 format=3 uid="uid://bu6iwskde5hn6"] + +[ext_resource type="PackedScene" uid="uid://btiw3mdue2ien" path="res://Player/player.tscn" id="1_62wcj"] + +[node name="Movement" type="Node2D"] + +[node name="Player" parent="." instance=ExtResource("1_62wcj")] +position = Vector2(561, 312) +MAX_SPEED = 350 +ACCELERATION = 2500 +FRICTION = 1500 + +[node name="StaticBody2D" type="StaticBody2D" parent="."] + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="StaticBody2D"] +polygon = PackedVector2Array(90, 68, 776, 70, 1086, 236, 924, 566, 704, 220, 262, 154, 174, 494, 34, 316) diff --git a/project.godot b/project.godot index 7d4e427..b9f6a67 100644 --- a/project.godot +++ b/project.godot @@ -11,10 +11,41 @@ config_version=5 [application] config/name="HoppyEaster" -run/main_scene="res://Scenes/Test.tscn" +run/main_scene="res://Scenes/Movement.tscn" config/features=PackedStringArray("4.0", "GL Compatibility") config/icon="res://icon.svg" +[dotnet] + +project/assembly_name="HoppyEaster" + +[input] + +move_left={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"echo":false,"script":null) +] +} +move_right={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"echo":false,"script":null) +] +} +move-up={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"echo":false,"script":null) +] +} +move_down={ +"deadzone": 0.5, +"events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"echo":false,"script":null) +] +} + [rendering] renderer/rendering_method="gl_compatibility" -- 2.45.2 From ef60fdd59f6edd55681bc6ecad5746a206dd3171 Mon Sep 17 00:00:00 2001 From: Snoweuph Date: Fri, 7 Apr 2023 16:11:07 +0200 Subject: [PATCH 03/19] Fixing Strucuter and Cleaning Up --- Assets/Sprites/Jesus_Left_Idle.png | Bin 0 -> 641 bytes Assets/Sprites/Jesus_Left_Idle.png.import | 34 +++++++++++++ Player/player.gd | 59 ---------------------- Player/player.tscn | 16 ------ Scenes/Movement.tscn | 16 ------ Scenes/PlayerMovement.tscn | 22 ++++++++ Scripts/PlayerController.gd | 24 +++++++++ project.godot | 6 ++- 8 files changed, 85 insertions(+), 92 deletions(-) create mode 100644 Assets/Sprites/Jesus_Left_Idle.png create mode 100644 Assets/Sprites/Jesus_Left_Idle.png.import delete mode 100644 Player/player.gd delete mode 100644 Player/player.tscn delete mode 100644 Scenes/Movement.tscn create mode 100644 Scenes/PlayerMovement.tscn create mode 100644 Scripts/PlayerController.gd diff --git a/Assets/Sprites/Jesus_Left_Idle.png b/Assets/Sprites/Jesus_Left_Idle.png new file mode 100644 index 0000000000000000000000000000000000000000..4082dd7546dc404958a4d14a2c48f6658d2894b6 GIT binary patch literal 641 zcmV-{0)G98P)q+JLb0HuLPZfpq;o-(x=KeW)KNi1M<*Qw z7dID`%0Em=(t$c}^n?xXJ zQ5!OSHWN}|BHk4OCUm6)BII%;Y!=QfrM0o;vl@v|P<(zD7&GmC96E(EAaOIft{BOAd*PtgHJ?z7k3_9 zLxTg_$*|`<3Y>feqCu~|rdhpSZ^EUD?J%LL_97-0H~ss=`4(#NAowN}Jpg4e4G=R? zk>CVPNTpJ(HGBnl-G5`oh1yTYt7X_@rHUTcV#1Z6C@`MQXyY&>Knaowbw;uU%oq7y zfF_{I-Xt@W$5bLR0atKNAV>)m0h9SCpPV%TmuPFnr9zgK3e3+I(?-KUOM&&(Wv2`2 zd|-Vd5^*>+f{Ife+*<^8j!&7~io@=FfVuu#H32NRl%o67`2$qbVGwgtY>0NJRX bZDYRybItKwhRaT>00000NkvXXu0mjf7-bZy literal 0 HcmV?d00001 diff --git a/Assets/Sprites/Jesus_Left_Idle.png.import b/Assets/Sprites/Jesus_Left_Idle.png.import new file mode 100644 index 0000000..7e997b4 --- /dev/null +++ b/Assets/Sprites/Jesus_Left_Idle.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c6n0go8l4gaak" +path="res://.godot/imported/Jesus_Left_Idle.png-591d029c8d8b8b573a2665b70cf0e031.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Sprites/Jesus_Left_Idle.png" +dest_files=["res://.godot/imported/Jesus_Left_Idle.png-591d029c8d8b8b573a2665b70cf0e031.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/Player/player.gd b/Player/player.gd deleted file mode 100644 index 99cc78b..0000000 --- a/Player/player.gd +++ /dev/null @@ -1,59 +0,0 @@ -extends CharacterBody2D - -# Serialized Variables ------------------ -@export var MAX_SPEED = 300 -@export var ACCELERATION = 1500 -@export var FRICTION = 1200 -# --------------------------------------- - - - -# Calculation Variables ----------------- -@onready var axis = Vector2.ZERO -# --------------------------------------- - - - -# Engine Callbacks ---------------------- -func _physics_process(delta): - move(delta) -# --------------------------------------- - - - -# Input --------------------------------- -func get_input(): - # Makes the function equivalent to unity's Input.GetAxis("Horizontal") - axis.x = int(Input.is_action_pressed("move_right")) - int(Input.is_action_pressed("move_left")) - # Makes the function equivalent to unity's Input.GetAxis("Vertical") - axis.y = int(Input.is_action_pressed("move_down")) - int(Input.is_action_pressed("move-up")) - - return axis.normalized() -# --------------------------------------- - - - -# Movement ------------------------------ -func move(delta): - axis = get_input() # Get the input - - # If player is not moving - if axis == Vector2.ZERO: - apply_friction(FRICTION * delta) - else : - apply_movement(axis * ACCELERATION * delta) - - move_and_slide() - - -func apply_movement(accel): - velocity += accel - velocity = velocity.limit_length(MAX_SPEED) - - -func apply_friction(amount): - if velocity.length() > amount : - velocity -= velocity.normalized() * amount - else : - velocity = Vector2.ZERO -# ---------------------------------------- diff --git a/Player/player.tscn b/Player/player.tscn deleted file mode 100644 index 4b2714d..0000000 --- a/Player/player.tscn +++ /dev/null @@ -1,16 +0,0 @@ -[gd_scene load_steps=4 format=3 uid="uid://btiw3mdue2ien"] - -[ext_resource type="Texture2D" uid="uid://futvep428rf0" path="res://icon.svg" id="1_1j8gw"] -[ext_resource type="Script" path="res://Player/player.gd" id="1_dl5xi"] - -[sub_resource type="CircleShape2D" id="CircleShape2D_rcutd"] -radius = 67.0 - -[node name="Player" type="CharacterBody2D"] -script = ExtResource("1_dl5xi") - -[node name="Sprite2D" type="Sprite2D" parent="."] -texture = ExtResource("1_1j8gw") - -[node name="CollisionShape2D" type="CollisionShape2D" parent="."] -shape = SubResource("CircleShape2D_rcutd") diff --git a/Scenes/Movement.tscn b/Scenes/Movement.tscn deleted file mode 100644 index 4529cb2..0000000 --- a/Scenes/Movement.tscn +++ /dev/null @@ -1,16 +0,0 @@ -[gd_scene load_steps=2 format=3 uid="uid://bu6iwskde5hn6"] - -[ext_resource type="PackedScene" uid="uid://btiw3mdue2ien" path="res://Player/player.tscn" id="1_62wcj"] - -[node name="Movement" type="Node2D"] - -[node name="Player" parent="." instance=ExtResource("1_62wcj")] -position = Vector2(561, 312) -MAX_SPEED = 350 -ACCELERATION = 2500 -FRICTION = 1500 - -[node name="StaticBody2D" type="StaticBody2D" parent="."] - -[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="StaticBody2D"] -polygon = PackedVector2Array(90, 68, 776, 70, 1086, 236, 924, 566, 704, 220, 262, 154, 174, 494, 34, 316) diff --git a/Scenes/PlayerMovement.tscn b/Scenes/PlayerMovement.tscn new file mode 100644 index 0000000..73f741f --- /dev/null +++ b/Scenes/PlayerMovement.tscn @@ -0,0 +1,22 @@ +[gd_scene load_steps=3 format=3 uid="uid://ccgpsim5nfxd6"] + +[ext_resource type="Script" path="res://Scripts/PlayerController.gd" id="1_x3102"] +[ext_resource type="Texture2D" uid="uid://c6n0go8l4gaak" path="res://Assets/Sprites/Jesus_Left_Idle.png" id="2_48vut"] + +[node name="Node2D" type="Node2D"] + +[node name="CharacterBody2D" type="CharacterBody2D" parent="."] +script = ExtResource("1_x3102") + +[node name="Sprite2D" type="Sprite2D" parent="CharacterBody2D"] +texture = ExtResource("2_48vut") + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="CharacterBody2D"] +polygon = PackedVector2Array(16, 32, -14, 32, -14, -22, 16, -22) + +[node name="Camera2D" type="Camera2D" parent="CharacterBody2D"] +position_smoothing_enabled = true +drag_horizontal_enabled = true +drag_vertical_enabled = true +editor_draw_limits = true +editor_draw_drag_margin = true diff --git a/Scripts/PlayerController.gd b/Scripts/PlayerController.gd new file mode 100644 index 0000000..f167eb8 --- /dev/null +++ b/Scripts/PlayerController.gd @@ -0,0 +1,24 @@ +extends CharacterBody2D + +@export var speed = 100 +@export_range(0, 1) var damping_factor := 0.6 + +func get_move_vector(): + var input_direction = Input.get_vector("move_left", "move_right", "move_up", "move_down").normalized() + return input_direction + +func move_player(delta : float): + if get_move_vector() == Vector2.ZERO: + # Damp Players Velocity if no Input + self.velocity = self.velocity * (1 - min(1, damping_factor * 60 * delta)) + else: + # Set Players Velocity to the Input Direction in the Players Speed + self.velocity = get_move_vector() * speed * delta * 60 + + # Update The Players Physics Calculations + self.move_and_slide() + pass + +func _physics_process(delta : float): + move_player(delta) + pass diff --git a/project.godot b/project.godot index b9f6a67..56d2078 100644 --- a/project.godot +++ b/project.godot @@ -25,24 +25,28 @@ move_left={ "deadzone": 0.5, "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":65,"key_label":0,"unicode":0,"echo":false,"script":null) , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194319,"key_label":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":-1.0,"script":null) ] } move_right={ "deadzone": 0.5, "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":68,"key_label":0,"unicode":0,"echo":false,"script":null) , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":0,"axis_value":1.0,"script":null) ] } -move-up={ +move_up={ "deadzone": 0.5, "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":87,"key_label":0,"unicode":0,"echo":false,"script":null) , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194320,"key_label":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":-1.0,"script":null) ] } move_down={ "deadzone": 0.5, "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":83,"key_label":0,"unicode":0,"echo":false,"script":null) , Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194322,"key_label":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":1.0,"script":null) ] } -- 2.45.2 From 537589e30ba817ff3cbbc73934a6336a866866dd Mon Sep 17 00:00:00 2001 From: Snoweuph Date: Fri, 7 Apr 2023 16:22:55 +0200 Subject: [PATCH 04/19] Putting Generated Map into PlayerMovement Scene For testing --- Scenes/PlayerMovement.tscn | 15 ++++++++++++++- project.godot | 1 - 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/Scenes/PlayerMovement.tscn b/Scenes/PlayerMovement.tscn index 73f741f..ac57954 100644 --- a/Scenes/PlayerMovement.tscn +++ b/Scenes/PlayerMovement.tscn @@ -1,12 +1,24 @@ -[gd_scene load_steps=3 format=3 uid="uid://ccgpsim5nfxd6"] +[gd_scene load_steps=5 format=3 uid="uid://ccgpsim5nfxd6"] [ext_resource type="Script" path="res://Scripts/PlayerController.gd" id="1_x3102"] [ext_resource type="Texture2D" uid="uid://c6n0go8l4gaak" path="res://Assets/Sprites/Jesus_Left_Idle.png" id="2_48vut"] +[ext_resource type="TileSet" uid="uid://b7cqbf6xdbeal" path="res://Assets/Test_Tileset.tres" id="3_0at2g"] +[ext_resource type="Script" path="res://Scripts/MapGenerator.gd" id="4_8st0q"] [node name="Node2D" type="Node2D"] +[node name="TileMap" type="TileMap" parent="."] +tile_set = ExtResource("3_0at2g") +cell_quadrant_size = 8 +collision_visibility_mode = 1 +format = 2 +script = ExtResource("4_8st0q") + [node name="CharacterBody2D" type="CharacterBody2D" parent="."] +position = Vector2(512, 300) +scale = Vector2(0.25, 0.25) script = ExtResource("1_x3102") +speed = 80 [node name="Sprite2D" type="Sprite2D" parent="CharacterBody2D"] texture = ExtResource("2_48vut") @@ -15,6 +27,7 @@ texture = ExtResource("2_48vut") polygon = PackedVector2Array(16, 32, -14, 32, -14, -22, 16, -22) [node name="Camera2D" type="Camera2D" parent="CharacterBody2D"] +zoom = Vector2(10, 10) position_smoothing_enabled = true drag_horizontal_enabled = true drag_vertical_enabled = true diff --git a/project.godot b/project.godot index 8bb1ac3..148a2ef 100644 --- a/project.godot +++ b/project.godot @@ -59,4 +59,3 @@ move_down={ renderer/rendering_method="gl_compatibility" renderer/rendering_method.mobile="gl_compatibility" textures/canvas_textures/default_texture_filter=0 - -- 2.45.2 From f731170b15d7a9a98561acc4a76e23fcf05ec9d5 Mon Sep 17 00:00:00 2001 From: Snoweuph Date: Fri, 7 Apr 2023 16:53:54 +0200 Subject: [PATCH 05/19] Improve and Speedup MapGeneration Code --- Scripts/MapGenerator.gd | 117 ++++++++++++++++++++++------------------ 1 file changed, 66 insertions(+), 51 deletions(-) diff --git a/Scripts/MapGenerator.gd b/Scripts/MapGenerator.gd index 7267c96..9b066e6 100644 --- a/Scripts/MapGenerator.gd +++ b/Scripts/MapGenerator.gd @@ -17,18 +17,33 @@ extends TileMap @export var cave_mine_size_threshold := 80 func _ready(): + var time = generate() + print("time for generation: " + str(time)) + + pass + + +func generate() -> float: var start_time = Time.get_unix_time_from_system() + randomize() - random_fill() - make_cave_areas() - make_borders() + fill_random_noise() + + for i in cave_gen_iterations: + change_cells_by_neighbor_thresholds() + + set_borders_solid() prepare_player_start_area() connect_caves(get_caves()) - make_cave_areas() - make_borders() - print(Time.get_unix_time_from_system() - start_time) - -func random_fill(): + + for i in cave_gen_iterations: + change_cells_by_neighbor_thresholds() + + set_borders_solid() + + return Time.get_unix_time_from_system() - start_time + +func fill_random_noise(): for x in width: for y in height: if randf() < fill_percentage: @@ -36,15 +51,16 @@ func random_fill(): else: self.set_cell(0, Vector2i(x,y),non_solid_id, Vector2i(0, 0)) pass - -func make_borders(): + +func set_borders_solid(): for x in width: self.set_cell(0, Vector2i(x,0),solid_id, Vector2i(0, 0)) self.set_cell(0, Vector2i(x,height-1),solid_id, Vector2i(0, 0)) for y in height: self.set_cell(0, Vector2i(0,y),solid_id, Vector2i(0, 0)) self.set_cell(0, Vector2i(width-1,y),solid_id, Vector2i(0, 0)) - + pass + func prepare_player_start_area(): var center = Vector2i(width/2, height/2) for x in range(center.x - start_area_size, center.x + start_area_size): @@ -58,37 +74,36 @@ func prepare_player_start_area(): var p2 = p for y in range(center.y - start_area_size, center.y + start_area_size): - # Decide if the tile is part of the Corner or not - if !(p2 > 0 or p2 <= - (start_area_size*2 - p*2)): - self.set_cell(0, Vector2i(x,y),non_solid_id, Vector2i(0, 0)) - p2 -= 1 - -func make_cave_areas(): - for i in cave_gen_iterations: - for x in range(1, width): - for y in range(1, height): - # Count Solid Neighbor Cells - var count := 0 - #y-1 - if self.get_cell_source_id(0, Vector2i(x-1, y-1)) == solid_id: count +=1 - if self.get_cell_source_id(0, Vector2i(x, y-1)) == solid_id: count +=1 - if self.get_cell_source_id(0, Vector2i(x+1, y-1)) == solid_id: count +=1 - #y - if self.get_cell_source_id(0, Vector2i(x-1, y)) == solid_id: count +=1 - if self.get_cell_source_id(0, Vector2i(x+1, y)) == solid_id: count +=1 - #y+1 - if self.get_cell_source_id(0, Vector2i(x-1, y+1)) == solid_id: count +=1 - if self.get_cell_source_id(0, Vector2i(x, y+1)) == solid_id: count +=1 - if self.get_cell_source_id(0, Vector2i(x+1, y+1)) == solid_id: count +=1 - - # Check Wether to Change the Cell or Not - if count < nonsolid_threshold: - self.set_cell(0, Vector2i(x,y),non_solid_id, Vector2i(0, 0)) - - if count >= solid_threshold: - self.set_cell(0, Vector2i(x,y),solid_id, Vector2i(0, 0)) + # Decide if the tile is part of the Corner or not + if !(p2 > 0 or p2 <= - (start_area_size*2 - p*2)): + self.set_cell(0, Vector2i(x,y),non_solid_id, Vector2i(0, 0)) + p2 -= 1 pass - + +func change_cells_by_neighbor_thresholds(): + for x in range(1, width): + for y in range(1, height): + # Count Solid Neighbor Cells + var count := 0 + #y-1 + if self.get_cell_source_id(0, Vector2i(x-1, y-1)) == solid_id: count +=1 + if self.get_cell_source_id(0, Vector2i(x, y-1)) == solid_id: count +=1 + if self.get_cell_source_id(0, Vector2i(x+1, y-1)) == solid_id: count +=1 + #y + if self.get_cell_source_id(0, Vector2i(x-1, y)) == solid_id: count +=1 + if self.get_cell_source_id(0, Vector2i(x+1, y)) == solid_id: count +=1 + #y+1 + if self.get_cell_source_id(0, Vector2i(x-1, y+1)) == solid_id: count +=1 + if self.get_cell_source_id(0, Vector2i(x, y+1)) == solid_id: count +=1 + if self.get_cell_source_id(0, Vector2i(x+1, y+1)) == solid_id: count +=1 + + # Check Threshold + if count < nonsolid_threshold: + self.set_cell(0, Vector2i(x,y),non_solid_id, Vector2i(0, 0)) + if count >= solid_threshold: + self.set_cell(0, Vector2i(x,y),solid_id, Vector2i(0, 0)) + pass + func get_caves() -> Array: # get caves var caves := [] @@ -127,7 +142,7 @@ func flood_fill(tilex, tiley, caves) -> Array: caves.append(cave) return caves -func choose(choices): +func choose_rand(choices): randomize() var rand_index = randi() % choices.size() @@ -139,8 +154,8 @@ func connect_caves(caves): for cave in tunnel_caves: if prev_cave: - var new_point = choose(cave) - var prev_point = choose(prev_cave) + var new_point = choose_rand(cave) + var prev_point = choose_rand(prev_cave) # ensure not the same point if new_point != prev_point: @@ -151,7 +166,7 @@ func connect_caves(caves): func create_tunnel(point1, point2, cave): randomize() # for randf - var max_steps = 500 # so editor won't hang if walk fails + var max_steps = 500 # so game won't hang if walk fails var steps = 0 var drunk_x = point2[0] var drunk_y = point2[1] @@ -167,13 +182,13 @@ func create_tunnel(point1, point2, cave): var weight = 1 # weight the random walk against edges - if drunk_x < point1.x: # drunkard is left of point1 + if drunk_x < point1.x: e += weight - elif drunk_x > point1.x: # drunkard is right of point1 + elif drunk_x > point1.x: w += weight - if drunk_y < point1.y: # drunkard is above point1 + if drunk_y < point1.y: s += weight - elif drunk_y > point1.y: # drunkard is below point1 + elif drunk_y > point1.y: n += weight # normalize probabilities so they form a range from 0 to 1 @@ -186,7 +201,7 @@ func create_tunnel(point1, point2, cave): var dx var dy - # choose the direction + # choose_rand the direction var choice = randf() if 0 <= choice and choice < n: @@ -208,9 +223,9 @@ func create_tunnel(point1, point2, cave): drunk_x += dx drunk_y += dy - if self.get_cell_source_id(0, Vector2i(drunk_x, drunk_y)) == solid_id: self.set_cell(0, Vector2i(drunk_x, drunk_y),non_solid_id, Vector2i(0, 0)) #make tunnel wider self.set_cell(0, Vector2i(drunk_x+1, drunk_y),non_solid_id, Vector2i(0, 0)) self.set_cell(0, Vector2i(drunk_x+1, drunk_y+1),non_solid_id, Vector2i(0, 0)) + pass -- 2.45.2 From 080401b9a3f44048f40923e1e8b9cb3c2a4ee4a7 Mon Sep 17 00:00:00 2001 From: AXVIII3 <76608488+AXVIII3@users.noreply.github.com> Date: Fri, 7 Apr 2023 22:56:18 +0530 Subject: [PATCH 06/19] Final Player Movement \w Animations --- Assets/Sprites/Jesus/Jesus Back.png | Bin 0 -> 597 bytes Assets/Sprites/Jesus/Jesus Back.png.import | 34 +++++ Assets/Sprites/Jesus/Jesus Front.png | Bin 0 -> 714 bytes Assets/Sprites/Jesus/Jesus Front.png.import | 34 +++++ Assets/Sprites/Jesus/Jesus Left.png | Bin 0 -> 665 bytes Assets/Sprites/Jesus/Jesus Left.png.import | 34 +++++ Assets/Sprites/Jesus/Jesus Spritesheet.png | Bin 0 -> 7347 bytes .../Jesus/Jesus Spritesheet.png.import | 34 +++++ Assets/Sprites/Jesus/Shadow.png | Bin 0 -> 145 bytes Assets/Sprites/Jesus/Shadow.png.import | 34 +++++ Scenes/PlayerMovement.tscn | 138 ++++++++++++++++-- Scripts/PlayerController.gd | 48 ++++-- project.godot | 2 +- 13 files changed, 335 insertions(+), 23 deletions(-) create mode 100644 Assets/Sprites/Jesus/Jesus Back.png create mode 100644 Assets/Sprites/Jesus/Jesus Back.png.import create mode 100644 Assets/Sprites/Jesus/Jesus Front.png create mode 100644 Assets/Sprites/Jesus/Jesus Front.png.import create mode 100644 Assets/Sprites/Jesus/Jesus Left.png create mode 100644 Assets/Sprites/Jesus/Jesus Left.png.import create mode 100644 Assets/Sprites/Jesus/Jesus Spritesheet.png create mode 100644 Assets/Sprites/Jesus/Jesus Spritesheet.png.import create mode 100644 Assets/Sprites/Jesus/Shadow.png create mode 100644 Assets/Sprites/Jesus/Shadow.png.import diff --git a/Assets/Sprites/Jesus/Jesus Back.png b/Assets/Sprites/Jesus/Jesus Back.png new file mode 100644 index 0000000000000000000000000000000000000000..51840ac9422391d0688f8bd0417d9afd7f565161 GIT binary patch literal 597 zcmV-b0;>IqP)Px%4@pEpRA@u(m_10uFcg4$=&T?j2>vXNf(TB6LU9yVZxLN}5ae)ha8wYKLvU~w zTyzyjDd^xRf}_(p2rh0eDwS7wlBUUfFKv&OBVCSO)4VTVUSHBSf{Kqu#qk3V;0<^K z-hh*Vv#q6=D_q;>cTRnZ8cPD}U{a9!1LPS!+K^Zv4HOA3h4290fH&X`^tOS*r5MU- zk#g(|aM+y7toH*$gWMLtdOa7w=ht_p!^yE>X9!7f=romtU;qG4Zl06>@w{>X0HShX zdUZcB^m2WW{7Og98c@AQQIyIL2!?^xc2gV8n>{!hONpQHYFaQQulQC~_?2EHtROAYvjvV!u0fL$jlV{+_&S0-&ryNsnJsg zL;&3Ax!|=2&@E)9fHEK%Jyi=#kE8K1v_agqcSOYr8c|hLElOelm*8CiaMACQh++d} z0xa}B1^tVyB(?~^H8^LW{s6EcQJ3Sg4X{sv3Xmr_R|`CVHy}1pBmt#6BXUnzDZu(; zN4)Y;4Y@74)j-bz=r1U&0esJg%_^vVUpx9YZh8fOn;3~lFZWWjf-9eCs@RuPylHo3 jCiQ_r{dS;t?9%oRlFpn^sg!$G00000NkvXXu0mjfcGvmr literal 0 HcmV?d00001 diff --git a/Assets/Sprites/Jesus/Jesus Back.png.import b/Assets/Sprites/Jesus/Jesus Back.png.import new file mode 100644 index 0000000..b6bde28 --- /dev/null +++ b/Assets/Sprites/Jesus/Jesus Back.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ct2del6b6jorm" +path="res://.godot/imported/Jesus Back.png-6132a4979edf4d1442fefae322c4ce7c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Sprites/Jesus/Jesus Back.png" +dest_files=["res://.godot/imported/Jesus Back.png-6132a4979edf4d1442fefae322c4ce7c.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/Assets/Sprites/Jesus/Jesus Front.png b/Assets/Sprites/Jesus/Jesus Front.png new file mode 100644 index 0000000000000000000000000000000000000000..2f4f5ffb46945897a9fc9a68d043ab8fde1ad7c4 GIT binary patch literal 714 zcmV;*0yX`KP)Px%gh@m}RA@u(m_10tP!PvcbXJfe2%?LlB7&m+@7|*uIwoSo1>&|LV(PD{V4kiT|et;z2qZ$$wViibZTnb?gP}?j==3(oyqkLyl zK@1RQm|LYFP5^9-BMd^M2H?hVWBOe83_##{4v<;_kkTY~Tv(g~m}Y_VB;*QY4xno` z2*pEXk{{kP4kKvCx*X6cks9Erx~$Cmv59fTmaZ`+X~T*F0Pz0tsTiD{E=ofmtdqze z32<`T^FxC`nF9cj&1jZ-Z&ZNl{yH-`xG66fLovT`;IAo_O2z~?<^YBQ76Jf##zCNQ zq?AB}C}|ZyG9o~?+a1hpRRix|+E?E5^< zND7e(pjl96vPPtZ20iKq&O&1fdaq=R0XjDE&yN;Qy7#GK@(&a0LLyS4N&f5TmPg-}bKpP!$pZ=&AtSunj}z091c*61q@8m&E@AAZae}gNbz` z;%(428FPTl6rk1MqzY`4FjD|N%n~WUTPYsbbX72Q(Fhd_J=z(MWbh{aZHPPJVHNLj wn(0m_HfxPPPSL>L`eNu0Ec)L8hp<`u1AIzHUvk$q!vFvP07*qoM6N<$f^x_$LjV8( literal 0 HcmV?d00001 diff --git a/Assets/Sprites/Jesus/Jesus Front.png.import b/Assets/Sprites/Jesus/Jesus Front.png.import new file mode 100644 index 0000000..f35491f --- /dev/null +++ b/Assets/Sprites/Jesus/Jesus Front.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c03lntytfivr1" +path="res://.godot/imported/Jesus Front.png-b78bfa6c3ed674009555f7ab3f93e778.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Sprites/Jesus/Jesus Front.png" +dest_files=["res://.godot/imported/Jesus Front.png-b78bfa6c3ed674009555f7ab3f93e778.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/Assets/Sprites/Jesus/Jesus Left.png b/Assets/Sprites/Jesus/Jesus Left.png new file mode 100644 index 0000000000000000000000000000000000000000..fba652ff02c4ec1a41ac63f83d84a9e677ab9b9c GIT binary patch literal 665 zcmV;K0%rY*P)Px%Q%OWYRA@u(nK4TPK@f%S&_7|JRXPmF@kpimsmCYhse~s(5@qkS? zfNAIIwmBtYDS!aDI0aHaGg(0)oN6F30Fd|Rz8*|IsRH@sd2cp1DJ8a&9OF=OAf(C09;MyJPVoDw1h zxZO)_Fj+BL00-M!L0{7uZX0d3LKG=L@BQ#VzX3Riz=Ajc?fR}wr0(~{>O~~ZSOd1= z!_`~>RwkZ85Y7PTx7t>cI)KbmS2a0+=>Qrk00oJwfLe^AIiOQQS9MYwsCrHSkknL| zsR5uiB%;8;09+0ygy^dRsRNjP|L_x4!1+>YYeQEH#v1_q?@0l82<{HGv!-{tUk*)V z-Oq4ataB0K#YF-jiFF3pTU%iNtWtkjOJe^4{OyQ-dp8co00000NkvXXu0mjf$}|)k literal 0 HcmV?d00001 diff --git a/Assets/Sprites/Jesus/Jesus Left.png.import b/Assets/Sprites/Jesus/Jesus Left.png.import new file mode 100644 index 0000000..34a5751 --- /dev/null +++ b/Assets/Sprites/Jesus/Jesus Left.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cn4kqa1p845wl" +path="res://.godot/imported/Jesus Left.png-2949c2879ed5f5e8def57f2eb1498de4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Sprites/Jesus/Jesus Left.png" +dest_files=["res://.godot/imported/Jesus Left.png-2949c2879ed5f5e8def57f2eb1498de4.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/Assets/Sprites/Jesus/Jesus Spritesheet.png b/Assets/Sprites/Jesus/Jesus Spritesheet.png new file mode 100644 index 0000000000000000000000000000000000000000..3d67761e0ea3f162fe9265323c092315313bd96b GIT binary patch literal 7347 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 literal 0 HcmV?d00001 diff --git a/Assets/Sprites/Jesus/Shadow.png.import b/Assets/Sprites/Jesus/Shadow.png.import new file mode 100644 index 0000000..dbfe369 --- /dev/null +++ b/Assets/Sprites/Jesus/Shadow.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cubc3m81pdyvq" +path="res://.godot/imported/Shadow.png-e182ddfbb5e0bd7753fe3ec1e6b362c7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Sprites/Jesus/Shadow.png" +dest_files=["res://.godot/imported/Shadow.png-e182ddfbb5e0bd7753fe3ec1e6b362c7.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/Scenes/PlayerMovement.tscn b/Scenes/PlayerMovement.tscn index ac57954..d13fce9 100644 --- a/Scenes/PlayerMovement.tscn +++ b/Scenes/PlayerMovement.tscn @@ -1,35 +1,151 @@ -[gd_scene load_steps=5 format=3 uid="uid://ccgpsim5nfxd6"] +[gd_scene load_steps=12 format=3 uid="uid://ccgpsim5nfxd6"] [ext_resource type="Script" path="res://Scripts/PlayerController.gd" id="1_x3102"] -[ext_resource type="Texture2D" uid="uid://c6n0go8l4gaak" path="res://Assets/Sprites/Jesus_Left_Idle.png" id="2_48vut"] [ext_resource type="TileSet" uid="uid://b7cqbf6xdbeal" path="res://Assets/Test_Tileset.tres" id="3_0at2g"] [ext_resource type="Script" path="res://Scripts/MapGenerator.gd" id="4_8st0q"] +[ext_resource type="Texture2D" uid="uid://bl7vfn05ul1vu" path="res://Assets/Sprites/Jesus/Jesus Spritesheet.png" id="4_e5cec"] -[node name="Node2D" type="Node2D"] +[sub_resource type="Animation" id="Animation_kdxam"] +resource_name = "Idle" +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Player Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [0] +} -[node name="TileMap" type="TileMap" parent="."] +[sub_resource type="Animation" id="Animation_dwpep"] +resource_name = "MoveDown" +length = 0.8 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Player Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = false +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2, 0.4, 0.6), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 1, +"values": [0, 1, 2, 3] +} + +[sub_resource type="Animation" id="Animation_2jvl5"] +resource_name = "MoveLeft" +length = 0.8 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Player Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2, 0.4, 0.6), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 1, +"values": [12, 13, 14, 15] +} + +[sub_resource type="Animation" id="Animation_4ig1u"] +resource_name = "MoveRight" +length = 0.8 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Player Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2, 0.4, 0.6), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 1, +"values": [4, 5, 6, 7] +} + +[sub_resource type="Animation" id="Animation_pswkh"] +resource_name = "MoveUp" +length = 0.8 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Player Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2, 0.4, 0.6), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 1, +"values": [8, 9, 10, 11] +} + +[sub_resource type="Animation" id="Animation_o3hln"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Player Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [0] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_bi1h3"] +_data = { +"Idle": SubResource("Animation_kdxam"), +"MoveDown": SubResource("Animation_dwpep"), +"MoveLeft": SubResource("Animation_2jvl5"), +"MoveRight": SubResource("Animation_4ig1u"), +"MoveUp": SubResource("Animation_pswkh"), +"RESET": SubResource("Animation_o3hln") +} + +[node name="Player Movement" type="Node2D"] + +[node name="Map Generator" type="TileMap" parent="."] tile_set = ExtResource("3_0at2g") cell_quadrant_size = 8 collision_visibility_mode = 1 format = 2 script = ExtResource("4_8st0q") -[node name="CharacterBody2D" type="CharacterBody2D" parent="."] +[node name="Player" type="CharacterBody2D" parent="." node_paths=PackedStringArray("animation_player")] position = Vector2(512, 300) scale = Vector2(0.25, 0.25) script = ExtResource("1_x3102") -speed = 80 +animation_player = NodePath("Player Animator") -[node name="Sprite2D" type="Sprite2D" parent="CharacterBody2D"] -texture = ExtResource("2_48vut") +[node name="Player Sprite" type="Sprite2D" parent="Player"] +position = Vector2(0, -20) +texture = ExtResource("4_e5cec") +hframes = 4 +vframes = 4 -[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="CharacterBody2D"] -polygon = PackedVector2Array(16, 32, -14, 32, -14, -22, 16, -22) +[node name="Player Collider" type="CollisionPolygon2D" parent="Player"] +polygon = PackedVector2Array(12, 32, -16, 32, -16, -24, 12, -24) -[node name="Camera2D" type="Camera2D" parent="CharacterBody2D"] +[node name="Player Camera" type="Camera2D" parent="Player"] zoom = Vector2(10, 10) position_smoothing_enabled = true drag_horizontal_enabled = true drag_vertical_enabled = true editor_draw_limits = true editor_draw_drag_margin = true + +[node name="Player Animator" type="AnimationPlayer" parent="Player"] +libraries = { +"": SubResource("AnimationLibrary_bi1h3") +} diff --git a/Scripts/PlayerController.gd b/Scripts/PlayerController.gd index f167eb8..9706185 100644 --- a/Scripts/PlayerController.gd +++ b/Scripts/PlayerController.gd @@ -1,24 +1,50 @@ extends CharacterBody2D -@export var speed = 100 -@export_range(0, 1) var damping_factor := 0.6 +# Serialized Variables +@export var speed = 20 +@export_range(0, 1) var dampning_function = 0.6 +@export var animation_player : AnimationPlayer + +# Engine Callbacks +func _physics_process(delta : float): + move_player(delta) + pass + + + +# Getting player input into a vector func get_move_vector(): var input_direction = Input.get_vector("move_left", "move_right", "move_up", "move_down").normalized() return input_direction + + +# Calculates the players velocity based on input and moves it func move_player(delta : float): + # Damp Players Velocity if no Input if get_move_vector() == Vector2.ZERO: - # Damp Players Velocity if no Input - self.velocity = self.velocity * (1 - min(1, damping_factor * 60 * delta)) + self.velocity = self.velocity * (1 - min(1, dampning_function * 60 * delta)) + + # Set Player's velocity to the Input direction with a magnitude of Speed synced with frame rate else: - # Set Players Velocity to the Input Direction in the Players Speed - self.velocity = get_move_vector() * speed * delta * 60 - - # Update The Players Physics Calculations + self.velocity = get_move_vector().normalized() * speed * delta * 60 + + # Animate the player + animate_player_movement() + + # Finally, update the Player's physics calculations self.move_and_slide() pass -func _physics_process(delta : float): - move_player(delta) - pass + + +func animate_player_movement(): + var move_vector = get_move_vector() + match move_vector: + Vector2.ZERO: animation_player.play("Idle") + Vector2.LEFT: animation_player.play("MoveLeft") + Vector2.RIGHT: animation_player.play("MoveRight") + Vector2.UP: animation_player.play("MoveUp") + Vector2.DOWN: animation_player.play("MoveDown") + _: animation_player.play("Idle") diff --git a/project.godot b/project.godot index 148a2ef..5397ca5 100644 --- a/project.godot +++ b/project.godot @@ -11,7 +11,7 @@ config_version=5 [application] config/name="HoppyEaster" -run/main_scene="res://Scenes/Movement.tscn" +run/main_scene="res://Scenes/PlayerMovement.tscn" config/features=PackedStringArray("4.0", "GL Compatibility") config/icon="res://icon.svg" -- 2.45.2 From e833b82dd4036dee73f945da20dc8ee0cba9cad9 Mon Sep 17 00:00:00 2001 From: Snoweuph Date: Fri, 7 Apr 2023 19:52:50 +0200 Subject: [PATCH 07/19] Cleanup of Code --- Scripts/PlayerController.gd | 39 +++++++++++++------------------------ 1 file changed, 13 insertions(+), 26 deletions(-) diff --git a/Scripts/PlayerController.gd b/Scripts/PlayerController.gd index 9706185..310a71a 100644 --- a/Scripts/PlayerController.gd +++ b/Scripts/PlayerController.gd @@ -1,46 +1,32 @@ extends CharacterBody2D -# Serialized Variables @export var speed = 20 -@export_range(0, 1) var dampning_function = 0.6 +@export_range(0, 1) var damping_factor = 0.6 @export var animation_player : AnimationPlayer - -# Engine Callbacks func _physics_process(delta : float): - move_player(delta) + update_player_movement(delta) pass - - -# Getting player input into a vector -func get_move_vector(): +func get_move_input_vector() -> Vector2: var input_direction = Input.get_vector("move_left", "move_right", "move_up", "move_down").normalized() return input_direction - - -# Calculates the players velocity based on input and moves it -func move_player(delta : float): - # Damp Players Velocity if no Input - if get_move_vector() == Vector2.ZERO: - self.velocity = self.velocity * (1 - min(1, dampning_function * 60 * delta)) +func update_player_movement(delta : float): + var input = get_move_input_vector() - # Set Player's velocity to the Input direction with a magnitude of Speed synced with frame rate - else: - self.velocity = get_move_vector().normalized() * speed * delta * 60 + # Damp Movement if not moving, Accelerate if Moving + var is_moving = input != Vector2.ZERO + self.velocity = input * speed * delta * 60 if is_moving else self.velocity * (1 - min(1, damping_factor * 60 * delta)) - # Animate the player - animate_player_movement() + update_player_animation() - # Finally, update the Player's physics calculations + # Update Objects Physics calculations self.move_and_slide() pass - - -func animate_player_movement(): - var move_vector = get_move_vector() +func update_player_animation(): + var move_vector = get_move_input_vector() match move_vector: Vector2.ZERO: animation_player.play("Idle") Vector2.LEFT: animation_player.play("MoveLeft") @@ -48,3 +34,4 @@ func animate_player_movement(): Vector2.UP: animation_player.play("MoveUp") Vector2.DOWN: animation_player.play("MoveDown") _: animation_player.play("Idle") + pass -- 2.45.2 From b1e63481fe1a3f8d809a4d6f66cf19f530821f50 Mon Sep 17 00:00:00 2001 From: Snoweuph Date: Fri, 7 Apr 2023 19:55:29 +0200 Subject: [PATCH 08/19] Remove no longer needed file --- Assets/Sprites/Jesus_Left_Idle.png | Bin 641 -> 0 bytes Assets/Sprites/Jesus_Left_Idle.png.import | 34 ---------------------- 2 files changed, 34 deletions(-) delete mode 100644 Assets/Sprites/Jesus_Left_Idle.png delete mode 100644 Assets/Sprites/Jesus_Left_Idle.png.import diff --git a/Assets/Sprites/Jesus_Left_Idle.png b/Assets/Sprites/Jesus_Left_Idle.png deleted file mode 100644 index 4082dd7546dc404958a4d14a2c48f6658d2894b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 641 zcmV-{0)G98P)q+JLb0HuLPZfpq;o-(x=KeW)KNi1M<*Qw z7dID`%0Em=(t$c}^n?xXJ zQ5!OSHWN}|BHk4OCUm6)BII%;Y!=QfrM0o;vl@v|P<(zD7&GmC96E(EAaOIft{BOAd*PtgHJ?z7k3_9 zLxTg_$*|`<3Y>feqCu~|rdhpSZ^EUD?J%LL_97-0H~ss=`4(#NAowN}Jpg4e4G=R? zk>CVPNTpJ(HGBnl-G5`oh1yTYt7X_@rHUTcV#1Z6C@`MQXyY&>Knaowbw;uU%oq7y zfF_{I-Xt@W$5bLR0atKNAV>)m0h9SCpPV%TmuPFnr9zgK3e3+I(?-KUOM&&(Wv2`2 zd|-Vd5^*>+f{Ife+*<^8j!&7~io@=FfVuu#H32NRl%o67`2$qbVGwgtY>0NJRX bZDYRybItKwhRaT>00000NkvXXu0mjf7-bZy diff --git a/Assets/Sprites/Jesus_Left_Idle.png.import b/Assets/Sprites/Jesus_Left_Idle.png.import deleted file mode 100644 index 7e997b4..0000000 --- a/Assets/Sprites/Jesus_Left_Idle.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://c6n0go8l4gaak" -path="res://.godot/imported/Jesus_Left_Idle.png-591d029c8d8b8b573a2665b70cf0e031.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://Assets/Sprites/Jesus_Left_Idle.png" -dest_files=["res://.godot/imported/Jesus_Left_Idle.png-591d029c8d8b8b573a2665b70cf0e031.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 -- 2.45.2 From 8e03e10593322f75997399a1149600b84368b43b Mon Sep 17 00:00:00 2001 From: AXVIII3 <76608488+AXVIII3@users.noreply.github.com> Date: Sat, 8 Apr 2023 01:02:56 +0530 Subject: [PATCH 09/19] Diagonal Movement Fix and Textures --- Scripts/PlayerController.gd | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/Scripts/PlayerController.gd b/Scripts/PlayerController.gd index 310a71a..584f977 100644 --- a/Scripts/PlayerController.gd +++ b/Scripts/PlayerController.gd @@ -33,5 +33,11 @@ func update_player_animation(): Vector2.RIGHT: animation_player.play("MoveRight") Vector2.UP: animation_player.play("MoveUp") Vector2.DOWN: animation_player.play("MoveDown") - _: animation_player.play("Idle") + _: handle_diagonal_animations(move_vector) + pass + +func handle_diagonal_animations(dir : Vector2): + if (dir.y > 0 and dir.x < 0) or (dir.y < 0 and dir.x < 0): animation_player.play("MoveLeft") + elif (dir.y > 0 and dir.x > 0) or (dir.y < 0 and dir.x > 0): animation_player.play("MoveRight") + else: animation_player.play("Idle") pass -- 2.45.2 From 5e5c94272985dc45efa448337d826949aa174158 Mon Sep 17 00:00:00 2001 From: Snoweuph Date: Sat, 8 Apr 2023 00:59:28 +0200 Subject: [PATCH 10/19] Adding Bunnys, Tileset & Colorpallte - Removing Placeholers - Setting Up Rule Tile --- Assets/ColorPallet.ase | Bin 0 -> 333 bytes Assets/ColorPallet.png | Bin 0 -> 177 bytes ...derA.png.import => ColorPallet.png.import} | 8 +- Assets/Sprites/{ => EvilBunny}/bunny_down.png | Bin .../Sprites/EvilBunny/bunny_down.png.import | 34 ++ Assets/Sprites/{ => EvilBunny}/bunny_left.png | Bin .../Sprites/EvilBunny/bunny_left.png.import | 34 ++ Assets/Sprites/{ => EvilBunny}/bunny_righ.png | Bin .../Sprites/EvilBunny/bunny_righ.png.import | 34 ++ Assets/Sprites/{ => EvilBunny}/bunny_up.png | Bin .../bunny_up.png.import} | 8 +- Assets/Sprites/GoodBunny/bunny_down.png | Bin 0 -> 1311 bytes .../Sprites/GoodBunny/bunny_down.png.import | 34 ++ Assets/Sprites/GoodBunny/bunny_left.png | Bin 0 -> 1179 bytes .../Sprites/GoodBunny/bunny_left.png.import | 34 ++ Assets/Sprites/GoodBunny/bunny_righ.png | Bin 0 -> 1182 bytes .../{ => GoodBunny}/bunny_righ.png.import | 10 +- Assets/Sprites/GoodBunny/bunny_up.png | Bin 0 -> 1212 bytes .../bunny_up.png.import} | 10 +- Assets/Sprites/PlaceHolderA.png | Bin 78 -> 0 bytes Assets/Sprites/PlaceHolderB.png | Bin 79 -> 0 bytes Assets/Sprites/TileMap.png | Bin 0 -> 1509 bytes ...bunny_up.png.import => TileMap.png.import} | 10 +- Assets/Sprites/bunny_down.png.import | 34 -- Assets/Tileset.tres | 343 ++++++++++++++++++ 25 files changed, 536 insertions(+), 57 deletions(-) create mode 100644 Assets/ColorPallet.ase create mode 100644 Assets/ColorPallet.png rename Assets/{Sprites/PlaceHolderA.png.import => ColorPallet.png.import} (67%) rename Assets/Sprites/{ => EvilBunny}/bunny_down.png (100%) create mode 100644 Assets/Sprites/EvilBunny/bunny_down.png.import rename Assets/Sprites/{ => EvilBunny}/bunny_left.png (100%) create mode 100644 Assets/Sprites/EvilBunny/bunny_left.png.import rename Assets/Sprites/{ => EvilBunny}/bunny_righ.png (100%) create mode 100644 Assets/Sprites/EvilBunny/bunny_righ.png.import rename Assets/Sprites/{ => EvilBunny}/bunny_up.png (100%) rename Assets/Sprites/{PlaceHolderB.png.import => EvilBunny/bunny_up.png.import} (67%) create mode 100644 Assets/Sprites/GoodBunny/bunny_down.png create mode 100644 Assets/Sprites/GoodBunny/bunny_down.png.import create mode 100644 Assets/Sprites/GoodBunny/bunny_left.png create mode 100644 Assets/Sprites/GoodBunny/bunny_left.png.import create mode 100644 Assets/Sprites/GoodBunny/bunny_righ.png rename Assets/Sprites/{ => GoodBunny}/bunny_righ.png.import (64%) create mode 100644 Assets/Sprites/GoodBunny/bunny_up.png rename Assets/Sprites/{bunny_left.png.import => GoodBunny/bunny_up.png.import} (64%) delete mode 100644 Assets/Sprites/PlaceHolderA.png delete mode 100644 Assets/Sprites/PlaceHolderB.png create mode 100644 Assets/Sprites/TileMap.png rename Assets/Sprites/{bunny_up.png.import => TileMap.png.import} (65%) delete mode 100644 Assets/Sprites/bunny_down.png.import create mode 100644 Assets/Tileset.tres diff --git a/Assets/ColorPallet.ase b/Assets/ColorPallet.ase new file mode 100644 index 0000000000000000000000000000000000000000..f96909cf151c267a74730f9afe6a44c509bebf6c GIT binary patch literal 333 zcmeZeWMFu(l#xMzfsug&h#44CfEWQd5KNk|&H_#S^^pZ`s~3JJ~ zV0b)h4Ujw%J0D0Ud)ETVl*B_oQhVhVAUXNURv`J|+l&87K)oy=A8`Qn0W|@20F?vP z0u=&P0hP#uR46bb*#Xqbz|P>4SeaU+U}yy7uqr@g|1&{o25>-C%t=m2NlHshO@991 R$)jfvpFU=1VA{b@2>|yWKFI(8 literal 0 HcmV?d00001 diff --git a/Assets/ColorPallet.png b/Assets/ColorPallet.png new file mode 100644 index 0000000000000000000000000000000000000000..d81afb619922901fc436dbabb6b87cec445c99da GIT binary patch literal 177 zcmeAS@N?(olHy`uVBq!ia0y~yU<5K56j+#nB!Bzv>p)5(z$e7@!>x^vXRSFBJ3raG zHYM?p_R1}juWbGB?L}_cq@zGJoCO|{#S9F5M?jcysy3fAP|)7f#W5tJ_3b%B#sdlr z2Ml!1Fo|t2;NIN8`sQ=^fpu3LjNPg(`DpKb>1{ptiak&R5;*X_ftzQ~4!whXCbA%5 MPgg&ebxsLQ02dQDPyhe` literal 0 HcmV?d00001 diff --git a/Assets/Sprites/PlaceHolderA.png.import b/Assets/ColorPallet.png.import similarity index 67% rename from Assets/Sprites/PlaceHolderA.png.import rename to Assets/ColorPallet.png.import index b23dd9c..fa16fe8 100644 --- a/Assets/Sprites/PlaceHolderA.png.import +++ b/Assets/ColorPallet.png.import @@ -2,16 +2,16 @@ importer="texture" type="CompressedTexture2D" -uid="uid://bjyry6vvtr8h5" -path="res://.godot/imported/PlaceHolderA.png-e2c024c9601592007fcae5cbf8aa801d.ctex" +uid="uid://dwkjfno8mjrdp" +path="res://.godot/imported/ColorPallet.png-9feaa0f98adb7b976a9666999fd546c6.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://Assets/Sprites/PlaceHolderA.png" -dest_files=["res://.godot/imported/PlaceHolderA.png-e2c024c9601592007fcae5cbf8aa801d.ctex"] +source_file="res://Assets/ColorPallet.png" +dest_files=["res://.godot/imported/ColorPallet.png-9feaa0f98adb7b976a9666999fd546c6.ctex"] [params] diff --git a/Assets/Sprites/bunny_down.png b/Assets/Sprites/EvilBunny/bunny_down.png similarity index 100% rename from Assets/Sprites/bunny_down.png rename to Assets/Sprites/EvilBunny/bunny_down.png diff --git a/Assets/Sprites/EvilBunny/bunny_down.png.import b/Assets/Sprites/EvilBunny/bunny_down.png.import new file mode 100644 index 0000000..35c0d3c --- /dev/null +++ b/Assets/Sprites/EvilBunny/bunny_down.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://tv804qpxy44n" +path="res://.godot/imported/bunny_down.png-65e2d347963ef39987488ab06970e3b7.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Sprites/EvilBunny/bunny_down.png" +dest_files=["res://.godot/imported/bunny_down.png-65e2d347963ef39987488ab06970e3b7.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/Assets/Sprites/bunny_left.png b/Assets/Sprites/EvilBunny/bunny_left.png similarity index 100% rename from Assets/Sprites/bunny_left.png rename to Assets/Sprites/EvilBunny/bunny_left.png diff --git a/Assets/Sprites/EvilBunny/bunny_left.png.import b/Assets/Sprites/EvilBunny/bunny_left.png.import new file mode 100644 index 0000000..61153c5 --- /dev/null +++ b/Assets/Sprites/EvilBunny/bunny_left.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dbelgiv204e2b" +path="res://.godot/imported/bunny_left.png-78242bd12e7c1e446aa544882eb0c11c.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Sprites/EvilBunny/bunny_left.png" +dest_files=["res://.godot/imported/bunny_left.png-78242bd12e7c1e446aa544882eb0c11c.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/Assets/Sprites/bunny_righ.png b/Assets/Sprites/EvilBunny/bunny_righ.png similarity index 100% rename from Assets/Sprites/bunny_righ.png rename to Assets/Sprites/EvilBunny/bunny_righ.png diff --git a/Assets/Sprites/EvilBunny/bunny_righ.png.import b/Assets/Sprites/EvilBunny/bunny_righ.png.import new file mode 100644 index 0000000..ee53c8d --- /dev/null +++ b/Assets/Sprites/EvilBunny/bunny_righ.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cvji70p68eae8" +path="res://.godot/imported/bunny_righ.png-087dbfde3e26335391f6eb0d1a0f9a4a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Sprites/EvilBunny/bunny_righ.png" +dest_files=["res://.godot/imported/bunny_righ.png-087dbfde3e26335391f6eb0d1a0f9a4a.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/Assets/Sprites/bunny_up.png b/Assets/Sprites/EvilBunny/bunny_up.png similarity index 100% rename from Assets/Sprites/bunny_up.png rename to Assets/Sprites/EvilBunny/bunny_up.png diff --git a/Assets/Sprites/PlaceHolderB.png.import b/Assets/Sprites/EvilBunny/bunny_up.png.import similarity index 67% rename from Assets/Sprites/PlaceHolderB.png.import rename to Assets/Sprites/EvilBunny/bunny_up.png.import index 62f9ec7..2bbcfab 100644 --- a/Assets/Sprites/PlaceHolderB.png.import +++ b/Assets/Sprites/EvilBunny/bunny_up.png.import @@ -2,16 +2,16 @@ importer="texture" type="CompressedTexture2D" -uid="uid://cbtiuvqgnulmf" -path="res://.godot/imported/PlaceHolderB.png-e4349525f46542a37c6106a7ccfeea94.ctex" +uid="uid://coyib2evn5o61" +path="res://.godot/imported/bunny_up.png-9db830aab18c79505e343895a04cf789.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://Assets/Sprites/PlaceHolderB.png" -dest_files=["res://.godot/imported/PlaceHolderB.png-e4349525f46542a37c6106a7ccfeea94.ctex"] +source_file="res://Assets/Sprites/EvilBunny/bunny_up.png" +dest_files=["res://.godot/imported/bunny_up.png-9db830aab18c79505e343895a04cf789.ctex"] [params] diff --git a/Assets/Sprites/GoodBunny/bunny_down.png b/Assets/Sprites/GoodBunny/bunny_down.png new file mode 100644 index 0000000000000000000000000000000000000000..452b30036031f4b2d6d332d9a70793b5ba8f99c8 GIT binary patch literal 1311 zcmV+)1>pLLP)Z|hMyiJ=aqU7~02u|BU4EqTqSrhEtsE7V_v>Bj1w?B$eJ*$i%>4+s0b5>Y5~_9BBm61W_g#og~AQYP9@nr*s{xsb&yCW zjyB?wHmII;tH1$`#Doe(0`XHNu+vRNflM5&dP<@m85ase!4nXv$x$VX$NPrOq9RG8 z8wRGWxFsCR6e25RtVqe7EPSNmU<|6sq7EaoIVzV8QY!qFN0vbot5S+ zI3P#tUNRRSCkOhfA3K;P5+W$QWrl6qJ=;RrPR5Clb5i)bGe~6FC)`Qh&+TwD$q%ZN zIcwss16oZ?7b-;vSAGYrxW%0ZsXs~%%*4^kwds{TM&>XNpHNp2AHRLMe0cSyLB0LH zQ>i-y2TalkACBN~F2;$&#YX~;tu3>j)=@@gtS)w;0`aMYti9=0ii}{yz<^$}jC%-< zBGf1!2?D8vdKMfY=4xEf8phHZhJ-5hE8Dfi1r-+<7mfshR0}(<{Sg)q<&w28OYI9` zPwngv&tM>Np*{uv=i{$!4$t2`t3S@zOQ=>HqlIe0kt7f?VRpn3+7Y4_p@xcU+eanJ z?)818=fLigDAKAAD&sOc3s+3k-W_-@&CSZ5sO5Wy zg%v1PC@5PpWv1MOO0orj zHXrJGv)aTrC7$nd_}HEqa{;&-!N<`!s^e3KffSmooS215+Wg=iNEC@>we2V^-3fz} z7vZx8w%Qd=2IEloQI+1* zb8^`&)Fm4@5nD3F8=$i!%vNEhQ2&My@8trMP``dNtR>7stpc;Ei~HjW%jFRwCEE|= znz$V8ih~Q-Kxb!nASmGsz(JOOgFc3pey{V5ynin-N^_`Ag`lf)2OtL5h;Vim91-lE zXIzfz8Tj7s<(y<|g$M#hxcgafjE?sdY6ruTv+wEpXTi}yrTXX;s!Gwk;S3D?0sJ_f VZYFng#Q*>R07*qoM6N<$f&k9vSn&V= literal 0 HcmV?d00001 diff --git a/Assets/Sprites/GoodBunny/bunny_down.png.import b/Assets/Sprites/GoodBunny/bunny_down.png.import new file mode 100644 index 0000000..810354b --- /dev/null +++ b/Assets/Sprites/GoodBunny/bunny_down.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ep63wy3imw2d" +path="res://.godot/imported/bunny_down.png-ea09ce83bcf9875fa961a56145d1a045.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Sprites/GoodBunny/bunny_down.png" +dest_files=["res://.godot/imported/bunny_down.png-ea09ce83bcf9875fa961a56145d1a045.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/Assets/Sprites/GoodBunny/bunny_left.png b/Assets/Sprites/GoodBunny/bunny_left.png new file mode 100644 index 0000000000000000000000000000000000000000..47dd716d57d19b9fbd9d47a7c37b7c27ef8f2d77 GIT binary patch literal 1179 zcmV;M1Z4Y(P)1a1(4ryFQo5?2Hs3)BU{Eh4Z$y+xXq$OYc}LeQ0~Fp01dALUe6%Upuuy0vwe3JsH2l~7ReUPXDEk(8j542hQZb+0PQ_p z>p>lqq^L*&sI;3N$AWM5=nT_n7;JqaNS(EqK^>i>sGE)iHL)6z^>8kh(G!gp|5aM* zKpmYV+RZQSrsv&-ff{D8K3O+)wqb3cZrO9>{ zppFD38~M(G;k@mX8ZK@Y8K@UcR~XchNn+RLKy|z=HG_s3Y=;P{bHPBMj!aTE>PnaK z;WiPuWz*xT->Sjuj>E`_md5dFEh?ziB&8c_O?jN;ke{%>u;|NR$=r6Ikk{9YX|}w zVquwRC0J@>Q1qpAe}G@D%|{W`Zb>@)q$N^mrO5K@;VoA>Boxc)Cus#?I=Z#c&-_1hqRT#wsdyb?%2CXdxLotD6R; zv${+)V>b_{duu@&hwf1~wOnVd1;tQB+tSf(kmH9BdjMOy{R|qE&gyDAY8pmMyh{xP z%msGU9~SBe3Q|RMe;Kf7_ms{vbk(f0v=&NgN0=XbyV{Omm%tdfY5|Kz1+{yUj6up^ z?NQm48m=CJSJ)1;VYq1la{+@I0ow@{G)Qh<$h9h)0eSL)G$j@||; zy~sLD@u@-jVKD$n8l()G^idtNQO#48#>{!eE#0H7*n{fzmG2Z|AWf7cCdFbgbW;vs zNLwQheL+oOO+h|BNBodF@&SJrb^p|^6p|Bx%KTl;M1ZD)0IQ}4jVF7{tD)$i9C3w| zG#W&|8PsCXq^?S!vL?AlClI@<0ISx)k-%!B6Ycm&ye)b-OJn(acG{J0TT)O3Z;!0s z2CDEc7(FXj^ooG5i7LJ!NK^w7R1MN%r%$F%(S|gRY(%Ga4x+CI4`xuaAd{WYB=)Xc tEnwQ`v*|(OXgN=df!F6!GwI30e+MUnU!v-a?*IS*07*qoM6N<$f&d@`A$R}) literal 0 HcmV?d00001 diff --git a/Assets/Sprites/GoodBunny/bunny_left.png.import b/Assets/Sprites/GoodBunny/bunny_left.png.import new file mode 100644 index 0000000..432e875 --- /dev/null +++ b/Assets/Sprites/GoodBunny/bunny_left.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b0x834s5l1qot" +path="res://.godot/imported/bunny_left.png-91e2fa49ed65451bd7003fe4ee0265af.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Sprites/GoodBunny/bunny_left.png" +dest_files=["res://.godot/imported/bunny_left.png-91e2fa49ed65451bd7003fe4ee0265af.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/Assets/Sprites/GoodBunny/bunny_righ.png b/Assets/Sprites/GoodBunny/bunny_righ.png new file mode 100644 index 0000000000000000000000000000000000000000..0c14cabfa0a0e28310c74b22aee6af670b5d90f7 GIT binary patch literal 1182 zcmV;P1Y!G$P)Iqt;UZv0Vj1Ajqz!e*6Jc|W& zRx?1`>uHDxjDcFjdODwQvY-kodn~B%GLc~M$deniz0`UJX_`rk2-eP^MrbgBO3pqf zfB`Rklr#NS1_;`WH-XR!f*o{#mRUw4??@yDbq7QaItFHKNGCIjp88@xqUrOmAGc3$ z-aRV|svu}g(kl6K&_FFP>>{s{FC9Bzv<4Q`X2rrbdyiNzFiLfx5(Uwdw4~P#RObjF zs^WvRkboi(?!Y9x^WGp)@uJYs1eI-JgUw*|XnMAx(xX*evnKUfgO>VGY-}hf0y|(& z4J4@SqFRHTW`yfeR@H8h<~TaW5wW(89Z>9#Q3DF9c;g0GEtiMXdK%T^@0V{y^~(=0 zMAr|+CQv6##4K;oqOPRy3!OTk${(W!8dS-N5~v2$8MoIAGbHdSDo1-$nZUGmG)9h2 z6QV6(95H*u6*>@`1E}WB2Z4c}9B7h;fD%6Tmp&q??BNC=k0465V4jBSLt@9p$;=A} zX*Ckzpq>PVtF5&*o&ga8nh#Y#ke-N0f^XD9#>S#8a5OR}i&Dc5)G%WL%m~xsI9V~9 zzya%M_lG3n*6KKpxII#IVH{NJ<{eOUtETC|4lu%D1xcLu%(Yi^97=C`Iv?=r@gsO< zRXUD@#YQj^#e?dA;$Vox2*mgjcmSydiu4_J2BX%8o53!=BgKFNb_WJrS8#W(S$m8f zFa%U#;@VH9uo)u=(p`JwDhF7TgsO)T!ebUq^*#u|Td=aNwmv5D>;-n~v|A#>%1tCJ zm!RnoGEgCuSSD8ik}NEpF37AUk^+U*ppQF_WslA3oMU|dR|G2zAdxh?B&h>l{i#kU zs2zBbT}Q>TAN$MCZMPN^F>nu%YN{C1Zdn)_70|Q4W&&(;qFUQF;z)IoaTTnu^{IT` z$&2pJ6g3yYSx4pXd(u8AdQA-|2V(A>+w%dRlA10 zfj__A{vLzBeEabV@3;@_-TydV?>xQxv*(>Lo(^`#LD@Na1KYcQ0m#?y|3Ciz`NF{Z zp&_`hj#tlIJ^QkG%N+kWpazqinV4cO0jpjJ=I29y0P-fNH|od)(VMFYYOfRZ?r%C7 zk?0y&UQlY=FZ1nMKE{iMRQxWt9TSso?1Flyj$Is6T_P=v59*3e2EbZ_DiY93V3j*k zpuR)8{d^i7llZ_v1>op)z^0RFXKEz;baDfz9zZq;uB&dkw&U*lPIpam(`t;ht4`1n ztyq!$I8XstM>v@ah()-B6wr;f1Lh)-kjRM)4ZUvKboa?RBDs$2vz?X?>Pk+gwM4=tVokZo02e#s zafq`@ycYh6L7l}11nMeIRzR`>Ac%$o+5wA(TC@Xo%-{nCl@c?+NohzQJTa|qMs72E z#L2CYdktY!7`6q1L8Vsj0QY!;YSXt0sH6GdKqX5ZyJ|cap@K2PQOS#`?0C?N_kj%r z0(BKYPWL#Tx_D%Zr!(1*P%#+<$P-ir0F{)1PPQbdo~sVJ;xGC_a6m-rHn*&)&Oe-FQsWak+JgUf4-}d(gd@_@!TG4{?)#5D${&0kQ6O z41CMK8jp!OE{>`}tu2`2d*TlReNff?uHwDZL?INYG8wJJsBzw^^)ytStX6HT??+ac z$vR9>We}~u*0r_+G2uZSB!q&*D{Xo^5D4V>CaB(GHC$%Mg1J-2`#EmsI(G6_F4zZo8jkIk$A-v`#N$F_x?<57tyXo80Xp=tst*Eo zpwaV_<6Ka!Nk<6r#JgptHUZHGc^Yb=^-8BpHgJRX%!t_-m0boFyt=akR{0K*y;y#N3J diff --git a/Assets/Sprites/TileMap.png b/Assets/Sprites/TileMap.png new file mode 100644 index 0000000000000000000000000000000000000000..33988e175dc93dd9eb56a9b2f915a180f8ac8c2a GIT binary patch literal 1509 zcmbtU{Z~?V82>72s5DzU2eizWcARZHYRoLBL#-@lZeeA1)D)9Bmy$FsDGA|Z*;+4j z%3P^QtPHgT%Rmj~dTQa?DPJ;WY6@kWY0}jc&%a?0EXg0zv3X z>%LX1xQ?IIR5$b$75VcT3GQAayFOq2!A<7ky89C??28WrA)gqeF4BYU)KyWzIL+)S z-Q$v8pF~&Jn0yo4ceGj4LK0gvjBt3YfYeto3}1mV8361j0zs^;plh7ceXCryaUcij zKG|Z;Wfx^blcp_j!JqPFdHRa7rFoZBsOJ<(_nm@vGWm@#mN^NB5?pi9Q$6U_NzEE8 zlz;Hfq-LmiTLwRfn7utbnSp7D;C0jvaDgurvr*2FB}qFYD{qyAJGqFjWA+gW1z3rB z&@~p016VY+9+1wXzj(CHOjAhdZgMX%_YAXHL*(TBSdy3?nTOd`&JfrMcH8fW1}+N4dqqIUx~6(V$#fQ z@k*VTds~7;H4*=^N-*Wk$ zrL~G@6ZBAVtXBk6x_?5>j1OAOwCf!2^Q#6tDWG02X63z#9)L^I_q*qRC{6Y}d#MBB z7r>{3WErdxy|CXFVNLo~7C*|SjUxL{qQN^sYvJzOqZi_GpTqfM28g(Z-=KmV02?hB zZy8LyyvOu|w_y^#c~S@u0ZR z7`s|&xC(0*ZVw-P$^%x0@k+5jBppe;bkikt!56n3B0gn1 zt9N^&QrQ2ih8odp4+<*vQx(@i65|?~PbF6NctGn0eC3og{f4I6j`rpFbq`HPA7Ja* zDKYCXQ4AXj1RJ|Ki>xmhpwVR1NEu0KX8U;;)R;&>w}nQ7n$2e)sCtjaJ$L+<`WbCb z*tkY#Jh3~WU5QDVFA;f9HlM+JGhJb`Gc;9d^?+=+xS`ob*!2WlK-F7@RZ%GxdS(OG ztb*zv^tu7b(P#Z@4=!Obmi>Sum&&lLX*NQu9Yi?>jzL<8BocHb!e1p=MnZgB%z9l{ zgROe{?b5*nfO8LukZIniO)(w2w-*r0r{0<1KYKXLuJ!wd3S5tj~XM{+*PYK*O_g-9(9^@L+ZB- rb7_PUlF-)WRHl-E$2W-HusKq?F7@y~VxO#i literal 0 HcmV?d00001 diff --git a/Assets/Sprites/bunny_up.png.import b/Assets/Sprites/TileMap.png.import similarity index 65% rename from Assets/Sprites/bunny_up.png.import rename to Assets/Sprites/TileMap.png.import index 52a2089..b55c6da 100644 --- a/Assets/Sprites/bunny_up.png.import +++ b/Assets/Sprites/TileMap.png.import @@ -2,16 +2,16 @@ importer="texture" type="CompressedTexture2D" -uid="uid://xbx6qrjbu5h7" -path="res://.godot/imported/bunny_up.png-d9c6d22cb180401f29d7e9a4fd388bb1.ctex" +uid="uid://bqi3ddjrcj2bh" +path="res://.godot/imported/TileMap.png-5a8ebee45e38c1e4c53b5e5cf69bfe18.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://Assets/Sprites/bunny_up.png" -dest_files=["res://.godot/imported/bunny_up.png-d9c6d22cb180401f29d7e9a4fd388bb1.ctex"] +source_file="res://Assets/Sprites/TileMap.png" +dest_files=["res://.godot/imported/TileMap.png-5a8ebee45e38c1e4c53b5e5cf69bfe18.ctex"] [params] @@ -31,4 +31,4 @@ 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 +detect_3d/compress_to=1 diff --git a/Assets/Sprites/bunny_down.png.import b/Assets/Sprites/bunny_down.png.import deleted file mode 100644 index 9d6d91d..0000000 --- a/Assets/Sprites/bunny_down.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://dyibsqvmfitux" -path="res://.godot/imported/bunny_down.png-6511b38862324c280c3e08af22b07ee9.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://Assets/Sprites/bunny_down.png" -dest_files=["res://.godot/imported/bunny_down.png-6511b38862324c280c3e08af22b07ee9.ctex"] - -[params] - -compress/mode=4 -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=0 diff --git a/Assets/Tileset.tres b/Assets/Tileset.tres new file mode 100644 index 0000000..c815918 --- /dev/null +++ b/Assets/Tileset.tres @@ -0,0 +1,343 @@ +[gd_resource type="TileSet" load_steps=3 format=3 uid="uid://bj7uu2180mie3"] + +[ext_resource type="Texture2D" uid="uid://bqi3ddjrcj2bh" path="res://Assets/Sprites/TileMap.png" id="1_cl3se"] + +[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_mgef5"] +texture = ExtResource("1_cl3se") +texture_region_size = Vector2i(32, 32) +0:0/0 = 0 +0:0/0/terrain_set = 0 +0:0/0/terrain = 0 +0:0/0/terrains_peering_bit/bottom_side = 0 +1:0/0 = 0 +1:0/0/terrain_set = 0 +1:0/0/terrain = 0 +1:0/0/terrains_peering_bit/right_side = 0 +1:0/0/terrains_peering_bit/bottom_side = 0 +2:0/0 = 0 +2:0/0/terrain_set = 0 +2:0/0/terrain = 0 +2:0/0/terrains_peering_bit/right_side = 0 +2:0/0/terrains_peering_bit/bottom_side = 0 +2:0/0/terrains_peering_bit/left_side = 0 +3:0/0 = 0 +3:0/0/terrain_set = 0 +3:0/0/terrain = 0 +3:0/0/terrains_peering_bit/bottom_side = 0 +3:0/0/terrains_peering_bit/left_side = 0 +4:0/0 = 0 +4:0/0/terrain_set = 0 +4:0/0/terrain = 0 +4:0/0/terrains_peering_bit/right_side = 0 +4:0/0/terrains_peering_bit/bottom_side = 0 +4:0/0/terrains_peering_bit/left_side = 0 +4:0/0/terrains_peering_bit/top_left_corner = 0 +4:0/0/terrains_peering_bit/top_side = 0 +5:0/0 = 0 +5:0/0/terrain_set = 0 +5:0/0/terrain = 0 +5:0/0/terrains_peering_bit/right_side = 0 +5:0/0/terrains_peering_bit/bottom_right_corner = 0 +5:0/0/terrains_peering_bit/bottom_side = 0 +5:0/0/terrains_peering_bit/left_side = 0 +6:0/0 = 0 +6:0/0/terrain_set = 0 +6:0/0/terrain = 0 +6:0/0/terrains_peering_bit/right_side = 0 +6:0/0/terrains_peering_bit/bottom_side = 0 +6:0/0/terrains_peering_bit/bottom_left_corner = 0 +6:0/0/terrains_peering_bit/left_side = 0 +7:0/0 = 0 +7:0/0/terrain_set = 0 +7:0/0/terrain = 0 +7:0/0/terrains_peering_bit/right_side = 0 +7:0/0/terrains_peering_bit/bottom_side = 0 +7:0/0/terrains_peering_bit/left_side = 0 +7:0/0/terrains_peering_bit/top_side = 0 +7:0/0/terrains_peering_bit/top_right_corner = 0 +8:0/0 = 0 +8:0/0/terrain_set = 0 +8:0/0/terrain = 0 +8:0/0/terrains_peering_bit/right_side = 0 +8:0/0/terrains_peering_bit/bottom_right_corner = 0 +8:0/0/terrains_peering_bit/bottom_side = 0 +9:0/0 = 0 +9:0/0/terrain_set = 0 +9:0/0/terrain = 0 +9:0/0/terrains_peering_bit/right_side = 0 +9:0/0/terrains_peering_bit/bottom_right_corner = 0 +9:0/0/terrains_peering_bit/bottom_side = 0 +9:0/0/terrains_peering_bit/bottom_left_corner = 0 +9:0/0/terrains_peering_bit/left_side = 0 +9:0/0/terrains_peering_bit/top_side = 0 +10:0/0 = 0 +10:0/0/terrain_set = 0 +10:0/0/terrain = 0 +10:0/0/terrains_peering_bit/right_side = 0 +10:0/0/terrains_peering_bit/bottom_right_corner = 0 +10:0/0/terrains_peering_bit/bottom_side = 0 +10:0/0/terrains_peering_bit/bottom_left_corner = 0 +10:0/0/terrains_peering_bit/left_side = 0 +11:0/0 = 0 +11:0/0/terrain_set = 0 +11:0/0/terrain = 0 +11:0/0/terrains_peering_bit/bottom_side = 0 +11:0/0/terrains_peering_bit/bottom_left_corner = 0 +11:0/0/terrains_peering_bit/left_side = 0 +0:1/0 = 0 +0:1/0/terrain_set = 0 +0:1/0/terrain = 0 +0:1/0/terrains_peering_bit/bottom_side = 0 +0:1/0/terrains_peering_bit/top_side = 0 +1:1/0 = 0 +1:1/0/terrain_set = 0 +1:1/0/terrain = 0 +1:1/0/terrains_peering_bit/right_side = 0 +1:1/0/terrains_peering_bit/bottom_side = 0 +1:1/0/terrains_peering_bit/top_side = 0 +2:1/0 = 0 +2:1/0/terrain_set = 0 +2:1/0/terrain = 0 +2:1/0/terrains_peering_bit/right_side = 0 +2:1/0/terrains_peering_bit/bottom_side = 0 +2:1/0/terrains_peering_bit/left_side = 0 +2:1/0/terrains_peering_bit/top_side = 0 +3:1/0 = 0 +3:1/0/terrain_set = 0 +3:1/0/terrain = 0 +3:1/0/terrains_peering_bit/bottom_side = 0 +3:1/0/terrains_peering_bit/left_side = 0 +3:1/0/terrains_peering_bit/top_side = 0 +4:1/0 = 0 +4:1/0/terrain_set = 0 +4:1/0/terrain = 0 +4:1/0/terrains_peering_bit/right_side = 0 +4:1/0/terrains_peering_bit/bottom_right_corner = 0 +4:1/0/terrains_peering_bit/bottom_side = 0 +4:1/0/terrains_peering_bit/top_side = 0 +5:1/0 = 0 +5:1/0/terrain_set = 0 +5:1/0/terrain = 0 +5:1/0/terrains_peering_bit/right_side = 0 +5:1/0/terrains_peering_bit/bottom_right_corner = 0 +5:1/0/terrains_peering_bit/bottom_side = 0 +5:1/0/terrains_peering_bit/bottom_left_corner = 0 +5:1/0/terrains_peering_bit/left_side = 0 +5:1/0/terrains_peering_bit/top_side = 0 +5:1/0/terrains_peering_bit/top_right_corner = 0 +6:1/0 = 0 +6:1/0/terrain_set = 0 +6:1/0/terrain = 0 +6:1/0/terrains_peering_bit/right_side = 0 +6:1/0/terrains_peering_bit/bottom_right_corner = 0 +6:1/0/terrains_peering_bit/bottom_side = 0 +6:1/0/terrains_peering_bit/bottom_left_corner = 0 +6:1/0/terrains_peering_bit/left_side = 0 +6:1/0/terrains_peering_bit/top_left_corner = 0 +6:1/0/terrains_peering_bit/top_side = 0 +7:1/0 = 0 +7:1/0/terrain_set = 0 +7:1/0/terrain = 0 +7:1/0/terrains_peering_bit/bottom_side = 0 +7:1/0/terrains_peering_bit/bottom_left_corner = 0 +7:1/0/terrains_peering_bit/left_side = 0 +7:1/0/terrains_peering_bit/top_side = 0 +8:1/0 = 0 +8:1/0/terrain_set = 0 +8:1/0/terrain = 0 +8:1/0/terrains_peering_bit/right_side = 0 +8:1/0/terrains_peering_bit/bottom_right_corner = 0 +8:1/0/terrains_peering_bit/bottom_side = 0 +8:1/0/terrains_peering_bit/top_side = 0 +8:1/0/terrains_peering_bit/top_right_corner = 0 +9:1/0 = 0 +9:1/0/terrain_set = 0 +9:1/0/terrain = 0 +9:1/0/terrains_peering_bit/right_side = 0 +9:1/0/terrains_peering_bit/bottom_side = 0 +9:1/0/terrains_peering_bit/bottom_left_corner = 0 +9:1/0/terrains_peering_bit/left_side = 0 +9:1/0/terrains_peering_bit/top_side = 0 +9:1/0/terrains_peering_bit/top_right_corner = 0 +11:1/0 = 0 +11:1/0/terrain_set = 0 +11:1/0/terrain = 0 +11:1/0/terrains_peering_bit/right_side = 0 +11:1/0/terrains_peering_bit/bottom_side = 0 +11:1/0/terrains_peering_bit/bottom_left_corner = 0 +11:1/0/terrains_peering_bit/left_side = 0 +11:1/0/terrains_peering_bit/top_left_corner = 0 +11:1/0/terrains_peering_bit/top_side = 0 +0:2/0 = 0 +0:2/0/terrain_set = 0 +0:2/0/terrain = 0 +0:2/0/terrains_peering_bit/top_side = 0 +1:2/0 = 0 +1:2/0/terrain_set = 0 +1:2/0/terrain = 0 +1:2/0/terrains_peering_bit/right_side = 0 +1:2/0/terrains_peering_bit/top_side = 0 +2:2/0 = 0 +2:2/0/terrain_set = 0 +2:2/0/terrain = 0 +2:2/0/terrains_peering_bit/right_side = 0 +2:2/0/terrains_peering_bit/left_side = 0 +2:2/0/terrains_peering_bit/top_side = 0 +3:2/0 = 0 +3:2/0/terrain_set = 0 +3:2/0/terrain = 0 +3:2/0/terrains_peering_bit/left_side = 0 +3:2/0/terrains_peering_bit/top_side = 0 +4:2/0 = 0 +4:2/0/terrain_set = 0 +4:2/0/terrain = 0 +4:2/0/terrains_peering_bit/right_side = 0 +4:2/0/terrains_peering_bit/bottom_side = 0 +4:2/0/terrains_peering_bit/top_side = 0 +4:2/0/terrains_peering_bit/top_right_corner = 0 +5:2/0 = 0 +5:2/0/terrain_set = 0 +5:2/0/terrain = 0 +5:2/0/terrains_peering_bit/right_side = 0 +5:2/0/terrains_peering_bit/bottom_right_corner = 0 +5:2/0/terrains_peering_bit/bottom_side = 0 +5:2/0/terrains_peering_bit/left_side = 0 +5:2/0/terrains_peering_bit/top_left_corner = 0 +5:2/0/terrains_peering_bit/top_side = 0 +5:2/0/terrains_peering_bit/top_right_corner = 0 +6:2/0 = 0 +6:2/0/terrain_set = 0 +6:2/0/terrain = 0 +6:2/0/terrains_peering_bit/right_side = 0 +6:2/0/terrains_peering_bit/bottom_side = 0 +6:2/0/terrains_peering_bit/bottom_left_corner = 0 +6:2/0/terrains_peering_bit/left_side = 0 +6:2/0/terrains_peering_bit/top_left_corner = 0 +6:2/0/terrains_peering_bit/top_side = 0 +6:2/0/terrains_peering_bit/top_right_corner = 0 +7:2/0 = 0 +7:2/0/terrain_set = 0 +7:2/0/terrain = 0 +7:2/0/terrains_peering_bit/bottom_side = 0 +7:2/0/terrains_peering_bit/left_side = 0 +7:2/0/terrains_peering_bit/top_left_corner = 0 +7:2/0/terrains_peering_bit/top_side = 0 +8:2/0 = 0 +8:2/0/terrain_set = 0 +8:2/0/terrain = 0 +8:2/0/terrains_peering_bit/right_side = 0 +8:2/0/terrains_peering_bit/bottom_right_corner = 0 +8:2/0/terrains_peering_bit/bottom_side = 0 +8:2/0/terrains_peering_bit/left_side = 0 +8:2/0/terrains_peering_bit/top_side = 0 +8:2/0/terrains_peering_bit/top_right_corner = 0 +9:2/0 = 0 +9:2/0/terrain_set = 0 +9:2/0/terrain = 0 +9:2/0/terrains_peering_bit/right_side = 0 +9:2/0/terrains_peering_bit/bottom_right_corner = 0 +9:2/0/terrains_peering_bit/bottom_side = 0 +9:2/0/terrains_peering_bit/bottom_left_corner = 0 +9:2/0/terrains_peering_bit/left_side = 0 +9:2/0/terrains_peering_bit/top_left_corner = 0 +9:2/0/terrains_peering_bit/top_side = 0 +9:2/0/terrains_peering_bit/top_right_corner = 0 +10:2/0 = 0 +10:2/0/terrain_set = 0 +10:2/0/terrain = 0 +10:2/0/terrains_peering_bit/right_side = 0 +10:2/0/terrains_peering_bit/bottom_right_corner = 0 +10:2/0/terrains_peering_bit/bottom_side = 0 +10:2/0/terrains_peering_bit/left_side = 0 +10:2/0/terrains_peering_bit/top_left_corner = 0 +10:2/0/terrains_peering_bit/top_side = 0 +11:2/0 = 0 +11:2/0/terrain_set = 0 +11:2/0/terrain = 0 +11:2/0/terrains_peering_bit/bottom_side = 0 +11:2/0/terrains_peering_bit/bottom_left_corner = 0 +11:2/0/terrains_peering_bit/left_side = 0 +11:2/0/terrains_peering_bit/top_left_corner = 0 +11:2/0/terrains_peering_bit/top_side = 0 +0:3/0 = 0 +0:3/0/terrain_set = 0 +0:3/0/terrain = 0 +1:3/0 = 0 +1:3/0/terrain_set = 0 +1:3/0/terrain = 0 +1:3/0/terrains_peering_bit/right_side = 0 +2:3/0 = 0 +2:3/0/terrain_set = 0 +2:3/0/terrain = 0 +2:3/0/terrains_peering_bit/right_side = 0 +2:3/0/terrains_peering_bit/left_side = 0 +3:3/0 = 0 +3:3/0/terrain_set = 0 +3:3/0/terrain = 0 +3:3/0/terrains_peering_bit/left_side = 0 +4:3/0 = 0 +4:3/0/terrain_set = 0 +4:3/0/terrain = 0 +4:3/0/terrains_peering_bit/right_side = 0 +4:3/0/terrains_peering_bit/bottom_side = 0 +4:3/0/terrains_peering_bit/bottom_left_corner = 0 +4:3/0/terrains_peering_bit/left_side = 0 +4:3/0/terrains_peering_bit/top_side = 0 +5:3/0 = 0 +5:3/0/terrain_set = 0 +5:3/0/terrain = 0 +5:3/0/terrains_peering_bit/right_side = 0 +5:3/0/terrains_peering_bit/left_side = 0 +5:3/0/terrains_peering_bit/top_side = 0 +5:3/0/terrains_peering_bit/top_right_corner = 0 +6:3/0 = 0 +6:3/0/terrain_set = 0 +6:3/0/terrain = 0 +6:3/0/terrains_peering_bit/right_side = 0 +6:3/0/terrains_peering_bit/left_side = 0 +6:3/0/terrains_peering_bit/top_left_corner = 0 +6:3/0/terrains_peering_bit/top_side = 0 +7:3/0 = 0 +7:3/0/terrain_set = 0 +7:3/0/terrain = 0 +7:3/0/terrains_peering_bit/right_side = 0 +7:3/0/terrains_peering_bit/bottom_right_corner = 0 +7:3/0/terrains_peering_bit/bottom_side = 0 +7:3/0/terrains_peering_bit/left_side = 0 +7:3/0/terrains_peering_bit/top_side = 0 +8:3/0 = 0 +8:3/0/terrain_set = 0 +8:3/0/terrain = 0 +8:3/0/terrains_peering_bit/right_side = 0 +8:3/0/terrains_peering_bit/top_side = 0 +8:3/0/terrains_peering_bit/top_right_corner = 0 +9:3/0 = 0 +9:3/0/terrain_set = 0 +9:3/0/terrain = 0 +9:3/0/terrains_peering_bit/right_side = 0 +9:3/0/terrains_peering_bit/left_side = 0 +9:3/0/terrains_peering_bit/top_left_corner = 0 +9:3/0/terrains_peering_bit/top_side = 0 +9:3/0/terrains_peering_bit/top_right_corner = 0 +10:3/0 = 0 +10:3/0/terrain_set = 0 +10:3/0/terrain = 0 +10:3/0/terrains_peering_bit/right_side = 0 +10:3/0/terrains_peering_bit/bottom_side = 0 +10:3/0/terrains_peering_bit/left_side = 0 +10:3/0/terrains_peering_bit/top_left_corner = 0 +10:3/0/terrains_peering_bit/top_side = 0 +10:3/0/terrains_peering_bit/top_right_corner = 0 +11:3/0 = 0 +11:3/0/terrain_set = 0 +11:3/0/terrain = 0 +11:3/0/terrains_peering_bit/left_side = 0 +11:3/0/terrains_peering_bit/top_left_corner = 0 +11:3/0/terrains_peering_bit/top_side = 0 + +[resource] +tile_size = Vector2i(32, 32) +terrain_set_0/mode = 0 +terrain_set_0/terrain_0/name = "Walls" +terrain_set_0/terrain_0/color = Color(1, 0.301961, 0.329412, 1) +sources/1 = SubResource("TileSetAtlasSource_mgef5") -- 2.45.2 From 27d1606d080cecb89692587219e7668496ecb2e3 Mon Sep 17 00:00:00 2001 From: Snoweuph Date: Sat, 8 Apr 2023 01:52:25 +0200 Subject: [PATCH 11/19] Setting Up new Tileset --- Assets/Test_Tileset.tres | 25 ------- Assets/Tileset.tres | 152 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 152 insertions(+), 25 deletions(-) delete mode 100644 Assets/Test_Tileset.tres diff --git a/Assets/Test_Tileset.tres b/Assets/Test_Tileset.tres deleted file mode 100644 index bdce79f..0000000 --- a/Assets/Test_Tileset.tres +++ /dev/null @@ -1,25 +0,0 @@ -[gd_resource type="TileSet" load_steps=5 format=3 uid="uid://b7cqbf6xdbeal"] - -[ext_resource type="Texture2D" uid="uid://bjyry6vvtr8h5" path="res://Assets/Sprites/PlaceHolderA.png" id="1_nuhua"] -[ext_resource type="Texture2D" uid="uid://cbtiuvqgnulmf" path="res://Assets/Sprites/PlaceHolderB.png" id="2_jl0te"] - -[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_urqd5"] -texture = ExtResource("1_nuhua") -texture_region_size = Vector2i(8, 8) -0:0/0 = 0 -0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:0/0/physics_layer_0/angular_velocity = 0.0 -0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-4, -4, 4, -4, 4, 4, -4, 4) - -[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_7bjb0"] -texture = ExtResource("2_jl0te") -texture_region_size = Vector2i(8, 8) -0:0/0 = 0 -0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) -0:0/0/physics_layer_0/angular_velocity = 0.0 - -[resource] -tile_size = Vector2i(8, 8) -physics_layer_0/collision_layer = 1 -sources/0 = SubResource("TileSetAtlasSource_urqd5") -sources/1 = SubResource("TileSetAtlasSource_7bjb0") diff --git a/Assets/Tileset.tres b/Assets/Tileset.tres index c815918..5ea9e42 100644 --- a/Assets/Tileset.tres +++ b/Assets/Tileset.tres @@ -8,26 +8,42 @@ texture_region_size = Vector2i(32, 32) 0:0/0 = 0 0:0/0/terrain_set = 0 0:0/0/terrain = 0 +0:0/0/probability = 2.0 +0:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:0/0/physics_layer_0/angular_velocity = 0.0 +0:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(12, 16, -12, 16, -12, -8, -8.5, -12, 8.5, -12, 12, -8) 0:0/0/terrains_peering_bit/bottom_side = 0 1:0/0 = 0 1:0/0/terrain_set = 0 1:0/0/terrain = 0 +1:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:0/0/physics_layer_0/angular_velocity = 0.0 +1:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(12.5, 12.5, 12, 16, -12, 16, -12, -8, -8, -12, 16, -12, 16, 12) 1:0/0/terrains_peering_bit/right_side = 0 1:0/0/terrains_peering_bit/bottom_side = 0 2:0/0 = 0 2:0/0/terrain_set = 0 2:0/0/terrain = 0 +2:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:0/0/physics_layer_0/angular_velocity = 0.0 +2:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 12, -16, -12, 16, -12, 16, 12, 12.5, 12.5, 12, 16, -12, 16, -12.5, 12.5) 2:0/0/terrains_peering_bit/right_side = 0 2:0/0/terrains_peering_bit/bottom_side = 0 2:0/0/terrains_peering_bit/left_side = 0 3:0/0 = 0 3:0/0/terrain_set = 0 3:0/0/terrain = 0 +3:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:0/0/physics_layer_0/angular_velocity = 0.0 +3:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-12.5, 12.5, -16, 12, -16, -12, 8, -12, 12, -8, 12, 16, -12, 16) 3:0/0/terrains_peering_bit/bottom_side = 0 3:0/0/terrains_peering_bit/left_side = 0 4:0/0 = 0 4:0/0/terrain_set = 0 4:0/0/terrain = 0 +4:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:0/0/physics_layer_0/angular_velocity = 0.0 +4:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(12, 16, -12, 16, -12.5, 12.5, -16, 12, -16, -16, 12, -16, 12.5, -12.5, 16, -12, 16, 12, 12.5, 12.5) 4:0/0/terrains_peering_bit/right_side = 0 4:0/0/terrains_peering_bit/bottom_side = 0 4:0/0/terrains_peering_bit/left_side = 0 @@ -36,6 +52,9 @@ texture_region_size = Vector2i(32, 32) 5:0/0 = 0 5:0/0/terrain_set = 0 5:0/0/terrain = 0 +5:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:0/0/physics_layer_0/angular_velocity = 0.0 +5:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-12.5, 12.5, -16, 12, -16, -12, 16, -12, 16, 16, -12, 16) 5:0/0/terrains_peering_bit/right_side = 0 5:0/0/terrains_peering_bit/bottom_right_corner = 0 5:0/0/terrains_peering_bit/bottom_side = 0 @@ -43,6 +62,9 @@ texture_region_size = Vector2i(32, 32) 6:0/0 = 0 6:0/0/terrain_set = 0 6:0/0/terrain = 0 +6:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:0/0/physics_layer_0/angular_velocity = 0.0 +6:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(12.5, 12.5, 16, 12, 16, -12, -16, -12, -16, 16, 12, 16) 6:0/0/terrains_peering_bit/right_side = 0 6:0/0/terrains_peering_bit/bottom_side = 0 6:0/0/terrains_peering_bit/bottom_left_corner = 0 @@ -50,6 +72,9 @@ texture_region_size = Vector2i(32, 32) 7:0/0 = 0 7:0/0/terrain_set = 0 7:0/0/terrain = 0 +7:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:0/0/physics_layer_0/angular_velocity = 0.0 +7:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 12, -16, -12, -12.5, -12.5, -12, -16, 16, -16, 16, 12, 12.5, 12.5, 12, 16, -12, 16, -12.5, 12.5) 7:0/0/terrains_peering_bit/right_side = 0 7:0/0/terrains_peering_bit/bottom_side = 0 7:0/0/terrains_peering_bit/left_side = 0 @@ -58,12 +83,19 @@ texture_region_size = Vector2i(32, 32) 8:0/0 = 0 8:0/0/terrain_set = 0 8:0/0/terrain = 0 +8:0/0/probability = 2.0 +8:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:0/0/physics_layer_0/angular_velocity = 0.0 +8:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, 16, -12, 16, -12, -8, -8, -12, 16, -12) 8:0/0/terrains_peering_bit/right_side = 0 8:0/0/terrains_peering_bit/bottom_right_corner = 0 8:0/0/terrains_peering_bit/bottom_side = 0 9:0/0 = 0 9:0/0/terrain_set = 0 9:0/0/terrain = 0 +9:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:0/0/physics_layer_0/angular_velocity = 0.0 +9:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(12.5, -12.5, 16, -12, 16, 16, -16, 16, -16, -12, -12.5, -12.5, -12, -16, 12, -16) 9:0/0/terrains_peering_bit/right_side = 0 9:0/0/terrains_peering_bit/bottom_right_corner = 0 9:0/0/terrains_peering_bit/bottom_side = 0 @@ -73,6 +105,9 @@ texture_region_size = Vector2i(32, 32) 10:0/0 = 0 10:0/0/terrain_set = 0 10:0/0/terrain = 0 +10:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:0/0/physics_layer_0/angular_velocity = 0.0 +10:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -12, 16, 16, -16, 16, -16, -12) 10:0/0/terrains_peering_bit/right_side = 0 10:0/0/terrains_peering_bit/bottom_right_corner = 0 10:0/0/terrains_peering_bit/bottom_side = 0 @@ -81,23 +116,36 @@ texture_region_size = Vector2i(32, 32) 11:0/0 = 0 11:0/0/terrain_set = 0 11:0/0/terrain = 0 +11:0/0/probability = 2.0 +11:0/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:0/0/physics_layer_0/angular_velocity = 0.0 +11:0/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 16, -16, -12, 8, -12, 12, -8, 12, 16) 11:0/0/terrains_peering_bit/bottom_side = 0 11:0/0/terrains_peering_bit/bottom_left_corner = 0 11:0/0/terrains_peering_bit/left_side = 0 0:1/0 = 0 0:1/0/terrain_set = 0 0:1/0/terrain = 0 +0:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:1/0/physics_layer_0/angular_velocity = 0.0 +0:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-12, -16, 12, -16, 12, 16, -12, 16) 0:1/0/terrains_peering_bit/bottom_side = 0 0:1/0/terrains_peering_bit/top_side = 0 1:1/0 = 0 1:1/0/terrain_set = 0 1:1/0/terrain = 0 +1:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:1/0/physics_layer_0/angular_velocity = 0.0 +1:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(12, 16, -12, 16, -12, -16, 12, -16, 12.5, -12.5, 16, -12, 16, 12, 12.5, 12.5) 1:1/0/terrains_peering_bit/right_side = 0 1:1/0/terrains_peering_bit/bottom_side = 0 1:1/0/terrains_peering_bit/top_side = 0 2:1/0 = 0 2:1/0/terrain_set = 0 2:1/0/terrain = 0 +2:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:1/0/physics_layer_0/angular_velocity = 0.0 +2:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 12, -16, -12, -12.5, -12.5, -12, -16, 12, -16, 12.5, -12.5, 16, -12, 16, 12, 12.5, 12.5, 12, 16, -12, 16, -12.5, 12.5) 2:1/0/terrains_peering_bit/right_side = 0 2:1/0/terrains_peering_bit/bottom_side = 0 2:1/0/terrains_peering_bit/left_side = 0 @@ -105,12 +153,18 @@ texture_region_size = Vector2i(32, 32) 3:1/0 = 0 3:1/0/terrain_set = 0 3:1/0/terrain = 0 +3:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:1/0/physics_layer_0/angular_velocity = 0.0 +3:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-12, -16, 12, -16, 12, 16, -12, 16, -12.5, 12.5, -16, 12, -16, -12, -12.5, -12.5) 3:1/0/terrains_peering_bit/bottom_side = 0 3:1/0/terrains_peering_bit/left_side = 0 3:1/0/terrains_peering_bit/top_side = 0 4:1/0 = 0 4:1/0/terrain_set = 0 4:1/0/terrain = 0 +4:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:1/0/physics_layer_0/angular_velocity = 0.0 +4:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(12.5, -12.5, 12, -16, -12, -16, -12, 16, 16, 16, 16, -12) 4:1/0/terrains_peering_bit/right_side = 0 4:1/0/terrains_peering_bit/bottom_right_corner = 0 4:1/0/terrains_peering_bit/bottom_side = 0 @@ -118,6 +172,9 @@ texture_region_size = Vector2i(32, 32) 5:1/0 = 0 5:1/0/terrain_set = 0 5:1/0/terrain = 0 +5:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:1/0/physics_layer_0/angular_velocity = 0.0 +5:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-12.5, -12.5, -12, -16, 16, -16, 16, 16, -16, 16, -16, -12) 5:1/0/terrains_peering_bit/right_side = 0 5:1/0/terrains_peering_bit/bottom_right_corner = 0 5:1/0/terrains_peering_bit/bottom_side = 0 @@ -128,6 +185,9 @@ texture_region_size = Vector2i(32, 32) 6:1/0 = 0 6:1/0/terrain_set = 0 6:1/0/terrain = 0 +6:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:1/0/physics_layer_0/angular_velocity = 0.0 +6:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(12.5, -12.5, 16, -12, 16, 16, -16, 16, -16, -16, 12, -16) 6:1/0/terrains_peering_bit/right_side = 0 6:1/0/terrains_peering_bit/bottom_right_corner = 0 6:1/0/terrains_peering_bit/bottom_side = 0 @@ -138,6 +198,9 @@ texture_region_size = Vector2i(32, 32) 7:1/0 = 0 7:1/0/terrain_set = 0 7:1/0/terrain = 0 +7:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:1/0/physics_layer_0/angular_velocity = 0.0 +7:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-12.5, -12.5, -12, -16, 12, -16, 12, 16, -16, 16, -16, -12) 7:1/0/terrains_peering_bit/bottom_side = 0 7:1/0/terrains_peering_bit/bottom_left_corner = 0 7:1/0/terrains_peering_bit/left_side = 0 @@ -145,6 +208,9 @@ texture_region_size = Vector2i(32, 32) 8:1/0 = 0 8:1/0/terrain_set = 0 8:1/0/terrain = 0 +8:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:1/0/physics_layer_0/angular_velocity = 0.0 +8:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(-12, -16, 16, -16, 16, 16, -12, 16) 8:1/0/terrains_peering_bit/right_side = 0 8:1/0/terrains_peering_bit/bottom_right_corner = 0 8:1/0/terrains_peering_bit/bottom_side = 0 @@ -153,6 +219,9 @@ texture_region_size = Vector2i(32, 32) 9:1/0 = 0 9:1/0/terrain_set = 0 9:1/0/terrain = 0 +9:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:1/0/physics_layer_0/angular_velocity = 0.0 +9:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, 16, 12, 12.5, 12.5, 12, 16, -16, 16, -16, -12, -12.5, -12.5, -12, -16) 9:1/0/terrains_peering_bit/right_side = 0 9:1/0/terrains_peering_bit/bottom_side = 0 9:1/0/terrains_peering_bit/bottom_left_corner = 0 @@ -162,6 +231,9 @@ texture_region_size = Vector2i(32, 32) 11:1/0 = 0 11:1/0/terrain_set = 0 11:1/0/terrain = 0 +11:1/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:1/0/physics_layer_0/angular_velocity = 0.0 +11:1/0/physics_layer_0/polygon_0/points = PackedVector2Array(12.5, 12.5, 12, 16, -16, 16, -16, -16, 12, -16, 12.5, -12.5, 16, -12, 16, 12) 11:1/0/terrains_peering_bit/right_side = 0 11:1/0/terrains_peering_bit/bottom_side = 0 11:1/0/terrains_peering_bit/bottom_left_corner = 0 @@ -171,26 +243,42 @@ texture_region_size = Vector2i(32, 32) 0:2/0 = 0 0:2/0/terrain_set = 0 0:2/0/terrain = 0 +0:2/0/probability = 2.0 +0:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:2/0/physics_layer_0/angular_velocity = 0.0 +0:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-12, -16, 12, -16, 12, 8, 8.5, 12, -8.5, 12, -12, 8) 0:2/0/terrains_peering_bit/top_side = 0 1:2/0 = 0 1:2/0/terrain_set = 0 1:2/0/terrain = 0 +1:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:2/0/physics_layer_0/angular_velocity = 0.0 +1:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(12.5, -12.5, 16, -12, 16, 12, -8, 12, -12, 8, -12, -16, 12, -16) 1:2/0/terrains_peering_bit/right_side = 0 1:2/0/terrains_peering_bit/top_side = 0 2:2/0 = 0 2:2/0/terrain_set = 0 2:2/0/terrain = 0 +2:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:2/0/physics_layer_0/angular_velocity = 0.0 +2:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -12, 16, 12, -16, 12, -16, -12, -12.5, -12.5, -12, -16, 12, -16, 12.5, -12.5) 2:2/0/terrains_peering_bit/right_side = 0 2:2/0/terrains_peering_bit/left_side = 0 2:2/0/terrains_peering_bit/top_side = 0 3:2/0 = 0 3:2/0/terrain_set = 0 3:2/0/terrain = 0 +3:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:2/0/physics_layer_0/angular_velocity = 0.0 +3:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-12.5, -12.5, -12, -16, 12, -16, 12, 8, 8, 12, -16, 12, -16, -12) 3:2/0/terrains_peering_bit/left_side = 0 3:2/0/terrains_peering_bit/top_side = 0 4:2/0 = 0 4:2/0/terrain_set = 0 4:2/0/terrain = 0 +4:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:2/0/physics_layer_0/angular_velocity = 0.0 +4:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(12.5, 12.5, 12, 16, -12, 16, -12, -16, 16, -16, 16, 12) 4:2/0/terrains_peering_bit/right_side = 0 4:2/0/terrains_peering_bit/bottom_side = 0 4:2/0/terrains_peering_bit/top_side = 0 @@ -198,6 +286,9 @@ texture_region_size = Vector2i(32, 32) 5:2/0 = 0 5:2/0/terrain_set = 0 5:2/0/terrain = 0 +5:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:2/0/physics_layer_0/angular_velocity = 0.0 +5:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-12.5, 12.5, -16, 12, -16, -16, 16, -16, 16, 16, -12, 16) 5:2/0/terrains_peering_bit/right_side = 0 5:2/0/terrains_peering_bit/bottom_right_corner = 0 5:2/0/terrains_peering_bit/bottom_side = 0 @@ -208,6 +299,9 @@ texture_region_size = Vector2i(32, 32) 6:2/0 = 0 6:2/0/terrain_set = 0 6:2/0/terrain = 0 +6:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:2/0/physics_layer_0/angular_velocity = 0.0 +6:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(12.5, 12.5, 12, 16, -16, 16, -16, -16, 16, -16, 16, 12) 6:2/0/terrains_peering_bit/right_side = 0 6:2/0/terrains_peering_bit/bottom_side = 0 6:2/0/terrains_peering_bit/bottom_left_corner = 0 @@ -218,6 +312,9 @@ texture_region_size = Vector2i(32, 32) 7:2/0 = 0 7:2/0/terrain_set = 0 7:2/0/terrain = 0 +7:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:2/0/physics_layer_0/angular_velocity = 0.0 +7:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-12.5, 12.5, -12, 16, 12, 16, 12, -16, -16, -16, -16, 12) 7:2/0/terrains_peering_bit/bottom_side = 0 7:2/0/terrains_peering_bit/left_side = 0 7:2/0/terrains_peering_bit/top_left_corner = 0 @@ -225,6 +322,9 @@ texture_region_size = Vector2i(32, 32) 8:2/0 = 0 8:2/0/terrain_set = 0 8:2/0/terrain = 0 +8:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:2/0/physics_layer_0/angular_velocity = 0.0 +8:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-12.5, -12.5, -12, -16, 16, -16, 16, 16, -12, 16, -12.5, 12.5, -16, 12, -16, -12) 8:2/0/terrains_peering_bit/right_side = 0 8:2/0/terrains_peering_bit/bottom_right_corner = 0 8:2/0/terrains_peering_bit/bottom_side = 0 @@ -234,6 +334,10 @@ texture_region_size = Vector2i(32, 32) 9:2/0 = 0 9:2/0/terrain_set = 0 9:2/0/terrain = 0 +9:2/0/probability = 2.0 +9:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:2/0/physics_layer_0/angular_velocity = 0.0 +9:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 16, -16, 16, 16, -16, 16) 9:2/0/terrains_peering_bit/right_side = 0 9:2/0/terrains_peering_bit/bottom_right_corner = 0 9:2/0/terrains_peering_bit/bottom_side = 0 @@ -245,6 +349,9 @@ texture_region_size = Vector2i(32, 32) 10:2/0 = 0 10:2/0/terrain_set = 0 10:2/0/terrain = 0 +10:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:2/0/physics_layer_0/angular_velocity = 0.0 +10:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 12, -16, 12.5, -12.5, 16, -12, 16, 16, -12, 16, -12.5, 12.5, -16, 12) 10:2/0/terrains_peering_bit/right_side = 0 10:2/0/terrains_peering_bit/bottom_right_corner = 0 10:2/0/terrains_peering_bit/bottom_side = 0 @@ -254,6 +361,9 @@ texture_region_size = Vector2i(32, 32) 11:2/0 = 0 11:2/0/terrain_set = 0 11:2/0/terrain = 0 +11:2/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:2/0/physics_layer_0/angular_velocity = 0.0 +11:2/0/physics_layer_0/polygon_0/points = PackedVector2Array(12, 16, -16, 16, -16, -16, 12, -16) 11:2/0/terrains_peering_bit/bottom_side = 0 11:2/0/terrains_peering_bit/bottom_left_corner = 0 11:2/0/terrains_peering_bit/left_side = 0 @@ -262,22 +372,40 @@ texture_region_size = Vector2i(32, 32) 0:3/0 = 0 0:3/0/terrain_set = 0 0:3/0/terrain = 0 +0:3/0/probability = 2.0 +0:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +0:3/0/physics_layer_0/angular_velocity = 0.0 +0:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-8, 12, -12, 8, -12, -8, -8, -12, 8, -12, 12, -8.5, 12, 8.5, 8, 12) 1:3/0 = 0 1:3/0/terrain_set = 0 1:3/0/terrain = 0 +1:3/0/probability = 2.0 +1:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +1:3/0/physics_layer_0/angular_velocity = 0.0 +1:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -12, 16, 12, -8, 12, -12, 8.5, -12, -8.5, -8, -12) 1:3/0/terrains_peering_bit/right_side = 0 2:3/0 = 0 2:3/0/terrain_set = 0 2:3/0/terrain = 0 +2:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +2:3/0/physics_layer_0/angular_velocity = 0.0 +2:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -12, 16, 12, -16, 12, -16, -12) 2:3/0/terrains_peering_bit/right_side = 0 2:3/0/terrains_peering_bit/left_side = 0 3:3/0 = 0 3:3/0/terrain_set = 0 3:3/0/terrain = 0 +3:3/0/probability = 2.0 +3:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +3:3/0/physics_layer_0/angular_velocity = 0.0 +3:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 12, -16, -12, 8, -12, 12, -8.5, 12, 8.5, 8, 12) 3:3/0/terrains_peering_bit/left_side = 0 4:3/0 = 0 4:3/0/terrain_set = 0 4:3/0/terrain = 0 +4:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +4:3/0/physics_layer_0/angular_velocity = 0.0 +4:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -12, 16, 12, 12.5, 12.5, 12, 16, -16, 16, -16, -12, -12.5, -12.5, -12, -16, 12, -16, 12.5, -12.5) 4:3/0/terrains_peering_bit/right_side = 0 4:3/0/terrains_peering_bit/bottom_side = 0 4:3/0/terrains_peering_bit/bottom_left_corner = 0 @@ -286,6 +414,9 @@ texture_region_size = Vector2i(32, 32) 5:3/0 = 0 5:3/0/terrain_set = 0 5:3/0/terrain = 0 +5:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +5:3/0/physics_layer_0/angular_velocity = 0.0 +5:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-12.5, -12.5, -16, -12, -16, 12, 16, 12, 16, -16, -12, -16) 5:3/0/terrains_peering_bit/right_side = 0 5:3/0/terrains_peering_bit/left_side = 0 5:3/0/terrains_peering_bit/top_side = 0 @@ -293,6 +424,9 @@ texture_region_size = Vector2i(32, 32) 6:3/0 = 0 6:3/0/terrain_set = 0 6:3/0/terrain = 0 +6:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +6:3/0/physics_layer_0/angular_velocity = 0.0 +6:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(12.5, -12.5, 16, -12, 16, 12, -16, 12, -16, -16, 12, -16) 6:3/0/terrains_peering_bit/right_side = 0 6:3/0/terrains_peering_bit/left_side = 0 6:3/0/terrains_peering_bit/top_left_corner = 0 @@ -300,6 +434,9 @@ texture_region_size = Vector2i(32, 32) 7:3/0 = 0 7:3/0/terrain_set = 0 7:3/0/terrain = 0 +7:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +7:3/0/physics_layer_0/angular_velocity = 0.0 +7:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-12, -16, 12, -16, 12.5, -12.5, 16, -12, 16, 16, -12, 16, -12.5, 12.5, -16, 12, -16, -12, -12.5, -12.5) 7:3/0/terrains_peering_bit/right_side = 0 7:3/0/terrains_peering_bit/bottom_right_corner = 0 7:3/0/terrains_peering_bit/bottom_side = 0 @@ -308,12 +445,19 @@ texture_region_size = Vector2i(32, 32) 8:3/0 = 0 8:3/0/terrain_set = 0 8:3/0/terrain = 0 +8:3/0/probability = 2.0 +8:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +8:3/0/physics_layer_0/angular_velocity = 0.0 +8:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(16, -16, 16, 12, -8, 12, -12, 8, -12, -16) 8:3/0/terrains_peering_bit/right_side = 0 8:3/0/terrains_peering_bit/top_side = 0 8:3/0/terrains_peering_bit/top_right_corner = 0 9:3/0 = 0 9:3/0/terrain_set = 0 9:3/0/terrain = 0 +9:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +9:3/0/physics_layer_0/angular_velocity = 0.0 +9:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, 12, -16, -16, 16, -16, 16, 12) 9:3/0/terrains_peering_bit/right_side = 0 9:3/0/terrains_peering_bit/left_side = 0 9:3/0/terrains_peering_bit/top_left_corner = 0 @@ -322,6 +466,9 @@ texture_region_size = Vector2i(32, 32) 10:3/0 = 0 10:3/0/terrain_set = 0 10:3/0/terrain = 0 +10:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +10:3/0/physics_layer_0/angular_velocity = 0.0 +10:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-12.5, 12.5, -16, 12, -16, -16, 16, -16, 16, 12, 12.5, 12.5, 12, 16, -12, 16) 10:3/0/terrains_peering_bit/right_side = 0 10:3/0/terrains_peering_bit/bottom_side = 0 10:3/0/terrains_peering_bit/left_side = 0 @@ -331,12 +478,17 @@ texture_region_size = Vector2i(32, 32) 11:3/0 = 0 11:3/0/terrain_set = 0 11:3/0/terrain = 0 +11:3/0/probability = 2.0 +11:3/0/physics_layer_0/linear_velocity = Vector2(0, 0) +11:3/0/physics_layer_0/angular_velocity = 0.0 +11:3/0/physics_layer_0/polygon_0/points = PackedVector2Array(-16, -16, 12, -16, 12, 8, 8, 12, -16, 12) 11:3/0/terrains_peering_bit/left_side = 0 11:3/0/terrains_peering_bit/top_left_corner = 0 11:3/0/terrains_peering_bit/top_side = 0 [resource] tile_size = Vector2i(32, 32) +physics_layer_0/collision_layer = 0 terrain_set_0/mode = 0 terrain_set_0/terrain_0/name = "Walls" terrain_set_0/terrain_0/color = Color(1, 0.301961, 0.329412, 1) -- 2.45.2 From 579faa06dfb296519d652b402f7da2e12dc4a134 Mon Sep 17 00:00:00 2001 From: Snoweuph Date: Sat, 8 Apr 2023 01:52:42 +0200 Subject: [PATCH 12/19] Implementing Tileset for Map Generation --- Scenes/Cave.tscn | 5 +- Scripts/MapGenerator.gd | 114 ++++++++++++++++++++++++++-------------- 2 files changed, 79 insertions(+), 40 deletions(-) diff --git a/Scenes/Cave.tscn b/Scenes/Cave.tscn index ff0ce79..d3e9115 100644 --- a/Scenes/Cave.tscn +++ b/Scenes/Cave.tscn @@ -1,13 +1,14 @@ [gd_scene load_steps=3 format=3 uid="uid://chfp8mm3vwh2e"] -[ext_resource type="TileSet" uid="uid://b7cqbf6xdbeal" path="res://Assets/Test_Tileset.tres" id="1_8lepy"] +[ext_resource type="TileSet" uid="uid://bj7uu2180mie3" path="res://Assets/Tileset.tres" id="1_a2htf"] [ext_resource type="Script" path="res://Scripts/MapGenerator.gd" id="2_qvwn8"] [node name="Node2D" type="Node2D"] [node name="TileMap" type="TileMap" parent="."] -tile_set = ExtResource("1_8lepy") +tile_set = ExtResource("1_a2htf") cell_quadrant_size = 8 collision_visibility_mode = 1 format = 2 script = ExtResource("2_qvwn8") +height = 33 diff --git a/Scripts/MapGenerator.gd b/Scripts/MapGenerator.gd index 9b066e6..d93c357 100644 --- a/Scripts/MapGenerator.gd +++ b/Scripts/MapGenerator.gd @@ -1,12 +1,9 @@ extends TileMap -@export var width := 128 -@export var height := 75 +@export var width := 60 +@export var height := 32 @export var fill_percentage := 0.65 -@export var solid_id := 0 -@export var non_solid_id := 1 - @export var solid_threshold := 7 @export var nonsolid_threshold := 4 @@ -16,6 +13,8 @@ extends TileMap @export var cave_gen_iterations := 3 @export var cave_mine_size_threshold := 80 +var tile_array : Array + func _ready(): var time = generate() print("time for generation: " + str(time)) @@ -25,40 +24,47 @@ func _ready(): func generate() -> float: var start_time = Time.get_unix_time_from_system() - + randomize() + setup_tile_data_array() fill_random_noise() - + for i in cave_gen_iterations: change_cells_by_neighbor_thresholds() - set_borders_solid() prepare_player_start_area() connect_caves(get_caves()) - for i in cave_gen_iterations: change_cells_by_neighbor_thresholds() - set_borders_solid() - + + tile_array_to_terrain() return Time.get_unix_time_from_system() - start_time +func setup_tile_data_array(): + tile_array.clear() + tile_array = [] + for x in width: + tile_array.append([]) + for y in height: + tile_array[x].append([]) + func fill_random_noise(): for x in width: for y in height: if randf() < fill_percentage: - self.set_cell(0, Vector2i(x,y),solid_id, Vector2i(0, 0)) + set_tile_solid(x,y) else: - self.set_cell(0, Vector2i(x,y),non_solid_id, Vector2i(0, 0)) + set_tile_non_solid(x,y) pass func set_borders_solid(): for x in width: - self.set_cell(0, Vector2i(x,0),solid_id, Vector2i(0, 0)) - self.set_cell(0, Vector2i(x,height-1),solid_id, Vector2i(0, 0)) + set_tile_solid(x,0) + set_tile_solid(x,height-1) for y in height: - self.set_cell(0, Vector2i(0,y),solid_id, Vector2i(0, 0)) - self.set_cell(0, Vector2i(width-1,y),solid_id, Vector2i(0, 0)) + set_tile_solid(0,y) + set_tile_solid(width-1,y) pass func prepare_player_start_area(): @@ -76,32 +82,32 @@ func prepare_player_start_area(): for y in range(center.y - start_area_size, center.y + start_area_size): # Decide if the tile is part of the Corner or not if !(p2 > 0 or p2 <= - (start_area_size*2 - p*2)): - self.set_cell(0, Vector2i(x,y),non_solid_id, Vector2i(0, 0)) + set_tile_non_solid(x,y) p2 -= 1 pass func change_cells_by_neighbor_thresholds(): - for x in range(1, width): - for y in range(1, height): + for x in range(1, width-1): + for y in range(1, height-1): # Count Solid Neighbor Cells var count := 0 #y-1 - if self.get_cell_source_id(0, Vector2i(x-1, y-1)) == solid_id: count +=1 - if self.get_cell_source_id(0, Vector2i(x, y-1)) == solid_id: count +=1 - if self.get_cell_source_id(0, Vector2i(x+1, y-1)) == solid_id: count +=1 + if get_tile_solid(x-1, y-1): count +=1 + if get_tile_solid(x, y-1): count +=1 + if get_tile_solid(x+1, y-1): count +=1 #y - if self.get_cell_source_id(0, Vector2i(x-1, y)) == solid_id: count +=1 - if self.get_cell_source_id(0, Vector2i(x+1, y)) == solid_id: count +=1 + if get_tile_solid(x-1, y): count +=1 + if get_tile_solid(x+1, y): count +=1 #y+1 - if self.get_cell_source_id(0, Vector2i(x-1, y+1)) == solid_id: count +=1 - if self.get_cell_source_id(0, Vector2i(x, y+1)) == solid_id: count +=1 - if self.get_cell_source_id(0, Vector2i(x+1, y+1)) == solid_id: count +=1 + if get_tile_solid(x-1, y+1): count +=1 + if get_tile_solid(x, y+1): count +=1 + if get_tile_solid(x+1, y+1): count +=1 # Check Threshold if count < nonsolid_threshold: - self.set_cell(0, Vector2i(x,y),non_solid_id, Vector2i(0, 0)) + set_tile_non_solid(x,y) if count >= solid_threshold: - self.set_cell(0, Vector2i(x,y),solid_id, Vector2i(0, 0)) + set_tile_solid(x,y) pass func get_caves() -> Array: @@ -110,12 +116,12 @@ func get_caves() -> Array: for x in range (2, width-2): for y in range (2, height-2): - if self.get_cell_source_id(0, Vector2i(x, y)) == non_solid_id: + if get_tile_non_solid(x, y): flood_fill(x,y, caves) for cave in caves: for tile in cave: - self.set_cell(0, Vector2i(tile.x,tile.y),non_solid_id, Vector2i(0, 0)) + set_tile_non_solid(tile.x,tile.y) return caves func flood_fill(tilex, tiley, caves) -> Array: @@ -126,7 +132,7 @@ func flood_fill(tilex, tiley, caves) -> Array: if !cave.has(tile): cave.append(tile) - self.set_cell(0, Vector2i(tile.x,tile.y),solid_id, Vector2i(0, 0)) + set_tile_solid(tile.x,tile.y) #check adjacent cells var north = Vector2i(tile.x, tile.y+1) @@ -135,7 +141,7 @@ func flood_fill(tilex, tiley, caves) -> Array: var west = Vector2i(tile.x-1, tile.y) for dir in [north,south,east,west]: - if self.get_cell_source_id(0, dir) == non_solid_id: + if get_tile_non_solid(dir.x, dir.y): if !to_fill.has(dir) and !cave.has(dir): to_fill.append(dir) if cave.size() >= cave_mine_size_threshold: @@ -223,9 +229,41 @@ func create_tunnel(point1, point2, cave): drunk_x += dx drunk_y += dy - if self.get_cell_source_id(0, Vector2i(drunk_x, drunk_y)) == solid_id: - self.set_cell(0, Vector2i(drunk_x, drunk_y),non_solid_id, Vector2i(0, 0)) + if get_tile_solid(drunk_x, drunk_y): + set_tile_non_solid(drunk_x, drunk_y) #make tunnel wider - self.set_cell(0, Vector2i(drunk_x+1, drunk_y),non_solid_id, Vector2i(0, 0)) - self.set_cell(0, Vector2i(drunk_x+1, drunk_y+1),non_solid_id, Vector2i(0, 0)) + set_tile_non_solid(drunk_x+1, drunk_y) + set_tile_non_solid(drunk_x+1, drunk_y+1) + pass + +func tile_array_to_terrain(): + for x in width: + for y in height: + match tile_array[x][y]: + 0: set_terrain_tile_non_solid(x,y) + 1: set_terrain_tile_solid(x,y) + pass + +# Getter +func get_tile_solid(x : int, y : int) -> bool: + return tile_array[x][y] == 1 + +func get_tile_non_solid(x : int, y : int) -> bool: + return tile_array[x][y] == 0 + +# Setter +func set_tile_solid(x : int, y : int): + tile_array[x][y] = 1 + pass + +func set_tile_non_solid(x : int, y : int): + tile_array[x][y] = 0 + pass + +func set_terrain_tile_solid(x : int, y : int): + self.set_cells_terrain_connect(0, [Vector2i(x,y)], 0, 0, false) + pass + +func set_terrain_tile_non_solid(x : int, y : int): + self.set_cell(0, Vector2i(x,y), -1) pass -- 2.45.2 From fa686fb55a8fc35ab3a0a9a2862c9da6e3c2ca1d Mon Sep 17 00:00:00 2001 From: Snoweuph Date: Sat, 8 Apr 2023 02:17:24 +0200 Subject: [PATCH 13/19] Merge Stuff Together, Setuped Cave in PlayerMovement Scene --- Assets/Tileset.tres | 3 ++- Scenes/PlayerMovement.tscn | 17 ++++++++++------- project.godot | 1 + 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/Assets/Tileset.tres b/Assets/Tileset.tres index 5ea9e42..571b83b 100644 --- a/Assets/Tileset.tres +++ b/Assets/Tileset.tres @@ -488,7 +488,8 @@ texture_region_size = Vector2i(32, 32) [resource] tile_size = Vector2i(32, 32) -physics_layer_0/collision_layer = 0 +physics_layer_0/collision_layer = 1 +physics_layer_0/collision_mask = 0 terrain_set_0/mode = 0 terrain_set_0/terrain_0/name = "Walls" terrain_set_0/terrain_0/color = Color(1, 0.301961, 0.329412, 1) diff --git a/Scenes/PlayerMovement.tscn b/Scenes/PlayerMovement.tscn index d13fce9..47d5733 100644 --- a/Scenes/PlayerMovement.tscn +++ b/Scenes/PlayerMovement.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=12 format=3 uid="uid://ccgpsim5nfxd6"] +[ext_resource type="TileSet" uid="uid://bj7uu2180mie3" path="res://Assets/Tileset.tres" id="1_wkp62"] [ext_resource type="Script" path="res://Scripts/PlayerController.gd" id="1_x3102"] -[ext_resource type="TileSet" uid="uid://b7cqbf6xdbeal" path="res://Assets/Test_Tileset.tres" id="3_0at2g"] [ext_resource type="Script" path="res://Scripts/MapGenerator.gd" id="4_8st0q"] [ext_resource type="Texture2D" uid="uid://bl7vfn05ul1vu" path="res://Assets/Sprites/Jesus/Jesus Spritesheet.png" id="4_e5cec"] @@ -116,16 +116,20 @@ _data = { [node name="Player Movement" type="Node2D"] [node name="Map Generator" type="TileMap" parent="."] -tile_set = ExtResource("3_0at2g") -cell_quadrant_size = 8 +tile_set = ExtResource("1_wkp62") +cell_quadrant_size = 32 collision_visibility_mode = 1 format = 2 script = ExtResource("4_8st0q") +start_area_size = 3 +start_area_corner_size = 1 [node name="Player" type="CharacterBody2D" parent="." node_paths=PackedStringArray("animation_player")] -position = Vector2(512, 300) -scale = Vector2(0.25, 0.25) +position = Vector2(960, 512) +scale = Vector2(0.5, 0.5) +collision_layer = 0 script = ExtResource("1_x3102") +speed = 60 animation_player = NodePath("Player Animator") [node name="Player Sprite" type="Sprite2D" parent="Player"] @@ -138,11 +142,10 @@ vframes = 4 polygon = PackedVector2Array(12, 32, -16, 32, -16, -24, 12, -24) [node name="Player Camera" type="Camera2D" parent="Player"] -zoom = Vector2(10, 10) +zoom = Vector2(3, 3) position_smoothing_enabled = true drag_horizontal_enabled = true drag_vertical_enabled = true -editor_draw_limits = true editor_draw_drag_margin = true [node name="Player Animator" type="AnimationPlayer" parent="Player"] diff --git a/project.godot b/project.godot index 5397ca5..4d58277 100644 --- a/project.godot +++ b/project.godot @@ -53,6 +53,7 @@ move_down={ [layer_names] 2d_physics/layer_1="Map" +2d_physics/layer_2="Player" [rendering] -- 2.45.2 From 335f3dd581daee582181c24dc188560b9dc33536 Mon Sep 17 00:00:00 2001 From: AXVIII3 <76608488+AXVIII3@users.noreply.github.com> Date: Sat, 8 Apr 2023 14:31:44 +0530 Subject: [PATCH 14/19] Bunny Full Spritesheets --- Assets/Sprites/EvilBunny/Spritesheet.png | Bin 0 -> 4449 bytes Assets/Sprites/GoodBunny/Spritesheet.png | Bin 0 -> 4531 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 Assets/Sprites/EvilBunny/Spritesheet.png create mode 100644 Assets/Sprites/GoodBunny/Spritesheet.png diff --git a/Assets/Sprites/EvilBunny/Spritesheet.png b/Assets/Sprites/EvilBunny/Spritesheet.png new file mode 100644 index 0000000000000000000000000000000000000000..dccef6d68f858da98c717b5a95a9c6dcf828e053 GIT binary patch literal 4449 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 RRPF!(002ovPDHLkV1o0$XQcoD literal 0 HcmV?d00001 -- 2.45.2 From edb426536781f3ed3e3303d37daa2715883df7c0 Mon Sep 17 00:00:00 2001 From: Snoweuph Date: Sat, 8 Apr 2023 17:00:54 +0200 Subject: [PATCH 15/19] Implementing WeaponSystem and Entity System to go along with (so that weapons can be tested) --- Assets/Sprites/cross.png | Bin 0 -> 170 bytes Assets/Sprites/cross.png.import | 34 +++++ Prefabs/bunny.tscn | 17 +++ Prefabs/projectile.tscn | 23 ++++ Scenes/WeaponSystem.tscn | 165 +++++++++++++++++++++++ Scripts/EntitySystem/Bunny.gd | 26 ++++ Scripts/EntitySystem/BunnyGenerator.gd | 17 +++ Scripts/EntitySystem/TEAM.gd | 5 + Scripts/WeaponSystem/Projectile.gd | 29 ++++ Scripts/WeaponSystem/WeaponController.gd | 22 +++ project.godot | 11 +- 11 files changed, 348 insertions(+), 1 deletion(-) create mode 100644 Assets/Sprites/cross.png create mode 100644 Assets/Sprites/cross.png.import create mode 100644 Prefabs/bunny.tscn create mode 100644 Prefabs/projectile.tscn create mode 100644 Scenes/WeaponSystem.tscn create mode 100644 Scripts/EntitySystem/Bunny.gd create mode 100644 Scripts/EntitySystem/BunnyGenerator.gd create mode 100644 Scripts/EntitySystem/TEAM.gd create mode 100644 Scripts/WeaponSystem/Projectile.gd create mode 100644 Scripts/WeaponSystem/WeaponController.gd diff --git a/Assets/Sprites/cross.png b/Assets/Sprites/cross.png new file mode 100644 index 0000000000000000000000000000000000000000..fe41fdb0a98d8fe3cf3eced456f69855556dc482 GIT binary patch literal 170 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`jKx9jP7LeL$-D$|QaoK8Lo9le z6Amy>5%Kw_tvTb*@#SrT^V7sn?&kr4>UqY-cd856R!6DTEE8tdFl%6)*?fNgiJ}wt z5?#U=J{v1G$f$`_GpeRs+}j|-eS+a8x6Tfg3%t^ME?Q(UFgo~@u`x{Ar1q&Qj86_| OAA_f>pUXO@geCw+1~qyB literal 0 HcmV?d00001 diff --git a/Assets/Sprites/cross.png.import b/Assets/Sprites/cross.png.import new file mode 100644 index 0000000..44788ca --- /dev/null +++ b/Assets/Sprites/cross.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://tpths2rjfgbh" +path="res://.godot/imported/cross.png-fa240eff0c5791115699b08cead3dd87.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Assets/Sprites/cross.png" +dest_files=["res://.godot/imported/cross.png-fa240eff0c5791115699b08cead3dd87.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/Prefabs/bunny.tscn b/Prefabs/bunny.tscn new file mode 100644 index 0000000..172503b --- /dev/null +++ b/Prefabs/bunny.tscn @@ -0,0 +1,17 @@ +[gd_scene load_steps=4 format=3 uid="uid://cpl4tllohhyel"] + +[ext_resource type="Script" path="res://Scripts/EntitySystem/Bunny.gd" id="1_1kj2b"] +[ext_resource type="Texture2D" uid="uid://tv804qpxy44n" path="res://Assets/Sprites/EvilBunny/bunny_down.png" id="2_80q10"] + +[sub_resource type="CircleShape2D" id="CircleShape2D_sedmr"] + +[node name="Bunny" type="CharacterBody2D"] +collision_layer = 4 +collision_mask = 11 +script = ExtResource("1_1kj2b") + +[node name="Sprite2D" type="Sprite2D" parent="."] +texture = ExtResource("2_80q10") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +shape = SubResource("CircleShape2D_sedmr") diff --git a/Prefabs/projectile.tscn b/Prefabs/projectile.tscn new file mode 100644 index 0000000..8cc4da1 --- /dev/null +++ b/Prefabs/projectile.tscn @@ -0,0 +1,23 @@ +[gd_scene load_steps=4 format=3 uid="uid://csxh42o8twxwn"] + +[ext_resource type="Texture2D" uid="uid://tpths2rjfgbh" path="res://Assets/Sprites/cross.png" id="1_80ojj"] +[ext_resource type="Script" path="res://Scripts/WeaponSystem/Projectile.gd" id="1_os652"] + +[sub_resource type="CircleShape2D" id="CircleShape2D_oix85"] +radius = 8.06226 + +[node name="Projectile" type="Area2D"] +scale = Vector2(0.7, 0.7) +collision_layer = 8 +collision_mask = 5 +script = ExtResource("1_os652") +map_collision_layer = 1 +bunny_collision_layer = 4 + +[node name="Sprite2D" type="Sprite2D" parent="."] +texture = ExtResource("1_80ojj") + +[node name="CollisionShape2D" type="CollisionShape2D" parent="."] +shape = SubResource("CircleShape2D_oix85") + +[connection signal="body_entered" from="." to="." method="_on_collision"] diff --git a/Scenes/WeaponSystem.tscn b/Scenes/WeaponSystem.tscn new file mode 100644 index 0000000..21a659c --- /dev/null +++ b/Scenes/WeaponSystem.tscn @@ -0,0 +1,165 @@ +[gd_scene load_steps=16 format=3 uid="uid://cd45icxf4gxpp"] + +[ext_resource type="TileSet" uid="uid://bj7uu2180mie3" path="res://Assets/Tileset.tres" id="1_m1wkd"] +[ext_resource type="Script" path="res://Scripts/MapGenerator.gd" id="2_emsq7"] +[ext_resource type="Script" path="res://Scripts/EntitySystem/BunnyGenerator.gd" id="3_6eopc"] +[ext_resource type="Script" path="res://Scripts/PlayerController.gd" id="3_i7s0m"] +[ext_resource type="Texture2D" uid="uid://bl7vfn05ul1vu" path="res://Assets/Sprites/Jesus/Jesus Spritesheet.png" id="4_a6mi0"] +[ext_resource type="PackedScene" uid="uid://cpl4tllohhyel" path="res://Prefabs/bunny.tscn" id="4_vn6q1"] +[ext_resource type="Script" path="res://Scripts/WeaponSystem/WeaponController.gd" id="6_fdum6"] +[ext_resource type="PackedScene" uid="uid://csxh42o8twxwn" path="res://Prefabs/projectile.tscn" id="7_5vpb2"] + +[sub_resource type="Animation" id="Animation_kdxam"] +resource_name = "Idle" +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Player Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [0] +} + +[sub_resource type="Animation" id="Animation_dwpep"] +resource_name = "MoveDown" +length = 0.8 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Player Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = false +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2, 0.4, 0.6), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 1, +"values": [0, 1, 2, 3] +} + +[sub_resource type="Animation" id="Animation_2jvl5"] +resource_name = "MoveLeft" +length = 0.8 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Player Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2, 0.4, 0.6), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 1, +"values": [12, 13, 14, 15] +} + +[sub_resource type="Animation" id="Animation_4ig1u"] +resource_name = "MoveRight" +length = 0.8 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Player Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2, 0.4, 0.6), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 1, +"values": [4, 5, 6, 7] +} + +[sub_resource type="Animation" id="Animation_pswkh"] +resource_name = "MoveUp" +length = 0.8 +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Player Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.2, 0.4, 0.6), +"transitions": PackedFloat32Array(1, 1, 1, 1), +"update": 1, +"values": [8, 9, 10, 11] +} + +[sub_resource type="Animation" id="Animation_o3hln"] +length = 0.001 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("Player Sprite:frame") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [0] +} + +[sub_resource type="AnimationLibrary" id="AnimationLibrary_bi1h3"] +_data = { +"Idle": SubResource("Animation_kdxam"), +"MoveDown": SubResource("Animation_dwpep"), +"MoveLeft": SubResource("Animation_2jvl5"), +"MoveRight": SubResource("Animation_4ig1u"), +"MoveUp": SubResource("Animation_pswkh"), +"RESET": SubResource("Animation_o3hln") +} + +[node name="Player Movement" type="Node2D"] + +[node name="Map Generator" type="TileMap" parent="."] +tile_set = ExtResource("1_m1wkd") +cell_quadrant_size = 32 +collision_visibility_mode = 1 +format = 2 +script = ExtResource("2_emsq7") +start_area_corner_size = 3 + +[node name="Bunny Generator" type="Node" parent="."] +script = ExtResource("3_6eopc") +bunny_prefab = ExtResource("4_vn6q1") + +[node name="Player" type="CharacterBody2D" parent="." node_paths=PackedStringArray("animation_player")] +position = Vector2(960, 512) +scale = Vector2(0.5, 0.5) +collision_layer = 0 +script = ExtResource("3_i7s0m") +speed = 60 +animation_player = NodePath("Player Animator") + +[node name="Player Sprite" type="Sprite2D" parent="Player"] +position = Vector2(0, -20) +texture = ExtResource("4_a6mi0") +hframes = 4 +vframes = 4 + +[node name="Player Collider" type="CollisionPolygon2D" parent="Player"] +polygon = PackedVector2Array(12, 32, -16, 32, -16, -24, 12, -24) + +[node name="Player Camera" type="Camera2D" parent="Player"] +zoom = Vector2(3, 3) +position_smoothing_enabled = true +drag_horizontal_enabled = true +drag_vertical_enabled = true +editor_draw_drag_margin = true + +[node name="Player Animator" type="AnimationPlayer" parent="Player"] +libraries = { +"": SubResource("AnimationLibrary_bi1h3") +} + +[node name="WeaponController" type="Node2D" parent="Player"] +script = ExtResource("6_fdum6") +projectile_prefab = ExtResource("7_5vpb2") diff --git a/Scripts/EntitySystem/Bunny.gd b/Scripts/EntitySystem/Bunny.gd new file mode 100644 index 0000000..f95b4b3 --- /dev/null +++ b/Scripts/EntitySystem/Bunny.gd @@ -0,0 +1,26 @@ +extends CharacterBody2D +class_name Bunny + +@export var health : int + +var team : int + +var on_death_callbacks : Array + +func damage(damage : int): + health -= health + if(health <= 0): on_death() + pass + +func heal(health : int): + health += health + pass + +func on_death(): + for callback in on_death_callbacks: + callback.call(self) + pass + +func sub_on_death(callback : Callable): + on_death_callbacks.push_front(callback) + pass diff --git a/Scripts/EntitySystem/BunnyGenerator.gd b/Scripts/EntitySystem/BunnyGenerator.gd new file mode 100644 index 0000000..71bcc9f --- /dev/null +++ b/Scripts/EntitySystem/BunnyGenerator.gd @@ -0,0 +1,17 @@ +extends Node + +@export var bunny_prefab : Resource +@onready var BunnyPrefab : PackedScene = load(bunny_prefab.resource_path) + +func spawn_bunny(x : float, y : float, team : int, health : int) -> Bunny: + var bunny = BunnyPrefab.instantiate() + self.add_child(bunny) + bunny.global_position = Vector2(x,y) + bunny.health = health + bunny.team = team + return bunny + +func _ready(): + var bunny = spawn_bunny(960, 512, TEAM.EVIL, 3) + bunny.sub_on_death(func(bunny): bunny.queue_free()) + diff --git a/Scripts/EntitySystem/TEAM.gd b/Scripts/EntitySystem/TEAM.gd new file mode 100644 index 0000000..ff383b8 --- /dev/null +++ b/Scripts/EntitySystem/TEAM.gd @@ -0,0 +1,5 @@ +class_name TEAM +enum { + EVIL = 0, + GOOD = 1 +} diff --git a/Scripts/WeaponSystem/Projectile.gd b/Scripts/WeaponSystem/Projectile.gd new file mode 100644 index 0000000..f36d4b2 --- /dev/null +++ b/Scripts/WeaponSystem/Projectile.gd @@ -0,0 +1,29 @@ +extends Area2D + +@export var speed : float = 250.0 +@export var damage : int = 1 + +@export_flags_2d_physics var map_collision_layer : int +@export_flags_2d_physics var bunny_collision_layer : int + +const bunny_script = preload("res://Scripts/EntitySystem/Bunny.gd") + +func _process(delta): + self.translate(Vector2(cos(self.rotation), sin(self.rotation)) * speed * delta) + pass + + +func _on_collision(body): + var collision_layer = null; + match body.get_class(): + "TileMap": + collision_layer = body.tile_set.get_physics_layer_collision_layer(0) + _: + if(body.has_method("get_collision_layer")): collision_layer = body.get_collision_layer() + + if collision_layer & map_collision_layer: + queue_free() + if collision_layer & bunny_collision_layer: + var bunny = body as Bunny + bunny.damage(damage) + queue_free() diff --git a/Scripts/WeaponSystem/WeaponController.gd b/Scripts/WeaponSystem/WeaponController.gd new file mode 100644 index 0000000..f3b93ec --- /dev/null +++ b/Scripts/WeaponSystem/WeaponController.gd @@ -0,0 +1,22 @@ +extends Node2D + +@export var projectile_prefab : Resource +@onready var projectilePrefab : PackedScene = load(projectile_prefab.resource_path) + +func _process(delta): + rotate_to_pointer() + + if Input.is_action_just_pressed("attack"): + spawn_projectile(self.global_position, self.rotation, 100, 1) + pass + +func rotate_to_pointer(): + look_at(get_global_mouse_position()) + #TODO Implement Joystick Aiming + +func spawn_projectile(pos : Vector2, dir : float, speed: float, damage : int): + var projectile = projectilePrefab.instantiate() + projectile.global_position = pos + projectile.rotation = dir + get_tree().root.add_child(projectile) + pass diff --git a/project.godot b/project.godot index 4d58277..d8c92a8 100644 --- a/project.godot +++ b/project.godot @@ -49,14 +49,23 @@ move_down={ , Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":1,"axis_value":1.0,"script":null) ] } +attack={ +"deadzone": 0.5, +"events": [Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"button_mask":1,"position":Vector2(139, 6),"global_position":Vector2(143, 49),"factor":1.0,"button_index":1,"pressed":true,"double_click":false,"script":null) +, Object(InputEventJoypadButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"button_index":0,"pressure":0.0,"pressed":false,"script":null) +] +} [layer_names] 2d_physics/layer_1="Map" 2d_physics/layer_2="Player" +2d_physics/layer_3="Bunny" +2d_physics/layer_4="Projectile" +2d_physics/layer_5="Layer 5" [rendering] +textures/canvas_textures/default_texture_filter=0 renderer/rendering_method="gl_compatibility" renderer/rendering_method.mobile="gl_compatibility" -textures/canvas_textures/default_texture_filter=0 -- 2.45.2 From 08a134d2fcf9974f497f1059d85fc0271d227e5d Mon Sep 17 00:00:00 2001 From: Snoweuph Date: Sat, 8 Apr 2023 17:17:48 +0200 Subject: [PATCH 16/19] Cleanup Code --- Scripts/EntitySystem/Bunny.gd | 4 ++-- Scripts/WeaponSystem/Projectile.gd | 14 ++++++-------- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/Scripts/EntitySystem/Bunny.gd b/Scripts/EntitySystem/Bunny.gd index f95b4b3..f5a3040 100644 --- a/Scripts/EntitySystem/Bunny.gd +++ b/Scripts/EntitySystem/Bunny.gd @@ -8,12 +8,12 @@ var team : int var on_death_callbacks : Array func damage(damage : int): - health -= health + health -= damage if(health <= 0): on_death() pass func heal(health : int): - health += health + self.health += health pass func on_death(): diff --git a/Scripts/WeaponSystem/Projectile.gd b/Scripts/WeaponSystem/Projectile.gd index f36d4b2..96a7755 100644 --- a/Scripts/WeaponSystem/Projectile.gd +++ b/Scripts/WeaponSystem/Projectile.gd @@ -6,20 +6,17 @@ extends Area2D @export_flags_2d_physics var map_collision_layer : int @export_flags_2d_physics var bunny_collision_layer : int -const bunny_script = preload("res://Scripts/EntitySystem/Bunny.gd") - func _process(delta): self.translate(Vector2(cos(self.rotation), sin(self.rotation)) * speed * delta) pass - func _on_collision(body): var collision_layer = null; - match body.get_class(): - "TileMap": - collision_layer = body.tile_set.get_physics_layer_collision_layer(0) - _: - if(body.has_method("get_collision_layer")): collision_layer = body.get_collision_layer() + + if body.get_class() == "TileMap": + collision_layer = body.tile_set.get_physics_layer_collision_layer(0) + if(body.has_method("get_collision_layer")): + collision_layer = body.get_collision_layer() if collision_layer & map_collision_layer: queue_free() @@ -27,3 +24,4 @@ func _on_collision(body): var bunny = body as Bunny bunny.damage(damage) queue_free() + pass -- 2.45.2 From e7f50d085a3f43b46baf5cbb680ab499e2888b1f Mon Sep 17 00:00:00 2001 From: AXVIII3 <76608488+AXVIII3@users.noreply.github.com> Date: Sat, 8 Apr 2023 14:31:44 +0530 Subject: [PATCH 17/19] Revert "Bunny Full Spritesheets" This reverts commit 335f3dd581daee582181c24dc188560b9dc33536. Reasons: 1. We dont need these full spritesheets 2. bunny sprites arent done yet 3. working with them is harder this way --- Assets/Sprites/EvilBunny/Spritesheet.png | Bin 4449 -> 0 bytes Assets/Sprites/GoodBunny/Spritesheet.png | Bin 4531 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 Assets/Sprites/EvilBunny/Spritesheet.png delete mode 100644 Assets/Sprites/GoodBunny/Spritesheet.png diff --git a/Assets/Sprites/EvilBunny/Spritesheet.png b/Assets/Sprites/EvilBunny/Spritesheet.png deleted file mode 100644 index dccef6d68f858da98c717b5a95a9c6dcf828e053..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4449 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 RRPF!(002ovPDHLkV1o0$XQcoD -- 2.45.2 From f5391051d660637b5c3d1343eb472fdbd6864b8a Mon Sep 17 00:00:00 2001 From: Snoweuph Date: Sat, 8 Apr 2023 21:51:47 +0200 Subject: [PATCH 18/19] Update Jesus -> needs implementation in other branches --- Assets/Sprites/Jesus/Jesus Back.png | Bin 597 -> 0 bytes Assets/Sprites/Jesus/Jesus Back.png.import | 34 ------------------ Assets/Sprites/Jesus/Jesus Front.png | Bin 714 -> 0 bytes Assets/Sprites/Jesus/Jesus Front.png.import | 34 ------------------ Assets/Sprites/Jesus/Jesus Left.png | Bin 665 -> 0 bytes Assets/Sprites/Jesus/Jesus Left.png.import | 34 ------------------ Assets/Sprites/Jesus/Jesus Spritesheet.png | Bin 7347 -> 0 bytes .../Jesus/Jesus Spritesheet.png.import | 34 ------------------ Assets/Sprites/Jesus/Shadow.png | Bin 145 -> 0 bytes Assets/Sprites/Jesus/Shadow.png.import | 34 ------------------ Assets/Sprites/Jesus/jesus_down.ase | Bin 0 -> 4028 bytes Assets/Sprites/Jesus/jesus_left.ase | Bin 0 -> 4210 bytes Assets/Sprites/Jesus/jesus_right.ase | Bin 0 -> 4244 bytes Assets/Sprites/Jesus/jesus_spritesheet.png | Bin 0 -> 4919 bytes Assets/Sprites/Jesus/jesus_up.ase | Bin 0 -> 2972 bytes project.godot | 2 +- 16 files changed, 1 insertion(+), 171 deletions(-) delete mode 100644 Assets/Sprites/Jesus/Jesus Back.png delete mode 100644 Assets/Sprites/Jesus/Jesus Back.png.import delete mode 100644 Assets/Sprites/Jesus/Jesus Front.png delete mode 100644 Assets/Sprites/Jesus/Jesus Front.png.import delete mode 100644 Assets/Sprites/Jesus/Jesus Left.png delete mode 100644 Assets/Sprites/Jesus/Jesus Left.png.import delete mode 100644 Assets/Sprites/Jesus/Jesus Spritesheet.png delete mode 100644 Assets/Sprites/Jesus/Jesus Spritesheet.png.import delete mode 100644 Assets/Sprites/Jesus/Shadow.png delete mode 100644 Assets/Sprites/Jesus/Shadow.png.import create mode 100644 Assets/Sprites/Jesus/jesus_down.ase create mode 100644 Assets/Sprites/Jesus/jesus_left.ase create mode 100644 Assets/Sprites/Jesus/jesus_right.ase create mode 100644 Assets/Sprites/Jesus/jesus_spritesheet.png create mode 100644 Assets/Sprites/Jesus/jesus_up.ase diff --git a/Assets/Sprites/Jesus/Jesus Back.png b/Assets/Sprites/Jesus/Jesus Back.png deleted file mode 100644 index 51840ac9422391d0688f8bd0417d9afd7f565161..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 597 zcmV-b0;>IqP)Px%4@pEpRA@u(m_10uFcg4$=&T?j2>vXNf(TB6LU9yVZxLN}5ae)ha8wYKLvU~w zTyzyjDd^xRf}_(p2rh0eDwS7wlBUUfFKv&OBVCSO)4VTVUSHBSf{Kqu#qk3V;0<^K z-hh*Vv#q6=D_q;>cTRnZ8cPD}U{a9!1LPS!+K^Zv4HOA3h4290fH&X`^tOS*r5MU- zk#g(|aM+y7toH*$gWMLtdOa7w=ht_p!^yE>X9!7f=romtU;qG4Zl06>@w{>X0HShX zdUZcB^m2WW{7Og98c@AQQIyIL2!?^xc2gV8n>{!hONpQHYFaQQulQC~_?2EHtROAYvjvV!u0fL$jlV{+_&S0-&ryNsnJsg zL;&3Ax!|=2&@E)9fHEK%Jyi=#kE8K1v_agqcSOYr8c|hLElOelm*8CiaMACQh++d} z0xa}B1^tVyB(?~^H8^LW{s6EcQJ3Sg4X{sv3Xmr_R|`CVHy}1pBmt#6BXUnzDZu(; zN4)Y;4Y@74)j-bz=r1U&0esJg%_^vVUpx9YZh8fOn;3~lFZWWjf-9eCs@RuPylHo3 jCiQ_r{dS;t?9%oRlFpn^sg!$G00000NkvXXu0mjfcGvmr diff --git a/Assets/Sprites/Jesus/Jesus Back.png.import b/Assets/Sprites/Jesus/Jesus Back.png.import deleted file mode 100644 index b6bde28..0000000 --- a/Assets/Sprites/Jesus/Jesus Back.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://ct2del6b6jorm" -path="res://.godot/imported/Jesus Back.png-6132a4979edf4d1442fefae322c4ce7c.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://Assets/Sprites/Jesus/Jesus Back.png" -dest_files=["res://.godot/imported/Jesus Back.png-6132a4979edf4d1442fefae322c4ce7c.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/Assets/Sprites/Jesus/Jesus Front.png b/Assets/Sprites/Jesus/Jesus Front.png deleted file mode 100644 index 2f4f5ffb46945897a9fc9a68d043ab8fde1ad7c4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 714 zcmV;*0yX`KP)Px%gh@m}RA@u(m_10tP!PvcbXJfe2%?LlB7&m+@7|*uIwoSo1>&|LV(PD{V4kiT|et;z2qZ$$wViibZTnb?gP}?j==3(oyqkLyl zK@1RQm|LYFP5^9-BMd^M2H?hVWBOe83_##{4v<;_kkTY~Tv(g~m}Y_VB;*QY4xno` z2*pEXk{{kP4kKvCx*X6cks9Erx~$Cmv59fTmaZ`+X~T*F0Pz0tsTiD{E=ofmtdqze z32<`T^FxC`nF9cj&1jZ-Z&ZNl{yH-`xG66fLovT`;IAo_O2z~?<^YBQ76Jf##zCNQ zq?AB}C}|ZyG9o~?+a1hpRRix|+E?E5^< zND7e(pjl96vPPtZ20iKq&O&1fdaq=R0XjDE&yN;Qy7#GK@(&a0LLyS4N&f5TmPg-}bKpP!$pZ=&AtSunj}z091c*61q@8m&E@AAZae}gNbz` z;%(428FPTl6rk1MqzY`4FjD|N%n~WUTPYsbbX72Q(Fhd_J=z(MWbh{aZHPPJVHNLj wn(0m_HfxPPPSL>L`eNu0Ec)L8hp<`u1AIzHUvk$q!vFvP07*qoM6N<$f^x_$LjV8( diff --git a/Assets/Sprites/Jesus/Jesus Front.png.import b/Assets/Sprites/Jesus/Jesus Front.png.import deleted file mode 100644 index f35491f..0000000 --- a/Assets/Sprites/Jesus/Jesus Front.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://c03lntytfivr1" -path="res://.godot/imported/Jesus Front.png-b78bfa6c3ed674009555f7ab3f93e778.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://Assets/Sprites/Jesus/Jesus Front.png" -dest_files=["res://.godot/imported/Jesus Front.png-b78bfa6c3ed674009555f7ab3f93e778.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/Assets/Sprites/Jesus/Jesus Left.png b/Assets/Sprites/Jesus/Jesus Left.png deleted file mode 100644 index fba652ff02c4ec1a41ac63f83d84a9e677ab9b9c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 665 zcmV;K0%rY*P)Px%Q%OWYRA@u(nK4TPK@f%S&_7|JRXPmF@kpimsmCYhse~s(5@qkS? zfNAIIwmBtYDS!aDI0aHaGg(0)oN6F30Fd|Rz8*|IsRH@sd2cp1DJ8a&9OF=OAf(C09;MyJPVoDw1h zxZO)_Fj+BL00-M!L0{7uZX0d3LKG=L@BQ#VzX3Riz=Ajc?fR}wr0(~{>O~~ZSOd1= z!_`~>RwkZ85Y7PTx7t>cI)KbmS2a0+=>Qrk00oJwfLe^AIiOQQS9MYwsCrHSkknL| zsR5uiB%;8;09+0ygy^dRsRNjP|L_x4!1+>YYeQEH#v1_q?@0l82<{HGv!-{tUk*)V z-Oq4ataB0K#YF-jiFF3pTU%iNtWtkjOJe^4{OyQ-dp8co00000NkvXXu0mjf$}|)k diff --git a/Assets/Sprites/Jesus/Jesus Left.png.import b/Assets/Sprites/Jesus/Jesus Left.png.import deleted file mode 100644 index 34a5751..0000000 --- a/Assets/Sprites/Jesus/Jesus Left.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://cn4kqa1p845wl" -path="res://.godot/imported/Jesus Left.png-2949c2879ed5f5e8def57f2eb1498de4.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://Assets/Sprites/Jesus/Jesus Left.png" -dest_files=["res://.godot/imported/Jesus Left.png-2949c2879ed5f5e8def57f2eb1498de4.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/Assets/Sprites/Jesus/Jesus Spritesheet.png b/Assets/Sprites/Jesus/Jesus Spritesheet.png deleted file mode 100644 index 3d67761e0ea3f162fe9265323c092315313bd96b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7347 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 diff --git a/Assets/Sprites/Jesus/Shadow.png.import b/Assets/Sprites/Jesus/Shadow.png.import deleted file mode 100644 index dbfe369..0000000 --- a/Assets/Sprites/Jesus/Shadow.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://cubc3m81pdyvq" -path="res://.godot/imported/Shadow.png-e182ddfbb5e0bd7753fe3ec1e6b362c7.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://Assets/Sprites/Jesus/Shadow.png" -dest_files=["res://.godot/imported/Shadow.png-e182ddfbb5e0bd7753fe3ec1e6b362c7.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/Assets/Sprites/Jesus/jesus_down.ase b/Assets/Sprites/Jesus/jesus_down.ase new file mode 100644 index 0000000000000000000000000000000000000000..a8f338afe9bd926f9bb853acba5b446940c3357f GIT binary patch literal 4028 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 literal 0 HcmV?d00001 diff --git a/Assets/Sprites/Jesus/jesus_right.ase b/Assets/Sprites/Jesus/jesus_right.ase new file mode 100644 index 0000000000000000000000000000000000000000..ed17a210c29036e187b901c28214369ba7b0562b GIT binary patch literal 4244 zcmbOtz`*ceDF=fLg9U>E10w?iLkbWh00)9e6V^&528LfBIpDT>0d0{~fZ589V&{ij z8~-yfJf5`%NFIru4bhXoP1>~ko@rN#eXHBUKWs#IDq*waWn;z*DI%4kn;rFW4%9)&yi`-mwgl)RL8^qAYSHx z@TvMUjy5+fc>c)9oc!@brs7WG!{tQ>ip?)L22byuB*AxT&*_O(Yai^L___Y*ga3W^ zKYFrHK3|ye{?K*{AKPin@>XoM`MSqJl*vOB&l zmH*q@QAkf9&g1765t~;VvEqTpO8K6r-kv&n(I!h`B$YLyHeD0Cd1w_e~PJcrXyg`+dFfcelMa zc8lM3cKZ@^es-$c>oXOC=2=yF{pmX;{dYwjd%A;>nKfMaJuoHx`p67VsJFoW0L8Nq zQlLmOsDk48+Cg472Z6T4zbg-V%4P*N%Y`gta#s&`T4S*9?%c#_mN!y9$^WUGf1_h+ zY6WksvF!2B+iz#T?fY9PqI-i~Ov?0d@;2AAMen{$-zI(TZwJq%`@L_YF70b${3Xt8 z;s1NSf}dT@G~u~bbJ}BX_=h_i{=^vm+W%4d z8Bf~%u7|eVrad<*^-K@2>=$OOO>fz^c%gFTJeI$UAJ--SR?4k@uf6H`98=~l7f&ff zbju?7OpJj8M|58?lAgYE$}h&*JFk3V-gWzhtl1T#*|#!T7*2gcj&24d!v=qJe?*J! zJ2;|S4IJH$d~OE7=>A^Jrv1D?EWLnzc>$BRcC=GSR!wgDs;g=yGb8?dvRfG+AX4G$ zy!}P8#o6k&cPsb!IdFe#Y*m|)XaLOGmUe&Fu5H^aKhg2m^1?r2TjdWi{GH7>XZhb0 zw!%$@I)7z)GHO4`c;s39+Q{?cPHo18m8YK>DT1QAqjv3sYUSs@yDt9ky?^3d!Z-WG z9rvCGG537^?R6o%?X9(x)gjx0U*_%w=e>UITHLqp_4~{1zl;7%pR<+eUtMkaXoLgv z_ZzebzYdRZY~}b_P&oxE$89XzH(NAYTeJ#Se0dVOn2~v_!|DDB9+UOu4Boe9Y4|o@ z-{#XUbvXN8Y4P_^{(>aVN4J%J6q`@7vHR1l>wJ^{G~FyqX4%b@REbEQ@PhqKg`h8)+Ib+J2| zIH%Q6W?kjEQiYB8ge7ZUZn(QRkpFqK@sCyRcCob&H}(E5`Z6O(eZIPmFe0u;a9REW zEv`rF?BQ8wKShgYTy?fGxDW@o%~%sK3h|(eCuhG5VV{~|v@zhl_g~*`rvA(q(~1o* z>-F1~%l$Rll3=$XV5Vfx&G5GmJ?>5YqkDU5x$R>YNtO8I8PAqWDacD5@jUx~isF;~ zS#xC0Zr6R<-V=R&foagS2|F48@9tzm~rc6oGv)#@lpQ2Ie3@)uOn`mq( zb@nlJw^cLc^Kx5~XGFe8I(#=~#?32y@i`0(OCJv1n)(%5B;SV@+^7vRa0C3>Y2Ic7 zo`%G4$!vaS4(iNpl(k|NE_iY!dzF&uCgs~VZY*5sqH_Pif2kvjW8K&1&J>n;w&8O2 z`+Z?Hjbb;|b+Qie9IN5$pK@MwkMUps-_|c`ju}e2#wWLY+sk%Qz4y?^Z~spT{IWM~ zSX{Yn>A#7ArTkHcH@6?-{j~SB$tlU-oW3oAX6ucz;5KbqXAAZU=QEq$ z$e*%sy`jhQrbe0M`$;M4rxN~scIwV8Og4Ei??K0Lso&RB|4uXSyQSwof@6BL*d7^O FEdV2ozNP>G literal 0 HcmV?d00001 diff --git a/Assets/Sprites/Jesus/jesus_spritesheet.png b/Assets/Sprites/Jesus/jesus_spritesheet.png new file mode 100644 index 0000000000000000000000000000000000000000..ab9a19d57554f95548f76d5a47bbffa621984f57 GIT binary patch literal 4919 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 literal 0 HcmV?d00001 diff --git a/project.godot b/project.godot index 4d58277..ca36083 100644 --- a/project.godot +++ b/project.godot @@ -57,6 +57,6 @@ move_down={ [rendering] +textures/canvas_textures/default_texture_filter=0 renderer/rendering_method="gl_compatibility" renderer/rendering_method.mobile="gl_compatibility" -textures/canvas_textures/default_texture_filter=0 -- 2.45.2 From 50382456978ba0baea49b4a32a6e04ae8ed77dbf Mon Sep 17 00:00:00 2001 From: Snoweuph Date: Sat, 8 Apr 2023 22:10:11 +0200 Subject: [PATCH 19/19] Update Bunny & Crucefix --- .../Sprites/Bunny/bad_bunny_spritesheet.png | Bin 0 -> 4449 bytes .../Sprites/Bunny/good_bunny_spritesheet.png | Bin 0 -> 4531 bytes Assets/Sprites/EvilBunny/bunny_down.png | Bin 1021 -> 0 bytes .../Sprites/EvilBunny/bunny_down.png.import | 34 ------------------ Assets/Sprites/EvilBunny/bunny_left.png | Bin 1029 -> 0 bytes .../Sprites/EvilBunny/bunny_left.png.import | 34 ------------------ Assets/Sprites/EvilBunny/bunny_righ.png | Bin 1065 -> 0 bytes .../Sprites/EvilBunny/bunny_righ.png.import | 34 ------------------ Assets/Sprites/EvilBunny/bunny_up.png | Bin 973 -> 0 bytes Assets/Sprites/EvilBunny/bunny_up.png.import | 34 ------------------ Assets/Sprites/GoodBunny/bunny_down.png | Bin 1311 -> 0 bytes .../Sprites/GoodBunny/bunny_down.png.import | 34 ------------------ Assets/Sprites/GoodBunny/bunny_left.png | Bin 1179 -> 0 bytes .../Sprites/GoodBunny/bunny_left.png.import | 34 ------------------ Assets/Sprites/GoodBunny/bunny_righ.png | Bin 1182 -> 0 bytes .../Sprites/GoodBunny/bunny_righ.png.import | 34 ------------------ Assets/Sprites/GoodBunny/bunny_up.png | Bin 1212 -> 0 bytes Assets/Sprites/GoodBunny/bunny_up.png.import | 34 ------------------ Assets/Sprites/crucefix.png | Bin 0 -> 331 bytes 19 files changed, 272 deletions(-) create mode 100644 Assets/Sprites/Bunny/bad_bunny_spritesheet.png create mode 100644 Assets/Sprites/Bunny/good_bunny_spritesheet.png delete mode 100644 Assets/Sprites/EvilBunny/bunny_down.png delete mode 100644 Assets/Sprites/EvilBunny/bunny_down.png.import delete mode 100644 Assets/Sprites/EvilBunny/bunny_left.png delete mode 100644 Assets/Sprites/EvilBunny/bunny_left.png.import delete mode 100644 Assets/Sprites/EvilBunny/bunny_righ.png delete mode 100644 Assets/Sprites/EvilBunny/bunny_righ.png.import delete mode 100644 Assets/Sprites/EvilBunny/bunny_up.png delete mode 100644 Assets/Sprites/EvilBunny/bunny_up.png.import delete mode 100644 Assets/Sprites/GoodBunny/bunny_down.png delete mode 100644 Assets/Sprites/GoodBunny/bunny_down.png.import delete mode 100644 Assets/Sprites/GoodBunny/bunny_left.png delete mode 100644 Assets/Sprites/GoodBunny/bunny_left.png.import delete mode 100644 Assets/Sprites/GoodBunny/bunny_righ.png delete mode 100644 Assets/Sprites/GoodBunny/bunny_righ.png.import delete mode 100644 Assets/Sprites/GoodBunny/bunny_up.png delete mode 100644 Assets/Sprites/GoodBunny/bunny_up.png.import create mode 100644 Assets/Sprites/crucefix.png diff --git a/Assets/Sprites/Bunny/bad_bunny_spritesheet.png b/Assets/Sprites/Bunny/bad_bunny_spritesheet.png new file mode 100644 index 0000000000000000000000000000000000000000..dccef6d68f858da98c717b5a95a9c6dcf828e053 GIT binary patch literal 4449 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 RRPF!(002ovPDHLkV1o0$XQcoD literal 0 HcmV?d00001 diff --git a/Assets/Sprites/EvilBunny/bunny_down.png b/Assets/Sprites/EvilBunny/bunny_down.png deleted file mode 100644 index a80fdc6057a13aa11bde35be6861ee3868b0d039..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1021 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 diff --git a/Assets/Sprites/EvilBunny/bunny_up.png.import b/Assets/Sprites/EvilBunny/bunny_up.png.import deleted file mode 100644 index 2bbcfab..0000000 --- a/Assets/Sprites/EvilBunny/bunny_up.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://coyib2evn5o61" -path="res://.godot/imported/bunny_up.png-9db830aab18c79505e343895a04cf789.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://Assets/Sprites/EvilBunny/bunny_up.png" -dest_files=["res://.godot/imported/bunny_up.png-9db830aab18c79505e343895a04cf789.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/Assets/Sprites/GoodBunny/bunny_down.png b/Assets/Sprites/GoodBunny/bunny_down.png deleted file mode 100644 index 452b30036031f4b2d6d332d9a70793b5ba8f99c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1311 zcmV+)1>pLLP)Z|hMyiJ=aqU7~02u|BU4EqTqSrhEtsE7V_v>Bj1w?B$eJ*$i%>4+s0b5>Y5~_9BBm61W_g#og~AQYP9@nr*s{xsb&yCW zjyB?wHmII;tH1$`#Doe(0`XHNu+vRNflM5&dP<@m85ase!4nXv$x$VX$NPrOq9RG8 z8wRGWxFsCR6e25RtVqe7EPSNmU<|6sq7EaoIVzV8QY!qFN0vbot5S+ zI3P#tUNRRSCkOhfA3K;P5+W$QWrl6qJ=;RrPR5Clb5i)bGe~6FC)`Qh&+TwD$q%ZN zIcwss16oZ?7b-;vSAGYrxW%0ZsXs~%%*4^kwds{TM&>XNpHNp2AHRLMe0cSyLB0LH zQ>i-y2TalkACBN~F2;$&#YX~;tu3>j)=@@gtS)w;0`aMYti9=0ii}{yz<^$}jC%-< zBGf1!2?D8vdKMfY=4xEf8phHZhJ-5hE8Dfi1r-+<7mfshR0}(<{Sg)q<&w28OYI9` zPwngv&tM>Np*{uv=i{$!4$t2`t3S@zOQ=>HqlIe0kt7f?VRpn3+7Y4_p@xcU+eanJ z?)818=fLigDAKAAD&sOc3s+3k-W_-@&CSZ5sO5Wy zg%v1PC@5PpWv1MOO0orj zHXrJGv)aTrC7$nd_}HEqa{;&-!N<`!s^e3KffSmooS215+Wg=iNEC@>we2V^-3fz} z7vZx8w%Qd=2IEloQI+1* zb8^`&)Fm4@5nD3F8=$i!%vNEhQ2&My@8trMP``dNtR>7stpc;Ei~HjW%jFRwCEE|= znz$V8ih~Q-Kxb!nASmGsz(JOOgFc3pey{V5ynin-N^_`Ag`lf)2OtL5h;Vim91-lE zXIzfz8Tj7s<(y<|g$M#hxcgafjE?sdY6ruTv+wEpXTi}yrTXX;s!Gwk;S3D?0sJ_f VZYFng#Q*>R07*qoM6N<$f&k9vSn&V= diff --git a/Assets/Sprites/GoodBunny/bunny_down.png.import b/Assets/Sprites/GoodBunny/bunny_down.png.import deleted file mode 100644 index 810354b..0000000 --- a/Assets/Sprites/GoodBunny/bunny_down.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://ep63wy3imw2d" -path="res://.godot/imported/bunny_down.png-ea09ce83bcf9875fa961a56145d1a045.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://Assets/Sprites/GoodBunny/bunny_down.png" -dest_files=["res://.godot/imported/bunny_down.png-ea09ce83bcf9875fa961a56145d1a045.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/Assets/Sprites/GoodBunny/bunny_left.png b/Assets/Sprites/GoodBunny/bunny_left.png deleted file mode 100644 index 47dd716d57d19b9fbd9d47a7c37b7c27ef8f2d77..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1179 zcmV;M1Z4Y(P)1a1(4ryFQo5?2Hs3)BU{Eh4Z$y+xXq$OYc}LeQ0~Fp01dALUe6%Upuuy0vwe3JsH2l~7ReUPXDEk(8j542hQZb+0PQ_p z>p>lqq^L*&sI;3N$AWM5=nT_n7;JqaNS(EqK^>i>sGE)iHL)6z^>8kh(G!gp|5aM* zKpmYV+RZQSrsv&-ff{D8K3O+)wqb3cZrO9>{ zppFD38~M(G;k@mX8ZK@Y8K@UcR~XchNn+RLKy|z=HG_s3Y=;P{bHPBMj!aTE>PnaK z;WiPuWz*xT->Sjuj>E`_md5dFEh?ziB&8c_O?jN;ke{%>u;|NR$=r6Ikk{9YX|}w zVquwRC0J@>Q1qpAe}G@D%|{W`Zb>@)q$N^mrO5K@;VoA>Boxc)Cus#?I=Z#c&-_1hqRT#wsdyb?%2CXdxLotD6R; zv${+)V>b_{duu@&hwf1~wOnVd1;tQB+tSf(kmH9BdjMOy{R|qE&gyDAY8pmMyh{xP z%msGU9~SBe3Q|RMe;Kf7_ms{vbk(f0v=&NgN0=XbyV{Omm%tdfY5|Kz1+{yUj6up^ z?NQm48m=CJSJ)1;VYq1la{+@I0ow@{G)Qh<$h9h)0eSL)G$j@||; zy~sLD@u@-jVKD$n8l()G^idtNQO#48#>{!eE#0H7*n{fzmG2Z|AWf7cCdFbgbW;vs zNLwQheL+oOO+h|BNBodF@&SJrb^p|^6p|Bx%KTl;M1ZD)0IQ}4jVF7{tD)$i9C3w| zG#W&|8PsCXq^?S!vL?AlClI@<0ISx)k-%!B6Ycm&ye)b-OJn(acG{J0TT)O3Z;!0s z2CDEc7(FXj^ooG5i7LJ!NK^w7R1MN%r%$F%(S|gRY(%Ga4x+CI4`xuaAd{WYB=)Xc tEnwQ`v*|(OXgN=df!F6!GwI30e+MUnU!v-a?*IS*07*qoM6N<$f&d@`A$R}) diff --git a/Assets/Sprites/GoodBunny/bunny_left.png.import b/Assets/Sprites/GoodBunny/bunny_left.png.import deleted file mode 100644 index 432e875..0000000 --- a/Assets/Sprites/GoodBunny/bunny_left.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://b0x834s5l1qot" -path="res://.godot/imported/bunny_left.png-91e2fa49ed65451bd7003fe4ee0265af.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://Assets/Sprites/GoodBunny/bunny_left.png" -dest_files=["res://.godot/imported/bunny_left.png-91e2fa49ed65451bd7003fe4ee0265af.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/Assets/Sprites/GoodBunny/bunny_righ.png b/Assets/Sprites/GoodBunny/bunny_righ.png deleted file mode 100644 index 0c14cabfa0a0e28310c74b22aee6af670b5d90f7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1182 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 literal 0 HcmV?d00001 -- 2.45.2