4 Commits
Author SHA1 Message Date
Gleb Mazovetskiy aa751ff538 Reduce CLX header size from 10 to 6
We remain compatible with the 10-byte header size,
and actually now support any header size.
2024-10-12 21:49:49 +01:00
obligaron 45f8647892 Fix MSVC warnings in utils\* 2023-11-08 21:34:48 +00:00
obligaron 2b15eb8d03 Fix MSVC warnings from headers 2023-11-07 00:27:42 +01:00
Gleb Mazovetskiy d8cd147ac7 Re-encode CL2 on load
Original Blizzard encoder is slightly less optimal than our encoder.

While size in RAM in less of a concern for the non-`UNPACKED_MPQS`
build, smaller files are faster to render.

Savings for unpacked and minified MPQs:
* diabdat.mpq: 918,311 bytes.
* hellfire.mpq: 313,882 bytes.

Example player graphics (note that only a few are loaded at any given time for single player):
* diabdat/plrgfx/warrior/: 366,564 bytes.

Example monster graphics savings:

* diabdat/monsters/skelbow: 5,391 bytes.

Based on the implementation from https://github.com/diasurgical/devilutionx-graphics-tools/pull/6
2023-07-13 01:44:16 +01:00