diasurgical / devilutionX

Diablo build for modern operating systems
Other
8.08k stars 794 forks source link

Re-encode dungeon tiles to remove bloat #7349

Closed glebm closed 3 months ago

glebm commented 3 months ago

Triangles in the dungeon CEL data have 2 redundant 0x00 pixels in every other row. Re-encodes the dungeon CEL data to remove these pixels in order to save RAM and simplify the rendering code.

Example RAM savings:

VERBOSE: Re-encoding dungeon CELs: 1,119 frames, 738,836 bytes
VERBOSE:  Re-encoded dungeon CELs: 1,119 frames, 722,552 bytes

Performance remains the same. The rendering code is now a bit simpler.