All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Fixed interpreting 0 byte files as Null entries, which broke games like Urban Reign.
- Renamed UnknownAttribute to CustomData and upgraded Metadata format.
- Upgraded to .NET 6.
- Fixed regression: now it's able to handle AFS files with invalid dates.
- Entry block alignment is now configurable.
- Implemented null entries, which are entries that have no data. Some games have entries like that. This was implemented in 1.x versions of AFSPacker, but wasn't present in 2.0.0.
- Metadata format has been upgraded from v1 to v2, which include several changes. This is not a problem for existing projects, as any v1 metadata.json will be upgraded automatically to v2.
- More checks to avoid an entry name having more than 32 characters.
- Complete rewrite. Now it's easier to use, it's able to handle more AFS variations and can recreate them in the exact same format variation as in the original AFS archive. It doesn't require any extra input or configuration by the user. All necessary data to recreate the AFS is stored in a metadata.json file.
- AFS archives that contain files with directory data will be extracted maintaining the same folder structure.
- Now it requires .NET Core 3.1 instead of .NET Framework 4.7.2.
- New
-i
command to previsualize information about the contents of an AFS archive.
- Recent fixes for AFS Packer 1.2.x are in this version as well.
- Better handling of AFS archives that contain file names with invalid characters or paths.
- Better error checking to inform the user if something goes wrong.
- Removed
list_file
and-nf
commands. They're not necessary anymore as the program will handle automatically in which format an AFS archive needs to be created.
- Fixed not being able to extract or create AFS archives with empty name entries, for games like Winback 2: Project Poseidon.
- Fixed trying to extract AFS archives into non-existing directories for games like Soul Calibur 2, which store truncated paths instead of file names.
- Fixed error when trying to read the attribute information of an AFS archive that contains random bytes as padding.
- Memory usage optimizations.
- Fixed error when extracting files that contain invalid dates. Those dates will be ignored.
- Able to extract AFS archives with null files.
- Able to extract multiple files with the same name. They will be automatically renamed.
- Able to create AFS archives that ignore filenames and other metadata. Useful for games like Resident Evil: Code Veronica, where AFS archives don't contain any filenames, creation dates, etc.
- Some small fixes.
- Fixed a crash reading AFS archives in games like Arc Rise Fantasia.
- Initial release.