diff --git a/assets/images/superkart-background.png b/assets/images/superkart-background.png new file mode 100644 index 0000000..3ef5143 Binary files /dev/null and b/assets/images/superkart-background.png differ diff --git a/src/data/assetManifest.js b/src/data/assetManifest.js index 13c9eaa..9663a8b 100644 --- a/src/data/assetManifest.js +++ b/src/data/assetManifest.js @@ -172,6 +172,7 @@ export const MANIFEST = { // entries stay procedural (tinted kart silhouettes, painted horizon). superkart: [ { type: 'json', key: 'superkart-cups', path: 'assets/gamedata/superkart/cups.json' }, + image('superkart-background', 'assets/images/superkart-background.png'), (scene) => sheetsFrom(scene, 'superkart-artwork', ['racerSheets', 'themeSheets', 'itemSheet']), (scene) => { const art = scene.cache.json.get('superkart-artwork'); diff --git a/src/games/superkart/SuperKartGame.js b/src/games/superkart/SuperKartGame.js index 72c4c9c..a8e84af 100644 --- a/src/games/superkart/SuperKartGame.js +++ b/src/games/superkart/SuperKartGame.js @@ -77,8 +77,18 @@ export default class SuperKartGame extends Phaser.Scene { this.teardownRace(); }); - this.bg = this.add.rectangle(GAME_WIDTH / 2, GAME_HEIGHT / 2, GAME_WIDTH, GAME_HEIGHT, 0x101018) - .setDepth(-10); + // Menu-screen art: covers the whole canvas but is itself covered by the + // Mode 7 ground/backdrop (depths -1/-2) during a race, so it only shows + // through on the menu / select / results / podium views. + if (this.textures.exists('superkart-background')) { + this.bg = this.add.image(GAME_WIDTH / 2, GAME_HEIGHT / 2, 'superkart-background') + .setDisplaySize(GAME_WIDTH, GAME_HEIGHT).setDepth(-10); + } else { + this.bg = this.add.rectangle(GAME_WIDTH / 2, GAME_HEIGHT / 2, GAME_WIDTH, GAME_HEIGHT, 0x101018) + .setDepth(-10); + } + this.bgShade = this.add.rectangle(GAME_WIDTH / 2, GAME_HEIGHT / 2, GAME_WIDTH, GAME_HEIGHT, 0x0a0a12, 0.45) + .setDepth(-9); if (this.renderer.type !== Phaser.WEBGL) { this.showWebGLNotice(); @@ -248,8 +258,7 @@ export default class SuperKartGame extends Phaser.Scene { this.teardownRace(); this.clearView(); const cx = GAME_WIDTH / 2; - this.text(cx, 200, 'SUPER KART', 110, '#ffd028'); - this.text(cx, 290, 'MODE 7 KART RACING • STARRING THE FERTIG GAMES CREW', 24, COLORS.mutedHex); + // Title/tagline are baked into superkart-background.png — no text needed here. this.text(cx, 380, 'ARROWS / WASD DRIVE • SPACE HOP+DRIFT • SHIFT OR X FIRES ITEMS', 22, COLORS.mutedHex);