diff --git a/assets/images/background-bejeweledblitz.png b/assets/images/background-bejeweledblitz.png new file mode 100644 index 0000000..c64b371 Binary files /dev/null and b/assets/images/background-bejeweledblitz.png differ diff --git a/assets/images/background-peggle.png b/assets/images/background-peggle.png new file mode 100644 index 0000000..1e89a75 Binary files /dev/null and b/assets/images/background-peggle.png differ diff --git a/src/data/assetManifest.js b/src/data/assetManifest.js index 6071e3d..811f241 100644 --- a/src/data/assetManifest.js +++ b/src/data/assetManifest.js @@ -78,6 +78,7 @@ export const MANIFEST = { ], risk: [image('risk-board', 'assets/images/risk-board.png')], jewelquest: [image('bg-jewelquest-battle', 'assets/images/background-jewelquest.png')], + bejeweled: [image('bg-bejeweled', 'assets/images/background-bejeweledblitz.png')], dominion: [ // Dominion card art. One 270×390 cell per card (art fills the top ~60%; // the title/icon band is drawn at runtime). Optional — the scene falls @@ -158,6 +159,7 @@ export const MANIFEST = { }, peggle: [ sheet('peggle-sprites', 'assets/images/peggle-sprites.png', 64, 64), + image('bg-peggle-menu', 'assets/images/background-peggle.png'), // One board background per master, named by opponent id // (assets/images/peggle/.png, 1200×900). (scene) => { diff --git a/src/games/bejeweled/BejeweledGame.js b/src/games/bejeweled/BejeweledGame.js index 7469527..8aea99d 100644 --- a/src/games/bejeweled/BejeweledGame.js +++ b/src/games/bejeweled/BejeweledGame.js @@ -246,7 +246,8 @@ export default class BejeweledGame extends Phaser.Scene { // ── Cosmic backdrop ─────────────────────────────────────────────────────── buildBackground() { - this.add.image(0, 0, 'bj-bg').setOrigin(0).setDisplaySize(GAME_WIDTH, GAME_HEIGHT).setDepth(D.bg); + const bgKey = this.textures.exists('bg-bejeweled') ? 'bg-bejeweled' : 'bj-bg'; + this.add.image(0, 0, bgKey).setOrigin(0).setDisplaySize(GAME_WIDTH, GAME_HEIGHT).setDepth(D.bg); const nebulas = [ { x: 420, y: 280, tint: 0x6633ff, alpha: 0.17, scale: 9 }, diff --git a/src/games/peggle/PeggleGame.js b/src/games/peggle/PeggleGame.js index 6363fee..d64fc65 100644 --- a/src/games/peggle/PeggleGame.js +++ b/src/games/peggle/PeggleGame.js @@ -275,13 +275,10 @@ export default class PeggleGame extends Phaser.Scene { this.clearLayer(); const cx = GAME_WIDTH / 2; - const title = this.add.text(cx, 90, 'PEGGLE', { - fontFamily: 'Righteous', fontSize: '72px', color: COLORS.goldHex, - }).setOrigin(0.5); - const sub = this.add.text(cx, 152, 'Clear all 25 orange pegs. A friend joins every level — hit their green pegs to fire their power!', { - fontFamily: '"Julius Sans One"', fontSize: '22px', color: COLORS.mutedHex, - }).setOrigin(0.5); - this.layer.add([title, sub]); + if (this.textures.exists('bg-peggle-menu')) { + this.layer.add(this.add.image(GAME_WIDTH / 2, GAME_HEIGHT / 2, 'bg-peggle-menu') + .setDisplaySize(GAME_WIDTH, GAME_HEIGHT)); + } if (!this.manifest.length) { const msg = this.add.text(cx, 480, 'No levels found.\nRun: node tools/genPeggleLevels.js', { @@ -293,9 +290,9 @@ export default class PeggleGame extends Phaser.Scene { } const nextLevel = Math.min(this.levelsCompleted + 1, this.manifest.length); - const prog = this.add.text(cx, 208, `Completed ${this.levelsCompleted} / ${this.manifest.length}`, { + const prog = this.add.text(GAME_WIDTH - 40, 208, `Completed ${this.levelsCompleted} / ${this.manifest.length}`, { fontFamily: 'Righteous', fontSize: '26px', color: COLORS.textHex, - }).setOrigin(0.5); + }).setOrigin(1, 0.5); this.layer.add(prog); // One row per friend: portrait + name + power on the left, that friend's