feat: add rain puddles and stabilize shoreline water

This commit is contained in:
Alexander Sellite 2026-09-02 01:27:20 -04:00
parent eeef99793d
commit 3a61056ce5
49 changed files with 1033 additions and 1852 deletions

View file

@ -1,42 +0,0 @@
extends SceneTree
const REGION_SCENE := preload("res://world/regions/starter_island_region.tscn")
func _initialize() -> void:
call_deferred("_bake")
func _bake() -> void:
var started := Time.get_ticks_usec()
var region := REGION_SCENE.instantiate()
root.add_child(region)
var baker := region.get_node_or_null("ShorelineRibbonBaker") as ShorelineRibbonBaker
if baker == null:
push_error("The map does not contain a configured ShorelineRibbonBaker.")
quit(1)
return
var results := baker.rebuild_all()
if results.size() != baker.water_bodies.size():
quit(1)
return
for result: Dictionary in results:
if result.get("skipped", false):
print(
"Shoreline %s: type=%s skipped intentionally"
% [result["output_path"], WaterType.label(result["water_type"])]
)
continue
print(
"Shoreline %s: type=%s segments=%d loops=%d raw=%d simplified=%d smoothed=%d triangles=%d"
% [
result["output_path"],
WaterType.label(result["water_type"]),
result["segment_count"],
result["loop_count"],
result["raw_point_count"],
result["simplified_point_count"],
result["smoothed_point_count"],
result["triangle_count"],
]
)
print("Shoreline bake completed in %.2f ms" % ((Time.get_ticks_usec() - started) / 1000.0))
quit()

View file

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

View file

@ -233,7 +233,7 @@ selected data root. Device-local configuration remains under
PortMaster launches use the light performance profile by default. Put the word
\`normal\` in \`straywild/conf/performance_profile\` to opt a capable device
into the normal rendering profile. PortMaster packages retain title and world
music while omitting rain and shoreline ambience in both profiles. See
music while omitting rain ambience in both profiles. See
\`straywild/licenses/\` for bundled credits and license information.
## Controls

View file

@ -45,7 +45,6 @@ readonly -a QUICK_TESTS=(
"tests/player_gathering_animation_validation.gd"
"tests/player_experience_validation.gd"
"tests/profile_title_validation.gd"
"tests/shoreline_ambience_validation.gd"
"tests/surface_drawing_validation.gd"
"tests/surface_drawing_performance_validation.gd"
"tests/surface_drawing_texture_renderer_validation.gd"