From 9d3912f98fd0095e919c5ee5105b7b409f403572 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Norman=20K=C3=B6hring?= Date: Fri, 3 Mar 2023 19:48:57 +0100 Subject: [PATCH] fix lighting and this one weird bug in player changes when ascending --- .gitignore | 3 +++ src/level/index.ts | 2 +- src/util/useLightMap.ts | 8 ++++---- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index a547bf3..753ad93 100644 --- a/.gitignore +++ b/.gitignore @@ -22,3 +22,6 @@ dist-ssr *.njsproj *.sln *.sw? + +# old source code for reference?! +src/old diff --git a/src/level/index.ts b/src/level/index.ts index 9575e37..c1b62c7 100644 --- a/src/level/index.ts +++ b/src/level/index.ts @@ -50,7 +50,7 @@ export default function createLevel(width: number, height: number, seed = 'extre if (changes) { const maxLevel = levelOffset + height changes.forEach(c => { - if (c.type !== 'exchange' || c.y < levelOffset || c.y > maxLevel) return + if (c.type !== 'exchange' || c.y < levelOffset || c.y >= maxLevel) return _grid[c.y - levelOffset][c.x - columnOffset] = blockTypes[c.newType] }) } diff --git a/src/util/useLightMap.ts b/src/util/useLightMap.ts index b879955..38afbb4 100644 --- a/src/util/useLightMap.ts +++ b/src/util/useLightMap.ts @@ -58,11 +58,8 @@ export default function useLightMap( function drawLights() { // used for everything above ground const ambientLight = getAmbientLightColor() - const reflectedLight = ambientLight.slice(0, -1) + ', 50%)' const surroundingLight = ambientLight.slice(-2) const barrier = lightBarrier.value - // make light columns wider to illuminate surrounding blocks - const extra = Math.floor(B / 2) ctx.fillStyle = ambientLight for (let col = 0; col < W / B; col++) { @@ -75,8 +72,11 @@ export default function useLightMap( ctx.fillRect(sx, sy, sw, sh) } + // make light columns wider to illuminate surrounding blocks + const extra = Math.floor(B / 2) + const reflectedLight = ambientLight.slice(0, -1) + ', 50%)' ctx.fillStyle = reflectedLight - for (let col = 0; col < W / B; col+=2) { + for (let col = 0; col < W / B; col++) { const level = (barrier[col] - y.value) * B const sw = B const sh = level