Skip to content

Latest commit

 

History

History
471 lines (402 loc) · 14 KB

Changelog.md

File metadata and controls

471 lines (402 loc) · 14 KB

v1.0

  • v1.0.0:
    • Initial release (basic pluggable program)

v1.1

  • v1.1.0:
    • Added unpack.SARC
  • v1.1.1:
    • Added support for SARCs without files names
    • Fixed some minor console display issues with packed SARCs due to padding issue

v1.2

  • v1.2.1:
    • Added unpack.DARC and introduced rawutil
    • rawutil is a module based on struct to handle binary data. It can be used as struct with strings as structures (but with new elements), or as a TypeReader or TypeWriter object
  • v1.2.2:
    • Many fixes in rawutil (TypeReader didn't work...)
  • v1.2.3:
    • Fixed some errors in unpack.DARC, like encoding errors, offsets mismatch or issues due to padding
  • v1.2.4:
    • Updated rawutil

v1.3

  • v1.3.4:
    • Added pack.SARC and pack.DARC
  • v1.3.5:
    • Fixed some issues in pack.DARC (other encoding issues and padding errors)

v1.4

  • v1.4.5:
    • Added LZ10 and LZ11 decompression
  • v1.4.6:
    • Fixed some issues in compress.LZ11

v1.5

  • v1.5.6:
    • Imported ALYTtool content:
    • Added unpack.BFLYT
  • v1.5.7:
    • Added pack.BFLYT
  • v1.5.8:
    • Added unpack.ALYT
    • Removed usage of formats list in unpack module loading
  • v1.5.9:
    • Fixes in filesystem utilities (util.fileops)
    • Updated rawutil

v1.6

  • v1.6.9:
    • Added unpack.CBMD
  • v1.6.10:
    • Added extraction of LTBL section in unpack.ALYT
  • v1.6.11:
    • Fixed some rawutil issues with int24 and uint24

v1.7

  • v1.7.12:
    • Added unpack.BCSAR (partial)
  • v1.7.13:
    • Fixed an issue in pack.BFLYT (pane sections order)

v1.8

  • v1.8.14:
    • Added unpack.BCLYT (partial)
  • v1.8.15:
    • Little extension of the BCLYT support

v1.9

  • v1.9.15:
    • Added unpack.BFLIM (partial) v1.9.16:
    • Fixed some swizzling issues in unpack.BFLIM

v1.10

  • v1.10.16:
    • Added unpack.GARC
    • Moved format detection in a new module to avoid recursive imports issue in unpack.GARC
  • v1.10.17:
    • Added support for version 6 GARCs
  • v1.10.18:
    • Updated rawutil

v1.11

  • v1.11.18:
    • Added LZH8 and Yaz0 decompression
    • Fixed issues with int24 in rawutil

v1.12

  • v1.12.18:
    • Added NDS ROMs extraction
  • v1.12.19:
    • Added support for DSi-specific content
  • v1.12.20:
    • Updated rawutil
  • v1.12.21:
    • Fixed some filesystem issues in NitroROM FS extraction

v1.13

  • v1.13.21:
    • Added the plugin system (-g options)
    • Added FULL support for GFA (GFAC) archives extraction
  • v1.13.22:
    • Fixed errors in pluginCompiler
    • Fixed submodule loading issue
  • v1.13.23:
    • Added plugins.readdata
    • Added plugins.breaddata
  • v1.13.24:
    • Fixed readme
    • Fixed options help
    • Added plugins help

v1.14

  • v1.14.24:
    • Added pack.ALYT
    • Fixed a minor padding issue in unpack.SARC
    • Updated rawutil
    • Fixed plugin loading issue when other options are specified
  • v1.14.25:
    • Fixed some bugs in color packing by rawutil
    • Fixed some bugs in pack.BFLYT (mat1 offsets table length calculation issue, thanks to ericjwg, and materials offsets mismatch)
  • v1.14.26:
    • Fixed a huge bug with {} structures packing in rawutil
    • Fixed a stupid error in unpack.SARC

v1.15

  • v1.15.26:
    • Completely rewrote unpack.BFLIM for uncompressed textures, now works fine
  • v1.15.27:
    • Fixed ETC1 decompression in unpack.BFLIM, now full support of these files
  • v1.15.28:
    • Changed format-specific options system, now use -O option, see detailed help
    • Fixed a little problem in rawutil
  • v1.15.29:
    • Fixed some bugs in RGBA5551, RGB565 and RGB8 packing and unpacking in BFLIM
  • v1.15.30
    • Fixed the last bug in BFLIM packing on non-power of two textures

v1.16

  • v1.16.30
    • Added mini archives extraction
    • Added the newmod plugin to replace and extend pluginCompiler
  • v1.16.31
    • Added mini archive repacking
    • Fixed a stupid error in unpack.mini
  • v1.16.32
    • Added a substructure replacement function in rawutil
    • Completed the README

v1.17

  • v1.17.32
    • Added unpack.NCCH
    • Added unpack.ExtHeader
    • Added an error codes system and added the errors help
  • v1.17.33
    • Updated the readme
    • Improved colors precision for RGB565 and RGBA5551 formats of BFLIM files
    • Updated rawutil
  • v1.17.34
    • Added unpack.ExeFS
    • Small orthographic fixes in the help and the changelog
  • v1.17.35
    • Added the dochecks option for unpack.NCCH and unpack.ExeFS to check files and sections hashes
    • Fixed a huge bug which prevents use of uint24 and int24 in unpacking functions of rawutil
  • v1.17.36
    • Merged:
      • Syntax fix in unpack.GARC (by ObscenityIB)
      • Fix of _alyt_ folder detection in pack.ALYT (by hlixed)
    • Fixed the error when the swizzle option is not specified to pack.BFLIM (thanks to hlixed)
    • Improved the readme

v1.18

  • v1.18.36
    • Added LZ10 compression
    • Huge upgrade to rawutil, completely rewritten in a faster and more readable way
    • Added the -v option (verbose)
    • Added the supported formats table in te readme
    • Added format recognition for unnamed files in SARCs
    • Fixed a stupid bug in compress.LZ11.decompressLZ11 which created errors in the decompressed data
    • Fixed a byte order problem in pack.SARC
  • v1.18.37
    • Updated rawutil to add transparent handling of file objects
    • Fixed an offset calculation error in unpack.DARC
    • Added the use of file objects instead of bytes objects in certain modules. This make them MUCH faster, especially on huge files
    • Converted unpack.GARC to use file objects
    • Fixed an error which prevents recognition of file names in pack.SARC
  • v1.18.38:
    • Optimized unpack.mini, unpack.SARC and unpack.ALYT

v1.19

  • v1.19.38
    • Added LZ11 compression
    • Added pack.GARC
    • Fixed a stupid bug in rawutil which prevents use of TypeWriter.pack() with file-like objects
  • v1.19.39
    • Updated help and readme
    • Several fixes in packed files compression
    • Prepared use of file-like objects in compressors and decompressors
  • v1.19.40
    • Rewritten the Yaz0 decompressor for more efficience and less errors (thanks to NWPlayer123)
    • Now prints the help if no arguments are specified
  • v1.19.41
    • (Very) slightly enhanced the LZ11 decompressor
    • Optimized unpack.BFLIM
  • v1.19.42
    • Cleanup
    • Rewritten the LZ11 compressor. Now, it takes 0.25s instead of 45s to compress 20KB.
  • v1.19.43
    • Optimized the LZ11 decompressor
    • Fixed LZ11 compression
    • Fixed GARC packing and extraction
    • Style fixes and cleanup
  • 1.19.44
    • Fixed and updated the readme
    • Fixed the error which occured when the output directory has the same name as an existing file
    • Several fixes in compress.Yaz0 and rawutil
    • Fixed the unsupported operation error in unpack.GARC
    • Further optimization of the LZ11 decompressor (ca. 1%)
  • v1.19.45
    • Fixed (avoided...) ANOTHER bug in BFLIM extraction
    • Fixed a little bug in output directory creation
  • v1.19.46
    • Small fix in txtree
    • Fixed extraction of some Pokémon USUM GARCs

v1.20

  • v1.20.46
    • Added unpack.BFLAN
    • Minor fixes
  • v1.20.47
    • Minor fixes
    • Little verbosity increase (now says the file name)
    • Fixed OSError on too short files
    • Fixed BFLIM transpose (8) swizzling orientation
    • Little fix in ETC1A4 decompression
    • Fixed a problematic bug in LZ11 decompression (unexpected zeroes)
    • Added error handling for empty files
  • v1.20.48
    • Fixed the bug with the rotation on deswizzling of BFLIMs
    • Fixed a bug with absolute path in pack.GARC

v1.21

  • v1.21.48
    • Now, when packing without the -o option, 3DSkit will determine an output name from the input name and the format
    • Fixed multiple bugs in pack.BFLIM
    • Fixed pack.ALYT and pack.SARC padding issues
  • v1.21.49
    • Fixed unpack.BFLYT
    • Enhanced txtree by removing all single-quotes and 'list' or 'tuple' mentions in output files
  • v1.21.50
    • Fixed pack.BFLYT
    • Using -x on a directory now unpacks all contained files recursively
    • Cleanup
    • Fixes in txtree
    • Updated rawutil
  • v1.21.51
    • Added a warning system (error code 9XX)
    • Fixed a bug when recursively extract a folder containing different file formats
    • Improved readability of console output when recursively extracting a directory
  • v1.21.52
    • "Fixed" the compression recognition bug in unpack.GARC
    • Added support for all mini packed files, not only BL

v1.22

  • v1.22.52
    • Added unpack.BCSTM
    • Minor fixes
  • v1.22.53
    • Fixed the sample rate issue in unpack.BCSTM
    • Updated the help and the README

v1.23

  • v1.23.53
    • Cleanup
    • Started unpack.NARC
    • Fixed some bad compression recognition issues
    • Huge refactoring of the error/warning function, now much easier to use (internal)
    • Added support for custom magics at mini files repacking
    • Updated the README
  • v1.23.54
    • Fixed some stupid errors in pack.mini
    • Added unpack.NARC (partial)
    • Now empty file don't cause any more errors in recursive extraction
    • Added EM in recognized mini magics
  • v1.23.55
    • Fixed the non-extraction of the last file in unpack.mini
  • v1.23.56
    • A little internal refactoring
    • Fixed a byte order issue in rawutil
    • Added a quiet (-q) option (no console output)
    • Added a debug (-V) option
  • v1.23.57
    • You can now give the output file name to the -C and -D (compression/decompression) options
    • Rewritten the LZ10 compression algorithm like the LZ11 one (~15% less compression, ~20x performance)
    • Updated the readme and the help, added some examples in the README

v1.24

  • v1.24.57
    • Finally added the RomFS support, in quite a well optimized way (no annoying temporary 3GB file...)
  • v1.24.58
    • Added handling of KeyboardInterrupts (error 204)
    • Fixed the NCCH and ExeFS hash check
    • NCCH and ExeFS hash checks are now done by default (use -O{dochecks=false} if you don't want to do them)
    • Rewritten the format recognition function in a less hacky way
    • Fixed the non-recognition of ExeFS and RomFS files
    • Fixed compression recognition
    • Added some little scripts I use for the dev, if it can interest someone (util/dev_scripts)
  • v1.24.59
    • Optimized unpack.GFA and unpack.NDS
    • Fixed a byte order error in unpack.NARC
  • v1.24.60
    • Fixed NCCH's ExeFS extraction
    • Updated unpack.ExtHeader
    • Rewritten the LZ10 decompressor like the LZ11 one
    • Updated the LZH8 decompressor for use of file objects (and optimized it, now decompresses ~1.5x faster)
    • All compressors and decompressors now use file objects, removed the byte array compatibility code from compress/__init__.py
    • Added taken time display in debugging mode (-V option)
    • Little improvements to the README
    • Updated unpack.CBMD
  • v1.24.61
    • Upgraded rawutil
    • Rewritten unpack.BCSTM with enhanced algorithm and file objects

v1.25

  • v1.25.61
    • Added a C module called c3DSkit to speedup 3DSkit
    • unpack.BCSTM now uses c3DSkit (x100 speed for DSPADPCM)
  • v1.25.62
    • Fixed a bug which caused noise in BCSTMs extracted using c3DSkit
    • LZ11 compression can now be performed through c3DSkit (~x1.5-2 speed)
  • v1.25.63
    • LZ11 decompression can now be performed through c3DSkit (~x10 speed)

v1.26

  • v1.26.63
    • Added BCSTM encoding (pack.BCSTM), only with c3DSkit (else ~2h)
    • Fixed noise at end of extracted BCSTMs
  • v1.26.64
    • Upgraded rawutil
    • Changed the specific options system
    • Fixed noise in DSP-ADPCM decoding with c3DSkit

v1.27

  • v1.27.64
    • Added unpack.BFFNT
  • v1.27.65
    • Added ETC1 support in c3DSkit
    • unpack.BFLIM now uses c3DSkit
  • v1.27.66
    • Added BC4 support in c3DSkit
  • v1.27.67
    • Forced contiguous byte arrays in c3DSkit LZ11 compression to fix segfaults
    • Fixed a stupid regression in unpack.BCSTM
  • v1.27.68
    • Fixed c3DSkit/graphics.c for little endian textures
    • Improved format detection in unpack.GARC and added the skipdec option to it
    • Improved the error system, it now displays the error tyoe
    • Fixed handling of compression detection error
    • Fixed the handling of plugin not found errors

v1.28

  • v1.28.68
    • Added BC4 textures extraction
    • Added support for 4.1.0 (NX) BFFNT
    • Added support for wrapped BNTX in BFFNT

v1.29

  • v1.29.68
    • Added the libkit, with c3DSkit or py3DSkit depending on availability
    • Added the --pykit and --ckit options to force use of py3DSkit or c3DSkit
    • Added SettingWarning in debug mode (-V) and when forcing use of a libkit (--c/pykit)
    • Fixed ETC1 textures extraction
    • Added the origin specific option for BFFNT
    • Removed the -H menu, the Readme is very good for that
    • Fixed NX swizzling in BC4 textures
  • v1.29.69
    • Added BCSTM packing with py3DSkit
    • Added support for multiple sheets in BNTX wrapped in BFFNT

v1.30

  • v1.30.69
    • Added support for MSBT files
  • v1.30.70:
    • Fixed strings order in MSBT extraction output
    • Added showing of escapes in MSBT

v1.31

  • v1.31.70
    • Added BCGRP files extraction
    • Added BCWAR files extraction
    • Added BCWAV files extraction
  • v1.31.71
    • Added the reverse option for BFFNT files to automatically flip extracted sheets
    • Fixed swizzling for Switch uncompressed textures
    • Added support for RGBA8_SRGB format
    • Fixed sign of error code in c3DSkit.graphics.getTextureFormatId
  • v1.31.72
    • Fixed error when usd1 section is found without parent pane in unpack.BFLYT
    • Added usd1 type 3 entry in unpack.BFLYT and pack.BFLYT
    • Fixed bugs with numbers and bytes in txtree
    • Fixed support for strings in rawutil and pack.BFLYT

v1.32

  • v1.32.72
    • Added docs about the BFLYT format
    • Brand new implementation for unpack.BFLYT and pack.BFLYT, added support for Switch files (v8.6.0)
    • Old BFLYT implementations are still accessible using -f BFLYT_old
  • v1.32.73
    • Fixed many bugs in pack.BFLYT and unpack.BFLYT
    • Support for wrapped usd1 sections in part1 in BFLYT files
    • Fixed docs format and content

v1.33

  • v1.33.73
    • New implementation of unpack.BFLAN, with JSON output
    • Old BFLAN implementation is still accessible using -f BFLAN_old
    • Added a doc about the BFLAN format
    • Added support for filenames in unpack.NARC, thanks to cesarmiquel
  • v1.33.74
    • Fixed bad tag entry decoding in unpack.BFLAN
    • Added and fixed many things in unpack.BFLAN

v1.34

  • v1.34.74
    • Added unpack.BNTX
    • Now unpack.BFFNT only extracts the BNTX section if any
  • v1.34.75
    • Added pack.BNTX
    • Added BNTX format doc
    • Added textures compressions in libkit
    • Fixed unpack.BNTX
    • Fixed py3DSkit's BC4 decompression function
    • Fixed the debug mode (?!)
    • Fixed some typos and language errors in the README
  • v1.34.76
    • Added pack.BFFNT