Commit Graph
1 Commits
Author SHA1 Message Date
gromandClaude Opus 5 758665d4d8 map: a 1.12 zone sheet is opaque, so the feather belongs on
What was left after the stitch's geometry was hard rectangles at the
zone zooms. Bisected with OpenMapClassic's own /omc layer switches:
baked and gaps draw nothing on this build, zoneart draws them all.

A zone's sheet is masked to its land only for ids in ZoneMaskIDs, the
contiguous Classic range 1411-1452. On this realm that leaves
thirty-four without one -- every city, the dungeons, and every zone the
realm added of its own. Cities already decline to draw unmasked; zones
do not, and Gilneas puts its whole sheet, painted sea and torn parchment
border, over Silverpine.

PlaceBase takes a feather for exactly this and the zone walk passed nil
behind `(not era) and FEATHER`. Sound on Era, where a C_Map zone texture
carries a transparent surround; not true here, where the realm's sheets
are alpha 255 across every texel. The port passes it. PlaceBase prefers
the land mask where there is one, so the forty masked zones are
untouched -- 0.57% of pixels moved in a Dun Morogh view.

scripts/make-map-feather.py generates the three masks as 256x256
uncompressed TGA. A feather is a smoothstep ramp, which upstream's own
NOTICE calls generated rather than cut from art. A per-zone LAND mask
was deliberately not attempted: on this art sea and land do not separate
by colour (a sea patch reads R-B +28, a land patch +34) and the realm's
zone bitmap is 13x13 cells for its largest zone. Either would be a guess
dressed as art.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01SgstFWtn1RxEJ5kVrpgYwn
2026-11-03 18:17:14 -07:00