Skip to content

Releases: harrytyp/comiupscale

v0.0.68 — HD fonts fixed, CD-quality music

Choose a tag to compare

@harrytyp harrytyp released this 26 Aug 15:43

v0.0.68 — HD fonts fixed, CD-quality music, new asset packs

HD fonts now render correctly (Issue #17)

In-game text (dialogs, menus, verb labels) now renders in crisp HD with the correct outline + fill colors. The previous font sheets contained no glyphs (FONT0 was just black placeholder boxes); the new sheets have the real glyphs for all 5 fonts, extracted directly from the NUT frames and 4x upscaled.

  • Correct outline + fill rendering (black contour, palette-colored letter body), matching the original 8-bit look
  • Correct baseline alignment (text sits on the line, not top-aligned)
  • Fonts are drawn 1:1 from the pre-upscaled sheets (no renderer-side resampling)

CD-quality music (Issue #19)

The game now streams lossless CD-quality WAVs from hd/audio/ whenever a matching music cue exists. Download the soundtrack, convert to WAV, drop into hd/audio/ — that's it. Everything else keeps the original music. Setup instructions are in the README (Path A, step 5).

New asset packs (hd_assets_v1.0.4)

  • HD textures with corrected fonts: hd_assets_v1.0.4 (4 parts, ~4.8 GB)
  • Original 1x source textures are now included in the release as comi-original-assets.zip (~80 MB) for anyone who wants the un-upscaled assets

Other

  • README: table of contents, music section moved into Quick Start, release links updated
  • Docs: docs/HD_FONTS.md (font pipeline) and docs/CD_QUALITY_MUSIC.md (music implementation)

HD Assets v1.0.4 — Texture Packs

Choose a tag to compare

@harrytyp harrytyp released this 26 Aug 14:33

HD texture packs for COMI-HD (4x upscale via RealESRGAN).

Extract all 4 parts into the same directory — they merge into a single hd/ folder.

Note: 4K cutscenes are at archive.org/details/COMI_4k

What's new in v1.0.4

  • Fixed HD fonts (Issue #17): the previous font sheets (v1.0.3) contained no glyphs — FONT0 was just black placeholder boxes on a checkerboard. The new sheets contain the real glyphs for all 5 fonts (extracted directly from the NUT frames, 4x upscaled), so in-game text now renders in crisp HD with the correct outline + fill colors.
  • Fonts are now in the texture packs (hd/fonts/FONT0-4.NUT_chars.png) — previously they were missing from the release assets.
  • Now 4 parts instead of 3 (the corrected font sheets and complete costume set required a different split). All parts stay under GitHub's 2 GB per-file limit.

Contents

Part Contents Size
hd_assets_part1.zip backgrounds, objects, objects_layers, fonts ~512 MB
hd_assets_part2.zip costumes (part 1 of 3) ~1.4 GB
hd_assets_part3.zip costumes (part 2 of 3) ~1.4 GB
hd_assets_part4.zip costumes (part 3 of 3) ~1.4 GB

v0.0.67 — Smarter HD texture loading (time-sliced prefetch + budget cache)

Choose a tag to compare

@harrytyp harrytyp released this 03 Aug 20:16

v0.0.67 — Smarter HD texture loading (time-sliced prefetch + budget cache)

What changed (Issue #14, second iteration)

The previous prewarm approach (decode all animation frames of every visible actor on room enter) made room transitions take ~15 s and could leave animations half-loaded. This release replaces it with the industry-standard combination of predictive prefetch, a budget-based LRU cache and lazy background loading:

  • Room enter loads only the current cels of visible actors plus the next ~30 frames of their playing animation (room 10: 561 frames instead of 1.306) — a one-time cost of ~2–3 s on desktop hardware, per room
  • Per-frame prefetch (max ~12 ms, runs between frames, never blocks rendering): priority 1 = current cels, priority 2 = upcoming animation frames, priority 3 = lazy loading of all other rooms' object textures in the background
  • Budget-based cache (1.5 GB, LRU) instead of a fixed entry count — the current and previous room stay resident, so switching back to a room costs nothing
  • Missing frames fall back to 8-bit for 1–2 frames while the prefetch catches up — no stutter, no half-loaded animations

Benchmark (headless, room 10)

  • Old: 15.3 s room-enter block, or 27 frames at 200–330 ms each (before v0.0.66)
  • New: one ~7 s prewarm frame (headless CPU; ~2–3 s on desktop), then immediately stable at ~76 ms/frame
  • Room 9: 94 frames prewarm (~2 s), then steady 30 FPS

Binary Assets (this release)

  • scummvm — Linux binary (stripped, 27 MB, self-contained: SDL2 with X11 + ALSA statically linked, no system SDL2 required)
  • scummvm.exe — Windows binary (stripped, 29 MB)
  • scummvm-win-bundle.zip — Windows bundle: scummvm.exe, SDL2.dll (with audio), zlib1.dll, scummvm.ini, .bat launchers, INSTALL.txt

You also need

Build from Source

See build/BUILD.md in the repository.

v0.0.66 — HD texture cache prewarm (no more first-frame hitches)

Choose a tag to compare

@harrytyp harrytyp released this 03 Aug 18:11

v0.0.66 — HD texture cache prewarm (no more first-frame hitches)

Fixes

  • HD texture cache prewarm on room enter (Issue #14): First-time asset display caused heavy frame hitches — up to 618 ms spikes and 27 sluggish frames (200–330 ms each) when entering a room, because PNG decode + cache insert ran synchronously inside the render path every time an object changed state or a costume cel animated.
    • All object states and all animation frames of visible actors' costumes are now decoded once at room enter, so gameplay frames run from cache
    • Texture cache limits raised (object cache was only 64 entries — room objects were constantly evicted and reloaded; both caches now hold 2000)
    • Room transitions are a bit longer (the decode cost lands there), gameplay frames are smooth immediately — benchmark: 262 ms avg / 618 ms max over the first 30 frames → 75–80 ms avg / ~120 ms max after the prewarm frame

Binary Assets (this release)

  • scummvm — Linux binary (stripped, 27 MB, self-contained: SDL2 with X11 + ALSA statically linked, no system SDL2 required)
  • scummvm.exe — Windows binary (stripped, 29 MB)
  • scummvm-win-bundle.zip — Windows bundle: scummvm.exe, SDL2.dll (with audio), zlib1.dll, scummvm.ini, .bat launchers, INSTALL.txt

You also need

Build from Source

See build/BUILD.md in the repository.

v0.0.65 — HD rendering fixes

Choose a tag to compare

@harrytyp harrytyp released this 02 Aug 08:39

v0.0.65 — HD rendering fixes

Fixes

  • Actor scaling: HD costumes now respect the engine's scale factor for both position and size. Scaled actors (e.g. the distant skeleton boats in the cannon scene) previously rendered up to 2.4x too large and clipped at screen edges.
  • Mirrored actors: Actors facing left are now drawn flipped and anchored at the right edge, matching the original 8-bit engine. Previously they were offset by a full image width, so the skeleton boats were impossible to hit (visible position did not match the hitbox).
  • White fringe removal: AI-upscaled textures often carry white/light halos along their alpha edges (visible on Larry and the cannon in the treasure hold). These are now removed at load time — only near-white pixels directly on the edge are cleared, interior white detail (eyes, highlights, shirts) is preserved.
  • Complete-character cels: Costumes whose limbs share a single cel now draw the pre-composited HD frame once at the actor's base position instead of layering duplicate limbs.

Binary Assets (this release)

  • scummvm — Linux binary (stripped, 27 MB, self-contained: SDL2 with X11 + ALSA is statically linked, no system SDL2 required)
  • scummvm.exe — Windows binary (stripped, 29 MB)
  • scummvm-win-bundle.zip — Windows bundle: scummvm.exe, SDL2.dll (with audio), zlib1.dll, scummvm.ini, .bat launchers, INSTALL.txt

You also need

Build from Source

See build/BUILD.md in the repository.

Issue #10: Inventory items HD render fix (blank cursor approach)

Choose a tag to compare

@harrytyp harrytyp released this 19 Jul 16:11

Issue #10 — Inventory Items HD beim Drag außerhalb des Inventars ✅

GELÖST! Der Fix: Statt den Cursor zu verstecken (was backend-abhängig nie funktioniert hat) wird das Cursor-Bild durch ein 1x1 transparentes Pixel ersetzt. Das SD/OpenGL Cursor-Overlay ist dann unsichtbar, und die HD-Textur im Composite ist das einzig Sichtbare.

Was geändert wurde

  • Step 2.9 (gfx.cpp): CursorMan.replaceCursor(blank, 1, 1, 0, 0, 0, true) — ersetzt das Cursor-Bild durch transparentes Pixel
  • setCursorFromImg-Hook (cursor.cpp): Trackt _hdCursorObject und unterdrückt updateScreen() für Inventory-Items
  • OpenGL Backend (opengl-graphics.cpp): renderCursor() prüft _cursorVisible

Release Dateien

  • comiupscale-fix10-win32.tar.gz — Windows Binary + DLLs + INI + Start-Scripts
  • comiupscale-fix10-linux64.tar.gz — Linux Binary + INI + Start-Script

Installation

  1. HD-Assets downloaden (comi_hd_v1.0.2.tar.* oder hd_assets_part*.zip)
  2. Tar.gz in ein lokales Verzeichnis entpacken
  3. start_comi_hd.bat (Windows) oder start_comi_hd.sh (Linux) ausführen

HD Assets v1.0.3 — Texture Packs

Choose a tag to compare

@harrytyp harrytyp released this 18 Jul 17:57

HD texture packs for COMI-HD (4x upscale via RealESRGAN).

Extract all 3 parts into the same directory — they merge into a single hd/ folder.

Note: 4K cutscenes are at archive.org/details/COMI_4k

v0.0.64 — SMUSH fix, inventory fix, frame limiter

Choose a tag to compare

@harrytyp harrytyp released this 18 Jul 18:27

v0.0.64 — Critical fixes

Fixes

  • SMUSH video playback: _hdDebugDumpCount no longer kills all cutscenes
  • Inventory overlay: No more persistent HD overlay when inventory is closed
  • Frame limiter: ~30fps cap to prevent GPU saturation on fast hardware
  • Auto-load removed: Game starts normally at difficulty screen (no forced save load)

Binary Assets (this release)

  • scummvm — Linux binary (stripped, 101 MB)
  • scummvm.exe — Windows binary (70 MB)
  • scummvm-win-bundle.zip — Windows bundle: SDL2.dll (with audio), zlib1.dll, scummvm.ini, .bat launchers

HD Assets

HD texture packs are in a separate release: hd_assets_v1.0.3

Build from Source

See build/BUILD.md in the repository.

v0.0.63: INVOBJ dump + brace fix

Choose a tag to compare

@harrytyp harrytyp released this 06 Jul 15:21

v0.0.63 — INVOBJ one-shot dump wenn Inventar aufgeht

Beim ersten Öffnen des Inventars werden ALLE Objekte im _objs Array (Room Objects + FLOBJs) geloggt mit:

  • oi, obj_nr, fl_object_index, state, parent, position, size

Das zeigt uns ENDLICH wo die Inventar-Items sind und wie sie positioniert sind — bisher fehlen sie in den HD-Overlays.

Bitte testen: Einmal Inventar öffnen (RCLICK) → im hd_state.log erscheinen INVOBJ:... Zeilen mit ALLEN Objekten.

v0.0.61: EVERY event logged — no buffer, no frame skip

Choose a tag to compare

@harrytyp harrytyp released this 06 Jul 14:00

v0.0.61 — JETZT WIRKLICH ALLES!

Der Log schreibt sich jeden Frame via Append in die Datei. Kein Warten, kein Überschreiben, kein Buffer-Cap.

Was sich geändert hat:

  • Buffer wird jeden Frame in die Datei geflusht (nicht alle 30 Frames)
  • Read-Modify-Write: alte Daten bleiben erhalten → Append, kein Überschreiben
  • 4MB File-Cap statt 512KB (viel mehr Platz)
  • Buffer ohne Limit: kein Silent-Drop von Events mehr

Keine Kompromisse mehr:

  • KEY-Events? ✅ Sofort im Log
  • MOUSE-Clicks? ✅ Sofort im Log
  • CULL/RENDER? ✅ Sofort im Log
  • Frame-Dumps? ✅ Sofort im Log