diff --git a/README.md b/README.md new file mode 100644 index 0000000..11e15fb --- /dev/null +++ b/README.md @@ -0,0 +1,24 @@ +# Roses + +## Description + +Create dragons and share them with other people. + +Each dragon you create gets shared with other people and might appear on their computer screens if they leave the game open. + +## The Team + +> Arnau Martín - Art\ +> Gerard Gascón - Design & Programming + +## Game Jam + +Sant Jordi Jam 2025 — April 1st - 22rd 2025 (22 days) + +## Theme + +Llegenda & Diada + +## Languages + +Catalan diff --git a/assets/sprites/ui/DP_UI_CharList_BG.png b/assets/sprites/ui/DP_UI_CharList_BG.png index 8a720f0..2295dcb 100644 Binary files a/assets/sprites/ui/DP_UI_CharList_BG.png and b/assets/sprites/ui/DP_UI_CharList_BG.png differ diff --git a/assets/sprites/ui/buttons/add-dragon-highlight.png b/assets/sprites/ui/buttons/add-dragon-highlight.png new file mode 100644 index 0000000..22fec4c Binary files /dev/null and b/assets/sprites/ui/buttons/add-dragon-highlight.png differ diff --git a/assets/sprites/ui/buttons/add-dragon-highlight.png.import b/assets/sprites/ui/buttons/add-dragon-highlight.png.import new file mode 100644 index 0000000..9ac603c --- /dev/null +++ b/assets/sprites/ui/buttons/add-dragon-highlight.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://75txlqcp2ucn" +path="res://.godot/imported/add-dragon-highlight.png-41898f9ae3ddfd659db8c4c2156b7366.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/ui/buttons/add-dragon-highlight.png" +dest_files=["res://.godot/imported/add-dragon-highlight.png-41898f9ae3ddfd659db8c4c2156b7366.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/ui/buttons/add-dragon-press.png b/assets/sprites/ui/buttons/add-dragon-press.png new file mode 100644 index 0000000..7ed374c Binary files /dev/null and b/assets/sprites/ui/buttons/add-dragon-press.png differ diff --git a/assets/sprites/ui/buttons/add-dragon-press.png.import b/assets/sprites/ui/buttons/add-dragon-press.png.import new file mode 100644 index 0000000..d982b61 --- /dev/null +++ b/assets/sprites/ui/buttons/add-dragon-press.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d1k808702cbcw" +path="res://.godot/imported/add-dragon-press.png-c99d82582f293aaa68e11e2fb02f49e4.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/ui/buttons/add-dragon-press.png" +dest_files=["res://.godot/imported/add-dragon-press.png-c99d82582f293aaa68e11e2fb02f49e4.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/ui/buttons/add-dragon.png b/assets/sprites/ui/buttons/add-dragon.png new file mode 100644 index 0000000..1fa6ec4 Binary files /dev/null and b/assets/sprites/ui/buttons/add-dragon.png differ diff --git a/assets/sprites/ui/buttons/add-dragon.png.import b/assets/sprites/ui/buttons/add-dragon.png.import new file mode 100644 index 0000000..aae71fa --- /dev/null +++ b/assets/sprites/ui/buttons/add-dragon.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bbd3p787bmg3m" +path="res://.godot/imported/add-dragon.png-82a36ce738cebfeaa5078dd6de9b9710.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/ui/buttons/add-dragon.png" +dest_files=["res://.godot/imported/add-dragon.png-82a36ce738cebfeaa5078dd6de9b9710.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/ui/buttons/close-game-highlight.png b/assets/sprites/ui/buttons/close-game-highlight.png new file mode 100644 index 0000000..d716a00 Binary files /dev/null and b/assets/sprites/ui/buttons/close-game-highlight.png differ diff --git a/assets/sprites/ui/buttons/close-game-highlight.png.import b/assets/sprites/ui/buttons/close-game-highlight.png.import new file mode 100644 index 0000000..db8f186 --- /dev/null +++ b/assets/sprites/ui/buttons/close-game-highlight.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bawbgis3cgdtu" +path="res://.godot/imported/close-game-highlight.png-d5a62a31259194975f113b7db6f17522.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/ui/buttons/close-game-highlight.png" +dest_files=["res://.godot/imported/close-game-highlight.png-d5a62a31259194975f113b7db6f17522.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/ui/buttons/close-game.png b/assets/sprites/ui/buttons/close-game.png new file mode 100644 index 0000000..d3e6838 Binary files /dev/null and b/assets/sprites/ui/buttons/close-game.png differ diff --git a/assets/sprites/ui/buttons/close-game.png.import b/assets/sprites/ui/buttons/close-game.png.import new file mode 100644 index 0000000..31c2673 --- /dev/null +++ b/assets/sprites/ui/buttons/close-game.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ci7cb3kgavax4" +path="res://.godot/imported/close-game.png-618d96e50398df2aacb8d97f2ab8cd43.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/ui/buttons/close-game.png" +dest_files=["res://.godot/imported/close-game.png-618d96e50398df2aacb8d97f2ab8cd43.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/ui/buttons/close-highlight.png b/assets/sprites/ui/buttons/close-highlight.png new file mode 100644 index 0000000..a462f28 Binary files /dev/null and b/assets/sprites/ui/buttons/close-highlight.png differ diff --git a/assets/sprites/ui/buttons/close-highlight.png.import b/assets/sprites/ui/buttons/close-highlight.png.import new file mode 100644 index 0000000..07af215 --- /dev/null +++ b/assets/sprites/ui/buttons/close-highlight.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bsn66gnb08x3u" +path="res://.godot/imported/close-highlight.png-d2d70664d421cc9f61c93ef9f90c069e.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/ui/buttons/close-highlight.png" +dest_files=["res://.godot/imported/close-highlight.png-d2d70664d421cc9f61c93ef9f90c069e.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/ui/buttons/close.png b/assets/sprites/ui/buttons/close.png new file mode 100644 index 0000000..b28156d Binary files /dev/null and b/assets/sprites/ui/buttons/close.png differ diff --git a/assets/sprites/ui/buttons/close.png.import b/assets/sprites/ui/buttons/close.png.import new file mode 100644 index 0000000..f7e3bb9 --- /dev/null +++ b/assets/sprites/ui/buttons/close.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d2n43pu0wvplp" +path="res://.godot/imported/close.png-d7ca0d1188fa83b8e622fa244178a0f6.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/ui/buttons/close.png" +dest_files=["res://.godot/imported/close.png-d7ca0d1188fa83b8e622fa244178a0f6.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/ui/buttons/decor-highlight.png b/assets/sprites/ui/buttons/decor-highlight.png new file mode 100644 index 0000000..f9c545c Binary files /dev/null and b/assets/sprites/ui/buttons/decor-highlight.png differ diff --git a/assets/sprites/ui/buttons/decor-highlight.png.import b/assets/sprites/ui/buttons/decor-highlight.png.import new file mode 100644 index 0000000..722bf4d --- /dev/null +++ b/assets/sprites/ui/buttons/decor-highlight.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dygetjxbcktef" +path="res://.godot/imported/decor-highlight.png-9b5ad6a0540ee53d254b9a4a15150c52.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/ui/buttons/decor-highlight.png" +dest_files=["res://.godot/imported/decor-highlight.png-9b5ad6a0540ee53d254b9a4a15150c52.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/ui/buttons/decor.png b/assets/sprites/ui/buttons/decor.png new file mode 100644 index 0000000..0a99284 Binary files /dev/null and b/assets/sprites/ui/buttons/decor.png differ diff --git a/assets/sprites/ui/buttons/decor.png.import b/assets/sprites/ui/buttons/decor.png.import new file mode 100644 index 0000000..2c2905b --- /dev/null +++ b/assets/sprites/ui/buttons/decor.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dlm0degcpvyoj" +path="res://.godot/imported/decor.png-de7850a4843df5838869c155e4907674.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/ui/buttons/decor.png" +dest_files=["res://.godot/imported/decor.png-de7850a4843df5838869c155e4907674.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/ui/buttons/direction-highlight.png b/assets/sprites/ui/buttons/direction-highlight.png new file mode 100644 index 0000000..7c42f6e Binary files /dev/null and b/assets/sprites/ui/buttons/direction-highlight.png differ diff --git a/assets/sprites/ui/buttons/direction-highlight.png.import b/assets/sprites/ui/buttons/direction-highlight.png.import new file mode 100644 index 0000000..49c8e27 --- /dev/null +++ b/assets/sprites/ui/buttons/direction-highlight.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://btw3cpkp5bgi" +path="res://.godot/imported/direction-highlight.png-7d25bf093f6d01a02053d2a979b60e1a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/ui/buttons/direction-highlight.png" +dest_files=["res://.godot/imported/direction-highlight.png-7d25bf093f6d01a02053d2a979b60e1a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/ui/buttons/direction.png b/assets/sprites/ui/buttons/direction.png new file mode 100644 index 0000000..8992561 Binary files /dev/null and b/assets/sprites/ui/buttons/direction.png differ diff --git a/assets/sprites/ui/buttons/direction.png.import b/assets/sprites/ui/buttons/direction.png.import new file mode 100644 index 0000000..582b710 --- /dev/null +++ b/assets/sprites/ui/buttons/direction.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dwm2bfuamf3bp" +path="res://.godot/imported/direction.png-7ec8f15c88bcc88a9f6ec11e5e752aa9.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/ui/buttons/direction.png" +dest_files=["res://.godot/imported/direction.png-7ec8f15c88bcc88a9f6ec11e5e752aa9.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/ui/buttons/dragon-list-highlight.png b/assets/sprites/ui/buttons/dragon-list-highlight.png new file mode 100644 index 0000000..416d9de Binary files /dev/null and b/assets/sprites/ui/buttons/dragon-list-highlight.png differ diff --git a/assets/sprites/ui/buttons/dragon-list-highlight.png.import b/assets/sprites/ui/buttons/dragon-list-highlight.png.import new file mode 100644 index 0000000..55a9fb7 --- /dev/null +++ b/assets/sprites/ui/buttons/dragon-list-highlight.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://emm3gwb5fuqo" +path="res://.godot/imported/dragon-list-highlight.png-94c8866c0da9b8252b4e4bead07f7b0a.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/ui/buttons/dragon-list-highlight.png" +dest_files=["res://.godot/imported/dragon-list-highlight.png-94c8866c0da9b8252b4e4bead07f7b0a.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/ui/buttons/dragon-list.png b/assets/sprites/ui/buttons/dragon-list.png new file mode 100644 index 0000000..f703d3e Binary files /dev/null and b/assets/sprites/ui/buttons/dragon-list.png differ diff --git a/assets/sprites/ui/buttons/dragon-list.png.import b/assets/sprites/ui/buttons/dragon-list.png.import new file mode 100644 index 0000000..05fda57 --- /dev/null +++ b/assets/sprites/ui/buttons/dragon-list.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cpdhhhdmh5n58" +path="res://.godot/imported/dragon-list.png-95bf8cf726fb5913cfced32d642f1f0b.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/ui/buttons/dragon-list.png" +dest_files=["res://.godot/imported/dragon-list.png-95bf8cf726fb5913cfced32d642f1f0b.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/ui/buttons/hat-highlight.png b/assets/sprites/ui/buttons/hat-highlight.png new file mode 100644 index 0000000..c137b9e Binary files /dev/null and b/assets/sprites/ui/buttons/hat-highlight.png differ diff --git a/assets/sprites/ui/buttons/hat-highlight.png.import b/assets/sprites/ui/buttons/hat-highlight.png.import new file mode 100644 index 0000000..8610642 --- /dev/null +++ b/assets/sprites/ui/buttons/hat-highlight.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b3wp7cawhj5eb" +path="res://.godot/imported/hat-highlight.png-65adb88f36a43086e02f9a1b64f2e661.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/ui/buttons/hat-highlight.png" +dest_files=["res://.godot/imported/hat-highlight.png-65adb88f36a43086e02f9a1b64f2e661.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/ui/buttons/hat.png b/assets/sprites/ui/buttons/hat.png new file mode 100644 index 0000000..896341a Binary files /dev/null and b/assets/sprites/ui/buttons/hat.png differ diff --git a/assets/sprites/ui/buttons/hat.png.import b/assets/sprites/ui/buttons/hat.png.import new file mode 100644 index 0000000..1fb37bc --- /dev/null +++ b/assets/sprites/ui/buttons/hat.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cwkegj7oj8rok" +path="res://.godot/imported/hat.png-528b2fe285d169f682f5e9bbd49089b1.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/ui/buttons/hat.png" +dest_files=["res://.godot/imported/hat.png-528b2fe285d169f682f5e9bbd49089b1.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/ui/buttons/shirt-highlight.png b/assets/sprites/ui/buttons/shirt-highlight.png new file mode 100644 index 0000000..567c9d8 Binary files /dev/null and b/assets/sprites/ui/buttons/shirt-highlight.png differ diff --git a/assets/sprites/ui/buttons/shirt-highlight.png.import b/assets/sprites/ui/buttons/shirt-highlight.png.import new file mode 100644 index 0000000..5ed76b3 --- /dev/null +++ b/assets/sprites/ui/buttons/shirt-highlight.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b6latlr2mhm37" +path="res://.godot/imported/shirt-highlight.png-4d733325207d4ec944e0fdc5d829e49d.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/ui/buttons/shirt-highlight.png" +dest_files=["res://.godot/imported/shirt-highlight.png-4d733325207d4ec944e0fdc5d829e49d.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/sprites/ui/buttons/shirt.png b/assets/sprites/ui/buttons/shirt.png new file mode 100644 index 0000000..a95512d Binary files /dev/null and b/assets/sprites/ui/buttons/shirt.png differ diff --git a/assets/sprites/ui/buttons/shirt.png.import b/assets/sprites/ui/buttons/shirt.png.import new file mode 100644 index 0000000..ba186b7 --- /dev/null +++ b/assets/sprites/ui/buttons/shirt.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dr2d4jv6bxghn" +path="res://.godot/imported/shirt.png-33a1880ffc494f6f0e6b5f79f5b9b650.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/sprites/ui/buttons/shirt.png" +dest_files=["res://.godot/imported/shirt.png-33a1880ffc494f6f0e6b5f79f5b9b650.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/export_presets.cfg b/export_presets.cfg index 4db05aa..3d34c08 100644 --- a/export_presets.cfg +++ b/export_presets.cfg @@ -9,7 +9,7 @@ custom_features="" export_filter="all_resources" include_filter="" exclude_filter="" -export_path="../../Builds/SantJordiJam25/LaPlacetaDelDrac.exe" +export_path="../../Builds/SantJordiJam25/La Torreta del Drac.exe" patches=PackedStringArray() encryption_include_filters="" encryption_exclude_filters="" @@ -22,7 +22,7 @@ script_export_mode=2 custom_template/debug="" custom_template/release="" -debug/export_console_wrapper=0 +debug/export_console_wrapper=1 binary_format/embed_pck=true texture_format/s3tc_bptc=true texture_format/etc2_astc=false @@ -64,3 +64,45 @@ Unregister-ScheduledTask -TaskName godot_remote_debug -Confirm:$false -ErrorActi 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}'" + +[preset.1] + +name="Linux" +platform="Linux" +runnable=true +advanced_options=false +dedicated_server=false +custom_features="" +export_filter="all_resources" +include_filter="" +exclude_filter="" +export_path="../../Builds/SantJordiJam25/La Torreta del Drac.x86_64" +patches=PackedStringArray() +encryption_include_filters="" +encryption_exclude_filters="" +seed=0 +encrypt_pck=false +encrypt_directory=false +script_export_mode=2 + +[preset.1.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" +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="#!/usr/bin/env bash +export DISPLAY=:0 +unzip -o -q \"{temp_dir}/{archive_name}\" -d \"{temp_dir}\" +\"{temp_dir}/{exe_name}\" {cmd_args}" +ssh_remote_deploy/cleanup_script="#!/usr/bin/env bash +kill $(pgrep -x -f \"{temp_dir}/{exe_name} {cmd_args}\") +rm -rf \"{temp_dir}\"" diff --git a/icon.png b/icon.png new file mode 100644 index 0000000..d35959b Binary files /dev/null and b/icon.png differ diff --git a/icon.png.import b/icon.png.import new file mode 100644 index 0000000..f965140 --- /dev/null +++ b/icon.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://vt266gxkfb5j" +path="res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://icon.png" +dest_files=["res://.godot/imported/icon.png-487276ed1e3a0c39cad0279d744ee560.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/project.godot b/project.godot index 13810c2..7b3baee 100644 --- a/project.godot +++ b/project.godot @@ -15,7 +15,7 @@ run/main_scene="uid://ctytpqaed0yqx" config/features=PackedStringArray("4.4", "GL Compatibility") boot_splash/bg_color=Color(0.14, 0.14, 0.14, 0) boot_splash/show_image=false -config/icon="res://assets/sprites/icon.svg" +config/icon="uid://vt266gxkfb5j" [display] diff --git a/scenes/create_button.gd b/scenes/create_button.gd index d8c14f4..f96c675 100644 --- a/scenes/create_button.gd +++ b/scenes/create_button.gd @@ -1,4 +1,4 @@ -extends Button +extends TextureButton @export var dragon_editor: PackedScene @@ -8,6 +8,7 @@ extends Button func _on_button_up() -> void: var editor: DragonEditor = dragon_editor.instantiate() + editor.set_save_load(base._save_load) editor.on_create_dragon.connect(base.add_dragon) var window_position: Vector2i = DisplayServer.window_get_position() diff --git a/scenes/dragon_editor/dragon_editor.gd b/scenes/dragon_editor/dragon_editor.gd index 2cb25f8..9de8b04 100644 --- a/scenes/dragon_editor/dragon_editor.gd +++ b/scenes/dragon_editor/dragon_editor.gd @@ -11,16 +11,18 @@ class_name DragonEditor @export var decor_outfits: DragonOutfit @export var dragon_colors: DragonOutfit -var _save_load: SaveLoad = SaveLoad.new() +var _save_load: SaveLoad @onready var dragon_name: LineEdit = $CanvasLayer/NameLabel/LineEdit @onready var dragger: DraggableWindow = $CanvasLayer/Dragger signal on_create_dragon(properties: DragonProperties) -func _ready() -> void: - _save_load.load() +func set_save_load(save_load: SaveLoad): + _save_load = save_load + +func _ready() -> void: hat.visible = false shirt.visible = false decor.visible = false diff --git a/scenes/dragon_editor/dragon_editor.tscn b/scenes/dragon_editor/dragon_editor.tscn index b592062..a0937c9 100644 --- a/scenes/dragon_editor/dragon_editor.tscn +++ b/scenes/dragon_editor/dragon_editor.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=24 format=3 uid="uid://fut42ruut302"] +[gd_scene load_steps=28 format=3 uid="uid://fut42ruut302"] [ext_resource type="Script" uid="uid://bfuos2kgfgber" path="res://scenes/dragon_editor/dragon_editor.gd" id="1_8vkll"] [ext_resource type="SpriteFrames" uid="uid://ccxyplt2t7t6y" path="res://assets/animations/hats/barretina.tres" id="2_aystc"] @@ -8,44 +8,32 @@ [ext_resource type="Resource" uid="uid://c03ejnvavmcj5" path="res://assets/outfits/dragons.tres" id="5_1ivi1"] [ext_resource type="SpriteFrames" uid="uid://c5rqqy7b5ihi5" path="res://assets/animations/decor/rosa.tres" id="6_c4sli"] [ext_resource type="Texture2D" uid="uid://dceoy4417v83e" path="res://assets/sprites/ui/DP_UI_CharCreation_BG.png" id="6_udwtk"] -[ext_resource type="Script" path="res://src/draggable.gd" id="7_1vw8k"] -[ext_resource type="Texture2D" uid="uid://bu5xa7tgfk3h3" path="res://assets/sprites/ui/DP_UI_Buttons01.png" id="7_qppok"] +[ext_resource type="Script" uid="uid://dxl7onk7x6h8b" path="res://src/draggable.gd" id="7_1vw8k"] [ext_resource type="Texture2D" uid="uid://bgpbbkmwt8ysq" path="res://assets/sprites/ui/DP_UI_Button_Text.png" id="8_ofxsr"] +[ext_resource type="Texture2D" uid="uid://dr2d4jv6bxghn" path="res://assets/sprites/ui/buttons/shirt.png" id="12_hukd7"] [ext_resource type="Texture2D" uid="uid://bdrm1nxydvf5t" path="res://assets/sprites/ui/DP_UI_Label_Big.png" id="12_qppok"] +[ext_resource type="Texture2D" uid="uid://b6latlr2mhm37" path="res://assets/sprites/ui/buttons/shirt-highlight.png" id="13_6eo4l"] +[ext_resource type="Texture2D" uid="uid://cwkegj7oj8rok" path="res://assets/sprites/ui/buttons/hat.png" id="13_aystc"] +[ext_resource type="Texture2D" uid="uid://dlm0degcpvyoj" path="res://assets/sprites/ui/buttons/decor.png" id="13_mc14k"] [ext_resource type="FontFile" uid="uid://u1pey2ilx31c" path="res://assets/fonts/Montjuic.ttf" id="14_1vw8k"] [ext_resource type="SpriteFrames" uid="uid://duxxw4mfxql3c" path="res://assets/animations/dragons/verd.tres" id="14_aystc"] [ext_resource type="StyleBox" uid="uid://bhe580k04w6ve" path="res://assets/styles/style_box_empty.tres" id="14_bh8dj"] +[ext_resource type="Texture2D" uid="uid://dygetjxbcktef" path="res://assets/sprites/ui/buttons/decor-highlight.png" id="14_jtpn4"] [ext_resource type="FontFile" uid="uid://5nniov81t44i" path="res://assets/fonts/m3x6.ttf" id="14_rrp4v"] +[ext_resource type="Texture2D" uid="uid://b3wp7cawhj5eb" path="res://assets/sprites/ui/buttons/hat-highlight.png" id="14_x0448"] [ext_resource type="SpriteFrames" uid="uid://dsxhfu2ekw7j" path="res://assets/animations/shirts/traje.tres" id="15_x0448"] - -[sub_resource type="AtlasTexture" id="AtlasTexture_ofxsr"] -atlas = ExtResource("7_qppok") -region = Rect2(0, 40, 38, 40) - -[sub_resource type="AtlasTexture" id="AtlasTexture_bh8dj"] -atlas = ExtResource("7_qppok") -region = Rect2(0, 80, 38, 40) - -[sub_resource type="AtlasTexture" id="AtlasTexture_1vw8k"] -atlas = ExtResource("7_qppok") -region = Rect2(0, 0, 38, 40) - -[sub_resource type="AtlasTexture" id="AtlasTexture_rrp4v"] -atlas = ExtResource("7_qppok") -region = Rect2(0, 120, 38, 40) +[ext_resource type="Texture2D" uid="uid://dwm2bfuamf3bp" path="res://assets/sprites/ui/buttons/direction.png" id="18_xxrn0"] +[ext_resource type="Texture2D" uid="uid://btw3cpkp5bgi" path="res://assets/sprites/ui/buttons/direction-highlight.png" id="19_q2c4g"] +[ext_resource type="Texture2D" uid="uid://d2n43pu0wvplp" path="res://assets/sprites/ui/buttons/close.png" id="21_c4sli"] +[ext_resource type="Texture2D" uid="uid://bsn66gnb08x3u" path="res://assets/sprites/ui/buttons/close-highlight.png" id="22_xxrn0"] [sub_resource type="AtlasTexture" id="AtlasTexture_mc14k"] atlas = ExtResource("8_ofxsr") region = Rect2(0, 0, 62, 24) -[sub_resource type="AtlasTexture" id="AtlasTexture_kohpo"] -atlas = ExtResource("7_qppok") -region = Rect2(0, 160, 38, 40) - [node name="DragonEditor" type="Window"] transparent_bg = true title = "Dragon Editor" -position = Vector2i(0, 36) size = Vector2i(230, 332) unresizable = true borderless = true @@ -90,51 +78,61 @@ offset_right = 198.0 offset_bottom = 320.0 script = ExtResource("7_1vw8k") -[node name="change_hat" type="Button" parent="CanvasLayer"] -offset_left = 48.0 -offset_top = 38.0 -offset_right = 94.0 -offset_bottom = 86.0 -focus_mode = 0 -icon = SubResource("AtlasTexture_ofxsr") -flat = true +[node name="change_shirt" type="TextureButton" parent="CanvasLayer"] +offset_left = 88.0 +offset_top = 54.0 +offset_right = 128.0 +offset_bottom = 94.0 +texture_normal = ExtResource("12_hukd7") +texture_pressed = ExtResource("13_6eo4l") +texture_hover = ExtResource("13_6eo4l") +texture_disabled = ExtResource("12_hukd7") +texture_focused = ExtResource("12_hukd7") -[node name="change_shirt" type="Button" parent="CanvasLayer"] -offset_left = 84.0 -offset_top = 50.0 -offset_right = 130.0 -offset_bottom = 98.0 -focus_mode = 0 -icon = SubResource("AtlasTexture_bh8dj") -flat = true +[node name="change_hat" type="TextureButton" parent="CanvasLayer"] +offset_left = 52.0 +offset_top = 42.0 +offset_right = 92.0 +offset_bottom = 82.0 +texture_normal = ExtResource("13_aystc") +texture_pressed = ExtResource("14_x0448") +texture_hover = ExtResource("14_x0448") +texture_disabled = ExtResource("13_aystc") +texture_focused = ExtResource("13_aystc") -[node name="change_shoes" type="Button" parent="CanvasLayer"] -offset_left = 120.0 -offset_top = 38.0 -offset_right = 166.0 -offset_bottom = 86.0 -focus_mode = 0 -icon = SubResource("AtlasTexture_1vw8k") -flat = true +[node name="change_decor" type="TextureButton" parent="CanvasLayer"] +offset_left = 124.0 +offset_top = 42.0 +offset_right = 164.0 +offset_bottom = 82.0 +texture_normal = ExtResource("13_mc14k") +texture_pressed = ExtResource("14_jtpn4") +texture_hover = ExtResource("14_jtpn4") +texture_disabled = ExtResource("13_mc14k") +texture_focused = ExtResource("13_mc14k") -[node name="dragon_previous" type="Button" parent="CanvasLayer"] -offset_left = 76.0 -offset_top = 136.0 -offset_right = 122.0 -offset_bottom = 184.0 -scale = Vector2(-1, 1) -focus_mode = 0 -icon = SubResource("AtlasTexture_rrp4v") -flat = true +[node name="dragon_next" type="TextureButton" parent="CanvasLayer"] +offset_left = 138.0 +offset_top = 140.0 +offset_right = 178.0 +offset_bottom = 180.0 +texture_normal = ExtResource("18_xxrn0") +texture_pressed = ExtResource("19_q2c4g") +texture_hover = ExtResource("19_q2c4g") +texture_disabled = ExtResource("18_xxrn0") +texture_focused = ExtResource("18_xxrn0") -[node name="dragon_next" type="Button" parent="CanvasLayer"] -offset_left = 134.0 -offset_top = 136.0 -offset_right = 180.0 -offset_bottom = 184.0 -focus_mode = 0 -icon = SubResource("AtlasTexture_rrp4v") -flat = true +[node name="dragon_previous" type="TextureButton" parent="CanvasLayer"] +offset_left = 34.0 +offset_top = 140.0 +offset_right = 74.0 +offset_bottom = 180.0 +texture_normal = ExtResource("18_xxrn0") +texture_pressed = ExtResource("19_q2c4g") +texture_hover = ExtResource("19_q2c4g") +texture_disabled = ExtResource("18_xxrn0") +texture_focused = ExtResource("18_xxrn0") +flip_h = true [node name="create" type="Button" parent="CanvasLayer"] offset_left = 112.0 @@ -157,14 +155,16 @@ theme_override_font_sizes/font_size = 33 text = "crea" horizontal_alignment = 1 -[node name="close" type="Button" parent="CanvasLayer"] -offset_left = 178.0 -offset_top = 6.0 -offset_right = 224.0 -offset_bottom = 54.0 -focus_mode = 0 -icon = SubResource("AtlasTexture_kohpo") -flat = true +[node name="close" type="TextureButton" parent="CanvasLayer"] +offset_left = 182.0 +offset_top = 10.0 +offset_right = 222.0 +offset_bottom = 50.0 +texture_normal = ExtResource("21_c4sli") +texture_pressed = ExtResource("22_xxrn0") +texture_hover = ExtResource("22_xxrn0") +texture_disabled = ExtResource("21_c4sli") +texture_focused = ExtResource("21_c4sli") [node name="NameLabel" type="TextureRect" parent="CanvasLayer"] offset_left = 34.0 @@ -184,15 +184,15 @@ theme_override_font_sizes/font_size = 28 theme_override_styles/focus = ExtResource("14_bh8dj") placeholder_text = "NOM" alignment = 1 -max_length = 8 +max_length = 9 flat = true caret_blink = true [connection signal="close_requested" from="." to="." method="_on_close_requested"] -[connection signal="pressed" from="CanvasLayer/change_hat" to="." method="_on_change_hat_pressed"] [connection signal="pressed" from="CanvasLayer/change_shirt" to="." method="_on_change_shirt_pressed"] -[connection signal="pressed" from="CanvasLayer/change_shoes" to="." method="_on_change_shoes_pressed"] -[connection signal="pressed" from="CanvasLayer/dragon_previous" to="." method="_on_previous_color_pressed"] +[connection signal="pressed" from="CanvasLayer/change_hat" to="." method="_on_change_hat_pressed"] +[connection signal="pressed" from="CanvasLayer/change_decor" to="." method="_on_change_shoes_pressed"] [connection signal="pressed" from="CanvasLayer/dragon_next" to="." method="_on_next_color_pressed"] +[connection signal="pressed" from="CanvasLayer/dragon_previous" to="." method="_on_previous_color_pressed"] [connection signal="pressed" from="CanvasLayer/create" to="." method="_on_create_pressed"] [connection signal="pressed" from="CanvasLayer/close" to="." method="_on_close_pressed"] diff --git a/scenes/dragon_list/dragon/dragon.tscn b/scenes/dragon_list/dragon/dragon.tscn index 46e8501..df71cc7 100644 --- a/scenes/dragon_list/dragon/dragon.tscn +++ b/scenes/dragon_list/dragon/dragon.tscn @@ -1,10 +1,14 @@ -[gd_scene load_steps=6 format=3 uid="uid://cq3orf2ktmel0"] +[gd_scene load_steps=10 format=3 uid="uid://cq3orf2ktmel0"] [ext_resource type="SpriteFrames" uid="uid://duxxw4mfxql3c" path="res://assets/animations/dragons/verd.tres" id="1_o3jkx"] [ext_resource type="Script" uid="uid://b7knkhjgtdy4l" path="res://scenes/dragon_list/dragon/dragon_list_entry.gd" id="2_uckob"] [ext_resource type="SpriteFrames" uid="uid://ccxyplt2t7t6y" path="res://assets/animations/hats/barretina.tres" id="3_jl6px"] +[ext_resource type="Resource" uid="uid://c03ejnvavmcj5" path="res://assets/outfits/dragons.tres" id="3_jpsrj"] +[ext_resource type="Resource" uid="uid://x063x858re3f" path="res://assets/outfits/hats.tres" id="4_58xh2"] [ext_resource type="SpriteFrames" uid="uid://dsxhfu2ekw7j" path="res://assets/animations/shirts/traje.tres" id="4_v3rc7"] +[ext_resource type="Resource" uid="uid://bsydervvb1jpe" path="res://assets/outfits/shirts.tres" id="5_6mheo"] [ext_resource type="SpriteFrames" uid="uid://c5rqqy7b5ihi5" path="res://assets/animations/decor/rosa.tres" id="5_jpsrj"] +[ext_resource type="Resource" uid="uid://dkm7d10c1lp2n" path="res://assets/outfits/decor.tres" id="6_dtw4b"] [node name="Dragon" type="AnimatedSprite2D" node_paths=PackedStringArray("color", "hat", "shirt", "decor")] sprite_frames = ExtResource("1_o3jkx") @@ -14,6 +18,10 @@ color = NodePath(".") hat = NodePath("Hat") shirt = NodePath("Shirt") decor = NodePath("Decor") +color_outfits = ExtResource("3_jpsrj") +hat_outfits = ExtResource("4_58xh2") +shirt_outfits = ExtResource("5_6mheo") +decor_outfits = ExtResource("6_dtw4b") [node name="Hat" type="AnimatedSprite2D" parent="."] sprite_frames = ExtResource("3_jl6px") diff --git a/scenes/dragon_list/dragon/dragon_list_entry.gd b/scenes/dragon_list/dragon/dragon_list_entry.gd index 9c62297..de1b285 100644 --- a/scenes/dragon_list/dragon/dragon_list_entry.gd +++ b/scenes/dragon_list/dragon/dragon_list_entry.gd @@ -7,20 +7,36 @@ class_name DragonListEntry @export var shirt: AnimatedSprite2D @export var decor: AnimatedSprite2D - -func play_animation(anim: String): - color.set_frame(0) - color.play(anim) - hat.set_frame(0) - hat.play(anim) - shirt.set_frame(0) - shirt.play(anim) - decor.set_frame(0) - decor.play(anim) +@export var color_outfits: DragonOutfit +@export var hat_outfits: DragonOutfit +@export var shirt_outfits: DragonOutfit +@export var decor_outfits: DragonOutfit -func face_direction(left: bool): +func play_animation(anim: String) -> void: + if color.sprite_frames != null: + color.set_frame(0) + color.play(anim) + if hat.sprite_frames != null: + hat.set_frame(0) + hat.play(anim) + if shirt.sprite_frames != null: + shirt.set_frame(0) + shirt.play(anim) + if decor.sprite_frames != null: + decor.set_frame(0) + decor.play(anim) + + +func face_direction(left: bool) -> void: color.flip_h = not left hat.flip_h = not left shirt.flip_h = not left decor.flip_h = not left + + +func dress(properties: DragonProperties) -> void: + color.sprite_frames = color_outfits.get_texture(properties.color) + hat.sprite_frames = hat_outfits.get_texture(properties.hat) + shirt.sprite_frames = shirt_outfits.get_texture(properties.shirt) + decor.sprite_frames = decor_outfits.get_texture(properties.decor) diff --git a/scenes/dragon_list/dragon_list.tscn b/scenes/dragon_list/dragon_list.tscn index c06a92c..d47546b 100644 --- a/scenes/dragon_list/dragon_list.tscn +++ b/scenes/dragon_list/dragon_list.tscn @@ -1,24 +1,20 @@ -[gd_scene load_steps=10 format=3 uid="uid://tubxrqxjic6r"] +[gd_scene load_steps=12 format=3 uid="uid://tubxrqxjic6r"] [ext_resource type="Script" uid="uid://dm8d0ikf1n8qa" path="res://scenes/dragon_list/dragon_list_view.gd" id="1_q7g8i"] [ext_resource type="PackedScene" uid="uid://cq3orf2ktmel0" path="res://scenes/dragon_list/dragon/dragon.tscn" id="2_h4iwm"] +[ext_resource type="Texture2D" uid="uid://cup2lrb8lou72" path="res://assets/sprites/ui/DP_UI_CharList_BG.png" id="4_f227k"] [ext_resource type="Texture2D" uid="uid://d27vpp71fe4de" path="res://assets/sprites/ui/DP_UI_CharList_Frame.png" id="6_74fyi"] +[ext_resource type="Texture2D" uid="uid://dwm2bfuamf3bp" path="res://assets/sprites/ui/buttons/direction.png" id="8_1n46k"] [ext_resource type="FontFile" uid="uid://u1pey2ilx31c" path="res://assets/fonts/Montjuic.ttf" id="8_74fyi"] -[ext_resource type="Script" path="res://src/draggable.gd" id="8_b7eir"] +[ext_resource type="Script" uid="uid://dxl7onk7x6h8b" path="res://src/draggable.gd" id="8_b7eir"] +[ext_resource type="Texture2D" uid="uid://d2n43pu0wvplp" path="res://assets/sprites/ui/buttons/close.png" id="9_1n46k"] [ext_resource type="Texture2D" uid="uid://bdrm1nxydvf5t" path="res://assets/sprites/ui/DP_UI_Label_Big.png" id="9_cv2ce"] -[ext_resource type="Texture2D" uid="uid://bu5xa7tgfk3h3" path="res://assets/sprites/ui/DP_UI_Buttons01.png" id="9_k4ppc"] - -[sub_resource type="AtlasTexture" id="AtlasTexture_1n46k"] -atlas = ExtResource("9_k4ppc") -region = Rect2(0, 120, 38, 40) - -[sub_resource type="AtlasTexture" id="AtlasTexture_u20w8"] -atlas = ExtResource("9_k4ppc") -region = Rect2(0, 160, 38, 40) +[ext_resource type="Texture2D" uid="uid://btw3cpkp5bgi" path="res://assets/sprites/ui/buttons/direction-highlight.png" id="9_u20w8"] +[ext_resource type="Texture2D" uid="uid://bsn66gnb08x3u" path="res://assets/sprites/ui/buttons/close-highlight.png" id="10_u20w8"] [node name="DragonList" type="Window" node_paths=PackedStringArray("dragon_list_pivot", "origin_name_label", "dragon_name_label")] transparent_bg = true -size = Vector2i(300, 332) +size = Vector2i(344, 332) unresizable = true borderless = true always_on_top = true @@ -31,13 +27,6 @@ dragon_name_label = NodePath("CanvasLayer/NameLabel/Label") [node name="CanvasLayer" type="CanvasLayer" parent="."] -[node name="ColorRect" type="ColorRect" parent="CanvasLayer"] -offset_left = 22.0 -offset_top = 38.0 -offset_right = 296.0 -offset_bottom = 308.0 -color = Color(0.176471, 0.227451, 0.239216, 1) - [node name="Background" type="NinePatchRect" parent="CanvasLayer"] offset_left = 18.0 offset_top = 32.0 @@ -49,11 +38,16 @@ patch_margin_top = 32 patch_margin_right = 32 patch_margin_bottom = 32 +[node name="TextureRect" type="TextureRect" parent="CanvasLayer"] +offset_right = 40.0 +offset_bottom = 40.0 +texture = ExtResource("4_f227k") + [node name="TowerNameLabel" type="NinePatchRect" parent="CanvasLayer"] -offset_left = 34.0 -offset_top = 50.0 -offset_right = 284.0 -offset_bottom = 98.0 +offset_left = 40.0 +offset_top = 51.0 +offset_right = 290.0 +offset_bottom = 99.0 texture = ExtResource("9_cv2ce") patch_margin_left = 74 patch_margin_right = 74 @@ -71,9 +65,9 @@ horizontal_alignment = 1 vertical_alignment = 1 [node name="NameLabel" type="TextureRect" parent="CanvasLayer"] -offset_left = 89.0 +offset_left = 94.0 offset_top = 228.0 -offset_right = 237.0 +offset_right = 242.0 offset_bottom = 276.0 texture = ExtResource("9_cv2ce") @@ -100,47 +94,53 @@ script = ExtResource("8_b7eir") [node name="SubViewportContainer" type="SubViewportContainer" parent="CanvasLayer"] offset_left = 24.0 offset_top = 105.0 -offset_right = 224.0 +offset_right = 306.0 offset_bottom = 213.0 [node name="SubViewport" type="SubViewport" parent="CanvasLayer/SubViewportContainer"] transparent_bg = true handle_input_locally = false -size = Vector2i(270, 108) +size = Vector2i(282, 108) render_target_update_mode = 4 [node name="Pivot" type="Node2D" parent="CanvasLayer/SubViewportContainer/SubViewport"] -position = Vector2(135, 54) +position = Vector2(143, 54) -[node name="dragon_previous" type="Button" parent="CanvasLayer"] -offset_left = 127.0 -offset_top = 136.0 -offset_right = 173.0 -offset_bottom = 184.0 -scale = Vector2(-1, 1) -focus_mode = 0 -icon = SubResource("AtlasTexture_1n46k") -flat = true +[node name="dragon_next" type="TextureButton" parent="CanvasLayer"] +offset_left = 198.0 +offset_top = 140.0 +offset_right = 238.0 +offset_bottom = 180.0 +texture_normal = ExtResource("8_1n46k") +texture_pressed = ExtResource("9_u20w8") +texture_hover = ExtResource("9_u20w8") +texture_disabled = ExtResource("8_1n46k") +texture_focused = ExtResource("8_1n46k") -[node name="dragon_next" type="Button" parent="CanvasLayer"] -offset_left = 185.0 -offset_top = 136.0 -offset_right = 231.0 -offset_bottom = 184.0 -focus_mode = 0 -icon = SubResource("AtlasTexture_1n46k") -flat = true +[node name="dragon_previous" type="TextureButton" parent="CanvasLayer"] +offset_left = 94.0 +offset_top = 140.0 +offset_right = 134.0 +offset_bottom = 180.0 +texture_normal = ExtResource("8_1n46k") +texture_pressed = ExtResource("9_u20w8") +texture_hover = ExtResource("9_u20w8") +texture_disabled = ExtResource("8_1n46k") +texture_focused = ExtResource("8_1n46k") +flip_h = true -[node name="close" type="Button" parent="CanvasLayer"] -offset_left = 264.0 -offset_top = 12.0 -offset_right = 310.0 -offset_bottom = 60.0 -focus_mode = 0 -icon = SubResource("AtlasTexture_u20w8") -flat = true +[node name="close" type="TextureButton" parent="CanvasLayer"] +offset_left = 296.0 +offset_top = 10.0 +offset_right = 336.0 +offset_bottom = 50.0 +texture_normal = ExtResource("9_1n46k") +texture_pressed = ExtResource("10_u20w8") +texture_hover = ExtResource("10_u20w8") +texture_disabled = ExtResource("9_1n46k") +texture_focused = ExtResource("9_1n46k") [connection signal="close_requested" from="." to="." method="_on_close_requested"] -[connection signal="pressed" from="CanvasLayer/dragon_previous" to="." method="_on_dragon_previous_pressed"] [connection signal="pressed" from="CanvasLayer/dragon_next" to="." method="_on_dragon_next_pressed"] +[connection signal="pressed" from="CanvasLayer/dragon_previous" to="." method="_on_dragon_previous_pressed"] [connection signal="pressed" from="CanvasLayer/close" to="." method="_on_close_pressed"] diff --git a/scenes/dragon_list/dragon_list_view.gd b/scenes/dragon_list/dragon_list_view.gd index 7890147..4b3356b 100644 --- a/scenes/dragon_list/dragon_list_view.gd +++ b/scenes/dragon_list/dragon_list_view.gd @@ -35,6 +35,7 @@ func set_library(library: DragonLibrary): func _instantiate_dragon(dragon: DragonProperties, offset_step: int): var instance: DragonListEntry = dragon_list_entry_template.instantiate() + instance.dress(dragon) dragon_list_pivot.add_child(instance) instance.position.x += offset_step * 110 _dragons.push_back(instance) diff --git a/scenes/list_button.gd b/scenes/list_button.gd index 0d9a274..5cfd162 100644 --- a/scenes/list_button.gd +++ b/scenes/list_button.gd @@ -1,4 +1,4 @@ -extends Button +extends TextureButton @export var dragon_list: PackedScene diff --git a/scenes/main.gd b/scenes/main.gd index 41de138..d186878 100644 --- a/scenes/main.gd +++ b/scenes/main.gd @@ -63,7 +63,7 @@ func _instantiate_random_dragon(): return var r = rng.randi_range(0, 99) - if r < 30: + if r >= 30: _instantiate_dragon_from_internet(spot) else: _instantiate_dragon_from_library(spot) diff --git a/scenes/main.tscn b/scenes/main.tscn index 962dd61..de79da9 100644 --- a/scenes/main.tscn +++ b/scenes/main.tscn @@ -1,17 +1,24 @@ -[gd_scene load_steps=13 format=3 uid="uid://ctytpqaed0yqx"] +[gd_scene load_steps=20 format=3 uid="uid://ctytpqaed0yqx"] [ext_resource type="Script" uid="uid://3kyt3shje5r1" path="res://scenes/main.gd" id="1_sugp2"] [ext_resource type="PackedScene" uid="uid://c7nfcgjxqeg7l" path="res://scenes/window/dragon_popup.tscn" id="2_jyhfs"] [ext_resource type="PackedScene" uid="uid://miutbdsgccd1" path="res://scenes/dragons/dragon.tscn" id="4_jyhfs"] [ext_resource type="Script" uid="uid://cj4l3a6a8ro0r" path="res://scenes/create_button.gd" id="4_tbgi4"] [ext_resource type="PackedScene" uid="uid://cdlipr8l1k38a" path="res://scenes/name_setter/name_setter.tscn" id="4_trceg"] +[ext_resource type="Texture2D" uid="uid://bbd3p787bmg3m" path="res://assets/sprites/ui/buttons/add-dragon.png" id="5_jkv2x"] [ext_resource type="PackedScene" uid="uid://fut42ruut302" path="res://scenes/dragon_editor/dragon_editor.tscn" id="5_tefeu"] +[ext_resource type="Texture2D" uid="uid://d1k808702cbcw" path="res://assets/sprites/ui/buttons/add-dragon-press.png" id="6_muem4"] +[ext_resource type="Texture2D" uid="uid://75txlqcp2ucn" path="res://assets/sprites/ui/buttons/add-dragon-highlight.png" id="7_dp3eg"] +[ext_resource type="Texture2D" uid="uid://ci7cb3kgavax4" path="res://assets/sprites/ui/buttons/close-game.png" id="8_jbj1t"] [ext_resource type="Script" uid="uid://oc6mw86npbii" path="res://scenes/list_button.gd" id="9_choun"] +[ext_resource type="Texture2D" uid="uid://cpdhhhdmh5n58" path="res://assets/sprites/ui/buttons/dragon-list.png" id="9_muem4"] [ext_resource type="PackedScene" uid="uid://tubxrqxjic6r" path="res://scenes/dragon_list/dragon_list.tscn" id="10_ya4ey"] +[ext_resource type="Texture2D" uid="uid://emm3gwb5fuqo" path="res://assets/sprites/ui/buttons/dragon-list-highlight.png" id="12_dp3eg"] +[ext_resource type="Texture2D" uid="uid://bawbgis3cgdtu" path="res://assets/sprites/ui/buttons/close-game-highlight.png" id="15_0ld40"] [ext_resource type="Texture2D" uid="uid://bc2lykc3gwykh" path="res://assets/sprites/environment/castle/DP_castle_back.png" id="15_muem4"] [ext_resource type="Texture2D" uid="uid://o1e8lge2vuqu" path="res://assets/sprites/environment/castle/DP_castle_mid.png" id="16_dp3eg"] [ext_resource type="Texture2D" uid="uid://b1w6y1qvetsaw" path="res://assets/sprites/environment/castle/DP_castle_front.png" id="17_0ld40"] -[ext_resource type="Script" path="res://scenes/dragon_sharing.gd" id="17_muem4"] +[ext_resource type="Script" uid="uid://bg58e3dobon4j" path="res://scenes/dragon_sharing.gd" id="17_muem4"] [node name="Base" type="Node2D" node_paths=PackedStringArray("dragon_spots", "dragon_start_spots")] script = ExtResource("1_sugp2") @@ -29,46 +36,43 @@ max_dragon_instantiation_time = 600.0 [node name="CanvasLayer" type="CanvasLayer" parent="."] -[node name="Create" type="Button" parent="CanvasLayer"] -anchors_preset = 1 -anchor_left = 1.0 -anchor_right = 1.0 -offset_left = -585.0 -offset_top = 11.0 -offset_right = -543.0 -offset_bottom = 42.0 -grow_horizontal = 0 -focus_mode = 0 -text = "crea" +[node name="Create" type="TextureButton" parent="CanvasLayer"] +offset_left = 535.0 +offset_top = 42.0 +offset_right = 575.0 +offset_bottom = 82.0 +texture_normal = ExtResource("5_jkv2x") +texture_pressed = ExtResource("7_dp3eg") +texture_hover = ExtResource("7_dp3eg") +texture_disabled = ExtResource("6_muem4") +texture_focused = ExtResource("5_jkv2x") script = ExtResource("4_tbgi4") dragon_editor = ExtResource("5_tefeu") -[node name="Close" type="Button" parent="CanvasLayer"] -anchors_preset = 1 -anchor_left = 1.0 -anchor_right = 1.0 -offset_left = -525.0 -offset_top = 12.0 -offset_right = -474.0 -offset_bottom = 43.0 -grow_horizontal = 0 -focus_mode = 0 -text = "tanca" - -[node name="List" type="Button" parent="CanvasLayer"] -anchors_preset = 1 -anchor_left = 1.0 -anchor_right = 1.0 -offset_left = -456.0 -offset_top = 14.0 -offset_right = -411.0 -offset_bottom = 45.0 -grow_horizontal = 0 -focus_mode = 0 -text = "llista" +[node name="List" type="TextureButton" parent="CanvasLayer"] +offset_left = 535.0 +offset_top = 82.0 +offset_right = 575.0 +offset_bottom = 122.0 +texture_normal = ExtResource("9_muem4") +texture_pressed = ExtResource("12_dp3eg") +texture_hover = ExtResource("12_dp3eg") +texture_disabled = ExtResource("9_muem4") +texture_focused = ExtResource("9_muem4") script = ExtResource("9_choun") dragon_list = ExtResource("10_ya4ey") +[node name="Close" type="TextureButton" parent="CanvasLayer"] +offset_left = 535.0 +offset_top = 122.0 +offset_right = 575.0 +offset_bottom = 162.0 +texture_normal = ExtResource("8_jbj1t") +texture_pressed = ExtResource("15_0ld40") +texture_hover = ExtResource("15_0ld40") +texture_disabled = ExtResource("8_jbj1t") +texture_focused = ExtResource("8_jbj1t") + [node name="Castle" type="Node2D" parent="."] [node name="DpCastleBack" type="Sprite2D" parent="Castle"] @@ -109,6 +113,6 @@ script = ExtResource("17_muem4") [connection signal="tree_entered" from="." to="." method="_on_tree_entered"] [connection signal="tree_exiting" from="." to="." method="_on_tree_exiting"] -[connection signal="button_up" from="CanvasLayer/Create" to="CanvasLayer/Create" method="_on_button_up"] -[connection signal="pressed" from="CanvasLayer/Close" to="." method="_on_close_pressed"] +[connection signal="pressed" from="CanvasLayer/Create" to="CanvasLayer/Create" method="_on_button_up"] [connection signal="pressed" from="CanvasLayer/List" to="CanvasLayer/List" method="_on_pressed"] +[connection signal="pressed" from="CanvasLayer/Close" to="." method="_on_close_pressed"] diff --git a/scenes/name_setter/name_setter.tscn b/scenes/name_setter/name_setter.tscn index fae1702..4cd235f 100644 --- a/scenes/name_setter/name_setter.tscn +++ b/scenes/name_setter/name_setter.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=8 format=3 uid="uid://cdlipr8l1k38a"] +[gd_scene load_steps=9 format=3 uid="uid://cdlipr8l1k38a"] [ext_resource type="Script" uid="uid://drulv5ptupx2w" path="res://scenes/name_setter/name_setter.gd" id="1_f3gk5"] [ext_resource type="Texture2D" uid="uid://d27vpp71fe4de" path="res://assets/sprites/ui/DP_UI_CharList_Frame.png" id="2_wkl5f"] @@ -6,6 +6,7 @@ [ext_resource type="FontFile" uid="uid://u1pey2ilx31c" path="res://assets/fonts/Montjuic.ttf" id="3_fjxtl"] [ext_resource type="Texture2D" uid="uid://bdrm1nxydvf5t" path="res://assets/sprites/ui/DP_UI_Label_Big.png" id="3_rlhj7"] [ext_resource type="StyleBox" uid="uid://bhe580k04w6ve" path="res://assets/styles/style_box_empty.tres" id="4_fjxtl"] +[ext_resource type="FontFile" uid="uid://5nniov81t44i" path="res://assets/fonts/m3x6.ttf" id="7_crfd2"] [sub_resource type="AtlasTexture" id="AtlasTexture_27shg"] atlas = ExtResource("3_1ipfa") @@ -83,4 +84,16 @@ focus_mode = 0 icon = SubResource("AtlasTexture_27shg") flat = true +[node name="Label" type="Label" parent="create"] +layout_mode = 0 +offset_left = 6.0 +offset_top = -2.0 +offset_right = 64.0 +offset_bottom = 26.0 +theme_override_colors/font_color = Color(0.537255, 0.603922, 0.615686, 1) +theme_override_fonts/font = ExtResource("7_crfd2") +theme_override_font_sizes/font_size = 33 +text = "crea" +horizontal_alignment = 1 + [connection signal="pressed" from="create" to="." method="_on_submit_pressed"] diff --git a/src/dragon_outfit.gd b/src/dragon_outfit.gd index ca918b5..d2e29c5 100644 --- a/src/dragon_outfit.gd +++ b/src/dragon_outfit.gd @@ -31,6 +31,10 @@ func pick_previous() -> SpriteFrames: return _pick_non_nullable() +func _get_array_index(index: int, size: int) -> int: + return ((index % size) + size) % len(outfits) + + func _pick_nullable() -> SpriteFrames: _index %= (len(outfits) + 1) if _index == 0: @@ -45,6 +49,8 @@ func _pick_non_nullable() -> SpriteFrames: func get_texture(index: int) -> SpriteFrames: + if not allow_null: + index = _get_array_index(index, len(outfits)) if index < 0 or index >= len(outfits): return null