ajbowen249 / dungeon-delver-engine

A Tandy Model 100 and ZX Spectrum implementation of OGL 5.1 in Assembly
4 stars 1 forks source link

Compression Improvements #5

Closed ajbowen249 closed 5 months ago

ajbowen249 commented 5 months ago

Improves compression by compressing core engine text, allowing compressed text in more contexts, and, most impactfully, dropping down to a single-byte ID for common fragments in a lookup table instead of the two-byte direct pointer. This caps us to a max of 126 string fragments, but the flagship project has so far only reached 74. It also more than doubled the saved bytes for both the core engine and flagship project, since it also allows for hugely-impactful two-byte highly-common sequences to be extracted.

Also updates JSON schema to allow single-line strings.