DramaticShapeVoxelMod archival mirror · read-only
cc134a2a8423082e02a53ef8ba43f344dc1e0a7c

version to 1.0.1 with water fixes

DramaticShape · 2026-07-26 · parent 08246b03e5

version to 1.0.1 with water fixes

Changed files

CHANGELOG.md  | 17 +++++++++++++++++
 main.lua      |  2 +-
 manifest.json |  2 +-
 3 files changed, 19 insertions(+), 2 deletions(-)

Diff

diff --git a/CHANGELOG.md b/CHANGELOG.md
index 186eede..35bf56d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,22 @@
 # Changelog
 
+## 1.0.1
+
+### Fixed
+
+- The RED++ texture-readback fallback in `TerrainAtlas` never worked on real
+  drivers: LOVE refuses `Canvas:newImageData` while that canvas is currently
+  active, and `readback()` read the pixels back before restoring the previous
+  render target, so the call threw on every driver rather than only on
+  stubborn ones. The previous target is now put back BEFORE the read. The
+  headless suite could not see this -- its stub canvas does not enforce the
+  rule -- so it survived until a live probe ran the chain unguarded.
+
+  Harmless for vanilla tilesets, where the CPU rebuild (`gbcPixels`) answers
+  first and the fallback is never consulted; it was the last-resort route for
+  a map the palette pack does not know, which until now had no working route
+  at all.
+
 ## 1.0.0
 
 First release, ported from the engine-internal voxel branch onto the
diff --git a/main.lua b/main.lua
index 186ef16..fc91248 100644
--- a/main.lua
+++ b/main.lua
@@ -343,7 +343,7 @@ mod.events:on("map.reloaded", function(payload)
   if mapId then ChunkMesher.invalidate(mapId) end
 end)
 
-mod.exports.version = "1.0.0"
+mod.exports.version = "1.0.1"
 -- exposed so a companion mod can pin its own tiles' shapes or read the
 -- camera without reaching into this mod's file layout
 mod.exports.lib = V
diff --git a/manifest.json b/manifest.json
index e0b25f8..c7ec378 100644
--- a/manifest.json
+++ b/manifest.json
@@ -1,7 +1,7 @@
 {
   "id": "DRAMATIC_SHAPE",
   "name": "Dramatic Shape Voxel Mod",
-  "version": "1.0.0",
+  "version": "1.0.1",
   "api": 2,
   "entry": "main.lua",
   "profile": "content",