diff --git a/vendor/clouds3d.js b/vendor/clouds3d.js index 356b5cd..2ccafc4 100644 --- a/vendor/clouds3d.js +++ b/vendor/clouds3d.js @@ -337,10 +337,9 @@ function drawTileAt(lng, perp, dx, dz, centerTileX, centerTileY) { // UNPACK_FLIP_Y_WEBGL=true inverts V: canvas top -> texture V=1 (top). // For lng axis (Y): invert canvasY so lng=+12 (corridor front in // N flight) lands at small canvasY (= screen top after flip). - // === NATURAL ORDER BUILD v4 === - // No X-swap: east (perp=-2) -> canvasX 128 (left of canvas), - // west (perp=+2) -> canvasX 1152 (right). Map content is also - // not X-flipped, so the user sees the image in normal orientation. + // === NO X-SWAP, NO X-FLIP BUILD v5 === + // Natural order, no swap. East (perp=-2) -> canvasX 128 (left), + // west (perp=+2) -> canvasX 1152 (right). No image X-flip. var canvasX = (perp + halfPerp + 0.5) * GROUND_TILE_SIZE; var canvasY = (lng + halfLong + 0.5) * GROUND_TILE_SIZE; if (canvasX < 0 || canvasX >= groundCanvas.width || canvasY < 0 || canvasY >= groundCanvas.height) { @@ -351,13 +350,9 @@ function drawTileAt(lng, perp, dx, dz, centerTileX, centerTileY) { // the corridor orientation (east tiles have their image east // on the left of the drawn area, west tiles on the right). // Labels are drawn separately in normal orientation, so the - // X-flip the image (NS-mirror). The arrangement uses the - // natural order (canvasX = perp + ...) so east tiles are on - // the LEFT of the screen. The image X-flip makes image east - // appear on the right of each east tile (the natural map - // orientation). - groundCtx.drawImage(img, canvasX + GROUND_TILE_SIZE, canvasY, - -GROUND_TILE_SIZE, GROUND_TILE_SIZE); + // No X-flip on the image. Map content reads normally. + groundCtx.drawImage(img, canvasX, canvasY, + GROUND_TILE_SIZE, GROUND_TILE_SIZE); groundLoadedTiles[tileX + '_' + tileY] = true; // Thin border so the user can see where one tile ends and the