mostly near final version of true route GOG room + planter blasts

This commit is contained in:
Pal
2026-04-06 17:25:57 -07:00
parent cf0a520048
commit 640145afe5
61 changed files with 2114 additions and 491 deletions

View File

@@ -318,22 +318,20 @@ jolt_physics_3d/simulation/areas_detect_static_bodies=true
textures/canvas_textures/default_texture_filter=0
textures/lossless_compression/force_png=true
lights_and_shadows/directional_shadow/size=2048
lights_and_shadows/directional_shadow/soft_shadow_filter_quality=4
lights_and_shadows/directional_shadow/16_bits=false
lights_and_shadows/positional_shadow/soft_shadow_filter_quality=3
lights_and_shadows/positional_shadow/soft_shadow_filter_quality=4
lights_and_shadows/positional_shadow/atlas_16_bits=false
global_illumination/voxel_gi/quality=1
textures/default_filters/anisotropic_filtering_level=0
anti_aliasing/quality/msaa_2d=1
anti_aliasing/quality/msaa_3d=1
anti_aliasing/quality/msaa_2d=2
anti_aliasing/quality/msaa_3d=2
environment/screen_space_reflection/roughness_quality=2
environment/subsurface_scattering/subsurface_scattering_quality=2
global_illumination/sdfgi/probe_ray_count=2
global_illumination/sdfgi/frames_to_update_lights=1
lights_and_shadows/tighter_shadow_caster_culling=false
anti_aliasing/quality/screen_space_aa=1
mesh_lod/lod_change/threshold_pixels=0.0
2d/snap/snap_2d_transforms_to_pixel=true
2d/snap/snap_2d_vertices_to_pixel=true
lights_and_shadows/positional_shadow/atlas_quadrant_0_subdiv=3
lights_and_shadows/positional_shadow/atlas_quadrant_1_subdiv=3

Binary file not shown.

View File

@@ -0,0 +1,19 @@
[remap]
importer="oggvorbisstr"
type="AudioStreamOggVorbis"
uid="uid://cgk17d8erskht"
path="res://.godot/imported/amb_ocean.ogg-01a11020be2db82b0e22d1423cb26aa3.oggvorbisstr"
[deps]
source_file="res://src/audio/amb/amb_ocean.ogg"
dest_files=["res://.godot/imported/amb_ocean.ogg-01a11020be2db82b0e22d1423cb26aa3.oggvorbisstr"]
[params]
loop=false
loop_offset=0
bpm=0
beat_count=0
bar_beats=4

View File

@@ -19,33 +19,33 @@ public partial class Michael : Enemy2D, IHavePatrolBehavior, IHaveEngagePlayerBe
public void OnReady()
{
FollowBehavior.Init(NavigationAgent);
PatrolBehavior.Init(NavigationAgent);
PatrolBehavior.HomePosition = GlobalPosition;
PatrolBehavior.OnVelocityComputed += OnVelocityComputed;
FollowBehavior.OnVelocityComputed += OnVelocityComputed;
EngagePlayerBehavior.TakeAction += EngagePlayerBehavior_TakeAction;
EngagePlayerBehavior.AcquireTarget += EngagePlayerBehavior_AcquireTarget;
PlayerDetector.BodyEntered += PlayerDetector_BodyEntered;
PlayerDetector.BodyExited += PlayerDetector_BodyExited;
SetPhysicsProcess(true);
FollowBehavior.Init(NavigationAgent);
PatrolBehavior.Init(NavigationAgent);
PatrolBehavior.HomePosition = GlobalPosition;
PatrolBehavior.OnVelocityComputed += OnVelocityComputed;
FollowBehavior.OnVelocityComputed += OnVelocityComputed;
EngagePlayerBehavior.TakeAction += EngagePlayerBehavior_TakeAction;
EngagePlayerBehavior.AcquireTarget += EngagePlayerBehavior_AcquireTarget;
PlayerDetector.BodyEntered += PlayerDetector_BodyEntered;
PlayerDetector.BodyExited += PlayerDetector_BodyExited;
SetPhysicsProcess(true);
}
public void OnResolved()
{
_enemyLogic.Input(new EnemyLogic.Input.Patrol());
_enemyLogic.Input(new EnemyLogic.Input.Patrol());
}
public override void Move() => EnemyModelView.PlayIdleAnimation();
public new void OnExitTree()
{
base.OnExitTree();
PatrolBehavior.OnVelocityComputed -= OnVelocityComputed;
FollowBehavior.OnVelocityComputed -= OnVelocityComputed;
EngagePlayerBehavior.TakeAction -= EngagePlayerBehavior_TakeAction;
EngagePlayerBehavior.AcquireTarget -= EngagePlayerBehavior_AcquireTarget;
PlayerDetector.BodyEntered -= PlayerDetector_BodyEntered;
PlayerDetector.BodyExited -= PlayerDetector_BodyExited;
base.OnExitTree();
PatrolBehavior.OnVelocityComputed -= OnVelocityComputed;
FollowBehavior.OnVelocityComputed -= OnVelocityComputed;
EngagePlayerBehavior.TakeAction -= EngagePlayerBehavior_TakeAction;
EngagePlayerBehavior.AcquireTarget -= EngagePlayerBehavior_AcquireTarget;
PlayerDetector.BodyEntered -= PlayerDetector_BodyEntered;
PlayerDetector.BodyExited -= PlayerDetector_BodyExited;
}
}

View File

