diff --git a/.gitattributes b/.gitattributes deleted file mode 100644 index db2e4ff..0000000 --- a/.gitattributes +++ /dev/null @@ -1 +0,0 @@ -*.gd linguist-language=GDScript diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 27a8ab4..0000000 --- a/.gitignore +++ /dev/null @@ -1,15 +0,0 @@ -/routes-native/target -/routes-native/Cargo.lock -*~ -*.swp -*.swo -.fscache - -.DS_Store -.DS_Store? -._* -.Spotlight-V100 -.Trashes -ehthumbs.db -Thumbs.db -*.lnk diff --git a/godot/.import/.gdignore b/.import/.gdignore similarity index 100% rename from godot/.import/.gdignore rename to .import/.gdignore diff --git a/.import/blue.png-2cd44d93824d3f98709a3749551f4ec1.md5 b/.import/blue.png-2cd44d93824d3f98709a3749551f4ec1.md5 new file mode 100644 index 0000000..89c7768 --- /dev/null +++ b/.import/blue.png-2cd44d93824d3f98709a3749551f4ec1.md5 @@ -0,0 +1,3 @@ +source_md5="c2ceedfd75487630e8ea3dabf6a2b9a8" +dest_md5="e8cb687282207ab1f7b495245c9750c7" + diff --git a/.import/blue.png-2cd44d93824d3f98709a3749551f4ec1.stex b/.import/blue.png-2cd44d93824d3f98709a3749551f4ec1.stex new file mode 100644 index 0000000..ed77303 Binary files /dev/null and b/.import/blue.png-2cd44d93824d3f98709a3749551f4ec1.stex differ diff --git a/.import/close_to_land.png-01e739a54f71f449c550df208cfbaab1.md5 b/.import/close_to_land.png-01e739a54f71f449c550df208cfbaab1.md5 new file mode 100644 index 0000000..a6438e1 --- /dev/null +++ b/.import/close_to_land.png-01e739a54f71f449c550df208cfbaab1.md5 @@ -0,0 +1,3 @@ +source_md5="faab8881882c2dd7d342bc32adada8a6" +dest_md5="f11ba84b73a027d723bf7a1bd9d7f206" + diff --git a/.import/close_to_land.png-01e739a54f71f449c550df208cfbaab1.stex b/.import/close_to_land.png-01e739a54f71f449c550df208cfbaab1.stex new file mode 100644 index 0000000..a3817bf Binary files /dev/null and b/.import/close_to_land.png-01e739a54f71f449c550df208cfbaab1.stex differ diff --git a/.import/green.png-448f4aac7f20aee9994c54bdb3cf1731.md5 b/.import/green.png-448f4aac7f20aee9994c54bdb3cf1731.md5 new file mode 100644 index 0000000..37aeff5 --- /dev/null +++ b/.import/green.png-448f4aac7f20aee9994c54bdb3cf1731.md5 @@ -0,0 +1,3 @@ +source_md5="669feed92f644398c1a1d4d49c923eea" +dest_md5="7f94170f05bbe3f73f5199f234b905ea" + diff --git a/.import/green.png-448f4aac7f20aee9994c54bdb3cf1731.stex b/.import/green.png-448f4aac7f20aee9994c54bdb3cf1731.stex new file mode 100644 index 0000000..fcd67a0 Binary files /dev/null and b/.import/green.png-448f4aac7f20aee9994c54bdb3cf1731.stex differ diff --git a/godot/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.md5 b/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.md5 similarity index 100% rename from godot/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.md5 rename to .import/icon.png-487276ed1e3a0c39cad0279d744ee560.md5 diff --git a/godot/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex b/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex similarity index 100% rename from godot/.import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex rename to .import/icon.png-487276ed1e3a0c39cad0279d744ee560.stex diff --git a/.import/mulfok62-1x.png-6ecf59a597dd7a67f5b738d2c0239b7b.md5 b/.import/mulfok62-1x.png-6ecf59a597dd7a67f5b738d2c0239b7b.md5 new file mode 100644 index 0000000..267e4cc --- /dev/null +++ b/.import/mulfok62-1x.png-6ecf59a597dd7a67f5b738d2c0239b7b.md5 @@ -0,0 +1,3 @@ +source_md5="6bb298972ae11c8c9821caed7f258b66" +dest_md5="f2fd136a7ef0a6e044086e2ba56227c3" + diff --git a/.import/mulfok62-1x.png-6ecf59a597dd7a67f5b738d2c0239b7b.stex b/.import/mulfok62-1x.png-6ecf59a597dd7a67f5b738d2c0239b7b.stex new file mode 100644 index 0000000..5702f8a Binary files /dev/null and b/.import/mulfok62-1x.png-6ecf59a597dd7a67f5b738d2c0239b7b.stex differ diff --git a/.import/outline.png-254141a7dcf1bc01b7e07098c4c1c7a1.md5 b/.import/outline.png-254141a7dcf1bc01b7e07098c4c1c7a1.md5 new file mode 100644 index 0000000..3c15e21 --- /dev/null +++ b/.import/outline.png-254141a7dcf1bc01b7e07098c4c1c7a1.md5 @@ -0,0 +1,3 @@ +source_md5="2752f228fecaeb92e0f2b076c28027ea" +dest_md5="878ce27f3864533955dba347e3812976" + diff --git a/.import/outline.png-254141a7dcf1bc01b7e07098c4c1c7a1.stex b/.import/outline.png-254141a7dcf1bc01b7e07098c4c1c7a1.stex new file mode 100644 index 0000000..4a496ad Binary files /dev/null and b/.import/outline.png-254141a7dcf1bc01b7e07098c4c1c7a1.stex differ diff --git a/.import/platform.png-e79897c7ff8195dc0091ae3e9c22a315.md5 b/.import/platform.png-e79897c7ff8195dc0091ae3e9c22a315.md5 new file mode 100644 index 0000000..1b99bf6 --- /dev/null +++ b/.import/platform.png-e79897c7ff8195dc0091ae3e9c22a315.md5 @@ -0,0 +1,3 @@ +source_md5="af9d5cf5b0e44e705c0df85d7c846c57" +dest_md5="9fb385faf18f3c43f7029b0d81164628" + diff --git a/.import/platform.png-e79897c7ff8195dc0091ae3e9c22a315.stex b/.import/platform.png-e79897c7ff8195dc0091ae3e9c22a315.stex new file mode 100644 index 0000000..2601e8e Binary files /dev/null and b/.import/platform.png-e79897c7ff8195dc0091ae3e9c22a315.stex differ diff --git a/.import/platform2.png-cbd51a920a2794e07690642dfd7cd1d3.md5 b/.import/platform2.png-cbd51a920a2794e07690642dfd7cd1d3.md5 new file mode 100644 index 0000000..88ac055 --- /dev/null +++ b/.import/platform2.png-cbd51a920a2794e07690642dfd7cd1d3.md5 @@ -0,0 +1,3 @@ +source_md5="5cc3dacc9037b47e7183b7b4bfda4403" +dest_md5="78af387fb5a31697eb498e6814ab0f01" + diff --git a/.import/platform2.png-cbd51a920a2794e07690642dfd7cd1d3.stex b/.import/platform2.png-cbd51a920a2794e07690642dfd7cd1d3.stex new file mode 100644 index 0000000..552b5db Binary files /dev/null and b/.import/platform2.png-cbd51a920a2794e07690642dfd7cd1d3.stex differ diff --git a/.import/platform3.png-5311651b484696e407a2e6d5496f1c30.md5 b/.import/platform3.png-5311651b484696e407a2e6d5496f1c30.md5 new file mode 100644 index 0000000..6a00752 --- /dev/null +++ b/.import/platform3.png-5311651b484696e407a2e6d5496f1c30.md5 @@ -0,0 +1,3 @@ +source_md5="ea9c66f74493fe79d8ad87804f9d05d9" +dest_md5="cb4a12326cc8280988260062d802f136" + diff --git a/.import/platform3.png-5311651b484696e407a2e6d5496f1c30.stex b/.import/platform3.png-5311651b484696e407a2e6d5496f1c30.stex new file mode 100644 index 0000000..6ae3669 Binary files /dev/null and b/.import/platform3.png-5311651b484696e407a2e6d5496f1c30.stex differ diff --git a/.import/platform4.png-b382dee3050ec03f5e07cd2a9931649e.md5 b/.import/platform4.png-b382dee3050ec03f5e07cd2a9931649e.md5 new file mode 100644 index 0000000..0fd75b4 --- /dev/null +++ b/.import/platform4.png-b382dee3050ec03f5e07cd2a9931649e.md5 @@ -0,0 +1,3 @@ +source_md5="9c3bc1326fd0badebe9e0a7931eaf86c" +dest_md5="e0dd63d56a05c39d8b755dd8edc3b2ad" + diff --git a/.import/platform4.png-b382dee3050ec03f5e07cd2a9931649e.stex b/.import/platform4.png-b382dee3050ec03f5e07cd2a9931649e.stex new file mode 100644 index 0000000..3230de4 Binary files /dev/null and b/.import/platform4.png-b382dee3050ec03f5e07cd2a9931649e.stex differ diff --git a/.import/purple.png-32855686abb92c88335339d26d1584c7.md5 b/.import/purple.png-32855686abb92c88335339d26d1584c7.md5 new file mode 100644 index 0000000..e565c4c --- /dev/null +++ b/.import/purple.png-32855686abb92c88335339d26d1584c7.md5 @@ -0,0 +1,3 @@ +source_md5="8eadeb8bbf891f004e43352cc2e67542" +dest_md5="e4bcb9a55f2a4b582724442e7c362891" + diff --git a/.import/purple.png-32855686abb92c88335339d26d1584c7.stex b/.import/purple.png-32855686abb92c88335339d26d1584c7.stex new file mode 100644 index 0000000..0c064c1 Binary files /dev/null and b/.import/purple.png-32855686abb92c88335339d26d1584c7.stex differ diff --git a/.import/red.png-c3051ca11bb5b8c8686a8a85a9586dff.md5 b/.import/red.png-c3051ca11bb5b8c8686a8a85a9586dff.md5 new file mode 100644 index 0000000..05a5882 --- /dev/null +++ b/.import/red.png-c3051ca11bb5b8c8686a8a85a9586dff.md5 @@ -0,0 +1,3 @@ +source_md5="0bc636281e64916e731a8a6d8e40c0ff" +dest_md5="6af147d917b3d1ad2cb9fce4daf43d3d" + diff --git a/.import/red.png-c3051ca11bb5b8c8686a8a85a9586dff.stex b/.import/red.png-c3051ca11bb5b8c8686a8a85a9586dff.stex new file mode 100644 index 0000000..ab2cf2e Binary files /dev/null and b/.import/red.png-c3051ca11bb5b8c8686a8a85a9586dff.stex differ diff --git a/.import/water1.png-96dd6aee434a7808b413abd6ab0e2583.md5 b/.import/water1.png-96dd6aee434a7808b413abd6ab0e2583.md5 new file mode 100644 index 0000000..f1c87e7 --- /dev/null +++ b/.import/water1.png-96dd6aee434a7808b413abd6ab0e2583.md5 @@ -0,0 +1,3 @@ +source_md5="b1c3441f4097c8ecb7b28e28e63031cc" +dest_md5="0ccc925a53515f2444c2ca7a6e6ff4eb" + diff --git a/.import/water1.png-96dd6aee434a7808b413abd6ab0e2583.stex b/.import/water1.png-96dd6aee434a7808b413abd6ab0e2583.stex new file mode 100644 index 0000000..e6ccbb6 Binary files /dev/null and b/.import/water1.png-96dd6aee434a7808b413abd6ab0e2583.stex differ diff --git a/.import/yellow.png-90e160c7824b62ddeb574a5e60507be3.md5 b/.import/yellow.png-90e160c7824b62ddeb574a5e60507be3.md5 new file mode 100644 index 0000000..70720be --- /dev/null +++ b/.import/yellow.png-90e160c7824b62ddeb574a5e60507be3.md5 @@ -0,0 +1,3 @@ +source_md5="938048d60ddee2a80d56cecd6002b6e9" +dest_md5="92b4a796b3e171c0e7f0d6ada0086ab6" + diff --git a/.import/yellow.png-90e160c7824b62ddeb574a5e60507be3.stex b/.import/yellow.png-90e160c7824b62ddeb574a5e60507be3.stex new file mode 100644 index 0000000..543c793 Binary files /dev/null and b/.import/yellow.png-90e160c7824b62ddeb574a5e60507be3.stex differ diff --git a/build/routes.x86_64 b/Build/codename-routes.x86_64 similarity index 74% rename from build/routes.x86_64 rename to Build/codename-routes.x86_64 index 5a4e56e..90d1a90 100755 Binary files a/build/routes.x86_64 and b/Build/codename-routes.x86_64 differ diff --git a/Global/Randomizer.gd b/Global/Randomizer.gd new file mode 100644 index 0000000..1cf274e --- /dev/null +++ b/Global/Randomizer.gd @@ -0,0 +1,6 @@ +extends Node + +onready var rng = RandomNumberGenerator.new() + +func set_seed(new_seed): + rng.seed = new_seed diff --git a/Resources/External/Graphics/Tiles/outline.ase b/Resources/External/Graphics/Tiles/outline.ase new file mode 100644 index 0000000..9b3d986 Binary files /dev/null and b/Resources/External/Graphics/Tiles/outline.ase differ diff --git a/Resources/External/Graphics/Tiles/outline.png b/Resources/External/Graphics/Tiles/outline.png new file mode 100644 index 0000000..b2dd2af Binary files /dev/null and b/Resources/External/Graphics/Tiles/outline.png differ diff --git a/Resources/External/Graphics/Tiles/outline.png.import b/Resources/External/Graphics/Tiles/outline.png.import new file mode 100644 index 0000000..3cbb360 --- /dev/null +++ b/Resources/External/Graphics/Tiles/outline.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/outline.png-254141a7dcf1bc01b7e07098c4c1c7a1.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Resources/External/Graphics/Tiles/outline.png" +dest_files=[ "res://.import/outline.png-254141a7dcf1bc01b7e07098c4c1c7a1.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Resources/External/Graphics/Water/close_to_land.ase b/Resources/External/Graphics/Water/close_to_land.ase new file mode 100644 index 0000000..0168385 Binary files /dev/null and b/Resources/External/Graphics/Water/close_to_land.ase differ diff --git a/Resources/External/Graphics/Water/water1.ase b/Resources/External/Graphics/Water/water1.ase new file mode 100644 index 0000000..370e494 Binary files /dev/null and b/Resources/External/Graphics/Water/water1.ase differ diff --git a/libresprite/mulfok62-1x.png b/Resources/External/Graphics/mulfok62-1x.png similarity index 100% rename from libresprite/mulfok62-1x.png rename to Resources/External/Graphics/mulfok62-1x.png diff --git a/Resources/External/Graphics/mulfok62-1x.png.import b/Resources/External/Graphics/mulfok62-1x.png.import new file mode 100644 index 0000000..746e604 --- /dev/null +++ b/Resources/External/Graphics/mulfok62-1x.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/mulfok62-1x.png-6ecf59a597dd7a67f5b738d2c0239b7b.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Resources/External/Graphics/mulfok62-1x.png" +dest_files=[ "res://.import/mulfok62-1x.png-6ecf59a597dd7a67f5b738d2c0239b7b.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=true +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=true +svg/scale=1.0 diff --git a/Resources/Graphics/Tiles/blue.png b/Resources/Graphics/Tiles/blue.png new file mode 100644 index 0000000..c14ed5b Binary files /dev/null and b/Resources/Graphics/Tiles/blue.png differ diff --git a/godot/sprite/tiles/terrain/default.png.import b/Resources/Graphics/Tiles/blue.png.import similarity index 70% rename from godot/sprite/tiles/terrain/default.png.import rename to Resources/Graphics/Tiles/blue.png.import index aadb6f4..ff81067 100644 --- a/godot/sprite/tiles/terrain/default.png.import +++ b/Resources/Graphics/Tiles/blue.png.import @@ -2,15 +2,15 @@ importer="texture" type="StreamTexture" -path="res://.import/default.png-13971fa1f37d4ea367b7aa5973d2bb0a.stex" +path="res://.import/blue.png-2cd44d93824d3f98709a3749551f4ec1.stex" metadata={ "vram_texture": false } [deps] -source_file="res://sprite/tiles/terrain/default.png" -dest_files=[ "res://.import/default.png-13971fa1f37d4ea367b7aa5973d2bb0a.stex" ] +source_file="res://Resources/Graphics/Tiles/blue.png" +dest_files=[ "res://.import/blue.png-2cd44d93824d3f98709a3749551f4ec1.stex" ] [params] diff --git a/Resources/Graphics/Tiles/green.png b/Resources/Graphics/Tiles/green.png new file mode 100644 index 0000000..f8b918d Binary files /dev/null and b/Resources/Graphics/Tiles/green.png differ diff --git a/Resources/Graphics/Tiles/green.png.import b/Resources/Graphics/Tiles/green.png.import new file mode 100644 index 0000000..802f3a7 --- /dev/null +++ b/Resources/Graphics/Tiles/green.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/green.png-448f4aac7f20aee9994c54bdb3cf1731.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Resources/Graphics/Tiles/green.png" +dest_files=[ "res://.import/green.png-448f4aac7f20aee9994c54bdb3cf1731.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Resources/Graphics/Tiles/platform.png b/Resources/Graphics/Tiles/platform.png new file mode 100644 index 0000000..93f0545 Binary files /dev/null and b/Resources/Graphics/Tiles/platform.png differ diff --git a/Resources/Graphics/Tiles/platform.png.import b/Resources/Graphics/Tiles/platform.png.import new file mode 100644 index 0000000..71faf19 --- /dev/null +++ b/Resources/Graphics/Tiles/platform.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/platform.png-e79897c7ff8195dc0091ae3e9c22a315.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Resources/Graphics/Tiles/platform.png" +dest_files=[ "res://.import/platform.png-e79897c7ff8195dc0091ae3e9c22a315.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Resources/Graphics/Tiles/platform2.png b/Resources/Graphics/Tiles/platform2.png new file mode 100644 index 0000000..4e5bd00 Binary files /dev/null and b/Resources/Graphics/Tiles/platform2.png differ diff --git a/Resources/Graphics/Tiles/platform2.png.import b/Resources/Graphics/Tiles/platform2.png.import new file mode 100644 index 0000000..bf97618 --- /dev/null +++ b/Resources/Graphics/Tiles/platform2.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/platform2.png-cbd51a920a2794e07690642dfd7cd1d3.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Resources/Graphics/Tiles/platform2.png" +dest_files=[ "res://.import/platform2.png-cbd51a920a2794e07690642dfd7cd1d3.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Resources/Graphics/Tiles/platform3.png b/Resources/Graphics/Tiles/platform3.png new file mode 100644 index 0000000..50d637d Binary files /dev/null and b/Resources/Graphics/Tiles/platform3.png differ diff --git a/Resources/Graphics/Tiles/platform3.png.import b/Resources/Graphics/Tiles/platform3.png.import new file mode 100644 index 0000000..c569f01 --- /dev/null +++ b/Resources/Graphics/Tiles/platform3.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/platform3.png-5311651b484696e407a2e6d5496f1c30.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Resources/Graphics/Tiles/platform3.png" +dest_files=[ "res://.import/platform3.png-5311651b484696e407a2e6d5496f1c30.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Resources/Graphics/Tiles/platform4.png b/Resources/Graphics/Tiles/platform4.png new file mode 100644 index 0000000..4980e43 Binary files /dev/null and b/Resources/Graphics/Tiles/platform4.png differ diff --git a/Resources/Graphics/Tiles/platform4.png.import b/Resources/Graphics/Tiles/platform4.png.import new file mode 100644 index 0000000..b87e23d --- /dev/null +++ b/Resources/Graphics/Tiles/platform4.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/platform4.png-b382dee3050ec03f5e07cd2a9931649e.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Resources/Graphics/Tiles/platform4.png" +dest_files=[ "res://.import/platform4.png-b382dee3050ec03f5e07cd2a9931649e.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Resources/Graphics/Tiles/purple.png b/Resources/Graphics/Tiles/purple.png new file mode 100644 index 0000000..e4c9077 Binary files /dev/null and b/Resources/Graphics/Tiles/purple.png differ diff --git a/Resources/Graphics/Tiles/purple.png.import b/Resources/Graphics/Tiles/purple.png.import new file mode 100644 index 0000000..ddda807 --- /dev/null +++ b/Resources/Graphics/Tiles/purple.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/purple.png-32855686abb92c88335339d26d1584c7.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Resources/Graphics/Tiles/purple.png" +dest_files=[ "res://.import/purple.png-32855686abb92c88335339d26d1584c7.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Resources/Graphics/Tiles/red.png b/Resources/Graphics/Tiles/red.png new file mode 100644 index 0000000..54eda82 Binary files /dev/null and b/Resources/Graphics/Tiles/red.png differ diff --git a/Resources/Graphics/Tiles/red.png.import b/Resources/Graphics/Tiles/red.png.import new file mode 100644 index 0000000..57785c0 --- /dev/null +++ b/Resources/Graphics/Tiles/red.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/red.png-c3051ca11bb5b8c8686a8a85a9586dff.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Resources/Graphics/Tiles/red.png" +dest_files=[ "res://.import/red.png-c3051ca11bb5b8c8686a8a85a9586dff.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Resources/Graphics/Tiles/yellow.png b/Resources/Graphics/Tiles/yellow.png new file mode 100644 index 0000000..9675e93 Binary files /dev/null and b/Resources/Graphics/Tiles/yellow.png differ diff --git a/Resources/Graphics/Tiles/yellow.png.import b/Resources/Graphics/Tiles/yellow.png.import new file mode 100644 index 0000000..4cff6ce --- /dev/null +++ b/Resources/Graphics/Tiles/yellow.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/yellow.png-90e160c7824b62ddeb574a5e60507be3.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Resources/Graphics/Tiles/yellow.png" +dest_files=[ "res://.import/yellow.png-90e160c7824b62ddeb574a5e60507be3.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Resources/Graphics/Water/close_to_land.png b/Resources/Graphics/Water/close_to_land.png new file mode 100644 index 0000000..3eb3056 Binary files /dev/null and b/Resources/Graphics/Water/close_to_land.png differ diff --git a/Resources/Graphics/Water/close_to_land.png.import b/Resources/Graphics/Water/close_to_land.png.import new file mode 100644 index 0000000..f2c7b60 --- /dev/null +++ b/Resources/Graphics/Water/close_to_land.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/close_to_land.png-01e739a54f71f449c550df208cfbaab1.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Resources/Graphics/Water/close_to_land.png" +dest_files=[ "res://.import/close_to_land.png-01e739a54f71f449c550df208cfbaab1.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=0 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/Resources/Graphics/Water/water1.png b/Resources/Graphics/Water/water1.png new file mode 100644 index 0000000..1cbfa2b Binary files /dev/null and b/Resources/Graphics/Water/water1.png differ diff --git a/Resources/Graphics/Water/water1.png.import b/Resources/Graphics/Water/water1.png.import new file mode 100644 index 0000000..9e66add --- /dev/null +++ b/Resources/Graphics/Water/water1.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="StreamTexture" +path="res://.import/water1.png-96dd6aee434a7808b413abd6ab0e2583.stex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://Resources/Graphics/Water/water1.png" +dest_files=[ "res://.import/water1.png-96dd6aee434a7808b413abd6ab0e2583.stex" ] + +[params] + +compress/mode=0 +compress/lossy_quality=0.7 +compress/hdr_mode=0 +compress/bptc_ldr=0 +compress/normal_map=0 +flags/repeat=1 +flags/filter=false +flags/mipmaps=false +flags/anisotropic=false +flags/srgb=2 +process/fix_alpha_border=true +process/premult_alpha=false +process/HDR_as_SRGB=false +process/invert_color=false +process/normal_map_invert_y=false +stream=false +size_limit=0 +detect_3d=false +svg/scale=1.0 diff --git a/World/Map.tscn b/World/Map.tscn new file mode 100644 index 0000000..4dba70f --- /dev/null +++ b/World/Map.tscn @@ -0,0 +1,21 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://World/TileHandler.gd" type="Script" id=1] +[ext_resource path="res://World/Tools/Camera/Camera.tscn" type="PackedScene" id=2] +[ext_resource path="res://World/Props/WaterTexture.tscn" type="PackedScene" id=3] + +[node name="Map" type="Node2D"] + +[node name="BackgroundProps" type="Node2D" parent="."] +z_index = -1 + +[node name="WaterTexture" parent="BackgroundProps" instance=ExtResource( 3 )] + +[node name="Grid" type="Node2D" parent="."] +script = ExtResource( 1 ) +map_size = Vector2( 64, 64 ) + +[node name="CameraController" parent="." instance=ExtResource( 2 )] + +[connection signal="size_updated" from="Grid" to="CameraController" method="_on_Grid_size_updated"] +[connection signal="limits_changed" from="CameraController" to="BackgroundProps/WaterTexture" method="_on_CameraController_limits_changed"] diff --git a/World/Props/WaterTexture.gd b/World/Props/WaterTexture.gd new file mode 100644 index 0000000..df65387 --- /dev/null +++ b/World/Props/WaterTexture.gd @@ -0,0 +1,10 @@ +extends TextureRect + + + +func _on_CameraController_limits_changed(lefttop: Vector2, bottomright: Vector2) -> void: + rect_position = lefttop + rect_position.x -= 64 + rect_position.y -= 64 + rect_size.x = abs(lefttop.x) + bottomright.x + 64 + rect_size.y = abs(lefttop.y) + bottomright.y + 64 diff --git a/World/Props/WaterTexture.tscn b/World/Props/WaterTexture.tscn new file mode 100644 index 0000000..099be7b --- /dev/null +++ b/World/Props/WaterTexture.tscn @@ -0,0 +1,16 @@ +[gd_scene load_steps=4 format=2] + +[ext_resource path="res://Resources/Graphics/Water/water1.png" type="Texture" id=1] +[ext_resource path="res://World/Props/WaterTexture.gd" type="Script" id=2] + +[sub_resource type="Animation" id=1] +resource_name = "Move" + +[node name="WaterTexture" type="TextureRect"] +texture = ExtResource( 1 ) +expand = true +stretch_mode = 2 +script = ExtResource( 2 ) + +[node name="AnimationPlayer" type="AnimationPlayer" parent="."] +anims/Move = SubResource( 1 ) diff --git a/World/TileHandler.gd b/World/TileHandler.gd new file mode 100644 index 0000000..7368f39 --- /dev/null +++ b/World/TileHandler.gd @@ -0,0 +1,23 @@ +extends Node2D +export var map_size = Vector2(32, 16) +var tiles = [] +signal size_updated(tiles) + +func _ready() -> void: + spawn() + +func spawn(): + var Tile = preload("res://World/Tiles/Tile.tscn") + for x in range(0, map_size.x): + for y in range (0, map_size.y): + var tile = Tile.instance() + tile.set_tile_id(Vector2(x,y)) + # tile is coast if its on one of the outer borders + if x == 0 or x == map_size.x -1 or y == 0 or y==map_size.y -1: + tile.is_coast = true + tiles.append(tile) + add_child(tile) + update_size() + +func update_size(): + emit_signal("size_updated", tiles) diff --git a/World/Tiles/CoastalProps.gd b/World/Tiles/CoastalProps.gd new file mode 100644 index 0000000..91bb931 --- /dev/null +++ b/World/Tiles/CoastalProps.gd @@ -0,0 +1,17 @@ +extends Node2D + +func _ready() -> void: + set_random_platform() + +# selects one of the platform sprites randomly and picks it +func set_random_platform(): + var sprite = $Platform + var reflection = $Reflection + var sprites = [ + preload("res://Resources/Graphics/Tiles/platform.png"), + preload("res://Resources/Graphics/Tiles/platform2.png"), + preload("res://Resources/Graphics/Tiles/platform3.png"), + preload("res://Resources/Graphics/Tiles/platform4.png"), + ] + sprite.texture = sprites[Randomizer.rng.randi_range(0, sprites.size() - 1)] + reflection.texture = sprite.texture diff --git a/World/Tiles/CoastalProps.tscn b/World/Tiles/CoastalProps.tscn new file mode 100644 index 0000000..121e343 --- /dev/null +++ b/World/Tiles/CoastalProps.tscn @@ -0,0 +1,70 @@ +[gd_scene load_steps=10 format=2] + +[ext_resource path="res://Resources/Graphics/Water/close_to_land.png" type="Texture" id=2] +[ext_resource path="res://Resources/Graphics/Tiles/platform.png" type="Texture" id=3] +[ext_resource path="res://World/Tiles/CoastalProps.gd" type="Script" id=4] + +[sub_resource type="ParticlesMaterial" id=6] +emission_shape = 2 +emission_box_extents = Vector3( 16, 1, 1 ) +flag_disable_z = true +direction = Vector3( 0, -1, 0 ) +gravity = Vector3( 0, 5, 0 ) +initial_velocity = 10.0 +initial_velocity_random = 0.5 +orbit_velocity = 0.0 +orbit_velocity_random = 0.0 + +[sub_resource type="AtlasTexture" id=2] +atlas = ExtResource( 2 ) +region = Rect2( 0, 0, 32, 32 ) + +[sub_resource type="AtlasTexture" id=3] +atlas = ExtResource( 2 ) +region = Rect2( 32, 0, 32, 32 ) + +[sub_resource type="AtlasTexture" id=4] +atlas = ExtResource( 2 ) +region = Rect2( 64, 0, 32, 32 ) + +[sub_resource type="AtlasTexture" id=5] +atlas = ExtResource( 2 ) +region = Rect2( 96, 0, 32, 32 ) + +[sub_resource type="SpriteFrames" id=1] +animations = [ { +"frames": [ SubResource( 2 ), SubResource( 3 ), SubResource( 4 ), SubResource( 5 ) ], +"loop": true, +"name": "default", +"speed": 2.0 +} ] + +[node name="CoastalProps" type="Node2D"] +script = ExtResource( 4 ) + +[node name="Platform" type="Sprite" parent="."] +position = Vector2( 0, 16 ) +z_index = -1 +texture = ExtResource( 3 ) + +[node name="Particles2D" type="Particles2D" parent="."] +position = Vector2( 0, 29 ) +z_index = -1 +amount = 2 +lifetime = 2.0 +randomness = 1.0 +process_material = SubResource( 6 ) + +[node name="Reflection" type="Sprite" parent="."] +self_modulate = Color( 1, 1, 1, 0.113725 ) +position = Vector2( 0, 37 ) +z_index = -1 +texture = ExtResource( 3 ) +flip_v = true + +[node name="Water" type="AnimatedSprite" parent="."] +position = Vector2( 0, 16 ) +z_index = -1 +frames = SubResource( 1 ) +frame = 2 +playing = true diff --git a/World/Tiles/Reflection.gd b/World/Tiles/Reflection.gd new file mode 100644 index 0000000..0a6696b --- /dev/null +++ b/World/Tiles/Reflection.gd @@ -0,0 +1,6 @@ +extends Sprite + +# Called when the node enters the scene tree for the first time. +func _ready() -> void: + texture = get_node("../Platform").texture + diff --git a/World/Tiles/Tile.gd b/World/Tiles/Tile.gd new file mode 100644 index 0000000..b62e0f1 --- /dev/null +++ b/World/Tiles/Tile.gd @@ -0,0 +1,31 @@ +extends Area2D +enum outline_colors{PURPLE, RED, BLUE, GREEN, YELLOW} +var tile_id = Vector2(0,0) +var is_coast = false + +func _ready() -> void: + if is_coast: + add_child(preload("res://World/Tiles/CoastalProps.tscn").instance()) + +func change_color_to(color): + var sprite = $Sprite + if color == outline_colors.PURPLE: + sprite.texture = preload("res://Resources/Graphics/Tiles/purple.png") + elif color == outline_colors.RED: + sprite.texture = preload("res://Resources/Graphics/Tiles/red.png") + elif color == outline_colors.BLUE: + sprite.texture = preload("res://Resources/Graphics/Tiles/blue.png") + elif color == outline_colors.GREEN: + sprite.texture = preload("res://Resources/Graphics/Tiles/green.png") + elif color == outline_colors.YELLOW: + sprite.texture = preload("res://Resources/Graphics/Tiles/yellow.png") + +func set_tile_id(id: Vector2): + tile_id = id + set_position(id) + +func set_position(id: Vector2): + position.x = id.x * 32 + position.y = id.y * 26 + if (fmod(id.y, 2)) == 0: + position.x += 16 diff --git a/World/Tiles/Tile.tscn b/World/Tiles/Tile.tscn new file mode 100644 index 0000000..6d92f2a --- /dev/null +++ b/World/Tiles/Tile.tscn @@ -0,0 +1,14 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://Resources/Graphics/Tiles/purple.png" type="Texture" id=1] +[ext_resource path="res://World/Tiles/Tile.gd" type="Script" id=2] + +[node name="Tile" type="Area2D"] +script = ExtResource( 2 ) + +[node name="Sprite" type="Sprite" parent="."] +texture = ExtResource( 1 ) + +[node name="CollisionPolygon2D" type="CollisionPolygon2D" parent="."] +visible = false +polygon = PoolVector2Array( -15, -9, -14, -10, -12, -11, -9, -12, -7, -13, -4, -14, -2, -15, 2, -15, 4, -14, 7, -13, 9, -12, 12, -11, 14, -10, 15, -9, 15, 9, 14, 10, 12, 11, 9, 12, 7, 13, 4, 14, 2, 15, -2, 15, -4, 14, -7, 13, -9, 12, -12, 11, -14, 10, -15, 9 ) diff --git a/World/Tools/Camera/Camera.gd b/World/Tools/Camera/Camera.gd new file mode 100644 index 0000000..d78d73d --- /dev/null +++ b/World/Tools/Camera/Camera.gd @@ -0,0 +1,53 @@ +extends Camera2D +export var zoom_strength = 0.6 +export var zoom_limit_upper = 2 +export var zoom_limit_lower = 0.05 +signal limits_changed(lefttop, bottomright) + +func _process(_delta: float) -> void: + # position + var left = Input.get_action_strength("move_camera_left") + var right = Input.get_action_strength("move_camera_right") + var x_direction = right - left + var up = Input.get_action_strength("move_camera_up") + var down = Input.get_action_strength("move_camera_down") + var y_direction = down - up + var direction = Vector2(x_direction, y_direction) + global_position += direction.normalized() * zoom.x * 3 + + #mouse drag + if Input.is_action_pressed("camera_drag"): + var distance = clamp(global_position.distance_to(get_global_mouse_position()) / 24, 0, 10) + global_position.x += global_position.direction_to(get_global_mouse_position()).x * distance + global_position.y += global_position.direction_to(get_global_mouse_position()).y * distance + + # if camera goes out of bounds, then reset it + var halfwidth = ProjectSettings.get("display/window/size/width") / 2 + var halfheight = ProjectSettings.get("display/window/size/height") / 2 + if global_position.x - halfwidth * (zoom.x) <= limit_left : + global_position.x = limit_left + (halfwidth) * (zoom.x) + elif global_position.x + halfwidth * zoom.x >= limit_right: + global_position.x = limit_right - halfwidth * zoom.x + if global_position.y - halfheight * zoom.x <= limit_top: + global_position.y = limit_top + halfheight * zoom.x + elif global_position.y + halfheight * zoom.x >= limit_bottom: + global_position.y = limit_bottom - halfheight * zoom.x + + # zoom + var zoom_direction = 0 + if Input.is_action_just_released("camera_zoom_in") or Input.is_action_pressed("camera_zoom_in"): + zoom_direction = zoom_strength * -1 + elif Input.is_action_just_released("camera_zoom_out") or Input.is_action_pressed("camera_zoom_out"): + zoom_direction = zoom_strength + if zoom_limit_lower <= (zoom.x + zoom_direction) && (zoom.x + zoom_direction) <= zoom_limit_upper: + zoom.x = lerp(zoom.x, zoom.x + zoom_direction, 0.1) + zoom.y = lerp(zoom.y, zoom.y + zoom_direction, 0.1) + +func _on_Grid_size_updated(tiles: Array) -> void: + limit_left = tiles.front().global_position.x - 64 + limit_top = tiles.front().global_position.y - 64 + limit_bottom = tiles.back().global_position.y + 64 + limit_right = tiles.back().global_position.x + 64 + position.x = limit_right / 2.0 + position.y = limit_bottom / 2.0 + emit_signal("limits_changed", Vector2(limit_left, limit_top), Vector2(limit_right, limit_bottom)) diff --git a/World/Tools/Camera/Camera.tscn b/World/Tools/Camera/Camera.tscn new file mode 100644 index 0000000..0e11322 --- /dev/null +++ b/World/Tools/Camera/Camera.tscn @@ -0,0 +1,18 @@ +[gd_scene load_steps=3 format=2] + +[ext_resource path="res://World/Tools/Camera/Camera.gd" type="Script" id=1] +[ext_resource path="res://icon.png" type="Texture" id=3] + +[node name="Camera" type="Camera2D"] +current = true +smoothing_enabled = true +drag_margin_left = 0.8 +drag_margin_top = 0.8 +drag_margin_right = 0.8 +drag_margin_bottom = 0.8 +script = ExtResource( 1 ) + +[node name="Icon" type="Sprite" parent="."] +visible = false +position = Vector2( 0, -3 ) +texture = ExtResource( 3 ) diff --git a/World/Tools/Camera/Drag.gd b/World/Tools/Camera/Drag.gd new file mode 100644 index 0000000..306cb7e --- /dev/null +++ b/World/Tools/Camera/Drag.gd @@ -0,0 +1,5 @@ +extends Node2D + + +func _physics_process(delta: float) -> void: + global_position = get_global_mouse_position() diff --git a/build.sh b/build.sh deleted file mode 100755 index f972373..0000000 --- a/build.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/usr/bin/bash - -cd "./routes-native" -cargo build --release -cd "../" - -cp "./routes-native/target/release/libroutes_native.so" "./godot/native/" -i diff --git a/build/libroutes_native.so b/build/libroutes_native.so deleted file mode 100644 index caedfd5..0000000 Binary files a/build/libroutes_native.so and /dev/null differ diff --git a/godot/default_env.tres b/default_env.tres similarity index 100% rename from godot/default_env.tres rename to default_env.tres diff --git a/godot/export_presets.cfg b/export_presets.cfg similarity index 91% rename from godot/export_presets.cfg rename to export_presets.cfg index 96ff950..f1e43c8 100644 --- a/godot/export_presets.cfg +++ b/export_presets.cfg @@ -7,7 +7,7 @@ custom_features="" export_filter="all_resources" include_filter="" exclude_filter="" -export_path="../build/routes.x86_64" +export_path="Build/codename-routes.x86_64" script_export_mode=1 script_encryption_key="" diff --git a/godot/.import/default.png-13971fa1f37d4ea367b7aa5973d2bb0a.md5 b/godot/.import/default.png-13971fa1f37d4ea367b7aa5973d2bb0a.md5 deleted file mode 100644 index 9b2d15f..0000000 --- a/godot/.import/default.png-13971fa1f37d4ea367b7aa5973d2bb0a.md5 +++ /dev/null @@ -1,3 +0,0 @@ -source_md5="72b25c45d4743c578ac08e56b209be81" -dest_md5="73042650bec74eec84c50b98d4bafc70" - diff --git a/godot/.import/default.png-13971fa1f37d4ea367b7aa5973d2bb0a.stex b/godot/.import/default.png-13971fa1f37d4ea367b7aa5973d2bb0a.stex deleted file mode 100644 index 3eca1ec..0000000 Binary files a/godot/.import/default.png-13971fa1f37d4ea367b7aa5973d2bb0a.stex and /dev/null differ diff --git a/godot/.import/default.png-3bbe939339db863d2d767f4cc6888a76.md5 b/godot/.import/default.png-3bbe939339db863d2d767f4cc6888a76.md5 deleted file mode 100644 index 065d655..0000000 --- a/godot/.import/default.png-3bbe939339db863d2d767f4cc6888a76.md5 +++ /dev/null @@ -1,3 +0,0 @@ -source_md5="59c9436dc5ea53f2bc3dac38af894dec" -dest_md5="a62e530f259d2076dd7d2e62bc1d97b6" - diff --git a/godot/.import/default.png-3bbe939339db863d2d767f4cc6888a76.stex b/godot/.import/default.png-3bbe939339db863d2d767f4cc6888a76.stex deleted file mode 100644 index 94f5e19..0000000 Binary files a/godot/.import/default.png-3bbe939339db863d2d767f4cc6888a76.stex and /dev/null differ diff --git a/godot/native/StateServer.gdns b/godot/native/StateServer.gdns deleted file mode 100644 index 28cdef3..0000000 --- a/godot/native/StateServer.gdns +++ /dev/null @@ -1,8 +0,0 @@ -[gd_resource type="NativeScript" load_steps=2 format=2] - -[ext_resource path="res://native/nativelibrary.gdnlib" type="GDNativeLibrary" id=1] - -[resource] -resource_name = "StateServer" -class_name = "StateServer" -library = ExtResource( 1 ) diff --git a/godot/native/StateServer.tscn b/godot/native/StateServer.tscn deleted file mode 100644 index b57c586..0000000 --- a/godot/native/StateServer.tscn +++ /dev/null @@ -1,6 +0,0 @@ -[gd_scene load_steps=2 format=2] - -[ext_resource path="res://native/StateServer.gdns" type="Script" id=1] - -[node name="StateServer" type="Node"] -script = ExtResource( 1 ) diff --git a/godot/native/libroutes_native.so b/godot/native/libroutes_native.so deleted file mode 100755 index 06496e7..0000000 Binary files a/godot/native/libroutes_native.so and /dev/null differ diff --git a/godot/native/nativelibrary.gdnlib b/godot/native/nativelibrary.gdnlib deleted file mode 100644 index c7cfb83..0000000 --- a/godot/native/nativelibrary.gdnlib +++ /dev/null @@ -1,14 +0,0 @@ -[entry] - -X11.64="res://native/libroutes_native.so" - -[dependencies] - -X11.64=[ ] - -[general] - -singleton=false -load_once=true -symbol_prefix="godot_" -reloadable=true diff --git a/godot/project.godot b/godot/project.godot deleted file mode 100644 index 98e704e..0000000 --- a/godot/project.godot +++ /dev/null @@ -1,82 +0,0 @@ -; Engine configuration file. -; It's best edited using the editor UI and not directly, -; since the parameters that go here are not all obvious. -; -; Format: -; [section] ; section goes between [] -; param=value ; assign values to parameters - -config_version=4 - -[application] - -config/name="routes" -run/main_scene="res://world/Main.tscn" -config/icon="res://icon.png" - -[importer_defaults] - -texture={ -"compress/bptc_ldr": 0, -"compress/hdr_mode": 0, -"compress/lossy_quality": 0.7, -"compress/mode": 0, -"compress/normal_map": 0, -"detect_3d": false, -"flags/anisotropic": false, -"flags/filter": false, -"flags/mipmaps": false, -"flags/repeat": 0, -"flags/srgb": 2, -"process/HDR_as_SRGB": false, -"process/fix_alpha_border": true, -"process/invert_color": false, -"process/normal_map_invert_y": false, -"process/premult_alpha": false, -"size_limit": 0, -"stream": false, -"svg/scale": 1.0 -} - -[input] - -camera_left={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":65,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -camera_up={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":87,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -camera_right={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":68,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -camera_down={ -"deadzone": 0.5, -"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":83,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -zoom_in={ -"deadzone": 0.5, -"events": [ Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"button_mask":0,"position":Vector2( 0, 0 ),"global_position":Vector2( 0, 0 ),"factor":1.0,"button_index":1,"pressed":false,"doubleclick":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":true,"control":false,"meta":false,"command":false,"pressed":false,"scancode":61,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} -zoom_out={ -"deadzone": 0.5, -"events": [ Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"button_mask":0,"position":Vector2( 0, 0 ),"global_position":Vector2( 0, 0 ),"factor":1.0,"button_index":5,"pressed":false,"doubleclick":false,"script":null) -, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":45,"physical_scancode":0,"unicode":0,"echo":false,"script":null) - ] -} - -[physics] - -common/enable_pause_aware_picking=true - -[rendering] - -environment/default_environment="res://default_env.tres" diff --git a/godot/saves.gd b/godot/saves.gd deleted file mode 100644 index 1eccaec..0000000 --- a/godot/saves.gd +++ /dev/null @@ -1,16 +0,0 @@ -extends Node - - -# Declare member variables here. Examples: -# var a = 2 -# var b = "text" - - -# Called when the node enters the scene tree for the first time. -func _ready(): - pass # Replace with function body. - - -# Called every frame. 'delta' is the elapsed time since the previous frame. -#func _process(delta): -# pass diff --git a/godot/sprite/tiles/terrain/default.png b/godot/sprite/tiles/terrain/default.png deleted file mode 100644 index 0c3cfb6..0000000 Binary files a/godot/sprite/tiles/terrain/default.png and /dev/null differ diff --git a/godot/world/Main.tscn b/godot/world/Main.tscn deleted file mode 100644 index 756abba..0000000 --- a/godot/world/Main.tscn +++ /dev/null @@ -1,13 +0,0 @@ -[gd_scene load_steps=3 format=2] - -[ext_resource path="res://world/worldcam.gd" type="Script" id=1] -[ext_resource path="res://world/World.tscn" type="PackedScene" id=2] - -[node name="Main" type="Node2D"] - -[node name="Worldcam" type="Camera2D" parent="."] -current = true -zoom = Vector2( 0.4, 0.4 ) -script = ExtResource( 1 ) - -[node name="World" parent="." instance=ExtResource( 2 )] diff --git a/godot/world/StateApi.gd b/godot/world/StateApi.gd deleted file mode 100644 index 33ef3f4..0000000 --- a/godot/world/StateApi.gd +++ /dev/null @@ -1,37 +0,0 @@ -extends Node - -onready var server = $StateServer - -export var xsize = 256 -export var ysize = 256 -export var zsize = 16 - -var Tilemap = preload("res://world/Tilemap.tscn") -var tilemaps = [] - -func _ready(): - server.generate_world(xsize, ysize, zsize) - print(server.get_tile_at(0,0,0)) - -func respawn_tilemaps(amount: int): - tilemaps = [] - for i in range(0, amount + 1): - var map = Tilemap.instance() - map.position.y -= i * map.cell_size.y - map.z_index = i - add_child(map) - tilemaps.push_back(map) - -func get_tile_at(pos: Vector3) -> String: - return server.get_tile_at(int(pos.x), int(pos.y), int(pos.z)) - -func update_tiles(tile_positions: PoolVector3Array): - for tile in tile_positions: - tilemaps[tile.z].set_tile_graphics(Vector2(tile.x, tile.y), - get_tile_at(tile)) - -func _on_StateServer_request_init(): - respawn_tilemaps(zsize - 1) - -func _on_StateServer_changed_tiletypes(tile_positions: PoolVector3Array): - call_deferred("update_tiles", tile_positions) diff --git a/godot/world/Tilemap.gd b/godot/world/Tilemap.gd deleted file mode 100644 index 5d078f2..0000000 --- a/godot/world/Tilemap.gd +++ /dev/null @@ -1,4 +0,0 @@ -extends TileMap - -func set_tile_graphics(pos: Vector2, id: int): - set_cell(pos.x,pos.y,0,false,false,false,Vector2(1,2)) diff --git a/godot/world/Tilemap.tscn b/godot/world/Tilemap.tscn deleted file mode 100644 index bd723c0..0000000 --- a/godot/world/Tilemap.tscn +++ /dev/null @@ -1,15 +0,0 @@ -[gd_scene load_steps=3 format=2] - -[ext_resource path="res://world/terrain/terrain.tres" type="TileSet" id=1] -[ext_resource path="res://world/Tilemap.gd" type="Script" id=2] - -[node name="Tilemap" type="TileMap"] -position = Vector2( -2, 0 ) -mode = 1 -tile_set = ExtResource( 1 ) -cell_size = Vector2( 32, 16 ) -cell_tile_origin = 1 -collision_layer = 0 -collision_mask = 0 -format = 1 -script = ExtResource( 2 ) diff --git a/godot/world/World.tscn b/godot/world/World.tscn deleted file mode 100644 index b58654f..0000000 --- a/godot/world/World.tscn +++ /dev/null @@ -1,12 +0,0 @@ -[gd_scene load_steps=3 format=2] - -[ext_resource path="res://world/StateApi.gd" type="Script" id=1] -[ext_resource path="res://native/StateServer.tscn" type="PackedScene" id=3] - -[node name="World" type="Node"] -script = ExtResource( 1 ) - -[node name="StateServer" parent="." instance=ExtResource( 3 )] - -[connection signal="changed_tiletypes" from="StateServer" to="." method="_on_StateServer_changed_tiletypes"] -[connection signal="request_init" from="StateServer" to="." method="_on_StateServer_request_init"] diff --git a/godot/world/state_server.gdns b/godot/world/state_server.gdns deleted file mode 100644 index 71fee6c..0000000 --- a/godot/world/state_server.gdns +++ /dev/null @@ -1,10 +0,0 @@ -[gd_resource type="NativeScript" load_steps=2 format=2] - -[sub_resource type="GDNativeLibrary" id=1] -entry/X11.64 = "res://native/libroutes_native.so" -dependency/X11.64 = [ ] - -[resource] -resource_name = "StateServer" -class_name = "StateServer" -library = SubResource( 1 ) diff --git a/godot/world/terrain/terrain.tres b/godot/world/terrain/terrain.tres deleted file mode 100644 index 321c0c2..0000000 --- a/godot/world/terrain/terrain.tres +++ /dev/null @@ -1,26 +0,0 @@ -[gd_resource type="TileSet" load_steps=2 format=2] - -[ext_resource path="res://sprite/tiles/terrain/default.png" type="Texture" id=1] - -[resource] -0/name = "default.png 0" -0/texture = ExtResource( 1 ) -0/tex_offset = Vector2( 0, 0 ) -0/modulate = Color( 1, 1, 1, 1 ) -0/region = Rect2( 0, 0, 320, 160 ) -0/tile_mode = 2 -0/autotile/icon_coordinate = Vector2( 0, 0 ) -0/autotile/tile_size = Vector2( 32, 32 ) -0/autotile/spacing = 0 -0/autotile/occluder_map = [ ] -0/autotile/navpoly_map = [ ] -0/autotile/priority_map = [ ] -0/autotile/z_index_map = [ ] -0/occluder_offset = Vector2( 0, 0 ) -0/navigation_offset = Vector2( 0, 0 ) -0/shape_offset = Vector2( 0, 0 ) -0/shape_transform = Transform2D( 1, 0, 0, 1, 0, 0 ) -0/shape_one_way = false -0/shape_one_way_margin = 0.0 -0/shapes = [ ] -0/z_index = 0 diff --git a/godot/world/worldcam.gd b/godot/world/worldcam.gd deleted file mode 100644 index 9c2a935..0000000 --- a/godot/world/worldcam.gd +++ /dev/null @@ -1,22 +0,0 @@ -extends Camera2D -export var min_zoom = 0.4 -export var speed = 200 -var zoomlevel = 0.4 - - -func _process(delta): - move_around(delta) - handle_zoom() - -func move_around(delta): - var xdirection = Input.get_action_strength("camera_right") - Input.get_action_strength("camera_left") - var ydirection = Input.get_action_strength("camera_down") - Input.get_action_strength("camera_up") - var direction = Vector2(xdirection, ydirection).normalized() * delta * speed * zoom - position = lerp(position, position + direction, 2) - -func handle_zoom(): - if Input.is_action_just_pressed("zoom_in"): - zoomlevel = clamp(zoomlevel - 0.1, 0.1, 2) - if Input.is_action_just_pressed("zoom_out"): - zoomlevel = clamp(zoomlevel + 0.1, 0.1, 2) - zoom = Vector2(zoomlevel, zoomlevel) diff --git a/godot/icon.png b/icon.png similarity index 100% rename from godot/icon.png rename to icon.png diff --git a/godot/icon.png.import b/icon.png.import similarity index 100% rename from godot/icon.png.import rename to icon.png.import diff --git a/libresprite/tiles/default.ase b/libresprite/tiles/default.ase deleted file mode 100644 index 3834f0a..0000000 Binary files a/libresprite/tiles/default.ase and /dev/null differ diff --git a/project.godot b/project.godot new file mode 100644 index 0000000..5d636e6 --- /dev/null +++ b/project.godot @@ -0,0 +1,169 @@ +; Engine configuration file. +; It's best edited using the editor UI and not directly, +; since the parameters that go here are not all obvious. +; +; Format: +; [section] ; section goes between [] +; param=value ; assign values to parameters + +config_version=4 + +[application] + +config/name="codename-routes" +run/main_scene="res://World/Map.tscn" +boot_splash/fullsize=false +config/icon="res://icon.png" + +[autoload] + +Randomizer="*res://Global/Randomizer.gd" + +[display] + +window/size/width=640 +window/size/height=360 +window/size/test_height=1 +window/stretch/mode="2d" +window/stretch/aspect="keep" + +[importer_defaults] + +texture={ +"compress/bptc_ldr": 0, +"compress/hdr_mode": 0, +"compress/lossy_quality": 0.7, +"compress/mode": 0, +"compress/normal_map": 0, +"detect_3d": false, +"flags/anisotropic": false, +"flags/filter": false, +"flags/mipmaps": false, +"flags/repeat": 0, +"flags/srgb": 2, +"process/HDR_as_SRGB": false, +"process/fix_alpha_border": true, +"process/invert_color": false, +"process/normal_map_invert_y": false, +"process/premult_alpha": false, +"size_limit": 0, +"stream": false, +"svg/scale": 1.0 +} + +[input] + +ui_accept={ +"deadzone": 0.5, +"events": [ ] +} +ui_select={ +"deadzone": 0.5, +"events": [ ] +} +ui_cancel={ +"deadzone": 0.5, +"events": [ ] +} +ui_focus_next={ +"deadzone": 0.5, +"events": [ ] +} +ui_focus_prev={ +"deadzone": 0.5, +"events": [ ] +} +ui_left={ +"deadzone": 0.5, +"events": [ ] +} +ui_right={ +"deadzone": 0.5, +"events": [ ] +} +ui_up={ +"deadzone": 0.5, +"events": [ ] +} +ui_down={ +"deadzone": 0.5, +"events": [ ] +} +ui_page_up={ +"deadzone": 0.5, +"events": [ ] +} +ui_page_down={ +"deadzone": 0.5, +"events": [ ] +} +ui_home={ +"deadzone": 0.5, +"events": [ ] +} +ui_end={ +"deadzone": 0.5, +"events": [ ] +} +move_camera_left={ +"deadzone": 0.1, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":65,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":65,"physical_scancode":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":2,"axis_value":-1.0,"script":null) + ] +} +move_camera_right={ +"deadzone": 0.1, +"events": [ Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":68,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":68,"physical_scancode":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":2,"axis_value":1.0,"script":null) + ] +} +move_camera_up={ +"deadzone": 0.1, +"events": [ Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":3,"axis_value":-1.0,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":87,"physical_scancode":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":87,"unicode":0,"echo":false,"script":null) + ] +} +move_camera_down={ +"deadzone": 0.1, +"events": [ Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":3,"axis_value":1.0,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":83,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":83,"physical_scancode":0,"unicode":0,"echo":false,"script":null) + ] +} +camera_zoom_in={ +"deadzone": 0.1, +"events": [ Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"button_mask":0,"position":Vector2( 0, 0 ),"global_position":Vector2( 0, 0 ),"factor":1.0,"button_index":4,"pressed":false,"doubleclick":false,"script":null) +, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":6,"axis_value":1.0,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":true,"control":false,"meta":false,"command":false,"pressed":false,"scancode":61,"physical_scancode":0,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":true,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":61,"unicode":0,"echo":false,"script":null) + ] +} +camera_zoom_out={ +"deadzone": 0.1, +"events": [ Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"button_mask":0,"position":Vector2( 0, 0 ),"global_position":Vector2( 0, 0 ),"factor":1.0,"button_index":5,"pressed":false,"doubleclick":false,"script":null) +, Object(InputEventJoypadMotion,"resource_local_to_scene":false,"resource_name":"","device":-1,"axis":7,"axis_value":1.0,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":0,"physical_scancode":45,"unicode":0,"echo":false,"script":null) +, Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":0,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"pressed":false,"scancode":45,"physical_scancode":0,"unicode":0,"echo":false,"script":null) + ] +} +camera_drag={ +"deadzone": 0.1, +"events": [ Object(InputEventMouseButton,"resource_local_to_scene":false,"resource_name":"","device":-1,"alt":false,"shift":false,"control":false,"meta":false,"command":false,"button_mask":0,"position":Vector2( 0, 0 ),"global_position":Vector2( 0, 0 ),"factor":1.0,"button_index":2,"pressed":false,"doubleclick":false,"script":null) + ] +} + +[physics] + +common/enable_pause_aware_picking=true + +[rendering] + +environment/default_clear_color=Color( 0.552941, 0.717647, 1, 1 ) +environment/default_environment="res://default_env.tres" + +[world] + +2d/cell_size=32 diff --git a/routes-native/Cargo.toml b/routes-native/Cargo.toml deleted file mode 100644 index 631ac24..0000000 --- a/routes-native/Cargo.toml +++ /dev/null @@ -1,26 +0,0 @@ -[package] -name = "routes-native" -version = "0.1.0" -edition = "2021" - -# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html - -[lib] -crate-type = ["cdylib"] - -[dependencies] -gdnative = {version = "0.10", features = ["async"]} -strum = { version = "0.24", features = ["derive"] } -strum_macros = "0.24" -derive_builder = "0.11.2" -# tokio = {version = "1.18.0", features = ["sync"]} -# lazy_static = "1.4.0" -# pathfinding = "3.0.12" -toml = "0.5.9" - -[profile.dev.package."*"] -opt-level = 3 - -[profile.dev] -opt-level=1 - diff --git "a/routes-native/\\" "b/routes-native/\\" deleted file mode 100644 index d3de4a1..0000000 --- "a/routes-native/\\" +++ /dev/null @@ -1,44 +0,0 @@ -use gdnative::{export::hint::EnumHint, prelude::*}; -use lazy_static::lazy_static; -use std::{string::ToString, vec}; -use strum::IntoEnumIterator; -use strum_macros::{Display, EnumIter}; -use tokio::sync::RwLock; - -lazy_static! { - // static ref STATE: RwLock = RwLock::new(Vector3::new(1.0, 2.0, 3.0)); -} - -#[derive(Debug, EnumIter, Display, FromVariant, ToVariant)] -enum Terrain { - Earth, - Rock, - Sand, - Water, - Air, -} - -#[derive(NativeClass)] -#[inherit(Node)] -pub struct StateServer; - -#[methods] -impl StateServer { - fn new(_owner: &Node) -> Self { - StateServer - } - - #[export] - fn _ready(&self, _owner: &Node) { - // godot_print!("hello, state") - } - - #[export] - fn terrain_types(&self, _owner: &Node) -> EnumHint{ - let mut hints = vec![]; - for terrain in Terrain::iter() { - hints.push(terrain.to_string()); - } - EnumHint::new(hints) - } -} diff --git a/routes-native/src/lib.rs b/routes-native/src/lib.rs deleted file mode 100644 index 0cc9c9d..0000000 --- a/routes-native/src/lib.rs +++ /dev/null @@ -1,9 +0,0 @@ -use gdnative::prelude::*; - -mod stateserver; - -fn init(handle: InitHandle) { - handle.add_class::(); -} - -godot_init!(init); diff --git a/routes-native/src/stateserver.rs b/routes-native/src/stateserver.rs deleted file mode 100644 index 6c63371..0000000 --- a/routes-native/src/stateserver.rs +++ /dev/null @@ -1,57 +0,0 @@ -use gdnative::prelude::*; - -mod saves; -mod world; - -#[derive(NativeClass)] -#[inherit(Node)] -#[register_with(Self::register)] -pub struct StateServer { - world: world::World, -} - -#[methods] -impl StateServer { - fn new(_owner: &Node) -> Self { - StateServer { - world: world::World::new(0, 0, 0), - } - } - - #[export] - fn load_from_file(&self, _owner: &Node, file: GodotString) { - saves::load(&file.to_string()); - } - - #[export] - fn save_from_file(&self, _owner: &Node, file: GodotString) { - saves::save(&file.to_string()); - } - - #[export] - fn _ready(&self, _owner: &Node) {} - - #[export] - fn generate_world(&mut self, _owner: &Node, xsize: usize, ysize: usize, zsize: usize) { - self.world = world::World::new(xsize, ysize, zsize); - let w = self.world.generate(); - _owner.emit_signal("request_init", &[]); - _owner.emit_signal("changed_tiletypes", &[Variant::new(&w)]); - } - - #[export] - fn get_tile_at(&self, _owner: &Node, x: usize, y: usize, z: usize) -> u16 { - self.world.get_tile_at(x, y, z) - } -} - -// signals -impl StateServer { - fn register(builder: &ClassBuilder) { - builder - .signal("changed_tiletypes") - .with_param("tile_positions", VariantType::Vector3Array) - .done(); - builder.signal("request_init").done(); - } -} diff --git a/routes-native/src/stateserver/pathing.rs b/routes-native/src/stateserver/pathing.rs deleted file mode 100644 index e69de29..0000000 diff --git a/routes-native/src/stateserver/saves.rs b/routes-native/src/stateserver/saves.rs deleted file mode 100644 index da80bd1..0000000 --- a/routes-native/src/stateserver/saves.rs +++ /dev/null @@ -1,9 +0,0 @@ -use toml; - -pub fn load (file: &str){ - -} - -pub fn save (file: &str){ - -} diff --git a/routes-native/src/stateserver/world.rs b/routes-native/src/stateserver/world.rs deleted file mode 100644 index 4b78618..0000000 --- a/routes-native/src/stateserver/world.rs +++ /dev/null @@ -1,53 +0,0 @@ -use gdnative::prelude::*; - -mod tiles; - -pub struct World { - xsize: usize, - ysize: usize, - zsize: usize, - tiles: Vec>>, -} - -impl World { - pub fn get_tile_at(&self, x: usize, y: usize, z: usize) -> u16{ - //TODO: error handling, or maybe just do that in godot - self.tiles[x][y][z] - } - pub fn generate(&mut self) -> Vector3Array{ - self.tiles = get_vec3(self.xsize, self.ysize, self.zsize); - let mut ret: Vector3Array = Vector3Array::new(); - for x in 0..self.xsize { - for y in 0..self.ysize { - for z in 0..self.zsize { - ret.push(Vector3::new(x as f32, y as f32, z as f32)); - self.tiles[x][y][z] = tiles::Tiletypes::Dirt as u16; - } - } - } - ret - } - pub fn new(xsize: usize, ysize: usize, zsize: usize) -> World { - World { - xsize, - ysize, - zsize, - tiles: get_vec3(xsize, ysize, zsize), - } - } -} - -fn get_vec3(xsize: usize, ysize: usize, zsize: usize) -> Vec>> { - let mut zvec: Vec = Vec::with_capacity(zsize); - zvec.resize(zsize, 0); - - let mut yvec: Vec> = Vec::with_capacity(ysize); - yvec.resize(ysize, zvec.clone()); - - let mut xvec: Vec>> = Vec::with_capacity(xsize); - xvec.resize(ysize, yvec.clone()); - - yvec.push(zvec); - xvec.push(yvec); - xvec -} diff --git a/routes-native/src/stateserver/world/tiles.rs b/routes-native/src/stateserver/world/tiles.rs deleted file mode 100644 index fa824b8..0000000 --- a/routes-native/src/stateserver/world/tiles.rs +++ /dev/null @@ -1,35 +0,0 @@ -use derive_builder::Builder; -use strum::{AsRefStr, EnumDiscriminants, EnumIter, FromRepr}; - -#[derive(AsRefStr, EnumIter, FromRepr, EnumDiscriminants, Clone)] -#[repr(u16)] -pub enum Tiletypes { - Air, - Water, - Grass, - Dirt, - Sand, -} - -#[allow(dead_code)] -#[derive(Builder)] -pub struct Tile { - kind: Tiletypes, - #[builder(default = "true")] - is_support: bool, - #[builder(default = "true")] - needs_support: bool, - #[builder(default = "vec![]")] - can_be_above: Vec, - #[builder(default = "vec![]")] - can_be_next_to: Vec, -} - -impl Tile { - pub fn new(kind: Tiletypes) -> Tile { - TileBuilder::default().kind(kind).is_support(false).build().unwrap() - } - pub fn kind_to_string(&self) -> String { - self.kind.as_ref().to_string() - } -}