Skip to content

v1.4.0

Latest
Compare
Choose a tag to compare
@vsariola vsariola released this 05 May 13:59
· 4 commits to main since this release

Added

  • Parallel processing: mutations and their costs are computed on several
    processes simultaneously. This results in approx. 2-3x faster packing of
    files. Parameter -q controls the processing queue length; this is the
    maximum number of solutions being explored simultaneously. Defaults to 12, but
    you can try increasing it if you have a lot of cores. -P controls the number
    of parallel processes in a pool, defaults to number of cores and can be
    usually left unchanged. -q1 -P1 is identical to the old behavior.
  • Reading PNG-carts and writing fake PNG-like carts. The advantage of PNG-like
    carts is that all data chunks can be compressed too, so can be useful for 512b
    • 64k intros. The disadvantage is that additional 16-bytes of headers are
      needed. Choose this output format with -fpng. The file ending is still .tic,
      but TIC-80 sees the magic bytes and detects them as PNGs.
  • Shuffling data chunks during packing. This works only with PNG-like carts, as
    only they support compressing the entire cart.
  • Loading .lua carts with multiple banks.
  • Command line parameter -s0 means iterate forever. Intermediate results are
    saved, as always.

Changed

  • The output format is defined with -f e.g. -flua, -fpng, -func, or
    -ftic. The -u and -l options have been DEPRECATED. If an output file is
    defined, pakettic tries guessing the desired output format based on the file
    extension of the output file.
  • Size optimized the code generated by --data-to-code: use :gmatch instead
    of string.gmatch

Fixed

  • When packing multiple files, the initial minification of subsequent files
    continued using variable names from where the previous files had stopped.
  • Parse error: note was parsed as not e