Skip to content
This repository was archived by the owner on Apr 25, 2022. It is now read-only.

0.9

Choose a tag to compare

@rr- rr- released this 17 Dec 21:37
· 865 commits to master since this release

Visible changes

  • Support for new games:
    • [Ammolite] Sweet Switch
    • [Appetite] Mama no Okugai Shuuchi Lesson
    • [Astronauts] Demonion
    • [Atelier Sakura] Shin Hoka no Otoko no Seieki de Harande mo Ii Desu ka...? 2
    • [August] Daitoshokan no Hitsujikai
    • [Bandai] Oreimo
    • [CLOCKUP] Eroge!
    • [CLOCKUP] Please R*pe Me!
    • [Cattleya] Bijukubo
    • [Cattleya] Chijoku Sister
    • [Cattleya] Kyouiku Mama to Oba to Oba
    • [Cattleya] Miboujin Sanae
    • [Cattleya] Okami Misao
    • [Cattleya] Onna Zakari
    • [Cattleya] Shin Onna Kyoushi Yuuwaki Shinro Shidoushitsu
    • [Cattleya] Tsuma no Haha Sayuri
    • [Empress] Starless (English ver.)
    • [FC01] White Breath
    • [Herencia] Kangoku Hime
    • [Hot Pink] Gohoushi Nurse
    • [Kiss Custom Reido]
    • [Kiss Custom Reido] 2
    • [Kiss Custom Reido] 3
    • [Kiss Custom Reido] 4
    • [Kiss Custom Reido] F
    • [Kiss Custom Reido] V
    • [Leaf] Comic Party
    • [Leaf] Inagawa de Ikou!!
    • [Leaf] Magical Antique
    • [Leaf] Routes
    • [Leaf] Saorin to Issho!!
    • [Leaf] To Heart
    • [Leaf] White Album
    • [Lose] Monobeno
    • [Purple Software] Chrono Clock
    • [Purple Software] Hapymaher
    • [Purple Software] Hapymaher W & FD
    • [Purple Software] Haruiro Ouse
    • [Shangri-La] Akatsuki no Goei
    • [Shangri-La] Akatsuki no Goei 2
    • [Shangri-La] Akatsuki no Goei 3
    • [Studio Ring] Nanami to Konomi
    • [Studio Triumph] Netorare Nurse 3
    • [Whirlpool] 77
    • [Whirlpool] InaKoi
    • [Whirlpool] InaKoi Fandisc
    • [Whirlpool] JustyNasty
    • [Whirlpool] Lunaris Filia
    • [Whirlpool] Magus Tale
    • [Whirlpool] Magus Tale Infinity
    • [Whirlpool] Maikaze no Melt
    • [Whirlpool] Meri?Chri
    • [Whirlpool] NekoKoi
    • [Whirlpool] Ryuuyoku no Melodia
    • [Whirlpool] Suzukaze no Melt
  • Support for new formats:
    • AVGEngine's GXP archives
    • CRI AFS2 audio archives
    • CatSystem's INT v3 archives
    • English patches for Touhou
    • FC01's v2.00 MCG images
    • Kiss ARC archives
    • Kiss PLG archives
    • Kiss custom PNG images
    • Leaf's .a archives
    • Leaf's AR10 archives
    • Leaf's CZ10 image archives
    • Leaf's GRP masked images
    • Leaf's GRP variant that starts with 0
    • Leaf's LC3 images
    • Leaf's LF3 images
    • Leaf's LFB images
    • Leaf's LFG images
    • Leaf's P16 audio
    • Another variant of Leaf's PAK archives + renamed PAK to PAK1
    • Leaf's PAK2 archives
    • Leaf's PAK2 audio
    • Leaf's PAK2 compressed files
    • Leaf's PAK2 images
    • Leaf's PX images
    • Leaf's W audio
    • Majiro v2 archives
    • Microsoft WAV decoding
    • Playstation's GIM images
    • Purple Software's CPZ5 archives (two variants)
    • Purple Software's CPZ6 archives
    • Purple Software's PB3 v1 images
    • Purple Software's PB3 v2 images
    • Purple Software's PB3 v3 images
    • Purple Software's PB3 v5 images
    • Purple Software's PB3 v6 images
    • Purple Software's PS2 scripts
    • XP3 archives with shuffled chunks
    • YuRis YPF archives
    • Yumemiru Game Maker's DAT archives
    • Yumemiru Game Maker's EPF images
  • Fixed NWA audio decoder
  • Fixed Will ARC preprocessing
  • Fixed LEAFPACK file naming
  • Fixed Touhou's PAK2 preprocessing
  • Added support for manual LEAFPACK keys
  • Added support for base images in Majiro RCT images
  • Added basic XOR encryption plugin for XP3 archives
  • Added support for extra chunks in PNG (previously au refused to decode such images altogether)
  • Added support for time chunk in XP3 archives
  • Ignored support for unknown chunks in XP3 archives (previously au refused to decode such archives altogether)
  • Corrected AliceSoft --fmt switches in GAMELIST
  • Renamed 'extra/' directory to 'etc/'

