The look stops lying: the fallback never reports done, and the women's frame gets room to stand tall

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
wuwiandClaude Fable 5 committed 2026-08-30 16:16:54 +02:00
1 parent a38c804069
commit 7fb595ca22
3 files changed
+25 -7

No files matched your search

+7 -3
View File
@@ -1778,9 +1778,13 @@ function PS(name) {
// off the back of a head was the best the art allowed while every player frame was a back view; the
// moment the front existed, Oliver asked for it here. It is the same kit, the same palette and the
// same tint pass, so the promise above still holds — only the side you are standing on changes.
// Returns false while the sprites are still loading, so the caller knows to come back.
// Returns false while the sprites are still loading, so the caller knows to come back — and
// "still loading" includes DRAWING A FALLBACK: the women's front frame arriving after the men's
// used to satisfy this with the wrong body (a man in her kit colour), and the caller's retry
// poll stopped on the lie. A stand-in is drawn (better than a blank) but never reported done.
export function drawLook(cv2, t, k, sk) {
const img = SPR['n_idle1' + (t.sfx || '')] || SPR['p_idle1' + (t.sfx || '')] || SPR.p_idle1;
const want = SPR['n_idle1' + (t.sfx || '')];
const img = want || SPR['p_idle1' + (t.sfx || '')] || SPR.p_idle1;
if (!img) return false;
const out = tinted('look' + (t.sfx || ''), img, k, sk, t.kit, TINT.kit);
const g = cv2.getContext('2d');
@@ -1789,7 +1793,7 @@ export function drawLook(cv2, t, k, sk) {
const s = Math.min(cv2.width / out.width, cv2.height / out.height);
const w = Math.round(out.width * s), h = Math.round(out.height * s);
g.drawImage(out, Math.round((cv2.width - w) / 2), cv2.height - h, w, h);
return true;
return !!want;
}
// BOUNCE_IDLE.dx/apex are measured off the DRAWN PALM (see config), so a tour whose player reaches