Add engine-debug-tools and fix critter animation rendering bugs
build / build (push) Successful in 2m52s

- engine-debug-tools/: a debug dump hotkey + dump2png to inspect
  decoded critter frames independent of the renderer (see root
  README.md's "Debugging" section).
- engine-patches/04,05: fix critter sprite scale and an OpenGL
  texture cache collision, found using that tooling.
- mdlp: fix encodeFrames RLE-diffing upscaled frames against a
  previous-frame reference the real RSD8 decoder never implements
  (verified against Night Dive's original Mac source down to the
  68K assembly) - was rendering as scattered static in-game.
- Upscale pipeline: better color quantization (dithering, pure-ramp
  exclusion) and per-resource model selection.
This commit is contained in:
ml
2026-10-18 06:59:47 +02:00
parent ab2b778f44
commit 9d0a0d5798
21 changed files with 1185 additions and 82 deletions
+19
View File
@@ -0,0 +1,19 @@
#!/usr/bin/env bash
# Converts every raw frame dump written by the debug dump hotkey (press
# K in-game - see root README.md's "Debugging" section) into a viewable
# PNG under dumps-png/, using dump2png (only present in a `make dist_debug`
# build, alongside this script).
set -euo pipefail
cd "$(dirname "${BASH_SOURCE[0]}")"
if [ ! -x ./dump2png ]; then
echo "dump2png not found next to this script - this needs a debug build" >&2
echo "(see root README.md's \"Debugging\" section: make dist_debug)" >&2
exit 1
fi
if [ ! -d dumps ]; then
echo "No dumps/ directory here yet - press K in-game first to write some frame dumps" >&2
exit 1
fi
./dump2png res/data dumps dumps-png