Void Room preliminary shaders added, boss1 materials added

This commit is contained in:
Pal
2025-09-12 03:35:19 -07:00
parent a4205f1963
commit b04956ea4d
37 changed files with 844 additions and 550 deletions

View File

@@ -13,6 +13,6 @@
[node name="Map" type="Node3D"]
script = ExtResource("1_bw70o")
_floors = Array[PackedScene]([ExtResource("2_ne2vg"), ExtResource("6_ne2vg"), ExtResource("8_y74f3"), ExtResource("6_abpbr"), ExtResource("7_caf7v"), ExtResource("9_dbqu2"), ExtResource("10_xcm54"), ExtResource("2_0qcd2"), ExtResource("5_ne2vg")])
_floors = Array[PackedScene]([ExtResource("2_ne2vg"), ExtResource("6_ne2vg"), ExtResource("6_abpbr"), ExtResource("7_caf7v"), ExtResource("8_y74f3"), ExtResource("9_dbqu2"), ExtResource("10_xcm54"), ExtResource("2_0qcd2"), ExtResource("5_ne2vg")])
[node name="WorldEnvironment" type="WorldEnvironment" parent="."]

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,37 @@
[remap]
importer="scene"
importer_version=1
type="PackedScene"
uid="uid://bupwb7sh3utsh"
path="res://.godot/imported/Void Room Ver 2.glb-e94ef4dae18cd384481702de262a64cf.scn"
[deps]
source_file="res://src/map/dungeon/models/Set B/30. Void Room/Void Room Ver 2.glb"
dest_files=["res://.godot/imported/Void Room Ver 2.glb-e94ef4dae18cd384481702de262a64cf.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: 7.6 KiB

View File

@@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://oknw12whmw4j"
path="res://.godot/imported/Void Room Ver 2_8.png-06fbcb451655d43ec841db07c0434525.ctex"
metadata={
"vram_texture": false
}
generator_parameters={
"md5": "e7e4a09916308fd7416afd61371c5593"
}
[deps]
source_file="res://src/map/dungeon/models/Set B/30. Void Room/Void Room Ver 2_8.png"
dest_files=["res://.godot/imported/Void Room Ver 2_8.png-06fbcb451655d43ec841db07c0434525.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=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: 65 KiB

View File

@@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bkqe8stlqwilk"
path="res://.godot/imported/Void Room Ver 2_AREA_2_MAIN_222STONE.png-5576b09bd070934560ffbeb40e575cb1.ctex"
metadata={
"vram_texture": false
}
generator_parameters={
"md5": "11027637ea8e7d257bd13c57efd3b5b4"
}
[deps]
source_file="res://src/map/dungeon/models/Set B/30. Void Room/Void Room Ver 2_AREA_2_MAIN_222STONE.png"
dest_files=["res://.godot/imported/Void Room Ver 2_AREA_2_MAIN_222STONE.png-5576b09bd070934560ffbeb40e575cb1.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=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: 85 KiB

View File

@@ -0,0 +1,37 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://conopqsukw5n8"
path="res://.godot/imported/Void Room Ver 2_area_2_big_tile.png-afc13277436952199dc147b9dc5d9c15.ctex"
metadata={
"vram_texture": false
}
generator_parameters={
"md5": "0c25630c903927ac616a7b2238fa2766"
}
[deps]
source_file="res://src/map/dungeon/models/Set B/30. Void Room/Void Room Ver 2_area_2_big_tile.png"
dest_files=["res://.godot/imported/Void Room Ver 2_area_2_big_tile.png-afc13277436952199dc147b9dc5d9c15.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=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

@@ -1,4 +1,4 @@
[gd_scene load_steps=282 format=4 uid="uid://5ja3qxn8h7iw"]
[gd_scene load_steps=275 format=4 uid="uid://5ja3qxn8h7iw"]
[ext_resource type="Script" uid="uid://tqyybt313web" path="res://src/map/dungeon/code/BossRoomA.cs" id="1_0h3lb"]
[ext_resource type="Texture2D" uid="uid://vjbe1lg810gh" path="res://src/map/dungeon/models/Set A/15. Boss Floor A/15_A1_BOSS FLOOR A_VER_swirled_column.png" id="2_06eum"]
@@ -33,7 +33,6 @@
[ext_resource type="Texture2D" uid="uid://bfcb0mknmw5a7" path="res://src/map/dungeon/models/Set A/15. Boss Floor A/Boss Floor 1 Ver_FLOOR1.jpg" id="27_16vso"]
[ext_resource type="PackedScene" uid="uid://6dnsw37d1uw4" path="res://src/enemy/enemy_types/15. ox_face/OxFace.tscn" id="27_g6y6v"]
[ext_resource type="Shader" uid="uid://bbn3f2r51dy27" path="res://src/map/dungeon/rooms/Set A/Boss Floor 1 Sky.gdshader" id="28_4xaw3"]
[ext_resource type="Texture2D" uid="uid://dh2b74lac57p0" path="res://src/map/dungeon/models/Set A/15. Boss Floor A/Sunset Skybox.png" id="28_i45xk"]
[ext_resource type="Texture2D" uid="uid://dklna8mnv237w" path="res://src/map/dungeon/models/Set A/15. Boss Floor A/Boss Floor 1 Ver_lower_corridor_lower.png" id="28_q4tlp"]
[ext_resource type="Texture2D" uid="uid://dr4o3a7q08q0k" path="res://src/map/dungeon/models/Set A/15. Boss Floor A/Boss Floor 1 Ver_brick3.png" id="29_mx0fb"]
[ext_resource type="Texture2D" uid="uid://8fkhcvod75sl" path="res://src/map/dungeon/models/Set A/15. Boss Floor A/Boss Floor 1 Ver_WALL TILE 1.jpg" id="30_2rm47"]
@@ -54,7 +53,6 @@
[ext_resource type="Texture2D" uid="uid://c1s648mqbl6kx" path="res://src/map/dungeon/models/Set A/15. Boss Floor A/Boss Floor 1 Ver_tile2.png" id="44_aa5a2"]
[ext_resource type="Texture2D" uid="uid://bn04efxno8xnk" path="res://src/map/dungeon/models/Set A/15. Boss Floor A/Boss Floor 1 Ver_STONE_PANEL_1png.png" id="45_f18uc"]
[ext_resource type="Texture2D" uid="uid://bcu58ooy22scc" path="res://src/map/dungeon/models/Set A/15. Boss Floor A/Boss Floor 1 Ver_RAIL_TRANSPARENT_PLANE.png" id="46_a2bno"]
[ext_resource type="Texture2D" uid="uid://bppmel4i6xifp" path="res://src/map/dungeon/models/Set A/15. Boss Floor A/Boss Floor 1 Ver_CHAIN_TEX.png" id="47_8mpyk"]
[ext_resource type="Texture2D" uid="uid://dv11u63aeqtr8" path="res://src/map/dungeon/models/Set A/15. Boss Floor A/Boss Floor 1 Ver_SNEK TILE.png" id="48_je0mg"]
[ext_resource type="Texture2D" uid="uid://kbq263oarje4" path="res://src/map/dungeon/models/Set A/15. Boss Floor A/Boss Floor 1 Ver_SA115.png" id="49_m7n2k"]
[ext_resource type="Texture2D" uid="uid://cq4fv2s3yj57q" path="res://src/map/dungeon/models/Set A/15. Boss Floor A/Boss Floor 1 Ver_swirled_column_25.png" id="50_43w8i"]
@@ -485,6 +483,7 @@ shadow_mesh = SubResource("ArrayMesh_phooe")
[sub_resource type="Animation" id="Animation_y77h4"]
resource_name = "Animation"
length = 4.29167
loop_mode = 1
tracks/0/type = "rotation_3d"
tracks/0/imported = true
tracks/0/enabled = true
@@ -3885,69 +3884,6 @@ _surfaces = [{
blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_06dbi")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_m0lu7"]
resource_name = "Material.030"
transparency = 2
alpha_scissor_threshold = 0.5
alpha_antialiasing_mode = 0
cull_mode = 2
albedo_texture = ExtResource("47_8mpyk")
roughness = 0.5
[sub_resource type="ArrayMesh" id="ArrayMesh_bcjb1"]
_surfaces = [{
"aabb": AABB(-247.93, -5.05649, -1, 298.638, 20.0863, 2),
"format": 34896613377,
"index_count": 72,
"index_data": PackedByteArray("AAABAAIAAAADAAEABAAFAAYABAAHAAUACAAJAAoACAALAAkADAANAA4ADAAPAA0AEAARABIAEAATABEAFAAVABYAFAAXABUAGAAZABoAGAAbABkAHAAdAB4AHAAfAB0AIAAhACIAIAAjACEAJAAlACYAJAAnACUAKAApACoAKAArACkALAAtAC4ALAAvAC0A"),
"name": "Material.030",
"primitive": 3,
"uv_scale": Vector4(0, 0, 0, 0),
"vertex_count": 48,
"vertex_data": PackedByteArray("q9NxQP7/AABi1XFAAAAAAGLVcUD+/wAAq9NxQAAAAAD7qkgw/v8AALGsSDAAAAAAsaxIMP7/AAD7qkgwAAAAAMmB6x/+/wAAgIPrHwAAAACAg+sf/v8AAMmB6x8AAAAA71kYEP7/AACmWxgQAAAAAKZbGBD+/wAA71kYEAAAAABpMQAA//8AACAzAAAAAAAAIDMAAP//AABpMQAAAAAAAAAAMK/+/wAAtgEwrwAAAAC2ATCv/v8AAAAAMK8AAAAAhShIv/7/AAA8Kki/AAAAADwqSL/+/wAAhShIvwAAAABfUBzP/v8AABZSHM8AAAAAFlIcz/7/AABfUBzPAAAAAJF5ed/+/wAASHt53wAAAABIe3nf/v8AAJF5ed8AAAAAQqKi7/7/AAD5o6LvAAAAAPmjou/+/wAAQqKi7wAAAAB0y////v8AACvN//8AAAAAK83///7/AAB0y///AAAAAEj+XlH+/wAA//9eUQAAAAD//15R/v8AAEj+XlEAAAAA")
}, {
"aabb": AABB(-286.315, -6.18934, 0.978971, 370.396, 22.2896, 0.0999938),
"format": 34896613377,
"index_count": 96,
"index_data": PackedByteArray("AAABAAIAAAADAAEABAACAAEAAwAEAAEABQAAAAIABQADAAAABQACAAYAAwAHAAQAAwAFAAgAAwAIAAcACAAFAAYABwAJAAQABwAIAAkAAgAEAAkACAAGAAkAAgAJAAYACgALAAwACgANAAsADgAMAAsADQAOAAsADwAKAAwADwANAAoADwAMABAADQARAA4ADQAPABIADQASABEAEgAPABAAEQATAA4AEQASABMADAAOABMAEgAQABMADAATABAA"),
"name": "Material.004",
"primitive": 3,
"uv_scale": Vector4(0, 0, 0, 0),
"vertex_count": 20,
"vertex_data": PackedByteArray("itf//5yeAABCAEmf/v8AAAAAUKCbngAAzNf3/v7/AACEAEKe950AAKPXm/9lAAAAGQDtn2UAAAAO2PD9+J0AAPXXVv4AAAAAawCnngAAAAB6/7xhnJ4AADIoBgH+/wAA8CcOApyeAAC8/7Rg//8AAHQoAAD3nQAAk/9YYWYAAAAJKKoBZQAAAP//rl/4nQAA5f8TYAAAAABbKGUAAAAAAA==")
}]
blend_shape_mode = 0
[sub_resource type="ArrayMesh" id="ArrayMesh_w37g8"]
resource_name = "Boss Floor 1 Ver_ 3_Plane_003"
_surfaces = [{
"aabb": AABB(-247.93, -5.05649, -1, 298.638, 20.0863, 2),
"attribute_data": PackedByteArray("AAD/////AAD/////AAAAAAAA/////wAA/////wAAAAAAAP////8AAP////8AAAAAAAD/////AAD/////AAAAAAAA/////wAA/////wAAAAAAAP////8AAP////8AAAAAAAD/////AAD/////AAAAAAAA/////wAA/////wAAAAAAAP////8AAP////8AAAAAAAD/////AAD/////AAAAAAAA/////wAA/////wAAAAAAAP////8AAP////8AAAAA"),
"format": 34896613399,
"index_count": 72,
"index_data": PackedByteArray("AAABAAIAAAADAAEABAAFAAYABAAHAAUACAAJAAoACAALAAkADAANAA4ADAAPAA0AEAARABIAEAATABEAFAAVABYAFAAXABUAGAAZABoAGAAbABkAHAAdAB4AHAAfAB0AIAAhACIAIAAjACEAJAAlACYAJAAnACUAKAApACoAKAArACkALAAtAC4ALAAvAC0A"),
"material": SubResource("StandardMaterial3D_m0lu7"),
"name": "Material.030",
"primitive": 3,
"uv_scale": Vector4(0, 0, 0, 0),
"vertex_count": 48,
"vertex_data": PackedByteArray("q9NxQP7//79i1XFAAAD/v2LVcUD+//+/q9NxQAAA/7/7qkgw/v//v7GsSDAAAP+/saxIMP7//7/7qkgwAAD/v8mB6x/+//+/gIPrHwAA/7+Ag+sf/v//v8mB6x8AAP+/71kYEP7//7+mWxgQAAD/v6ZbGBD+//+/71kYEAAA/79pMQAA////vyAzAAAAAP+/IDMAAP///79pMQAAAAD/vwAAMK/+//+/tgEwrwAA/7+2ATCv/v//vwAAMK8AAP+/hShIv/7//788Kki/AAD/vzwqSL/+//+/hShIvwAA/79fUBzP/v//vxZSHM8AAP+/FlIcz/7//79fUBzPAAD/v5F5ed/+//+/SHt53wAA/79Ie3nf/v//v5F5ed8AAP+/QqKi7/7//7/5o6LvAAD/v/mjou/+//+/QqKi7wAA/790y////v//vyvN//8AAP+/K83///7//790y///AAD/v0j+XlH+//+///9eUQAA/7///15R/v//v0j+XlEAAP+/////f////3////9/////f////3////9/////f////3////9/////f////3////9/////f////3////9/////f////3////9/////f////3////9/////f////3////9/////f////3////9/////f////3////9/////f////3////9/////f////3////9/////f////3////9/////f////3////9/////f////3////9/////f////3////9/")
}, {
"aabb": AABB(-286.315, -6.18934, 0.978971, 370.396, 22.2896, 0.0999938),
"attribute_data": PackedByteArray("CF1ayv+EoIQIXaCE/4RayhGwukUI2AAAEbAAAAjYukUI2LpF//8AAAjYAAD//7pFGw36TppKeGMdM1BCGw32dx0zoIQRsHSLCNi6RRGwukUI2HSLGogu0RGwdIsaiHSLEbAu0ZxwUEKccKCEGoh4Y5pK+k6aSvZ3Goi6RRGwAAAaiAAAEbC6RRqIdIsRsLpFGoi6RRGwdIsRsC7RCNh0ixGwdIsI2C7RGw2qDJpKKCEdMwAAGw2mNR0zUEIbDVrKEjWghBsNoIQSNVrKEjVayghdoIQSNaCECF1aypxwAACccFBCGogoIZpKqgyaSqY1"),
"format": 34896613399,
"index_count": 96,
"index_data": PackedByteArray("AAABAAIAAAADAAEABAAFAAYABAAHAAUACAAJAAoACAALAAkADAANAA4ADQAMAA8ADQAPABAAEQASABMAEQAUABIAFQAWABcAFQAYABYAGQAaABsAGgAZABwAGgAcAB0AHgAfACAAHgAhAB8AIgAjACQAIgAlACMAJgAnACgAJgApACcAKgArACwAKwAqAC0AKwAtAC4ALwAwADEALwAyADAAMwA0ADUAMwA2ADQANwA4ADkAOAA3ADoAOAA6ADsA"),
"material": SubResource("StandardMaterial3D_4bp80"),
"name": "Material.004",
"primitive": 3,
"uv_scale": Vector4(5.55089, 117.603, 0, 0),
"vertex_count": 60,
"vertex_data": PackedByteArray("itf//5ye6ExCAEmf/v+/ZQAAUKCbnqxAzNf3/v7/FmTM1/f+/v/PZYQAQp73nbNMQgBJn/7/BmQO2PD9+J2OQA7Y8P34nd5DawCnngAApQGEAEKe951WCvXXVv4AAAMPhABCnvedEQQAAFCgm560IUIASZ/+/+UKawCnngAARQMZAO2fZQCbDvXXVv4AAFkOGQDtn2UAhg5rAKeeAADJAqPXm/9lAMECo9eb/2UAvwEAAFCgm575QxkA7Z9lAC8Pitf//5yefQqj15v/ZQBEAszX9/7+/+sIitf//5yeQwH111b+AABDDg7Y8P34necUev+8YZye6EwyKAYB/v+/ZfAnDgKcnqZAvP+0YP//FmS8/7Rg///PZXQoAAD3nbJMMigGAf7/BmT//65f+J2PQP//rl/4nd5DWyhlAAAApQF0KAAA951WCuX/E2AAAAMPdCgAAPedEQTwJw4CnJ7JITIoBgH+/+UKWyhlAAAARQMJKKoBZQCbDuX/E2AAAFkOCSiqAWUAhw5bKGUAAADJApP/WGFmAMECk/9YYWYAvwHwJw4CnJ71QwkoqgFlAC8Pev+8YZyefQqT/1hhZgBEArz/tGD//+sIev+8YZyeQwHl/xNgAABDDv//rl/4neQUW+qTiOQusZTfc2XYXssccfjQLmuWFWN3gTTAjjiMuCeMYzQVR2wmNLt35U1+absIaDQi/X/oVczw4tb5R6vL97abQ/J2Y1gOZZyh8Tqsj/a3U28J2pOyyyOc6+pQlkT3WYjmsclSpQqeHOIG1MqgAMNi/g6sC3c4W+qTiOQusZTYc1vYXssccfjQLmuVFWN3gTTAjjOMsSeSYzMVR2wmNLt35U1+absIaTQi/WnoW8zw4tb5RqvL97WbQ/J2Y1gOZJyh8Tmsj/a3U28J2pOyyx2c7epPlkP3WYjmsclSpQqeHOIG1MqgAMNi/g6oC3k4")
}]
blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_bcjb1")
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_moelj"]
resource_name = "SNAKE.001"
cull_mode = 2
@@ -4336,21 +4272,18 @@ ambient_light_energy = 0.0
reflected_light_source = 1
glow_enabled = true
glow_intensity = 1.17
glow_strength = 0.56
glow_strength = 0.67
glow_bloom = 1.0
glow_blend_mode = 0
volumetric_fog_enabled = true
volumetric_fog_density = 0.01
volumetric_fog_albedo = Color(0.993257, 0.968728, 0.952261, 1)
adjustment_contrast = 1.11
adjustment_saturation = 0.94
[sub_resource type="CameraAttributesPractical" id="CameraAttributesPractical_i45xk"]
dof_blur_far_distance = 42.38
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_54iu8"]
shading_mode = 0
albedo_texture = ExtResource("28_i45xk")
[sub_resource type="PlaneMesh" id="PlaneMesh_3pfmd"]
[sub_resource type="BoxMesh" id="BoxMesh_i45xk"]
lightmap_size_hint = Vector2i(14, 21)
subdivide_width = 90
@@ -4388,32 +4321,36 @@ script = ExtResource("1_0h3lb")
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.327652, -16.1644, 0)
[node name="2_001" type="MeshInstance3D" parent="Model/BELL ANIMATIONS"]
transform = Transform3D(0.420615, 4.70126e-08, 2.20374e-08, -5.08417e-08, 0.336709, 0.252079, -1.05338e-08, 0.252079, -0.336709, -130.9, 19.1732, 28.0257)
transform = Transform3D(0.420615, 6.34463e-08, 1.54222e-09, -6.34552e-08, 0.420245, 0.0176409, -1.12013e-09, 0.0176409, -0.420245, -130.9, 19.1732, 28.0257)
layers = 524288
mesh = SubResource("ArrayMesh_kw6od")
skeleton = NodePath("")
[node name="2_002" type="MeshInstance3D" parent="Model/BELL ANIMATIONS"]
transform = Transform3D(0.420615, 4.34534e-08, -2.37346e-08, -4.85091e-08, 0.321262, -0.271492, 9.91941e-09, -0.271492, -0.321262, -133.608, 19.3244, 6.98554)
transform = Transform3D(0.420615, 6.28241e-08, 5.00295e-09, -6.29205e-08, 0.416704, 0.0572271, -3.59114e-09, 0.0572271, -0.416704, -133.608, 19.3244, 6.98554)
layers = 524288
mesh = SubResource("ArrayMesh_mug6s")
skeleton = NodePath("")
[node name="2_003" type="MeshInstance3D" parent="Model/BELL ANIMATIONS"]
transform = Transform3D(0.420615, 4.70126e-08, 2.20374e-08, -5.08417e-08, 0.336709, 0.252079, -1.05338e-08, 0.252079, -0.336709, -130.9, 19.1732, 6.86731)
transform = Transform3D(0.420615, 6.34463e-08, 1.54222e-09, -6.34552e-08, 0.420245, 0.0176409, -1.12013e-09, 0.0176409, -0.420245, -130.9, 19.1732, 6.86731)
layers = 524288
mesh = SubResource("ArrayMesh_xx38s")
skeleton = NodePath("")
[node name="2_004" type="MeshInstance3D" parent="Model/BELL ANIMATIONS"]
transform = Transform3D(0.420615, 4.34534e-08, -2.37346e-08, -4.85091e-08, 0.321262, -0.271492, 9.91941e-09, -0.271492, -0.321262, -133.608, 19.3244, 28.144)
transform = Transform3D(0.420615, 6.28241e-08, 5.00295e-09, -6.29205e-08, 0.416704, 0.0572271, -3.59114e-09, 0.0572271, -0.416704, -133.608, 19.3244, 28.144)
layers = 524288
mesh = SubResource("ArrayMesh_ct7uo")
skeleton = NodePath("")
[node name="2_005" type="MeshInstance3D" parent="Model/BELL ANIMATIONS"]
transform = Transform3D(0.420615, 4.70126e-08, 2.20374e-08, -5.08417e-08, 0.336709, 0.252079, -1.05338e-08, 0.252079, -0.336709, -130.9, 19.1732, 28.0257)
transform = Transform3D(0.420615, 6.34463e-08, 1.54222e-09, -6.34552e-08, 0.420245, 0.0176409, -1.12013e-09, 0.0176409, -0.420245, -130.9, 19.1732, 28.0257)
mesh = SubResource("ArrayMesh_2l4dv")
skeleton = NodePath("")
[node name="2_006" type="MeshInstance3D" parent="Model/BELL ANIMATIONS"]
transform = Transform3D(0.420615, 4.70126e-08, 2.20374e-08, -5.08417e-08, 0.336709, 0.252079, -1.05338e-08, 0.252079, -0.336709, -130.9, 19.1732, 28.0257)
transform = Transform3D(0.420615, 6.34463e-08, 1.54222e-09, -6.34552e-08, 0.420245, 0.0176409, -1.12013e-09, 0.0176409, -0.420245, -130.9, 19.1732, 28.0257)
mesh = SubResource("ArrayMesh_k0kv6")
skeleton = NodePath("")
@@ -4552,6 +4489,7 @@ skeleton = NodePath("")
[node name="Main Structure 1" type="MeshInstance3D" parent="Model/Boss Floor 1 Ver_ 3"]
transform = Transform3D(-0.204149, 0, -3.36485e-08, 0, 0.0752327, 0, 6.08412e-08, 0, -0.112906, -99.3607, 17.1727, 15.4514)
layers = 524288
mesh = SubResource("ArrayMesh_e3a3m")
skeleton = NodePath("")
@@ -4662,16 +4600,19 @@ skeleton = NodePath("")
[node name="Ceiling Embellishments_003" type="MeshInstance3D" parent="Model/Boss Floor 1 Ver_ 3"]
transform = Transform3D(-0.204149, 0, -3.36485e-08, 0, 0.0752327, 0, 6.08412e-08, 0, -0.112906, -99.3607, 17.1727, 15.4514)
layers = 524288
mesh = SubResource("ArrayMesh_msgro")
skeleton = NodePath("")
[node name="Ceiling Embellishments_004" type="MeshInstance3D" parent="Model/Boss Floor 1 Ver_ 3"]
transform = Transform3D(-0.204149, 0, -3.36485e-08, 0, 0.0752327, 0, 6.08412e-08, 0, -0.112906, -99.3607, 17.1727, 15.4514)
layers = 524288
mesh = SubResource("ArrayMesh_ttoj6")
skeleton = NodePath("")
[node name="Ceiling Embellishments_005" type="MeshInstance3D" parent="Model/Boss Floor 1 Ver_ 3"]
transform = Transform3D(-0.204149, 0, -3.36485e-08, 0, 0.0752327, 0, 6.08412e-08, 0, -0.112906, -99.3607, 17.1727, 15.4514)
layers = 524288
mesh = SubResource("ArrayMesh_i8f1a")
skeleton = NodePath("")
@@ -4685,12 +4626,6 @@ transform = Transform3D(0.830223, 0, 0, 0, 0.830223, 0, 0, 0, 0.830223, -154.274
mesh = SubResource("ArrayMesh_kyne0")
skeleton = NodePath("")
[node name="CHAIN_002" type="MeshInstance3D" parent="Model/Boss Floor 1 Ver_ 3"]
transform = Transform3D(-0.110327, -0.462656, -7.40089e-08, 3.46728e-09, 1.29468e-15, -2.61873, 0.0369263, -1.38231, 2.47706e-08, -126.987, 22.0331, 28.1251)
visible = false
mesh = SubResource("ArrayMesh_w37g8")
skeleton = NodePath("")
[node name="Pancaked Ways_033" type="MeshInstance3D" parent="Model/Boss Floor 1 Ver_ 3"]
transform = Transform3D(-0.204149, 0, -3.36485e-08, 0, 0.0752327, 0, 6.08412e-08, 0, -0.112906, -99.3566, 17.1218, 17.4637)
mesh = SubResource("ArrayMesh_485nr")
@@ -4927,7 +4862,7 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -52.6848, 0, 16.939)
[node name="PlayerSpawn" type="Marker3D" parent="Spawn Points"]
unique_name_in_owner = true
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -50.9524, -2.35632, 0.329851)
transform = Transform3D(-4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -50.9524, -2.22131, 0.329851)
[node name="ItemDatabase" parent="Spawn Points" instance=ExtResource("23_gov56")]
unique_name_in_owner = true
@@ -4941,32 +4876,34 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -115.98, -2.05432, -6.6322)
[node name="ActivateTrap" type="Area3D" parent="Room"]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 117.392, -35.0626, -17.4901)
visible = false
collision_layer = 2
collision_mask = 2
[node name="CollisionShape3D" type="CollisionShape3D" parent="Room/ActivateTrap"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -240.071, 36.4279, 34.624)
visible = false
shape = SubResource("BoxShape3D_pkvyy")
[node name="Horse Head Statue" parent="Room" instance=ExtResource("24_r1rk5")]
unique_name_in_owner = true
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -102.157, -2.30863, 13.0139)
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -102.157, -2.30863, 13.0139)
visible = false
[node name="Horse Head Active" parent="Room" instance=ExtResource("25_a482y")]
unique_name_in_owner = true
transform = Transform3D(0.15, 0, 0, 0, 0.15, 0, 0, 0, 0.15, -102.157, -0.510939, 13.0139)
visible = false
transform = Transform3D(-6.55671e-09, 0, -0.15, 0, 0.15, 0, 0.15, 0, -6.55671e-09, -102.157, -0.510939, 13.0139)
PrimaryAttackElementalType = 0
PrimaryAttackElementalDamageBonus = 1.0
[node name="Ox Face Statue" parent="Room" instance=ExtResource("26_futcf")]
unique_name_in_owner = true
transform = Transform3D(-1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, -101.555, -2.30863, 21.5833)
transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -101.555, -2.30863, 21.5833)
visible = false
[node name="OxFace Active" parent="Room" instance=ExtResource("27_g6y6v")]
unique_name_in_owner = true
transform = Transform3D(-0.15, 0, -2.26494e-08, 0, 0.15, 0, 2.26494e-08, 0, -0.15, -101.703, -0.479859, 22.0955)
visible = false
transform = Transform3D(-6.55671e-09, 0, -0.15, 0, 0.15, 0, 0.15, 0, -6.55671e-09, -101.703, -0.479859, 22.0955)
[node name="Exit" type="Area3D" parent="Room"]
unique_name_in_owner = true
@@ -4989,18 +4926,40 @@ transform = Transform3D(0.951873, 0.224364, -0.208802, 0.306449, -0.708162, 0.63
light_color = Color(1, 0.802, 0.46, 1)
light_energy = 1.088
light_indirect_energy = 0.0
light_cull_mask = 4294443007
shadow_enabled = true
shadow_blur = 1.868
[node name="Sky Billboard" type="MeshInstance3D" parent="."]
transform = Transform3D(2000, 0, 2.62268e-05, 8.74228e-05, 1.14641e-12, -600, 0, 600, 1.14641e-12, -485.068, -193.889, -378.654)
visible = false
material_override = SubResource("StandardMaterial3D_54iu8")
mesh = SubResource("PlaneMesh_3pfmd")
skeleton = NodePath("../CLOUD PLANE 2")
[node name="CLOUD PLANE 2" type="MeshInstance3D" parent="."]
transform = Transform3D(600, 0, 0, 0, 13.545, 0, 0, 0, 400, -197.289, -27.4378, -182.106)
mesh = SubResource("BoxMesh_i45xk")
skeleton = NodePath("../Boss Floor Environment")
surface_material_override/0 = SubResource("ShaderMaterial_4xaw3")
[node name="ReflectionProbe" type="ReflectionProbe" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -96.5712, 3.3683, 16.3951)
size = Vector3(98.5796, 34.2573, 38.668)
interior = true
[node name="OmniLight3D2" type="OmniLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -104.964, 8.26416, 16.6272)
light_energy = 4.0
shadow_enabled = true
omni_range = 14.0
omni_attenuation = 2.0
[node name="OmniLight3D3" type="OmniLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -131.201, 8.26416, 16.6272)
light_color = Color(0.836537, 0.755483, 0.686753, 1)
light_energy = 4.0
shadow_enabled = true
omni_range = 14.0
omni_attenuation = 2.0
[node name="OmniLight3D" type="OmniLight3D" parent="."]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -118.103, 8.26416, 16.6272)
light_color = Color(0.841924, 0.784619, 0.671499, 1)
light_energy = 4.0
shadow_enabled = true
omni_range = 14.0
omni_attenuation = 2.0

File diff suppressed because one or more lines are too long

View File

@@ -15,7 +15,7 @@
[ext_resource type="Texture2D" uid="uid://dd1jvmfs1cbbg" path="res://src/map/dungeon/models/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_floral_single_tile.jpg" id="13_aytwf"]
[ext_resource type="Texture2D" uid="uid://nvg6i8gbgqjv" path="res://src/map/dungeon/models/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_angkor_mural.jpg" id="14_tf4w3"]
[ext_resource type="Texture2D" uid="uid://3w1ac5fvks5v" path="res://src/map/dungeon/models/Set B/35. Goddess of Guidance's Floor/GoG Room mirrored_area_2_big_tile.png" id="15_nduur"]
[ext_resource type="Shader" uid="uid://beg8sp6kw66w8" path="res://src/map/dungeon/rooms/Set B/GOGROOM Water.gdshader" id="16_q4do2"]
[ext_resource type="Shader" uid="uid://beg8sp6kw66w8" path="res://src/map/map shaders/GOGROOM Water.gdshader" id="16_q4do2"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_q1ixl"]
resource_name = "Material.014"

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 KiB

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://5ww66cp88vy7"
path="res://.godot/imported/CYM 1.0•32•512x512.png-62e148a8020202817d050af2cf279443.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/map/map shaders/CYM 1.0•32•512x512.png"
dest_files=["res://.godot/imported/CYM 1.0•32•512x512.png-62e148a8020202817d050af2cf279443.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=0

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://cux7xxhorln83"
path="res://.godot/imported/FS148.JPG-6df61cd44ef290f5f9f611d9c7663f52.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/map/map shaders/FS148.JPG"
dest_files=["res://.godot/imported/FS148.JPG-6df61cd44ef290f5f9f611d9c7663f52.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=0

View File

@@ -0,0 +1,34 @@
[remap]
importer="texture"
type="CompressedTexture2D"
uid="uid://bpkl8kbujdwwj"
path="res://.godot/imported/Groovey 1.0•32•512x512.png-16417f60f69daf3cf95b6c43f335b0ad.ctex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://src/map/map shaders/Groovey 1.0•32•512x512.png"
dest_files=["res://.godot/imported/Groovey 1.0•32•512x512.png-16417f60f69daf3cf95b6c43f335b0ad.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=0

View File

@@ -0,0 +1,46 @@
shader_type spatial;
render_mode diffuse_burley, specular_schlick_ggx, blend_mix;
group_uniforms albedo;
uniform vec4 albedo : source_color = vec4(1.0, 1.0, 1.0, 0.0);
uniform sampler2D albedo_texture : source_color, hint_default_white;
group_uniforms roughness;
uniform float roughness : hint_range(0.0, 1.0) = 0.15;
uniform sampler2D roughness_texture : hint_roughness_r;
group_uniforms normal;
uniform float normal_strength : hint_range(-16.0, 16.0) = 1.0;
uniform sampler2D normal_map : hint_normal;
group_uniforms misc;
uniform vec4 edge_color : source_color = vec4(0.0, 0.0, 0.0, 1.0);
float SchlickFresnel(float u) {
float m = 1.0 - u;
float m2 = m * m;
return m2 * m2 * m;
}
void fragment() {
// calculate fresnel values
float VdotN = dot(VIEW, NORMAL);
float fresnel = clamp(SchlickFresnel(VdotN), 0.0, 1.0);
// sample and mix textures
vec4 _albedo = texture(albedo_texture, UV) * albedo;
float _roughness = texture(roughness_texture, UV).r * roughness;
// apply glass look
float a = mix(0.001, 1.0, _albedo.a);
ALPHA = mix(fresnel * edge_color.a, 1.0, a);
ALBEDO = mix(edge_color.rgb * edge_color.a, _albedo.rgb, a);
ROUGHNESS = _roughness;
NORMAL_MAP = texture(normal_map, UV).xyz;
NORMAL_MAP_DEPTH = normal_strength;
// function to compensate specular for alpha blend
// 0.5 * ALPHA^-0.5
SPECULAR = 0.5 * inversesqrt(ALPHA);
}

View File

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

View File

@@ -0,0 +1,35 @@
shader_type spatial;
render_mode unshaded, cull_disabled;
uniform float strength : hint_range(0.0, 1.0) = 0.4;
uniform float speed : hint_range(0.0, 2.0) = 0.333;
uniform vec2 screen_resolution = vec2(1280.0, 720.0); // Must be set from GDScript
void fragment() {
float t = TIME * speed;
vec3 col = vec3(0.0);
// Convert SCREEN_UV to range [-1, 1], centering it
vec2 pos = SCREEN_UV * 2.0 - 1.0;
// Preserve aspect ratio manually using the screen resolution uniform
pos.y *= (screen_resolution.y / screen_resolution.x);
pos *= 4.0; // Scale up for a larger effect
for (float k = 1.0; k < 7.0; k += 1.0) {
pos.x += strength * sin(2.0 * t + k * 1.5 * pos.y) + t * 0.5;
pos.y += strength * cos(2.0 * t + k * 1.5 * pos.x);
}
// Color calculation using time and position
col += 0.5 + 0.5 * cos(TIME + pos.xyx + vec3(0.0, 2.0, 4.0));
// Gamma correction
col = pow(col, vec3(2.4545));
// Set final output
ALBEDO = col;
ALPHA = 1.0;
}

View File

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

View File

@@ -0,0 +1,26 @@
shader_type spatial;
render_mode unshaded, depth_draw_always; // NO LIGHTING!, "depth_draw_always" to 'fix' Z-ordering
uniform bool warp_ScreenSpace = false;
uniform sampler2D texture_albedo : source_color, filter_nearest;
void fragment() {
vec2 uv = vec2(0.0);
if(warp_ScreenSpace){
uv = SCREEN_UV;
}else{
uv = UV;
}
// TODO: ADD NOISE SAMPLER INSTEAD OF USING TRIG?
// TWEAK THE COEFFS AND/OR EQUATION FOR A DIFFERENT WARP PATTERN
uv.x += sin(uv.y * 1.54 * PI + TIME) * cos(uv.y * 0.31 * PI + TIME) * 0.1;
uv.y += cos(uv.x * 0.74 * PI + TIME) * -sin(uv.y * 1.64 * PI + TIME) * 0.1;
vec4 color = texture(texture_albedo, uv * 1.0);
ALBEDO = color.xyz;
ALPHA = color.a;
}

View File

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

View File

@@ -1,4 +1,4 @@
[gd_scene load_steps=266 format=4 uid="uid://dvnc26rebk6o0"]
[gd_scene load_steps=269 format=4 uid="uid://dvnc26rebk6o0"]
[ext_resource type="Script" uid="uid://cuhfkyh3d7noa" path="res://src/map/dungeon/code/Overworld.cs" id="1_5hmt3"]
[ext_resource type="Texture2D" uid="uid://co6h8vyi11sl2" path="res://src/map/overworld/Models/Overworld_CLOUD_RINGS_INNER_63.png" id="2_g6b7b"]
@@ -73,6 +73,7 @@
[ext_resource type="PackedScene" uid="uid://db206brufi83s" path="res://src/items/weapons/Weapon.tscn" id="70_r8r3k"]
[ext_resource type="Resource" uid="uid://cfhwlpa0d7wb4" path="res://src/items/weapons/resources/MysteryRod.tres" id="71_t71yg"]
[ext_resource type="Texture2D" uid="uid://c38grr8d22ukg" path="res://src/map/overworld/cloudscape.png" id="73_wbbo3"]
[ext_resource type="Shader" uid="uid://kqp7mww6drrx" path="res://src/map/map shaders/B2 Cloud Roll Middle.gdshader" id="74_wbbo3"]
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_peugn"]
resource_name = "CLOUDS1"
@@ -7959,7 +7960,7 @@ blend_shape_mode = 0
shadow_mesh = SubResource("ArrayMesh_5h042")
[sub_resource type="BoxShape3D" id="BoxShape3D_b53dq"]
size = Vector3(32.7888, 2.34912, 11.2217)
size = Vector3(32.7888, 2.34912, 7.88136)
[sub_resource type="PanoramaSkyMaterial" id="PanoramaSkyMaterial_322om"]
resource_local_to_scene = true
@@ -7992,10 +7993,19 @@ dof_blur_far_distance = 16.33
dof_blur_far_transition = -1.0
dof_blur_amount = 0.04
[sub_resource type="PlaneMesh" id="PlaneMesh_c2gp5"]
[sub_resource type="ShaderMaterial" id="ShaderMaterial_pvi8n"]
render_priority = 0
shader = ExtResource("74_wbbo3")
shader_parameter/cloud_color = Vector4(1, 1, 1, 1)
shader_parameter/cloud_opacity = 0.369
[node name="Overworld" type="Node3D"]
script = ExtResource("1_5hmt3")
[node name="Model" type="Node3D" parent="."]
transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 0, 0)
[node name="Overworld_CLOUD_RINGS_INNER" type="Node3D" parent="Model"]
@@ -8063,7 +8073,7 @@ mesh = SubResource("ArrayMesh_8pf8o")
skeleton = NodePath("")
[node name="WELL" type="MeshInstance3D" parent="Model/Overworld_optimized_Pass 1"]
transform = Transform3D(0.715591, 0, -1.55848, 0, 0.19926, 0, 1.55848, 0, 0.715591, -419.435, 4.0169, 17.2947)
transform = Transform3D(0.8116, 0, -1.76758, 0, 0.226, 0, 1.76758, 0, 0.8116, -419.435, 4.45589, 17.2947)
mesh = SubResource("ArrayMesh_xtwgj")
skeleton = NodePath("")
@@ -8340,11 +8350,12 @@ skeleton = NodePath("")
[node name="Overworld_tower" type="Node3D" parent="Model"]
[node name="TOWER" type="MeshInstance3D" parent="Model/Overworld_tower"]
transform = Transform3D(-26.6541, 0, 0, 0, -322.711, 0, 0, 0, -20.0729, -206.138, 590.903, 1888.82)
transform = Transform3D(-26.6541, 0, 0, 0, -322.711, 0, 0, 0, -20.0729, -206.138, 827.765, 1888.82)
mesh = SubResource("ArrayMesh_ensfr")
skeleton = NodePath("")
[node name="Spawn Points" type="Node3D" parent="."]
transform = Transform3D(1.5, 0, 0, 0, 1.5, 0, 0, 0, 1.5, 0, 0, 0)
[node name="PlayerSpawnPoint" type="Marker3D" parent="Spawn Points"]
unique_name_in_owner = true
@@ -8357,11 +8368,11 @@ collision_layer = 256
collision_mask = 256
[node name="CollisionShape3D" type="CollisionShape3D" parent="Spawn Points/Exit"]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13.5815, -2.1779, -3.80354)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -13.5815, -2.1779, -2.13338)
shape = SubResource("BoxShape3D_b53dq")
[node name="Ran" parent="." instance=ExtResource("69_g6b7b")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -230.292, 2.58746, 49.3324)
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -230.292, 3.21695, 49.3324)
[node name="Weapon" parent="Ran" instance=ExtResource("70_r8r3k")]
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.451996, -1.48021, -8.76553)
@@ -8378,3 +8389,9 @@ light_energy = 2.032
shadow_enabled = true
shadow_blur = 3.582
sky_mode = 1
[node name="MeshInstance3D" type="MeshInstance3D" parent="."]
transform = Transform3D(90000, 0, 0, 0, 90000, 0, 0, 0, 90000, 0, -33.8314, 0)
visible = false
mesh = SubResource("PlaneMesh_c2gp5")
surface_material_override/0 = SubResource("ShaderMaterial_pvi8n")