Stadium pass: real crowd, sponsor boards, umpire visible in portrait
- Umpire chair moved courtside (UMP_X 5.6, was 7.1 — which projected to x=272 on a 270px-wide portrait canvas: literally one pixel off-screen). Tap-cheat coords follow the constant. - Generated pixel-art night crowd (x_crowd.png) replaces the tier stripes + random dots; drawn in 16 columns that bounce independently while the crowd cheers. Old procedural crowd kept as the loading fallback. - Generated courtside sponsor boards (x_ads.png): ACEADE, TOPSPIN & CO, VOLLEX, NETTO GRIP, SLAMWICH — tiled at native aspect so lettering is never half-cut at any viewport width. Replaces the 'SPLATTER OPEN' text. - One rot tint over crowd + boards driven by the shared paletteT() (new helper), so the stadium dims into splatter and brightens back for duels. Verified: fresh origin; tennis + splatter screenshots (boards tile cleanly, crowd reads, tint dims, umpire on-screen beside the court); umpire triple-tap works at the new chair position; tennis serve benchmark 33/36 across two runs (first 12 was flub noise); no console errors. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
e948e8b36e
commit
1b97905217
5 files changed
+37
-23
No files matched your search
@@ -58,6 +58,7 @@ COURT.svcNear = COURT.netZ + 6.4; // near service line
|
||||
export const PLAYER_H = 1.88;
|
||||
export const BOY_H = 1.2;
|
||||
export const UMP_H = 3.0;
|
||||
export const UMP_X = 5.6; // chair right beside the doubles line — x 7.1 projected off-screen in portrait
|
||||
|
||||
// contact rules: outside this height band the ball can't be hit (below = it's past you)
|
||||
export const CONTACT = { minY: 0.24, maxY: 2.3 };
|
||||
|
||||
Reference in new issue
Block a user