From 8be0a195954a1f23ae8f97c590389fe2800bd566 Mon Sep 17 00:00:00 2001 From: rexim Date: Thu, 4 Jul 2024 20:13:46 +0700 Subject: [PATCH] Factor out displaySwapBackImageData() --- game.js | 7 +++++-- game.ts | 9 ++++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/game.js b/game.js index 4193092..a99c719 100644 --- a/game.js +++ b/game.js @@ -467,6 +467,10 @@ function renderFloor(imageData, player) { } } } +function displaySwapBackImageData(display) { + display.backCtx.putImageData(display.backImageData, 0, 0); + display.ctx.drawImage(display.backCtx.canvas, 0, 0, display.ctx.canvas.width, display.ctx.canvas.height); +} function renderSprites(display, player, sprites) { // TODO: z-sort the sprites const markSize = 100; @@ -551,8 +555,7 @@ export function renderGame(display, deltaTime, player, scene, sprites) { renderCeiling(display.backImageData, player); renderWalls(display, player, scene); renderSprites(display, player, sprites); - display.backCtx.putImageData(display.backImageData, 0, 0); - display.ctx.drawImage(display.backCtx.canvas, 0, 0, display.ctx.canvas.width, display.ctx.canvas.height); + displaySwapBackImageData(display); renderMinimap(display.ctx, player, scene, sprites); renderFPS(display.ctx, deltaTime); } diff --git a/game.ts b/game.ts index 72cf37b..2f14e37 100644 --- a/game.ts +++ b/game.ts @@ -534,6 +534,11 @@ interface Display { zBuffer: Array; } +function displaySwapBackImageData(display: Display) { + display.backCtx.putImageData(display.backImageData, 0, 0); + display.ctx.drawImage(display.backCtx.canvas, 0, 0, display.ctx.canvas.width, display.ctx.canvas.height); +} + export interface Sprite { imageData: ImageData; position: Vector2; @@ -624,9 +629,7 @@ export function renderGame(display: Display, deltaTime: number, player: Player, renderCeiling(display.backImageData, player); renderWalls(display, player, scene); renderSprites(display, player, sprites); - display.backCtx.putImageData(display.backImageData, 0, 0); - display.ctx.drawImage(display.backCtx.canvas, 0, 0, display.ctx.canvas.width, display.ctx.canvas.height); - + displaySwapBackImageData(display); renderMinimap(display.ctx, player, scene, sprites); renderFPS(display.ctx, deltaTime);