Internal changes

  • Important renames
    • Split util:: into util:: and algo::, most of stuff was moved into algo::
    • Removed pix::
    • Moved everything from pix:: to res::
    • Renamed Grid to Image
    • Renamed .hh to .h
  • Refactors to io namespace
    • Renamed IO to Stream
    • Renamed BufferedIO to MemoryStream
    • Renamed FileIO to FileStream
    • Moved File class to io namespace
    • Added support for method chaining in Streams
    • Introduced io::path and io::filesystem
      • Changed File::name from std::string to io::path
      • Changed ArchiveEntry::name from std::string to io::path
      • Renamed File::name to File::path
      • Replaced now useless proxy methods from File with calls on its path
    • Improved performance of Stream reading and writing
    • Hidden write/read() methods that receive out params with protected, added _impl suffix
    • Removed Stream::write_from_io()
    • Fixed FileStream::seek() not throwing EofError
  • Formalized audio support
    • Introduced Audio class
    • Introduced AudioDecoder class
    • Introduce compare_audio()
    • Removed util::file_from_wave(many parameters)
    • Added util::file_from_audio(const Audio &)
    • Remove --loops support from THBGM decoder (TODO: offer proper loop support for everyone)
  • Added Huffman decompression routines
  • Added MD5 routines
  • Added Image::paste() method for merging images
  • Added VirtualFileSystem (it's super slow for now but makes many things convenient)
  • Added algo::binary and algo::str for various popular operations
  • Added f32 and f64 aliases
  • Added ptr class
  • Added argument forwarding to register_fmt
  • Added fallback archive entry names
  • Added more comparison operators to bstr
  • Added support for negative offsets in bstr::substr()
  • Changed to absolute paths for input files (this gets around an exotic problem)
  • Fixed memory leaks in text encoding conversions and JPEG decoder
  • Fixed unnecessary executable relinking
  • Fixed valgrind warnings
  • Fixes for Cygwin
  • Greatly simplified naming strategies
  • Implemented PNG error handling
  • Implemented older MersenneTwisters
  • Improved CallStackKeeper design
  • Improved CyclicBuffer performance
  • Improved Image pixel access performance
  • Introduced dummy BaseDecoder with empty methods to reduce code duplication
  • Reduced Boost dependencies across code
  • Reduced code duplication in base decoders
  • Reimplemented checkstyle script in Python, added new checks
  • Removed VersionRecognizer (bloatware)
  • Removed compat/ dir
  • Renamed etc_dir to assets_dir
  • Reworked tests
  • Significantly improved Image comparison performance
  • Simplified ShiinaRio plugin creation
  • Updated waf and catch to newer versions
  • Many other refactors + tests