Added Alexi Village map, added Alexi sky to multiple maps, map selection is a dropdown now.

This commit is contained in:
Paul Black 2024-06-03 00:50:51 -06:00
parent 883840c953
commit ff03359af4
67 changed files with 2166 additions and 115 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 602 KiB

View file

@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ckhwk5qftif2t"
path="res://.godot/imported/alexi-village.png-34808ca6ec452dcf0fd1c889eacd44b4.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://2DArt/host/mapIcons/alexi-village.png"
dest_files=["res://.godot/imported/alexi-village.png-34808ca6ec452dcf0fd1c889eacd44b4.ctex"]
[params]
compress/mode=0
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=1

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 MiB

After

Width:  |  Height:  |  Size: 963 KiB

File diff suppressed because one or more lines are too long

BIN
music/Dreamy-Hollow.mp3 Normal file

Binary file not shown.

View file

@ -0,0 +1,19 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
uid="uid://2xhe01x623u7"
path="res://.godot/imported/Dreamy-Hollow.mp3-4361062f9b3d8c98b8f6803c9c240ca7.mp3str"
[deps]
source_file="res://music/Dreamy-Hollow.mp3"
dest_files=["res://.godot/imported/Dreamy-Hollow.mp3-4361062f9b3d8c98b8f6803c9c240ca7.mp3str"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

Binary file not shown.

View file

@ -0,0 +1,19 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
uid="uid://rnv7yug8h57e"
path="res://.godot/imported/Dungeons-and-Tunnels.mp3-15b2cfa026f1c36f479dd374df002889.mp3str"
[deps]
source_file="res://music/Dungeons-and-Tunnels.mp3"
dest_files=["res://.godot/imported/Dungeons-and-Tunnels.mp3-15b2cfa026f1c36f479dd374df002889.mp3str"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

BIN
music/Forward-Assault.mp3 Normal file

Binary file not shown.

View file

@ -0,0 +1,19 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
uid="uid://873wo4gwyncj"
path="res://.godot/imported/Forward-Assault.mp3-089f7dfd2e163527cc145acaa2bfd6d1.mp3str"
[deps]
source_file="res://music/Forward-Assault.mp3"
dest_files=["res://.godot/imported/Forward-Assault.mp3-089f7dfd2e163527cc145acaa2bfd6d1.mp3str"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

BIN
music/Frosty-Nights.mp3 Normal file

Binary file not shown.

View file

@ -0,0 +1,19 @@
[remap]
importer="mp3"
type="AudioStreamMP3"
uid="uid://crfmcqq7cw5av"
path="res://.godot/imported/Frosty-Nights.mp3-01d42bd751cf908bbf1f0193cf6be27f.mp3str"
[deps]
source_file="res://music/Frosty-Nights.mp3"
dest_files=["res://.godot/imported/Frosty-Nights.mp3-01d42bd751cf908bbf1f0193cf6be27f.mp3str"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

Binary file not shown.

View file

@ -0,0 +1,34 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://fjxb74n2v68b"
path="res://.godot/imported/village.glb-9401c7e007188b9deb4c07ef9a3e0352.scn"
[deps]
source_file="res://objects/alexi-village/village.glb"
dest_files=["res://.godot/imported/village.glb-9401c7e007188b9deb4c07ef9a3e0352.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/apply_root_scale=true
nodes/root_scale=1.0
meshes/ensure_tangents=true
meshes/generate_lods=true
meshes/create_shadow_meshes=true
meshes/light_baking=1
meshes/lightmap_texel_size=0.2
meshes/force_disable_compression=false
skins/use_named_skins=true
animation/import=true
animation/fps=30
animation/trimming=false
animation/remove_immutable_tracks=true
import_script/path=""
_subresources={}
gltf/naming_version=1
gltf/embedded_image_handling=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://el0oqi62xtuq"
path.s3tc="res://.godot/imported/village_Brick2.png-3980f3592113990fa33978639f56a05f.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "3694da0eec5a69bb981a79730084635f"
}
[deps]
source_file="res://objects/alexi-village/village_Brick2.png"
dest_files=["res://.godot/imported/village_Brick2.png-3980f3592113990fa33978639f56a05f.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View file

@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cnshfw7a8x5wu"
path.s3tc="res://.godot/imported/village_Grass3.png-d7462d308a69f92da5242c475759d601.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "6fc7f277d0dfd41182161d91a4228f75"
}
[deps]
source_file="res://objects/alexi-village/village_Grass3.png"
dest_files=["res://.godot/imported/village_Grass3.png-d7462d308a69f92da5242c475759d601.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View file

@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d3rf8jjr3ei13"
path.s3tc="res://.godot/imported/village_Grass3Dirt.png-17d8ca59bda291fc6eb45d766856f487.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "0d36d86c8130973b1b357162125fc791"
}
[deps]
source_file="res://objects/alexi-village/village_Grass3Dirt.png"
dest_files=["res://.godot/imported/village_Grass3Dirt.png-17d8ca59bda291fc6eb45d766856f487.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

View file

@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dsgavvxpuxmok"
path.s3tc="res://.godot/imported/village_Rock.png-a9f5af67ad8da55fbd907c6691f6fc59.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "e22f5219808b01157f2e893a6d8bfde0"
}
[deps]
source_file="res://objects/alexi-village/village_Rock.png"
dest_files=["res://.godot/imported/village_Rock.png-a9f5af67ad8da55fbd907c6691f6fc59.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bcmq1xhl5tckq"
path.s3tc="res://.godot/imported/village_bedcover.png-d92d0f951240034f268c7ddd28c5695e.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "30ecdc8658d88416df879904ee1a4cbe"
}
[deps]
source_file="res://objects/alexi-village/village_bedcover.png"
dest_files=["res://.godot/imported/village_bedcover.png-d92d0f951240034f268c7ddd28c5695e.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://d1ttxt355obhg"
path.s3tc="res://.godot/imported/village_bedsheet.png-3c90f7eab4e1a190f441e191d4e80dd3.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "a08669467bf4d2371bf97cb93c83dd73"
}
[deps]
source_file="res://objects/alexi-village/village_bedsheet.png"
dest_files=["res://.godot/imported/village_bedsheet.png-3c90f7eab4e1a190f441e191d4e80dd3.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View file

@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dddg5shdy3c01"
path.s3tc="res://.godot/imported/village_clothe.png-11e0a8b8276f2da23435f1fb2b85c424.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "a7f532631160f23bf50ccf94257a606c"
}
[deps]
source_file="res://objects/alexi-village/village_clothe.png"
dest_files=["res://.godot/imported/village_clothe.png-11e0a8b8276f2da23435f1fb2b85c424.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://s14gn77xidg6"
path.s3tc="res://.godot/imported/village_flag.png-b9efe5b1d64a269bea091d96ae197db0.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "967eda04c383b389c45e392d1fa7010e"
}
[deps]
source_file="res://objects/alexi-village/village_flag.png"
dest_files=["res://.godot/imported/village_flag.png-b9efe5b1d64a269bea091d96ae197db0.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 5 KiB

View file

@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://xw4xhuln4xh6"
path.s3tc="res://.godot/imported/village_leaves.png-aa8ec2fb2df0399d14e393f2b581cc44.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "850f7cc70bc2cfe2191a9a3de1bb9fd0"
}
[deps]
source_file="res://objects/alexi-village/village_leaves.png"
dest_files=["res://.godot/imported/village_leaves.png-aa8ec2fb2df0399d14e393f2b581cc44.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 520 B

View file

@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c5m03f48tyju5"
path.s3tc="res://.godot/imported/village_lightglowRED.png-e9a1853137388c3753db88a6f0ddead9.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "70f508659ebd6f409c23c419c3e313cd"
}
[deps]
source_file="res://objects/alexi-village/village_lightglowRED.png"
dest_files=["res://.godot/imported/village_lightglowRED.png-e9a1853137388c3753db88a6f0ddead9.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

View file

@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bxxshmliqec72"
path.s3tc="res://.godot/imported/village_other.png-9f7096f9fbc95c6fb8bda676b5bb9624.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "17b698bca40328008a83b005c6a1951f"
}
[deps]
source_file="res://objects/alexi-village/village_other.png"
dest_files=["res://.godot/imported/village_other.png-9f7096f9fbc95c6fb8bda676b5bb9624.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View file

@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://2w3sjt8nfdss"
path.s3tc="res://.godot/imported/village_path1.png-b141877cb3e248788bb687761f5d7d8b.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "f32506859aba7dea1d3e1f3e392df102"
}
[deps]
source_file="res://objects/alexi-village/village_path1.png"
dest_files=["res://.godot/imported/village_path1.png-b141877cb3e248788bb687761f5d7d8b.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

View file

@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://1au3wl67jftw"
path.s3tc="res://.godot/imported/village_pathend.png-da02ec245ba0f6a5e302319cea413f59.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "7f0dbbe4cadd8db46fcb7b306ff3c733"
}
[deps]
source_file="res://objects/alexi-village/village_pathend.png"
dest_files=["res://.godot/imported/village_pathend.png-da02ec245ba0f6a5e302319cea413f59.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

View file

@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c360mw2oipflh"
path.s3tc="res://.godot/imported/village_pillar2.png-4e00ca64ecb29d2ea2645bb28f97af2e.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "350d013aa2916e010b814dbe4d171c2a"
}
[deps]
source_file="res://objects/alexi-village/village_pillar2.png"
dest_files=["res://.godot/imported/village_pillar2.png-4e00ca64ecb29d2ea2645bb28f97af2e.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

View file

@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dixmr4qco21bc"
path.s3tc="res://.godot/imported/village_stairs1.png-389547401ab3b32366e24870d78798b3.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "1022958f0a51292c0c3fcdb6df5745fb"
}
[deps]
source_file="res://objects/alexi-village/village_stairs1.png"
dest_files=["res://.godot/imported/village_stairs1.png-389547401ab3b32366e24870d78798b3.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 967 B

View file

@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dnw5p55o7ip7k"
path.s3tc="res://.godot/imported/village_windowinside.png-c6011ee4b216a39f0663b1ef0bb9d57a.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "fb1fa900b992d28f4427c4f40c94ea14"
}
[deps]
source_file="res://objects/alexi-village/village_windowinside.png"
dest_files=["res://.godot/imported/village_windowinside.png-c6011ee4b216a39f0663b1ef0bb9d57a.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 969 B

View file

@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bsi8reg0agi0g"
path.s3tc="res://.godot/imported/village_windowoutside.png-b0bee85c1f416e79ee1dce374eb87c91.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "23ff378783868506399b17efdb26ddb2"
}
[deps]
source_file="res://objects/alexi-village/village_windowoutside.png"
dest_files=["res://.godot/imported/village_windowoutside.png-b0bee85c1f416e79ee1dce374eb87c91.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View file

@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://s2tnfsv64tfx"
path.s3tc="res://.godot/imported/village_wood.png-b3d07d8a65dc507a66a0b8c85aa26cea.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "1b752781a5cd3629c3aba694f8e797ea"
}
[deps]
source_file="res://objects/alexi-village/village_wood.png"
dest_files=["res://.godot/imported/village_wood.png-b3d07d8a65dc507a66a0b8c85aa26cea.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 251 B

View file

@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://8ga1lbuomue6"
path.s3tc="res://.godot/imported/village_woodenfence.png-0962bbc13f07c2757dfd8c66fc93ee59.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "5e4269bcb5989ea0dbe2cb9e9385071c"
}
[deps]
source_file="res://objects/alexi-village/village_woodenfence.png"
dest_files=["res://.godot/imported/village_woodenfence.png-0962bbc13f07c2757dfd8c66fc93ee59.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

View file

@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://ihy3q0qurudr"
path.s3tc="res://.godot/imported/village_woodplanks.png-17671a5c77f47288d040abb30826f779.s3tc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "eafb138b070d0e44251956df60822c1d"
}
[deps]
source_file="res://objects/alexi-village/village_woodplanks.png"
dest_files=["res://.godot/imported/village_woodplanks.png-17671a5c77f47288d040abb30826f779.s3tc.ctex"]
[params]
compress/mode=2
compress/high_quality=false
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=0
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/hdr_as_srgb=false
process/hdr_clamp_exposure=false
process/size_limit=0
detect_3d/compress_to=0

File diff suppressed because one or more lines are too long

162
scenes/alexi-village.tscn Normal file
View file

@ -0,0 +1,162 @@
[gd_scene load_steps=14 format=3 uid="uid://3ai8eha0vqcs"]
[ext_resource type="PackedScene" uid="uid://c6fjxgsvo1ywl" path="res://scenes/alexi-village-map.tscn" id="1_kyhnp"]
[ext_resource type="PackedScene" uid="uid://ytbacsuahxie" path="res://scenes/HUD.tscn" id="1_o0eha"]
[ext_resource type="Script" path="res://scripts/maps/alexi-village.gd" id="1_rq7l4"]
[ext_resource type="PackedScene" uid="uid://buyvavyuwmccw" path="res://joystick/virtual_joystick.tscn" id="3_j88gu"]
[sub_resource type="Shader" id="Shader_cg7kc"]
code = "
// NOTE: Shader automatically converted from Godot Engine 4.2.1.stable's ProceduralSkyMaterial.
shader_type sky;
render_mode use_debanding;
uniform vec4 sky_top_color : source_color = vec4(0.385, 0.454, 0.55, 1.0);
uniform vec4 sky_horizon_color : source_color = vec4(0.646, 0.656, 0.67, 1.0);
uniform float sky_curve : hint_range(0, 1) = 0.15;
uniform float sky_energy = 1.0; // In Lux.
uniform sampler2D sky_cover : filter_linear, source_color, hint_default_black;
uniform vec4 sky_cover_modulate : source_color = vec4(1.0, 1.0, 1.0, 1.0);
uniform vec4 ground_bottom_color : source_color = vec4(0.2, 0.169, 0.133, 1.0);
uniform vec4 ground_horizon_color : source_color = vec4(0.646, 0.656, 0.67, 1.0);
uniform float ground_curve : hint_range(0, 1) = 0.02;
uniform float ground_energy = 1.0;
uniform float sun_angle_max = 30.0;
uniform float sun_curve : hint_range(0, 1) = 0.15;
uniform sampler2D cloud_texture;
uniform sampler2D cloud_texture2;
uniform vec2 cloud_direction;
uniform vec2 cloud_direction2;
uniform vec2 cloud_scale;
uniform float cloud_distance;
uniform float cloud_speed;
uniform float cloud_speed2;
void sky() {
float v_angle = acos(clamp(EYEDIR.y, -1.0, 1.0));
float c = (1.0 - v_angle / (PI * 0.5));
vec3 sky = mix(sky_horizon_color.rgb, sky_top_color.rgb, clamp(1.0 - pow(1.0 - c, 1.0 / sky_curve), 0.0, 1.0));
sky *= sky_energy;
if (LIGHT0_ENABLED) {
float sun_angle = acos(dot(LIGHT0_DIRECTION, EYEDIR));
if (sun_angle < LIGHT0_SIZE) {
sky = LIGHT0_COLOR * LIGHT0_ENERGY;
} else if (sun_angle < sun_angle_max) {
float c2 = (sun_angle - LIGHT0_SIZE) / (sun_angle_max - LIGHT0_SIZE);
sky = mix(LIGHT0_COLOR * LIGHT0_ENERGY, sky, clamp(1.0 - pow(1.0 - c2, 1.0 / sun_curve), 0.0, 1.0));
}
}
if (LIGHT1_ENABLED) {
float sun_angle = acos(dot(LIGHT1_DIRECTION, EYEDIR));
if (sun_angle < LIGHT1_SIZE) {
sky = LIGHT1_COLOR * LIGHT1_ENERGY;
} else if (sun_angle < sun_angle_max) {
float c2 = (sun_angle - LIGHT1_SIZE) / (sun_angle_max - LIGHT1_SIZE);
sky = mix(LIGHT1_COLOR * LIGHT1_ENERGY, sky, clamp(1.0 - pow(1.0 - c2, 1.0 / sun_curve), 0.0, 1.0));
}
}
if (LIGHT2_ENABLED) {
float sun_angle = acos(dot(LIGHT2_DIRECTION, EYEDIR));
if (sun_angle < LIGHT2_SIZE) {
sky = LIGHT2_COLOR * LIGHT2_ENERGY;
} else if (sun_angle < sun_angle_max) {
float c2 = (sun_angle - LIGHT2_SIZE) / (sun_angle_max - LIGHT2_SIZE);
sky = mix(LIGHT2_COLOR * LIGHT2_ENERGY, sky, clamp(1.0 - pow(1.0 - c2, 1.0 / sun_curve), 0.0, 1.0));
}
}
if (LIGHT3_ENABLED) {
float sun_angle = acos(dot(LIGHT3_DIRECTION, EYEDIR));
if (sun_angle < LIGHT3_SIZE) {
sky = LIGHT3_COLOR * LIGHT3_ENERGY;
} else if (sun_angle < sun_angle_max) {
float c2 = (sun_angle - LIGHT3_SIZE) / (sun_angle_max - LIGHT3_SIZE);
sky = mix(LIGHT3_COLOR * LIGHT3_ENERGY, sky, clamp(1.0 - pow(1.0 - c2, 1.0 / sun_curve), 0.0, 1.0));
}
}
vec4 sky_cover_texture = texture(sky_cover, SKY_COORDS);
sky += (sky_cover_texture.rgb * sky_cover_modulate.rgb) * sky_cover_texture.a * sky_cover_modulate.a * sky_energy;
c = (v_angle - (PI * 0.5)) / (PI * 0.5);
vec3 ground = mix(ground_horizon_color.rgb, ground_bottom_color.rgb, clamp(1.0 - pow(1.0 - c, 1.0 / ground_curve), 0.0, 1.0));
ground *= ground_energy;
vec2 sky_uv = EYEDIR.xz / EYEDIR.y;
vec3 clouds = texture(cloud_texture, sky_uv * cloud_scale + TIME * cloud_direction * cloud_speed).rgb - texture(cloud_texture2, sky_uv * cloud_scale + TIME * cloud_direction2 * cloud_speed2).rgb;
clouds = clouds - smoothstep(0.0, EYEDIR.y, cloud_distance);
clouds = clamp(clouds,0,1);
sky += clouds;
COLOR = mix(ground, sky, step(0.0, EYEDIR.y));
}
"
[sub_resource type="FastNoiseLite" id="FastNoiseLite_6glal"]
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_ovvby"]
width = 1024
height = 1024
seamless = true
noise = SubResource("FastNoiseLite_6glal")
[sub_resource type="Gradient" id="Gradient_3hqdm"]
[sub_resource type="FastNoiseLite" id="FastNoiseLite_1uff7"]
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_krh1g"]
width = 1024
height = 1024
seamless = true
color_ramp = SubResource("Gradient_3hqdm")
noise = SubResource("FastNoiseLite_1uff7")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_v3oi0"]
shader = SubResource("Shader_cg7kc")
shader_parameter/sky_top_color = Color(0.333333, 0.733333, 0.862745, 1)
shader_parameter/sky_horizon_color = Color(0.556863, 0.8, 0.862745, 1)
shader_parameter/sky_curve = 0.15
shader_parameter/sky_energy = 1.0
shader_parameter/sky_cover_modulate = Color(1, 1, 1, 1)
shader_parameter/ground_bottom_color = Color(1, 1, 1, 1)
shader_parameter/ground_horizon_color = Color(0.701961, 0.819608, 0.866667, 1)
shader_parameter/ground_curve = 0.02
shader_parameter/ground_energy = 1.0
shader_parameter/sun_angle_max = 0.523599
shader_parameter/sun_curve = 0.15
shader_parameter/cloud_direction = Vector2(-1, 1)
shader_parameter/cloud_direction2 = Vector2(1, -1)
shader_parameter/cloud_scale = Vector2(0.05, 0.05)
shader_parameter/cloud_distance = -0.025
shader_parameter/cloud_speed = 0.005
shader_parameter/cloud_speed2 = 0.004
shader_parameter/cloud_texture = SubResource("NoiseTexture2D_ovvby")
shader_parameter/cloud_texture2 = SubResource("NoiseTexture2D_krh1g")
[sub_resource type="Sky" id="Sky_1kp45"]
sky_material = SubResource("ShaderMaterial_v3oi0")
[sub_resource type="Environment" id="Environment_3dnl2"]
background_mode = 2
sky = SubResource("Sky_1kp45")
[node name="Alexi-village" type="Node3D"]
script = ExtResource("1_rq7l4")
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = SubResource("Environment_3dnl2")
[node name="HUD" parent="." instance=ExtResource("1_o0eha")]
[node name="village" parent="." instance=ExtResource("1_kyhnp")]
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(-0.0034906, -0.94887, 0.315647, 0, 0.315649, 0.948876, -0.999994, 0.00331215, -0.00110181, 0, 0, 0)
shadow_enabled = true
[node name="Virtual joystick" parent="." instance=ExtResource("3_j88gu")]

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=8 format=3 uid="uid://cv5bctupikqe7"]
[gd_scene load_steps=9 format=3 uid="uid://cv5bctupikqe7"]
[ext_resource type="Script" path="res://scripts/host.gd" id="1_r5rkm"]
[ext_resource type="Texture2D" uid="uid://b8hvwlbkrib4k" path="res://2DArt/Main Menu/PlayScreenHOST.png" id="2_s15iu"]
@ -6,6 +6,7 @@
[ext_resource type="Texture2D" uid="uid://br7n6qfnfpm4v" path="res://2DArt/host/mapIcons/islands.png" id="4_gvop1"]
[ext_resource type="Texture2D" uid="uid://6g3ltm1o5q38" path="res://2DArt/host/mapIcons/forest.png" id="5_4jx7h"]
[ext_resource type="Texture2D" uid="uid://888gbreh0kwg" path="res://2DArt/host/mapIcons/toyfactory.png" id="6_y4i2t"]
[ext_resource type="Texture2D" uid="uid://ckhwk5qftif2t" path="res://2DArt/host/mapIcons/alexi-village.png" id="7_10b3n"]
[sub_resource type="StyleBoxFlat" id="StyleBoxFlat_xhmtq"]
@ -57,6 +58,7 @@ offset_bottom = 202.0
text = "MAP SELECTION"
[node name="playground" type="Button" parent="."]
visible = false
layout_mode = 0
offset_left = 646.0
offset_top = 206.0
@ -64,22 +66,6 @@ offset_right = 797.0
offset_bottom = 241.0
text = "Toyland"
[node name="islandsButton" type="Button" parent="."]
layout_mode = 0
offset_left = 646.0
offset_top = 249.0
offset_right = 797.0
offset_bottom = 284.0
text = "Islands"
[node name="forrestButton" type="Button" parent="."]
layout_mode = 0
offset_left = 646.0
offset_top = 291.0
offset_right = 797.0
offset_bottom = 326.0
text = "Forest"
[node name="portBox" type="LineEdit" parent="."]
layout_mode = 0
offset_left = 726.0
@ -223,9 +209,15 @@ texture = ExtResource("5_4jx7h")
[node name="Toyfactory" type="Sprite2D" parent="."]
visible = false
position = Vector2(408, 287)
scale = Vector2(0.10025, 0.10025)
scale = Vector2(0.2, 0.2)
texture = ExtResource("6_y4i2t")
[node name="Alexi-village" type="Sprite2D" parent="."]
visible = false
position = Vector2(408, 287)
scale = Vector2(0.2, 0.2)
texture = ExtResource("7_10b3n")
[node name="Label2" type="Label" parent="."]
layout_mode = 0
offset_left = 351.0
@ -279,18 +271,15 @@ offset_right = 725.0
offset_bottom = 493.0
text = "Time (mins):"
[node name="toyfactoryButton" type="Button" parent="."]
[node name="mapSelectionButton" type="OptionButton" parent="."]
layout_mode = 0
offset_left = 646.0
offset_top = 332.0
offset_top = 206.0
offset_right = 797.0
offset_bottom = 367.0
text = "Toy Factory"
offset_bottom = 241.0
[connection signal="pressed" from="close" to="." method="_on_close_pressed"]
[connection signal="pressed" from="playground" to="." method="_on_playground_pressed"]
[connection signal="pressed" from="islandsButton" to="." method="_on_islands_pressed"]
[connection signal="pressed" from="forrestButton" to="." method="_on_forrest_button_pressed"]
[connection signal="pressed" from="startButton" to="." method="_on_start_button_pressed"]
[connection signal="pressed" from="joinButton" to="." method="_on_join_button_pressed"]
[connection signal="text_changed" from="playerNameBox" to="." method="_on_player_name_box_text_changed"]
@ -301,4 +290,4 @@ text = "Toy Factory"
[connection signal="button_down" from="GamemodeRunner" to="." method="_on_gamemode_runner_button_down"]
[connection signal="button_down" from="GamemodeTTT" to="." method="_on_gamemode_ttt_button_down"]
[connection signal="text_changed" from="roundTimer" to="." method="_on_round_timer_text_changed"]
[connection signal="pressed" from="toyfactoryButton" to="." method="_on_toyfactory_button_pressed"]
[connection signal="item_selected" from="mapSelectionButton" to="." method="_on_map_selection_button_item_selected"]

View file

@ -1,25 +1,149 @@
[gd_scene load_steps=8 format=3 uid="uid://bartuuv8bwyjg"]
[gd_scene load_steps=14 format=3 uid="uid://bartuuv8bwyjg"]
[ext_resource type="Script" path="res://scripts/maps/islands.gd" id="1_3oilq"]
[ext_resource type="PackedScene" uid="uid://ytbacsuahxie" path="res://scenes/HUD.tscn" id="2_2mo4q"]
[ext_resource type="PackedScene" uid="uid://cmrooias7kpru" path="res://scenes/islands-map.tscn" id="3_neuu1"]
[ext_resource type="PackedScene" uid="uid://buyvavyuwmccw" path="res://joystick/virtual_joystick.tscn" id="4_03mxr"]
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_m1tut"]
sky_top_color = Color(1, 0.509804, 0.384314, 1)
sky_horizon_color = Color(0.572549, 0.427451, 0.380392, 1)
sky_energy_multiplier = 2.0
ground_horizon_color = Color(0.8, 0.669701, 0.629328, 1)
ground_curve = 1.00427
[sub_resource type="Shader" id="Shader_6rtqo"]
code = "
// NOTE: Shader automatically converted from Godot Engine 4.2.1.stable's ProceduralSkyMaterial.
[sub_resource type="Sky" id="Sky_iaa40"]
sky_material = SubResource("ProceduralSkyMaterial_m1tut")
shader_type sky;
render_mode use_debanding;
[sub_resource type="Environment" id="Environment_fx5b2"]
uniform vec4 sky_top_color : source_color = vec4(0.385, 0.454, 0.55, 1.0);
uniform vec4 sky_horizon_color : source_color = vec4(0.646, 0.656, 0.67, 1.0);
uniform float sky_curve : hint_range(0, 1) = 0.15;
uniform float sky_energy = 1.0; // In Lux.
uniform sampler2D sky_cover : filter_linear, source_color, hint_default_black;
uniform vec4 sky_cover_modulate : source_color = vec4(1.0, 1.0, 1.0, 1.0);
uniform vec4 ground_bottom_color : source_color = vec4(0.2, 0.169, 0.133, 1.0);
uniform vec4 ground_horizon_color : source_color = vec4(0.646, 0.656, 0.67, 1.0);
uniform float ground_curve : hint_range(0, 1) = 0.02;
uniform float ground_energy = 1.0;
uniform float sun_angle_max = 30.0;
uniform float sun_curve : hint_range(0, 1) = 0.15;
uniform sampler2D cloud_texture;
uniform sampler2D cloud_texture2;
uniform vec2 cloud_direction;
uniform vec2 cloud_direction2;
uniform vec2 cloud_scale;
uniform float cloud_distance;
uniform float cloud_speed;
uniform float cloud_speed2;
void sky() {
float v_angle = acos(clamp(EYEDIR.y, -1.0, 1.0));
float c = (1.0 - v_angle / (PI * 0.5));
vec3 sky = mix(sky_horizon_color.rgb, sky_top_color.rgb, clamp(1.0 - pow(1.0 - c, 1.0 / sky_curve), 0.0, 1.0));
sky *= sky_energy;
if (LIGHT0_ENABLED) {
float sun_angle = acos(dot(LIGHT0_DIRECTION, EYEDIR));
if (sun_angle < LIGHT0_SIZE) {
sky = LIGHT0_COLOR * LIGHT0_ENERGY;
} else if (sun_angle < sun_angle_max) {
float c2 = (sun_angle - LIGHT0_SIZE) / (sun_angle_max - LIGHT0_SIZE);
sky = mix(LIGHT0_COLOR * LIGHT0_ENERGY, sky, clamp(1.0 - pow(1.0 - c2, 1.0 / sun_curve), 0.0, 1.0));
}
}
if (LIGHT1_ENABLED) {
float sun_angle = acos(dot(LIGHT1_DIRECTION, EYEDIR));
if (sun_angle < LIGHT1_SIZE) {
sky = LIGHT1_COLOR * LIGHT1_ENERGY;
} else if (sun_angle < sun_angle_max) {
float c2 = (sun_angle - LIGHT1_SIZE) / (sun_angle_max - LIGHT1_SIZE);
sky = mix(LIGHT1_COLOR * LIGHT1_ENERGY, sky, clamp(1.0 - pow(1.0 - c2, 1.0 / sun_curve), 0.0, 1.0));
}
}
if (LIGHT2_ENABLED) {
float sun_angle = acos(dot(LIGHT2_DIRECTION, EYEDIR));
if (sun_angle < LIGHT2_SIZE) {
sky = LIGHT2_COLOR * LIGHT2_ENERGY;
} else if (sun_angle < sun_angle_max) {
float c2 = (sun_angle - LIGHT2_SIZE) / (sun_angle_max - LIGHT2_SIZE);
sky = mix(LIGHT2_COLOR * LIGHT2_ENERGY, sky, clamp(1.0 - pow(1.0 - c2, 1.0 / sun_curve), 0.0, 1.0));
}
}
if (LIGHT3_ENABLED) {
float sun_angle = acos(dot(LIGHT3_DIRECTION, EYEDIR));
if (sun_angle < LIGHT3_SIZE) {
sky = LIGHT3_COLOR * LIGHT3_ENERGY;
} else if (sun_angle < sun_angle_max) {
float c2 = (sun_angle - LIGHT3_SIZE) / (sun_angle_max - LIGHT3_SIZE);
sky = mix(LIGHT3_COLOR * LIGHT3_ENERGY, sky, clamp(1.0 - pow(1.0 - c2, 1.0 / sun_curve), 0.0, 1.0));
}
}
vec4 sky_cover_texture = texture(sky_cover, SKY_COORDS);
sky += (sky_cover_texture.rgb * sky_cover_modulate.rgb) * sky_cover_texture.a * sky_cover_modulate.a * sky_energy;
c = (v_angle - (PI * 0.5)) / (PI * 0.5);
vec3 ground = mix(ground_horizon_color.rgb, ground_bottom_color.rgb, clamp(1.0 - pow(1.0 - c, 1.0 / ground_curve), 0.0, 1.0));
ground *= ground_energy;
vec2 sky_uv = EYEDIR.xz / EYEDIR.y;
vec3 clouds = texture(cloud_texture, sky_uv * cloud_scale + TIME * cloud_direction * cloud_speed).rgb - texture(cloud_texture2, sky_uv * cloud_scale + TIME * cloud_direction2 * cloud_speed2).rgb;
clouds = clouds - smoothstep(0.0, EYEDIR.y, cloud_distance);
clouds = clamp(clouds,0,1);
sky += clouds;
COLOR = mix(ground, sky, step(0.0, EYEDIR.y));
}
"
[sub_resource type="FastNoiseLite" id="FastNoiseLite_xmuk5"]
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_s2hgb"]
width = 1024
height = 1024
seamless = true
noise = SubResource("FastNoiseLite_xmuk5")
[sub_resource type="Gradient" id="Gradient_pecsg"]
[sub_resource type="FastNoiseLite" id="FastNoiseLite_rw0pi"]
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_pxixl"]
width = 1024
height = 1024
seamless = true
color_ramp = SubResource("Gradient_pecsg")
noise = SubResource("FastNoiseLite_rw0pi")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_ybu6k"]
shader = SubResource("Shader_6rtqo")
shader_parameter/sky_top_color = Color(1, 0.490803, 0.574236, 1)
shader_parameter/sky_horizon_color = Color(0.556863, 0.8, 0.862745, 1)
shader_parameter/sky_curve = 0.15
shader_parameter/sky_energy = 1.0
shader_parameter/sky_cover_modulate = Color(1, 1, 1, 1)
shader_parameter/ground_bottom_color = Color(1, 1, 1, 1)
shader_parameter/ground_horizon_color = Color(0.701961, 0.819608, 0.866667, 1)
shader_parameter/ground_curve = 0.02
shader_parameter/ground_energy = 1.0
shader_parameter/sun_angle_max = 0.523599
shader_parameter/sun_curve = 0.15
shader_parameter/cloud_direction = Vector2(-1, 1)
shader_parameter/cloud_direction2 = Vector2(1, -1)
shader_parameter/cloud_scale = Vector2(0.05, 0.05)
shader_parameter/cloud_distance = -0.025
shader_parameter/cloud_speed = 0.005
shader_parameter/cloud_speed2 = 0.004
shader_parameter/cloud_texture = SubResource("NoiseTexture2D_s2hgb")
shader_parameter/cloud_texture2 = SubResource("NoiseTexture2D_pxixl")
[sub_resource type="Sky" id="Sky_ppfx1"]
sky_material = SubResource("ShaderMaterial_ybu6k")
[sub_resource type="Environment" id="Environment_ofj6t"]
background_mode = 2
sky = SubResource("Sky_iaa40")
tonemap_mode = 2
glow_enabled = true
sky = SubResource("Sky_ppfx1")
[node name="islands" type="Node3D"]
script = ExtResource("1_3oilq")
@ -30,7 +154,7 @@ light_color = Color(0.980392, 0.372549, 0.333333, 1)
shadow_enabled = true
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = SubResource("Environment_fx5b2")
environment = SubResource("Environment_ofj6t")
[node name="HUD" parent="." instance=ExtResource("2_2mo4q")]

View file

@ -1,4 +1,4 @@
[gd_scene load_steps=9 format=3 uid="uid://8lhdy8kiejvt"]
[gd_scene load_steps=15 format=3 uid="uid://8lhdy8kiejvt"]
[ext_resource type="Script" path="res://scripts/mainmenu-background.gd" id="1_nn4qs"]
[ext_resource type="PackedScene" uid="uid://b3l10agcjfgdx" path="res://characters/teddy/model_glb/teddy.glb" id="2_mie3v"]
@ -6,21 +6,145 @@
[ext_resource type="ArrayMesh" uid="uid://cfsnb4hd7rws7" path="res://characters/Mr. Brown/0_SFusion.obj" id="5_44sv4"]
[ext_resource type="PackedScene" uid="uid://cmrooias7kpru" path="res://scenes/islands-map.tscn" id="5_ep6fx"]
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_5ejs4"]
sky_top_color = Color(1, 0.509804, 0.384314, 1)
sky_horizon_color = Color(0.572549, 0.427451, 0.380392, 1)
sky_energy_multiplier = 2.0
ground_horizon_color = Color(0.8, 0.669701, 0.629328, 1)
ground_curve = 1.00427
[sub_resource type="Shader" id="Shader_ayl4w"]
code = "
// NOTE: Shader automatically converted from Godot Engine 4.2.1.stable's ProceduralSkyMaterial.
[sub_resource type="Sky" id="Sky_ddrwh"]
sky_material = SubResource("ProceduralSkyMaterial_5ejs4")
shader_type sky;
render_mode use_debanding;
[sub_resource type="Environment" id="Environment_84qbp"]
uniform vec4 sky_top_color : source_color = vec4(0.385, 0.454, 0.55, 1.0);
uniform vec4 sky_horizon_color : source_color = vec4(0.646, 0.656, 0.67, 1.0);
uniform float sky_curve : hint_range(0, 1) = 0.15;
uniform float sky_energy = 1.0; // In Lux.
uniform sampler2D sky_cover : filter_linear, source_color, hint_default_black;
uniform vec4 sky_cover_modulate : source_color = vec4(1.0, 1.0, 1.0, 1.0);
uniform vec4 ground_bottom_color : source_color = vec4(0.2, 0.169, 0.133, 1.0);
uniform vec4 ground_horizon_color : source_color = vec4(0.646, 0.656, 0.67, 1.0);
uniform float ground_curve : hint_range(0, 1) = 0.02;
uniform float ground_energy = 1.0;
uniform float sun_angle_max = 30.0;
uniform float sun_curve : hint_range(0, 1) = 0.15;
uniform sampler2D cloud_texture;
uniform sampler2D cloud_texture2;
uniform vec2 cloud_direction;
uniform vec2 cloud_direction2;
uniform vec2 cloud_scale;
uniform float cloud_distance;
uniform float cloud_speed;
uniform float cloud_speed2;
void sky() {
float v_angle = acos(clamp(EYEDIR.y, -1.0, 1.0));
float c = (1.0 - v_angle / (PI * 0.5));
vec3 sky = mix(sky_horizon_color.rgb, sky_top_color.rgb, clamp(1.0 - pow(1.0 - c, 1.0 / sky_curve), 0.0, 1.0));
sky *= sky_energy;
if (LIGHT0_ENABLED) {
float sun_angle = acos(dot(LIGHT0_DIRECTION, EYEDIR));
if (sun_angle < LIGHT0_SIZE) {
sky = LIGHT0_COLOR * LIGHT0_ENERGY;
} else if (sun_angle < sun_angle_max) {
float c2 = (sun_angle - LIGHT0_SIZE) / (sun_angle_max - LIGHT0_SIZE);
sky = mix(LIGHT0_COLOR * LIGHT0_ENERGY, sky, clamp(1.0 - pow(1.0 - c2, 1.0 / sun_curve), 0.0, 1.0));
}
}
if (LIGHT1_ENABLED) {
float sun_angle = acos(dot(LIGHT1_DIRECTION, EYEDIR));
if (sun_angle < LIGHT1_SIZE) {
sky = LIGHT1_COLOR * LIGHT1_ENERGY;
} else if (sun_angle < sun_angle_max) {
float c2 = (sun_angle - LIGHT1_SIZE) / (sun_angle_max - LIGHT1_SIZE);
sky = mix(LIGHT1_COLOR * LIGHT1_ENERGY, sky, clamp(1.0 - pow(1.0 - c2, 1.0 / sun_curve), 0.0, 1.0));
}
}
if (LIGHT2_ENABLED) {
float sun_angle = acos(dot(LIGHT2_DIRECTION, EYEDIR));
if (sun_angle < LIGHT2_SIZE) {
sky = LIGHT2_COLOR * LIGHT2_ENERGY;
} else if (sun_angle < sun_angle_max) {
float c2 = (sun_angle - LIGHT2_SIZE) / (sun_angle_max - LIGHT2_SIZE);
sky = mix(LIGHT2_COLOR * LIGHT2_ENERGY, sky, clamp(1.0 - pow(1.0 - c2, 1.0 / sun_curve), 0.0, 1.0));
}
}
if (LIGHT3_ENABLED) {
float sun_angle = acos(dot(LIGHT3_DIRECTION, EYEDIR));
if (sun_angle < LIGHT3_SIZE) {
sky = LIGHT3_COLOR * LIGHT3_ENERGY;
} else if (sun_angle < sun_angle_max) {
float c2 = (sun_angle - LIGHT3_SIZE) / (sun_angle_max - LIGHT3_SIZE);
sky = mix(LIGHT3_COLOR * LIGHT3_ENERGY, sky, clamp(1.0 - pow(1.0 - c2, 1.0 / sun_curve), 0.0, 1.0));
}
}
vec4 sky_cover_texture = texture(sky_cover, SKY_COORDS);
sky += (sky_cover_texture.rgb * sky_cover_modulate.rgb) * sky_cover_texture.a * sky_cover_modulate.a * sky_energy;
c = (v_angle - (PI * 0.5)) / (PI * 0.5);
vec3 ground = mix(ground_horizon_color.rgb, ground_bottom_color.rgb, clamp(1.0 - pow(1.0 - c, 1.0 / ground_curve), 0.0, 1.0));
ground *= ground_energy;
vec2 sky_uv = EYEDIR.xz / EYEDIR.y;
vec3 clouds = texture(cloud_texture, sky_uv * cloud_scale + TIME * cloud_direction * cloud_speed).rgb - texture(cloud_texture2, sky_uv * cloud_scale + TIME * cloud_direction2 * cloud_speed2).rgb;
clouds = clouds - smoothstep(0.0, EYEDIR.y, cloud_distance);
clouds = clamp(clouds,0,1);
sky += clouds;
COLOR = mix(ground, sky, step(0.0, EYEDIR.y));
}
"
[sub_resource type="FastNoiseLite" id="FastNoiseLite_0f7so"]
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_11c3r"]
width = 1024
height = 1024
seamless = true
noise = SubResource("FastNoiseLite_0f7so")
[sub_resource type="Gradient" id="Gradient_q5ykc"]
[sub_resource type="FastNoiseLite" id="FastNoiseLite_qcsi3"]
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_lcj8k"]
width = 1024
height = 1024
seamless = true
color_ramp = SubResource("Gradient_q5ykc")
noise = SubResource("FastNoiseLite_qcsi3")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_3n1o5"]
shader = SubResource("Shader_ayl4w")
shader_parameter/sky_top_color = Color(1, 0.490803, 0.574236, 1)
shader_parameter/sky_horizon_color = Color(0.556863, 0.8, 0.862745, 1)
shader_parameter/sky_curve = 0.15
shader_parameter/sky_energy = 1.0
shader_parameter/sky_cover_modulate = Color(1, 1, 1, 1)
shader_parameter/ground_bottom_color = Color(1, 1, 1, 1)
shader_parameter/ground_horizon_color = Color(0.701961, 0.819608, 0.866667, 1)
shader_parameter/ground_curve = 0.02
shader_parameter/ground_energy = 1.0
shader_parameter/sun_angle_max = 0.523599
shader_parameter/sun_curve = 0.15
shader_parameter/cloud_direction = Vector2(-1, 1)
shader_parameter/cloud_direction2 = Vector2(1, -1)
shader_parameter/cloud_scale = Vector2(0.05, 0.05)
shader_parameter/cloud_distance = -0.025
shader_parameter/cloud_speed = 0.005
shader_parameter/cloud_speed2 = 0.004
shader_parameter/cloud_texture = SubResource("NoiseTexture2D_11c3r")
shader_parameter/cloud_texture2 = SubResource("NoiseTexture2D_lcj8k")
[sub_resource type="Sky" id="Sky_3pmd7"]
sky_material = SubResource("ShaderMaterial_3n1o5")
[sub_resource type="Environment" id="Environment_f0wx0"]
background_mode = 2
sky = SubResource("Sky_ddrwh")
tonemap_mode = 2
glow_enabled = true
sky = SubResource("Sky_3pmd7")
[node name="mainmenu-background" type="Node3D"]
script = ExtResource("1_nn4qs")
@ -50,7 +174,7 @@ light_color = Color(0.980392, 0.372549, 0.333333, 1)
shadow_enabled = true
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = SubResource("Environment_84qbp")
environment = SubResource("Environment_f0wx0")
[node name="eye_left" type="OmniLight3D" parent="."]
transform = Transform3D(0.198068, 0, 0.980188, 0, 1, 0, -0.980188, 0, 0.198068, 33.7271, 22.9874, 57.5761)

View file

@ -1,23 +1,149 @@
[gd_scene load_steps=8 format=3 uid="uid://ddy8gm0fq0dd3"]
[gd_scene load_steps=14 format=3 uid="uid://ddy8gm0fq0dd3"]
[ext_resource type="Script" path="res://scripts/maps/toyfactory.gd" id="1_xebe1"]
[ext_resource type="PackedScene" uid="uid://ytbacsuahxie" path="res://scenes/HUD.tscn" id="2_irab1"]
[ext_resource type="PackedScene" uid="uid://lqlwqgor8cas" path="res://scenes/toyfactory-map.tscn" id="3_3k25h"]
[ext_resource type="PackedScene" uid="uid://buyvavyuwmccw" path="res://joystick/virtual_joystick.tscn" id="4_nof1r"]
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_ell6n"]
sky_top_color = Color(0.870588, 0.894118, 0.92549, 1)
sky_horizon_color = Color(0.767647, 0.765779, 0.764623, 1)
ground_horizon_color = Color(0.767647, 0.765779, 0.764623, 1)
[sub_resource type="Shader" id="Shader_m1fpl"]
code = "
// NOTE: Shader automatically converted from Godot Engine 4.2.1.stable's ProceduralSkyMaterial.
[sub_resource type="Sky" id="Sky_lh0lw"]
sky_material = SubResource("ProceduralSkyMaterial_ell6n")
shader_type sky;
render_mode use_debanding;
[sub_resource type="Environment" id="Environment_fnphj"]
uniform vec4 sky_top_color : source_color = vec4(0.385, 0.454, 0.55, 1.0);
uniform vec4 sky_horizon_color : source_color = vec4(0.646, 0.656, 0.67, 1.0);
uniform float sky_curve : hint_range(0, 1) = 0.15;
uniform float sky_energy = 1.0; // In Lux.
uniform sampler2D sky_cover : filter_linear, source_color, hint_default_black;
uniform vec4 sky_cover_modulate : source_color = vec4(1.0, 1.0, 1.0, 1.0);
uniform vec4 ground_bottom_color : source_color = vec4(0.2, 0.169, 0.133, 1.0);
uniform vec4 ground_horizon_color : source_color = vec4(0.646, 0.656, 0.67, 1.0);
uniform float ground_curve : hint_range(0, 1) = 0.02;
uniform float ground_energy = 1.0;
uniform float sun_angle_max = 30.0;
uniform float sun_curve : hint_range(0, 1) = 0.15;
uniform sampler2D cloud_texture;
uniform sampler2D cloud_texture2;
uniform vec2 cloud_direction;
uniform vec2 cloud_direction2;
uniform vec2 cloud_scale;
uniform float cloud_distance;
uniform float cloud_speed;
uniform float cloud_speed2;
void sky() {
float v_angle = acos(clamp(EYEDIR.y, -1.0, 1.0));
float c = (1.0 - v_angle / (PI * 0.5));
vec3 sky = mix(sky_horizon_color.rgb, sky_top_color.rgb, clamp(1.0 - pow(1.0 - c, 1.0 / sky_curve), 0.0, 1.0));
sky *= sky_energy;
if (LIGHT0_ENABLED) {
float sun_angle = acos(dot(LIGHT0_DIRECTION, EYEDIR));
if (sun_angle < LIGHT0_SIZE) {
sky = LIGHT0_COLOR * LIGHT0_ENERGY;
} else if (sun_angle < sun_angle_max) {
float c2 = (sun_angle - LIGHT0_SIZE) / (sun_angle_max - LIGHT0_SIZE);
sky = mix(LIGHT0_COLOR * LIGHT0_ENERGY, sky, clamp(1.0 - pow(1.0 - c2, 1.0 / sun_curve), 0.0, 1.0));
}
}
if (LIGHT1_ENABLED) {
float sun_angle = acos(dot(LIGHT1_DIRECTION, EYEDIR));
if (sun_angle < LIGHT1_SIZE) {
sky = LIGHT1_COLOR * LIGHT1_ENERGY;
} else if (sun_angle < sun_angle_max) {
float c2 = (sun_angle - LIGHT1_SIZE) / (sun_angle_max - LIGHT1_SIZE);
sky = mix(LIGHT1_COLOR * LIGHT1_ENERGY, sky, clamp(1.0 - pow(1.0 - c2, 1.0 / sun_curve), 0.0, 1.0));
}
}
if (LIGHT2_ENABLED) {
float sun_angle = acos(dot(LIGHT2_DIRECTION, EYEDIR));
if (sun_angle < LIGHT2_SIZE) {
sky = LIGHT2_COLOR * LIGHT2_ENERGY;
} else if (sun_angle < sun_angle_max) {
float c2 = (sun_angle - LIGHT2_SIZE) / (sun_angle_max - LIGHT2_SIZE);
sky = mix(LIGHT2_COLOR * LIGHT2_ENERGY, sky, clamp(1.0 - pow(1.0 - c2, 1.0 / sun_curve), 0.0, 1.0));
}
}
if (LIGHT3_ENABLED) {
float sun_angle = acos(dot(LIGHT3_DIRECTION, EYEDIR));
if (sun_angle < LIGHT3_SIZE) {
sky = LIGHT3_COLOR * LIGHT3_ENERGY;
} else if (sun_angle < sun_angle_max) {
float c2 = (sun_angle - LIGHT3_SIZE) / (sun_angle_max - LIGHT3_SIZE);
sky = mix(LIGHT3_COLOR * LIGHT3_ENERGY, sky, clamp(1.0 - pow(1.0 - c2, 1.0 / sun_curve), 0.0, 1.0));
}
}
vec4 sky_cover_texture = texture(sky_cover, SKY_COORDS);
sky += (sky_cover_texture.rgb * sky_cover_modulate.rgb) * sky_cover_texture.a * sky_cover_modulate.a * sky_energy;
c = (v_angle - (PI * 0.5)) / (PI * 0.5);
vec3 ground = mix(ground_horizon_color.rgb, ground_bottom_color.rgb, clamp(1.0 - pow(1.0 - c, 1.0 / ground_curve), 0.0, 1.0));
ground *= ground_energy;
vec2 sky_uv = EYEDIR.xz / EYEDIR.y;
vec3 clouds = texture(cloud_texture, sky_uv * cloud_scale + TIME * cloud_direction * cloud_speed).rgb - texture(cloud_texture2, sky_uv * cloud_scale + TIME * cloud_direction2 * cloud_speed2).rgb;
clouds = clouds - smoothstep(0.0, EYEDIR.y, cloud_distance);
clouds = clamp(clouds,0,1);
sky += clouds;
COLOR = mix(ground, sky, step(0.0, EYEDIR.y));
}
"
[sub_resource type="FastNoiseLite" id="FastNoiseLite_gx4dj"]
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_xavvy"]
width = 1024
height = 1024
seamless = true
noise = SubResource("FastNoiseLite_gx4dj")
[sub_resource type="Gradient" id="Gradient_4euna"]
[sub_resource type="FastNoiseLite" id="FastNoiseLite_611vt"]
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_f5uun"]
width = 1024
height = 1024
seamless = true
color_ramp = SubResource("Gradient_4euna")
noise = SubResource("FastNoiseLite_611vt")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_13ca0"]
shader = SubResource("Shader_m1fpl")
shader_parameter/sky_top_color = Color(0.333333, 0.733333, 0.862745, 1)
shader_parameter/sky_horizon_color = Color(0.556863, 0.8, 0.862745, 1)
shader_parameter/sky_curve = 0.15
shader_parameter/sky_energy = 1.0
shader_parameter/sky_cover_modulate = Color(1, 1, 1, 1)
shader_parameter/ground_bottom_color = Color(1, 1, 1, 1)
shader_parameter/ground_horizon_color = Color(0.701961, 0.819608, 0.866667, 1)
shader_parameter/ground_curve = 0.02
shader_parameter/ground_energy = 1.0
shader_parameter/sun_angle_max = 0.523599
shader_parameter/sun_curve = 0.15
shader_parameter/cloud_direction = Vector2(-1, 1)
shader_parameter/cloud_direction2 = Vector2(1, -1)
shader_parameter/cloud_scale = Vector2(0.05, 0.05)
shader_parameter/cloud_distance = -0.025
shader_parameter/cloud_speed = 0.005
shader_parameter/cloud_speed2 = 0.004
shader_parameter/cloud_texture = SubResource("NoiseTexture2D_xavvy")
shader_parameter/cloud_texture2 = SubResource("NoiseTexture2D_f5uun")
[sub_resource type="Sky" id="Sky_q0sn5"]
sky_material = SubResource("ShaderMaterial_13ca0")
[sub_resource type="Environment" id="Environment_wqonp"]
background_mode = 2
sky = SubResource("Sky_lh0lw")
tonemap_mode = 2
glow_enabled = true
sky = SubResource("Sky_q0sn5")
[node name="toyfactory" type="Node3D"]
script = ExtResource("1_xebe1")
@ -26,7 +152,7 @@ script = ExtResource("1_xebe1")
show_behind_parent = true
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = SubResource("Environment_fnphj")
environment = SubResource("Environment_wqonp")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(-0.0034906, -0.94887, 0.315647, 0, 0.315649, 0.948876, -0.999994, 0.00331215, -0.00110181, 0, 0, 0)

View file

@ -2,7 +2,7 @@
[ext_resource type="Script" path="res://scripts/maps/toyland.gd" id="1_vq5un"]
[ext_resource type="PackedScene" uid="uid://ytbacsuahxie" path="res://scenes/HUD.tscn" id="1_w2y7j"]
[ext_resource type="PackedScene" uid="uid://1hbkdbrw4ulu" path="res://scenes/toyland-map.tscn" id="3_uudje"]
[ext_resource type="PackedScene" uid="uid://dsml5ghunpkn4" path="res://scenes/toyland-map.tscn" id="3_uudje"]
[ext_resource type="PackedScene" uid="uid://buyvavyuwmccw" path="res://joystick/virtual_joystick.tscn" id="4_2bpwn"]
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_7x31f"]

View file

@ -1,31 +1,157 @@
[gd_scene load_steps=10 format=3 uid="uid://dkokyp5lwhks4"]
[gd_scene load_steps=16 format=3 uid="uid://dkokyp5lwhks4"]
[ext_resource type="Script" path="res://scripts/maps/tutorial.gd" id="1_40ws8"]
[ext_resource type="PackedScene" uid="uid://ytbacsuahxie" path="res://scenes/HUD.tscn" id="2_s3v8n"]
[ext_resource type="PackedScene" uid="uid://y3fffh5cdbks" path="res://scenes/AI.tscn" id="4_fttoe"]
[ext_resource type="PackedScene" uid="uid://k5k5qie1i16i" path="res://scenes/farmland-map.tscn" id="5_imhi6"]
[ext_resource type="PackedScene" uid="uid://c8xhrpvld10bl" path="res://scenes/farmland-map.tscn" id="5_imhi6"]
[ext_resource type="PackedScene" uid="uid://buyvavyuwmccw" path="res://joystick/virtual_joystick.tscn" id="6_p8th3"]
[ext_resource type="VideoStream" path="res://videos/trailer.ogv" id="7_4deue"]
[sub_resource type="ProceduralSkyMaterial" id="ProceduralSkyMaterial_i5hsu"]
sky_top_color = Color(1, 1, 1, 1)
sky_horizon_color = Color(0.8, 0.79225, 0.78325, 1)
ground_horizon_color = Color(0.8, 0.79225, 0.78325, 1)
[sub_resource type="Shader" id="Shader_al5hh"]
code = "
// NOTE: Shader automatically converted from Godot Engine 4.2.1.stable's ProceduralSkyMaterial.
[sub_resource type="Sky" id="Sky_74emm"]
sky_material = SubResource("ProceduralSkyMaterial_i5hsu")
shader_type sky;
render_mode use_debanding;
[sub_resource type="Environment" id="Environment_jlsfy"]
uniform vec4 sky_top_color : source_color = vec4(0.385, 0.454, 0.55, 1.0);
uniform vec4 sky_horizon_color : source_color = vec4(0.646, 0.656, 0.67, 1.0);
uniform float sky_curve : hint_range(0, 1) = 0.15;
uniform float sky_energy = 1.0; // In Lux.
uniform sampler2D sky_cover : filter_linear, source_color, hint_default_black;
uniform vec4 sky_cover_modulate : source_color = vec4(1.0, 1.0, 1.0, 1.0);
uniform vec4 ground_bottom_color : source_color = vec4(0.2, 0.169, 0.133, 1.0);
uniform vec4 ground_horizon_color : source_color = vec4(0.646, 0.656, 0.67, 1.0);
uniform float ground_curve : hint_range(0, 1) = 0.02;
uniform float ground_energy = 1.0;
uniform float sun_angle_max = 30.0;
uniform float sun_curve : hint_range(0, 1) = 0.15;
uniform sampler2D cloud_texture;
uniform sampler2D cloud_texture2;
uniform vec2 cloud_direction;
uniform vec2 cloud_direction2;
uniform vec2 cloud_scale;
uniform float cloud_distance;
uniform float cloud_speed;
uniform float cloud_speed2;
void sky() {
float v_angle = acos(clamp(EYEDIR.y, -1.0, 1.0));
float c = (1.0 - v_angle / (PI * 0.5));
vec3 sky = mix(sky_horizon_color.rgb, sky_top_color.rgb, clamp(1.0 - pow(1.0 - c, 1.0 / sky_curve), 0.0, 1.0));
sky *= sky_energy;
if (LIGHT0_ENABLED) {
float sun_angle = acos(dot(LIGHT0_DIRECTION, EYEDIR));
if (sun_angle < LIGHT0_SIZE) {
sky = LIGHT0_COLOR * LIGHT0_ENERGY;
} else if (sun_angle < sun_angle_max) {
float c2 = (sun_angle - LIGHT0_SIZE) / (sun_angle_max - LIGHT0_SIZE);
sky = mix(LIGHT0_COLOR * LIGHT0_ENERGY, sky, clamp(1.0 - pow(1.0 - c2, 1.0 / sun_curve), 0.0, 1.0));
}
}
if (LIGHT1_ENABLED) {
float sun_angle = acos(dot(LIGHT1_DIRECTION, EYEDIR));
if (sun_angle < LIGHT1_SIZE) {
sky = LIGHT1_COLOR * LIGHT1_ENERGY;
} else if (sun_angle < sun_angle_max) {
float c2 = (sun_angle - LIGHT1_SIZE) / (sun_angle_max - LIGHT1_SIZE);
sky = mix(LIGHT1_COLOR * LIGHT1_ENERGY, sky, clamp(1.0 - pow(1.0 - c2, 1.0 / sun_curve), 0.0, 1.0));
}
}
if (LIGHT2_ENABLED) {
float sun_angle = acos(dot(LIGHT2_DIRECTION, EYEDIR));
if (sun_angle < LIGHT2_SIZE) {
sky = LIGHT2_COLOR * LIGHT2_ENERGY;
} else if (sun_angle < sun_angle_max) {
float c2 = (sun_angle - LIGHT2_SIZE) / (sun_angle_max - LIGHT2_SIZE);
sky = mix(LIGHT2_COLOR * LIGHT2_ENERGY, sky, clamp(1.0 - pow(1.0 - c2, 1.0 / sun_curve), 0.0, 1.0));
}
}
if (LIGHT3_ENABLED) {
float sun_angle = acos(dot(LIGHT3_DIRECTION, EYEDIR));
if (sun_angle < LIGHT3_SIZE) {
sky = LIGHT3_COLOR * LIGHT3_ENERGY;
} else if (sun_angle < sun_angle_max) {
float c2 = (sun_angle - LIGHT3_SIZE) / (sun_angle_max - LIGHT3_SIZE);
sky = mix(LIGHT3_COLOR * LIGHT3_ENERGY, sky, clamp(1.0 - pow(1.0 - c2, 1.0 / sun_curve), 0.0, 1.0));
}
}
vec4 sky_cover_texture = texture(sky_cover, SKY_COORDS);
sky += (sky_cover_texture.rgb * sky_cover_modulate.rgb) * sky_cover_texture.a * sky_cover_modulate.a * sky_energy;
c = (v_angle - (PI * 0.5)) / (PI * 0.5);
vec3 ground = mix(ground_horizon_color.rgb, ground_bottom_color.rgb, clamp(1.0 - pow(1.0 - c, 1.0 / ground_curve), 0.0, 1.0));
ground *= ground_energy;
vec2 sky_uv = EYEDIR.xz / EYEDIR.y;
vec3 clouds = texture(cloud_texture, sky_uv * cloud_scale + TIME * cloud_direction * cloud_speed).rgb - texture(cloud_texture2, sky_uv * cloud_scale + TIME * cloud_direction2 * cloud_speed2).rgb;
clouds = clouds - smoothstep(0.0, EYEDIR.y, cloud_distance);
clouds = clamp(clouds,0,1);
sky += clouds;
COLOR = mix(ground, sky, step(0.0, EYEDIR.y));
}
"
[sub_resource type="FastNoiseLite" id="FastNoiseLite_8n5pl"]
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_05et8"]
width = 1024
height = 1024
seamless = true
noise = SubResource("FastNoiseLite_8n5pl")
[sub_resource type="Gradient" id="Gradient_2eua1"]
[sub_resource type="FastNoiseLite" id="FastNoiseLite_mawxw"]
[sub_resource type="NoiseTexture2D" id="NoiseTexture2D_0oukt"]
width = 1024
height = 1024
seamless = true
color_ramp = SubResource("Gradient_2eua1")
noise = SubResource("FastNoiseLite_mawxw")
[sub_resource type="ShaderMaterial" id="ShaderMaterial_rppvg"]
shader = SubResource("Shader_al5hh")
shader_parameter/sky_top_color = Color(0.333333, 0.733333, 0.862745, 1)
shader_parameter/sky_horizon_color = Color(0.556863, 0.8, 0.862745, 1)
shader_parameter/sky_curve = 0.15
shader_parameter/sky_energy = 1.0
shader_parameter/sky_cover_modulate = Color(1, 1, 1, 1)
shader_parameter/ground_bottom_color = Color(1, 1, 1, 1)
shader_parameter/ground_horizon_color = Color(0.701961, 0.819608, 0.866667, 1)
shader_parameter/ground_curve = 0.02
shader_parameter/ground_energy = 1.0
shader_parameter/sun_angle_max = 0.523599
shader_parameter/sun_curve = 0.15
shader_parameter/cloud_direction = Vector2(-1, 1)
shader_parameter/cloud_direction2 = Vector2(1, -1)
shader_parameter/cloud_scale = Vector2(0.05, 0.05)
shader_parameter/cloud_distance = -0.025
shader_parameter/cloud_speed = 0.005
shader_parameter/cloud_speed2 = 0.004
shader_parameter/cloud_texture = SubResource("NoiseTexture2D_05et8")
shader_parameter/cloud_texture2 = SubResource("NoiseTexture2D_0oukt")
[sub_resource type="Sky" id="Sky_iuu8p"]
sky_material = SubResource("ShaderMaterial_rppvg")
[sub_resource type="Environment" id="Environment_locyx"]
background_mode = 2
sky = SubResource("Sky_74emm")
tonemap_mode = 2
glow_enabled = true
sky = SubResource("Sky_iuu8p")
[node name="tutorial" type="Node3D"]
script = ExtResource("1_40ws8")
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]
environment = SubResource("Environment_jlsfy")
environment = SubResource("Environment_locyx")
[node name="DirectionalLight3D" type="DirectionalLight3D" parent="."]
transform = Transform3D(-0.866025, -0.433013, 0.25, 0, 0.5, 0.866025, -0.5, 0.75, -0.433013, 0, 0, 0)

View file

@ -1,5 +1,5 @@
extends Node
var consoleEnabled = false # Change this to enable console
var consoleEnabled = true # Change this to enable console
var mouseSensitivity = 0.01 # Unless otherwise changed by user in settings
var playingGame = false # Should be true while in a map, set by menus
var fatigue = 100 # Makes it so you can't run forever, you have limited energy
@ -220,4 +220,11 @@ func spawn_locations():
spawnCoords_x[3] = -5.13
spawnCoords_y[3] = -11.01
spawnCoords_z[3] = -2.91
elif mapName == "alexi-village":
spawnCoords_x.resize(1)
spawnCoords_y.resize(1)
spawnCoords_z.resize(1)
spawnCoords_x[0] = -17.42
spawnCoords_y[0] = 2.88
spawnCoords_z[0] = 3.11

View file

@ -1,10 +1,20 @@
extends Node
var SCENE
@onready var mapSelection = $mapSelectionButton
func _ready():
$playerNameBox.text = Global.playerName
add_mapSelection_options()
func add_mapSelection_options():
mapSelection.add_item("Alexi Village", 0)
mapSelection.add_item("Forest", 1)
mapSelection.add_item("Islands", 2)
mapSelection.add_item("Toy Factory", 3)
mapSelection.add_item("Toyland", 4)
mapSelection.select(4)
toyland()
func _process(delta):
pass
@ -14,13 +24,13 @@ func _on_close_pressed():
self.queue_free()
func _on_playground_pressed():
func toyland():
$mapSelected.text = "Toyland"
Global.mapName = "Toyland"
SCENE = "res://scenes/toyland.tscn"
toggle_map_render("toyland")
func _on_islands_pressed():
func islands():
$mapSelected.text = "Islands"
Global.mapName = "Islands"
SCENE = "res://scenes/islands.tscn"
@ -28,18 +38,24 @@ func _on_islands_pressed():
$Toyland.visible = false
toggle_map_render("islands")
func _on_forrest_button_pressed():
func forest():
$mapSelected.text = "Forest"
Global.mapName = "Forrest"
SCENE = "res://scenes/forrest.tscn"
toggle_map_render("forest")
func _on_toyfactory_button_pressed():
func toy_factory():
$mapSelected.text = "Toy Factory"
Global.mapName = "toyfactory"
SCENE = "res://scenes/toyfactory.tscn"
toggle_map_render("toyfactory")
func alexi_village():
$mapSelected.text = "Alexi Village"
Global.mapName = "alexi-village"
SCENE = "res://scenes/alexi-village.tscn"
toggle_map_render("alexi-village")
func _on_start_button_pressed():
var PORT = $portBox.text
var MAX_PLAYERS = $playerBox.text
@ -138,6 +154,7 @@ func toggle_map_render(map):
$Islands.visible = false
$Forest.visible = false
$Toyfactory.visible = false
$"Alexi-village".visible = false
if map == "toyland":
$Toyland.visible = true
elif map == "islands":
@ -146,3 +163,22 @@ func toggle_map_render(map):
$Forest.visible = true
elif map == "toyfactory":
$Toyfactory.visible = true
elif map == "alexi-village":
$"Alexi-village".visible = true
func _on_map_selection_button_item_selected(index):
match index:
0:
alexi_village()
1:
forest()
2:
islands()
3:
toy_factory()
4:
toyland()
_:
toyland()

View file

@ -0,0 +1,46 @@
extends Node3D
@onready var mapNode = get_node("/root/Alexi-village")
var mapPath = "res://scenes/alexi-village.tscn"
var audio_stream_player = AudioStreamPlayer.new()
@onready var animationPlayer = get_node("/root/Alexi-village/village/AnimationPlayer")
func _ready():
Global.currentMapNode = mapNode
Global.currentMapPath = mapPath
Global.playerHealth = 100
Global.fatigue = 100
Global.playerYDeath = -100
func _process(delta):
if audio_stream_player.playing == false:
var randomnum = RandomNumberGenerator.new().randi_range(0, 3)
if randomnum == 0:
play_music(load("res://music/Dreamy-Hollow.mp3"))
Global.musicName = "Dreamy Hollow"
Global.musicAuthor = "Eric, Soundimage.org"
elif randomnum == 1:
play_music(load("res://music/Dungeons-and-Tunnels.mp3"))
Global.musicName = "Dungeons and Tunnels"
Global.musicAuthor = "Eric, Soundimage.org"
elif randomnum == 2:
play_music(load("res://music/Forward-Assault.mp3"))
Global.musicName = "Forward Assault"
Global.musicAuthor = "Eric, Soundimage.org"
elif randomnum == 3:
play_music(load("res://music/Frosty-Nights.mp3"))
Global.musicName = "Frosty Nights"
Global.musicAuthor = "Eric, Soundimage.org"
else:
print("This shouldn't ever be called, alexi-village.gd")
Global.musicUpdated = true
if not animationPlayer.is_playing():
animationPlayer.play("Empty_001Action")
func play_music(music):
audio_stream_player.set_stream(music)
add_child(audio_stream_player)
audio_stream_player.play()