update - add replot and migration to godot 4.4

This commit is contained in:
2025-08-24 09:58:06 +02:00
parent c635028d02
commit c9583a396c
352 changed files with 12864 additions and 305 deletions

View File

@@ -0,0 +1 @@
uid://ca7usxb155a2d

View File

@@ -1,9 +1,11 @@
[gd_scene load_steps=23 format=3 uid="uid://bycx5snr304xk"]
[ext_resource type="Script" path="res://scenes/characters/Enemy.gd" id="1"]
[ext_resource type="Texture2D" uid="uid://dgmhft8dl1n3d" path="res://textures/pj/pj.png" id="2"]
[ext_resource type="Script" uid="uid://ca7usxb155a2d" path="res://scenes/characters/Enemy.gd" id="1"]
[ext_resource type="PackedScene" path="res://scenes/misc/ItemSpawner.tscn" id="3"]
[sub_resource type="Resource" id="Resource_tfno1"]
metadata/__load_path__ = "res://textures/pj/pj.png"
[sub_resource type="CapsuleShape2D" id="1"]
radius = 35.8589
height = 71.7178
@@ -1158,22 +1160,22 @@ tracks/4/keys = {
[sub_resource type="AnimationLibrary" id="AnimationLibrary_we5lc"]
_data = {
"die": SubResource("2"),
"hurt": SubResource("3"),
"idle_down": SubResource("4"),
"idle_left": SubResource("5"),
"idle_right": SubResource("6"),
"idle_up": SubResource("7"),
"reset": SubResource("8"),
"roll": SubResource("9"),
"slash_down": SubResource("10"),
"slash_left": SubResource("11"),
"slash_right": SubResource("12"),
"slash_up": SubResource("13"),
"walk_down": SubResource("14"),
"walk_left": SubResource("15"),
"walk_right": SubResource("16"),
"walk_up": SubResource("17")
&"die": SubResource("2"),
&"hurt": SubResource("3"),
&"idle_down": SubResource("4"),
&"idle_left": SubResource("5"),
&"idle_right": SubResource("6"),
&"idle_up": SubResource("7"),
&"reset": SubResource("8"),
&"roll": SubResource("9"),
&"slash_down": SubResource("10"),
&"slash_left": SubResource("11"),
&"slash_right": SubResource("12"),
&"slash_up": SubResource("13"),
&"walk_down": SubResource("14"),
&"walk_left": SubResource("15"),
&"walk_right": SubResource("16"),
&"walk_up": SubResource("17")
}
[sub_resource type="CapsuleShape2D" id="18"]
@@ -1187,7 +1189,7 @@ script = ExtResource("1")
[node name="sprite" type="Sprite2D" parent="."]
modulate = Color(0, 0, 0, 1)
position = Vector2(6.30249, -86.9744)
texture = ExtResource("2")
texture = SubResource("Resource_tfno1")
hframes = 8
vframes = 4
frame = 2

View File

@@ -0,0 +1 @@
uid://b08gn63a4wjcf

View File

@@ -1,6 +1,6 @@
[gd_scene load_steps=5 format=3 uid="uid://b7p1kli4j11fo"]
[ext_resource type="Script" path="res://scenes/characters/Npc.gd" id="1"]
[ext_resource type="Script" uid="uid://b08gn63a4wjcf" path="res://scenes/characters/Npc.gd" id="1"]
[sub_resource type="Animation" id="1"]
resource_name = "idle"
@@ -33,7 +33,7 @@ tracks/1/keys = {
[sub_resource type="AnimationLibrary" id="AnimationLibrary_k00qb"]
_data = {
"idle": SubResource("1")
&"idle": SubResource("1")
}
[sub_resource type="RectangleShape2D" id="2"]

View File

@@ -1,6 +1,6 @@
extends CharacterBody2D
class_name Player
class_name Player_Replot
"""
This implements a very rudimentary state machine. There are better implementations

View File

@@ -0,0 +1 @@
uid://olimaj6fffcd

View File

@@ -1,8 +1,8 @@
[gd_scene load_steps=27 format=3 uid="uid://ctd3mgp0s172q"]
[ext_resource type="Script" path="res://scenes/characters/Player.gd" id="2"]
[ext_resource type="Script" uid="uid://olimaj6fffcd" path="res://scenes/characters/Player.gd" id="2"]
[ext_resource type="Texture2D" uid="uid://3au1pfa7jj5l" path="res://textures/kid/kid.png" id="2_rhd3n"]
[ext_resource type="PackedScene" path="res://scenes/characters/debug_character.tscn" id="3"]
[ext_resource type="PackedScene" uid="uid://ccvjd5pjq0f5g" path="res://scenes/characters/debug_character.tscn" id="3"]
[sub_resource type="CapsuleShape2D" id="1"]
radius = 9.00003
@@ -733,26 +733,26 @@ tracks/1/keys = {
[sub_resource type="AnimationLibrary" id="AnimationLibrary_qdvjb"]
_data = {
"die": SubResource("2"),
"hurt": SubResource("3"),
"idle_E": SubResource("6"),
"idle_N": SubResource("7"),
"idle_S": SubResource("4"),
"idle_W": SubResource("5"),
"reset": SubResource("8"),
"roll": SubResource("9"),
"slash_down": SubResource("10"),
"slash_left": SubResource("11"),
"slash_right": SubResource("12"),
"slash_up": SubResource("13"),
"walk_E": SubResource("Animation_qdqhh"),
"walk_N": SubResource("Animation_ef7ow"),
"walk_NE": SubResource("Animation_m2uo2"),
"walk_NW": SubResource("Animation_bcwxc"),
"walk_S": SubResource("Animation_ixjcm"),
"walk_SE": SubResource("Animation_fq7dv"),
"walk_SW": SubResource("Animation_ek8m1"),
"walk_W": SubResource("14")
&"die": SubResource("2"),
&"hurt": SubResource("3"),
&"idle_E": SubResource("6"),
&"idle_N": SubResource("7"),
&"idle_S": SubResource("4"),
&"idle_W": SubResource("5"),
&"reset": SubResource("8"),
&"roll": SubResource("9"),
&"slash_down": SubResource("10"),
&"slash_left": SubResource("11"),
&"slash_right": SubResource("12"),
&"slash_up": SubResource("13"),
&"walk_E": SubResource("Animation_qdqhh"),
&"walk_N": SubResource("Animation_ef7ow"),
&"walk_NE": SubResource("Animation_m2uo2"),
&"walk_NW": SubResource("Animation_bcwxc"),
&"walk_S": SubResource("Animation_ixjcm"),
&"walk_SE": SubResource("Animation_fq7dv"),
&"walk_SW": SubResource("Animation_ek8m1"),
&"walk_W": SubResource("14")
}
[sub_resource type="CapsuleShape2D" id="18"]
@@ -783,7 +783,7 @@ position = Vector2(6.362, -53.087)
[node name="anims" type="AnimationPlayer" parent="."]
libraries = {
"": SubResource("AnimationLibrary_qdvjb")
&"": SubResource("AnimationLibrary_qdvjb")
}
[node name="camera" type="Camera2D" parent="."]

BIN
scenes/characters/charplot/kidfbx/Dying.fbx (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -0,0 +1,37 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://dns1by78v2b06"
valid=false
[deps]
source_file="res://scenes/characters/charplot/kidfbx/Dying.fbx"
[params]
nodes/root_type=""
nodes/root_name=""
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
_subresources={}
fbx/importer=1
fbx/allow_geometry_helper_nodes=false
fbx/embedded_image_handling=1

BIN
scenes/characters/charplot/kidfbx/Getting Hit.fbx (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -0,0 +1,37 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://28tb7vav8fkp"
valid=false
[deps]
source_file="res://scenes/characters/charplot/kidfbx/Getting Hit.fbx"
[params]
nodes/root_type=""
nodes/root_name=""
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
_subresources={}
fbx/importer=1
fbx/allow_geometry_helper_nodes=false
fbx/embedded_image_handling=1

BIN
scenes/characters/charplot/kidfbx/Goofy Running.fbx (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -0,0 +1,37 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://d07u7dr3j81p8"
valid=false
[deps]
source_file="res://scenes/characters/charplot/kidfbx/Goofy Running.fbx"
[params]
nodes/root_type=""
nodes/root_name=""
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
_subresources={}
fbx/importer=1
fbx/allow_geometry_helper_nodes=false
fbx/embedded_image_handling=1

BIN
scenes/characters/charplot/kidfbx/Hit On Side Of Body.fbx (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -0,0 +1,37 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://7ln14ii7w7e3"
valid=false
[deps]
source_file="res://scenes/characters/charplot/kidfbx/Hit On Side Of Body.fbx"
[params]
nodes/root_type=""
nodes/root_name=""
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
_subresources={}
fbx/importer=1
fbx/allow_geometry_helper_nodes=false
fbx/embedded_image_handling=1

BIN
scenes/characters/charplot/kidfbx/Jumping.fbx (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -0,0 +1,37 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://bvojxfjjmuxti"
valid=false
[deps]
source_file="res://scenes/characters/charplot/kidfbx/Jumping.fbx"
[params]
nodes/root_type=""
nodes/root_name=""
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
_subresources={}
fbx/importer=1
fbx/allow_geometry_helper_nodes=false
fbx/embedded_image_handling=1

BIN
scenes/characters/charplot/kidfbx/Jumping2.fbx (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -0,0 +1,37 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://5h7mj837pxac"
valid=false
[deps]
source_file="res://scenes/characters/charplot/kidfbx/Jumping2.fbx"
[params]
nodes/root_type=""
nodes/root_name=""
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
_subresources={}
fbx/importer=1
fbx/allow_geometry_helper_nodes=false
fbx/embedded_image_handling=1

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,45 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://dr26fkn40s8sf"
path="res://.godot/imported/Jumping.gltf-c00e89b8f20fa69f3e240ffeefc50178.scn"
[deps]
source_file="res://scenes/characters/charplot/kidfbx/Jumping_out/Jumping.gltf"
dest_files=["res://.godot/imported/Jumping.gltf-c00e89b8f20fa69f3e240ffeefc50178.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
_subresources={
"nodes": {
"PATH:RootNode/Skeleton3D": {
"retarget/bone_map": Object(BoneMap,"resource_local_to_scene":false,"resource_name":"","profile":Object(SkeletonProfileHumanoid,"resource_local_to_scene":false,"resource_name":"","root_bone":&"Root","scale_base_bone":&"Hips","group_size":4,"bone_size":56,"script":null)
,"bonemap":null,"bone_map/Root":&"","bone_map/Hips":&"mixamorig6_Hips","bone_map/Spine":&"mixamorig6_Spine","bone_map/Chest":&"mixamorig6_Spine1","bone_map/UpperChest":&"mixamorig6_Spine2","bone_map/Neck":&"mixamorig6_Neck","bone_map/Head":&"mixamorig6_Head","bone_map/LeftEye":&"","bone_map/RightEye":&"","bone_map/Jaw":&"","bone_map/LeftShoulder":&"mixamorig6_LeftShoulder","bone_map/LeftUpperArm":&"mixamorig6_LeftArm","bone_map/LeftLowerArm":&"mixamorig6_LeftForeArm","bone_map/LeftHand":&"mixamorig6_LeftHand","bone_map/LeftThumbMetacarpal":&"LeftHandThumb2","bone_map/LeftThumbProximal":&"LeftHandThumb3","bone_map/LeftThumbDistal":&"LeftHandThumb4","bone_map/LeftIndexProximal":&"mixamorig6_LeftHandIndex2","bone_map/LeftIndexIntermediate":&"mixamorig6_LeftHandIndex3","bone_map/LeftIndexDistal":&"mixamorig6_LeftHandIndex4","bone_map/LeftMiddleProximal":&"mixamorig6_LeftHandMiddle2","bone_map/LeftMiddleIntermediate":&"mixamorig6_LeftHandMiddle3","bone_map/LeftMiddleDistal":&"mixamorig6_LeftHandMiddle4","bone_map/LeftRingProximal":&"mixamorig6_LeftHandRing2","bone_map/LeftRingIntermediate":&"mixamorig6_LeftHandRing3","bone_map/LeftRingDistal":&"mixamorig6_LeftHandRing4","bone_map/LeftLittleProximal":&"mixamorig6_LeftHandPinky2","bone_map/LeftLittleIntermediate":&"mixamorig6_LeftHandPinky3","bone_map/LeftLittleDistal":&"mixamorig6_LeftHandPinky4","bone_map/RightShoulder":&"mixamorig6_RightShoulder","bone_map/RightUpperArm":&"mixamorig6_RightArm","bone_map/RightLowerArm":&"mixamorig6_RightForeArm","bone_map/RightHand":&"mixamorig6_RightHand","bone_map/RightThumbMetacarpal":&"RightHandThumb2","bone_map/RightThumbProximal":&"RightHandThumb3","bone_map/RightThumbDistal":&"RightHandThumb4","bone_map/RightIndexProximal":&"mixamorig6_RightHandIndex2","bone_map/RightIndexIntermediate":&"mixamorig6_RightHandIndex3","bone_map/RightIndexDistal":&"mixamorig6_RightHandIndex4","bone_map/RightMiddleProximal":&"mixamorig6_RightHandMiddle2","bone_map/RightMiddleIntermediate":&"mixamorig6_RightHandMiddle3","bone_map/RightMiddleDistal":&"mixamorig6_RightHandMiddle4","bone_map/RightRingProximal":&"mixamorig6_RightHandRing2","bone_map/RightRingIntermediate":&"mixamorig6_RightHandRing3","bone_map/RightRingDistal":&"mixamorig6_RightHandRing4","bone_map/RightLittleProximal":&"mixamorig6_RightHandPinky2","bone_map/RightLittleIntermediate":&"mixamorig6_RightHandPinky3","bone_map/RightLittleDistal":&"mixamorig6_RightHandPinky4","bone_map/LeftUpperLeg":&"mixamorig6_LeftUpLeg","bone_map/LeftLowerLeg":&"mixamorig6_LeftLeg","bone_map/LeftFoot":&"mixamorig6_LeftFoot","bone_map/LeftToes":&"mixamorig6_LeftToeBase","bone_map/RightUpperLeg":&"mixamorig6_RightUpLeg","bone_map/RightLowerLeg":&"mixamorig6_RightLeg","bone_map/RightFoot":&"mixamorig6_RightFoot","bone_map/RightToes":&"mixamorig6_RightToeBase","script":null)
}
}
}
gltf/naming_version=1
gltf/embedded_image_handling=1

BIN
scenes/characters/charplot/kidfbx/Jumping_out/buffer.bin (Stored with Git LFS) Normal file

Binary file not shown.

BIN
scenes/characters/charplot/kidfbx/Left Turn.fbx (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -0,0 +1,37 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://cj225gkhrmn3"
valid=false
[deps]
source_file="res://scenes/characters/charplot/kidfbx/Left Turn.fbx"
[params]
nodes/root_type=""
nodes/root_name=""
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
_subresources={}
fbx/importer=1
fbx/allow_geometry_helper_nodes=false
fbx/embedded_image_handling=1

BIN
scenes/characters/charplot/kidfbx/Right Turn char2.fbx (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -0,0 +1,37 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://c4u31dic1b85q"
valid=false
[deps]
source_file="res://scenes/characters/charplot/kidfbx/Right Turn char2.fbx"
[params]
nodes/root_type=""
nodes/root_name=""
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
_subresources={}
fbx/importer=1
fbx/allow_geometry_helper_nodes=false
fbx/embedded_image_handling=1

BIN
scenes/characters/charplot/kidfbx/Right Turn.fbx (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -0,0 +1,37 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://b1ay803xwb8no"
valid=false
[deps]
source_file="res://scenes/characters/charplot/kidfbx/Right Turn.fbx"
[params]
nodes/root_type=""
nodes/root_name=""
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
_subresources={}
fbx/importer=1
fbx/allow_geometry_helper_nodes=false
fbx/embedded_image_handling=1

BIN
scenes/characters/charplot/kidfbx/Slow Run.fbx (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -0,0 +1,37 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://cuwoslqygp0r3"
valid=false
[deps]
source_file="res://scenes/characters/charplot/kidfbx/Slow Run.fbx"
[params]
nodes/root_type=""
nodes/root_name=""
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
_subresources={}
fbx/importer=1
fbx/allow_geometry_helper_nodes=false
fbx/embedded_image_handling=1

View File

@@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bfpygwuyqbup3"
path.s3tc="res://.godot/imported/Walking-80e3b1e3a7eb853e3ab54c04933a492e_Ch09_1001_Diffuse.png-6aa92082570bc33a48d62f2282ef9f07.s3tc.ctex"
path.etc2="res://.godot/imported/Walking-80e3b1e3a7eb853e3ab54c04933a492e_Ch09_1001_Diffuse.png-6aa92082570bc33a48d62f2282ef9f07.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
generator_parameters={}
[deps]
source_file="res://scenes/characters/charplot/kidfbx/Walking-80e3b1e3a7eb853e3ab54c04933a492e_Ch09_1001_Diffuse.png"
dest_files=["res://.godot/imported/Walking-80e3b1e3a7eb853e3ab54c04933a492e_Ch09_1001_Diffuse.png-6aa92082570bc33a48d62f2282ef9f07.s3tc.ctex", "res://.godot/imported/Walking-80e3b1e3a7eb853e3ab54c04933a492e_Ch09_1001_Diffuse.png-6aa92082570bc33a48d62f2282ef9f07.etc2.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

View File

@@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b7bq17qcedcd6"
path.s3tc="res://.godot/imported/Walking-80e3b1e3a7eb853e3ab54c04933a492e_Ch09_1001_Normal.png-860a60f064e61f6a49265a5ab6d80e05.s3tc.ctex"
path.etc2="res://.godot/imported/Walking-80e3b1e3a7eb853e3ab54c04933a492e_Ch09_1001_Normal.png-860a60f064e61f6a49265a5ab6d80e05.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
generator_parameters={}
[deps]
source_file="res://scenes/characters/charplot/kidfbx/Walking-80e3b1e3a7eb853e3ab54c04933a492e_Ch09_1001_Normal.png"
dest_files=["res://.godot/imported/Walking-80e3b1e3a7eb853e3ab54c04933a492e_Ch09_1001_Normal.png-860a60f064e61f6a49265a5ab6d80e05.s3tc.ctex", "res://.godot/imported/Walking-80e3b1e3a7eb853e3ab54c04933a492e_Ch09_1001_Normal.png-860a60f064e61f6a49265a5ab6d80e05.etc2.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=1
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=1
roughness/src_normal="res://scenes/characters/print/kidfbx/Walking-80e3b1e3a7eb853e3ab54c04933a492e_Ch09_1001_Normal.png"
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

View File

@@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b2h8dyqgs8jcc"
path.s3tc="res://.godot/imported/Walking-80e3b1e3a7eb853e3ab54c04933a492e_ao_met_rough_Ch09_1001_Glossiness.png-c6ab2ce8b3c5902ab04dbe9819fe9270.s3tc.ctex"
path.etc2="res://.godot/imported/Walking-80e3b1e3a7eb853e3ab54c04933a492e_ao_met_rough_Ch09_1001_Glossiness.png-c6ab2ce8b3c5902ab04dbe9819fe9270.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
generator_parameters={}
[deps]
source_file="res://scenes/characters/charplot/kidfbx/Walking-80e3b1e3a7eb853e3ab54c04933a492e_ao_met_rough_Ch09_1001_Glossiness.png"
dest_files=["res://.godot/imported/Walking-80e3b1e3a7eb853e3ab54c04933a492e_ao_met_rough_Ch09_1001_Glossiness.png-c6ab2ce8b3c5902ab04dbe9819fe9270.s3tc.ctex", "res://.godot/imported/Walking-80e3b1e3a7eb853e3ab54c04933a492e_ao_met_rough_Ch09_1001_Glossiness.png-c6ab2ce8b3c5902ab04dbe9819fe9270.etc2.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

View File

@@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://kfq8kcy25j5i"
path.s3tc="res://.godot/imported/Walking-9734d369d567ef19af1662750caf50b2_Ch09_1001_Diffuse.png-0bd8cc392e625d207cda1212dd1952a7.s3tc.ctex"
path.etc2="res://.godot/imported/Walking-9734d369d567ef19af1662750caf50b2_Ch09_1001_Diffuse.png-0bd8cc392e625d207cda1212dd1952a7.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
generator_parameters={}
[deps]
source_file="res://scenes/characters/charplot/kidfbx/Walking-9734d369d567ef19af1662750caf50b2_Ch09_1001_Diffuse.png"
dest_files=["res://.godot/imported/Walking-9734d369d567ef19af1662750caf50b2_Ch09_1001_Diffuse.png-0bd8cc392e625d207cda1212dd1952a7.s3tc.ctex", "res://.godot/imported/Walking-9734d369d567ef19af1662750caf50b2_Ch09_1001_Diffuse.png-0bd8cc392e625d207cda1212dd1952a7.etc2.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

View File

@@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bfo6juqw38qu0"
path.s3tc="res://.godot/imported/Walking-9734d369d567ef19af1662750caf50b2_Ch09_1001_Normal.png-2e83cc8e47e340c4dd137dbb11fa410c.s3tc.ctex"
path.etc2="res://.godot/imported/Walking-9734d369d567ef19af1662750caf50b2_Ch09_1001_Normal.png-2e83cc8e47e340c4dd137dbb11fa410c.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
generator_parameters={}
[deps]
source_file="res://scenes/characters/charplot/kidfbx/Walking-9734d369d567ef19af1662750caf50b2_Ch09_1001_Normal.png"
dest_files=["res://.godot/imported/Walking-9734d369d567ef19af1662750caf50b2_Ch09_1001_Normal.png-2e83cc8e47e340c4dd137dbb11fa410c.s3tc.ctex", "res://.godot/imported/Walking-9734d369d567ef19af1662750caf50b2_Ch09_1001_Normal.png-2e83cc8e47e340c4dd137dbb11fa410c.etc2.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=1
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=1
roughness/src_normal="res://scenes/characters/charplot/kidfbx/Walking-9734d369d567ef19af1662750caf50b2_Ch09_1001_Normal.png"
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

View File

@@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bk53row3dx7dp"
path.s3tc="res://.godot/imported/Walking-9734d369d567ef19af1662750caf50b2_ao_met_rough_Ch09_1001_Glossiness.png-1ed1c2a5557f3f536279817e374dda0e.s3tc.ctex"
path.etc2="res://.godot/imported/Walking-9734d369d567ef19af1662750caf50b2_ao_met_rough_Ch09_1001_Glossiness.png-1ed1c2a5557f3f536279817e374dda0e.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
generator_parameters={}
[deps]
source_file="res://scenes/characters/charplot/kidfbx/Walking-9734d369d567ef19af1662750caf50b2_ao_met_rough_Ch09_1001_Glossiness.png"
dest_files=["res://.godot/imported/Walking-9734d369d567ef19af1662750caf50b2_ao_met_rough_Ch09_1001_Glossiness.png-1ed1c2a5557f3f536279817e374dda0e.s3tc.ctex", "res://.godot/imported/Walking-9734d369d567ef19af1662750caf50b2_ao_met_rough_Ch09_1001_Glossiness.png-1ed1c2a5557f3f536279817e374dda0e.etc2.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://djrtked2y51m5"
path="res://.godot/imported/Ch09_1001_Diffuse.png-a1969f2f0039f61f994c2ee803b83599.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://scenes/characters/charplot/kidfbx/Walking.fbm/Ch09_1001_Diffuse.png"
dest_files=["res://.godot/imported/Ch09_1001_Diffuse.png-a1969f2f0039f61f994c2ee803b83599.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

Binary file not shown.

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://hv2ypieh46av"
path="res://.godot/imported/Ch09_1001_Glossiness.png-d4988f9e1a5170d5ad1e5838a3c6f33b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://scenes/characters/charplot/kidfbx/Walking.fbm/Ch09_1001_Glossiness.png"
dest_files=["res://.godot/imported/Ch09_1001_Glossiness.png-d4988f9e1a5170d5ad1e5838a3c6f33b.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

Binary file not shown.

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://gh1kyii2dxps"
path="res://.godot/imported/Ch09_1001_Normal.png-538f509e6083decaa9eb56dcf1d1d713.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://scenes/characters/charplot/kidfbx/Walking.fbm/Ch09_1001_Normal.png"
dest_files=["res://.godot/imported/Ch09_1001_Normal.png-538f509e6083decaa9eb56dcf1d1d713.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

Binary file not shown.

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://duehi1sf6fyvr"
path="res://.godot/imported/Ch09_1001_Specular.png-fb6cd982afe7dfd860155d1bcb0330c6.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://scenes/characters/charplot/kidfbx/Walking.fbm/Ch09_1001_Specular.png"
dest_files=["res://.godot/imported/Ch09_1001_Specular.png-fb6cd982afe7dfd860155d1bcb0330c6.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

BIN
scenes/characters/charplot/kidfbx/Walking.fbx (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -0,0 +1,37 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://wjfg3yttvjfs"
valid=false
[deps]
source_file="res://scenes/characters/charplot/kidfbx/Walking.fbx"
[params]
nodes/root_type=""
nodes/root_name=""
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
_subresources={}
fbx/importer=1
fbx/allow_geometry_helper_nodes=false
fbx/embedded_image_handling=1

BIN
scenes/characters/charplot/kidfbx/Walking2.fbx (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -0,0 +1,37 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://b4uykcdeug864"
valid=false
[deps]
source_file="res://scenes/characters/charplot/kidfbx/Walking2.fbx"
[params]
nodes/root_type=""
nodes/root_name=""
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
_subresources={}
fbx/importer=1
fbx/allow_geometry_helper_nodes=false
fbx/embedded_image_handling=1

Binary file not shown.

View File

@@ -0,0 +1,36 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://djbmu45du2wht"
path.s3tc="res://.godot/imported/Ch09_1001_Diffuse.png-c850a2a9d4520cecba19ee211e8f79f6.s3tc.ctex"
path.etc2="res://.godot/imported/Ch09_1001_Diffuse.png-c850a2a9d4520cecba19ee211e8f79f6.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://scenes/characters/charplot/kidfbx/Walking_out/Ch09_1001_Diffuse.png"
dest_files=["res://.godot/imported/Ch09_1001_Diffuse.png-c850a2a9d4520cecba19ee211e8f79f6.s3tc.ctex", "res://.godot/imported/Ch09_1001_Diffuse.png-c850a2a9d4520cecba19ee211e8f79f6.etc2.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

View File

@@ -0,0 +1,36 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dbwefh7842la6"
path.s3tc="res://.godot/imported/Ch09_1001_Normal.png-6397a51700eb1de5047724a5ae82a07d.s3tc.ctex"
path.etc2="res://.godot/imported/Ch09_1001_Normal.png-6397a51700eb1de5047724a5ae82a07d.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://scenes/characters/charplot/kidfbx/Walking_out/Ch09_1001_Normal.png"
dest_files=["res://.godot/imported/Ch09_1001_Normal.png-6397a51700eb1de5047724a5ae82a07d.s3tc.ctex", "res://.godot/imported/Ch09_1001_Normal.png-6397a51700eb1de5047724a5ae82a07d.etc2.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=1
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=1
roughness/src_normal="res://scenes/characters/print/kidfbx/Walking_out/Ch09_1001_Normal.png"
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

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,37 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://bni3jnhp4o04h"
path="res://.godot/imported/Walking.gltf-9047ccfd5d67cafacc8c394b70bcffc9.scn"
[deps]
source_file="res://scenes/characters/charplot/kidfbx/Walking_out/Walking.gltf"
dest_files=["res://.godot/imported/Walking.gltf-9047ccfd5d67cafacc8c394b70bcffc9.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
_subresources={}
gltf/naming_version=1
gltf/embedded_image_handling=1

BIN
scenes/characters/charplot/kidfbx/Walking_out/buffer.bin (Stored with Git LFS) Normal file

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ddlc3bwj3ixk2"
path="res://.godot/imported/Walking_outao_met_rough_Ch09_1001_Glossiness.png-b3e15421208ae986d375a2ad43cd3fe8.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://scenes/characters/charplot/kidfbx/Walking_outao_met_rough_Ch09_1001_Glossiness.png"
dest_files=["res://.godot/imported/Walking_outao_met_rough_Ch09_1001_Glossiness.png-b3e15421208ae986d375a2ad43cd3fe8.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

View File

@@ -0,0 +1,204 @@
extends CharacterBody2D
class_name Player
"""
This implements a very rudimentary state machine. There are better implementations
in the AssetLib if you want to make something more complex. Also it shares code with Enemy.gd
and probably both should extend some parent script
"""
@export var WALK_SPEED: int = 70 # pixels per second
@export var ROLL_SPEED: int = 1000 # pixels per second
@export var hitpoints: int = 3
var linear_vel = Vector2()
var roll_direction = Vector2.DOWN
signal health_changed(current_hp)
var despawn_fx = preload("res://scenes/misc/DespawnFX.tscn")
var anim = ""
var new_anim = ""
const N = Vector2.UP
const NE = Vector2(cos(1*PI/4),sin(1*PI/4))
const E = Vector2.RIGHT
const SE = Vector2(cos(7*PI/4),sin(7*PI/4))
const S = Vector2.DOWN
const SW = Vector2(cos(5*PI/4),sin(5*PI/4))
const W = Vector2.LEFT
const NW = Vector2(cos(3*PI/4),sin(3*PI/4))
enum { STATE_BLOCKED, STATE_IDLE, STATE_WALKING, STATE_ATTACK, STATE_ROLL, STATE_DIE, STATE_HURT }
@export var facing = "S" # (String, "up", "down", "left", "right")
var state = STATE_IDLE
var direction = S
# Move the player to the corresponding spawnpoint, if any and connect to the dialog system
func _ready():
var spawnpoints = get_tree().get_nodes_in_group("spawnpoints")
for spawnpoint in spawnpoints:
if spawnpoint.name == Globals.spawnpoint:
global_position = spawnpoint.global_position
break
if not (
Dialogs.dialog_started.connect(_on_dialog_started) == OK and
Dialogs.dialog_ended.connect(_on_dialog_ended) == OK ):
printerr("Error connecting to dialog system")
pass
func _physics_process(_delta):
## PROCESS STATES
match state:
STATE_BLOCKED:
# new_anim = "idle_" + facing
$anims.stop()
pass
STATE_IDLE:
if (
Input.is_action_pressed("move_down") or
Input.is_action_pressed("move_left") or
Input.is_action_pressed("move_right") or
Input.is_action_pressed("move_up")
):
state = STATE_WALKING
if Input.is_action_just_pressed("attack"):
state = STATE_ATTACK
# if Input.is_action_just_pressed("roll"):
# state = STATE_ROLL
# roll_direction = Vector2(
# - int( Input.is_action_pressed("move_left") ) + int( Input.is_action_pressed("move_right") ),
# -int( Input.is_action_pressed("move_up") ) + int( Input.is_action_pressed("move_down") )
# ).normalized()
# _update_facing()
# new_anim = "idle_" + facing
$anims.stop()
pass
STATE_WALKING:
if Input.is_action_just_pressed("attack"):
state = STATE_ATTACK
if Input.is_action_just_pressed("roll"):
state = STATE_ROLL
linear_vel = velocity
var target_speed = Vector2(0,0)
if Input.is_action_pressed("move_down"):
target_speed += Vector2.DOWN
if Input.is_action_pressed("move_left"):
target_speed += Vector2.LEFT
if Input.is_action_pressed("move_right"):
target_speed += Vector2.RIGHT
if Input.is_action_pressed("move_up"):
target_speed += Vector2.UP
target_speed = target_speed.normalized() * WALK_SPEED
target_speed.y *= 0.50 # compensa visione isometrica
#linear_vel = linear_vel.linear_interpolate(target_speed, 0.9)
linear_vel = target_speed
set_velocity(linear_vel)
roll_direction = linear_vel.normalized()
move_and_slide()
_update_facing()
if linear_vel.length() > 5:
new_anim = "walk_" + facing
anim = new_anim
$anims.play(anim)
else:
goto_idle()
pass
STATE_ATTACK:
new_anim = "walk_" + facing # was splash_
pass
STATE_ROLL:
if roll_direction == Vector2.ZERO:
state = STATE_IDLE
else:
set_velocity(linear_vel)
move_and_slide()
linear_vel = velocity
var target_speed = Vector2()
target_speed = roll_direction
target_speed *= ROLL_SPEED
#linear_vel = linear_vel.linear_interpolate(target_speed, 0.9)
linear_vel = target_speed
new_anim = "roll"
STATE_DIE:
new_anim = "die"
STATE_HURT:
new_anim = "hurt"
## UPDATE ANIMATION
if new_anim != anim:
anim = new_anim
$anims.play(anim)
pass
func _on_dialog_started():
state = STATE_BLOCKED
func _on_dialog_ended():
state = STATE_IDLE
## HELPER FUNCS
func goto_idle():
linear_vel = Vector2.ZERO
# new_anim = "idle_" + facing
state = STATE_IDLE
func _update_facing():
if Input.is_action_pressed("move_left"):
facing = "W"
if Input.is_action_pressed("move_right"):
facing = "E"
if Input.is_action_pressed("move_up"):
facing = "N"
if Input.is_action_pressed("move_left"):
facing = "NW"
if Input.is_action_pressed("move_right"):
facing = "NE"
if Input.is_action_pressed("move_down"):
facing = "S"
if Input.is_action_pressed("move_left"):
facing = "SW"
if Input.is_action_pressed("move_right"):
facing = "SE"
func despawn():
var despawn_particles = despawn_fx.instantiate()
get_parent().add_child(despawn_particles)
despawn_particles.global_position = global_position
hide()
await get_tree().create_timer(5.0).timeout
get_tree().reload_current_scene()
pass
func _on_hurtbox_area_entered(area):
if state != STATE_DIE and area.is_in_group("enemy_weapons"):
hitpoints -= 1
emit_signal("health_changed", hitpoints)
var pushback_direction = (global_position - area.global_position).normalized()
set_velocity(pushback_direction * 5000)
move_and_slide()
state = STATE_HURT
if hitpoints <= 0:
state = STATE_DIE
pass

View File

@@ -0,0 +1 @@
uid://b46pp0ibs2428

View File

@@ -0,0 +1,806 @@
[gd_scene load_steps=27 format=3 uid="uid://b3eafn80rrcc1"]
[ext_resource type="Script" uid="uid://olimaj6fffcd" path="res://scenes/characters/Player.gd" id="1_xx4cj"]
[ext_resource type="Texture2D" uid="uid://3au1pfa7jj5l" path="res://textures/kid/kid.png" id="2_dgoxx"]
[ext_resource type="PackedScene" uid="uid://ccvjd5pjq0f5g" path="res://scenes/characters/debug_character.tscn" id="3_q7ixp"]
[sub_resource type="CapsuleShape2D" id="1"]
radius = 9.00003
height = 42.119
[sub_resource type="Animation" id="2"]
resource_name = "die"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1, 1, 1, 1, 1),
"update": 1,
"values": [9, 11, 13, 12, 9, 11, 13, 12, 9]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("sprite:flip_h")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0, 0.2, 0.4, 0.7),
"transitions": PackedFloat32Array(1, 1, 1, 1),
"update": 1,
"values": [true, false, true, false]
}
tracks/2/type = "method"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath(".")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(1),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"despawn"
}]
}
[sub_resource type="Animation" id="3"]
resource_name = "hurt"
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("sprite:modulate")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.1),
"transitions": PackedFloat32Array(2, 1),
"update": 0,
"values": [Color(0, 0, 0, 1), Color(1, 1, 1, 1)]
}
tracks/1/type = "method"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath(".")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0.1),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"goto_idle"
}]
}
[sub_resource type="Animation" id="6"]
resource_name = "idle_E"
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [154, 163]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("sprite:flip_h")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("hurtbox:position")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector2(0, 0), Vector2(0, -3.49902)]
}
[sub_resource type="Animation" id="7"]
resource_name = "idle_N"
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [22, 43]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("sprite:flip_h")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("hurtbox:position")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector2(0, 0), Vector2(0, -3.49902)]
}
[sub_resource type="Animation" id="4"]
resource_name = "idle_S"
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [88, 97]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("sprite:flip_h")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("hurtbox:position")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector2(0, 0), Vector2(0, -3.49902)]
}
[sub_resource type="Animation" id="5"]
resource_name = "idle_W"
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 1,
"values": [11, 21]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("sprite:flip_h")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("hurtbox:position")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector2(0, 0), Vector2(0, -3.49902)]
}
[sub_resource type="Animation" id="8"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [2]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("sprite:flip_h")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/2/type = "value"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath("player_sword:monitorable")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/3/type = "value"
tracks/3/imported = false
tracks/3/enabled = true
tracks/3/path = NodePath("sprite:modulate")
tracks/3/interp = 1
tracks/3/loop_wrap = true
tracks/3/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Color(1, 1, 1, 1)]
}
tracks/4/type = "value"
tracks/4/imported = false
tracks/4/enabled = true
tracks/4/path = NodePath("hurtbox:position")
tracks/4/interp = 1
tracks/4/loop_wrap = true
tracks/4/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(0, 0)]
}
[sub_resource type="Animation" id="9"]
length = 0.5
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2, 0.3, 0.4),
"transitions": PackedFloat32Array(1, 1, 1, 1, 1),
"update": 1,
"values": [15, 16, 17, 18, 19]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("sprite:flip_h")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/2/type = "method"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath(".")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0.5),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"goto_idle"
}]
}
[sub_resource type="Animation" id="10"]
length = 0.3
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 1,
"values": [0, 1, 2]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("sprite:flip_h")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/2/type = "method"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath(".")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0.3),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"goto_idle"
}]
}
[sub_resource type="Animation" id="11"]
length = 0.3
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 1,
"values": [3, 4, 5]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("sprite:flip_h")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [true]
}
tracks/2/type = "method"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath(".")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0.3),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"goto_idle"
}]
}
[sub_resource type="Animation" id="12"]
length = 0.3
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 1,
"values": [3, 4, 5]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("sprite:flip_h")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/2/type = "method"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath(".")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0.3),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"goto_idle"
}]
}
[sub_resource type="Animation" id="13"]
length = 0.3
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 0.1, 0.2),
"transitions": PackedFloat32Array(1, 1, 1),
"update": 1,
"values": [6, 7, 8]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("sprite:flip_h")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
tracks/2/type = "method"
tracks/2/imported = false
tracks/2/enabled = true
tracks/2/path = NodePath(".")
tracks/2/interp = 1
tracks/2/loop_wrap = true
tracks/2/keys = {
"times": PackedFloat32Array(0.3),
"transitions": PackedFloat32Array(1),
"values": [{
"args": [],
"method": &"goto_idle"
}]
}
[sub_resource type="Animation" id="Animation_qdqhh"]
resource_name = "walk_E"
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = false
tracks/0/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [154, 175]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("sprite:flip_h")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_ef7ow"]
resource_name = "walk_N"
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = false
tracks/0/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [22, 43]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("sprite:flip_h")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_m2uo2"]
resource_name = "walk_NE"
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = false
tracks/0/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [66, 87]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("sprite:flip_h")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_bcwxc"]
resource_name = "walk_NW"
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = false
tracks/0/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [44, 65]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("sprite:flip_h")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_ixjcm"]
resource_name = "walk_S"
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = false
tracks/0/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [88, 109]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("sprite:flip_h")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_fq7dv"]
resource_name = "walk_SE"
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = false
tracks/0/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [132, 153]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("sprite:flip_h")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="Animation_ek8m1"]
resource_name = "walk_SW"
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = false
tracks/0/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [110, 131]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("sprite:flip_h")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="Animation" id="14"]
resource_name = "walk_W"
loop_mode = 1
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath("sprite:frame")
tracks/0/interp = 1
tracks/0/loop_wrap = false
tracks/0/keys = {
"times": PackedFloat32Array(0, 1),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [0, 21]
}
tracks/1/type = "value"
tracks/1/imported = false
tracks/1/enabled = true
tracks/1/path = NodePath("sprite:flip_h")
tracks/1/interp = 1
tracks/1/loop_wrap = true
tracks/1/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 1,
"values": [false]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_qdvjb"]
_data = {
&"die": SubResource("2"),
&"hurt": SubResource("3"),
&"idle_E": SubResource("6"),
&"idle_N": SubResource("7"),
&"idle_S": SubResource("4"),
&"idle_W": SubResource("5"),
&"reset": SubResource("8"),
&"roll": SubResource("9"),
&"slash_down": SubResource("10"),
&"slash_left": SubResource("11"),
&"slash_right": SubResource("12"),
&"slash_up": SubResource("13"),
&"walk_E": SubResource("Animation_qdqhh"),
&"walk_N": SubResource("Animation_ef7ow"),
&"walk_NE": SubResource("Animation_m2uo2"),
&"walk_NW": SubResource("Animation_bcwxc"),
&"walk_S": SubResource("Animation_ixjcm"),
&"walk_SE": SubResource("Animation_fq7dv"),
&"walk_SW": SubResource("Animation_ek8m1"),
&"walk_W": SubResource("14")
}
[sub_resource type="CapsuleShape2D" id="18"]
radius = 25.0
height = 80.0
[node name="Player" type="CharacterBody2D" groups=["player"]]
position = Vector2(585.638, 309.087)
script = ExtResource("1_xx4cj")
[node name="sprite" type="Sprite2D" parent="."]
position = Vector2(6.362, -53.087)
scale = Vector2(2, 2)
texture = ExtResource("2_dgoxx")
hframes = 22
vframes = 8
frame = 88
[node name="hitbox" type="CollisionShape2D" parent="."]
visible = false
position = Vector2(0.421509, -10.1996)
rotation = 1.5708
shape = SubResource("1")
[node name="player_sword" type="Area2D" parent="."]
visible = false
position = Vector2(6.362, -53.087)
[node name="anims" type="AnimationPlayer" parent="."]
libraries = {
&"": SubResource("AnimationLibrary_qdvjb")
}
[node name="camera" type="Camera2D" parent="."]
position = Vector2(6.362, -53.087)
zoom = Vector2(0.5, 0.5)
[node name="debug" parent="." instance=ExtResource("3_q7ixp")]
path_to_node = NodePath("..")
properties = ["linear_vel", "roll_direction", "facing"]
enabled = false
[node name="hurtbox" type="Area2D" parent="."]
visible = false
[node name="col" type="CollisionShape2D" parent="hurtbox"]
visible = false
position = Vector2(0.362, -48.087)
shape = SubResource("18")
[connection signal="area_entered" from="hurtbox" to="." method="_on_hurtbox_area_entered"]

Binary file not shown.

View File

@@ -0,0 +1,36 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bmv82dwuq82xy"
path.s3tc="res://.godot/imported/Ch09_1001_Diffuse.png-0b247917e6c70d63c6a48f851dabdf12.s3tc.ctex"
path.etc2="res://.godot/imported/Ch09_1001_Diffuse.png-0b247917e6c70d63c6a48f851dabdf12.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://scenes/characters/charplot/plot1/Walking/Ch09_1001_Diffuse.png"
dest_files=["res://.godot/imported/Ch09_1001_Diffuse.png-0b247917e6c70d63c6a48f851dabdf12.s3tc.ctex", "res://.godot/imported/Ch09_1001_Diffuse.png-0b247917e6c70d63c6a48f851dabdf12.etc2.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

View File

@@ -0,0 +1,36 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cpr8glrspokdf"
path.s3tc="res://.godot/imported/Ch09_1001_Normal.png-499d9d4d114d044b519a5128b204d626.s3tc.ctex"
path.etc2="res://.godot/imported/Ch09_1001_Normal.png-499d9d4d114d044b519a5128b204d626.etc2.ctex"
metadata={
"imported_formats": ["s3tc_bptc", "etc2_astc"],
"vram_texture": true
}
[deps]
source_file="res://scenes/characters/charplot/plot1/Walking/Ch09_1001_Normal.png"
dest_files=["res://.godot/imported/Ch09_1001_Normal.png-499d9d4d114d044b519a5128b204d626.s3tc.ctex", "res://.godot/imported/Ch09_1001_Normal.png-499d9d4d114d044b519a5128b204d626.etc2.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=1
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=1
roughness/src_normal="res://scenes/characters/print/kidfbx/Walking_out/Ch09_1001_Normal.png"
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

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,37 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://dgtnqihgrypea"
path="res://.godot/imported/Walking.gltf-0492535d3aaed93bd83f5d7f80d89683.scn"
[deps]
source_file="res://scenes/characters/charplot/plot1/Walking/Walking.gltf"
dest_files=["res://.godot/imported/Walking.gltf-0492535d3aaed93bd83f5d7f80d89683.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_node_type_suffixes=true
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
animation/import_rest_as_RESET=false
import_script/path=""
_subresources={}
gltf/naming_version=1
gltf/embedded_image_handling=1

BIN
scenes/characters/charplot/plot1/Walking/buffer.bin (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -0,0 +1,14 @@
extends Node
# A simple script to rotate the model.
@onready var anim = $"Root Scene/AnimationPlayer"
# Called when the node enters the scene tree for the first time.
func _ready():
anim.play("walk")
pass # Replace with function body.
# Called every frame. 'delta' is the elapsed time since the previous frame.
func _process(delta):
pass

View File

@@ -0,0 +1 @@
uid://dst8pn66ymgwf

View File

@@ -0,0 +1,17 @@
[gd_scene load_steps=3 format=3 uid="uid://w222arvxnfax"]
[ext_resource type="PackedScene" uid="uid://larkn3housg5" path="res://scenes/characters/charplot/plot1/player3d.tscn" id="1_u5nev"]
[sub_resource type="ViewportTexture" id="ViewportTexture_o6j6o"]
viewport_path = NodePath("SubViewport")
[node name="Player2d" type="Node2D"]
[node name="SubViewport" type="SubViewport" parent="."]
size = Vector2i(100, 100)
[node name="Player3d" parent="SubViewport" instance=ExtResource("1_u5nev")]
[node name="ViewportSprite" type="Sprite2D" parent="."]
position = Vector2(107, 111)
texture = SubResource("ViewportTexture_o6j6o")

File diff suppressed because one or more lines are too long

BIN
scenes/characters/charplot/screenshots/3d_in_2d.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@@ -0,0 +1 @@
uid://yj37y5gqfgui

View File

@@ -1,14 +1,18 @@
[gd_scene load_steps=4 format=2]
[gd_scene load_steps=4 format=3 uid="uid://ccvjd5pjq0f5g"]
[ext_resource path="res://fonts/Candy Demo.ttf" type="FontFile" id=1]
[ext_resource path="res://scenes/characters/debug_character.gd" type="Script" id=2]
[ext_resource type="FontFile" uid="uid://dxsjw0432epve" path="res://fonts/Candy Demo.ttf" id="1"]
[ext_resource type="Script" uid="uid://yj37y5gqfgui" path="res://scenes/characters/debug_character.gd" id="2"]
[sub_resource type="FontFile" id=1]
size = 32
font_data = ExtResource( 1 )
[sub_resource type="FontFile" id="1"]
fallbacks = Array[Font]([ExtResource("1")])
cache/0/16/0/ascent = 0.0
cache/0/16/0/descent = 0.0
cache/0/16/0/underline_position = 0.0
cache/0/16/0/underline_thickness = 0.0
cache/0/16/0/scale = 1.0
[node name="debug" type="CanvasLayer"]
script = ExtResource( 2 )
script = ExtResource("2")
[node name="Control" type="Control" parent="."]
anchor_right = 1.0
@@ -22,8 +26,8 @@ offset_left = 17.0
offset_top = 16.0
offset_right = 285.0
offset_bottom = 211.0
theme_override_fonts/font = SubResource( 1 )
theme_override_colors/font_color = Color( 0.803922, 0.0784314, 0.0784314, 1 )
theme_override_fonts/font = SubResource("1")
theme_override_colors/font_color = Color(0.803922, 0.0784314, 0.0784314, 1)
__meta__ = {
"_edit_use_anchors_": false
}