@@ -0,0 +1,9 @@
[gd_resource type="VisualShader" format=3 uid="uid://dkpdbgolur736"]
[resource]
code = "shader_type spatial;
render_mode blend_mix, depth_draw_opaque, cull_back, diffuse_lambert, specular_schlick_ggx;
"

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=502 format=4 uid="uid://c1b40cih6aoqd"]
[gd_scene load_steps=558 format=4 uid="uid://c1b40cih6aoqd"]
[ext_resource type="Texture2D" uid="uid://cuamg0vmjxlh6" path="res://src/enemy/enemy_types/06. Planter/Chariot Planter_metal_0065_color_1k.jpg" id="1_mfqpx"]
[ext_resource type="Texture2D" uid="uid://b5t8j1qyeiylk" path="res://src/enemy/enemy_types/06. Planter/Chariot Planter_metal_0065_metallic_1k.png" id="2_dj1co"]
@@ -374,7 +374,8 @@
[ext_resource type="Texture2D" uid="uid://cegfsxdx7g361" path="res://src/enemy/enemy_types/06. Planter/Animation Frames/Side/0238.webp" id="372_2qccs"]
[ext_resource type="Texture2D" uid="uid://c8fuc7x6i365r" path="res://src/enemy/enemy_types/06. Planter/Animation Frames/Side/0240.webp" id="373_ardlk"]
[ext_resource type="Texture2D" uid="uid://dpp6843bvoigd" path="res://src/enemy/enemy_types/06. Planter/Animation Frames/Side/0242.webp" id="374_sgbrc"]
[ext_resource type="Texture2D" uid="uid://cv83xpm5cd8mv" path="res://src/vfx/Enemy/chariot_blast.png" id="375_3734s"]
[ext_resource type="Texture2D" uid="uid://c6y4s5ei4ncfu" path="res://src/vfx/Enemy/planter_blast_r.png" id="375_3b478"]
[ext_resource type="Texture2D" uid="uid://v1lji6ask1y2" path="res://src/vfx/Enemy/planter_close.png" id="376_nwi43"]
[ext_resource type="Texture2D" uid="uid://bjlv5d7xgxq45" path="res://src/vfx/Enemy/chariot_projectile/tile000.png" id="446_kdla4"]
[ext_resource type="Texture2D" uid="uid://btoglwx2farou" path="res://src/vfx/Enemy/chariot_projectile/tile001.png" id="447_sogr3"]
[ext_resource type="Texture2D" uid="uid://byllvvylyfyjw" path="res://src/vfx/Enemy/chariot_projectile/tile002.png" id="448_aaefi"]
@@ -1810,205 +1811,595 @@ _data = {
&"RESET": SubResource("Animation_mud4o")
}
[sub_resource type="AtlasTexture" id="AtlasTexture_t2d7k"]
atlas = ExtResource("375_3734s")
[sub_resource type="AtlasTexture" id="AtlasTexture_m671b"]
atlas = ExtResource("375_3b478")
region = Rect2(0, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_fwkqx"]
atlas = ExtResource("375_3b478")
region = Rect2(512, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_whvr3"]
atlas = ExtResource("375_3b478")
region = Rect2(1024, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_ig27o"]
atlas = ExtResource("375_3734s")
[sub_resource type="AtlasTexture" id="AtlasTexture_jocho"]
atlas = ExtResource("375_3b478")
region = Rect2(1536, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_behrq"]
atlas = ExtResource("375_3734s")
[sub_resource type="AtlasTexture" id="AtlasTexture_oql8q"]
atlas = ExtResource("375_3b478")
region = Rect2(2048, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_86buh"]
atlas = ExtResource("375_3734s")
[sub_resource type="AtlasTexture" id="AtlasTexture_jnnb5"]
atlas = ExtResource("375_3b478")
region = Rect2(2560, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_p70s4"]
atlas = ExtResource("375_3734s")
[sub_resource type="AtlasTexture" id="AtlasTexture_5j58v"]
atlas = ExtResource("375_3b478")
region = Rect2(3072, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_jrkfh"]
atlas = ExtResource("375_3734s")
[sub_resource type="AtlasTexture" id="AtlasTexture_8j684"]
atlas = ExtResource("375_3b478")
region = Rect2(3584, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_mud4o"]
atlas = ExtResource("375_3734s")
[sub_resource type="AtlasTexture" id="AtlasTexture_0bsfq"]
atlas = ExtResource("375_3b478")
region = Rect2(4096, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_vxyya"]
atlas = ExtResource("375_3734s")
[sub_resource type="AtlasTexture" id="AtlasTexture_avvvj"]
atlas = ExtResource("375_3b478")
region = Rect2(4608, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_jj0f0"]
atlas = ExtResource("375_3734s")
[sub_resource type="AtlasTexture" id="AtlasTexture_xnhpo"]
atlas = ExtResource("375_3b478")
region = Rect2(5120, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_28bos"]
atlas = ExtResource("375_3734s")
[sub_resource type="AtlasTexture" id="AtlasTexture_q8usk"]
atlas = ExtResource("375_3b478")
region = Rect2(5632, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_ylf7i"]
atlas = ExtResource("375_3734s")
[sub_resource type="AtlasTexture" id="AtlasTexture_3x2ur"]
atlas = ExtResource("375_3b478")
region = Rect2(6144, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_btfu3"]
atlas = ExtResource("375_3734s")
[sub_resource type="AtlasTexture" id="AtlasTexture_mfwry"]
atlas = ExtResource("375_3b478")
region = Rect2(6656, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_yl7ba"]
atlas = ExtResource("375_3734s")
[sub_resource type="AtlasTexture" id="AtlasTexture_6gx0j"]
atlas = ExtResource("375_3b478")
region = Rect2(7168, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_katqq"]
atlas = ExtResource("375_3734s")
[sub_resource type="AtlasTexture" id="AtlasTexture_n3ova"]
atlas = ExtResource("375_3b478")
region = Rect2(7680, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_50tti"]
atlas = ExtResource("375_3734s")
region = Rect2(8192, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_nmnlv"]
atlas = ExtResource("375_3b478")
region = Rect2(0, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_3uias"]
atlas = ExtResource("375_3734s")
region = Rect2(8704, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_wph3c"]
atlas = ExtResource("375_3b478")
region = Rect2(512, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_e82ix"]
atlas = ExtResource("375_3734s")
region = Rect2(9216, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_q482g"]
atlas = ExtResource("375_3b478")
region = Rect2(1024, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_fxpqr"]
atlas = ExtResource("375_3734s")
region = Rect2(9728, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_k3g8s"]
atlas = ExtResource("375_3b478")
region = Rect2(1536, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_t50im"]
atlas = ExtResource("375_3734s")
region = Rect2(10240, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_br80t"]
atlas = ExtResource("375_3b478")
region = Rect2(2048, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_pf5g7"]
atlas = ExtResource("375_3734s")
region = Rect2(10752, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_0w56i"]
atlas = ExtResource("375_3b478")
region = Rect2(2560, 512, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_0qxo1"]
atlas = ExtResource("375_3734s")
region = Rect2(11264, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_q68rh"]
atlas = ExtResource("375_3734s")
region = Rect2(11776, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_ou1lf"]
atlas = ExtResource("375_3734s")
region = Rect2(12288, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_qbpj5"]
atlas = ExtResource("375_3734s")
region = Rect2(12800, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_jd70t"]
atlas = ExtResource("375_3734s")
region = Rect2(13312, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_ihqjo"]
atlas = ExtResource("375_3734s")
region = Rect2(13824, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_sxhkj"]
atlas = ExtResource("375_3734s")
region = Rect2(14336, 0, 512, 512)
[sub_resource type="AtlasTexture" id="AtlasTexture_scdl3"]
atlas = ExtResource("375_3b478")
region = Rect2(3072, 512, 512, 512)
[sub_resource type="SpriteFrames" id="SpriteFrames_hulf2"]
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_t2d7k")
"texture": SubResource("AtlasTexture_m671b")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ig27o")
"texture": SubResource("AtlasTexture_fwkqx")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_behrq")
"texture": SubResource("AtlasTexture_whvr3")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_86buh")
"texture": SubResource("AtlasTexture_jocho")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_p70s4")
"texture": SubResource("AtlasTexture_oql8q")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_jrkfh")
"texture": SubResource("AtlasTexture_jnnb5")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_mud4o")
"texture": SubResource("AtlasTexture_5j58v")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_vxyya")
"texture": SubResource("AtlasTexture_8j684")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_jj0f0")
"texture": SubResource("AtlasTexture_0bsfq")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_28bos")
"texture": SubResource("AtlasTexture_avvvj")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ylf7i")
"texture": SubResource("AtlasTexture_xnhpo")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_btfu3")
"texture": SubResource("AtlasTexture_q8usk")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_yl7ba")
"texture": SubResource("AtlasTexture_3x2ur")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_katqq")
"texture": SubResource("AtlasTexture_mfwry")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_50tti")
"texture": SubResource("AtlasTexture_6gx0j")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_3uias")
"texture": SubResource("AtlasTexture_n3ova")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_e82ix")
"texture": SubResource("AtlasTexture_nmnlv")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_fxpqr")
"texture": SubResource("AtlasTexture_wph3c")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_t50im")
"texture": SubResource("AtlasTexture_q482g")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_pf5g7")
"texture": SubResource("AtlasTexture_k3g8s")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_0qxo1")
"texture": SubResource("AtlasTexture_br80t")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_q68rh")
"texture": SubResource("AtlasTexture_0w56i")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ou1lf")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_qbpj5")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_jd70t")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ihqjo")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_sxhkj")
"texture": SubResource("AtlasTexture_scdl3")
}],
"loop": false,
"name": &"default",
"speed": 30.0
"speed": 35.0
}]
[sub_resource type="AtlasTexture" id="AtlasTexture_d44c6"]
atlas = ExtResource("376_nwi43")
region = Rect2(268, 0, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_0mbey"]
atlas = ExtResource("376_nwi43")
region = Rect2(536, 0, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_6gi26"]
atlas = ExtResource("376_nwi43")
region = Rect2(804, 0, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_ad5ec"]
atlas = ExtResource("376_nwi43")
region = Rect2(1072, 0, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_03y8a"]
atlas = ExtResource("376_nwi43")
region = Rect2(1340, 0, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_j1n05"]
atlas = ExtResource("376_nwi43")
region = Rect2(268, 134, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_aui3b"]
atlas = ExtResource("376_nwi43")
region = Rect2(536, 134, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_ukn5q"]
atlas = ExtResource("376_nwi43")
region = Rect2(804, 134, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_bp351"]
atlas = ExtResource("376_nwi43")
region = Rect2(1072, 134, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_546ol"]
atlas = ExtResource("376_nwi43")
region = Rect2(1340, 134, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_130yb"]
atlas = ExtResource("376_nwi43")
region = Rect2(0, 268, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_jfgol"]
atlas = ExtResource("376_nwi43")
region = Rect2(268, 268, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_x3auq"]
atlas = ExtResource("376_nwi43")
region = Rect2(536, 268, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_aa41o"]
atlas = ExtResource("376_nwi43")
region = Rect2(804, 268, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_lvs67"]
atlas = ExtResource("376_nwi43")
region = Rect2(1072, 268, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_86yh6"]
atlas = ExtResource("376_nwi43")
region = Rect2(0, 402, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_n8tnw"]
atlas = ExtResource("376_nwi43")
region = Rect2(268, 402, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_o5n44"]
atlas = ExtResource("376_nwi43")
region = Rect2(536, 402, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_6g1ix"]
atlas = ExtResource("376_nwi43")
region = Rect2(804, 402, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_irjif"]
atlas = ExtResource("376_nwi43")
region = Rect2(1072, 402, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_g3vvp"]
atlas = ExtResource("376_nwi43")
region = Rect2(1206, 402, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_nvsmk"]
atlas = ExtResource("376_nwi43")
region = Rect2(0, 536, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_6eot5"]
atlas = ExtResource("376_nwi43")
region = Rect2(268, 536, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_ussk7"]
atlas = ExtResource("376_nwi43")
region = Rect2(536, 536, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_icgdr"]
atlas = ExtResource("376_nwi43")
region = Rect2(804, 536, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_1svpy"]
atlas = ExtResource("376_nwi43")
region = Rect2(1206, 536, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_wn4al"]
atlas = ExtResource("376_nwi43")
region = Rect2(0, 670, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_msbsg"]
atlas = ExtResource("376_nwi43")
region = Rect2(268, 670, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_4bwy0"]
atlas = ExtResource("376_nwi43")
region = Rect2(536, 670, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_b2vdw"]
atlas = ExtResource("376_nwi43")
region = Rect2(804, 670, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_22taf"]
atlas = ExtResource("376_nwi43")
region = Rect2(938, 670, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_jabja"]
atlas = ExtResource("376_nwi43")
region = Rect2(1206, 670, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_70d3r"]
atlas = ExtResource("376_nwi43")
region = Rect2(0, 804, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_iqtp6"]
atlas = ExtResource("376_nwi43")
region = Rect2(268, 804, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_ensi0"]
atlas = ExtResource("376_nwi43")
region = Rect2(536, 804, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_2lrdk"]
atlas = ExtResource("376_nwi43")
region = Rect2(938, 804, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_pgn45"]
atlas = ExtResource("376_nwi43")
region = Rect2(1206, 804, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_kcnno"]
atlas = ExtResource("376_nwi43")
region = Rect2(0, 938, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_qfcgr"]
atlas = ExtResource("376_nwi43")
region = Rect2(268, 938, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_esx26"]
atlas = ExtResource("376_nwi43")
region = Rect2(536, 938, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_3qnv6"]
atlas = ExtResource("376_nwi43")
region = Rect2(670, 938, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_7ymeu"]
atlas = ExtResource("376_nwi43")
region = Rect2(938, 938, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_r6uvo"]
atlas = ExtResource("376_nwi43")
region = Rect2(1206, 938, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_o42vc"]
atlas = ExtResource("376_nwi43")
region = Rect2(0, 1072, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_3734s"]
atlas = ExtResource("376_nwi43")
region = Rect2(268, 1072, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_awup6"]
atlas = ExtResource("376_nwi43")
region = Rect2(670, 1072, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_bxvto"]
atlas = ExtResource("376_nwi43")
region = Rect2(938, 1072, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_n87jt"]
atlas = ExtResource("376_nwi43")
region = Rect2(1072, 1072, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_gy2kb"]
atlas = ExtResource("376_nwi43")
region = Rect2(0, 1206, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_s75kh"]
atlas = ExtResource("376_nwi43")
region = Rect2(268, 1206, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_nbb1t"]
atlas = ExtResource("376_nwi43")
region = Rect2(402, 1206, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_lgcb3"]
atlas = ExtResource("376_nwi43")
region = Rect2(670, 1206, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_y2tu4"]
atlas = ExtResource("376_nwi43")
region = Rect2(938, 1206, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_auwtg"]
atlas = ExtResource("376_nwi43")
region = Rect2(1206, 1206, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_vlp60"]
atlas = ExtResource("376_nwi43")
region = Rect2(0, 1340, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_6hbno"]
atlas = ExtResource("376_nwi43")
region = Rect2(402, 1340, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_ybgmd"]
atlas = ExtResource("376_nwi43")
region = Rect2(670, 1340, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_hed7u"]
atlas = ExtResource("376_nwi43")
region = Rect2(938, 1340, 134, 134)
[sub_resource type="AtlasTexture" id="AtlasTexture_kpejs"]
atlas = ExtResource("376_nwi43")
region = Rect2(1206, 1340, 134, 134)
[sub_resource type="SpriteFrames" id="SpriteFrames_gb534"]
animations = []
animations = [{
"frames": [{
"duration": 1.0,
"texture": SubResource("AtlasTexture_d44c6")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_0mbey")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_6gi26")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ad5ec")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_03y8a")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_j1n05")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_aui3b")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ukn5q")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_bp351")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_546ol")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_130yb")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_jfgol")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_x3auq")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_aa41o")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_lvs67")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_86yh6")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_n8tnw")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_o5n44")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_6g1ix")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_irjif")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_g3vvp")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_nvsmk")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_6eot5")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ussk7")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_icgdr")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_1svpy")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_wn4al")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_msbsg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_4bwy0")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_b2vdw")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_22taf")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_jabja")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_70d3r")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_iqtp6")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ensi0")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_2lrdk")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_pgn45")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_kcnno")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_qfcgr")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_esx26")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_3qnv6")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_7ymeu")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_r6uvo")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_o42vc")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_3734s")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_awup6")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_bxvto")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_n87jt")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_gy2kb")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_s75kh")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_nbb1t")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_lgcb3")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_y2tu4")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_auwtg")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_vlp60")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_6hbno")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_ybgmd")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_hed7u")
}, {
"duration": 1.0,
"texture": SubResource("AtlasTexture_kpejs")
}],
"loop": false,
"name": &"Planter Close Range",
"speed": 50.0
}]
[sub_resource type="SpriteFrames" id="SpriteFrames_t31ld"]
animations = [{
@@ -2389,7 +2780,7 @@ billboard = 1
texture_filter = 0
sprite_frames = SubResource("SpriteFrames_ctnrp")
animation = &"Attack FRONT"
frame_progress = 0.463413
frame_progress = 0.059458
[node name="AnimationPlayer" type="AnimationPlayer" parent="."]
@@ -2400,14 +2791,16 @@ libraries = {
}
[node name="Attack 1" type="AnimatedSprite3D" parent="Attack VFX Player"]
transform = Transform3D(0.84, 0, 0, 0, 0.84, 0, 0, 0, 0.84, -0.0522106, 3.2741, 0)
transform = Transform3D(1.155, 0, 0, 0, 1.155, 0, 0, 0, 1.155, -0.0522106, 3.2741, 1.02429)
billboard = 1
sprite_frames = SubResource("SpriteFrames_hulf2")
frame = 26
frame = 22
[node name="Attack 2" type="AnimatedSprite3D" parent="Attack VFX Player"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 3.30515, 0)
transform = Transform3D(2.675, 0, 0, 0, 2.675, 0, 0, 0, 2.675, 0, 3.30515, 0)
texture_filter = 0
sprite_frames = SubResource("SpriteFrames_gb534")
animation = &""
animation = &"Planter Close Range"
[node name="Projectile1" type="Node3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1.44543, 0)

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bas4s04h64fhc"
path.bptc="res://.godot/imported/Mask of Guidance.png-e2b5bc08d13f23a98b5dca8a1dd905e2.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/items/accessory/textures/Mask of Guidance.png"
dest_files=["res://.godot/imported/Mask of Guidance.png-e2b5bc08d13f23a98b5dca8a1dd905e2.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
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=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dak82ucyob4w0"
path.bptc="res://.godot/imported/111.png-8783f96282702aa318ff0933e110e7eb.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/map/assets/Posed GOG/111.png"
dest_files=["res://.godot/imported/111.png-8783f96282702aa318ff0933e110e7eb.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
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=0

View File

@@ -0,0 +1,37 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://lbs7wrwf4aft"
path="res://.godot/imported/Blocks Scene.glb-23f26ac49f590451a83063c85d92ac1b.scn"
[deps]
source_file="res://src/map/assets/Posed GOG/Blocks Scene.glb"
dest_files=["res://.godot/imported/Blocks Scene.glb-23f26ac49f590451a83063c85d92ac1b.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_node_type_suffixes=true
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
animation/import_rest_as_RESET=false
import_script/path=""
_subresources={}
gltf/naming_version=1
gltf/embedded_image_handling=1

View File

@@ -0,0 +1,37 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://ciwa13hffmbe1"
path="res://.godot/imported/poseableGPOG3.glb-b9e1245c47534f65fd7436f1397b117c.scn"
[deps]
source_file="res://src/map/assets/Posed GOG/poseableGPOG3.glb"
dest_files=["res://.godot/imported/poseableGPOG3.glb-b9e1245c47534f65fd7436f1397b117c.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_node_type_suffixes=true
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
animation/import_rest_as_RESET=false
import_script/path=""
_subresources={}
gltf/naming_version=1
gltf/embedded_image_handling=1

Binary file not shown.

After

Width:  |  Height:  |  Size: 270 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://btyiubfyhdy01"
path.bptc="res://.godot/imported/vz_dusk_ocean_back.png-c79333c98598fddb6d797487fc379954.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/map/assets/Posed GOG/vz_dusk_ocean_back.png"
dest_files=["res://.godot/imported/vz_dusk_ocean_back.png-c79333c98598fddb6d797487fc379954.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
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=0

View File

@@ -17,7 +17,7 @@ public partial class SpecialFloor : Node3D, IDungeonFloor
public virtual void InitializeDungeon()
{
FloorIsLoaded = true;
FloorIsLoaded = true;
}
public bool FloorIsLoaded { get; set; }

View File

@@ -0,0 +1,37 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://cm3og78giovin"
path="res://.godot/imported/GOG True Collision.glb-9087734f1b9b6d7348bad91980a46219.scn"
[deps]
source_file="res://src/map/dungeon/models/Special Floors & Rooms/40. True GOG Floor/GOG True Collision.glb"
dest_files=["res://.godot/imported/GOG True Collision.glb-9087734f1b9b6d7348bad91980a46219.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_node_type_suffixes=true
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
animation/import_rest_as_RESET=false
import_script/path=""
_subresources={}
gltf/naming_version=1
gltf/embedded_image_handling=1

View File

@@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dmp26ddmr8442"
path.bptc="res://.godot/imported/GOG True Collision_concrete_0003_roughness_1k.png-49a54261d0754f5aad3f5fba24306c26.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "8cf37cd9db2bc859b298dfcd9ce71f7a"
}
[deps]
source_file="res://src/map/dungeon/models/Special Floors & Rooms/40. True GOG Floor/GOG True Collision_concrete_0003_roughness_1k.png"
dest_files=["res://.godot/imported/GOG True Collision_concrete_0003_roughness_1k.png-49a54261d0754f5aad3f5fba24306c26.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
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

View File

@@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c1kgb0fp7pb1"
path.bptc="res://.godot/imported/GOG True Collision_concrete_0017_color_1k.jpg-984889bac652c387cd4a8d45389fe9f2.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "4e098192852551106a824f2ef39eefed"
}
[deps]
source_file="res://src/map/dungeon/models/Special Floors & Rooms/40. True GOG Floor/GOG True Collision_concrete_0017_color_1k.jpg"
dest_files=["res://.godot/imported/GOG True Collision_concrete_0017_color_1k.jpg-984889bac652c387cd4a8d45389fe9f2.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
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

View File

@@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bwi18qod8jfg4"
path.bptc="res://.godot/imported/GOG True Collision_concrete_0017_normal_direcetx_1k.png-c8fd6877e438e0dfb3fb1bc60b2d11a7.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "460e2f2eed726f82b82b0bee522a4d20"
}
[deps]
source_file="res://src/map/dungeon/models/Special Floors & Rooms/40. True GOG Floor/GOG True Collision_concrete_0017_normal_direcetx_1k.png"
dest_files=["res://.godot/imported/GOG True Collision_concrete_0017_normal_direcetx_1k.png-c8fd6877e438e0dfb3fb1bc60b2d11a7.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=1
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=1
roughness/src_normal="res://src/map/dungeon/models/Special Floors & Rooms/40. True GOG Floor/GOG True Collision_concrete_0017_normal_direcetx_1k.png"
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

View File

@@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bjia28hx043q8"
path.bptc="res://.godot/imported/GOG True Collision_concrete_0031_normal_directx_1k.png-ec47cdcb61137007ffdd78dbb7f6f0a4.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "92a23026ef850cc6e8d472a708ae228a"
}
[deps]
source_file="res://src/map/dungeon/models/Special Floors & Rooms/40. True GOG Floor/GOG True Collision_concrete_0031_normal_directx_1k.png"
dest_files=["res://.godot/imported/GOG True Collision_concrete_0031_normal_directx_1k.png-ec47cdcb61137007ffdd78dbb7f6f0a4.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=1
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=1
roughness/src_normal="res://src/map/dungeon/models/Special Floors & Rooms/40. True GOG Floor/GOG True Collision_concrete_0031_normal_directx_1k.png"
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

View File

@@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cii0st5q6dkdi"
path.bptc="res://.godot/imported/GOG True Collision_concrete_0031_roughness_1k.jpg-023bb005232032f1a566b9561a4c30f7.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "bb4726263045c681064bc655ff1a9cc1"
}
[deps]
source_file="res://src/map/dungeon/models/Special Floors & Rooms/40. True GOG Floor/GOG True Collision_concrete_0031_roughness_1k.jpg"
dest_files=["res://.godot/imported/GOG True Collision_concrete_0031_roughness_1k.jpg-023bb005232032f1a566b9561a4c30f7.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
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

View File

@@ -0,0 +1,37 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://bymjbvcoo37jc"
path="res://.godot/imported/mirroredswirled cossslumn.glb-f33e24c37447cf58c72bc0bb02a7166a.scn"
[deps]
source_file="res://src/map/dungeon/models/Special Floors & Rooms/40. True GOG Floor/mirroredswirled cossslumn.glb"
dest_files=["res://.godot/imported/mirroredswirled cossslumn.glb-f33e24c37447cf58c72bc0bb02a7166a.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_node_type_suffixes=true
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
animation/import_rest_as_RESET=false
import_script/path=""
_subresources={}
gltf/naming_version=1
gltf/embedded_image_handling=1

View File

@@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://grnwb8r57jm7"
path.bptc="res://.godot/imported/mirroredswirled cossslumn_concrete_0003_roughness_1k.png-1c5027ee9c94a36467fe48054a32c54d.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "8cf37cd9db2bc859b298dfcd9ce71f7a"
}
[deps]
source_file="res://src/map/dungeon/models/Special Floors & Rooms/40. True GOG Floor/mirroredswirled cossslumn_concrete_0003_roughness_1k.png"
dest_files=["res://.godot/imported/mirroredswirled cossslumn_concrete_0003_roughness_1k.png-1c5027ee9c94a36467fe48054a32c54d.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
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

View File

@@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c414m083544se"
path.bptc="res://.godot/imported/mirroredswirled cossslumn_concrete_0017_color_1k.jpg-693c64037e6e9937d67462b869518f83.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "4e098192852551106a824f2ef39eefed"
}
[deps]
source_file="res://src/map/dungeon/models/Special Floors & Rooms/40. True GOG Floor/mirroredswirled cossslumn_concrete_0017_color_1k.jpg"
dest_files=["res://.godot/imported/mirroredswirled cossslumn_concrete_0017_color_1k.jpg-693c64037e6e9937d67462b869518f83.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
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

View File

@@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cvyvhned50w3w"
path.bptc="res://.godot/imported/mirroredswirled cossslumn_concrete_0017_normal_direcetx_1k.png-5d23bd85d96f43100283a5d40617a340.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "460e2f2eed726f82b82b0bee522a4d20"
}
[deps]
source_file="res://src/map/dungeon/models/Special Floors & Rooms/40. True GOG Floor/mirroredswirled cossslumn_concrete_0017_normal_direcetx_1k.png"
dest_files=["res://.godot/imported/mirroredswirled cossslumn_concrete_0017_normal_direcetx_1k.png-5d23bd85d96f43100283a5d40617a340.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=1
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=1
roughness/src_normal="res://src/map/dungeon/models/Special Floors & Rooms/40. True GOG Floor/mirroredswirled cossslumn_concrete_0017_normal_direcetx_1k.png"
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

View File

@@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dleut5ieitqrw"
path.bptc="res://.godot/imported/mirroredswirled cossslumn_concrete_0031_normal_directx_1k.png-7dd2891a0dd236be57807300f8830fa1.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "92a23026ef850cc6e8d472a708ae228a"
}
[deps]
source_file="res://src/map/dungeon/models/Special Floors & Rooms/40. True GOG Floor/mirroredswirled cossslumn_concrete_0031_normal_directx_1k.png"
dest_files=["res://.godot/imported/mirroredswirled cossslumn_concrete_0031_normal_directx_1k.png-7dd2891a0dd236be57807300f8830fa1.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=1
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=1
roughness/src_normal="res://src/map/dungeon/models/Special Floors & Rooms/40. True GOG Floor/mirroredswirled cossslumn_concrete_0031_normal_directx_1k.png"
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

View File

@@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c0t6tsixw3nqk"
path.bptc="res://.godot/imported/mirroredswirled cossslumn_concrete_0031_roughness_1k.jpg-978f67a1520bf78f53281bf8d15281fb.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "bb4726263045c681064bc655ff1a9cc1"
}
[deps]
source_file="res://src/map/dungeon/models/Special Floors & Rooms/40. True GOG Floor/mirroredswirled cossslumn_concrete_0031_roughness_1k.jpg"
dest_files=["res://.godot/imported/mirroredswirled cossslumn_concrete_0031_roughness_1k.jpg-978f67a1520bf78f53281bf8d15281fb.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
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

View File

@@ -0,0 +1,37 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://23b02mqnuwdw"
path="res://.godot/imported/swirled cossslumn.glb-97636534c7b30f5f2884ee355fb8ec03.scn"
[deps]
source_file="res://src/map/dungeon/models/Special Floors & Rooms/40. True GOG Floor/swirled cossslumn.glb"
dest_files=["res://.godot/imported/swirled cossslumn.glb-97636534c7b30f5f2884ee355fb8ec03.scn"]
[params]
nodes/root_type=""
nodes/root_name=""
nodes/apply_root_scale=true
nodes/root_scale=1.0
nodes/import_as_skeleton_bones=false
nodes/use_node_type_suffixes=true
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
animation/import_rest_as_RESET=false
import_script/path=""
_subresources={}
gltf/naming_version=1
gltf/embedded_image_handling=1

View File

@@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://0i3xehgtd8ol"
path.bptc="res://.godot/imported/swirled cossslumn_concrete_0003_roughness_1k.png-bcff66bf66e9981d583a91adfaa7a5cc.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "8cf37cd9db2bc859b298dfcd9ce71f7a"
}
[deps]
source_file="res://src/map/dungeon/models/Special Floors & Rooms/40. True GOG Floor/swirled cossslumn_concrete_0003_roughness_1k.png"
dest_files=["res://.godot/imported/swirled cossslumn_concrete_0003_roughness_1k.png-bcff66bf66e9981d583a91adfaa7a5cc.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
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

View File

@@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://dxu7v6hvfdrxb"
path.bptc="res://.godot/imported/swirled cossslumn_concrete_0017_color_1k.jpg-bcc0ff631811b11f9968c095d597e6cc.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "4e098192852551106a824f2ef39eefed"
}
[deps]
source_file="res://src/map/dungeon/models/Special Floors & Rooms/40. True GOG Floor/swirled cossslumn_concrete_0017_color_1k.jpg"
dest_files=["res://.godot/imported/swirled cossslumn_concrete_0017_color_1k.jpg-bcc0ff631811b11f9968c095d597e6cc.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
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

View File

@@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://btmiod35svejs"
path.bptc="res://.godot/imported/swirled cossslumn_concrete_0017_normal_direcetx_1k.png-d479a06533df72a7c15afe2a0c85f289.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "460e2f2eed726f82b82b0bee522a4d20"
}
[deps]
source_file="res://src/map/dungeon/models/Special Floors & Rooms/40. True GOG Floor/swirled cossslumn_concrete_0017_normal_direcetx_1k.png"
dest_files=["res://.godot/imported/swirled cossslumn_concrete_0017_normal_direcetx_1k.png-d479a06533df72a7c15afe2a0c85f289.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=1
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=1
roughness/src_normal="res://src/map/dungeon/models/Special Floors & Rooms/40. True GOG Floor/swirled cossslumn_concrete_0017_normal_direcetx_1k.png"
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

View File

@@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://brtl1h8fivede"
path.bptc="res://.godot/imported/swirled cossslumn_concrete_0031_normal_directx_1k.png-16c4fdc702aa94dcf6a190c2b3de813f.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "92a23026ef850cc6e8d472a708ae228a"
}
[deps]
source_file="res://src/map/dungeon/models/Special Floors & Rooms/40. True GOG Floor/swirled cossslumn_concrete_0031_normal_directx_1k.png"
dest_files=["res://.godot/imported/swirled cossslumn_concrete_0031_normal_directx_1k.png-16c4fdc702aa94dcf6a190c2b3de813f.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/normal_map=1
compress/channel_pack=0
mipmaps/generate=true
mipmaps/limit=-1
roughness/mode=1
roughness/src_normal="res://src/map/dungeon/models/Special Floors & Rooms/40. True GOG Floor/swirled cossslumn_concrete_0031_normal_directx_1k.png"
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

View File

@@ -0,0 +1,38 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://beiuro0omw2ek"
path.bptc="res://.godot/imported/swirled cossslumn_concrete_0031_roughness_1k.jpg-703a6e4705e12ac53a6a6de18de94586.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
generator_parameters={
"md5": "bb4726263045c681064bc655ff1a9cc1"
}
[deps]
source_file="res://src/map/dungeon/models/Special Floors & Rooms/40. True GOG Floor/swirled cossslumn_concrete_0031_roughness_1k.jpg"
dest_files=["res://.godot/imported/swirled cossslumn_concrete_0031_roughness_1k.jpg-703a6e4705e12ac53a6a6de18de94586.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
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

View File

@@ -0,0 +1,290 @@
shader_type sky;
render_mode use_quarter_res_pass;
// Originaly based on https://godotshaders.com/shader/stylized-sky-shader-with-clouds/ but there's not much left
group_uniforms sky;
uniform vec3 day_top_color : source_color = vec3( 0.1, 0.6, 1.0 );
uniform vec3 day_bottom_color : source_color = vec3( 0.4, 0.8, 1.0 );
uniform vec3 sunset_top_color : source_color = vec3( 0.7, 0.75, 1.0 );
uniform vec3 sunset_bottom_color : source_color = vec3( 1.0, 0.5, 0.7 );
uniform vec3 night_top_color : source_color = vec3( 0.02, 0.0, 0.04 );
uniform vec3 night_bottom_color : source_color = vec3( 0.1, 0.0, 0.2 );
group_uniforms horizon;
uniform vec3 horizon_color : source_color = vec3( 0.0, 0.7, 0.8 );
uniform float horizon_blur : hint_range( 0.0, 1.0, 0.01 ) = 0.05;
group_uniforms sun; // First DirectionalLight3D will be the sun
uniform vec3 sun_color : source_color = vec3( 10.0, 8.0, 1.0 );
uniform vec3 sun_sunset_color : source_color = vec3( 10.0, 0.0, 0.0 );
uniform float sun_size : hint_range( 0.01, 1.0 ) = 0.2;
uniform float sun_blur : hint_range( 0.01, 20.0 ) = 10.0;
group_uniforms moon; // Second DirectionalLight3D will be the moon
uniform vec3 moon_color : source_color = vec3( 1.0, 0.95, 0.7 );
uniform float moon_size : hint_range( 0.01, 1.0 ) = 0.06;
uniform float moon_blur : hint_range( 0.01, 10.0 ) = 0.1;
group_uniforms clouds;
// Replaced by noise functions, unncomment if you want to use graphical textures
// uniform sampler2D clouds_top_texture : filter_linear_mipmap, hint_default_black;
// uniform sampler2D clouds_middle_texture : filter_linear_mipmap, hint_default_black;
// uniform sampler2D clouds_bottom_texture : filter_linear_mipmap, hint_default_black;
uniform vec3 clouds_edge_color : source_color = vec3( 0.8, 0.8, 0.98 );
uniform vec3 clouds_top_color : source_color = vec3( 1.0, 1.0, 1.00 );
uniform vec3 clouds_middle_color : source_color = vec3( 0.92, 0.92, 0.98 );
uniform vec3 clouds_bottom_color : source_color = vec3( 0.83, 0.83, 0.94 );
uniform float clouds_speed : hint_range( 0.0, 20.0, 0.01 ) = 2.0;
uniform float clouds_direction : hint_range( -0.5, 0.5, 0.0 ) = 0.2;
uniform float clouds_scale : hint_range( 0.0, 4.0, 0.01 ) = 1.0;
uniform float clouds_cutoff : hint_range( 0.0, 1.0, 0.01 ) = 0.3;
uniform float clouds_fuzziness : hint_range( 0.0, 2.0, 0.01 ) = 0.5;
// More weight is simply a darker color, usefull for rain/storm
uniform float clouds_weight : hint_range( 0.0, 1.0, 0.01 ) = 0.0;
uniform float clouds_blur : hint_range( 0.0, 1.0, 0.01 ) = 0.25;
group_uniforms stars;
// Stars should be at black background
uniform sampler2D stars_texture : filter_linear_mipmap, hint_default_black;
uniform float stars_speed : hint_range( 0.0, 20.0, 0.01 ) = 1.0;
group_uniforms settings;
uniform float overwritten_time = 0.0;
////////////////////////////////////////////////////////////////////////////////////////////////////
// Function for clouds noises. You can replace using "gen_fractal_ping_pong" with a simple texture reading.
// I was frustrated with the repeating texture that's why I included the algorithm in the code.
// Source: https://github.com/Auburn/FastNoiseLite/tree/master
const int PRIME_X = 501125321;
const int PRIME_Y = 1136930381;
float lerp( float a, float b, float t )
{
return a + t * ( b - a );
}
float cubic_lerp( float a, float b, float c, float d, float t )
{
float p = d - c - ( a - b );
return t * t * t * p + t * t * ( a - b - p ) + t * ( c - a ) + b;
}
float ping_pong( float t )
{
t -= trunc( t * 0.5 ) * 2.0;
return t < 1.0 ? t : 2.0 - t;
}
int hash( int seed, int x_primed, int y_primed )
{
return ( seed ^ x_primed ^ y_primed ) * 0x27d4eb2d;
}
float val_coord( int seed, int x_primed, int y_primed )
{
int hash = hash( seed, x_primed, y_primed );
hash *= hash;
hash ^= hash << 19;
return float( hash ) * ( 1.0 / 2147483648.0 );
}
float single_value_cubic( int seed, float x, float y )
{
int x1 = int( floor( x ));
int y1 = int( floor( y ));
float xs = x - float( x1 );
float ys = y - float( y1 );
x1 *= PRIME_X;
y1 *= PRIME_Y;
int x0 = x1 - PRIME_X;
int y0 = y1 - PRIME_Y;
int x2 = x1 + PRIME_X;
int y2 = y1 + PRIME_Y;
int x3 = x1 + ( PRIME_X << 1 );
int y3 = y1 + ( PRIME_Y << 1 );
return cubic_lerp(
cubic_lerp( val_coord( seed, x0, y0 ), val_coord( seed, x1, y0 ), val_coord( seed, x2, y0 ), val_coord( seed, x3, y0 ), xs ),
cubic_lerp( val_coord( seed, x0, y1 ), val_coord( seed, x1, y1 ), val_coord( seed, x2, y1 ), val_coord( seed, x3, y1 ), xs ),
cubic_lerp( val_coord( seed, x0, y2 ), val_coord( seed, x1, y2 ), val_coord( seed, x2, y2 ), val_coord( seed, x3, y2 ), xs ),
cubic_lerp( val_coord( seed, x0, y3 ), val_coord( seed, x1, y3 ), val_coord( seed, x2, y3 ), val_coord( seed, x3, y3 ), xs ),
ys ) * ( 1.0 / ( 1.5 * 1.5 ));
}
// Params can be change in the same way as in noise settings in Godot
const float FRACTAL_BOUNDING = 1.0 / 1.75;
const int OCTAVES = 5;
const float PING_PONG_STRENGTH = 2.0;
const float WEIGHTED_STRENGTH = 0.0;
const float GAIN = 0.5;
const float LACUNARITY = 2.0;
float gen_fractal_ping_pong( vec2 pos, int seed, float frequency )
{
float x = pos.x * frequency;
float y = pos.y * frequency;
float sum = 0.0;
float amp = FRACTAL_BOUNDING;
for( int i = 0; i < OCTAVES; i++ )
{
float noise = ping_pong(( single_value_cubic( seed++, x, y ) + 1.0 ) * PING_PONG_STRENGTH );
sum += ( noise - 0.5 ) * 2.0 * amp;
amp *= lerp( 1.0, noise, WEIGHTED_STRENGTH );
x *= LACUNARITY;
y *= LACUNARITY;
amp *= GAIN;
}
return sum * 0.5 + 0.5;
}
////////////////////////////////////////////////////////////////////////////////////////////////////
// Function needed to calculate the phase of the moon
// Source: https://kelvinvanhoorn.com/2022/03/17/skybox-tutorial-part-1/
float sphere_intersect( vec3 view_dir, vec3 sphere_pos, float radius )
{
float b = dot( -sphere_pos, view_dir );
float c = dot( -sphere_pos, -sphere_pos ) - pow( radius, 2 );
float h = pow( b, 2 ) - c;
return h < 0.0 ? -1.0 : -b - sqrt( h );
}
void sky()
{
float time = overwritten_time != 0.0 ? overwritten_time : TIME;
//////////////////// SKY ///////////////////////////////////////////////////////////////////////
float _eyedir_y = abs( sin( EYEDIR.y * PI * 0.5 ));
// The day color will be our base color
vec3 _sky_color = mix( day_bottom_color, day_top_color, _eyedir_y );
_sky_color = mix( _sky_color, vec3( 0.0 ), clamp(( 0.7 - clouds_cutoff ) * clouds_weight, 0.0, 1.0 ));
float _sunset_amount = clamp( 0.5 - abs( LIGHT0_DIRECTION.y ), 0.0, 0.5 ) * 2.0;
// The sky should be more red around the west, on the opposite side you don't see it as much
float _sunset_distance = clamp( 1.0 - pow( distance( EYEDIR, LIGHT0_DIRECTION ), 2 ), 0.0, 1.0 );
vec3 _sky_sunset_color = mix( sunset_bottom_color, sunset_top_color, _eyedir_y + 0.5 );
_sky_sunset_color = mix( _sky_sunset_color, sunset_bottom_color, _sunset_amount * _sunset_distance );
_sky_color = mix( _sky_color, _sky_sunset_color, _sunset_amount );
float _night_amount = clamp( -LIGHT0_DIRECTION.y + 0.7, 0.0, 1.0 );
vec3 _sky_night_color = mix( night_bottom_color, night_top_color, _eyedir_y );
_sky_color = mix( _sky_color, _sky_night_color, _night_amount );
// Final sky color
COLOR = _sky_color;
//////////////////// HORIZON ///////////////////////////////////////////////////////////////////
float _horizon_amount = 0.0;
if( EYEDIR.y < 0.0 )
{
_horizon_amount = clamp( abs( EYEDIR.y ) / horizon_blur, 0.0, 1.0 );
// Mixing with the color of the night sky to make the horizon darker
vec3 _horizon_color = mix( horizon_color, _sky_color, _night_amount * 0.9 );
// And if ther are many dark clouds, we also make the horizon darker
_horizon_color = mix( _horizon_color, vec3( 0.0 ), ( 1.0 - clouds_cutoff ) * clouds_weight * 0.7 );
COLOR = mix( COLOR, _horizon_color, _horizon_amount );
}
//////////////////// MOON //////////////////////////////////////////////////////////////////////
float _moon_amount = 0.0;
if( LIGHT1_ENABLED )
{
// Bigger moon near the horizon
float _moon_size = moon_size + cos( LIGHT1_DIRECTION.y * PI ) * moon_size * 0.25;
float _moon_distance = distance( EYEDIR, LIGHT1_DIRECTION ) / _moon_size;
// Finding moon disc and edge blur
_moon_amount = clamp(( 1.0 - _moon_distance ) / moon_blur, 0.0, 1.0 );
if( _moon_amount > 0.0 )
{
// Moon illumination depending on the position of the sun
float _moon_intersect = sphere_intersect( EYEDIR, LIGHT1_DIRECTION, _moon_size );
vec3 _moon_normal = normalize( LIGHT1_DIRECTION - EYEDIR * _moon_intersect );
// Power on the result gives a better effect
float _moon_n_dot_l = pow( clamp( dot( _moon_normal, -LIGHT0_DIRECTION ), 0.05, 1.0 ), 2 );
// Hiding the moon behind the horizon
_moon_amount *= 1.0 - _horizon_amount;
COLOR = mix( COLOR, moon_color, _moon_n_dot_l * _moon_amount );
}
}
//////////////////// SUN ///////////////////////////////////////////////////////////////////////
float _sun_distance = 0.0;
if( LIGHT0_ENABLED )
{
_sun_distance = distance( EYEDIR, LIGHT0_DIRECTION );
// Bigger sun near the horizon
float _sun_size = sun_size + cos( LIGHT0_DIRECTION.y * PI ) * sun_size * 0.25;
// Finding sun disc and edge blur
float _sun_amount = clamp(( 1.0 - _sun_distance / _sun_size ) / sun_blur, 0.0, 1.0 );
if( _sun_amount > 0.0 )
{
// Changing color of the sun during sunset
float _sunset_amount = 1.0;
if( LIGHT0_DIRECTION.y > 0.0 )
_sunset_amount = clamp( cos( LIGHT0_DIRECTION.y * PI ), 0.0, 1.0 );
vec3 _sun_color = mix( sun_color, sun_sunset_color, _sunset_amount );
// Hiding the sun behind the moon
_sun_amount = clamp( _sun_amount * ( 1.0 - _moon_amount ), 0.0, 1.0 );
// Hiding the sun behind the horizon
_sun_amount *= 1.0 - _horizon_amount;
// Leveling the "glow" in color
if( _sun_color.r > 1.0 || _sun_color.g > 1.0 || _sun_color.b > 1.0 )
_sun_color *= _sun_amount;
COLOR = mix( COLOR, _sun_color, _sun_amount );
}
}
//////////////////// STARS /////////////////////////////////////////////////////////////////
vec2 _sky_uv = EYEDIR.xz / sqrt( EYEDIR.y );
if( EYEDIR.y > -0.01 && LIGHT0_DIRECTION.y < 0.0 )
{
// Stars UV rotation
float _stars_speed_cos = cos( stars_speed * time * 0.005 );
float _stars_speed_sin = sin( stars_speed * time * 0.005 );
vec2 _stars_uv = vec2(
_sky_uv.x * _stars_speed_cos - _sky_uv.y * _stars_speed_sin,
_sky_uv.x * _stars_speed_sin + _sky_uv.y * _stars_speed_cos
);
// Stars texture
vec3 _stars_color = texture( stars_texture, _stars_uv ).rgb * -LIGHT0_DIRECTION.y;
// Hiding stars behind the moon
_stars_color *= 1.0 - _moon_amount;
COLOR += _stars_color;
}
//////////////////// CLOUDS ////////////////////////////////////////////////////////////////
if( EYEDIR.y > 0.0 )
{
// Clouds UV movement direction
float _clouds_speed = time * clouds_speed * 0.01;
float _sin_x = sin( clouds_direction * PI * 2.0 );
float _cos_y = cos( clouds_direction * PI * 2.0 );
// I using 3 levels of clouds. Top is the lightes and botom the darkest.
// The speed of movement (and direction a little) is different for the illusion of the changing shape of the clouds.
vec2 _clouds_movement = vec2( _sin_x, _cos_y ) * _clouds_speed;
// float _noise_top = texture( clouds_top_texture, ( _sky_uv + _clouds_movement ) * clouds_scale ).r;
float _noise_top = gen_fractal_ping_pong( ( _sky_uv + _clouds_movement ) * clouds_scale, 0, 0.5 );
_clouds_movement = vec2( _sin_x * 0.97, _cos_y * 1.07 ) * _clouds_speed * 0.89;
// float _noise_middle = texture( clouds_middle_texture, ( _sky_uv + _clouds_movement ) * clouds_scale ).r;
float _noise_middle = gen_fractal_ping_pong( ( _sky_uv + _clouds_movement ) * clouds_scale, 1, 0.75 );
_clouds_movement = vec2( _sin_x * 1.01, _cos_y * 0.89 ) * _clouds_speed * 0.79;
// float _noise_bottom = texture( clouds_bottom_texture, ( _sky_uv + _clouds_movement ) * clouds_scale ).r;
float _noise_bottom = gen_fractal_ping_pong( ( _sky_uv + _clouds_movement ) * clouds_scale, 2, 1.0 );
// Smoothstep with the addition of a noise value from a lower level gives a nice, deep result
_noise_bottom = smoothstep( clouds_cutoff, clouds_cutoff + clouds_fuzziness, _noise_bottom );
_noise_middle = smoothstep( clouds_cutoff, clouds_cutoff + clouds_fuzziness, _noise_middle + _noise_bottom * 0.2 ) * 1.1;
_noise_top = smoothstep( clouds_cutoff, clouds_cutoff + clouds_fuzziness, _noise_top + _noise_middle * 0.4 ) * 1.2;
float _clouds_amount = clamp( _noise_top + _noise_middle + _noise_bottom, 0.0, 1.0 );
// Fading clouds near the horizon
_clouds_amount *= clamp( abs( EYEDIR.y ) / clouds_blur, 0.0, 1.0 );
vec3 _clouds_color = mix( vec3( 0.0 ), clouds_top_color, _noise_top );
_clouds_color = mix( _clouds_color, clouds_middle_color, _noise_middle );
_clouds_color = mix( _clouds_color, clouds_bottom_color, _noise_bottom );
// The edge color gives a nice smooth edge, you can try turning this off if you need sharper edges
_clouds_color = mix( clouds_edge_color, _clouds_color, _noise_top );
// The sun passing through the clouds effect
_clouds_color = mix( _clouds_color, clamp( sun_color, 0.0, 1.0 ), pow( 1.0 - clamp( _sun_distance, 0.0, 1.0 ), 5 ));
// Color combined with sunset condition
_clouds_color = mix( _clouds_color, sunset_bottom_color, _sunset_amount * 0.75 );
// Color depending on the "progress" of the night.
_clouds_color = mix( _clouds_color, _sky_color, clamp( _night_amount, 0.0, 0.98 ));
_clouds_color = mix( _clouds_color, vec3( 0.0 ), clouds_weight * 0.9 );
COLOR = mix( COLOR, _clouds_color, _clouds_amount );
}
}

View File

@@ -0,0 +1,9 @@
[gd_resource type="Sky" load_steps=3 format=3 uid="uid://duugoey1edmcr"]
[ext_resource type="Texture2D" uid="uid://dak82ucyob4w0" path="res://src/map/assets/Posed GOG/111.png" id="1_fqwuc"]
[sub_resource type="PanoramaSkyMaterial" id="PanoramaSkyMaterial_nbur2"]
panorama = ExtResource("1_fqwuc")
[resource]
sky_material = SubResource("PanoramaSkyMaterial_nbur2")

Binary file not shown.

After

Width:  |  Height:  |  Size: 331 KiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://c6y4s5ei4ncfu"
path.bptc="res://.godot/imported/planter_blast_r.png-b4b78be4a5f955b0f76ce43aba0be70f.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/vfx/Enemy/planter_blast_r.png"
dest_files=["res://.godot/imported/planter_blast_r.png-b4b78be4a5f955b0f76ce43aba0be70f.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
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=0

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 MiB

View File

@@ -0,0 +1,35 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://v1lji6ask1y2"
path.bptc="res://.godot/imported/planter_close.png-04a806b9fd12a22e79a5741bf9bbd4de.bptc.ctex"
metadata={
"imported_formats": ["s3tc_bptc"],
"vram_texture": true
}
[deps]
source_file="res://src/vfx/Enemy/planter_close.png"
dest_files=["res://.godot/imported/planter_close.png-04a806b9fd12a22e79a5741bf9bbd4de.bptc.ctex"]
[params]
compress/mode=2
compress/high_quality=true
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=0