This repository has been archived by the owner on Apr 25, 2022. It is now read-only.
0.5
Visible changes
- Added nightly builds!
- Support for new games:
- "ElEMENTS"
- "Daiakuji"
- "Ever 17"
- "Hanahira"
- "Hare Nochi Kitto Nanohana Biyori"
- "Koiimo SWEET☆DAYS"
- "Mahou Tsukai no Yoru"
- "Mebae"
- "Shoukoujo"
- "Pure My Imouto Milk Purin"
- "Sekien no Inganock - What a Beautiful People"
- "Shikkoku no Sharnoth - What a Beautiful Tomorrow"
- "Touhou 15 - Legacy of Lunatic Kingdom" (trial version)
- Support for new formats:
- TanukiSoft's .TAC 1.10 archives
- AliceSoft's AFA format
- AliceSoft's AFF format
- AliceSoft's ALD format
- AliceSoft's ALK archives
- AliceSoft's PM masks
- AliceSoft's QNT images
- KID's CPS images
- KID's PRT images
- KID's WAF sound files
- KID's LNK archives
- RpgMaker's RGSS3A archives
- Reorganized docs:
- Moved build instructions to separate document
- Moved supported game list to separate document
- Removed synopsis from README
- Added link to LICENSE in README
- Credited ALD Explorer 2 in LICENSE
- Changed icons in the supported game list
- Merged "archive" and "file" tables
- Expanded game titles to full form (Sonohana, Touhou, ...)
- Added prefixes to
--fmt
strings (for example,xp3
→krkr/xp3
) to avoid name clashes - Reformatted format table in
--help
- Fixed BGI unpacking (Higurashi no Naku Koro Ni)
- Fixed segfault for certain G00 files
- Fixed EXE reader sometimes picking wrong section
- Improved Touhou PAK1&2 recognition performance
- Enhanced support for malformed EXE files
- Revoked full support for Higurashi no Naku Koro Ni images (I overlooked DSC, I'll include it in the next version)
- Revoked full support for Wanko to Kurasou sound files (I overlooked WAD, I'll try to include it in the next version)
Internal changes
- Added support for regular MinGW (yay, vanilla Cygwin!)
- Organized namespaces
- Wrapped everything with namespaces relevant to filesystem hierarchy
- Wrapped everything with global
au
namespace
- Introduced
bstr
(binary strings)- Replaced most of pointer/
str::string
/BufferedIO
busywork withbstr
- Removed
BufferedIO.buffer()
in favor ofbstr
- Replaced most of pointer/
- Introduced
util::range
iterator- Replaced most of
for (int i = 0; i < ...; i++)
loops withutil::range
- Replaced most of
- Introduced
util::format
for string formatting- Removed
util::itos
in favor ofutil::format
- Removed
- Simplified OpenSSL dependency management
- Created new classes in
util::crypt
, including dummy plugs that throw
runtime errors if OpenSSL was missing at compile time. This simplifies
TransformerFactory
andwscript
management.
- Created new classes in
- Added
i8
,i16
,i32
andi64
aliases for signed integers - Added checkstyle script
- Added extended debugging flags for gdb
- Added missing underscores to directory names
- Added printing mismatched pixel positions for failed tests
- Added support for reading JPEG images
- Fixed changes to headers not recompiling dependencies
- Fixed
distbin
build target so that external tools are optional - Fixed recompiling the whole project after every change
- Fixed stack overflow when a file became stuck in recognition loop
- This is tough to explain, but shouldn't happen in practice anyway.
- Fixed crash for corrupt ZLIB streams
- Improved raw file comparing performance in tests
- Improved readability of
Archive
's proxies - Reduced UPX compression aggressiveness
- This results in improved performance of
distbin
target at expense of
about +0.3MB to.zip
size.
- This results in improved performance of
- Removed mild profanities (namely, "crap" and "crappy") from comments
- Removed use of "typedef" keyword altogether
- Removed C-like casts + added build warning
- Switched to uppercase hex constants to uppercase
- Switched letter case to PascalCase for enum values
- Switched to user string literals (
_b
) - Renamed
formats/
tofmt/
- Renamed
IO::read_until_end
toIO::read_to_eof
- Renamed
IO::read_until_zero
toIO::read_to_zero
- Replaced
length
withsize
in variable names (improves consistency) - Replaced
endian.h
with own implementation that uses much fewer macros - Added CXDEC encryption block autodetection (removes big-ass table constants)
- Other refactors