Some tests and new assets

This commit is contained in:
2025-11-02 12:07:45 +01:00
parent 0a2143d4c8
commit af546fee5f
88 changed files with 1705 additions and 9 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://n0k3ldt36osl"
path="res://.godot/imported/canyon_rock1.png-76493762d18fd983a37d63d5a31ebe45.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Mountains/canyon_rocks/canyon_rock1.png"
dest_files=["res://.godot/imported/canyon_rock1.png-76493762d18fd983a37d63d5a31ebe45.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.

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b6ej0j186svp3"
path="res://.godot/imported/canyon_rock2.png-cef4a2d26ecc923d2f56bfda850bc2fb.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Mountains/canyon_rocks/canyon_rock2.png"
dest_files=["res://.godot/imported/canyon_rock2.png-cef4a2d26ecc923d2f56bfda850bc2fb.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.

After

Width:  |  Height:  |  Size: 904 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://e5aqons2qqg8"
path="res://.godot/imported/canyon_rock3.png-71233a63a501fee4f21ef12ed5b4c408.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Mountains/canyon_rocks/canyon_rock3.png"
dest_files=["res://.godot/imported/canyon_rock3.png-71233a63a501fee4f21ef12ed5b4c408.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.

After

Width:  |  Height:  |  Size: 694 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dbo1r8bg0sj54"
path="res://.godot/imported/canyon_rock4.png-f1e77b96cdc35ce2d2a84561e3044fb8.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Mountains/canyon_rocks/canyon_rock4.png"
dest_files=["res://.godot/imported/canyon_rock4.png-f1e77b96cdc35ce2d2a84561e3044fb8.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.

After

Width:  |  Height:  |  Size: 395 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://tmsymic5b4yh"
path="res://.godot/imported/canyon_rock5.png-389dfb74c7c1af58a1b48d8b026d56fa.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Mountains/canyon_rocks/canyon_rock5.png"
dest_files=["res://.godot/imported/canyon_rock5.png-389dfb74c7c1af58a1b48d8b026d56fa.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.

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b4pwm28ms5atq"
path="res://.godot/imported/cave_rock1.png-e3d382fbf65f9a0af19472d1128fccc9.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Mountains/cave_rocks/cave_rock1.png"
dest_files=["res://.godot/imported/cave_rock1.png-e3d382fbf65f9a0af19472d1128fccc9.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.

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dorndm6n7ab83"
path="res://.godot/imported/cave_rock2.png-483a821b112e73e14821e4303d9c4792.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Mountains/cave_rocks/cave_rock2.png"
dest_files=["res://.godot/imported/cave_rock2.png-483a821b112e73e14821e4303d9c4792.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.

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://chkehjklxpus7"
path="res://.godot/imported/cave_rock3.png-9f8dc0f2a092afe22decfa0fddbb6451.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Mountains/cave_rocks/cave_rock3.png"
dest_files=["res://.godot/imported/cave_rock3.png-9f8dc0f2a092afe22decfa0fddbb6451.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.

After

Width:  |  Height:  |  Size: 918 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://deifhtnxsn7k1"
path="res://.godot/imported/cave_rock4.png-b44c4e34682a2fbe11ba3f4ed45e86a9.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Mountains/cave_rocks/cave_rock4.png"
dest_files=["res://.godot/imported/cave_rock4.png-b44c4e34682a2fbe11ba3f4ed45e86a9.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.

After

Width:  |  Height:  |  Size: 437 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b4gsubgcycrec"
path="res://.godot/imported/cave_rock5.png-97979e998e9154d5216e55978eb76b5e.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Mountains/cave_rocks/cave_rock5.png"
dest_files=["res://.godot/imported/cave_rock5.png-97979e998e9154d5216e55978eb76b5e.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.

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d1afqvruglpyj"
path="res://.godot/imported/desert_rock1.png-81e9c3d40ffe60d2c75e4a52d7ea7d54.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Mountains/desert_rocks/desert_rock1.png"
dest_files=["res://.godot/imported/desert_rock1.png-81e9c3d40ffe60d2c75e4a52d7ea7d54.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.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dgsrandboky2e"
path="res://.godot/imported/desert_rock2.png-1fa519d57864514c1b5318c9d726c887.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Mountains/desert_rocks/desert_rock2.png"
dest_files=["res://.godot/imported/desert_rock2.png-1fa519d57864514c1b5318c9d726c887.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.

After

Width:  |  Height:  |  Size: 589 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dx63wawggbgkp"
path="res://.godot/imported/desert_rock3.png-e0a366a4b8eca9c8dff9e079e8bfbaad.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Mountains/desert_rocks/desert_rock3.png"
dest_files=["res://.godot/imported/desert_rock3.png-e0a366a4b8eca9c8dff9e079e8bfbaad.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.

After

Width:  |  Height:  |  Size: 435 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bk5a57qrgytvl"
path="res://.godot/imported/desert_rock4.png-bc9077090d292b9e6b831f3e53f859f6.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Mountains/desert_rocks/desert_rock4.png"
dest_files=["res://.godot/imported/desert_rock4.png-bc9077090d292b9e6b831f3e53f859f6.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.

After

Width:  |  Height:  |  Size: 286 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bas1htp3myops"
path="res://.godot/imported/desert_rock5.png-6fa80dec8b8d2a89586942926095df60.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Mountains/desert_rocks/desert_rock5.png"
dest_files=["res://.godot/imported/desert_rock5.png-6fa80dec8b8d2a89586942926095df60.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.

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

@ -2,16 +2,16 @@
importer="texture" importer="texture"
type="CompressedTexture2D" type="CompressedTexture2D"
uid="uid://dupna45m2cm80" uid="uid://syws1aw8wwks"
path="res://.godot/imported/1.png-bcabb5244534d1a8db1963567483aafa.ctex" path="res://.godot/imported/ice_rock1.png-366561be81beb8e0e2e606f74336fb46.ctex"
metadata={ metadata={
"vram_texture": false "vram_texture": false
} }
[deps] [deps]
source_file="res://Assets/Tiles/Fields/1.png" source_file="res://Assets/Mountains/ice_rock/ice_rock1.png"
dest_files=["res://.godot/imported/1.png-bcabb5244534d1a8db1963567483aafa.ctex"] dest_files=["res://.godot/imported/ice_rock1.png-366561be81beb8e0e2e606f74336fb46.ctex"]
[params] [params]

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bcdkn5ly8xrtp"
path="res://.godot/imported/ice_rock2.png-be3077926ca66763a3c7f69f4be55906.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Mountains/ice_rock/ice_rock2.png"
dest_files=["res://.godot/imported/ice_rock2.png-be3077926ca66763a3c7f69f4be55906.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.

After

Width:  |  Height:  |  Size: 916 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://s6qxskm8akoc"
path="res://.godot/imported/ice_rock3.png-8c9de3a85719189bae470e6f87f45a90.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Mountains/ice_rock/ice_rock3.png"
dest_files=["res://.godot/imported/ice_rock3.png-8c9de3a85719189bae470e6f87f45a90.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.

After

Width:  |  Height:  |  Size: 555 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://58jrxaup2iv4"
path="res://.godot/imported/ice_rock4.png-5613d532cd51d23fa773833d0e9fa74c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Mountains/ice_rock/ice_rock4.png"
dest_files=["res://.godot/imported/ice_rock4.png-5613d532cd51d23fa773833d0e9fa74c.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.

After

Width:  |  Height:  |  Size: 422 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://co47bbjpvh0th"
path="res://.godot/imported/ice_rock5.png-2c315e3a2825edb6f8cee5ccfa438364.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Mountains/ice_rock/ice_rock5.png"
dest_files=["res://.godot/imported/ice_rock5.png-2c315e3a2825edb6f8cee5ccfa438364.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.

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://biljqhydexyv0"
path="res://.godot/imported/middle_lane_rock1_1.png-1d191330d5d380b132ce900a8d18b90d.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Mountains/middle_lane_rocks1/middle_lane_rock1_1.png"
dest_files=["res://.godot/imported/middle_lane_rock1_1.png-1d191330d5d380b132ce900a8d18b90d.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.

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dwvsv87dvwdk"
path="res://.godot/imported/middle_lane_rock1_2.png-7c71c400f502ee9f791673bce48a0700.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Mountains/middle_lane_rocks1/middle_lane_rock1_2.png"
dest_files=["res://.godot/imported/middle_lane_rock1_2.png-7c71c400f502ee9f791673bce48a0700.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.

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b35btobktvnrb"
path="res://.godot/imported/middle_lane_rock1_3.png-603389fb5395d4675cfc991f5e5bf756.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Mountains/middle_lane_rocks1/middle_lane_rock1_3.png"
dest_files=["res://.godot/imported/middle_lane_rock1_3.png-603389fb5395d4675cfc991f5e5bf756.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.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cuvnn2fheo3g1"
path="res://.godot/imported/middle_lane_rock1_4.png-1b5ae8c495cb24351a33d792be975770.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Mountains/middle_lane_rocks1/middle_lane_rock1_4.png"
dest_files=["res://.godot/imported/middle_lane_rock1_4.png-1b5ae8c495cb24351a33d792be975770.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.

After

Width:  |  Height:  |  Size: 674 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://oq6wurntx5r6"
path="res://.godot/imported/middle_lane_rock1_5.png-10de0211f922629f5b8db5f6346edf03.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Mountains/middle_lane_rocks1/middle_lane_rock1_5.png"
dest_files=["res://.godot/imported/middle_lane_rock1_5.png-10de0211f922629f5b8db5f6346edf03.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.

After

Width:  |  Height:  |  Size: 4.3 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c1sdy8vdtnw2o"
path="res://.godot/imported/middle_lane_rock2_1.png-38a3b8c8e262f4c8d31e69aaee1ef4db.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Mountains/middle_lane_rocks2/middle_lane_rock2_1.png"
dest_files=["res://.godot/imported/middle_lane_rock2_1.png-38a3b8c8e262f4c8d31e69aaee1ef4db.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.

After

Width:  |  Height:  |  Size: 3.3 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b4ixdkrqho8lb"
path="res://.godot/imported/middle_lane_rock2_2.png-002b27e92b838c73020a0547218d7b54.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Mountains/middle_lane_rocks2/middle_lane_rock2_2.png"
dest_files=["res://.godot/imported/middle_lane_rock2_2.png-002b27e92b838c73020a0547218d7b54.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.

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://hjauf5xxit3q"
path="res://.godot/imported/middle_lane_rock2_3.png-d39011b31a149d5c3cc77b5999bcf7f4.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Mountains/middle_lane_rocks2/middle_lane_rock2_3.png"
dest_files=["res://.godot/imported/middle_lane_rock2_3.png-d39011b31a149d5c3cc77b5999bcf7f4.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.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bssben034w5yq"
path="res://.godot/imported/middle_lane_rock2_4.png-6915421627424aefda3ddc29497bd634.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Mountains/middle_lane_rocks2/middle_lane_rock2_4.png"
dest_files=["res://.godot/imported/middle_lane_rock2_4.png-6915421627424aefda3ddc29497bd634.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.

After

Width:  |  Height:  |  Size: 595 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://club6lv418obj"
path="res://.godot/imported/middle_lane_rock2_5.png-a7cf14fe5b4c8b117e05f158c107ba92.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Mountains/middle_lane_rocks2/middle_lane_rock2_5.png"
dest_files=["res://.godot/imported/middle_lane_rock2_5.png-a7cf14fe5b4c8b117e05f158c107ba92.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.

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bqs867ppqmq0d"
path="res://.godot/imported/snowy_rock1.png-609e6f84ed273bed202741eca67a72a6.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Mountains/snowy_rocks1/snowy_rock1.png"
dest_files=["res://.godot/imported/snowy_rock1.png-609e6f84ed273bed202741eca67a72a6.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.

After

Width:  |  Height:  |  Size: 3.0 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bm06ebamy7ln2"
path="res://.godot/imported/snowy_rock2.png-edb3e7ba7c00aec12c3f7337d982898a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Mountains/snowy_rocks1/snowy_rock2.png"
dest_files=["res://.godot/imported/snowy_rock2.png-edb3e7ba7c00aec12c3f7337d982898a.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.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cvc6bbnd3455y"
path="res://.godot/imported/snowy_rock3.png-21f50da17edfaac4ca4c1d87182613cc.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Mountains/snowy_rocks1/snowy_rock3.png"
dest_files=["res://.godot/imported/snowy_rock3.png-21f50da17edfaac4ca4c1d87182613cc.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.

After

Width:  |  Height:  |  Size: 1016 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bjvpqc1mc0mh8"
path="res://.godot/imported/snowy_rock4.png-93ec06838a20c9439d1abc17c9e7b24c.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Mountains/snowy_rocks1/snowy_rock4.png"
dest_files=["res://.godot/imported/snowy_rock4.png-93ec06838a20c9439d1abc17c9e7b24c.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.

After

Width:  |  Height:  |  Size: 587 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://b0m0va1irfquj"
path="res://.godot/imported/snowy_rock5.png-27c915b9678f5175717572c697c80812.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Mountains/snowy_rocks1/snowy_rock5.png"
dest_files=["res://.godot/imported/snowy_rock5.png-27c915b9678f5175717572c697c80812.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.

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://x62ywip1iam5"
path="res://.godot/imported/stalagmite1.png-57d617f6dcaeb74b9bba272709a7eb5f.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Mountains/stalagmites/stalagmite1.png"
dest_files=["res://.godot/imported/stalagmite1.png-57d617f6dcaeb74b9bba272709a7eb5f.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.

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c2ijpo4x2fvek"
path="res://.godot/imported/stalagmite2.png-820a78e5882e706fbc592334d7c0ea4a.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Mountains/stalagmites/stalagmite2.png"
dest_files=["res://.godot/imported/stalagmite2.png-820a78e5882e706fbc592334d7c0ea4a.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.

After

Width:  |  Height:  |  Size: 801 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://n7h5gnctaynt"
path="res://.godot/imported/stalagmite3.png-613a20bdb83bddbd62f7b3a8467a1bc5.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Mountains/stalagmites/stalagmite3.png"
dest_files=["res://.godot/imported/stalagmite3.png-613a20bdb83bddbd62f7b3a8467a1bc5.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.

After

Width:  |  Height:  |  Size: 553 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://86q5v5g06avw"
path="res://.godot/imported/stalagmite4.png-526710fd3df1d6af2ce731e5cccc5273.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Mountains/stalagmites/stalagmite4.png"
dest_files=["res://.godot/imported/stalagmite4.png-526710fd3df1d6af2ce731e5cccc5273.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.

After

Width:  |  Height:  |  Size: 281 B

View File

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://byh37y8p6n6nl"
path="res://.godot/imported/stalagmite5.png-308915079f712e4a6acae674489e0b96.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Mountains/stalagmites/stalagmite5.png"
dest_files=["res://.godot/imported/stalagmite5.png-308915079f712e4a6acae674489e0b96.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.

Before

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -1,4 +1,4 @@
[gd_scene load_steps=187 format=4 uid="uid://dql8q1od3r32h"] [gd_scene load_steps=188 format=4 uid="uid://dql8q1od3r32h"]
[ext_resource type="Texture2D" uid="uid://f1npbjsw71nk" path="res://Assets/Tiles/Fields/FieldsTile_01.png" id="1_fdpq6"] [ext_resource type="Texture2D" uid="uid://f1npbjsw71nk" path="res://Assets/Tiles/Fields/FieldsTile_01.png" id="1_fdpq6"]
[ext_resource type="Script" uid="uid://xo6vbicdva8d" path="res://Game/Maps/map_managger.gd" id="1_rec5e"] [ext_resource type="Script" uid="uid://xo6vbicdva8d" path="res://Game/Maps/map_managger.gd" id="1_rec5e"]
@ -113,6 +113,7 @@
[ext_resource type="Texture2D" uid="uid://e1fkqo6mryto" path="res://Assets/Decors/4 Stone/8.png" id="111_xx2jp"] [ext_resource type="Texture2D" uid="uid://e1fkqo6mryto" path="res://Assets/Decors/4 Stone/8.png" id="111_xx2jp"]
[ext_resource type="Texture2D" uid="uid://c5cshf3uwarcy" path="res://Assets/Decors/4 Stone/1.png" id="112_skmhh"] [ext_resource type="Texture2D" uid="uid://c5cshf3uwarcy" path="res://Assets/Decors/4 Stone/1.png" id="112_skmhh"]
[ext_resource type="Script" uid="uid://btn404qyu6kop" path="res://Game/Maps/Map1_setup.gd" id="113_skmhh"] [ext_resource type="Script" uid="uid://btn404qyu6kop" path="res://Game/Maps/Map1_setup.gd" id="113_skmhh"]
[ext_resource type="PackedScene" uid="uid://2if0t12rfa3f" path="res://Game/Mountains/simple_mountain_1.tscn" id="114_av5r3"]
[sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_skmhh"] [sub_resource type="TileSetAtlasSource" id="TileSetAtlasSource_skmhh"]
texture = ExtResource("1_fdpq6") texture = ExtResource("1_fdpq6")
@ -1602,4 +1603,7 @@ size_flags_horizontal = 6
[node name="Setup" type="Node" parent="."] [node name="Setup" type="Node" parent="."]
script = ExtResource("113_skmhh") script = ExtResource("113_skmhh")
[node name="SimpleMountain1" parent="." instance=ExtResource("114_av5r3")]
position = Vector2(760, 399)
[connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"] [connection signal="timeout" from="Timer" to="." method="_on_timer_timeout"]

View File

@ -0,0 +1,15 @@
[gd_scene load_steps=2 format=3 uid="uid://2if0t12rfa3f"]
[ext_resource type="Texture2D" uid="uid://cuvnn2fheo3g1" path="res://Assets/Mountains/middle_lane_rocks1/middle_lane_rock1_4.png" id="1_mccke"]
[node name="SimpleMountain1" type="CharacterBody2D"]
[node name="DesertRock1" type="Sprite2D" parent="."]
position = Vector2(80, -4)
scale = Vector2(4.98361, 2.2)
texture = ExtResource("1_mccke")
[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."]
position = Vector2(68, -1)
scale = Vector2(14.75, 3.9)
polygon = PackedVector2Array(-10, 10.5128, 11.1186, 10.5128, 10.0339, 0.25641, 7, -10, 0.271187, -12.0513, -8.40678, -1.79487)

View File

@ -1,6 +1,6 @@
extends Node2D extends Node2D
var shootingTime = 0 var shootingTime = 0 #wanna rename it to cooldown in the future
var bulletSpeed = 0 var bulletSpeed = 0
var hitpoint = 0 var hitpoint = 0

66
export_presets.cfg Normal file
View File

@ -0,0 +1,66 @@
[preset.0]
name="Windows Desktop"
platform="Windows Desktop"
runnable=true
advanced_options=false
dedicated_server=false
custom_features=""
export_filter="all_resources"
include_filter=""
exclude_filter=""
export_path="C:/Users/Gosztolya Máté/Desktop/Defensaria.exe"
patches=PackedStringArray()
encryption_include_filters=""
encryption_exclude_filters=""
seed=0
encrypt_pck=false
encrypt_directory=false
script_export_mode=2
[preset.0.options]
custom_template/debug=""
custom_template/release=""
debug/export_console_wrapper=1
binary_format/embed_pck=true
texture_format/s3tc_bptc=true
texture_format/etc2_astc=false
binary_format/architecture="x86_64"
codesign/enable=false
codesign/timestamp=true
codesign/timestamp_server_url=""
codesign/digest_algorithm=1
codesign/description=""
codesign/custom_options=PackedStringArray()
application/modify_resources=true
application/icon=""
application/console_wrapper_icon=""
application/icon_interpolation=4
application/file_version="1.0"
application/product_version="1.0"
application/company_name=""
application/product_name="Defensaria"
application/file_description=""
application/copyright="Gosztolya Máté"
application/trademarks=""
application/export_angle=0
application/export_d3d12=0
application/d3d12_agility_sdk_multiarch=true
ssh_remote_deploy/enabled=false
ssh_remote_deploy/host="user@host_ip"
ssh_remote_deploy/port="22"
ssh_remote_deploy/extra_args_ssh=""
ssh_remote_deploy/extra_args_scp=""
ssh_remote_deploy/run_script="Expand-Archive -LiteralPath '{temp_dir}\\{archive_name}' -DestinationPath '{temp_dir}'
$action = New-ScheduledTaskAction -Execute '{temp_dir}\\{exe_name}' -Argument '{cmd_args}'
$trigger = New-ScheduledTaskTrigger -Once -At 00:00
$settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -DontStopIfGoingOnBatteries
$task = New-ScheduledTask -Action $action -Trigger $trigger -Settings $settings
Register-ScheduledTask godot_remote_debug -InputObject $task -Force:$true
Start-ScheduledTask -TaskName godot_remote_debug
while (Get-ScheduledTask -TaskName godot_remote_debug | ? State -eq running) { Start-Sleep -Milliseconds 100 }
Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue"
ssh_remote_deploy/cleanup_script="Stop-ScheduledTask -TaskName godot_remote_debug -ErrorAction:SilentlyContinue
Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorAction:SilentlyContinue
Remove-Item -Recurse -Force '{temp_dir}'"

View File

@ -9,13 +9,16 @@ func before_each():
_mock_parent = PathFollow2D.new() _mock_parent = PathFollow2D.new()
_mock_parent.name = "PathFollow2D_Mock" _mock_parent.name = "PathFollow2D_Mock"
add_child(_mock_parent) add_child(_mock_parent)
gut.p(" → PathFollow2D mock created")
# Instantiate scene # Instantiate scene
_enemy_instance = EnemyScene.instantiate() _enemy_instance = EnemyScene.instantiate()
_mock_parent.add_child(_enemy_instance) _mock_parent.add_child(_enemy_instance)
gut.p(" → Enemy instance instantiated from: %s" % EnemyScene.resource_path)
# Initialize child nodes # Initialize child nodes
await get_tree().process_frame # Required for complete _ready() execution await get_tree().process_frame # Required for complete _ready() execution
gut.p(" → Process frame awaited for initialization")
func after_each(): func after_each():
_enemy_instance.queue_free() _enemy_instance.queue_free()
@ -23,60 +26,82 @@ func after_each():
# Check for children # Check for children
func test_scene_initialization(): func test_scene_initialization():
gut.p("\n▶ TEST: Scene Initialization")
var character_body = _enemy_instance.get_node("CharacterBody2D") var character_body = _enemy_instance.get_node("CharacterBody2D")
var health_bar = _enemy_instance.get_node("ProgressBar") var health_bar = _enemy_instance.get_node("ProgressBar")
gut.p(" → CharacterBody2D: %s" % ("✓ Found" if character_body else "✗ Missing"))
assert_not_null(character_body, "Missing CharacterBody2D") assert_not_null(character_body, "Missing CharacterBody2D")
gut.p(" → ProgressBar: %s" % ("✓ Found" if health_bar else "✗ Missing"))
assert_not_null(health_bar, "Missing ProgressBar") assert_not_null(health_bar, "Missing ProgressBar")
# Check damage mechanics # Check damage mechanics
func test_shield_damage_reduction(): func test_shield_damage_reduction():
gut.p("\n▶ TEST: Shield Damage Reduction")
_enemy_instance.current_shield = 50 _enemy_instance.current_shield = 50
_enemy_instance.current_health = 100 _enemy_instance.current_health = 100
gut.p(" → Initial: Shield=%d, Health=%d" % [_enemy_instance.current_shield, _enemy_instance.current_health])
_enemy_instance.enemy_hurt(30) _enemy_instance.enemy_hurt(30)
gut.p(" → After 30 damage: Shield=%d (expected 20), Health=%d (expected 100)" % [_enemy_instance.current_shield, _enemy_instance.current_health])
assert_eq(_enemy_instance.current_shield, 20, "Incorrect shield value") assert_eq(_enemy_instance.current_shield, 20, "Incorrect shield value")
assert_eq(_enemy_instance.current_health, 100, "Health should remain unchanged with this damage amount") assert_eq(_enemy_instance.current_health, 100, "Health should remain unchanged with this damage amount")
func test_shield_break_and_health_damage(): func test_shield_break_and_health_damage():
gut.p("\n▶ TEST: Shield Break and Health Damage")
_enemy_instance.current_shield = 20 _enemy_instance.current_shield = 20
_enemy_instance.current_health = 100 _enemy_instance.current_health = 100
gut.p(" → Initial: Shield=%d, Health=%d" % [_enemy_instance.current_shield, _enemy_instance.current_health])
_enemy_instance.enemy_hurt(30) _enemy_instance.enemy_hurt(30)
gut.p(" → After 30 damage: Shield=%d (expected 0), Health=%d (expected 90)" % [_enemy_instance.current_shield, _enemy_instance.current_health])
assert_eq(_enemy_instance.current_shield, 0, "Shield should be depleted") assert_eq(_enemy_instance.current_shield, 0, "Shield should be depleted")
assert_eq(_enemy_instance.current_health, 90, "Incorrect health value") assert_eq(_enemy_instance.current_health, 90, "Incorrect health value")
func test_health_damage_without_shield(): func test_health_damage_without_shield():
gut.p("\n▶ TEST: Health Damage Without Shield")
_enemy_instance.current_shield = 0 _enemy_instance.current_shield = 0
_enemy_instance.current_health = 80 _enemy_instance.current_health = 80
gut.p(" → Initial: Shield=%d, Health=%d" % [_enemy_instance.current_shield, _enemy_instance.current_health])
_enemy_instance.enemy_hurt(25) _enemy_instance.enemy_hurt(25)
gut.p(" → After 25 damage: Shield=%d (expected 0), Health=%d (expected 55)" % [_enemy_instance.current_shield, _enemy_instance.current_health])
assert_eq(_enemy_instance.current_shield, 0, "Shield should remain zero") assert_eq(_enemy_instance.current_shield, 0, "Shield should remain zero")
assert_eq(_enemy_instance.current_health, 55, "Incorrect health amount") assert_eq(_enemy_instance.current_health, 55, "Incorrect health amount")
#Check for animation change #Check for animation change
func test_hurt_animation_plays_on_damage(): func test_hurt_animation_plays_on_damage():
gut.p("\n▶ TEST: Hurt Animation on Damage")
_enemy_instance.enemy_hurt(10) _enemy_instance.enemy_hurt(10)
var anim_sprite = _enemy_instance.get_node("CharacterBody2D/AnimatedSprite2D") var anim_sprite = _enemy_instance.get_node("CharacterBody2D/AnimatedSprite2D")
gut.p(" → Animation: %s (expected 'hurt')" % anim_sprite.animation)
assert_eq(anim_sprite.animation, "hurt", "Hurt animation must be playing") assert_eq(anim_sprite.animation, "hurt", "Hurt animation must be playing")
#Check animation speed change #Check animation speed change
func test_animation_speed_scales_with_speed(): func test_animation_speed_scales_with_speed():
# Sebesség beállítások ellenőrzése gut.p("\n▶ TEST: Animation Speed Scaling")
_enemy_instance.set_character_data() _enemy_instance.set_character_data()
var anim_sprite = _enemy_instance.get_node("CharacterBody2D/AnimatedSprite2D") var anim_sprite = _enemy_instance.get_node("CharacterBody2D/AnimatedSprite2D")
var expected_speed = snapped(_enemy_instance.speed / 100.0 , 0.1) var expected_speed = snapped(_enemy_instance.speed / 100.0 , 0.1)
assert_eq(snapped(anim_sprite.speed_scale, 0.1), expected_speed, "Animation speed should match movement speed") var actual_speed = snapped(anim_sprite.speed_scale, 0.1)
gut.p(" → Character speed: %d" % _enemy_instance.speed)
gut.p(" → Animation speed: %s (expected %s)" % [actual_speed, expected_speed])
assert_eq(actual_speed, expected_speed, "Animation speed should match movement speed")
#check for cholorchange on healthbar #check for colorchange on healthbar
func test_health_bar_color_changes_with_shield(): func test_health_bar_color_changes_with_shield():
gut.p("\n▶ TEST: Health Bar Color with Shield")
_enemy_instance.current_shield = 50 _enemy_instance.current_shield = 50
_enemy_instance.adjust_health_bar() _enemy_instance.adjust_health_bar()
var fill_style = _enemy_instance.get_node("ProgressBar").get_theme_stylebox("fill") var fill_style = _enemy_instance.get_node("ProgressBar").get_theme_stylebox("fill")
gut.p(" → Shield: %d, Color: %s (expected blue)" % [_enemy_instance.current_shield, fill_style.bg_color])
assert_eq(fill_style.bg_color, Color(0,0,1), "Must be blue in case of shield") assert_eq(fill_style.bg_color, Color(0,0,1), "Must be blue in case of shield")
#Check character flip #Check character flip
func test_character_flips_based_on_movement_direction(): func test_character_flips_based_on_movement_direction():
gut.p("\n▶ TEST: Character Flip Direction")
var initial_scale = _mock_parent.scale.x var initial_scale = _mock_parent.scale.x
_mock_parent.position.x += 10 _mock_parent.position.x += 10
_enemy_instance.move_character(0.1) _enemy_instance.move_character(0.1)
gut.p(" → Moving right: scale=%s (expected > 0)" % _mock_parent.scale.x)
assert_gt(_mock_parent.scale.x, 0, "Positive scaling when moving to the right") assert_gt(_mock_parent.scale.x, 0, "Positive scaling when moving to the right")
_mock_parent.position.x -= 20 _mock_parent.position.x -= 20
_enemy_instance.move_character(0.1) _enemy_instance.move_character(0.1)
gut.p(" → Moving left: scale=%s (expected < 0)" % _mock_parent.scale.x)
assert_lt(_mock_parent.scale.x, 0, "Negative scaling when moving left") assert_lt(_mock_parent.scale.x, 0, "Negative scaling when moving left")

259
test/test_tower.gd Normal file
View File

@ -0,0 +1,259 @@
extends GutTest
var ArcherTower_scene = preload("res://Game/Towers/archer_tower.tscn")
var tower
func before_each():
tower = ArcherTower_scene.instantiate()
add_child(tower)
gut.p("════════════════════════════════════════")
gut.p("Setting up test with fresh tower instance")
gut.p("════════════════════════════════════════")
func after_each():
gut.p("─────────────────────────────────────────")
gut.p("Cleaning up test resources...")
# Clean up all spawned bullets from the test's children
var bullets_to_remove = []
var bullet_count = 0
for child in get_children():
if child.name.begins_with("Arrow") or child.name.begins_with("Magic") or child.name.begins_with("Rock"):
bullets_to_remove.append(child)
bullet_count += 1
gut.p("Found %d bullets to remove: %s" % [bullet_count, bullets_to_remove.map(func(b): return b.name)])
for bullet in bullets_to_remove:
bullet.queue_free()
if tower and not tower.is_queued_for_deletion():
tower.queue_free()
gut.p("Tower cleaned up successfully")
gut.p("─────────────────────────────────────────\n")
func test_properties_initialize():
gut.p("\n▶ TEST: Properties Initialize")
gut.p(" Checking default tower property values...")
gut.p(" → shootingTime: %s (expected: 0)" % tower.shootingTime)
assert_eq(tower.shootingTime, 0)
gut.p(" → bulletSpeed: %s (expected: 600)" % tower.bulletSpeed)
assert_eq(tower.bulletSpeed, 600)
gut.p(" → hitpoint: %s (expected: 25)" % tower.hitpoint)
assert_eq(tower.hitpoint, 25)
gut.p(" → follower: %s (expected: true)" % tower.follower)
assert_eq(tower.follower, true)
gut.p(" → target: %s (expected: null)" % tower.target)
assert_eq(tower.target, null)
gut.p(" ✓ All default properties initialized correctly")
func test_set_properties_archer_tower():
gut.p("\n▶ TEST: Set Properties - Archer Tower")
tower.name = "ArcherTower"
gut.p(" Tower name set to: %s" % tower.name)
tower.set_properties()
gut.p(" set_properties() called")
var timer_wait = tower.get_node("Timer").wait_time
gut.p(" → Timer wait_time: %s (expected: 0.5 ±0.01)" % timer_wait)
assert_almost_eq(timer_wait, 0.5, 0.01)
gut.p(" → bulletSpeed: %s (expected: 600)" % tower.bulletSpeed)
assert_eq(tower.bulletSpeed, 600)
gut.p(" → hitpoint: %s (expected: 25)" % tower.hitpoint)
assert_eq(tower.hitpoint, 25)
var radius = tower.get_node("CharacterBody2D/Area2D/CollisionShape2D").shape.radius
gut.p(" → Detection radius: %s (expected: 150)" % radius)
assert_eq(radius, 150)
gut.p(" ✓ Archer tower properties set correctly")
func test_set_properties_wizard_tower():
gut.p("\n▶ TEST: Set Properties - Wizard Tower")
tower.name = "WizardTower"
gut.p(" Tower name set to: %s" % tower.name)
tower.set_properties()
gut.p(" set_properties() called")
var timer_wait = tower.get_node("Timer").wait_time
gut.p(" → Timer wait_time: %s (expected: 1.0 ±0.01)" % timer_wait)
assert_almost_eq(timer_wait, 1.0, 0.01)
gut.p(" → bulletSpeed: %s (expected: 450)" % tower.bulletSpeed)
assert_eq(tower.bulletSpeed, 450)
gut.p(" → hitpoint: %s (expected: 15)" % tower.hitpoint)
assert_eq(tower.hitpoint, 15)
gut.p(" ✓ Wizard tower properties set correctly")
func test_set_properties_mortar_tower():
gut.p("\n▶ TEST: Set Properties - Mortar Tower")
tower.name = "MortarTower"
gut.p(" Tower name set to: %s" % tower.name)
tower.set_properties()
gut.p(" set_properties() called")
var timer_wait = tower.get_node("Timer").wait_time
gut.p(" → Timer wait_time: %s (expected: 2.0 ±0.01)" % timer_wait)
assert_almost_eq(timer_wait, 2.0, 0.01)
gut.p(" → hitpoint: %s (expected: 80)" % tower.hitpoint)
assert_eq(tower.hitpoint, 80)
gut.p(" ✓ Mortar tower properties set correctly")
func test_archer_tower_shoots_arrow():
gut.p("\n▶ TEST: Archer Tower Shoots Arrow")
tower.name = "ArcherTower"
gut.p(" Tower name set to: %s" % tower.name)
tower._ready()
gut.p(" Tower _ready() called")
var dummy_target = Node2D.new()
tower.target = dummy_target
gut.p(" Dummy target assigned to tower.target")
var bullets_before = 0
for child in tower.get_parent().get_children():
if child.name.begins_with("Arrow") or child.name.begins_with("Magic") or child.name.begins_with("Rock"):
bullets_before += 1
gut.p(" Bullets in scene before shoot(): %d" % bullets_before)
tower.shoot()
gut.p(" shoot() called")
var found_arrow = false
var arrow_name = ""
for child in tower.get_parent().get_children():
if child.name.begins_with("Arrow"):
found_arrow = true
arrow_name = child.name
break
if found_arrow:
gut.p(" ✓ Arrow created successfully: %s" % arrow_name)
else:
gut.p(" ✗ No arrow found after shoot() call")
assert_true(found_arrow)
dummy_target.queue_free()
gut.p(" ✓ Archer tower successfully shoots arrows")
func test_wizard_tower_shoots_magic():
gut.p("\n▶ TEST: Wizard Tower Shoots Magic")
tower.name = "WizardTower"
gut.p(" Tower name set to: %s" % tower.name)
tower._ready()
gut.p(" Tower _ready() called")
var dummy_target = Node2D.new()
tower.target = dummy_target
gut.p(" Dummy target assigned to tower.target")
var bullets_before = 0
for child in tower.get_parent().get_children():
if child.name.begins_with("Arrow") or child.name.begins_with("Magic") or child.name.begins_with("Rock"):
bullets_before += 1
gut.p(" Bullets in scene before shoot(): %d" % bullets_before)
tower.shoot()
gut.p(" shoot() called")
var found_magic = false
var magic_name = ""
for child in tower.get_parent().get_children():
if child.name.begins_with("Magic"):
found_magic = true
magic_name = child.name
break
if found_magic:
gut.p(" ✓ Magic projectile created successfully: %s" % magic_name)
else:
gut.p(" ✗ No magic projectile found after shoot() call")
assert_true(found_magic)
dummy_target.queue_free()
gut.p(" ✓ Wizard tower successfully shoots magic")
func test_mortar_tower_lifter_animates():
gut.p("\n▶ TEST: Mortar Tower Lifter Animation")
tower.name = "MortarTower"
gut.p(" Tower name set to: %s" % tower.name)
tower._ready()
gut.p(" Tower _ready() called")
tower.lifter = false
tower.lifteramount = 0
gut.p(" Lifter state reset: lifter=%s, lifteramount=%d" % [tower.lifter, tower.lifteramount])
var dummy_target = Node2D.new()
tower.target = dummy_target
gut.p(" Dummy target assigned to tower.target")
gut.p(" Checking initial lifter state...")
assert_false(tower.lifter)
gut.p(" → Initial lifter: false ✓")
tower.shoot()
gut.p(" shoot() called")
gut.p(" Checking lifter state after shoot()...")
var lifter_state = tower.lifter
var lifter_amount = tower.lifteramount
gut.p(" → Lifter state after shoot(): %s (expected: true)" % lifter_state)
assert_true(tower.lifter)
gut.p(" → Lifter amount: %d (expected: 0)" % lifter_amount)
assert_eq(tower.lifteramount, 0)
dummy_target.queue_free()
gut.p(" ✓ Mortar tower lifter animation triggered correctly")
func test_no_shoot_without_target():
gut.p("\n▶ TEST: No Shoot Without Target")
tower.name = "ArcherTower"
gut.p(" Tower name set to: %s" % tower.name)
tower._ready()
gut.p(" Tower _ready() called")
var initial_bullet_count = 0
for child in tower.get_parent().get_children():
if child.name.begins_with("Arrow") or child.name.begins_with("Magic") or child.name.begins_with("Rock"):
initial_bullet_count += 1
gut.p(" Initial bullet count in scene: %d" % initial_bullet_count)
tower.target = null
gut.p(" Tower target set to: null")
gut.p(" Calling shoot() with no target...")
tower.shoot()
var final_bullet_count = 0
for child in tower.get_parent().get_children():
if child.name.begins_with("Arrow") or child.name.begins_with("Magic") or child.name.begins_with("Rock"):
final_bullet_count += 1
gut.p(" Final bullet count in scene: %d" % final_bullet_count)
var new_bullets_created = final_bullet_count - initial_bullet_count
gut.p(" New bullets created: %d (expected: 0)" % new_bullets_created)
assert_eq(new_bullets_created, 0)
gut.p(" ✓ Tower correctly prevented shooting without target")

1
test/test_tower.gd.uid Normal file
View File

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