diff --git a/art/exported/environment/terrain/starter_island.glb b/art/exported/environment/terrain/starter_island.glb index 8c71154..5d8b6ce 100644 Binary files a/art/exported/environment/terrain/starter_island.glb and b/art/exported/environment/terrain/starter_island.glb differ diff --git a/art/exported/environment/terrain/starter_island.glb.import b/art/exported/environment/terrain/starter_island.glb.import index bedce7c..18e4e12 100644 --- a/art/exported/environment/terrain/starter_island.glb.import +++ b/art/exported/environment/terrain/starter_island.glb.import @@ -41,5 +41,5 @@ materials/extract_format=0 materials/extract_path="" _subresources={} gltf/naming_version=2 -gltf/embedded_image_handling=1 +gltf/embedded_image_handling=3 gltf/texture_map_mode=1 diff --git a/art/exported/environment/textures/cliff_wall.png b/art/exported/environment/textures/cliff_wall.png new file mode 100644 index 0000000..3fe157f Binary files /dev/null and b/art/exported/environment/textures/cliff_wall.png differ diff --git a/art/exported/environment/textures/cliff_wall.png.import b/art/exported/environment/textures/cliff_wall.png.import new file mode 100644 index 0000000..026f231 --- /dev/null +++ b/art/exported/environment/textures/cliff_wall.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://cd7qwsbeg1jxx" +path="res://.godot/imported/cliff_wall.png-7ce756d49c24c7b8fdda307d68086d87.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://art/exported/environment/textures/cliff_wall.png" +dest_files=["res://.godot/imported/cliff_wall.png-7ce756d49c24c7b8fdda307d68086d87.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/art/exported/environment/textures/dirt_wall.png b/art/exported/environment/textures/dirt_wall.png new file mode 100644 index 0000000..dcc2364 Binary files /dev/null and b/art/exported/environment/textures/dirt_wall.png differ diff --git a/art/exported/environment/textures/dirt_wall.png.import b/art/exported/environment/textures/dirt_wall.png.import new file mode 100644 index 0000000..1b09653 --- /dev/null +++ b/art/exported/environment/textures/dirt_wall.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c3j0gailr6yfy" +path="res://.godot/imported/dirt_wall.png-8ba7bb24831d83f929bfa44b53af9288.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://art/exported/environment/textures/dirt_wall.png" +dest_files=["res://.godot/imported/dirt_wall.png-8ba7bb24831d83f929bfa44b53af9288.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/art/exported/environment/textures/grass.png b/art/exported/environment/textures/grass.png new file mode 100644 index 0000000..8d9761c Binary files /dev/null and b/art/exported/environment/textures/grass.png differ diff --git a/art/exported/environment/textures/grass.png.import b/art/exported/environment/textures/grass.png.import new file mode 100644 index 0000000..9d7961f --- /dev/null +++ b/art/exported/environment/textures/grass.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://b4n8bf4cgua4s" +path="res://.godot/imported/grass.png-4d1108b11a421d9c16bd72fb0bc993d3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://art/exported/environment/textures/grass.png" +dest_files=["res://.godot/imported/grass.png-4d1108b11a421d9c16bd72fb0bc993d3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/art/exported/environment/textures/grass_heavy.png b/art/exported/environment/textures/grass_heavy.png new file mode 100644 index 0000000..29bfa2a Binary files /dev/null and b/art/exported/environment/textures/grass_heavy.png differ diff --git a/art/exported/environment/textures/grass_heavy.png.import b/art/exported/environment/textures/grass_heavy.png.import new file mode 100644 index 0000000..d99e72b --- /dev/null +++ b/art/exported/environment/textures/grass_heavy.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dusa52a3eghr7" +path="res://.godot/imported/grass_heavy.png-ba7f679d1bc5402f8b0a3465ac6a44b8.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://art/exported/environment/textures/grass_heavy.png" +dest_files=["res://.godot/imported/grass_heavy.png-ba7f679d1bc5402f8b0a3465ac6a44b8.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/art/exported/environment/textures/grass_lite.png b/art/exported/environment/textures/grass_lite.png new file mode 100644 index 0000000..b701eed Binary files /dev/null and b/art/exported/environment/textures/grass_lite.png differ diff --git a/art/exported/environment/textures/grass_lite.png.import b/art/exported/environment/textures/grass_lite.png.import new file mode 100644 index 0000000..a5ec41c --- /dev/null +++ b/art/exported/environment/textures/grass_lite.png.import @@ -0,0 +1,41 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://crci2on30ctoc" +path.s3tc="res://.godot/imported/grass_lite.png-f89cf6413257cd31582bd4f9f875ae85.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://art/exported/environment/textures/grass_lite.png" +dest_files=["res://.godot/imported/grass_lite.png-f89cf6413257cd31582bd4f9f875ae85.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=true +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=0 diff --git a/art/source/environment/terrain/starter_island.blend b/art/source/environment/terrain/starter_island.blend index 3eb342d..9d3b513 100644 Binary files a/art/source/environment/terrain/starter_island.blend and b/art/source/environment/terrain/starter_island.blend differ diff --git a/world/materials/starter_island_grass.tres b/world/materials/starter_island_grass.tres index 2c0ec07..f4ee32d 100644 --- a/world/materials/starter_island_grass.tres +++ b/world/materials/starter_island_grass.tres @@ -1,6 +1,6 @@ [gd_resource type="StandardMaterial3D" load_steps=2 format=3] -[ext_resource type="Texture2D" path="res://art/exported/environment/textures/grass_olive_tile.png" id="1_texture"] +[ext_resource type="Texture2D" path="res://art/exported/environment/textures/grass_lite.png" id="1_texture"] [resource] resource_name = "Starter Island Grass" diff --git a/world/regions/starter_island_region.gd b/world/regions/starter_island_region.gd index 9e6529b..d10bec3 100644 --- a/world/regions/starter_island_region.gd +++ b/world/regions/starter_island_region.gd @@ -5,6 +5,7 @@ extends WorldRegion const FishingShopInteractionType = preload( "res://world/fishing_shop_interaction.gd" ) +const GRASS_SURFACE_NAME: String = "grass_lite" @export_group("Owned Nodes") @export_node_path("MeshInstance3D") @@ -71,7 +72,10 @@ func _apply_grass_material() -> void: if grass_surface_index >= visual_mesh.mesh.get_surface_count(): push_error("Starter island grass surface index is invalid.") return - if visual_mesh.mesh.surface_get_name(grass_surface_index) != "grass": + if ( + visual_mesh.mesh.surface_get_name(grass_surface_index) + != GRASS_SURFACE_NAME + ): push_error("Starter island grass surface name does not match.") return visual_mesh.set_surface_override_material( @@ -109,7 +113,10 @@ func _get_configuration_warnings() -> PackedStringArray: warnings.append("Terrain/Visual must provide the island mesh.") elif grass_surface_index >= visual_mesh.mesh.get_surface_count(): warnings.append("Grass surface index is outside the terrain mesh.") - elif visual_mesh.mesh.surface_get_name(grass_surface_index) != "grass": + elif ( + visual_mesh.mesh.surface_get_name(grass_surface_index) + != GRASS_SURFACE_NAME + ): warnings.append("Grass surface index must identify the grass surface.") if grass_material == null: warnings.append("Assign the starter-island grass material.")