From 2ad5401d283fe58bf6747637e28f4d3360385732 Mon Sep 17 00:00:00 2001 From: giteaadmin Date: Thu, 30 Apr 2026 14:27:22 +0000 Subject: [PATCH] minigame 4 80% done --- scripts/deploy-www.sh | 4 + www/html/Admin/index.html | 2 +- ...r-1777017632279_down_idle_layer_shadow.png | Bin 0 -> 6882 bytes .../Game/public/img/gauntlet-assets/.gitkeep | 0 .../gauntlet-077c293962b8fe07.png | Bin 0 -> 14711 bytes .../gauntlet-2a75a958cd5e5e8a.png | Bin 0 -> 7929 bytes .../gauntlet-67a585790f67fe67.png | Bin 0 -> 16900 bytes .../gauntlet-6aa244ab734b12e4.png | Bin 0 -> 12888 bytes .../gauntlet-c4d4482e2a60eac9.png | Bin 0 -> 13572 bytes .../Game/public/img/quiz-carry/btn-done.png | Bin 0 -> 22871 bytes .../public/img/quiz-carry/popup-result.png | Bin 0 -> 80365 bytes .../Game/public/img/quiz-carry/timeup-txt.png | Bin 0 -> 19101 bytes www/html/Game/public/js/play.js | 480 +++++++++++++++- www/html/Game/public/js/room-lobby.js | 28 + www/html/Game/public/play.html | 405 ++++++++++++- www/html/Game/public/play.js | 536 +++++++++++++++++- www/html/Game/public/room-lobby.html | 2 +- www/html/Game/server.js | 27 +- 18 files changed, 1446 insertions(+), 38 deletions(-) create mode 100644 www/html/Game/data/characters/char-1777017632279_down_idle_layer_shadow.png create mode 100644 www/html/Game/public/img/gauntlet-assets/.gitkeep create mode 100644 www/html/Game/public/img/gauntlet-assets/gauntlet-077c293962b8fe07.png create mode 100644 www/html/Game/public/img/gauntlet-assets/gauntlet-2a75a958cd5e5e8a.png create mode 100644 www/html/Game/public/img/gauntlet-assets/gauntlet-67a585790f67fe67.png create mode 100644 www/html/Game/public/img/gauntlet-assets/gauntlet-6aa244ab734b12e4.png create mode 100644 www/html/Game/public/img/gauntlet-assets/gauntlet-c4d4482e2a60eac9.png create mode 100644 www/html/Game/public/img/quiz-carry/btn-done.png create mode 100644 www/html/Game/public/img/quiz-carry/popup-result.png create mode 100644 www/html/Game/public/img/quiz-carry/timeup-txt.png diff --git a/scripts/deploy-www.sh b/scripts/deploy-www.sh index d524d1f..9fba820 100755 --- a/scripts/deploy-www.sh +++ b/scripts/deploy-www.sh @@ -19,4 +19,8 @@ PLAQUE="$DST/Game/public/img/quiz-carry-plaque-assets" mkdir -p "$PLAQUE" chown www-data:www-data "$PLAQUE" chmod 2775 "$PLAQUE" +GA="$DST/Game/public/img/gauntlet-assets" +mkdir -p "$GA" +chown www-data:www-data "$GA" +chmod 2775 "$GA" echo "OK: deployed $SRC -> $DST (node_modules on server untouched)" diff --git a/www/html/Admin/index.html b/www/html/Admin/index.html index 4102d59..e723680 100644 --- a/www/html/Admin/index.html +++ b/www/html/Admin/index.html @@ -72,7 +72,7 @@ - + diff --git a/www/html/Game/data/characters/char-1777017632279_down_idle_layer_shadow.png b/www/html/Game/data/characters/char-1777017632279_down_idle_layer_shadow.png new file mode 100644 index 0000000000000000000000000000000000000000..7ae440783be10a21889bc3dfee3850959ec372f0 GIT binary patch literal 6882 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 literal 0 HcmV?d00001 diff --git a/www/html/Game/public/img/gauntlet-assets/.gitkeep b/www/html/Game/public/img/gauntlet-assets/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/www/html/Game/public/img/gauntlet-assets/gauntlet-077c293962b8fe07.png b/www/html/Game/public/img/gauntlet-assets/gauntlet-077c293962b8fe07.png new file mode 100644 index 0000000000000000000000000000000000000000..9f41af2f95f92dc0b1eaf6d1b64992c6241b1daa GIT binary patch literal 14711 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 FV1n2(%|HME literal 0 HcmV?d00001 diff --git a/www/html/Game/public/img/gauntlet-assets/gauntlet-2a75a958cd5e5e8a.png b/www/html/Game/public/img/gauntlet-assets/gauntlet-2a75a958cd5e5e8a.png new file mode 100644 index 0000000000000000000000000000000000000000..d0a6b7bba38ed494786576025e7eb4deefe074f3 GIT binary patch literal 7929 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 P00000NkvXXu0mjfIpr;l literal 0 HcmV?d00001 diff --git a/www/html/Game/public/img/gauntlet-assets/gauntlet-6aa244ab734b12e4.png b/www/html/Game/public/img/gauntlet-assets/gauntlet-6aa244ab734b12e4.png new file mode 100644 index 0000000000000000000000000000000000000000..b7b678c57a9023445279de2267941e757aa9e0ae GIT binary patch literal 12888 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 KMNUMnLSTY@!)>(y literal 0 HcmV?d00001 diff --git a/www/html/Game/public/img/quiz-carry/btn-done.png b/www/html/Game/public/img/quiz-carry/btn-done.png new file mode 100644 index 0000000000000000000000000000000000000000..6ea76186eb4e04bdb432d3711490c5f358622437 GIT binary patch literal 22871 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 literal 0 HcmV?d00001 diff --git a/www/html/Game/public/img/quiz-carry/popup-result.png b/www/html/Game/public/img/quiz-carry/popup-result.png new file mode 100644 index 0000000000000000000000000000000000000000..340a3886c0ab3521052fe3065af011df84f14db7 GIT binary patch literal 80365 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 0) return idleAnim.frames[idleFi]; const idfb = idleAnim.fallback; @@ -707,6 +757,8 @@ let quizCarrySessionLength = 0; let quizCarryRoundsCompleted = 0; let quizCarrySessionEnded = false; + /** หลัง timeup บนโต๊ะ (embed): รอ 5s แล้วโชว์ result-complete / result-gameover */ + let quizCarryResultEndTimer = null; /** embed พรีวิว: รอ Ready / START ของโฮสต์ก่อนนับ 3–2–1 */ let quizCarryPregameActive = false; let playHostId = null; @@ -1462,6 +1514,72 @@ fitQuizMapQuestionFontToPanel(panel, textEl, startFontPx, mnFont); } + /** โซนเดียวกับแผงคำถามบนแผนที่ — ยึด timeup ให้ตรงกล่อง #quiz-map-question-panel (ห้ามคำนวณซ้ำแล้วคลาด) */ + function syncQuizCarryTimeupDeskLayerPosition() { + const layer = document.getElementById('quiz-carry-timeup-desk-layer'); + if (!layer || layer.classList.contains('is-hidden')) return; + const anchor = layer.querySelector('.qc-timeup-desk-anchor') + || layer.querySelector('.qc-timeup-desk-inner') + || (() => { + const img = document.getElementById('quiz-carry-timeup-txt-img'); + return img && img.parentElement && img.parentElement !== layer ? img.parentElement : null; + })(); + if (!anchor || !canvas) return; + const clearToFullStack = () => { + anchor.style.left = '0'; + anchor.style.top = '0'; + anchor.style.width = '100%'; + anchor.style.height = '100%'; + }; + const stack = document.getElementById('play-canvas-stack'); + const panel = document.getElementById('quiz-map-question-panel'); + if (stack && panel && !panel.classList.contains('is-hidden')) { + try { + const sr = stack.getBoundingClientRect(); + const pr = panel.getBoundingClientRect(); + const rw = pr.width; + const rh = pr.height; + if (rw >= 8 && rh >= 8 && sr.width > 0 && sr.height > 0) { + anchor.style.left = Math.round(pr.left - sr.left) + 'px'; + anchor.style.top = Math.round(pr.top - sr.top) + 'px'; + anchor.style.width = Math.round(rw) + 'px'; + anchor.style.height = Math.round(rh) + 'px'; + return; + } + } catch (e) { /* fallback ด้านล่าง */ } + } + const pl = panel && panel.style && String(panel.style.left || '').trim(); + const pt = panel && panel.style && String(panel.style.top || '').trim(); + const pw = panel && panel.style && String(panel.style.width || '').trim(); + const ph = panel && panel.style && String(panel.style.height || '').trim(); + if (pl && pt && pw && ph) { + anchor.style.left = pl; + anchor.style.top = pt; + anchor.style.width = pw; + anchor.style.height = ph; + return; + } + if (!mapData || mapData.gameType !== 'quiz_carry') { + clearToFullStack(); + return; + } + const bounds = getQuizCarryQuestionAreaTileBounds(mapData) || getQuizCarryHubTileBounds(mapData); + if (!bounds) { + clearToFullStack(); + return; + } + const camX = me.x * tileSize; + const camY = me.y * tileSize; + const left = (bounds.minX * tileSize - camX) * zoom + canvas.width / 2; + const top = (bounds.minY * tileSize - camY) * zoom + canvas.height / 2; + const wPx = (bounds.maxX - bounds.minX + 1) * tileSize * zoom; + const hPx = (bounds.maxY - bounds.minY + 1) * tileSize * zoom; + anchor.style.left = Math.round(left) + 'px'; + anchor.style.top = Math.round(top) + 'px'; + anchor.style.width = Math.round(Math.max(48, wPx)) + 'px'; + anchor.style.height = Math.round(Math.max(40, hPx)) + 'px'; + } + function carryEmbedCountdownAnchorResolved() { if (!mapData || !isQuizCarry()) return 'screen'; const v = mapData.carryEmbedCountdownAnchor; @@ -3288,6 +3406,306 @@ quizCarryPickNextQuestion(); } + function playQuizCarryAvatarUrlForMission(characterId) { + if (!characterId) return ''; + return BASE + '/img/characters/' + encodeURIComponent(String(characterId)) + '_down.png'; + } + + /** อวาตาร์สรุปภารกิจ / DOM — ใช้สี gen เดียวกับในเกม (เลเยอร์ + tint) */ + function applyQuizCarryRankAvatarTint(imgEl, characterId, peerId) { + if (!imgEl || !characterId) return; + let attempts = 0; + const fallbackUrl = playQuizCarryAvatarUrlForMission(characterId); + const tick = () => { + attempts++; + const nowT = Date.now(); + const rawImg = getCharacterFrame(characterId, 'down', nowT, false) || getCharacterImg(characterId, 'down'); + if (!rawImg) { + if (fallbackUrl) imgEl.src = fallbackUrl; + return; + } + if ((!rawImg.complete || !rawImg.naturalWidth) && attempts < 28) { + if (fallbackUrl) imgEl.src = fallbackUrl + '?p=' + String(attempts); + setTimeout(tick, 90); + return; + } + if (!rawImg.naturalWidth) { + if (fallbackUrl) imgEl.src = fallbackUrl; + return; + } + const tint = playTintFromPeerId(peerId != null ? String(peerId) : String(characterId)); + const out = getPlayTintedAvatarSource(rawImg, characterId, 'down', nowT, false, tint); + if (out && out.tagName === 'CANVAS' && out.width > 0) { + try { + imgEl.src = out.toDataURL('image/png'); + return; + } catch (e) { /* ต่อไปลอง walk หรือ URL */ } + } + if (out && out.src && out !== rawImg) { + imgEl.src = out.src; + return; + } + if (attempts < 28 && playCharLayerDiscoveryPending(characterId)) { + setTimeout(tick, 120); + return; + } + imgEl.src = rawImg.src || fallbackUrl; + }; + tick(); + } + + /** เกรดจากค่าเฉลี่ยคะแนนทีม (0–100 หลังปัด) — A 80–100, B 60–79, C 0–59 */ + function quizCarryGradeFromTeamAverage(avgRounded) { + if (avgRounded >= 80) return 'A'; + if (avgRounded >= 60) return 'B'; + return 'C'; + } + + function quizCarryRollCardRewardForGrade(grade) { + const u = Math.random() * 100; + if (grade === 'A') { + if (u < 30) return { th: 'การ์ดชี้คนร้าย', en: 'Culprit hint card' }; + if (u < 80) return { th: 'การ์ด Rare', en: 'Rare card' }; + return { th: 'การ์ดธรรมดา', en: 'Common card' }; + } + if (grade === 'B') { + if (u < 20) return { th: 'การ์ดชี้คนร้าย', en: 'Culprit hint card' }; + if (u < 50) return { th: 'การ์ด Rare', en: 'Rare card' }; + return { th: 'การ์ดธรรมดา', en: 'Common card' }; + } + if (grade === 'C') { + if (u < 20) return { th: 'การ์ด Rare', en: 'Rare card' }; + return { th: 'การ์ดธรรมดา', en: 'Common card' }; + } + return null; + } + + function quizCarryBuildMissionRankList() { + const ranks = []; + if (myId != null) { + ranks.push({ + id: myId, + nickname: (me.nickname || nick || 'คุณ').trim() || 'คุณ', + score: Math.max(0, Number(playLiveQuizScores[myId]) || 0), + characterId: me.characterId || getPlayCharacterId(), + }); + } + others.forEach((o, id) => { + if (!o) return; + ranks.push({ + id, + nickname: (o.nickname && String(o.nickname).trim()) ? String(o.nickname).trim() : String(id), + score: Math.max(0, Number(playLiveQuizScores[id]) || 0), + characterId: o.characterId || null, + }); + }); + ranks.sort((a, b) => b.score - a.score || String(a.nickname).localeCompare(String(b.nickname), 'th')); + return ranks.slice(0, 5); + } + + function cancelQuizCarryResultEndAfterTimeup() { + if (quizCarryResultEndTimer != null) { + clearTimeout(quizCarryResultEndTimer); + quizCarryResultEndTimer = null; + } + } + + /** มีผู้เล่นอย่างน้อยหนึ่งคนได้คะแนน > 0 (= ส่งคำตอบถูกที่ฮับอย่างน้อย 1 ครั้ง; คะแนนต่อข้อคงที่ QUIZ_CARRY_POINTS_PER_CORRECT) */ + function quizCarryAnyPlayerHasCorrectAnswer() { + if (!playLiveQuizScores || typeof playLiveQuizScores !== 'object') return false; + const keys = Object.keys(playLiveQuizScores); + for (let i = 0; i < keys.length; i++) { + if (Math.max(0, Number(playLiveQuizScores[keys[i]]) || 0) > 0) return true; + } + return false; + } + + function hideQuizCarryResultEndLayer() { + const el = document.getElementById('quiz-carry-result-end-layer'); + if (!el) return; + el.classList.add('is-hidden'); + el.setAttribute('aria-hidden', 'true'); + } + + function showQuizCarryResultEndLayer(useComplete) { + const el = document.getElementById('quiz-carry-result-end-layer'); + const img = document.getElementById('quiz-carry-result-end-img'); + if (!el || !img) return; + const fname = useComplete ? 'result-complete.png' : 'result-gameover.png'; + img.src = BASE + '/img/quiz-carry/' + fname + '?v=' + String(Date.now()); + el.classList.remove('is-hidden'); + el.setAttribute('aria-hidden', 'false'); + } + + /** หลังแสดง timeup บนโต๊ะ (embed): รอ 5 วินาที แล้วโชว์ mock จบตามว่ามีคนตอบถูกหรือไม่ */ + function scheduleQuizCarryResultEndAfterTimeup() { + cancelQuizCarryResultEndAfterTimeup(); + hideQuizCarryResultEndLayer(); + quizCarryResultEndTimer = setTimeout(function () { + quizCarryResultEndTimer = null; + const anyOk = quizCarryAnyPlayerHasCorrectAnswer(); + hideQuizCarryTimeupOnDeskLayer(); + showQuizCarryResultEndLayer(anyOk); + }, 5000); + } + + function hideQuizCarryTimeupOnDeskLayer() { + cancelQuizCarryResultEndAfterTimeup(); + const el = document.getElementById('quiz-carry-timeup-desk-layer'); + if (!el) return; + const anchor = el.querySelector('.qc-timeup-desk-anchor') || el.querySelector('.qc-timeup-desk-inner'); + if (anchor) { + anchor.style.left = ''; + anchor.style.top = ''; + anchor.style.width = ''; + anchor.style.height = ''; + } + el.classList.add('is-hidden'); + el.setAttribute('aria-hidden', 'true'); + } + + /** หลังกดรับหลักฐาน (embed preview) — แสดง timeup-txt กลางโต๊ะบนแคนวาส แยกจากป๊อปสรุปคะแนน */ + function showQuizCarryTimeupOnDeskLayer() { + const el = document.getElementById('quiz-carry-timeup-desk-layer'); + if (!el) return; + const img = document.getElementById('quiz-carry-timeup-txt-img'); + if (img) { + img.src = BASE + '/img/quiz-carry/timeup-txt.png?v=' + String(Date.now()); + } + el.classList.remove('is-hidden'); + el.setAttribute('aria-hidden', 'false'); + try { + syncQuizCarryTimeupDeskLayerPosition(); + } catch (e) { /* ignore */ } + if (previewMode && editorEmbedReturn) { + scheduleQuizCarryResultEndAfterTimeup(); + } + } + + function showQuizCarryMissionSummaryOverlay(opts) { + opts = opts || {}; + const forceF = !!opts.forceGradeF; + const overlay = document.getElementById('quiz-carry-mission-overlay'); + if (!overlay) return; + hideQuizCarryTimeupOnDeskLayer(); + const ranks = quizCarryBuildMissionRankList(); + const parts = ranks.map((r) => Math.max(0, Number(r.score) || 0)); + const total = parts.reduce((a, b) => a + b, 0); + const n = ranks.length; + const avgForGrade = n ? Math.min(100, Math.max(0, Math.round(total / n))) : 0; + const grade = forceF ? 'F' : quizCarryGradeFromTeamAverage(avgForGrade); + const reward = grade === 'F' ? null : quizCarryRollCardRewardForGrade(grade); + + const rowEl = document.getElementById('qc-mission-rank-row'); + const totalEl = document.getElementById('qc-mission-total-line'); + const gradeEl = document.getElementById('qc-mission-grade'); + const cardTextEl = document.getElementById('qc-mission-card-text'); + const checkEl = document.getElementById('qc-mission-check'); + const successTxt = document.getElementById('qc-mission-success-txt'); + const rankTagLabels = ['[1st]', '[2nd]', '[3rd]', '[4th]', '[5th]']; + if (rowEl) { + rowEl.innerHTML = ''; + ranks.forEach((r, idx) => { + const rank = idx + 1; + const cell = document.createElement('div'); + cell.className = 'qc-mission-rank-cell'; + const tag = document.createElement('div'); + tag.className = 'qc-mission-rank-tag'; + tag.textContent = rankTagLabels[rank - 1] || ('[' + rank + ']'); + const frame = document.createElement('div'); + frame.className = 'qc-mission-rank-frame'; + const img = document.createElement('img'); + img.className = 'qc-mission-rank-avatar'; + img.alt = ''; + applyQuizCarryRankAvatarTint(img, r.characterId, r.id); + img.onerror = function () { + this.onerror = null; + this.src = 'data:image/svg+xml,' + encodeURIComponent('?'); + }; + frame.appendChild(img); + const nick = document.createElement('div'); + nick.className = 'qc-mission-rank-nick'; + nick.textContent = r.nickname; + nick.title = r.nickname; + const sc = document.createElement('div'); + sc.className = 'qc-mission-rank-score'; + sc.textContent = String(r.score); + cell.appendChild(tag); + cell.appendChild(frame); + cell.appendChild(nick); + cell.appendChild(sc); + rowEl.appendChild(cell); + }); + } + if (totalEl) { + totalEl.textContent = ''; + if (!n) { + totalEl.textContent = '—'; + } else { + const lab = document.createElement('span'); + lab.textContent = 'คะแนนรวม '; + const nums = document.createElement('span'); + nums.className = 'qc-mission-total-nums'; + nums.textContent = '(' + parts.join('+') + ') = ' + total; + const tail = document.createElement('span'); + tail.textContent = ' · เฉลี่ยทีม ' + avgForGrade + '/100'; + totalEl.appendChild(lab); + totalEl.appendChild(nums); + totalEl.appendChild(tail); + } + } + if (gradeEl) { + gradeEl.textContent = grade; + gradeEl.className = 'qc-mission-grade qc-mission-grade--' + String(grade).toLowerCase(); + } + const okMission = grade !== 'F'; + if (checkEl) checkEl.style.display = okMission ? '' : 'none'; + if (successTxt) { + successTxt.style.display = okMission ? '' : 'none'; + if (okMission) successTxt.textContent = 'ภารกิจสำเร็จ'; + } + if (cardTextEl) { + cardTextEl.textContent = ''; + if (grade === 'F') { + const pl = document.createElement('div'); + pl.className = 'qc-mission-reward-plaque qc-mission-reward-plaque--muted'; + const t = document.createElement('div'); + t.className = 'qc-mission-reward-plaque-title'; + t.textContent = 'ไม่ได้รับการ์ด'; + const s = document.createElement('div'); + s.className = 'qc-mission-reward-plaque-sub'; + s.textContent = 'เกรด F'; + pl.appendChild(t); + pl.appendChild(s); + cardTextEl.appendChild(pl); + } else if (reward) { + const pl = document.createElement('div'); + pl.className = 'qc-mission-reward-plaque'; + const t = document.createElement('div'); + t.className = 'qc-mission-reward-plaque-title'; + t.textContent = reward.th; + const s = document.createElement('div'); + s.className = 'qc-mission-reward-plaque-sub'; + s.textContent = reward.en; + pl.appendChild(t); + pl.appendChild(s); + cardTextEl.appendChild(pl); + } + } + overlay.classList.remove('is-hidden'); + const btn = document.getElementById('btn-quiz-carry-mission-done'); + if (btn) { + btn.onclick = function () { + overlay.classList.add('is-hidden'); + if (previewMode && editorEmbedReturn) { + showQuizCarryTimeupOnDeskLayer(); + } else { + window.location.href = 'room-lobby.html?space=' + encodeURIComponent(spaceId) + '&nick=' + encodeURIComponent(nick); + } + }; + } + } + function showQuizCarrySessionCompleteOverlay() { if (quizCarrySessionEnded) return; quizCarrySessionEnded = true; @@ -3311,6 +3729,14 @@ if (qEl) qEl.textContent = playQuizText; const phaseEl = document.getElementById('quiz-game-phase-label'); if (phaseEl) phaseEl.textContent = 'ครบ ' + String(quizCarryRoundsCompleted) + ' ข้อ'; + const missionOv = document.getElementById('quiz-carry-mission-overlay'); + if (missionOv && quizCarryUseMissionSummaryOverlay) { + showQuizCarryMissionSummaryOverlay({ + forceGradeF: !!(playQuizPlayerLocal && playQuizPlayerLocal.eliminated), + }); + renderPlayQuizScoreboard(playLiveQuizScores); + return; + } const ov = document.getElementById('gauntlet-ended-overlay'); const msgEl = document.getElementById('gauntlet-ended-message'); const titleEl = document.getElementById('gauntlet-ended-title'); @@ -3547,6 +3973,8 @@ quizCarryRoundsCompleted = 0; quizCarrySessionEnded = false; hideQuizCarryEmbedCountdownOverlay(); + hideQuizCarryTimeupOnDeskLayer(); + hideQuizCarryResultEndLayer(); me.quizCarryHeld = null; others.forEach((o) => { if (!o) return; @@ -3593,6 +4021,8 @@ async function loadQuizCarryPoolAndStart() { quizCarryRoundsCompleted = 0; quizCarrySessionEnded = false; + hideQuizCarryTimeupOnDeskLayer(); + hideQuizCarryResultEndLayer(); quizCarrySessionLength = 0; let pool = []; let s = {}; @@ -8639,9 +9069,25 @@ if (portrait) { const cid = me.characterId || getPlayCharacterId(); - const fr = getCharacterFrame(cid, me.direction || 'down', Date.now(), !!me.isWalking); - const fb = fr && fr.src ? fr : getCharacterImg(cid, 'down'); - if (fb && fb.src) portrait.src = fb.src; + const dir = me.direction || 'down'; + const nowT = Date.now(); + const walk = !!me.isWalking; + const rawImg = getAvatarImg(cid, dir, nowT, walk); + const tint = me.playTint || playTintFromPeerId(String(myId != null ? myId : 'me')); + const comp = rawImg && cid && tint + ? getPlayTintedAvatarSource(rawImg, cid, dir, nowT, walk, tint) + : rawImg; + if (comp && comp.tagName === 'CANVAS' && comp.width > 0) { + try { + portrait.src = comp.toDataURL('image/png'); + } catch (e) { + if (rawImg && rawImg.src) portrait.src = rawImg.src; + } + } else if (comp && comp.src) { + portrait.src = comp.src; + } else if (rawImg && rawImg.src) { + portrait.src = rawImg.src; + } } if (statusEl) { if (isQuizCarry() && quizCarrySessionEnded) { @@ -9509,6 +9955,8 @@ syncPlayQuizMapPanel(); syncQuizCarryEmbedQuestionStrip(); } + /* timeup ต้องซิงก์ทุกเฟรมแม้จบเซสชัน — อย่าให้อยู่ในเงื่อนไขด้านบนอย่างเดียว */ + syncQuizCarryTimeupDeskLayerPosition(); if (previewFillBots && mapData && !useCyberPlayHud()) { const human = countPlayHumans(); const bots = [...others.keys()].filter(isPreviewBotId).length; diff --git a/www/html/Game/public/js/room-lobby.js b/www/html/Game/public/js/room-lobby.js index 444fec8..1280260 100644 --- a/www/html/Game/public/js/room-lobby.js +++ b/www/html/Game/public/js/room-lobby.js @@ -266,8 +266,36 @@ return -1; } + function isUploadedCharAssetId(id) { + if (!id) return false; + const s = String(id).trim(); + return /^char-\d/i.test(s); + } + + function useMultiFrameIdleSpriteSheets(id) { + if (!id) return true; + return !isUploadedCharAssetId(id); + } + function ensureCharacterIdleAnim(id, dir) { const d = dir || 'down'; + if (!useMultiFrameIdleSpriteSheets(id)) { + const key0 = String(id) + '_' + d + '_idle'; + var anim0 = characterIdleAnimations[key0]; + if (!anim0) { + anim0 = { frames: [], fallback: null }; + characterIdleAnimations[key0] = anim0; + var enc0 = encodeURIComponent(id); + for (var ii = 0; ii < CHARACTER_ANIM_FRAMES; ii++) { + var im0 = new Image(); + im0.src = BASE + '/img/characters/' + enc0 + '_' + d + '_' + ii + '.png'; + anim0.frames.push(im0); + } + anim0.fallback = new Image(); + anim0.fallback.src = BASE + '/img/characters/' + enc0 + '_' + d + '_idle.png'; + } + return anim0; + } const key = id + '_' + d + '_idle'; var anim = characterIdleAnimations[key]; if (!anim) { diff --git a/www/html/Game/public/play.html b/www/html/Game/public/play.html index 3301b8f..f6a53f6 100644 --- a/www/html/Game/public/play.html +++ b/www/html/Game/public/play.html @@ -27,6 +27,78 @@ display: block; touch-action: none; } + /* หลังกดรับหลักฐานในหน้าสรุป — BG ดำ alpha ทั้งจอ + timeup ติดโซนโต๊ะเหมือน #quiz-map-question-panel */ + #quiz-carry-timeup-desk-layer { + position: absolute; + inset: 0; + z-index: 65; + pointer-events: none; + box-sizing: border-box; + } + #quiz-carry-timeup-desk-layer.is-hidden { + display: none !important; + } + .qc-timeup-dim { + position: absolute; + inset: 0; + z-index: 0; + background: rgba(0, 0, 0, 0.58); + pointer-events: none; + } + .qc-timeup-desk-anchor { + position: absolute; + z-index: 1; + box-sizing: border-box; + padding: clamp(6px, 1.5vw, 14px); + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + text-align: center; + overflow: visible; + pointer-events: none; + } + .qc-timeup-txt-img { + width: min(94%, 520px); + max-width: 100%; + height: auto; + object-fit: contain; + display: block; + filter: drop-shadow(0 10px 36px rgba(0, 0, 0, 0.65)) drop-shadow(0 0 20px rgba(255, 60, 80, 0.15)); + } + /* หลัง timeup 5s — mock จบ: result-complete / result-gameover เต็มพื้นที่แคนวาส */ + #quiz-carry-result-end-layer { + position: absolute; + inset: 0; + z-index: 66; + pointer-events: none; + box-sizing: border-box; + display: flex; + flex-direction: column; + align-items: center; + justify-content: center; + } + #quiz-carry-result-end-layer.is-hidden { + display: none !important; + } + .qc-result-end-dim { + position: absolute; + inset: 0; + z-index: 0; + background: rgba(0, 0, 0, 0.62); + pointer-events: none; + } + .qc-result-end-img { + position: relative; + z-index: 1; + width: min(96vw, 920px); + max-height: min(88vh, 640px); + height: auto; + object-fit: contain; + display: block; + pointer-events: none; + filter: drop-shadow(0 12px 40px rgba(0, 0, 0, 0.7)); + } /* Quiz carry — ปุ่ม GRAB มุมขวาล่าง (เทียบ F) · mockup ≈ 10–12% ความสูงจอ */ #quiz-carry-grab-btn { position: absolute; @@ -526,6 +598,299 @@ border: 2px solid rgba(247, 118, 140, 0.85); color: #fecdd3; } + /* quiz_carry — สรุปผลภารกิจ (mock) · พื้นหลังแยกจากเนื้อหา กันลาย PNG [4th]/[5th] ทับ + หัวซ้ำกับ artwork */ + #quiz-carry-mission-overlay { + position: fixed; + inset: 0; + z-index: 10090; + display: flex; + align-items: center; + justify-content: center; + padding: max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left)); + box-sizing: border-box; + font-family: 'Orbitron', 'Segoe UI', sans-serif; + } + #quiz-carry-mission-overlay.is-hidden { display: none !important; } + .qc-mission-backdrop { + position: absolute; + inset: 0; + background: rgba(4, 6, 14, 0.78); + backdrop-filter: blur(8px); + } + .qc-mission-panel { + position: relative; + width: min(96vw, 720px); + max-width: 100%; + max-height: min(92vh, 860px); + border-radius: 12px; + overflow: hidden; + filter: drop-shadow(0 0 22px rgba(0, 255, 240, 0.18)); + box-sizing: border-box; + display: flex; + flex-direction: column; + } + .qc-mission-panel-bg { + position: absolute; + left: 0; + right: 0; + top: 0; + bottom: 0; + height: auto; + min-height: 100%; + background-image: url('/Game/img/quiz-carry/popup-result.png'); + background-repeat: no-repeat; + background-position: center top; + background-size: 100% auto; + pointer-events: none; + z-index: 0; + } + .qc-mission-panel-inner { + position: relative; + z-index: 1; + flex: 1 1 auto; + min-height: 0; + display: flex; + flex-direction: column; + align-items: stretch; + overflow-x: hidden; + overflow-y: auto; + /* เว้นตำแหน่งหัวข้อใน artwork — ไม่ซ้ำกับ

sr-only */ + padding: clamp(72px, 16vw, 112px) clamp(14px, 3.2vw, 26px) clamp(14px, 2.8vw, 22px); + gap: clamp(8px, 1.6vw, 14px); + } + .qc-mission-rank-row { + display: flex; + flex-wrap: nowrap; + justify-content: center; + align-items: stretch; + gap: clamp(6px, 1.5vw, 14px); + flex: 0 0 auto; + overflow-x: auto; + -webkit-overflow-scrolling: touch; + scrollbar-width: thin; + padding: 2px 0; + } + .qc-mission-rank-cell { + flex: 0 0 auto; + width: clamp(68px, 16vw, 104px); + display: flex; + flex-direction: column; + align-items: center; + gap: 4px; + text-align: center; + color: #e2e8f0; + min-width: 0; + } + /* แท็กอันดับ mock: [1st] … [5th] สีทอง — อยู่เหนือกรอบ ไม่ทับอวาตาร์ */ + .qc-mission-rank-tag { + flex: 0 0 auto; + font-size: clamp(0.5rem, 1.35vw, 0.65rem); + font-weight: 800; + letter-spacing: 0.04em; + color: #f6e08a; + text-shadow: 0 0 10px rgba(246, 224, 138, 0.45); + line-height: 1.1; + white-space: nowrap; + } + .qc-mission-rank-frame { + position: relative; + width: 100%; + max-width: 88px; + aspect-ratio: 1; + margin: 0 auto; + overflow: hidden; + border-radius: 8px; + border: 1px solid rgba(0, 255, 240, 0.45); + box-shadow: + 0 0 0 1px rgba(255, 79, 180, 0.2), + 0 0 14px rgba(0, 255, 240, 0.18); + background: rgba(10, 12, 24, 0.95); + flex-shrink: 0; + } + .qc-mission-rank-avatar { + position: absolute; + left: 50%; + top: 50%; + transform: translate(-50%, -50%); + width: 72%; + height: 72%; + object-fit: contain; + image-rendering: pixelated; + display: block; + pointer-events: none; + } + .qc-mission-rank-nick { + font-size: clamp(0.52rem, 1.45vw, 0.68rem); + font-weight: 700; + color: #e2e8f0; + line-height: 1.15; + width: 100%; + max-width: 100%; + display: -webkit-box; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + overflow: hidden; + word-break: break-word; + hyphens: auto; + } + .qc-mission-rank-score { + font-size: clamp(0.62rem, 1.85vw, 0.78rem); + font-weight: 800; + color: #f6e08a; + text-shadow: 0 0 10px rgba(246, 224, 138, 0.35); + } + .qc-mission-total { + margin: 0; + text-align: center; + font-size: clamp(0.65rem, 1.85vw, 0.8rem); + font-weight: 700; + line-height: 1.4; + flex: 0 0 auto; + color: #f1f5f9; + } + .qc-mission-total-nums { + color: #f6e08a; + font-weight: 800; + text-shadow: 0 0 8px rgba(246, 224, 138, 0.25); + } + .qc-mission-bottom { + display: grid; + grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); + gap: clamp(10px, 2.2vw, 20px); + align-items: start; + flex: 0 0 auto; + isolation: isolate; + } + @media (max-width: 520px) { + .qc-mission-bottom { grid-template-columns: 1fr; } + } + .qc-mission-section-h { + margin: 0 0 8px; + font-size: clamp(0.68rem, 1.9vw, 0.82rem); + font-weight: 700; + letter-spacing: 0.06em; + color: #f1f5f9; + text-align: center; + } + .qc-mission-grade-block, + .qc-mission-bonus-block { + text-align: center; + min-width: 0; + } + .qc-mission-grade { + font-size: clamp(2.4rem, 11vw, 4rem); + font-weight: 900; + line-height: 1; + letter-spacing: 0.02em; + color: #f8fafc; + text-shadow: 0 0 28px rgba(255, 255, 255, 0.35); + } + .qc-mission-grade--a { color: #9ece6a; text-shadow: 0 0 24px rgba(158, 206, 106, 0.55); } + .qc-mission-grade--b { color: #7aa2f7; text-shadow: 0 0 24px rgba(122, 162, 247, 0.5); } + .qc-mission-grade--c { color: #e0af68; text-shadow: 0 0 22px rgba(224, 175, 104, 0.45); } + .qc-mission-grade--f { color: #f7768e; text-shadow: 0 0 22px rgba(247, 118, 140, 0.45); } + .qc-mission-bonus-row { + display: flex; + flex-direction: row; + flex-wrap: wrap; + align-items: center; + justify-content: center; + gap: clamp(10px, 2.5vw, 18px); + min-height: 0; + } + .qc-mission-bonus-inline { + display: flex; + align-items: center; + justify-content: center; + gap: 8px; + flex-wrap: nowrap; + flex: 0 0 auto; + } + .qc-mission-reward-plaque { + flex: 0 1 auto; + min-width: 100px; + max-width: 160px; + padding: 8px 10px 10px; + border-radius: 10px; + border: 1px solid rgba(0, 255, 240, 0.55); + box-shadow: 0 0 14px rgba(0, 255, 240, 0.15), inset 0 0 20px rgba(0, 40, 48, 0.35); + background: linear-gradient(165deg, rgba(14, 18, 36, 0.98), rgba(8, 10, 22, 0.99)); + text-align: center; + } + .qc-mission-reward-plaque--muted { + border-color: rgba(148, 153, 168, 0.4); + box-shadow: none; + opacity: 0.92; + } + .qc-mission-reward-plaque-title { + font-size: clamp(0.68rem, 1.8vw, 0.8rem); + font-weight: 800; + color: #f1f5f9; + line-height: 1.25; + } + .qc-mission-reward-plaque-sub { + margin-top: 4px; + font-size: clamp(0.58rem, 1.45vw, 0.68rem); + font-weight: 600; + color: #7af8ff; + opacity: 0.9; + } + .qc-mission-check { + width: clamp(22px, 6vw, 32px); + height: auto; + flex-shrink: 0; + } + .qc-mission-success-txt { + font-size: clamp(0.72rem, 2.1vw, 0.88rem); + font-weight: 700; + color: #9ece6a; + } + .qc-mission-card-text { + flex: 0 1 auto; + text-align: center; + font-size: clamp(0.68rem, 1.9vw, 0.82rem); + color: #c0caf5; + line-height: 1.45; + min-width: 0; + max-width: min(200px, 42vw); + } + .qc-mission-reward-sub { + font-size: 0.78em; + opacity: 0.85; + font-weight: 600; + } + .qc-mission-panel-inner #btn-quiz-carry-mission-done { + flex: 0 0 auto; + align-self: center; + } + #btn-quiz-carry-mission-done { + margin: clamp(10px, 2.5vw, 16px) auto 0; + display: block; + width: min(92%, 320px); + height: clamp(44px, 11vw, 56px); + border: none; + padding: 0; + cursor: pointer; + background: url('/Game/img/quiz-carry/btn-done.png') center / contain no-repeat; + background-color: transparent; + } + #btn-quiz-carry-mission-done:focus-visible { + outline: 2px solid rgba(0, 255, 240, 0.7); + outline-offset: 3px; + } + .qc-mission-sr { + position: absolute !important; + width: 1px !important; + height: 1px !important; + padding: 0 !important; + margin: -1px !important; + overflow: hidden !important; + clip: rect(0, 0, 0, 0) !important; + clip-path: inset(50%) !important; + border: 0 !important; + white-space: nowrap !important; + } + #gauntlet-ended-overlay { position: fixed; inset: 0; @@ -966,6 +1331,16 @@ + + + - +
v —
diff --git a/www/html/Game/public/play.js b/www/html/Game/public/play.js index ae7667f..75f082f 100644 --- a/www/html/Game/public/play.js +++ b/www/html/Game/public/play.js @@ -13,6 +13,10 @@ const previewMode = params.get('preview') === '1'; const forceDefaultCharacter = params.get('defaultChar') === '1'; const editorEmbedReturn = params.get('editorEmbed') === '1'; + const playMapIdFromQuery = (params.get('map') || '').trim(); + /** สรุปภารกิจแบบ mock (popup-result ฯลฯ) — ใช้เฉพาะฉากนี้จาก editor (id ใน URL เช่น editor.html?id=mnorwqx1) */ + const quizCarryMissionSummaryMapId = 'mnorwqx1'; + const quizCarryUseMissionSummaryOverlay = playMapIdFromQuery === quizCarryMissionSummaryMapId; /** จนกว่าโหลด /api/characters — placeholder ชั่วคราวก่อน join */ const LEGACY_PLACEHOLDER_CHARACTER_ID = 'Chatest'; let firstCharacterDefaultResolved = null; @@ -159,8 +163,39 @@ return -1; } + /** ตัวละครอัปโหลดจากระบบมักเป็น char- + ตัวเลข (อาจมี suffix) — ไม่มี idle strip / idle layer ครบทุกทิศ */ + function isUploadedCharAssetId(id) { + if (!id) return false; + const s = String(id).trim(); + return /^char-\d/i.test(s); + } + + function useMultiFrameIdleSpriteSheets(id) { + if (!id) return true; + return !isUploadedCharAssetId(id); + } + function ensureCharacterIdleAnim(id, dir) { const d = dir || 'down'; + /* char-* ไม่มี *_idle_0.png — ใช้ strip เดิน dir_0..3 เป็น idle ต่อทิศ (มีลูป) แทนรูปเดียวที่มักไม่มี */ + if (!useMultiFrameIdleSpriteSheets(id)) { + const key = String(id) + '_' + d + '_idle'; + let anim = characterIdleAnimations[key]; + if (!anim) { + anim = { frames: [], fallback: null }; + characterIdleAnimations[key] = anim; + const enc = encodeURIComponent(id); + for (let i = 0; i < CHARACTER_ANIM_FRAMES; i++) { + const img = new Image(); + img.src = BASE + '/img/characters/' + enc + '_' + d + '_' + i + '.png'; + anim.frames.push(img); + } + const fb = new Image(); + fb.src = BASE + '/img/characters/' + enc + '_' + d + '_idle.png'; + anim.fallback = fb; + } + return anim; + } const key = id + '_' + d + '_idle'; let anim = characterIdleAnimations[key]; if (!anim) { @@ -179,6 +214,7 @@ return anim; } + /** ลูป idle ขณะยืน — ใช้จังหวะเวลาเหมือนเดิน (CHARACTER_ANIM_FRAME_MS) */ function idleAnimPhaseIndex(now) { const t = typeof now === 'number' ? now : Date.now(); return Math.floor(t / CHARACTER_ANIM_FRAME_MS) % CHARACTER_ANIM_FRAMES; @@ -357,6 +393,7 @@ return out; } + /** เลเยอร์ idle: id__idle__layer_.png หรือ id__idle_layer_.png */ function layerUrlCandidatesIdle(id, dir, layerName, frameIndex) { const enc = encodeURIComponent(id); const base = BASE + '/img/characters/' + enc + '_' + dir + '_idle'; @@ -468,13 +505,27 @@ let anyTintColorLayer = false; let skippedShadowWhilePending = false; const diskLayers = playCharDiskLayersSet(id); + /* ยืน (opts.idle): ลอง compose จาก *_idle_*_layer_* เหมือนหน้า character upload — รวม char-* ที่อัปโหลด idle เลเยอร์; ถ้าไม่มีไฟล์จะ missing → ไม่มีเลเยอร์ย้อม → getPlayTintedAvatarSource fallback ไป walk compose */ + const idleLayerStripes = !!useIdle; + const resDir = dir; + const resFi = frameIndex; for (let li = 0; li < PLAY_LAYER_ORDER.length; li++) { const layerName = PLAY_LAYER_ORDER[li]; if (diskLayers && layerName !== 'shadow' && !diskLayers.has(layerName)) continue; - /* ห้าม fallback face จากทิศ down เมื่อเป็น up/left/right — จะได้ตาอยู่หลังหัวเพราะวางหน้าหน้าบนร่างหันหลัง */ - const urls = layerName === 'shadow' - ? (useIdle ? shadowUrlCandidatesIdle(id, dir, frameIndex) : shadowUrlCandidates(id, dir, frameIndex)) - : (useIdle ? layerUrlCandidatesIdle(id, dir, layerName, frameIndex) : layerUrlCandidates(id, dir, layerName, frameIndex)); + /* char-* หันหลัง (up): ไม่มี face ทิศนี้ — ข้ามกันตาหน้าซ้อนหลังหัว; ซ้าย/ขวา/หน้าใช้ face ตามทิศได้ */ + if (layerName === 'face' && isUploadedCharAssetId(id) && dir === 'up') { + continue; + } + let urls; + if (layerName === 'shadow') { + urls = idleLayerStripes + ? shadowUrlCandidatesIdle(id, dir, frameIndex) + : shadowUrlCandidates(id, resDir, resFi); + } else { + urls = idleLayerStripes + ? layerUrlCandidatesIdle(id, dir, layerName, frameIndex) + : layerUrlCandidates(id, resDir, layerName, resFi); + } const r = resolvePlayLayerImage(urls); /* เงาโหลดช้า/404 บ่อย — อย่าให้บล็อกทั้งคอมโพส (ไม่งั้นตกไป fallback แถบแนวตั้งแทนเลเยอร์จริง) */ if (r.status === 'pending' && layerName === 'shadow') { @@ -502,23 +553,24 @@ if (playCharLayerDiscoveryPending(characterId)) return rawImg; - if (!isWalking && characterIdleSpritesVisible(characterId, dirn)) { - return rawImg; - } - const apiFlag = playCharLayerFromApi(characterId); /* เหมือนเดิม: มีเลเยอร์แยกไฟล์เมื่อ API บอก hasLayerFiles หรือ probe เจอ — gen สีทำบน canvas จาก *_layer_* เท่านั้น */ const charHasLayerFiles = apiFlag === true || (apiFlag == null && playCharAnyDirectionLayered(characterId)); - /* ct3: ไม่ใช้ face จาก down บนทิศอื่น (แก้ตาหลังหัว) */ + + /* มี PNG idle รวม — ใช้เมื่อไม่มีระบบเลเยอร์สี (ถ้ามีเลเยอร์ต้อง compose ไม่ return raw ขาว) */ + if (!charHasLayerFiles && !isWalking && characterIdleSpritesVisible(characterId, dirn)) { + return rawImg; + } const cacheKeyWalk = [characterId, dirn, frameIndexWalk, tint.head, tint.hair, tint.body, 'ct3'].join('|'); if (charHasLayerFiles) { if (!isWalking) { - const cacheKeyIdle = [characterId, dirn, idlePhase, tint.head, tint.hair, tint.body, 'ct3', 'idleL'].join('|'); + const composeFrame = isUploadedCharAssetId(characterId) ? 0 : idlePhase; + const cacheKeyIdle = [characterId, dirn, composeFrame, tint.head, tint.hair, tint.body, 'ct3', 'idleL'].join('|'); const hitI = playLayerCompositeCache.get(cacheKeyIdle); if (hitI) return hitI; - const packI = tryComposePlayLayersFromFiles(rawImg, characterId, dirn, idlePhase, tint, { idle: true }); + const packI = tryComposePlayLayersFromFiles(rawImg, characterId, dirn, composeFrame, tint, { idle: true }); if (packI && packI.canvas) { if (!packI.skipCache) playLayerCompositeCache.set(cacheKeyIdle, packI.canvas); return packI.canvas; @@ -556,7 +608,8 @@ const t = typeof now === 'number' ? now : Date.now(); if (!isWalking) { const idleAnim = ensureCharacterIdleAnim(id, dir); - const idlePhase = idleAnimPhaseIndex(t); + let idlePhase = idleAnimPhaseIndex(t); + if (isUploadedCharAssetId(id)) idlePhase = 0; const idleFi = pickLoadedWalkFrameIndex(idleAnim, idlePhase); if (idleFi >= 0) return idleAnim.frames[idleFi]; const idfb = idleAnim.fallback; @@ -704,6 +757,8 @@ let quizCarrySessionLength = 0; let quizCarryRoundsCompleted = 0; let quizCarrySessionEnded = false; + /** หลัง timeup บนโต๊ะ (embed): รอ 5s แล้วโชว์ result-complete / result-gameover */ + let quizCarryResultEndTimer = null; /** embed พรีวิว: รอ Ready / START ของโฮสต์ก่อนนับ 3–2–1 */ let quizCarryPregameActive = false; let playHostId = null; @@ -1459,6 +1514,72 @@ fitQuizMapQuestionFontToPanel(panel, textEl, startFontPx, mnFont); } + /** โซนเดียวกับแผงคำถามบนแผนที่ — ยึด timeup ให้ตรงกล่อง #quiz-map-question-panel (ห้ามคำนวณซ้ำแล้วคลาด) */ + function syncQuizCarryTimeupDeskLayerPosition() { + const layer = document.getElementById('quiz-carry-timeup-desk-layer'); + if (!layer || layer.classList.contains('is-hidden')) return; + const anchor = layer.querySelector('.qc-timeup-desk-anchor') + || layer.querySelector('.qc-timeup-desk-inner') + || (() => { + const img = document.getElementById('quiz-carry-timeup-txt-img'); + return img && img.parentElement && img.parentElement !== layer ? img.parentElement : null; + })(); + if (!anchor || !canvas) return; + const clearToFullStack = () => { + anchor.style.left = '0'; + anchor.style.top = '0'; + anchor.style.width = '100%'; + anchor.style.height = '100%'; + }; + const stack = document.getElementById('play-canvas-stack'); + const panel = document.getElementById('quiz-map-question-panel'); + if (stack && panel && !panel.classList.contains('is-hidden')) { + try { + const sr = stack.getBoundingClientRect(); + const pr = panel.getBoundingClientRect(); + const rw = pr.width; + const rh = pr.height; + if (rw >= 8 && rh >= 8 && sr.width > 0 && sr.height > 0) { + anchor.style.left = Math.round(pr.left - sr.left) + 'px'; + anchor.style.top = Math.round(pr.top - sr.top) + 'px'; + anchor.style.width = Math.round(rw) + 'px'; + anchor.style.height = Math.round(rh) + 'px'; + return; + } + } catch (e) { /* fallback ด้านล่าง */ } + } + const pl = panel && panel.style && String(panel.style.left || '').trim(); + const pt = panel && panel.style && String(panel.style.top || '').trim(); + const pw = panel && panel.style && String(panel.style.width || '').trim(); + const ph = panel && panel.style && String(panel.style.height || '').trim(); + if (pl && pt && pw && ph) { + anchor.style.left = pl; + anchor.style.top = pt; + anchor.style.width = pw; + anchor.style.height = ph; + return; + } + if (!mapData || mapData.gameType !== 'quiz_carry') { + clearToFullStack(); + return; + } + const bounds = getQuizCarryQuestionAreaTileBounds(mapData) || getQuizCarryHubTileBounds(mapData); + if (!bounds) { + clearToFullStack(); + return; + } + const camX = me.x * tileSize; + const camY = me.y * tileSize; + const left = (bounds.minX * tileSize - camX) * zoom + canvas.width / 2; + const top = (bounds.minY * tileSize - camY) * zoom + canvas.height / 2; + const wPx = (bounds.maxX - bounds.minX + 1) * tileSize * zoom; + const hPx = (bounds.maxY - bounds.minY + 1) * tileSize * zoom; + anchor.style.left = Math.round(left) + 'px'; + anchor.style.top = Math.round(top) + 'px'; + anchor.style.width = Math.round(Math.max(48, wPx)) + 'px'; + anchor.style.height = Math.round(Math.max(40, hPx)) + 'px'; + } + function carryEmbedCountdownAnchorResolved() { if (!mapData || !isQuizCarry()) return 'screen'; const v = mapData.carryEmbedCountdownAnchor; @@ -3285,6 +3406,306 @@ quizCarryPickNextQuestion(); } + function playQuizCarryAvatarUrlForMission(characterId) { + if (!characterId) return ''; + return BASE + '/img/characters/' + encodeURIComponent(String(characterId)) + '_down.png'; + } + + /** อวาตาร์สรุปภารกิจ / DOM — ใช้สี gen เดียวกับในเกม (เลเยอร์ + tint) */ + function applyQuizCarryRankAvatarTint(imgEl, characterId, peerId) { + if (!imgEl || !characterId) return; + let attempts = 0; + const fallbackUrl = playQuizCarryAvatarUrlForMission(characterId); + const tick = () => { + attempts++; + const nowT = Date.now(); + const rawImg = getCharacterFrame(characterId, 'down', nowT, false) || getCharacterImg(characterId, 'down'); + if (!rawImg) { + if (fallbackUrl) imgEl.src = fallbackUrl; + return; + } + if ((!rawImg.complete || !rawImg.naturalWidth) && attempts < 28) { + if (fallbackUrl) imgEl.src = fallbackUrl + '?p=' + String(attempts); + setTimeout(tick, 90); + return; + } + if (!rawImg.naturalWidth) { + if (fallbackUrl) imgEl.src = fallbackUrl; + return; + } + const tint = playTintFromPeerId(peerId != null ? String(peerId) : String(characterId)); + const out = getPlayTintedAvatarSource(rawImg, characterId, 'down', nowT, false, tint); + if (out && out.tagName === 'CANVAS' && out.width > 0) { + try { + imgEl.src = out.toDataURL('image/png'); + return; + } catch (e) { /* ต่อไปลอง walk หรือ URL */ } + } + if (out && out.src && out !== rawImg) { + imgEl.src = out.src; + return; + } + if (attempts < 28 && playCharLayerDiscoveryPending(characterId)) { + setTimeout(tick, 120); + return; + } + imgEl.src = rawImg.src || fallbackUrl; + }; + tick(); + } + + /** เกรดจากค่าเฉลี่ยคะแนนทีม (0–100 หลังปัด) — A 80–100, B 60–79, C 0–59 */ + function quizCarryGradeFromTeamAverage(avgRounded) { + if (avgRounded >= 80) return 'A'; + if (avgRounded >= 60) return 'B'; + return 'C'; + } + + function quizCarryRollCardRewardForGrade(grade) { + const u = Math.random() * 100; + if (grade === 'A') { + if (u < 30) return { th: 'การ์ดชี้คนร้าย', en: 'Culprit hint card' }; + if (u < 80) return { th: 'การ์ด Rare', en: 'Rare card' }; + return { th: 'การ์ดธรรมดา', en: 'Common card' }; + } + if (grade === 'B') { + if (u < 20) return { th: 'การ์ดชี้คนร้าย', en: 'Culprit hint card' }; + if (u < 50) return { th: 'การ์ด Rare', en: 'Rare card' }; + return { th: 'การ์ดธรรมดา', en: 'Common card' }; + } + if (grade === 'C') { + if (u < 20) return { th: 'การ์ด Rare', en: 'Rare card' }; + return { th: 'การ์ดธรรมดา', en: 'Common card' }; + } + return null; + } + + function quizCarryBuildMissionRankList() { + const ranks = []; + if (myId != null) { + ranks.push({ + id: myId, + nickname: (me.nickname || nick || 'คุณ').trim() || 'คุณ', + score: Math.max(0, Number(playLiveQuizScores[myId]) || 0), + characterId: me.characterId || getPlayCharacterId(), + }); + } + others.forEach((o, id) => { + if (!o) return; + ranks.push({ + id, + nickname: (o.nickname && String(o.nickname).trim()) ? String(o.nickname).trim() : String(id), + score: Math.max(0, Number(playLiveQuizScores[id]) || 0), + characterId: o.characterId || null, + }); + }); + ranks.sort((a, b) => b.score - a.score || String(a.nickname).localeCompare(String(b.nickname), 'th')); + return ranks.slice(0, 5); + } + + function cancelQuizCarryResultEndAfterTimeup() { + if (quizCarryResultEndTimer != null) { + clearTimeout(quizCarryResultEndTimer); + quizCarryResultEndTimer = null; + } + } + + /** มีผู้เล่นอย่างน้อยหนึ่งคนได้คะแนน > 0 (= ส่งคำตอบถูกที่ฮับอย่างน้อย 1 ครั้ง; คะแนนต่อข้อคงที่ QUIZ_CARRY_POINTS_PER_CORRECT) */ + function quizCarryAnyPlayerHasCorrectAnswer() { + if (!playLiveQuizScores || typeof playLiveQuizScores !== 'object') return false; + const keys = Object.keys(playLiveQuizScores); + for (let i = 0; i < keys.length; i++) { + if (Math.max(0, Number(playLiveQuizScores[keys[i]]) || 0) > 0) return true; + } + return false; + } + + function hideQuizCarryResultEndLayer() { + const el = document.getElementById('quiz-carry-result-end-layer'); + if (!el) return; + el.classList.add('is-hidden'); + el.setAttribute('aria-hidden', 'true'); + } + + function showQuizCarryResultEndLayer(useComplete) { + const el = document.getElementById('quiz-carry-result-end-layer'); + const img = document.getElementById('quiz-carry-result-end-img'); + if (!el || !img) return; + const fname = useComplete ? 'result-complete.png' : 'result-gameover.png'; + img.src = BASE + '/img/quiz-carry/' + fname + '?v=' + String(Date.now()); + el.classList.remove('is-hidden'); + el.setAttribute('aria-hidden', 'false'); + } + + /** หลังแสดง timeup บนโต๊ะ (embed): รอ 5 วินาที แล้วโชว์ mock จบตามว่ามีคนตอบถูกหรือไม่ */ + function scheduleQuizCarryResultEndAfterTimeup() { + cancelQuizCarryResultEndAfterTimeup(); + hideQuizCarryResultEndLayer(); + quizCarryResultEndTimer = setTimeout(function () { + quizCarryResultEndTimer = null; + const anyOk = quizCarryAnyPlayerHasCorrectAnswer(); + hideQuizCarryTimeupOnDeskLayer(); + showQuizCarryResultEndLayer(anyOk); + }, 5000); + } + + function hideQuizCarryTimeupOnDeskLayer() { + cancelQuizCarryResultEndAfterTimeup(); + const el = document.getElementById('quiz-carry-timeup-desk-layer'); + if (!el) return; + const anchor = el.querySelector('.qc-timeup-desk-anchor') || el.querySelector('.qc-timeup-desk-inner'); + if (anchor) { + anchor.style.left = ''; + anchor.style.top = ''; + anchor.style.width = ''; + anchor.style.height = ''; + } + el.classList.add('is-hidden'); + el.setAttribute('aria-hidden', 'true'); + } + + /** หลังกดรับหลักฐาน (embed preview) — แสดง timeup-txt กลางโต๊ะบนแคนวาส แยกจากป๊อปสรุปคะแนน */ + function showQuizCarryTimeupOnDeskLayer() { + const el = document.getElementById('quiz-carry-timeup-desk-layer'); + if (!el) return; + const img = document.getElementById('quiz-carry-timeup-txt-img'); + if (img) { + img.src = BASE + '/img/quiz-carry/timeup-txt.png?v=' + String(Date.now()); + } + el.classList.remove('is-hidden'); + el.setAttribute('aria-hidden', 'false'); + try { + syncQuizCarryTimeupDeskLayerPosition(); + } catch (e) { /* ignore */ } + if (previewMode && editorEmbedReturn) { + scheduleQuizCarryResultEndAfterTimeup(); + } + } + + function showQuizCarryMissionSummaryOverlay(opts) { + opts = opts || {}; + const forceF = !!opts.forceGradeF; + const overlay = document.getElementById('quiz-carry-mission-overlay'); + if (!overlay) return; + hideQuizCarryTimeupOnDeskLayer(); + const ranks = quizCarryBuildMissionRankList(); + const parts = ranks.map((r) => Math.max(0, Number(r.score) || 0)); + const total = parts.reduce((a, b) => a + b, 0); + const n = ranks.length; + const avgForGrade = n ? Math.min(100, Math.max(0, Math.round(total / n))) : 0; + const grade = forceF ? 'F' : quizCarryGradeFromTeamAverage(avgForGrade); + const reward = grade === 'F' ? null : quizCarryRollCardRewardForGrade(grade); + + const rowEl = document.getElementById('qc-mission-rank-row'); + const totalEl = document.getElementById('qc-mission-total-line'); + const gradeEl = document.getElementById('qc-mission-grade'); + const cardTextEl = document.getElementById('qc-mission-card-text'); + const checkEl = document.getElementById('qc-mission-check'); + const successTxt = document.getElementById('qc-mission-success-txt'); + const rankTagLabels = ['[1st]', '[2nd]', '[3rd]', '[4th]', '[5th]']; + if (rowEl) { + rowEl.innerHTML = ''; + ranks.forEach((r, idx) => { + const rank = idx + 1; + const cell = document.createElement('div'); + cell.className = 'qc-mission-rank-cell'; + const tag = document.createElement('div'); + tag.className = 'qc-mission-rank-tag'; + tag.textContent = rankTagLabels[rank - 1] || ('[' + rank + ']'); + const frame = document.createElement('div'); + frame.className = 'qc-mission-rank-frame'; + const img = document.createElement('img'); + img.className = 'qc-mission-rank-avatar'; + img.alt = ''; + applyQuizCarryRankAvatarTint(img, r.characterId, r.id); + img.onerror = function () { + this.onerror = null; + this.src = 'data:image/svg+xml,' + encodeURIComponent('?'); + }; + frame.appendChild(img); + const nick = document.createElement('div'); + nick.className = 'qc-mission-rank-nick'; + nick.textContent = r.nickname; + nick.title = r.nickname; + const sc = document.createElement('div'); + sc.className = 'qc-mission-rank-score'; + sc.textContent = String(r.score); + cell.appendChild(tag); + cell.appendChild(frame); + cell.appendChild(nick); + cell.appendChild(sc); + rowEl.appendChild(cell); + }); + } + if (totalEl) { + totalEl.textContent = ''; + if (!n) { + totalEl.textContent = '—'; + } else { + const lab = document.createElement('span'); + lab.textContent = 'คะแนนรวม '; + const nums = document.createElement('span'); + nums.className = 'qc-mission-total-nums'; + nums.textContent = '(' + parts.join('+') + ') = ' + total; + const tail = document.createElement('span'); + tail.textContent = ' · เฉลี่ยทีม ' + avgForGrade + '/100'; + totalEl.appendChild(lab); + totalEl.appendChild(nums); + totalEl.appendChild(tail); + } + } + if (gradeEl) { + gradeEl.textContent = grade; + gradeEl.className = 'qc-mission-grade qc-mission-grade--' + String(grade).toLowerCase(); + } + const okMission = grade !== 'F'; + if (checkEl) checkEl.style.display = okMission ? '' : 'none'; + if (successTxt) { + successTxt.style.display = okMission ? '' : 'none'; + if (okMission) successTxt.textContent = 'ภารกิจสำเร็จ'; + } + if (cardTextEl) { + cardTextEl.textContent = ''; + if (grade === 'F') { + const pl = document.createElement('div'); + pl.className = 'qc-mission-reward-plaque qc-mission-reward-plaque--muted'; + const t = document.createElement('div'); + t.className = 'qc-mission-reward-plaque-title'; + t.textContent = 'ไม่ได้รับการ์ด'; + const s = document.createElement('div'); + s.className = 'qc-mission-reward-plaque-sub'; + s.textContent = 'เกรด F'; + pl.appendChild(t); + pl.appendChild(s); + cardTextEl.appendChild(pl); + } else if (reward) { + const pl = document.createElement('div'); + pl.className = 'qc-mission-reward-plaque'; + const t = document.createElement('div'); + t.className = 'qc-mission-reward-plaque-title'; + t.textContent = reward.th; + const s = document.createElement('div'); + s.className = 'qc-mission-reward-plaque-sub'; + s.textContent = reward.en; + pl.appendChild(t); + pl.appendChild(s); + cardTextEl.appendChild(pl); + } + } + overlay.classList.remove('is-hidden'); + const btn = document.getElementById('btn-quiz-carry-mission-done'); + if (btn) { + btn.onclick = function () { + overlay.classList.add('is-hidden'); + if (previewMode && editorEmbedReturn) { + showQuizCarryTimeupOnDeskLayer(); + } else { + window.location.href = 'room-lobby.html?space=' + encodeURIComponent(spaceId) + '&nick=' + encodeURIComponent(nick); + } + }; + } + } + function showQuizCarrySessionCompleteOverlay() { if (quizCarrySessionEnded) return; quizCarrySessionEnded = true; @@ -3308,6 +3729,14 @@ if (qEl) qEl.textContent = playQuizText; const phaseEl = document.getElementById('quiz-game-phase-label'); if (phaseEl) phaseEl.textContent = 'ครบ ' + String(quizCarryRoundsCompleted) + ' ข้อ'; + const missionOv = document.getElementById('quiz-carry-mission-overlay'); + if (missionOv && quizCarryUseMissionSummaryOverlay) { + showQuizCarryMissionSummaryOverlay({ + forceGradeF: !!(playQuizPlayerLocal && playQuizPlayerLocal.eliminated), + }); + renderPlayQuizScoreboard(playLiveQuizScores); + return; + } const ov = document.getElementById('gauntlet-ended-overlay'); const msgEl = document.getElementById('gauntlet-ended-message'); const titleEl = document.getElementById('gauntlet-ended-title'); @@ -3544,6 +3973,8 @@ quizCarryRoundsCompleted = 0; quizCarrySessionEnded = false; hideQuizCarryEmbedCountdownOverlay(); + hideQuizCarryTimeupOnDeskLayer(); + hideQuizCarryResultEndLayer(); me.quizCarryHeld = null; others.forEach((o) => { if (!o) return; @@ -3590,6 +4021,8 @@ async function loadQuizCarryPoolAndStart() { quizCarryRoundsCompleted = 0; quizCarrySessionEnded = false; + hideQuizCarryTimeupOnDeskLayer(); + hideQuizCarryResultEndLayer(); quizCarrySessionLength = 0; let pool = []; let s = {}; @@ -7748,6 +8181,55 @@ return quizTilesFootprintPlay(px, py).has(tx + ',' + ty); } + /** + * กล่องตรวจโซนห้ามซ้อน (blockPlayer) — วางเหมือนชนกำแพง: กลางแนวนอน + ชิดเท้า + * blockPlayerSeparationW/H: 0 = ใช้เต็มความกว้าง/สูงตัว · ค่าอื่น = จำกัด 1..cw / 1..ch + * รองรับ legacy blockPlayerSeparation เมื่อยังไม่มี W/H ใน JSON + */ + function resolveBlockPlayerNoOverlapBoxWH(md) { + const m = md || mapData; + if (!m) return { cw: 1, ch: 1, boxW: 1, boxH: 1 }; + const { cw, ch } = getCharacterFootprintWH(m); + let w = m.blockPlayerSeparationW != null && m.blockPlayerSeparationW !== '' ? Math.floor(Number(m.blockPlayerSeparationW)) : NaN; + let h = m.blockPlayerSeparationH != null && m.blockPlayerSeparationH !== '' ? Math.floor(Number(m.blockPlayerSeparationH)) : NaN; + const leg = m.blockPlayerSeparation != null && m.blockPlayerSeparation !== '' ? Math.floor(Number(m.blockPlayerSeparation)) : NaN; + const hasW = Number.isFinite(w) && w >= 0; + const hasH = Number.isFinite(h) && h >= 0; + if (!hasW && !hasH && Number.isFinite(leg) && leg >= 1) { + w = Math.min(leg, cw); + h = Math.min(leg, ch); + } else { + if (!hasW) w = 0; + if (!hasH) h = 0; + } + const boxW = !w || w <= 0 ? cw : Math.max(1, Math.min(cw, w)); + const boxH = !h || h <= 0 ? ch : Math.max(1, Math.min(ch, h)); + return { cw, ch, boxW, boxH }; + } + + /** ช่องกริดที่ถือว่า “ผู้เล่นที่ (px,py) กินพื้นที่” สำหรับตรวจโซน blockPlayer — กล่องเดียวกับแนวชนกำแพง */ + function quizTilesBlockPlayerPeerFootprintPlay(px, py) { + const s = new Set(); + if (!mapData) return s; + if (typeof px !== 'number' || typeof py !== 'number' || !Number.isFinite(px) || !Number.isFinite(py)) return s; + const { cw, ch, boxW, boxH } = resolveBlockPlayerNoOverlapBoxWH(mapData); + const w = mapData.width || 20, h = mapData.height || 15; + const minTx = Math.floor(px); + const minTy = Math.floor(py); + const offX = minTx + Math.floor((cw - boxW) / 2); + const offY = minTy + (ch - boxH); + for (let ty = offY; ty < offY + boxH; ty++) { + for (let tx = offX; tx < offX + boxW; tx++) { + if (tx >= 0 && ty >= 0 && tx < w && ty < h) s.add(tx + ',' + ty); + } + } + return s; + } + + function playPeerBlockPlayerOccupiesTile(px, py, tx, ty) { + return quizTilesBlockPlayerPeerFootprintPlay(px, py).has(tx + ',' + ty); + } + /** Footprint ชนกำแพง (objects=1) เท่านั้น — hub / interactive / blockPlayer / quiz ใช้ quizTilesFootprintPlay = เต็ม characterCells */ function quizTilesWallCollisionFootprintPlay(px, py) { const s = new Set(); @@ -7858,7 +8340,7 @@ const tx = +p[0], ty = +p[1]; if (!bp[ty] || bp[ty][tx] !== 1) continue; for (const [, o] of others) { - if (playEntityFootprintContainsTile(o.x, o.y, tx, ty)) return false; + if (playPeerBlockPlayerOccupiesTile(o.x, o.y, tx, ty)) return false; } } } @@ -7898,9 +8380,9 @@ if (!bp[ty] || bp[ty][tx] !== 1) continue; for (const [, peer] of others) { if (o && peer === o) continue; - if (playEntityFootprintContainsTile(peer.x, peer.y, tx, ty)) return false; + if (playPeerBlockPlayerOccupiesTile(peer.x, peer.y, tx, ty)) return false; } - if (o && playEntityFootprintContainsTile(me.x, me.y, tx, ty)) return false; + if (o && playPeerBlockPlayerOccupiesTile(me.x, me.y, tx, ty)) return false; } } if (isQuiz()) { @@ -8587,9 +9069,25 @@ if (portrait) { const cid = me.characterId || getPlayCharacterId(); - const fr = getCharacterFrame(cid, me.direction || 'down', Date.now(), !!me.isWalking); - const fb = fr && fr.src ? fr : getCharacterImg(cid, 'down'); - if (fb && fb.src) portrait.src = fb.src; + const dir = me.direction || 'down'; + const nowT = Date.now(); + const walk = !!me.isWalking; + const rawImg = getAvatarImg(cid, dir, nowT, walk); + const tint = me.playTint || playTintFromPeerId(String(myId != null ? myId : 'me')); + const comp = rawImg && cid && tint + ? getPlayTintedAvatarSource(rawImg, cid, dir, nowT, walk, tint) + : rawImg; + if (comp && comp.tagName === 'CANVAS' && comp.width > 0) { + try { + portrait.src = comp.toDataURL('image/png'); + } catch (e) { + if (rawImg && rawImg.src) portrait.src = rawImg.src; + } + } else if (comp && comp.src) { + portrait.src = comp.src; + } else if (rawImg && rawImg.src) { + portrait.src = rawImg.src; + } } if (statusEl) { if (isQuizCarry() && quizCarrySessionEnded) { @@ -9457,6 +9955,8 @@ syncPlayQuizMapPanel(); syncQuizCarryEmbedQuestionStrip(); } + /* timeup ต้องซิงก์ทุกเฟรมแม้จบเซสชัน — อย่าให้อยู่ในเงื่อนไขด้านบนอย่างเดียว */ + syncQuizCarryTimeupDeskLayerPosition(); if (previewFillBots && mapData && !useCyberPlayHud()) { const human = countPlayHumans(); const bots = [...others.keys()].filter(isPreviewBotId).length; diff --git a/www/html/Game/public/room-lobby.html b/www/html/Game/public/room-lobby.html index 4eee670..68cebfa 100644 --- a/www/html/Game/public/room-lobby.html +++ b/www/html/Game/public/room-lobby.html @@ -1043,7 +1043,7 @@ - +
v —
diff --git a/www/html/Game/server.js b/www/html/Game/server.js index ce48bab..2bfca2e 100644 --- a/www/html/Game/server.js +++ b/www/html/Game/server.js @@ -126,7 +126,9 @@ function buildCharacterLayerManifest(id, files) { return { ok: true, id, byDir, byDirIdle }; } -const GAUNTLET_ASSETS_DIR = path.join(__dirname, 'data', 'gauntlet-assets'); +/** ต้องอยู่ใต้ public/img/ เพื่อให้ nginx (alias /Game/ → Game/public) เสิร์ฟ GET /Game/img/gauntlet-assets/* ได้ — เดิมเก็บใน data/ จะถูกคัดลอกมาครั้งแรก */ +const GAUNTLET_ASSETS_DIR = path.join(__dirname, 'public', 'img', 'gauntlet-assets'); +const GAUNTLET_ASSETS_DIR_LEGACY = path.join(__dirname, 'data', 'gauntlet-assets'); const GAUNTLET_ASSETS_META_PATH = path.join(__dirname, 'data', 'gauntlet-assets-meta.json'); /** ต้องอยู่ใต้ public/ เพื่อให้ nginx (alias /Game/ → Game/public) เสิร์ฟรูปได้ — อย่าใช้ data/ */ const QUIZ_CARRY_PLAQUE_ASSETS_DIR = path.join(__dirname, 'public', 'img', 'quiz-carry-plaque-assets'); @@ -730,8 +732,31 @@ function saveGameTimingToFile(d) { } } +function migrateGauntletAssetsFromLegacyIfNeeded() { + try { + if (!fs.existsSync(GAUNTLET_ASSETS_DIR_LEGACY)) return; + if (!fs.existsSync(GAUNTLET_ASSETS_DIR)) fs.mkdirSync(GAUNTLET_ASSETS_DIR, { recursive: true }); + const names = fs.readdirSync(GAUNTLET_ASSETS_DIR_LEGACY); + names.forEach((f) => { + if (!safeGauntletStoredFilename(f)) return; + const src = path.join(GAUNTLET_ASSETS_DIR_LEGACY, f); + const dest = path.join(GAUNTLET_ASSETS_DIR, f); + if (fs.existsSync(dest)) return; + try { + fs.copyFileSync(src, dest); + console.log('[gauntlet-assets] migrated', f, 'from data/ to public/img/gauntlet-assets/'); + } catch (e) { + console.error('[gauntlet-assets] migrate failed', f, e && e.message); + } + }); + } catch (e) { + console.error('migrateGauntletAssetsFromLegacyIfNeeded', e && e.message); + } +} + function ensureGauntletAssetsDir() { if (!fs.existsSync(GAUNTLET_ASSETS_DIR)) fs.mkdirSync(GAUNTLET_ASSETS_DIR, { recursive: true }); + migrateGauntletAssetsFromLegacyIfNeeded(); } function loadGauntletAssetsMeta() {