Paralax back, Praca planety

This commit is contained in:
Tomasz Boruc 2025-11-02 23:24:47 +01:00
parent 14d03465a9
commit eaea2e9664
61 changed files with 1791 additions and 62 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://baxj0b3uih6jx"
path="res://.godot/imported/n1.png-58c24f45f8c9eb20bd3472670b1844cf.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/background/Nebulas/n1.png"
dest_files=["res://.godot/imported/n1.png-58c24f45f8c9eb20bd3472670b1844cf.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 849 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://7xnwin3b8qw1"
path="res://.godot/imported/n10.png-fba1c72ca66bf7791050b6d9ccc2e6fc.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/background/Nebulas/n10.png"
dest_files=["res://.godot/imported/n10.png-fba1c72ca66bf7791050b6d9ccc2e6fc.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 641 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d3rmy8psymlfl"
path="res://.godot/imported/n11.png-d7ca9baa93575b41df1c5675193a8aec.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/background/Nebulas/n11.png"
dest_files=["res://.godot/imported/n11.png-d7ca9baa93575b41df1c5675193a8aec.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bkubm1hj5w3ck"
path="res://.godot/imported/n12.png-0f52d4459bdcafd60ca3dcac893d8d94.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/background/Nebulas/n12.png"
dest_files=["res://.godot/imported/n12.png-0f52d4459bdcafd60ca3dcac893d8d94.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cm0jxurl5qcer"
path="res://.godot/imported/n13.png-f019d180a7899ba66841507155844d4f.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/background/Nebulas/n13.png"
dest_files=["res://.godot/imported/n13.png-f019d180a7899ba66841507155844d4f.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bmxmtufxwm7mv"
path="res://.godot/imported/n2.png-7fce715f950c771c24826dc35a1bc26b.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/background/Nebulas/n2.png"
dest_files=["res://.godot/imported/n2.png-7fce715f950c771c24826dc35a1bc26b.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c52v6jfpjayot"
path="res://.godot/imported/n3.png-22e8f7393d2ea20f0828e1978a7fb20e.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/background/Nebulas/n3.png"
dest_files=["res://.godot/imported/n3.png-22e8f7393d2ea20f0828e1978a7fb20e.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 698 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bqwhk2pd8h1md"
path="res://.godot/imported/n4.png-367defaf28c9eb5c80e3719e0ae6dcc3.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/background/Nebulas/n4.png"
dest_files=["res://.godot/imported/n4.png-367defaf28c9eb5c80e3719e0ae6dcc3.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 1024 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cbnp4yrm8bs07"
path="res://.godot/imported/n5.png-21584d893b47195f2a56bbef009fedde.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/background/Nebulas/n5.png"
dest_files=["res://.godot/imported/n5.png-21584d893b47195f2a56bbef009fedde.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 973 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://lwqmg4hgf6jh"
path="res://.godot/imported/n6.png-1079ccda799f328c9ff55dc0a72d2abc.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/background/Nebulas/n6.png"
dest_files=["res://.godot/imported/n6.png-1079ccda799f328c9ff55dc0a72d2abc.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 838 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bmwm3rtksn2sn"
path="res://.godot/imported/n7.png-49063187f18ee37e33cf6e024add36f3.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/background/Nebulas/n7.png"
dest_files=["res://.godot/imported/n7.png-49063187f18ee37e33cf6e024add36f3.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 844 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://rv4cnsyjiog7"
path="res://.godot/imported/n8.png-1a81d618e35893e3b99bad39a1532e72.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/background/Nebulas/n8.png"
dest_files=["res://.godot/imported/n8.png-1a81d618e35893e3b99bad39a1532e72.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://defk8gug1ojjy"
path="res://.godot/imported/n9.png-b88c2c79f1f5c6a57e422782955367e3.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/background/Nebulas/n9.png"
dest_files=["res://.godot/imported/n9.png-b88c2c79f1f5c6a57e422782955367e3.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ccdnyncwhkv4x"
path="res://.godot/imported/gal_back.png-39d41f19ad3b7271a811e1076eea8ff8.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/background/gal_back.png"
dest_files=["res://.godot/imported/gal_back.png-39d41f19ad3b7271a811e1076eea8ff8.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 390 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c2bmun1bugix"
path="res://.godot/imported/menubg2.jpg-dc2733bb6a8cc72bc5110cf2eab5a1ff.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/background/menubg2.jpg"
dest_files=["res://.godot/imported/menubg2.jpg-dc2733bb6a8cc72bc5110cf2eab5a1ff.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 984 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ckxcthgndajnj"
path="res://.godot/imported/wp12481836-dark-space-4k-wallpapers.jpg-24591f48dc7e55a5c4b86fe35ca346c1.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/background/wp12481836-dark-space-4k-wallpapers.jpg"
dest_files=["res://.godot/imported/wp12481836-dark-space-4k-wallpapers.jpg-24591f48dc7e55a5c4b86fe35ca346c1.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

BIN
assets/planets/moon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 782 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bnltmrot4rttt"
path="res://.godot/imported/moon.png-fdd37828089db886514f0188cd312e48.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/planets/moon.png"
dest_files=["res://.godot/imported/moon.png-fdd37828089db886514f0188cd312e48.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

BIN
assets/ships/flame.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://chjrs7m7enkla"
path="res://.godot/imported/flame.png-909ec14ca2d4bc30682ce6b052fb9181.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/ships/flame.png"
dest_files=["res://.godot/imported/flame.png-909ec14ca2d4bc30682ce6b052fb9181.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

BIN
assets/ships/ship.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 71 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bgoyvfis21f64"
path="res://.godot/imported/ship.png-7ca2204699bf13569f065147eb7052ad.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/ships/ship.png"
dest_files=["res://.godot/imported/ship.png-7ca2204699bf13569f065147eb7052ad.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

BIN
assets/ships/ship2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

View File

@ -0,0 +1,40 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dey802py7bdmi"
path="res://.godot/imported/ship2.png-8927c34c4d3ebc20d7f5df3d4d83cef2.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://assets/ships/ship2.png"
dest_files=["res://.godot/imported/ship2.png-8927c34c4d3ebc20d7f5df3d4d83cef2.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/uastc_level=0
compress/rdo_quality_loss=0.0
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/channel_remap/red=0
process/channel_remap/green=1
process/channel_remap/blue=2
process/channel_remap/alpha=3
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

4
default_bus_layout.tres Normal file
View File

@ -0,0 +1,4 @@
[gd_resource type="AudioBusLayout" format=3 uid="uid://c7fl2v0k5cg65"]
[resource]
bus/0/volume_db = 0.46499825

View File

@ -4,10 +4,12 @@ menu_back,Kontynuuj,Back,Zurück,Atrás,Zpět
menu_options,Opcje,Options,Einstellungen,Opciones,Možnosti menu_options,Opcje,Options,Einstellungen,Opciones,Možnosti
menu_exit,Zamknij,Exit,Beenden,Salir,Ukončit menu_exit,Zamknij,Exit,Beenden,Salir,Ukončit
menu_load,Wczytaj,Load,Laden,Cargar,Nahrát menu_load,Wczytaj,Load,Laden,Cargar,Nahrát
menu_save,Zapisz,Save,Speichern,Guardar,Uložit
language,Język,Language,Sprache,Idioma,Jazyk language,Język,Language,Sprache,Idioma,Jazyk
time_display,Data,Date,Datum,Fecha,Datum time_display,Data,Date,Datum,Fecha,Datum
res_iron,Żelazo,Iron,Eisen,Hierro,Železo iron,Żelazo,Iron,Eisen,Hierro,Železo
res_alu,Aluminium,Aluminum,Aluminium,Aluminio,Hliník alu,Aluminium,Aluminum,Aluminium,Aluminio,Hliník
res_titan,Tytan,Titan,Titan,Titan,Titan titan,Tytan,Titan,Titan,Titan,Titan
res_uran,Uran,Uran,Uran,Uran,Uran uran,Uran,Uran,Uran,Uran,Uran
res_anti,Antymateria,Antimatter,Antimaterie,Antimateria,Antimaterie anti,Antymateria,Antimatter,Antimaterie,Antimateria,Antimaterie
water,Woda,Water,Water,Water,Water

1 key pl en de es cs
4 menu_options Opcje Options Einstellungen Opciones Možnosti
5 menu_exit Zamknij Exit Beenden Salir Ukončit
6 menu_load Wczytaj Load Laden Cargar Nahrát
7 menu_save Zapisz Save Speichern Guardar Uložit
8 language Język Language Sprache Idioma Jazyk
9 time_display Data Date Datum Fecha Datum
10 res_iron iron Żelazo Iron Eisen Hierro Železo
11 res_alu alu Aluminium Aluminum Aluminium Aluminio Hliník
12 res_titan titan Tytan Titan Titan Titan Titan
13 res_uran uran Uran Uran Uran Uran Uran
14 res_anti anti Antymateria Antimatter Antimaterie Antimateria Antimaterie
15 water Woda Water Water Water Water

View File

@ -28,6 +28,17 @@ GameData="*res://scripts/GameData.gd"
window/size/mode=2 window/size/mode=2
window/stretch/mode="canvas_items" window/stretch/mode="canvas_items"
window/stretch/aspect="ignore" window/stretch/aspect="ignore"
mouse_cursor/custom_image="uid://cy2skrncnaxwt"
[editor]
movie_writer/fps=30
[importer_defaults]
animation_library={
&"animation/fps": 60.0
}
[input] [input]
@ -70,3 +81,8 @@ zoom_out={
[internationalization] [internationalization]
locale/translations=PackedStringArray("res://localization/translation.cs.translation", "res://localization/translation.de.translation", "res://localization/translation.en.translation", "res://localization/translation.es.translation", "res://localization/translation.pl.translation") locale/translations=PackedStringArray("res://localization/translation.cs.translation", "res://localization/translation.de.translation", "res://localization/translation.en.translation", "res://localization/translation.es.translation", "res://localization/translation.pl.translation")
locale/translation_add_builtin_strings_to_pot=true
[rendering]
anti_aliasing/quality/msaa_2d=2

View File

@ -1,10 +1,11 @@
[gd_scene load_steps=6 format=3 uid="uid://b1vxl6rs5odt1"] [gd_scene load_steps=7 format=3 uid="uid://b1vxl6rs5odt1"]
[ext_resource type="Script" uid="uid://cts6e8xmnqsax" path="res://scripts/galaxy.gd" id="1_jxn3g"] [ext_resource type="Script" uid="uid://cts6e8xmnqsax" path="res://scripts/galaxy.gd" id="1_jxn3g"]
[ext_resource type="Texture2D" uid="uid://dvydsg5o77wdm" path="res://assets/background/galaxy_background.jpg" id="1_n7ltq"]
[ext_resource type="PackedScene" uid="uid://bbgymc0drqpbx" path="res://scenes/ui/time_display.tscn" id="3_fmtwf"] [ext_resource type="PackedScene" uid="uid://bbgymc0drqpbx" path="res://scenes/ui/time_display.tscn" id="3_fmtwf"]
[ext_resource type="AudioStream" uid="uid://c8xg32p8lbltw" path="res://assets/sounds/music/game_music.mp3" id="3_mlxib"] [ext_resource type="AudioStream" uid="uid://c8xg32p8lbltw" path="res://assets/sounds/music/game_music.mp3" id="3_mlxib"]
[ext_resource type="Script" uid="uid://b4cmg63daeo7g" path="res://scripts/camera_2d.gd" id="4_5xxpo"] [ext_resource type="Script" uid="uid://b4cmg63daeo7g" path="res://scripts/camera_2d.gd" id="4_5xxpo"]
[ext_resource type="Texture2D" uid="uid://baxj0b3uih6jx" path="res://assets/background/Nebulas/n1.png" id="5_kdehn"]
[ext_resource type="Script" uid="uid://dpwk3ruw8mx6k" path="res://scripts/background.gd" id="6_xhm0b"]
[node name="Galaxy" type="Node2D"] [node name="Galaxy" type="Node2D"]
script = ExtResource("1_jxn3g") script = ExtResource("1_jxn3g")
@ -14,6 +15,7 @@ layer = -1
[node name="AudioStreamPlayer2D" type="AudioStreamPlayer" parent="."] [node name="AudioStreamPlayer2D" type="AudioStreamPlayer" parent="."]
stream = ExtResource("3_mlxib") stream = ExtResource("3_mlxib")
volume_db = -24.807
autoplay = true autoplay = true
[node name="Camera2D" type="Camera2D" parent="."] [node name="Camera2D" type="Camera2D" parent="."]
@ -36,11 +38,12 @@ offset_bottom = -616.0
scroll_ignore_camera_zoom = true scroll_ignore_camera_zoom = true
[node name="ParallaxLayer" type="ParallaxLayer" parent="ParallaxBackground"] [node name="ParallaxLayer" type="ParallaxLayer" parent="ParallaxBackground"]
position = Vector2(-72, -32)
motion_scale = Vector2(0.1, 0.1) motion_scale = Vector2(0.1, 0.1)
motion_mirroring = Vector2(1686.955, 1000) motion_mirroring = Vector2(1024, 1024)
[node name="Background" type="Sprite2D" parent="ParallaxBackground/ParallaxLayer"] [node name="Background" type="Sprite2D" parent="ParallaxBackground/ParallaxLayer"]
z_index = -10 z_index = -10
position = Vector2(844, 500) position = Vector2(456, 416)
scale = Vector2(0.43958333, 0.46296293) texture = ExtResource("5_kdehn")
texture = ExtResource("1_n7ltq") script = ExtResource("6_xhm0b")

View File

@ -1,7 +1,7 @@
[gd_scene load_steps=16 format=3 uid="uid://sxae8i12io4y"] [gd_scene load_steps=28 format=3 uid="uid://sxae8i12io4y"]
[ext_resource type="Script" uid="uid://ol6efor868gk" path="res://scripts/menu.gd" id="1_vjb58"] [ext_resource type="Script" uid="uid://ol6efor868gk" path="res://scripts/menu.gd" id="1_vjb58"]
[ext_resource type="Texture2D" uid="uid://xuw4ki75j3fy" path="res://assets/background/menubg.png" id="1_yqeox"] [ext_resource type="Texture2D" uid="uid://c2bmun1bugix" path="res://assets/background/menubg2.jpg" id="2_70i5f"]
[ext_resource type="AudioStream" uid="uid://dc3bsqg4ltuet" path="res://assets/sounds/music/menu_music.mp3" id="3_con2f"] [ext_resource type="AudioStream" uid="uid://dc3bsqg4ltuet" path="res://assets/sounds/music/menu_music.mp3" id="3_con2f"]
[ext_resource type="PackedScene" uid="uid://gvx2ukt1why" path="res://scenes/option_popup.tscn" id="3_mhnvy"] [ext_resource type="PackedScene" uid="uid://gvx2ukt1why" path="res://scenes/option_popup.tscn" id="3_mhnvy"]
[ext_resource type="Texture2D" uid="uid://da6hb1mill5yn" path="res://assets/icons/buttons/button_blue.png" id="3_v86rl"] [ext_resource type="Texture2D" uid="uid://da6hb1mill5yn" path="res://assets/icons/buttons/button_blue.png" id="3_v86rl"]
@ -9,6 +9,9 @@
[ext_resource type="Texture2D" uid="uid://dssoa5bxs2h4r" path="res://assets/icons/logo_game.png" id="5_4ytvr"] [ext_resource type="Texture2D" uid="uid://dssoa5bxs2h4r" path="res://assets/icons/logo_game.png" id="5_4ytvr"]
[ext_resource type="FontFile" uid="uid://chk8jrn2ighpx" path="res://assets/fonts/main_font.ttf" id="6_i6lef"] [ext_resource type="FontFile" uid="uid://chk8jrn2ighpx" path="res://assets/fonts/main_font.ttf" id="6_i6lef"]
[ext_resource type="Texture2D" uid="uid://cm376wgq8l0n4" path="res://assets/stars/small_star.png" id="7_i6lef"] [ext_resource type="Texture2D" uid="uid://cm376wgq8l0n4" path="res://assets/stars/small_star.png" id="7_i6lef"]
[ext_resource type="Texture2D" uid="uid://bnltmrot4rttt" path="res://assets/planets/moon.png" id="8_70i5f"]
[ext_resource type="Texture2D" uid="uid://bgoyvfis21f64" path="res://assets/ships/ship.png" id="9_mj5lg"]
[ext_resource type="Texture2D" uid="uid://dey802py7bdmi" path="res://assets/ships/ship2.png" id="10_ufwb2"]
[sub_resource type="Animation" id="Animation_mj5lg"] [sub_resource type="Animation" id="Animation_mj5lg"]
length = 0.001 length = 0.001
@ -84,6 +87,117 @@ _data = {
&"anim_logo": SubResource("Animation_13sgg") &"anim_logo": SubResource("Animation_13sgg")
} }
[sub_resource type="Animation" id="Animation_6cdou"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(711, 356)]
}
[sub_resource type="Animation" id="Animation_ufwb2"]
resource_name = "move_moon"
length = 360.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 360),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector2(711, 356), Vector2(1204, 356)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_i42df"]
_data = {
&"RESET": SubResource("Animation_6cdou"),
&"move_moon": SubResource("Animation_ufwb2")
}
[sub_resource type="Animation" id="Animation_7jp70"]
length = 0.001
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0),
"transitions": PackedFloat32Array(1),
"update": 0,
"values": [Vector2(211, 274)]
}
[sub_resource type="Animation" id="Animation_i42df"]
resource_name = "ship_move"
length = 400.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 400),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector2(334, 276), Vector2(627.99994, 274)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_mxgkd"]
_data = {
&"RESET": SubResource("Animation_7jp70"),
&"ship_move": SubResource("Animation_i42df")
}
[sub_resource type="Animation" id="Animation_g6gyw"]
length = 200.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 200),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector2(197.00002, 124.999985), Vector2(687.99994, 194.00002)]
}
[sub_resource type="Animation" id="Animation_mxgkd"]
resource_name = "ship_move"
length = 250.0
tracks/0/type = "value"
tracks/0/imported = false
tracks/0/enabled = true
tracks/0/path = NodePath(".:position")
tracks/0/interp = 1
tracks/0/loop_wrap = true
tracks/0/keys = {
"times": PackedFloat32Array(0, 250),
"transitions": PackedFloat32Array(1, 1),
"update": 0,
"values": [Vector2(119.5, 295.5), Vector2(629.50006, 295.49997)]
}
[sub_resource type="AnimationLibrary" id="AnimationLibrary_3dmrc"]
_data = {
&"RESET": SubResource("Animation_g6gyw"),
&"ship_move": SubResource("Animation_mxgkd")
}
[node name="MainMenu" type="Control"] [node name="MainMenu" type="Control"]
process_mode = 3 process_mode = 3
top_level = true top_level = true
@ -103,13 +217,13 @@ anchor_bottom = 1.0
offset_bottom = -1.0 offset_bottom = -1.0
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
texture = ExtResource("1_yqeox") texture = ExtResource("2_70i5f")
expand_mode = 1 expand_mode = 1
[node name="star" type="Sprite2D" parent="TextureRect"] [node name="star" type="Sprite2D" parent="TextureRect"]
modulate = Color(1, 1, 1, 0.5058824) modulate = Color(1, 1, 1, 0.5058824)
position = Vector2(866.2031, 336.45313) position = Vector2(453.20316, 332.95313)
scale = Vector2(1.1979373, 1.0312517) scale = Vector2(0.5312264, 0.69791925)
texture = ExtResource("7_i6lef") texture = ExtResource("7_i6lef")
[node name="AnimationPlayer" type="AnimationPlayer" parent="TextureRect/star"] [node name="AnimationPlayer" type="AnimationPlayer" parent="TextureRect/star"]
@ -209,9 +323,9 @@ vertical_alignment = 1
[node name="back" type="TextureButton" parent="TextureRect"] [node name="back" type="TextureButton" parent="TextureRect"]
layout_mode = 0 layout_mode = 0
offset_left = 7.0 offset_left = 7.0
offset_top = 388.0 offset_top = 332.0
offset_right = 1257.0 offset_right = 1257.0
offset_bottom = 618.0 offset_bottom = 562.0
scale = Vector2(0.15, 0.15) scale = Vector2(0.15, 0.15)
texture_normal = ExtResource("3_v86rl") texture_normal = ExtResource("3_v86rl")
texture_hover = ExtResource("4_13sgg") texture_hover = ExtResource("4_13sgg")
@ -225,9 +339,9 @@ anchor_top = 0.5
anchor_right = 0.5 anchor_right = 0.5
anchor_bottom = 0.5 anchor_bottom = 0.5
offset_left = -618.3333 offset_left = -618.3333
offset_top = -108.33362 offset_top = -115.00012
offset_right = 621.6665 offset_right = 621.6665
offset_bottom = 111.66638 offset_bottom = 104.99988
grow_horizontal = 2 grow_horizontal = 2
grow_vertical = 2 grow_vertical = 2
theme_override_colors/font_color = Color(3.008172e-09, 0.06855638, 0.14010939, 1) theme_override_colors/font_color = Color(3.008172e-09, 0.06855638, 0.14010939, 1)
@ -240,6 +354,40 @@ text = "menu_back"
horizontal_alignment = 1 horizontal_alignment = 1
vertical_alignment = 1 vertical_alignment = 1
[node name="save" type="TextureButton" parent="TextureRect"]
layout_mode = 0
offset_left = 7.0
offset_top = 376.0
offset_right = 1257.0
offset_bottom = 606.0
scale = Vector2(0.15, 0.15)
texture_normal = ExtResource("3_v86rl")
texture_hover = ExtResource("4_13sgg")
stretch_mode = 0
[node name="Label" type="Label" parent="TextureRect/save"]
layout_mode = 1
anchors_preset = 8
anchor_left = 0.5
anchor_top = 0.5
anchor_right = 0.5
anchor_bottom = 0.5
offset_left = -618.3333
offset_top = -115.00012
offset_right = 621.6665
offset_bottom = 104.99988
grow_horizontal = 2
grow_vertical = 2
theme_override_colors/font_color = Color(3.008172e-09, 0.06855638, 0.14010939, 1)
theme_override_colors/font_shadow_color = Color(0.7570387, 0.75415635, 0.7885611, 0)
theme_override_colors/font_outline_color = Color(0.9954526, 0.93959796, 0.9103491, 1)
theme_override_constants/outline_size = 23
theme_override_fonts/font = ExtResource("6_i6lef")
theme_override_font_sizes/font_size = 120
text = "menu_save"
horizontal_alignment = 1
vertical_alignment = 1
[node name="load" type="TextureButton" parent="TextureRect"] [node name="load" type="TextureButton" parent="TextureRect"]
layout_mode = 0 layout_mode = 0
offset_left = 7.050003 offset_left = 7.050003
@ -276,7 +424,7 @@ vertical_alignment = 1
[node name="Sprite2D" type="Sprite2D" parent="TextureRect"] [node name="Sprite2D" type="Sprite2D" parent="TextureRect"]
modulate = Color(1, 1, 1, 0) modulate = Color(1, 1, 1, 0)
position = Vector2(563.00006, 328.00003) position = Vector2(563.00006, 477)
scale = Vector2(0.27148017, 0.2616161) scale = Vector2(0.27148017, 0.2616161)
texture = ExtResource("5_4ytvr") texture = ExtResource("5_4ytvr")
@ -286,6 +434,50 @@ libraries = {
} }
autoplay = "anim_logo" autoplay = "anim_logo"
[node name="moon" type="Sprite2D" parent="TextureRect"]
position = Vector2(711, 356)
scale = Vector2(0.1, 0.1)
texture = ExtResource("8_70i5f")
[node name="AnimationPlayer" type="AnimationPlayer" parent="TextureRect/moon"]
libraries = {
&"": SubResource("AnimationLibrary_i42df")
}
autoplay = "move_moon"
[node name="ship" type="Sprite2D" parent="TextureRect"]
position = Vector2(211, 274)
scale = Vector2(0.1123348, 0.10526316)
texture = ExtResource("9_mj5lg")
[node name="AnimationPlayer" type="AnimationPlayer" parent="TextureRect/ship"]
libraries = {
&"": SubResource("AnimationLibrary_mxgkd")
}
autoplay = "ship_move"
[node name="Sprite2D2" type="Sprite2D" parent="TextureRect"]
position = Vector2(197.00002, 124.999985)
scale = Vector2(0.16519824, 0.20175439)
texture = ExtResource("9_mj5lg")
[node name="AnimationPlayer" type="AnimationPlayer" parent="TextureRect/Sprite2D2"]
libraries = {
&"": SubResource("AnimationLibrary_3dmrc")
}
autoplay = "ship_move"
[node name="Sprite2D3" type="Sprite2D" parent="TextureRect"]
position = Vector2(197.00002, 124.999985)
scale = Vector2(0.3381723, 0.35923466)
texture = ExtResource("10_ufwb2")
[node name="AnimationPlayer" type="AnimationPlayer" parent="TextureRect/Sprite2D3"]
libraries = {
&"": SubResource("AnimationLibrary_3dmrc")
}
autoplay = "RESET"
[node name="VBoxContainer" type="GridContainer" parent="."] [node name="VBoxContainer" type="GridContainer" parent="."]
visible = false visible = false
layout_mode = 1 layout_mode = 1

View File

@ -5,7 +5,7 @@
[ext_resource type="FontFile" uid="uid://chk8jrn2ighpx" path="res://assets/fonts/main_font.ttf" id="3_ggt7d"] [ext_resource type="FontFile" uid="uid://chk8jrn2ighpx" path="res://assets/fonts/main_font.ttf" id="3_ggt7d"]
[sub_resource type="CircleShape2D" id="CircleShape2D_h8ms6"] [sub_resource type="CircleShape2D" id="CircleShape2D_h8ms6"]
radius = 8.0 radius = 6.0
[node name="Planet" type="Node2D"] [node name="Planet" type="Node2D"]
script = ExtResource("1_cktii") script = ExtResource("1_cktii")
@ -26,6 +26,8 @@ offset_left = 8.0
offset_top = -8.0 offset_top = -8.0
offset_right = 32.0 offset_right = 32.0
offset_bottom = 8.0 offset_bottom = 8.0
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 1
theme_override_fonts/font = ExtResource("3_ggt7d") theme_override_fonts/font = ExtResource("3_ggt7d")
theme_override_font_sizes/font_size = 8 theme_override_font_sizes/font_size = 8
horizontal_alignment = 1 horizontal_alignment = 1

View File

@ -0,0 +1,44 @@
[gd_scene load_steps=5 format=3 uid="uid://cynwjsqox5eqx"]
[ext_resource type="Script" uid="uid://bdmoi05k2qhjs" path="res://scripts/planet.gd" id="1_cktii"]
[ext_resource type="Texture2D" uid="uid://bmu7jwnvu7ob2" path="res://assets/planets/p5.png" id="2_h8ms6"]
[ext_resource type="FontFile" uid="uid://chk8jrn2ighpx" path="res://assets/fonts/main_font.ttf" id="3_ggt7d"]
[sub_resource type="CircleShape2D" id="CircleShape2D_h8ms6"]
radius = 6.0
[node name="Planet" type="Node2D"]
script = ExtResource("1_cktii")
[node name="Area2D" type="Area2D" parent="."]
position = Vector2(16, -40)
[node name="CollisionShape2D" type="CollisionShape2D" parent="Area2D"]
position = Vector2(-16, 40)
shape = SubResource("CircleShape2D_h8ms6")
[node name="Sprite2D" type="Sprite2D" parent="."]
scale = Vector2(0.053333335, 0.053333335)
texture = ExtResource("2_h8ms6")
[node name="Label" type="Label" parent="."]
offset_left = 8.0
offset_top = -8.0
offset_right = 32.0
offset_bottom = 8.0
theme_override_fonts/font = ExtResource("3_ggt7d")
theme_override_font_sizes/font_size = 8
horizontal_alignment = 1
vertical_alignment = 1
[node name="CanvasLayer" type="CanvasLayer" parent="."]
[node name="Info" type="Label" parent="CanvasLayer"]
visible = false
offset_left = 16.0
offset_top = 32.0
offset_right = 128.0
offset_bottom = 120.0
theme_override_font_sizes/font_size = 8
text = "test"
autowrap_mode = 2

View File

@ -9,16 +9,18 @@
script = ExtResource("1_mcqwg") script = ExtResource("1_mcqwg")
[node name="Sprite2D" type="Sprite2D" parent="."] [node name="Sprite2D" type="Sprite2D" parent="."]
position = Vector2(-2.3841858e-07, 0) position = Vector2(2.3841858e-07, 0)
scale = Vector2(0.014858843, 0.014858842) scale = Vector2(0.019316493, 0.019316494)
texture = ExtResource("2_j6vao") texture = ExtResource("2_j6vao")
script = ExtResource("3_ef0hr") script = ExtResource("3_ef0hr")
[node name="Label" type="Label" parent="."] [node name="Label" type="Label" parent="."]
offset_left = -40.0 offset_left = -40.0
offset_top = 8.0 offset_top = 15.0
offset_right = 40.0 offset_right = 40.0
offset_bottom = 22.0 offset_bottom = 29.0
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 3
theme_override_fonts/font = ExtResource("4_8d8bx") theme_override_fonts/font = ExtResource("4_8d8bx")
theme_override_font_sizes/font_size = 10 theme_override_font_sizes/font_size = 10
horizontal_alignment = 1 horizontal_alignment = 1

View File

@ -0,0 +1,27 @@
[gd_scene load_steps=5 format=3 uid="uid://cvc0brcqh2rhu"]
[ext_resource type="Script" uid="uid://c7l387xor12hx" path="res://scripts/star.gd" id="1_mcqwg"]
[ext_resource type="Texture2D" uid="uid://b4iycl7xcvpkp" path="res://assets/stars/s1.png" id="2_j6vao"]
[ext_resource type="Script" uid="uid://bgghdcbxp6o0k" path="res://scripts/star_sprite.gd" id="3_ef0hr"]
[ext_resource type="FontFile" uid="uid://chk8jrn2ighpx" path="res://assets/fonts/main_font.ttf" id="4_8d8bx"]
[node name="Star" type="Node2D"]
script = ExtResource("1_mcqwg")
[node name="Sprite2D" type="Sprite2D" parent="."]
position = Vector2(2.3841858e-07, 0)
scale = Vector2(0.019316493, 0.019316494)
texture = ExtResource("2_j6vao")
script = ExtResource("3_ef0hr")
[node name="Label" type="Label" parent="."]
offset_left = -40.0
offset_top = 15.0
offset_right = 40.0
offset_bottom = 29.0
theme_override_colors/font_outline_color = Color(0, 0, 0, 1)
theme_override_constants/outline_size = 3
theme_override_fonts/font = ExtResource("4_8d8bx")
theme_override_font_sizes/font_size = 10
horizontal_alignment = 1
vertical_alignment = 1

View File

@ -2,7 +2,7 @@ extends Node
class_name Constants class_name Constants
# Lista surowców # Lista surowców
var resources: Array = ["res_iron", "res_alu", "res_titan", "res_uran", "res_anti"] #var resources: Array = ["res_iron", "res_alu", "res_titan", "res_uran", "res_anti", "res_water"]
# Możliwe nazwy planet # Możliwe nazwy planet
var planet_names: Array = [ var planet_names: Array = [

6
scripts/background.gd Normal file
View File

@ -0,0 +1,6 @@
extends Sprite2D
func _ready():
randomize() # upewniamy się, że losowanie nie powtarza się
var tex_id = randi_range(1, 13) # losujemy liczbę od 1 do 14
texture = load("res://assets/background/Nebulas/n%d.png" % tex_id)

View File

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

View File

@ -16,13 +16,13 @@ func _process(delta):
if Input.is_action_pressed("map_move_up"): if Input.is_action_pressed("map_move_up"):
move.y -= 1 move.y -= 1
position += move.normalized() * speed * delta position += move.normalized() * speed * Settings.map_speed #* delta
# zoom # zoom
if Input.is_action_pressed("zoom_in"): # np. Q if Input.is_action_pressed("zoom_in"): # np. Q
zoom -= Vector2(zoom_speed, zoom_speed) * delta zoom -= Vector2(zoom_speed, zoom_speed) * Settings.map_speed
if Input.is_action_pressed("zoom_out"): # np. E if Input.is_action_pressed("zoom_out"): # np. E
zoom += Vector2(zoom_speed, zoom_speed) * delta zoom += Vector2(zoom_speed, zoom_speed) * Settings.map_speed
# ograniczenie minimalnego i maksymalnego zoomu # ograniczenie minimalnego i maksymalnego zoomu
zoom.x = clamp(zoom.x, 0.1, 3) zoom.x = clamp(zoom.x, 0.1, 3)

View File

@ -1,6 +1,13 @@
extends Node extends Node
const RESOURCE_TYPES = ["res_iron", "res_uran", "res_titan", "res_alu"] const RESOURCE_TYPES = [
{"name": "iron", "chance": 90},
{"name": "uran", "chance": 30},
{"name": "titan", "chance": 40},
{"name": "alu", "chance": 60},
{"name": "water", "chance": 70}
]
const sector_names = [ const sector_names = [

View File

@ -4,6 +4,11 @@ extends Node2D
@onready var PlanetScene = preload("res://scenes/Planet.tscn") @onready var PlanetScene = preload("res://scenes/Planet.tscn")
@onready var MenuScene = preload("res://scenes/Menu.tscn") @onready var MenuScene = preload("res://scenes/Menu.tscn")
@onready var camera = $Camera2D @onready var camera = $Camera2D
var existing_star_positions: Array[Vector2] = []
const PLANET_HIDE_ZOOM = 0.6 # powyżej tego zoomu planety się chowają const PLANET_HIDE_ZOOM = 0.6 # powyżej tego zoomu planety się chowają
func _ready(): func _ready():
if GameData.game_lunched == false: if GameData.game_lunched == false:
@ -19,10 +24,20 @@ func _process(delta):
func _generate_galaxy(count: int): func _generate_galaxy(count: int):
for i in range(count): for i in range(count):
var star = StarScene.instantiate() var star = StarScene.instantiate()
star.star_name = Names.sector_names[randi() % Names.sector_names.size()] var safe_position = get_safe_star_position()
star.planet_count = randi_range(Settings.min_planet, Settings.max_planet)
star.global_position = Vector2(randi_range(50, Settings.x), randi_range(50, Settings.y)) if safe_position != Vector2.ZERO:
star.star_name = Names.sector_names[randi() % Names.sector_names.size()]
star.planet_count = randi_range(Settings.min_planet, Settings.max_planet)
star.global_position = safe_position
add_child(star)
else:
# Przerwij pętlę, gdy nie można już znaleźć bezpiecznej pozycji
print("Zatrzymano generowanie po znalezieniu %s systemów." % i)
break
star.get_node("Sprite2D").texture = load("res://assets/stars/s%d.png" % randi_range(1,8)) star.get_node("Sprite2D").texture = load("res://assets/stars/s%d.png" % randi_range(1,8))
add_child(star) add_child(star)
@ -30,17 +45,20 @@ func _generate_galaxy(count: int):
for j in range(star.planet_count): for j in range(star.planet_count):
var planet = PlanetScene.instantiate() var planet = PlanetScene.instantiate()
planet.pname = Names.planet_names[randi() % Names.planet_names.size()] planet.pname = Names.planet_names[randi() % Names.planet_names.size()]
planet.orbit_radius = 30 + j * 20 planet.orbit_radius = 45 + j * 40
planet.orbit_speed = randf_range(0.01, 0.04) planet.orbit_speed = randf_range(0.004, 0.01)
planet.size = randi_range(1, 3)
assign_max_population(planet)
generate_planet_resources(planet) # <-- tu losujemy surowce generate_planet_resources(planet) # <-- tu losujemy surowce
var angle = randf() * TAU var angle = randf() * TAU
planet.position = Vector2(cos(angle), sin(angle)) * planet.orbit_radius planet.position = Vector2(cos(angle), sin(angle)) * planet.orbit_radius
planet.res_rich = randf()
planet.biosfere = randf() # float od 0 do 1 planet.biosfere = randf() # float od 0 do 1
if planet.biosfere > 0.7: if planet.biosfere > 0.7:
planet.get_node("Sprite2D").texture = load("res://assets/planets/p%d.png" % randi_range(1,9)) planet.get_node("Sprite2D").texture = load("res://assets/planets/p%d.png" % randi_range(1,9))
else: else:
planet.get_node("Sprite2D").texture = load("res://assets/planets/p%d.png" % randi_range(10,18)) planet.get_node("Sprite2D").texture = load("res://assets/planets/p%d.png" % randi_range(10,18))
#planet.get_node("Sprite2D").texture = load("res://assets/planets/p16.png") planet.get_node("Sprite2D").scale = Vector2(0.053*planet.size/2, 0.053*planet.size/2)
star.add_child(planet) # Planeta należy do gwiazdy! star.add_child(planet) # Planeta należy do gwiazdy!
star.planets.append(planet) star.planets.append(planet)
@ -55,12 +73,27 @@ var RESOURCE_TYPES = Names.RESOURCE_TYPES
func generate_planet_resources(planet): func generate_planet_resources(planet):
planet.resources = {} # resetujemy słownik planet.resources = {} # resetujemy słownik
for res_name in RESOURCE_TYPES:
var exists = randi() % 100 < 50 # 50% szans na wystąpienie for resource in RESOURCE_TYPES:
var res_name = resource.name
var chance = resource.chance
var exists = randi() % 100 < chance
var amount = 0 var amount = 0
planet.resources[res_name] = {"exist": exists, "amount": amount} planet.resources[res_name] = {"exist": exists, "amount": amount}
func assign_max_population(planet):
# planet_size = 1 (mała), 2 (średnia), 3 (duża)
match planet.size:
1:
planet.max_pop = randi_range(1000, 5000)
2:
planet.max_pop = randi_range(10000, 20000)
3:
planet.max_pop = randi_range(40000, 80000)
_:
planet.max_pop = 0 # zabezpieczenie, gdyby coś poszło nie tak
func _input(event): func _input(event):
if event.is_action_pressed("ui_cancel"): # np. klawisz ESC if event.is_action_pressed("ui_cancel"): # np. klawisz ESC
show_menu() show_menu()
@ -74,3 +107,38 @@ func show_menu():
add_child(menu_instance) add_child(menu_instance)
menu_instance.z_index = 100 # na wierzchu wszystkiego menu_instance.z_index = 100 # na wierzchu wszystkiego
get_tree().paused = true # pauzuje grę, jeśli chcesz get_tree().paused = true # pauzuje grę, jeśli chcesz
#Te zmienne muszą być zadeklarowane poza funkcją (np. na początku skryptu)
## Funkcja zwracająca bezpieczną pozycję lub Vector2.ZERO po niepowodzeniu
func get_safe_star_position() -> Vector2:
const SQ_MIN_DISTANCE = Settings.MIN_DISTANCE * Settings.MIN_DISTANCE
var attempts = 0
while attempts < Settings.MAX_PLACEMENT_ATTEMPTS:
# 1. Losowanie nowej, potencjalnej pozycji (float)
var potential_pos = Vector2(
randf_range(Settings.MARGIN, Settings.x - Settings.MARGIN),
randf_range(Settings.MARGIN, Settings.y - Settings.MARGIN)
)
# 2. Sprawdzenie, czy pozycja jest bezpieczna
var is_safe = true
for existing_pos in existing_star_positions:
# Szybkie porównanie kwadratu odległości (wydajniejsze)
if existing_pos.distance_squared_to(potential_pos) < SQ_MIN_DISTANCE:
is_safe = false
break # Znaleziono kolizję, przerwij pętlę i spróbuj ponownie
if is_safe:
# Pozycja bezpieczna. Zapisz ją i zwróć.
existing_star_positions.append(potential_pos)
return potential_pos
attempts += 1
# 3. Limit prób osiągnięty
return Vector2.ZERO # Wektor zerowy sygnalizuje, że nie znaleziono pozycji

View File

@ -1,6 +1,7 @@
extends Control extends Control
@onready var option_popup = $OptionPopup @onready var option_popup = $OptionPopup
@onready var back_button = $TextureRect/back @onready var back_button = $TextureRect/back
@onready var save_button = $TextureRect/save
func _ready(): func _ready():
$TextureRect/start.connect("pressed", Callable(self, "_on_start_pressed")) $TextureRect/start.connect("pressed", Callable(self, "_on_start_pressed"))
$TextureRect/exit.connect("pressed", Callable(self, "_on_exit_pressed")) $TextureRect/exit.connect("pressed", Callable(self, "_on_exit_pressed"))
@ -11,9 +12,10 @@ func _ready():
if GameData.game_lunched == true: if GameData.game_lunched == true:
back_button.visible = true back_button.visible = true
save_button.visible = true
else : else :
back_button.visible = false back_button.visible = false
save_button.visible = false

View File

@ -4,12 +4,17 @@ class_name Planet
@onready var info_label = $CanvasLayer/Info @onready var info_label = $CanvasLayer/Info
@onready var area = $Area2D @onready var area = $Area2D
var pop_timer: float = 0.0 # licznik czasu
var pname: String = "" var pname: String = ""
var orbit_radius: float = 30.0 var orbit_radius: float = 30.0
var orbit_speed: float = 0.01 var orbit_speed: float = 0.01
var biosfere: float = 0.1 var biosfere: float = 0.1
var is_colonized = false
var size = 1
var max_pop = 1
var population: int = 0
var res_rich: float = 0.0
var resources := {} var resources := {}
var texture: Texture2D var texture: Texture2D
@ -21,6 +26,7 @@ func _ready():
# Podłącz sygnały # Podłącz sygnały
area.mouse_entered.connect(_on_mouse_entered) area.mouse_entered.connect(_on_mouse_entered)
area.mouse_exited.connect(_on_mouse_exited) area.mouse_exited.connect(_on_mouse_exited)
area.connect("input_event", Callable(self, "_on_area_input"))
#str(round(biosfere * 100) / 100.0) #str(round(biosfere * 100) / 100.0)
_update_position() _update_position()
@ -29,19 +35,49 @@ func _process(delta):
angle += orbit_speed * delta # obrót w czasie angle += orbit_speed * delta # obrót w czasie
angle = fmod(angle, TAU) # utrzymanie kąta w 0..2π angle = fmod(angle, TAU) # utrzymanie kąta w 0..2π
_update_position() _update_position()
if is_colonized:
_pop_growth(delta)
_res_growth(delta)
_res_consumption(delta)
print_data()
label.text = str(pname) label.text = str(pname)
func _update_position(): func _update_position():
# pozycja lokalna względem gwiazdy # pozycja lokalna względem gwiazdy
position = Vector2(cos(angle), sin(angle)) * orbit_radius position = Vector2(cos(angle), sin(angle)) * orbit_radius
func _on_mouse_entered(): func _on_mouse_entered():
info_label.visible = true info_label.visible = true
print_data()
func _on_area_input(viewport, event, shape_idx):
if event is InputEventMouseButton and event.pressed and event.button_index == MOUSE_BUTTON_LEFT:
_on_mouse_click()
func _on_mouse_exited():
info_label.visible = false
func _on_mouse_click():
colonize()
func colonize():
if is_colonized == false:
is_colonized = true
label.add_theme_color_override("font_color", Color(0.0, 0.454, 0.0, 1.0))
population = 100
print_data()
func print_data():
var text = "🌍 %s\n" % pname var text = "🌍 %s\n" % pname
text += "Biosfera: %.2f\n" % biosfere text += "Biosfera: %.2f\n" % biosfere
text += "Zasobność surowców: %.2f\n" % res_rich
text += "Limit populacji: " + str(int(max_pop)).pad_decimals(0) + "\n"
text += "Populacja: " + str(int(population)).pad_decimals(0) + "\n"
text += "Status: " + ("Skolonizowana" if is_colonized else "Nieskolonizowana") + "\n"
var has_any_resource = false var has_any_resource = false
for key in resources.keys(): for key in resources.keys():
var res = resources[key] var res = resources[key]
@ -50,13 +86,48 @@ func _on_mouse_entered():
text += "Zasoby:\n" text += "Zasoby:\n"
has_any_resource = true has_any_resource = true
var display_name = tr(key) # tłumaczenie klucza przez system Godot var display_name = tr(key)
text += "%s:%s\n" % [display_name, str(res.get("amount", 0))] text += "%s: %.2f +(%s)\n" % [display_name, round(res.get("amount", 0) * 100) / 100.0, check_growth()]
info_label.text = text info_label.text = text
func _pop_growth(delta):
pop_timer += delta
if pop_timer >= Settings.UPDATE_INTERVAL:
if resources["water"]["amount"] > 0:
var growth = int(max(1, population * 0.05 * biosfere))
population = min(population + growth, max_pop)
pop_timer = 0.0
else:
population = max(population - 10, 100)
pop_timer = 0.0
func _res_growth(delta):
pop_timer += delta
if pop_timer < Settings.UPDATE_INTERVAL:
return
pop_timer = 0.0
for res_name in resources.keys():
var res = resources[res_name]
if res.exist:
var growth = check_growth()
res.amount += growth
resources[res_name] = res
func check_growth() -> float:
# Zwraca przyrost zaokrąglony do 2 miejsc po przecinku
func _on_mouse_exited(): var growth = res_rich * (population / 1000.0)
info_label.visible = false return round(growth * 100) / 100.0
func _res_consumption(delta):
var water_usage = population * 0.0002 # np. 0.002 jednostki wody na osobę
pop_timer += delta
if pop_timer >= Settings.UPDATE_INTERVAL:
if "water" in resources:
resources["water"].amount -= water_usage
if resources["water"].amount < 0:
resources["water"].amount = 0
pop_timer = 0.0

View File

@ -1,20 +1,22 @@
extends Node extends Node
const LANGUAGE = 'pl' const LANGUAGE = 'pl'
var number_of_players = 1 var number_of_players = 1
var map_speed = 0.01
# Liczba sektorów w galaktyce
var NUMBER_OF_SYSTEMS: int = 144
#pozycja systemów
#ustawienia mapy
var x = 8000 var x = 8000
var y = 8000 var y = 8000
const MIN_DISTANCE: float = 1000
const MAX_PLACEMENT_ATTEMPTS: int = 50
const MARGIN: float = 50.0
var NUMBER_OF_SYSTEMS: int = 300
#Ilosc systemów #Ilosc systemów
var min_planet = 1 var min_planet = 1
var max_planet = 5 var max_planet = 7
#Zmienen upływu czasu #Zmiana upływu czasu
var TIME_SCALE = 1 #var TIME_SCALE = 1
const UPDATE_INTERVAL := 10.0 #Cykl w sekundach const UPDATE_INTERVAL := 1 #Cykl w sekundach

View File

@ -1,5 +1,10 @@
extends Node2D extends Node2D
class_name Star class_name Star
# Parametry ustawiane w Inspektorze (łatwe do edycji!)
@export var radius: float = 300.0 # Promień okręgu
@export var color: Color = Color.GRAY
@export var thickness: float = 0.5 # Grubość linii konturu
@export var segments: int = 64
@onready var label = $Label @onready var label = $Label
@export var star_name: String = "" @export var star_name: String = ""
@export var planet_count: int = 0 @export var planet_count: int = 0
@ -9,4 +14,20 @@ var texture: Texture2D
func _ready(): func _ready():
#print("Gwiazda %s z %d planetami" % [star_name, planet_count]) #print("Gwiazda %s z %d planetami" % [star_name, planet_count])
label.text = star_name label.text = star_name
# Stała do rysowania pełnego okręgu
const TAU = 6.2831853 # 2 * PI
# Funkcja _draw() jest automatycznie wywoływana przez Godot, aby narysować węzeł
func _draw():
# draw_arc() rysuje kontur okręgu/łuku w Godot 4.x
# Argumenty: centrum, promień, kąt początkowy (0), kąt końcowy (TAU), liczba segmentów, kolor, grubość
draw_arc(
Vector2.ZERO,
radius,
0.0,
TAU,
segments,
color,
thickness
)

View File

@ -28,10 +28,10 @@ func _process(delta):
func _on_faster_pressed(): func _on_faster_pressed():
if Engine.time_scale < 20: if Engine.time_scale < 20:
Engine.time_scale +=2 Engine.time_scale +=1
func _on_slower_pressed(): func _on_slower_pressed():
if Engine.time_scale > 0: if Engine.time_scale > 0:
Engine.time_scale -=2 Engine.time_scale -=1
func _on_pause_pressed(): func _on_pause_pressed():
Engine.time_scale = 0 Engine.time_scale = 0

459
translate/translate.pot Normal file
View File

@ -0,0 +1,459 @@
# LANGUAGE translation for ArkSol for the following files:
# res://scenes/planet.tscn
# res://scripts/planet.gd
#
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: ArkSol\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8-bit\n"
#: scenes/planet.tscn
msgid "test"
msgstr ""
#: scripts/planet.gd
msgid "Zasoby:\n"
msgstr ""
msgid "All Recognized"
msgstr ""
msgid "New Code Region"
msgstr ""
msgid "Linear"
msgstr ""
msgid "Pick a color from the screen."
msgstr ""
msgid "Pick a color from the application window."
msgstr ""
msgid "Alpha"
msgstr ""
msgid "Intensity"
msgstr ""
msgid "Expr"
msgstr ""
msgid "Hex"
msgstr ""
msgid "Enter a hex code (\"#ff0000\") or named color (\"red\")."
msgstr ""
msgid "Load Color Palette"
msgstr ""
msgid "Save Color Palette"
msgstr ""
msgid "The changes to this palette have not been saved to a file."
msgstr ""
msgid "Save"
msgstr ""
msgid "Save the current color palette to reuse later."
msgstr ""
msgid "Save As"
msgstr ""
msgid "Save the current color palette as a new to reuse later."
msgstr ""
msgid "Load"
msgstr ""
msgid "Load existing color palette."
msgstr ""
msgid "Clear"
msgstr ""
msgid "Clear the currently loaded color palettes in the picker."
msgstr ""
msgid "Pick"
msgstr ""
msgid "Select a picker shape."
msgstr ""
msgid "Select a picker mode."
msgstr ""
msgid "Colorized Sliders"
msgstr ""
msgid "Hexadecimal Values"
msgstr ""
msgid "Hex code or named color"
msgstr ""
msgid "Swatches"
msgstr ""
msgid "Show all options available."
msgstr ""
msgid "Recent Colors"
msgstr ""
msgid "Add current color as a preset."
msgstr ""
msgid "Screen Recording permission missing!"
msgstr ""
msgid ""
"Screen Recording permission is required to pick colors from the other application windows.\n"
"Click here to request access..."
msgstr ""
msgid ""
"Color: %s\n"
"LMB: Apply color"
msgstr ""
msgid ""
"Color: %s\n"
"LMB: Apply color\n"
"RMB: Remove preset"
msgstr ""
msgid "Color: %s"
msgstr ""
msgid "HSV Rectangle"
msgstr ""
msgid "OK HS Rectangle"
msgstr ""
msgid "OK HL Rectangle"
msgstr ""
msgid "HSV Wheel"
msgstr ""
msgid "VHS Circle"
msgstr ""
msgid "OKHSL Circle"
msgstr ""
msgid "Cancel"
msgstr ""
msgid "OK"
msgstr ""
msgid "Alert!"
msgstr ""
msgid "Please Confirm..."
msgstr ""
msgid "Network"
msgstr ""
msgid ""
"File \"%s\" already exists.\n"
"Do you want to overwrite it?"
msgstr ""
msgid "Open"
msgstr ""
msgid "Select Current Folder"
msgstr ""
msgid "Select This Folder"
msgstr ""
msgid "Open in File Manager"
msgstr ""
msgid "Show Package Contents"
msgstr ""
msgid "You don't have permission to access contents of this folder."
msgstr ""
msgid "All Files"
msgstr ""
msgid "Open a File"
msgstr ""
msgid "Open File(s)"
msgstr ""
msgid "Open a Directory"
msgstr ""
msgid "Open a File or Directory"
msgstr ""
msgid "Save a File"
msgstr ""
msgid "Go to previous folder."
msgstr ""
msgid "Go to next folder."
msgstr ""
msgid "Go to parent folder."
msgstr ""
msgid "Path:"
msgstr ""
msgid "Drive"
msgstr ""
msgid "Refresh files."
msgstr ""
msgid "(Un)favorite current folder."
msgstr ""
msgid "Create a new folder."
msgstr ""
msgid "Favorites:"
msgstr ""
msgid "Recent:"
msgstr ""
msgid "Directories & Files:"
msgstr ""
msgid "Toggle the visibility of hidden files."
msgstr ""
msgid "View items as a grid of thumbnails."
msgstr ""
msgid "View items as a list."
msgstr ""
msgid "Toggle the visibility of the filter for file names."
msgstr ""
msgid "Sort files"
msgstr ""
msgid "Sort by Name (Ascending)"
msgstr ""
msgid "Sort by Name (Descending)"
msgstr ""
msgid "Sort by Type (Ascending)"
msgstr ""
msgid "Sort by Type (Descending)"
msgstr ""
msgid "Sort by Modified Time (Newest First)"
msgstr ""
msgid "Sort by Modified Time (Oldest First)"
msgstr ""
msgid "Filter:"
msgstr ""
msgid "Filename Filter:"
msgstr ""
msgid "File:"
msgstr ""
msgid "Create Folder"
msgstr ""
msgid "Name:"
msgstr ""
msgid "Could not create folder."
msgstr ""
msgid "Invalid extension, or empty filename."
msgstr ""
msgid "connection to %s (%s) port %d"
msgstr ""
msgid "connection from %s (%s) port %d"
msgstr ""
msgid "Zoom Out"
msgstr ""
msgid "Zoom Reset"
msgstr ""
msgid "Zoom In"
msgstr ""
msgid "Toggle the visual grid."
msgstr ""
msgid "Toggle snapping to the grid."
msgstr ""
msgid "Change the snapping distance."
msgstr ""
msgid "Toggle the graph minimap."
msgstr ""
msgid "Automatically arrange selected nodes."
msgstr ""
msgid "graph node %s (%s)"
msgstr ""
msgid "slot %d of %d"
msgstr ""
msgid "input port, type: %s"
msgstr ""
msgid "input port, type: %d"
msgstr ""
msgid "no connections"
msgstr ""
msgid "output port, type: %s"
msgstr ""
msgid "output port, type: %d"
msgstr ""
msgid "currently selecting target port"
msgstr ""
msgid "has %d slots"
msgstr ""
msgid "Edit Input Port Connection"
msgstr ""
msgid "Edit Output Port Connection"
msgstr ""
msgid "Follow Input Port Connection"
msgstr ""
msgid "Follow Output Port Connection"
msgstr ""
msgid ", in slot %d of graph node %s (%s)"
msgstr ""
msgid "Same as Layout Direction"
msgstr ""
msgid "Auto-Detect Direction"
msgstr ""
msgid "Left-to-Right"
msgstr ""
msgid "Right-to-Left"
msgstr ""
msgid "Left-to-Right Mark (LRM)"
msgstr ""
msgid "Right-to-Left Mark (RLM)"
msgstr ""
msgid "Start of Left-to-Right Embedding (LRE)"
msgstr ""
msgid "Start of Right-to-Left Embedding (RLE)"
msgstr ""
msgid "Start of Left-to-Right Override (LRO)"
msgstr ""
msgid "Start of Right-to-Left Override (RLO)"
msgstr ""
msgid "Pop Direction Formatting (PDF)"
msgstr ""
msgid "Arabic Letter Mark (ALM)"
msgstr ""
msgid "Left-to-Right Isolate (LRI)"
msgstr ""
msgid "Right-to-Left Isolate (RLI)"
msgstr ""
msgid "First Strong Isolate (FSI)"
msgstr ""
msgid "Pop Direction Isolate (PDI)"
msgstr ""
msgid "Zero-Width Joiner (ZWJ)"
msgstr ""
msgid "Zero-Width Non-Joiner (ZWNJ)"
msgstr ""
msgid "Word Joiner (WJ)"
msgstr ""
msgid "Soft Hyphen (SHY)"
msgstr ""
msgid "Emoji & Symbols"
msgstr ""
msgid "Cut"
msgstr ""
msgid "Copy"
msgstr ""
msgid "Paste"
msgstr ""
msgid "Select All"
msgstr ""
msgid "Undo"
msgstr ""
msgid "Redo"
msgstr ""
msgid "Text Writing Direction"
msgstr ""
msgid "Display Control Characters"
msgstr ""
msgid "Insert Control Character"
msgstr ""