From 6431039d6a89b8062f1e224e1f263cedb8ae3bbb Mon Sep 17 00:00:00 2001 From: Magarnicle Date: Sat, 22 Feb 2025 17:12:33 +0100 Subject: [PATCH] updated player animation stuff added run_stop_reverse_l/r player animtion added slide_l/r player animation added slide + stop_reverse to player animtree lowered player attack duration in animation, it is currently too short and therefore breaking, will fix player does currently enter the sliding animation when simply walking and turning on the ground, but I think it should be fine since the both the slide & turn animations should be able to transition into the run anim. Won't change unless it becomes an issue later. --- characters/enemies/Bingus/run-stats.tres | 2 +- characters/player/AnimStateTemplate.tres | 92 ++++++++- characters/player/Player.tscn | 192 ++++++++++++++++-- .../run_stop_reverse/run_stop_reverse_l.png | 3 + .../run_stop_reverse_l.png.import | 35 ++++ .../run_stop_reverse/run_stop_reverse_r.png | 3 + .../run_stop_reverse_r.png.import | 35 ++++ characters/player/assets/slide/slide_l.png | 3 + .../player/assets/slide/slide_l.png.import | 35 ++++ characters/player/assets/slide/slide_r.png | 3 + .../player/assets/slide/slide_r.png.import | 35 ++++ characters/player/normal_jump.tres | 2 +- test_levels/test_1.tscn | 12 +- 13 files changed, 416 insertions(+), 36 deletions(-) create mode 100644 characters/player/assets/run_stop_reverse/run_stop_reverse_l.png create mode 100644 characters/player/assets/run_stop_reverse/run_stop_reverse_l.png.import create mode 100644 characters/player/assets/run_stop_reverse/run_stop_reverse_r.png create mode 100644 characters/player/assets/run_stop_reverse/run_stop_reverse_r.png.import create mode 100644 characters/player/assets/slide/slide_l.png create mode 100644 characters/player/assets/slide/slide_l.png.import create mode 100644 characters/player/assets/slide/slide_r.png create mode 100644 characters/player/assets/slide/slide_r.png.import diff --git a/characters/enemies/Bingus/run-stats.tres b/characters/enemies/Bingus/run-stats.tres index 1864c13..718917d 100644 --- a/characters/enemies/Bingus/run-stats.tres +++ b/characters/enemies/Bingus/run-stats.tres @@ -1,6 +1,6 @@ [gd_resource type="Resource" script_class="RunStats" load_steps=5 format=3 uid="uid://cdynh4jxcd7nf"] -[ext_resource type="Script" uid="uid://ckrifgfjoj43a" path="res://state_machine/misc/RunStats.gd" id="1_cje7e"] +[ext_resource type="Script" path="res://state_machine/misc/RunStats.gd" id="1_cje7e"] [sub_resource type="Curve" id="Curve_q4yvk"] min_value = -100.0 diff --git a/characters/player/AnimStateTemplate.tres b/characters/player/AnimStateTemplate.tres index ff40d0c..117b8b5 100644 --- a/characters/player/AnimStateTemplate.tres +++ b/characters/player/AnimStateTemplate.tres @@ -1,4 +1,4 @@ -[gd_resource type="AnimationNodeStateMachine" load_steps=29 format=3 uid="uid://buon77u05npxr"] +[gd_resource type="AnimationNodeStateMachine" load_steps=45 format=3 uid="uid://buon77u05npxr"] [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_qpgf7"] animation = &"idle_l" @@ -24,12 +24,24 @@ animation = &"run_stop_l" [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_vxql2"] animation = &"run_stop_r" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_6f17t"] +animation = &"run_stop_reverse_l" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_hmg2w"] +animation = &"run_stop_reverse_r" + [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_eyect"] animation = &"run_turn_l" [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_vbdq7"] animation = &"run_turn_r" +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_ufl2f"] +animation = &"slide_l" + +[sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_q7e1n"] +animation = &"slide_r" + [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ontot"] advance_mode = 2 advance_expression = "looking_right" @@ -37,6 +49,7 @@ advance_expression = "looking_right" [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_gwrg1"] switch_mode = 2 advance_mode = 2 +advance_expression = "!velocity.x < 0" [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_wrqe1"] advance_mode = 2 @@ -45,6 +58,7 @@ advance_expression = "!looking_right" [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_nj0d1"] switch_mode = 2 advance_mode = 2 +advance_expression = "!velocity.x > 0" [sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_hso43"] advance_mode = 2 @@ -102,29 +116,87 @@ advance_expression = "standing_still" switch_mode = 2 advance_mode = 2 +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_o0sij"] +switch_mode = 2 +advance_mode = 2 +advance_expression = "velocity.x > 0" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_5siuw"] +advance_mode = 2 +advance_expression = "standing_still" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_ocra8"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_54jdr"] +advance_mode = 2 +advance_expression = "velocity.x > 0 && !standing_still" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_elf7y"] +advance_mode = 2 +advance_expression = "!standing_still && !looking_right && velocity.x < 0" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_w7atx"] +advance_mode = 2 +advance_expression = "looking_right" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_so6mh"] +switch_mode = 2 +advance_mode = 2 +advance_expression = "velocity.x < 0" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_wdin4"] +advance_mode = 2 +advance_expression = "velocity.x < 0 && !standing_still" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_2do1a"] +advance_mode = 2 +advance_expression = "!velocity.x < 0 && !standing_still" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_6t6et"] +advance_mode = 2 +advance_expression = "standing_still" + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_u1477"] +switch_mode = 2 +advance_mode = 2 + +[sub_resource type="AnimationNodeStateMachineTransition" id="AnimationNodeStateMachineTransition_rilh2"] +advance_mode = 2 +advance_expression = "!looking_right" + [resource] resource_local_to_scene = true states/End/position = Vector2(899, 100) -states/Start/position = Vector2(36, 100) +states/Start/position = Vector2(-135, 100) states/idle_l/node = SubResource("AnimationNodeAnimation_qpgf7") -states/idle_l/position = Vector2(186.414, -33) +states/idle_l/position = Vector2(-55.586, -33) states/idle_r/node = SubResource("AnimationNodeAnimation_1ydtx") -states/idle_r/position = Vector2(192.414, 238) +states/idle_r/position = Vector2(-49.586, 238) states/run_l/node = SubResource("AnimationNodeAnimation_5k6vi") states/run_l/position = Vector2(539, -33) states/run_r/node = SubResource("AnimationNodeAnimation_ilpbu") states/run_r/position = Vector2(539, 238) states/run_start_l/node = SubResource("AnimationNodeAnimation_xc3gk") -states/run_start_l/position = Vector2(357.414, -33) +states/run_start_l/position = Vector2(241.414, -33) states/run_start_r/node = SubResource("AnimationNodeAnimation_i1vi2") -states/run_start_r/position = Vector2(357.414, 238) +states/run_start_r/position = Vector2(241.414, 238) states/run_stop_l/node = SubResource("AnimationNodeAnimation_1248r") -states/run_stop_l/position = Vector2(357.414, -76) +states/run_stop_l/position = Vector2(241.414, -76) states/run_stop_r/node = SubResource("AnimationNodeAnimation_vxql2") -states/run_stop_r/position = Vector2(357.414, 286) +states/run_stop_r/position = Vector2(241.414, 286) +states/run_stop_reverse_l/node = SubResource("AnimationNodeAnimation_6f17t") +states/run_stop_reverse_l/position = Vector2(241.414, -127) +states/run_stop_reverse_r/node = SubResource("AnimationNodeAnimation_hmg2w") +states/run_stop_reverse_r/position = Vector2(241.414, 343) states/run_turn_l/node = SubResource("AnimationNodeAnimation_eyect") states/run_turn_l/position = Vector2(413, 100) states/run_turn_r/node = SubResource("AnimationNodeAnimation_vbdq7") states/run_turn_r/position = Vector2(645, 100) -transitions = ["run_l", "run_turn_r", SubResource("AnimationNodeStateMachineTransition_ontot"), "run_turn_r", "run_r", SubResource("AnimationNodeStateMachineTransition_gwrg1"), "run_r", "run_turn_l", SubResource("AnimationNodeStateMachineTransition_wrqe1"), "run_turn_l", "run_l", SubResource("AnimationNodeStateMachineTransition_nj0d1"), "Start", "idle_l", SubResource("AnimationNodeStateMachineTransition_hso43"), "Start", "idle_r", SubResource("AnimationNodeStateMachineTransition_p65jq"), "idle_l", "run_turn_r", SubResource("AnimationNodeStateMachineTransition_wn3to"), "idle_r", "run_turn_l", SubResource("AnimationNodeStateMachineTransition_jw2dj"), "Start", "run_l", SubResource("AnimationNodeStateMachineTransition_736xv"), "Start", "run_r", SubResource("AnimationNodeStateMachineTransition_c6rbw"), "idle_l", "run_start_l", SubResource("AnimationNodeStateMachineTransition_bdtsj"), "run_start_l", "run_l", SubResource("AnimationNodeStateMachineTransition_h3n2f"), "idle_r", "run_start_r", SubResource("AnimationNodeStateMachineTransition_y2dcf"), "run_start_r", "run_r", SubResource("AnimationNodeStateMachineTransition_macrx"), "run_r", "run_stop_r", SubResource("AnimationNodeStateMachineTransition_hhcfj"), "run_stop_r", "idle_r", SubResource("AnimationNodeStateMachineTransition_lowxd"), "run_l", "run_stop_l", SubResource("AnimationNodeStateMachineTransition_tuv16"), "run_stop_l", "idle_l", SubResource("AnimationNodeStateMachineTransition_vsox1")] -graph_offset = Vector2(-399.586, -97) +states/slide_l/node = SubResource("AnimationNodeAnimation_ufl2f") +states/slide_l/position = Vector2(539, -127) +states/slide_r/node = SubResource("AnimationNodeAnimation_q7e1n") +states/slide_r/position = Vector2(539, 336) +transitions = ["run_l", "run_turn_r", SubResource("AnimationNodeStateMachineTransition_ontot"), "run_turn_r", "run_r", SubResource("AnimationNodeStateMachineTransition_gwrg1"), "run_r", "run_turn_l", SubResource("AnimationNodeStateMachineTransition_wrqe1"), "run_turn_l", "run_l", SubResource("AnimationNodeStateMachineTransition_nj0d1"), "Start", "idle_l", SubResource("AnimationNodeStateMachineTransition_hso43"), "Start", "idle_r", SubResource("AnimationNodeStateMachineTransition_p65jq"), "idle_l", "run_turn_r", SubResource("AnimationNodeStateMachineTransition_wn3to"), "idle_r", "run_turn_l", SubResource("AnimationNodeStateMachineTransition_jw2dj"), "Start", "run_l", SubResource("AnimationNodeStateMachineTransition_736xv"), "Start", "run_r", SubResource("AnimationNodeStateMachineTransition_c6rbw"), "idle_l", "run_start_l", SubResource("AnimationNodeStateMachineTransition_bdtsj"), "run_start_l", "run_l", SubResource("AnimationNodeStateMachineTransition_h3n2f"), "idle_r", "run_start_r", SubResource("AnimationNodeStateMachineTransition_y2dcf"), "run_start_r", "run_r", SubResource("AnimationNodeStateMachineTransition_macrx"), "run_r", "run_stop_r", SubResource("AnimationNodeStateMachineTransition_hhcfj"), "run_stop_r", "idle_r", SubResource("AnimationNodeStateMachineTransition_lowxd"), "run_l", "run_stop_l", SubResource("AnimationNodeStateMachineTransition_tuv16"), "run_stop_l", "idle_l", SubResource("AnimationNodeStateMachineTransition_vsox1"), "run_turn_l", "slide_l", SubResource("AnimationNodeStateMachineTransition_o0sij"), "slide_l", "run_stop_reverse_l", SubResource("AnimationNodeStateMachineTransition_5siuw"), "run_stop_reverse_l", "idle_l", SubResource("AnimationNodeStateMachineTransition_ocra8"), "run_l", "slide_l", SubResource("AnimationNodeStateMachineTransition_54jdr"), "slide_l", "run_l", SubResource("AnimationNodeStateMachineTransition_elf7y"), "slide_l", "run_turn_r", SubResource("AnimationNodeStateMachineTransition_w7atx"), "run_turn_r", "slide_r", SubResource("AnimationNodeStateMachineTransition_so6mh"), "run_r", "slide_r", SubResource("AnimationNodeStateMachineTransition_wdin4"), "slide_r", "run_r", SubResource("AnimationNodeStateMachineTransition_2do1a"), "slide_r", "run_stop_reverse_r", SubResource("AnimationNodeStateMachineTransition_6t6et"), "run_stop_reverse_r", "idle_r", SubResource("AnimationNodeStateMachineTransition_u1477"), "slide_r", "run_turn_l", SubResource("AnimationNodeStateMachineTransition_rilh2")] +graph_offset = Vector2(-473.586, -192) diff --git a/characters/player/Player.tscn b/characters/player/Player.tscn index b547cc5..7a4a11b 100644 --- a/characters/player/Player.tscn +++ b/characters/player/Player.tscn @@ -1,18 +1,18 @@ -[gd_scene load_steps=163 format=3 uid="uid://dlyt5o2dona1a"] +[gd_scene load_steps=171 format=3 uid="uid://dlyt5o2dona1a"] [ext_resource type="Script" path="res://characters/player/Player.gd" id="1_l3wc5"] [ext_resource type="Texture2D" uid="uid://mu78xlrkgmpq" path="res://debug/debug_asset_debug/updated player size v1.png" id="2_1bl0t"] -[ext_resource type="Script" uid="uid://2xux1ohyteb2" path="res://state_machine/StateMachine.gd" id="2_ae3rk"] -[ext_resource type="Script" uid="uid://dyinmqkd8n1e7" path="res://state_machine/Run.gd" id="3_r7kf7"] -[ext_resource type="Script" uid="uid://ckrifgfjoj43a" path="res://state_machine/misc/RunStats.gd" id="4_towo1"] +[ext_resource type="Script" path="res://state_machine/StateMachine.gd" id="2_ae3rk"] +[ext_resource type="Script" path="res://state_machine/Run.gd" id="3_r7kf7"] +[ext_resource type="Script" path="res://state_machine/misc/RunStats.gd" id="4_towo1"] [ext_resource type="Resource" uid="uid://bwu3tfatay4xu" path="res://characters/player/normal_jump.tres" id="5_42qg3"] -[ext_resource type="Script" uid="uid://dr5x24g332mp4" path="res://state_machine/Air.gd" id="6_vkhjv"] +[ext_resource type="Script" path="res://state_machine/Air.gd" id="6_vkhjv"] [ext_resource type="Curve" uid="uid://mxv5toxidjer" path="res://characters/player/falling_curve.tres" id="7_5npc2"] [ext_resource type="Script" path="res://state_machine/Dash.gd" id="8_cenpi"] [ext_resource type="Script" path="res://state_machine/Wallslide.gd" id="8_g5obm"] [ext_resource type="Texture2D" uid="uid://cuemjxyxstwwq" path="res://characters/player/assets/dash/dash_d.png" id="8_wmkje"] [ext_resource type="Shape2D" uid="uid://c1iuvxx2i661g" path="res://characters/player/shape.tres" id="9_lka70"] -[ext_resource type="Script" uid="uid://b230k0tqwex5k" path="res://state_machine/misc/HurtBox.gd" id="10_mejgj"] +[ext_resource type="Script" path="res://state_machine/misc/HurtBox.gd" id="10_mejgj"] [ext_resource type="Texture2D" uid="uid://clqevh5c7mngx" path="res://characters/player/assets/dash/dash_u.png" id="11_gkjao"] [ext_resource type="Script" path="res://state_machine/Death.gd" id="12_33ksn"] [ext_resource type="Texture2D" uid="uid://c25ofwwebxe3m" path="res://characters/player/assets/atk/atk d.png" id="12_hw4yd"] @@ -49,8 +49,12 @@ [ext_resource type="AnimationNodeStateMachine" uid="uid://buon77u05npxr" path="res://characters/player/AnimStateTemplate.tres" id="29_lxe8h"] [ext_resource type="Texture2D" uid="uid://bp2bkfvughxa2" path="res://characters/player/assets/run_stop/run_stop_l.png" id="30_88ug4"] [ext_resource type="Texture2D" uid="uid://cyj5nhy4fu6ur" path="res://characters/player/assets/run_stop/run_stop_r.png" id="31_p3umm"] +[ext_resource type="Texture2D" uid="uid://bknij3p8c4y8g" path="res://characters/player/assets/run_stop_reverse/run_stop_reverse_l.png" id="32_bmt6b"] +[ext_resource type="Texture2D" uid="uid://3t0m45jablsf" path="res://characters/player/assets/run_stop_reverse/run_stop_reverse_r.png" id="33_v5wku"] +[ext_resource type="Texture2D" uid="uid://bsrwykxn3qxun" path="res://characters/player/assets/slide/slide_l.png" id="36_3qy31"] [ext_resource type="Script" path="res://global/ExtendedAnimatedSprite.gd" id="36_i5dqc"] [ext_resource type="AudioStream" uid="uid://bahjna6lj84iw" path="res://assets/sounds/hurt.mp3" id="37_3cxyn"] +[ext_resource type="Texture2D" uid="uid://bl1ek1vupbdl8" path="res://characters/player/assets/slide/slide_r.png" id="37_6mh4t"] [ext_resource type="PackedScene" uid="uid://1x4yec1dhsr2" path="res://state_machine/misc/HitBox.tscn" id="39_n188b"] [ext_resource type="PackedScene" uid="uid://hs4fwm4nio2h" path="res://global/ExtendedAnimationPlayer.tscn" id="40_m06vw"] @@ -298,6 +302,22 @@ animations = [{ }, { "frames": [{ "duration": 1.0, +"texture": ExtResource("32_bmt6b") +}], +"loop": false, +"name": &"run_stop_reverse_l", +"speed": 60.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": ExtResource("33_v5wku") +}], +"loop": false, +"name": &"run_stop_reverse_r", +"speed": 60.0 +}, { +"frames": [{ +"duration": 1.0, "texture": ExtResource("26_utxcs") }], "loop": true, @@ -314,6 +334,22 @@ animations = [{ }, { "frames": [{ "duration": 1.0, +"texture": ExtResource("36_3qy31") +}], +"loop": true, +"name": &"slide_l", +"speed": 60.0 +}, { +"frames": [{ +"duration": 1.0, +"texture": ExtResource("37_6mh4t") +}], +"loop": true, +"name": &"slide_r", +"speed": 60.0 +}, { +"frames": [{ +"duration": 1.0, "texture": ExtResource("29_3n5cc") }], "loop": true, @@ -406,6 +442,7 @@ tracks/5/keys = { [sub_resource type="Animation" id="Animation_4gn6t"] resource_name = "attack_d" +length = 0.0833 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true @@ -425,7 +462,7 @@ tracks/1/path = NodePath("PlayerCharacterSprite:progress") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { -"times": PackedFloat32Array(0, 1), +"times": PackedFloat32Array(0, 0.0833), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 1.0] @@ -437,7 +474,7 @@ tracks/2/path = NodePath("Hitboxes/Down:active") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { -"times": PackedFloat32Array(0, 1), +"times": PackedFloat32Array(0, 0.0833), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] @@ -445,6 +482,7 @@ tracks/2/keys = { [sub_resource type="Animation" id="Animation_cfy27"] resource_name = "attack_l" +length = 0.0833 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true @@ -464,7 +502,7 @@ tracks/1/path = NodePath("PlayerCharacterSprite:progress") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { -"times": PackedFloat32Array(0, 1), +"times": PackedFloat32Array(0, 0.0833), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 1.0] @@ -476,7 +514,7 @@ tracks/2/path = NodePath("Hitboxes/Side:active") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { -"times": PackedFloat32Array(0, 1), +"times": PackedFloat32Array(0, 0.0833), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] @@ -496,6 +534,7 @@ tracks/3/keys = { [sub_resource type="Animation" id="Animation_vmwiv"] resource_name = "attack_r" +length = 0.0833 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true @@ -515,7 +554,7 @@ tracks/1/path = NodePath("PlayerCharacterSprite:progress") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { -"times": PackedFloat32Array(0, 1), +"times": PackedFloat32Array(0, 0.0833), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 1.0] @@ -527,7 +566,7 @@ tracks/2/path = NodePath("Hitboxes/Side:active") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { -"times": PackedFloat32Array(0, 1), +"times": PackedFloat32Array(0, 0.0833), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] @@ -535,6 +574,7 @@ tracks/2/keys = { [sub_resource type="Animation" id="Animation_8rbh5"] resource_name = "attack_u" +length = 0.0833 tracks/0/type = "value" tracks/0/imported = false tracks/0/enabled = true @@ -554,7 +594,7 @@ tracks/1/path = NodePath("PlayerCharacterSprite:progress") tracks/1/interp = 1 tracks/1/loop_wrap = true tracks/1/keys = { -"times": PackedFloat32Array(0, 1), +"times": PackedFloat32Array(0, 0.0833), "transitions": PackedFloat32Array(1, 1), "update": 0, "values": [0.0, 1.0] @@ -566,7 +606,7 @@ tracks/2/path = NodePath("Hitboxes/Up:active") tracks/2/interp = 1 tracks/2/loop_wrap = true tracks/2/keys = { -"times": PackedFloat32Array(0, 1), +"times": PackedFloat32Array(0, 0.0833), "transitions": PackedFloat32Array(1, 1), "update": 1, "values": [true, false] @@ -1374,6 +1414,118 @@ tracks/1/keys = { "values": [&"wallslide_r"] } +[sub_resource type="Animation" id="Animation_lx6sk"] +resource_name = "run_stop_reverse_l" +length = 0.05 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("PlayerCharacterSprite:progress") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.05), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.0, 1.0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("PlayerCharacterSprite:animation") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [&"run_stop_reverse_l"] +} + +[sub_resource type="Animation" id="Animation_1b5k6"] +resource_name = "run_stop_reverse_r" +length = 0.05 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("PlayerCharacterSprite:progress") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 0.05), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.0, 1.0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("PlayerCharacterSprite:animation") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [&"run_stop_reverse_r"] +} + +[sub_resource type="Animation" id="Animation_y0bv0"] +resource_name = "slide_l" +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("PlayerCharacterSprite:progress") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.0, 1.0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("PlayerCharacterSprite:animation") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [&"slide_l"] +} + +[sub_resource type="Animation" id="Animation_1eg1a"] +resource_name = "slide_r" +loop_mode = 1 +tracks/0/type = "value" +tracks/0/imported = false +tracks/0/enabled = true +tracks/0/path = NodePath("PlayerCharacterSprite:progress") +tracks/0/interp = 1 +tracks/0/loop_wrap = true +tracks/0/keys = { +"times": PackedFloat32Array(0, 1), +"transitions": PackedFloat32Array(1, 1), +"update": 0, +"values": [0.0, 1.0] +} +tracks/1/type = "value" +tracks/1/imported = false +tracks/1/enabled = true +tracks/1/path = NodePath("PlayerCharacterSprite:animation") +tracks/1/interp = 1 +tracks/1/loop_wrap = true +tracks/1/keys = { +"times": PackedFloat32Array(0), +"transitions": PackedFloat32Array(1), +"update": 1, +"values": [&"slide_r"] +} + [sub_resource type="AnimationLibrary" id="AnimationLibrary_fc3th"] _data = { "RESET": SubResource("Animation_wyfca"), @@ -1406,8 +1558,12 @@ _data = { "run_start_r": SubResource("Animation_ubmvb"), "run_stop_l": SubResource("Animation_efiai"), "run_stop_r": SubResource("Animation_j8x60"), +"run_stop_reverse_l": SubResource("Animation_lx6sk"), +"run_stop_reverse_r": SubResource("Animation_1b5k6"), "run_turn_l": SubResource("Animation_h5eti"), "run_turn_r": SubResource("Animation_g0t3w"), +"slide_l": SubResource("Animation_y0bv0"), +"slide_r": SubResource("Animation_1eg1a"), "wallslide_l": SubResource("Animation_qujyl"), "wallslide_r": SubResource("Animation_dyx44") } @@ -1462,13 +1618,13 @@ states/Start/position = Vector2(270, 53) states/attack_d/node = SubResource("AnimationNodeAnimation_d80t4") states/attack_d/position = Vector2(461, 165.379) states/attack_l/node = SubResource("AnimationNodeAnimation_vca04") -states/attack_l/position = Vector2(461, 8) +states/attack_l/position = Vector2(461, 24) states/attack_r/node = SubResource("AnimationNodeAnimation_3h7e6") states/attack_r/position = Vector2(461, 98) states/attack_u/node = SubResource("AnimationNodeAnimation_81ih5") states/attack_u/position = Vector2(461, -53.6211) transitions = ["Start", "attack_l", SubResource("AnimationNodeStateMachineTransition_yb8bs"), "Start", "attack_r", SubResource("AnimationNodeStateMachineTransition_vem4e"), "attack_l", "End", SubResource("AnimationNodeStateMachineTransition_4e56x"), "attack_r", "End", SubResource("AnimationNodeStateMachineTransition_7it5k"), "Start", "attack_u", SubResource("AnimationNodeStateMachineTransition_a7qck"), "Start", "attack_d", SubResource("AnimationNodeStateMachineTransition_beld4"), "attack_d", "End", SubResource("AnimationNodeStateMachineTransition_6h21e"), "attack_u", "End", SubResource("AnimationNodeStateMachineTransition_lomi0")] -graph_offset = Vector2(-33.4922, -87.5352) +graph_offset = Vector2(-122.492, -131.535) [sub_resource type="AnimationNodeAnimation" id="AnimationNodeAnimation_p4lt6"] animation = &"fall_l" @@ -1635,7 +1791,7 @@ advance_mode = 2 [sub_resource type="AnimationNodeStateMachine" id="AnimationNodeStateMachine_kn6jm"] states/Attack/node = SubResource("AnimationNodeStateMachine_wkmaj") -states/Attack/position = Vector2(310.678, -70.7383) +states/Attack/position = Vector2(268.868, -90.011) states/End/position = Vector2(590, 18.989) states/Falling/node = SubResource("AnimationNodeStateMachine_er5ij") states/Falling/position = Vector2(120.317, -90.011) @@ -1651,7 +1807,7 @@ states/Wallslide/position = Vector2(295.868, -212.011) states/dash/node = SubResource("AnimationNodeStateMachine_cn3w8") states/dash/position = Vector2(295.868, -147.012) transitions = ["Start", "RESET", SubResource("AnimationNodeStateMachineTransition_0alk5"), "RESET", "Falling", SubResource("AnimationNodeStateMachineTransition_blac4"), "Falling", "RESET", SubResource("AnimationNodeStateMachineTransition_6bj8y"), "RESET", "Idle+Run", SubResource("AnimationNodeStateMachineTransition_jltsu"), "Idle+Run", "RESET", SubResource("AnimationNodeStateMachineTransition_o5kw1"), "RESET", "Jump", SubResource("AnimationNodeStateMachineTransition_6ngu7"), "Jump", "RESET", SubResource("AnimationNodeStateMachineTransition_sasso"), "RESET", "Attack", SubResource("AnimationNodeStateMachineTransition_j7etd"), "Attack", "RESET", SubResource("AnimationNodeStateMachineTransition_def5w")] -graph_offset = Vector2(-236.634, -105.441) +graph_offset = Vector2(-456.634, -161.441) [sub_resource type="Curve" id="Curve_w1mwi"] max_value = 300.0 diff --git a/characters/player/assets/run_stop_reverse/run_stop_reverse_l.png b/characters/player/assets/run_stop_reverse/run_stop_reverse_l.png new file mode 100644 index 0000000..f9419b2 --- /dev/null +++ b/characters/player/assets/run_stop_reverse/run_stop_reverse_l.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1687398594e3e4df2f02b7634d242f8dcc2ff7199fd98fa0dff512179f21e720 +size 17420 diff --git a/characters/player/assets/run_stop_reverse/run_stop_reverse_l.png.import b/characters/player/assets/run_stop_reverse/run_stop_reverse_l.png.import new file mode 100644 index 0000000..f71e461 --- /dev/null +++ b/characters/player/assets/run_stop_reverse/run_stop_reverse_l.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bknij3p8c4y8g" +path.bptc="res://.godot/imported/run_stop_reverse_l.png-0a126c1886f872faee2fcc8c2ae4e801.bptc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://characters/player/assets/run_stop_reverse/run_stop_reverse_l.png" +dest_files=["res://.godot/imported/run_stop_reverse_l.png-0a126c1886f872faee2fcc8c2ae4e801.bptc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=true +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/characters/player/assets/run_stop_reverse/run_stop_reverse_r.png b/characters/player/assets/run_stop_reverse/run_stop_reverse_r.png new file mode 100644 index 0000000..a05e7f7 --- /dev/null +++ b/characters/player/assets/run_stop_reverse/run_stop_reverse_r.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:66380fdd803d599bd2a008ee66a52702c0d8d73867fa610c46af258cce55c534 +size 17457 diff --git a/characters/player/assets/run_stop_reverse/run_stop_reverse_r.png.import b/characters/player/assets/run_stop_reverse/run_stop_reverse_r.png.import new file mode 100644 index 0000000..83e872a --- /dev/null +++ b/characters/player/assets/run_stop_reverse/run_stop_reverse_r.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://3t0m45jablsf" +path.bptc="res://.godot/imported/run_stop_reverse_r.png-70689925c61d1ea69d9c18f5146a3104.bptc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://characters/player/assets/run_stop_reverse/run_stop_reverse_r.png" +dest_files=["res://.godot/imported/run_stop_reverse_r.png-70689925c61d1ea69d9c18f5146a3104.bptc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=true +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/characters/player/assets/slide/slide_l.png b/characters/player/assets/slide/slide_l.png new file mode 100644 index 0000000..241adc2 --- /dev/null +++ b/characters/player/assets/slide/slide_l.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6f92c0713a724b492324f9d10ee1de506ecf440bb06221e9ff2f0b2ef3804002 +size 19872 diff --git a/characters/player/assets/slide/slide_l.png.import b/characters/player/assets/slide/slide_l.png.import new file mode 100644 index 0000000..5f80694 --- /dev/null +++ b/characters/player/assets/slide/slide_l.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bsrwykxn3qxun" +path.bptc="res://.godot/imported/slide_l.png-9e54cee0a8008868433d2106439cfadf.bptc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://characters/player/assets/slide/slide_l.png" +dest_files=["res://.godot/imported/slide_l.png-9e54cee0a8008868433d2106439cfadf.bptc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=true +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/characters/player/assets/slide/slide_r.png b/characters/player/assets/slide/slide_r.png new file mode 100644 index 0000000..016814c --- /dev/null +++ b/characters/player/assets/slide/slide_r.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:69a63a47aeb1a9133aaad2500a284e503e75627ba2a4ede477431dedd9e70386 +size 20210 diff --git a/characters/player/assets/slide/slide_r.png.import b/characters/player/assets/slide/slide_r.png.import new file mode 100644 index 0000000..d0f2503 --- /dev/null +++ b/characters/player/assets/slide/slide_r.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bl1ek1vupbdl8" +path.bptc="res://.godot/imported/slide_r.png-c4819770cb7e43230620e5e7d99d42e4.bptc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://characters/player/assets/slide/slide_r.png" +dest_files=["res://.godot/imported/slide_r.png-c4819770cb7e43230620e5e7d99d42e4.bptc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=true +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/characters/player/normal_jump.tres b/characters/player/normal_jump.tres index 008115b..14697b7 100644 --- a/characters/player/normal_jump.tres +++ b/characters/player/normal_jump.tres @@ -1,7 +1,7 @@ [gd_resource type="Resource" script_class="JumpStats" load_steps=4 format=3 uid="uid://bwu3tfatay4xu"] [ext_resource type="Curve" uid="uid://mxv5toxidjer" path="res://characters/player/falling_curve.tres" id="1_46nf6"] -[ext_resource type="Script" uid="uid://c3joat1uqwo78" path="res://state_machine/misc/JumpStats.gd" id="1_p0xow"] +[ext_resource type="Script" path="res://state_machine/misc/JumpStats.gd" id="1_p0xow"] [sub_resource type="Curve" id="Curve_4h0vl"] min_value = -400.0 diff --git a/test_levels/test_1.tscn b/test_levels/test_1.tscn index 89b5b72..02ae0cc 100644 --- a/test_levels/test_1.tscn +++ b/test_levels/test_1.tscn @@ -2,12 +2,12 @@ [ext_resource type="Script" path="res://characters/player/ExtendedCamera.gd" id="1_22nty"] [ext_resource type="Texture2D" uid="uid://bgw5itdndav4s" path="res://icon.svg" id="1_a777e"] -[ext_resource type="Script" uid="uid://dboeuh5ymmvso" path="res://global/SceneTransition.gd" id="1_heet6"] -[ext_resource type="Script" uid="uid://cbhe4svme1axe" path="res://global/FocusZone.gd" id="1_kki15"] +[ext_resource type="Script" path="res://global/SceneTransition.gd" id="1_heet6"] +[ext_resource type="Script" path="res://global/FocusZone.gd" id="1_kki15"] [ext_resource type="Texture2D" uid="uid://ddlrqr4ss8vls" path="res://debug/debug_asset_debug/down.png" id="1_oukny"] -[ext_resource type="Shader" uid="uid://b6er4bnj6bwyd" path="res://assets/shaders/blurX.gdshader" id="1_x15t4"] -[ext_resource type="Shader" uid="uid://io718ahx46m8" path="res://assets/shaders/blurY.gdshader" id="2_kpx7o"] -[ext_resource type="Script" uid="uid://dgxn3a7clr5vt" path="res://test_levels/ExpressiveStone.gd" id="2_rd8co"] +[ext_resource type="Shader" path="res://assets/shaders/blurX.gdshader" id="1_x15t4"] +[ext_resource type="Shader" path="res://assets/shaders/blurY.gdshader" id="2_kpx7o"] +[ext_resource type="Script" path="res://test_levels/ExpressiveStone.gd" id="2_rd8co"] [ext_resource type="Texture2D" uid="uid://3hyrbswjn4e" path="res://expressive_stone.png" id="2_vgtwj"] [ext_resource type="PackedScene" uid="uid://sxcxj2sua5ho" path="res://characters/enemies/Bingus/Bingus.tscn" id="5_0m374"] [ext_resource type="TileSet" uid="uid://nvduvcllkfyc" path="res://test_levels/test_1_tileset.tres" id="5_3r2p0"] @@ -15,7 +15,7 @@ [ext_resource type="Texture2D" uid="uid://bvfk2imjwpga7" path="res://debug/debug_asset_debug/x-grid.png" id="8_ulsik"] [ext_resource type="Texture2D" uid="uid://5qnqarh456gc" path="res://debug/debug_asset_debug/y-grid.png" id="9_72m0c"] [ext_resource type="Texture2D" uid="uid://rbbqk1tv4e5x" path="res://debug/debug_asset_debug/fogTest.png" id="10_qlm2x"] -[ext_resource type="Script" uid="uid://deg5jn14kcdvc" path="res://global/RelativeParallax2D.gd" id="11_6rg2v"] +[ext_resource type="Script" path="res://global/RelativeParallax2D.gd" id="11_6rg2v"] [ext_resource type="Texture2D" uid="uid://bhcl4y1hdhm6" path="res://debug/debug_asset_debug/credits meow 4.png" id="11_8s8sg"] [ext_resource type="Texture2D" uid="uid://6vvjkjlc0y6d" path="res://debug/debug_asset_debug/test fluid anim/fluid_test_sprite_sheet_1440.png" id="19_oioxv"] [ext_resource type="Texture2D" uid="uid://bc1qao5dv1cqq" path="res://debug/debug_asset_debug/test fluid anim/fluid_test_sprite_sheet.png" id="268_whvcx"]