You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
lzcomp will automatically give users better compression just by removing the gfx/lz.mk flags and letting it brute-force pick the best heuristic method.
Caveat: lzcomp is not actually capable of the best compression; "dpcomp" does better or at least as well for every file I've tested it on.
Users might be used to running ./tools/lzcomp, so this could be disruptive.
I'd support us providing a dpcomp-only program in a separate repo, so users who want better compression can download it and replace lzss. That way the "best" compressor could be developed independently of pokecrystal, pokegold, pokegold-spaceworld, and other projects like pokesilver. It could even add opt-in support for other LZ-related formats, like these variants or the experimental new opcodes linked above. Meanwhile the compressor bundled with pokecrystal would be just the essentials.
I'd like to discuss replacing
tools/lzcomp(our vendored copy of ax6's repo) withlzss.c(after editing it to use ourtools/common.hutilities).Pros:
gfx/lz.mkwould be varying.home/decompress.asmdecompressor too). (For example, LZ: add pack16 literals and extended opcodes Rangi42/polishedcrystal#1343.)Cons:
lzcompwill automatically give users better compression just by removing thegfx/lz.mkflags and letting it brute-force pick the best heuristic method.lzcompis not actually capable of the best compression; "dpcomp" does better or at least as well for every file I've tested it on../tools/lzcomp, so this could be disruptive.I'd support us providing a
dpcomp-only program in a separate repo, so users who want better compression can download it and replacelzss. That way the "best" compressor could be developed independently of pokecrystal, pokegold, pokegold-spaceworld, and other projects like pokesilver. It could even add opt-in support for other LZ-related formats, like these variants or the experimental new opcodes linked above. Meanwhile the compressor bundled with pokecrystal would be just the essentials.