Fixes visible square gaps in ocean near coastlines by rendering masked tiles
if they have any water neighbors. Creates smoother, more natural coastlines.
Implementation:
- Check 8 neighboring tiles when a tile is masked out
- If any neighbor is water, render the edge tile anyway
- Creates 1-tile overlap at coastline boundaries
- Fills square gaps between water tiles
Before: Hard square edges with missing ocean tiles at coast
After: Continuous water coverage with smooth blended coastlines
The straight-line grid artifacts are reduced by ensuring adjacent water
tiles connect properly instead of leaving rectangular voids.
Removed complex noise-based foam that created visible grid pattern.
Replaced with simple subtle highlight on highest wave peaks only.
Kept the increased wave strength (bigger, more visible ocean waves).
Ocean waves are now much more pronounced, and foam appears on shorelines
in addition to wave crests.
Wave strength increases:
- Amplitude: 0.12 → 0.25 (ocean), 0.07 → 0.10 (canals)
- Frequency: 0.18 → 0.22 (ocean) - more waves per distance
- Speed: 1.60 → 2.00 (ocean) - faster wave motion
Shoreline foam:
- Appears on shallow/near-camera water (20-80 unit range)
- Uses upward-facing surface detection (horizontal = shore)
- Combined with wave crest foam for realistic effect
- Animated with same noise pattern as wave foam
Wave crest foam improvements:
- Lower threshold (0.15 vs 0.25) - more visible
- Increased intensity (0.85 vs 0.65)
- Faster animation (time * 0.8)
- Higher frequency noise (50.0 vs 40.0)
Result: Ocean now has visible motion from distance and foam on beaches.
Makes distant water more opaque to hide underwater objects and improve
visual quality during flight. Also adds animated foam on wave crests.
Distance-based opacity:
- Water becomes more opaque from 80-400 units distance
- Smoothstep fade adds up to 50% opacity at far distances
- Hides underwater M2 models and terrain from aerial view
- Max alpha increased from 0.82 to 0.95 for distant water
Procedural foam:
- Generated on wave peaks (positive WaveOffset values)
- Uses noise function for natural foam texture
- Animated with time and texture coordinates
- Adds white highlights to wave crests for ocean realism
This improves taxi flight visuals by making oceans look more solid
and realistic from altitude, similar to authentic WoW.
- Add spellbook screen (P key) with Spell.dbc name lookup and action bar assignment
- Default Attack and Hearthstone spells available in single player
- Fix WMO floor clipping (gryphon roost) by tightening ceiling rejection threshold
- Darken ocean water, increase wave motion and opacity
- Add M2 model distance fade-in to prevent pop-in
- Reposition chat window, add slash/enter key focus
- Remove debug key commands (keep only F1 perf HUD, N minimap)
- Performance: return chat history by const ref, use deque for O(1) pop_front
- Add loading screen system with stb_image for JPEG loading
- Two loading screen images (orc and dwarf) randomly selected
- Display loading screen while terrain data loads
- Cache WMO inverse matrices to reduce per-frame computation
- Stub WMO liquid rendering (needs coordinate system fix)
- Update spawn point to Stormwind Trade District