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

Releases: vn-tools/arc_unpacker

0.11

30 Jul 21:45
@rr- rr-
Compare
Choose a tag to compare

Finally here

New games

  • [130cm][030926]Princess Bride
  • [130cm][040924]Princess Brave! ~Jantaku no Kishi~
  • [130cm][050428]Boku wa Tenshi Janai yo
  • [130cm][060623]Kanojo-tachi no Ryuugi
  • [130cm][080829]Furifuri
  • [130cm][090626]Oni Uta
  • [130cm][100129]Onimari
  • [130cm][110624]Nemureru Hana wa Haru o Matsu. -spring come-
  • [5pb.][120525]Kono Oozora ni, Tsubasa o Hirogete
  • [5pb.][160428]Chaos;Child
  • [Akabei Soft2][100624]Kourin no Machi, Lavender no Shoujo
  • [AliceSoft][160129]Tsumamigui 3
  • [Ameno Murakumo][120218]Oyako Saiin Chiiku ~ Konna Ore ni Uzuite Modaero!
  • [Atelier Kaguya][010223]Mamotte Agetai. ~Dear My Master~
  • [Atelier Kaguya][010601]Ochiyuku Kyoushitsu
  • [Atelier Kaguya][010622]Shoukoujo ~Watashi o Wasurenaide~
  • `[Atelier Kaguya][021025]Ningyou no### New games
  • [130cm][030926]Princess Bride
  • [130cm][040924]Princess Brave! ~Jantaku no Kishi~
  • [130cm][050428]Boku wa Tenshi Janai yo
  • [130cm][060623]Kanojo-tachi no Ryuugi
  • [130cm][080829]Furifuri
  • [130cm][090626]Oni Uta
  • [130cm][100129]Onimari
  • [130cm][110624]Nemureru Hana wa Haru o Matsu. -spring come-
  • [5pb.][120525]Kono Oozora ni, Tsubasa o Hirogete
  • [5pb.][160428]Chaos;Child
  • [Akabei Soft2][100624]Kourin no Machi, Lavender no Shoujo
  • [AliceSoft][160129]Tsumamigui 3
  • [Ameno Murakumo][120218]Oyako Saiin Chiiku ~ Konna Ore ni Uzuite Modaero!
  • [Atelier Kaguya][010223]Mamotte Agetai. ~Dear My Master~
  • [Atelier Kaguya][010601]Ochiyuku Kyoushitsu
  • [Atelier Kaguya][010622]Shoukoujo ~Watashi o Wasurenaide~
  • [Atelier Kaguya][021025]Ningyou no Yakata ~Inmu ni Dakereta Maid-tachi~
  • [Atelier Kaguya][030530]Hitozuma Cosplay Kissa
  • [Atelier Kaguya][031219]Saishuu Chikan Densha 2
  • [Atelier Kaguya][040227]Mahokoi ~Ecchi na Mahou de Koi x Koi Shichau~
  • [Atelier Kaguya][040326]Saishuu Chikan Densha
  • [Atelier Kaguya][040528]Chijoku Shinsatsushitsu
  • [Atelier Kaguya][040528]Kyouin Gakuen
  • [Atelier Kaguya][050729]Onna Kyoushi
  • [Atelier Kaguya][060428]Hitozuma Cosplay Kissa 2
  • [Atelier Kaguya][060629]Inkou Haden Amatsu ~Hakudaku no Juin~
  • [Atelier Kaguya][061215]Dungeon Crusaderz ~Tales of Demon Eater~
  • [Atelier Kaguya][070427]Delta! ~Onedari Tenshi to Hitotsu Yane no Shita~
  • [Atelier Kaguya][071130]Ore to Kanojo wa Shuju na Kankei
  • [Atelier Kaguya][080125]Serina
  • [Atelier Kaguya][080530]Imouto Jiru
  • [Atelier Kaguya][080829]Dokidoki Onee-san
  • [Atelier Kaguya][081227]Dungeon Crusaderz 2 ~Eigou no Rakudo~
  • [Atelier Kaguya][090123]Natsukami
  • [Atelier Kaguya][090227]Osananajimi to Ama~ku Ecchi ni Sugosu Houhou
  • [Atelier Kaguya][090227]Sara Sara Sasara
  • [Atelier Kaguya][090424]Magical Witch Academy ~Boku to Sensei no Magical Lesson~
  • [Atelier Kaguya][090725]Chupa Shite Ageru ~Sports Club no Onee-san~
  • [Atelier Kaguya][091002]Pri ☆ Sara - Dokidoki x Love Love W Fandisk
  • [Atelier Kaguya][091218]Nurse ni Omakase
  • [Atelier Kaguya][096026]Magical Witch Concerto
  • [Atelier Kaguya][100226]AneDeath. ~Anejini Kakugo no 「Otouto Shibori」 na Natsu ga Kuru!~
  • [Atelier Kaguya][100528]Kiriya Hakushakuke no Roku Shimai
  • [Atelier Kaguya][100723]Classy ☆ Cranberry's
  • [Atelier Kaguya][100730]Splash!
  • [Atelier Kaguya][101210]Niizuma Ikasete Milk! Danchizuma, Hirusagari no Kahanshin Jijou
  • [Atelier Kaguya][101217]Saishuu Chikan Densha 3
  • [Atelier Kaguya][110408]Sakura Iro Quartet
  • [Atelier Kaguya][110422]Ijira Rental ~Eroama Onee-san ni Kashidasarechatta!!~
  • [Atelier Kaguya][110617]Anejiru ~Shirakawa San Shimai no Omakase~
  • [Atelier Kaguya][110617]Katei Kyoushi no Onee-san ~H no Hensachi Agechaimasu~
  • [Atelier Kaguya][110617]School Project ☆
  • [Atelier Kaguya][110624]Harahara Shichau! ~Oya ni wa Naisho no Kozukuri Seikatsu~ -Asagari Shimai Hen-
  • [Atelier Kaguya][110624]Osakon ~Osananajimi to Icha Love Kekkon Katsudou~
  • [Atelier Kaguya][110722]Medorei ~Okasareta Houkago~
  • [Atelier Kaguya][110722]Toriko no Hime ~Inma no Chouritsu~
  • [Atelier Kaguya][110729]Kindan no Byoutou Tokushu Seishinkai Yusa Sousuke no Shinsatsu Kiroku
  • [Atelier Kaguya][110930]Ane wa Kanojo de Senzoku Maid
  • [Atelier Kaguya][110930]Harahara Shichau!! ~Oya ni wa Naisho no Kozukuri Seikatsu~ -Amahara Izumo Hen-
  • [Atelier Kaguya][110930]Hatsujou Season
  • [Atelier Kaguya][111125]Arubaito no Senpai no Onna no Ko ni Shigoto o Osowatteitara Hajimacchau H na Kankei
  • [Atelier Kaguya][111216]Hakudaku no Aoki Erena ~Shaseishitara Fuuin ga Tokeru Nante Mushiro Gohoubi Desu~
  • [Atelier Kaguya][120224]Ura Nyuugaku ~Ineki ni Nureta Kyoukasho~
  • [Atelier Kaguya][120427]Kirari☆Nangoku Komugiiro ~Shiofuki Paradise e Youkoso!~
  • [Atelier Kaguya][120525]Shiro Koki Kuro Koki ~Kuro Tights ni Semerareru ga Sore Gurai de wa Shiro Knee Socks o Akiramenai Ore~
  • [Atelier Kaguya][120629]Erotica Yuuwaku Kenshuu Hajimaruyo~ Shigoichau Kara Kakugonasai!
  • [Atelier Kaguya][120629]Prima ☆ Stella
  • [Atelier Kaguya][120928]Bus Chiku ~Kakusareta Seiheki o Abake~
  • [Atelier Kaguya][121026]Ane Oyako de Iku!
  • [Atelier Kaguya][121130]Sperman ~Sono Fukushuu no Maku o Yabure!!~
  • [Atelier Kaguya][130125]Enjoy ~Futari no Ecchi na Joi to Eroero Kenshuu Taiken~
  • [Atelier Kaguya][130222]Wagamama Milk DE Shite Ageru
  • [Atelier Kagyua][101210]Mainichi ga M!
  • [Bishop][110225]Sansha Mendan ~Rensa Suru Chijoku Choukyou no Gakuen~
  • [Black Lilith][060331]Soukou Kijo Iris
  • [calme][160628]Karakara
  • [Complet's][080229]Mama Shibori 2 (Mama Shibori no Jijou)
  • [Complet's][110527]Mama Mahjong
  • [Devil-seal & Softhouse-Seal][120224]Seeeki! Bukkake Bokujou! ~Oshiru Ippai, Seirei-tachi o H ni Shiiku!~
  • [Devil-seal & Softhouse-Seal][120525]Touma Kojirou no Tantei File ~Opera Za no Kaijin Satsujin Jiken~
  • [Dieselmine][100814]Omoikkiri! Seieki Tairyou Chuunyuu! ~Takabisha Onna o Aherasero!~
  • [Dieselmine][110428]Seieki Tairyou Chuunyuu! 5 ~Ore no Takabisha na Bishoujo Goshujin-sama ga Konna ni Seidai ni Aheru Wake ga Nai
  • [Dieselmine][111230]Itsu de mo Onna no Ko ni Seieki Tairyou Chuunyuu! Shite Homerareru Sekai
  • [Dieselmine][150807]Me ga Sametara Seieki ga 100 Bai Tamaru Karada ni Natteta -> Tairyou Chuunyuu!
  • [Escude][000407]Miracle Temptation!!
  • [Escude][000721]Ryuusei Tenshi Primaveil
  • [Escude][001222]Tobikkiri Ruin
  • [Escude][011122]Metamor Fantasy
  • [Escude][020802]Lovely Lovedoll
  • [Escude][021213]Ryuusei Tenshi Primaveil V
  • [G.J?][060428]Tsuma to Mama to Boin
  • [Harukaze][160226]Nora to Oujo to Noraneko Heart
  • [HEAT-SOFT][130906]Onee-chan Saimin Before After
  • [Leaf & Aquaplus & Sting][051222]To Heart 2 Xrated
  • [light][120831]Dies irae ~Amantes amentes~
  • [light][120831]Paradise Lost
  • [light][130628]Kajiri Kamui Kagura Akebono no Hikari
  • [Luxury][140829]Maou no Kuse ni Namaiki da! Torotoro Tropical!
  • [Luxury][150828]Oh Yuusha yo, Itte Shimau to wa Nasakenai!
  • [May-Be Soft][050318]Henshin! 2
  • [Miel][141219]Ure Chichi Shibori ~Bakunyuu Miboujin ga Otonari no Gakusei ni Oppai o Seiki ni Shitsukerare Haramase Sex Tsuke ni~
  • [Minato Soft][070525]Kimi ga Aruji de Shitsuji ga Ore de
  • [Minato Soft][120323]Maji de Watashi ni Koishinasai! S
  • [Minato Soft][130118]Maji de Watashi ni Koishinasai! A-1
  • [Minato Soft][130712]Maji de Watashi ni Koishinasai! A-2
  • [Minato Soft][140228]Maji de Watashi ni Koishinasai! A-3
  • [Minato Soft][141121]Maji de Watashi ni Koishinasai! A-4
  • [Muscadet][091030]Sweetest Maman!
  • [Nekomarudow][070817]Yandere
  • [Nitroplus][160129]Tokyo Necro (#29)
  • [Nitroplus][160630]Sonicomi - Communication with Sonico
  • [Noir][091225]Imouto Ijime
  • [Orcsoft][121207]Oku-sama wa Moto Yariman -Besluted- (#27)
  • [Orcsoft][130809]Aniki No Yome-san nara, Ore ni Hamerarete Hiihii Itteru Tokoro Da yo (#27)
  • [Rapapuru][081031]Mama Mama Mama
  • [Rapapuru][110826]Chichi Miko!!
  • [Rapapuru][120427]Chichi Miko!! Plus 1 ~Sobo to Musume no Sakunyuu Harem~
  • [Rapapuru][130222]Mama Mama Mama 2
  • [Studio Mebius][000408]Zetsubou 2000 ~Aoi Kajitsu no Sanka~ DVD-ROM Edition
  • [Studio Mebius][040423]Mebinya! Mebius Fandisc
  • [Studio Mebius][040924]Snow
  • [Studio Mebius][040924]Tomodachi Ijou Koibito Miman
  • [Studio Mebius][050729]The God of Death
  • [Studio Mebius][060929]Snow
  • [Studio Mebius][081128]Sin Kurotoki Iro no Shoujo
  • [Studio Mebius][090424]Akumu Zetsubou ~Aoi Kajitsu no Sanka~ Twin Pack Edition
  • [Studio Mebius][970328]Akumu - Aoi Kajitsu no Sanka
  • [Studio Pork][120413]Bajunyuu! Dekajiri! Ama Oba-san
  • [Studio Ring][070629]Oyatsu no Jikan
  • [Swan][110422]Hara ☆ Para!! ~Swan Nakadashi Paradise~
  • [Swaneye][081024]Hara Kano!! ~Ano Ko To Lovelove Harabote Seikatsu~
  • [Swanmania & Swaneye][130726]Sakigake! Metamorfuck Gakuen! ~Kogane no Chikyuu to Pantsu no Hihou~
  • [Triangle][150626]Sacred Lineage
  • [Tryset][070928]Yogatte! Oku-sama ~Yokyuu Fuman na Mucchiri Tsuma-tachi~
  • [Tsurumiku][091218]Yume Kui -Tsurumiku Shiki Game Seisaku-
  • [Yuzusoft][060728]Bra-ban!
  • [Yuzusoft][080523]Natsuzora Kanata
  • [Yuzusoft][090529]Tenshin Ranman - Lucky or Unlucky!?
  • [Yuzusoft][101224]Noble☆Works
  • [Yuzusoft][120330]Dracu-Riot!

New formats

  • 5pb/arc
  • will/pnap
  • abstraction/wad
  • alice-soft/dcf
  • bishop/bsa
  • bishop/bsc
  • bishop/bsg
  • dxlib/dx
  • escude/acp
  • escude/bin
  • kaguya/an00
  • kaguya/an10
  • kaguya/an20
  • kaguya/an21
  • kaguya/ao
  • kaguya/ap
  • kaguya/ap0
  • kaguya/ap2
  • kaguya/ap3
  • kaguya/aps3
  • kaguya/bmr
  • kaguya/compressed-bmp
  • kaguya/link2
  • kaguya/link3
  • kaguya/link4
  • kaguya/link5
  • kaguya/link6
  • kaguya/link
  • kaguya/pl00
  • kaguya/pl10
  • kaguya/raw-mask
  • kaguya/wfl
  • mages/mpk
  • malie/libp
  • malie/libu
  • malie/mgf
  • mebius/koe
  • mebius/mcg
  • nitroplus/npk2
  • real-live/koepac
  • real-live/nwk
  • real-live/pdt10
  • real-live/pdt9
  • triangle/med
  • triangle/wady
  • triangle/yb
  • unity/assets
  • `...
Read more

0.10

30 Jan 20:14
@rr- rr-
Compare
Choose a tag to compare

What? You expected some cute 1.0? Too bad! It's just me, modern versioning.

New games

  • [Applique][120928]Re:birth colony -Lost azurite-
  • [Authoring Heaven][030530]Mama Shibori
  • [Authoring Heaven][031010]The Guts! 5
  • [Authoring Heaven][031226]SayYah! 2003
  • [Authoring Heaven][060721]Onegai Iinchou!!
  • [Complet's][011026]Boku No Himitsu Taiken
  • [Complet's][020412]Koi Suru Science
  • [Complet's][030314]Motto! Himitsu Taiken
  • [Complet's][030606]Mama Club
  • [Complet's][031219]Matty
  • [Complet's][040528]Mama Club 2
  • [Complet's][041222]Boku No Natsuyasumi Himitsu Taiken
  • [Complet's][050702]Yagai Gakushuu
  • [Complet's][060224]Mama! Tsuma?
  • [Complet's][070428]Boy Meets Wives
  • [Crowd][971024]X-Change
  • [Crowd][990827]X-Change 2
  • [Crowd][040625]X-Change 3
  • [Fizz][070323]Mashiro Botan
  • [Front Wing][151127]Hatsuru Koto Naki Mirai Yori
  • [Front Wing][130524]Grisaia no Kajitsu
  • [Galette][130628]Santaful Summer
  • [Galette][150626]Lollipop Factory
  • [Hulotte][151127]Yome Sagashi ga Hakadori Sugite Yabai.
  • [Jellyfish][110428]Green ~Akizora No Screen~
  • [Lump of Sugar][051125]Nursery Rhyme
  • [May-Be SOFT][051125]Mono Gokoro, Mono Musume
  • [Mu][040423]Aoiro Rinne
  • [Ricotta][131025]Walkure Romanze More&More
  • [Silky's Sakura][150227]Ochite Iku Niizuma ~Gomennasai Anata... Watashi Mou... demo, Aishiteru~
  • [SofthouseChara][000225]Aoiya Masshigura
  • [SofthouseChara][000922]Wafers ~Ohime-sama wa Kyou mo Kiken deshita~
  • [SofthouseChara][010420]Kaizoku Oukan
  • [SofthouseChara][011026]Mahiru ni Odoru Hanzaisha
  • [SofthouseChara][020712]Alfred Gakuen Mamono Daitai
  • [SofthouseChara][030328]Brown Doori Sanbanme
  • [SofthouseChara][031212]Level Justice
  • [SofthouseChara][040625]Suzukuri Dragon
  • [SofthouseChara][050218]Nangoku Dominion
  • [SofthouseChara][050930]Dancing Crazies
  • [SofthouseChara][060616]Greensvale no Mori no Naka ~Seichou Suru Gakuen~
  • [SofthouseChara][070629]Ouzoku
  • [SofthouseChara][080530]Wizard's Climber
  • [SofthouseChara][090327]Daisounan
  • [SofthouseChara][091218]Shinobi Ryuu
  • [SofthouseChara][100730]Bunny Black
  • [SofthouseChara][110624]Yukioni-ya Onsen-ki
  • [SofthouseChara][120127]Bunny Black 2
  • [SofthouseChara][120928]Mon o Mamoru Oshigoto
  • [SQUEEZ][040730]Nyuujoku Hitozuma Jogakuen ~Ingoku no Yakan Hitozuma Choukyou Gakka (Nibu)
  • [Syrup -Many Milk-][140131]Machi Gurumi no Wana ~Hakudaku ni Mamireta Yuuri~
  • [Syrup -Many Milk-][140131]Nerawareta Megami Tenshi Angeltia ~Mamotta Ningentachi ni Uragirarete~
  • [Whitesoft][150227]Sakura Synchronicity

New formats

  • aoi/agf
  • aoi/aog
  • aoi/iph
  • aoi/vfs
  • borland/tpf0 (internal)
  • cat-system/hg3
  • complets/gd
  • complets/vmd
  • cri/afs
  • cri/cpk
  • crowd/cwd
  • crowd/cwl
  • crowd/cwp
  • crowd/eog
  • crowd/pck
  • crowd/pkwv
  • crowd/zbm
  • gpk2/gfb
  • gpk2/gpk2
  • gsd/bmz
  • gsd/gsp
  • ism/isa
  • ism/isg
  • lucifen/elg
  • lucifen/lpk
  • playstation/gtf
  • playstation/gxt
  • scene-player/pmp
  • scene-player/pmw
  • silky/akb
  • silky/arc
  • system_epsilon/packdat

Improved support for existing formats

  • cri/hca: fixed sound distortions
  • cri/hca: added support for type 3 and type 4 decoder
  • entis/eri: added support for base images
  • entis/eri: added support for falsified bit depths
  • entis/mio: fixed audio clipping
  • entis/mio: relaxed magic requirements
  • entis/noa: added checksum verification
  • entis/noa: added requirement for --noa-key, if it's encrypted
  • entis/noa: added support for BSHF encryption
  • entis/noa: added support for ErisaN compression
  • majiro/rct: added support for external alpha masks
  • microsfot/bmp: added support for faux alpha masks
  • qlie/pack: added automatic searching for game keys
  • qlie/pack: improved .exe key retrieval
  • twilight-frontier/tfpk: improved unknown file naming

Other visible changes

  • Added parallel processing
  • Redesigned game list (thanks, @Tehoko)
    • Improved readablity
    • Added search
    • Added Japanese titles
    • Added VNDB links
  • Redesigned README
    • Collected important links from sections and moved them right at the top
    • Removed useless clutter
    • Improved contact information
  • Changed --verbosity switch to support multiple levels, removed --quiet
  • Added --version switch
  • Added --threads switch
  • Added --numeric-file-names switch (for generic archives with broken file names)
  • Added basic stats at the end of unpacking
  • Readded loop support in output WAV files
  • Added CriPakTools to THANKS
  • Improved naming convention for nameless files

Internal changes

  • Added parallel processing: introduced flow namespace, drastically changed
    program control flow
  • Added support for Microsoft Visual Studio
  • Added support for Clang
  • Changed build system to cmake, ditched waf
  • Changed OpenSSL to be mandatory, removed OpenSSL dummy plugs
  • Removed version macros in favor of autogenerated header
  • Removed preprocessing from archives in favor of VirtualFileSystem
  • Removed util namespace, introduced algo namespace
  • Removed fmt namespace, introduced dec namespace
  • Removed file_from_*, introduced enc namespace
  • Reorganized everything in io namespace
  • Replaced read_u8, read_u16_le etc. with read<T>, read_le<T> and
    read_be<T>
  • Added ability to copy Files and Streams
  • Files using Unicode now use BOM (MSVC)
  • Removed Log singleton, changed to manual dependency injection
  • Added algo::any
  • Added algo::cyclic_ptr, removed CyclicBuffer
  • Reorganized plugin manager
  • Changed tests philosophy (rather than adding immutable files for each
    decoder, started writing tests by hand that are prone to refactors, but
    dramatically reduce repository size)
  • Fixed a few bugs that have manifested themselves after testing new compilers
  • Many more refactors and new overloads/functions

0.9

17 Dec 21:37
@rr- rr-
Compare
Choose a tag to compare
0.9

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

0.8

05 Nov 21:08
@rr- rr-
Compare
Choose a tag to compare
0.8

Visible changes

  • Support for new games:
    • [3rd Eye] Sorcery Jokers
    • [Erectlip] Kyonyuu seido kaichou
    • [Erectlip] Mahou Shoujo Iris
    • [Erectlip] Mahou Shoujo Ixia
    • [Erectlip] Sensei Ano ne... Netorare Shoujo to Houkago no Taiiku Souko
    • [Erectlip] Little†B☆☆☆h
    • [Hakudakukei] Jugyou de Ecchi
    • [Innocent Grey] Kara no Shoujo
    • [Innocent Grey] Kara no Shoujo 2
    • [Leaf] Hatsune No Naisho!!
    • [Leaf] Kizuato
    • [Leaf] Shizuku (renewal DVD)
    • [Leaf] Tasogare
    • [Leaf] Tears to Tiara
    • [Liar-soft] Kusarihime
    • [Lilim Darkness] Angels Blue
    • [Lilim Darkness] Dark Blue
    • [Lilim Darkness] Hunting Blue
    • [Lilim Darkness] Innocent Blue
    • [Lilim Darkness] True Blue
    • [Lilim Darkness] Wedding Blue
    • [Meteor] Chokotto Vampire
    • [Momojiro Gekijou] Shojo Mama
    • [Nitroplus] Muramasa
    • [Parfum Soft] Isshoni chapuchapu time
    • [PeasSoft] Iinazuke wa Imouto-sama!
    • [Propeller] Tekoire Princess
    • [silica-gel] Majime to Sasayakareru Ore wo Osananajimi no Risa ga Seiteki
      na Imi mo Komete Kanraku Shite Iku Hanashi
    • [Tarte] Hinatabokko
    • [Team Shanghai Alice] Upcoming TH145 English patch
    • [Unison Soft] "The idol is a vampire?!"
  • Support for new formats:
    • Unencrypted TFPK archives
    • (partial) CRI's HCA audio
    • 8-bit JPEG images
    • ast ARC1 and ARC2 archives
    • ActiveSoft's ADPACK32 archives
    • ActiveSoft's ED8 images
    • ActiveSoft's EDT images
    • Amuse Craft (Softpal)'s PAC archives (two kinds)
    • Amuse Craft's BGM files
    • Amuse Craft's PGD GE v2 and v3 images
    • Amuse Craft's TGA-based PGD images
    • GNU's gzip archives
    • Innocent Grey's IGA archives
    • Innocent Grey's PACKDAT archives
    • Leaf's BBM images
    • Leaf's BJR images
    • Leaf's GRP images
    • Leaf's KCAP archives
    • Leaf's LAC archives
    • Leaf's LEAFPACK archives
    • Leaf's PAK archives
    • Leaf's LF2 images
    • Leaf's older KCAP archives
    • LiarSoft's LIM 16-bit images
    • Lilim's 32-bit ABM images
    • Lilim's 8-bit ABM images
    • Lilim's AOS archives
    • Lilim's DBM images
    • Lilim's DOJ scripts
    • Lilim's DPK archives
    • Lilim's DWV audio files
    • Lilim's older AOS archives
    • Lilim's script files
    • PSP GPDA archives
    • (partial) Shiina Rio WARC archives
    • Shiina Rio's OGV audio files
    • Shiina Rio's S25 images
    • Touhou's BGM files
    • TrueVision's TGA images
    • adv dat archives
    • encryption support in Majiro's RCT images
  • Changed GAMELIST
    • Reduced font size
    • Centered the table
    • Changed colors
    • Changed release dates to use full year
    • Corrected company for TH12.3
    • Fixed sort order
    • Fixed invalid --fmt switches
    • Fixed Touhou audio marked as not supported (it is)
  • Enhanced CLI output
    • Added ASCII logo!
    • Added Github and IRC links
    • Added showing possible values if user supplies bad --switch value
    • Added -l alias for --list-fmt
    • Reworded help
    • Fixed --fmt enumeration not being hidden from regular CLI help
  • Change archive unpacking to continue unpacking even if one of files fails
  • Changed --fmt naming to namespaces
  • Removed excessive blank lines

Internal changes

  • Split ArchiveDecoders unpacking into two phases: read_meta() and
    unpack_file()
    (so that callers can select what to unpack)
  • Simplified registering linked decoders
  • Rename _internal to _impl
  • Added GeneralError as a base class for all exceptions
  • Added Grid::apply_palette()
  • Added Grid::flip_horizontally() (renamed flip top flip_vertically)
  • Added Palette::at()
  • Added bstr::at()
  • Added bstr::capacity()
  • Added bstr::empty()
  • Added util::CyclicBuffer (for LZSS and the like)
  • Added util::VersionRecognizer (not sure if want)
  • Added util::Benchmark
  • Added util::pack::zlib_inflate(io::IO)
  • Added copy constructor for Palette
  • Added data constructor to File()
  • Added new pix::Formats
  • Added separate exception for EOF problems
  • Added support for raw deflate and gzip along zlib
  • Added few useful general tests
  • Changed bstr to use u8
  • Changed Registry so that it is usable in tests
  • Changed style to use more consts
  • Changed postprocessing to respect --no-recurse flag
  • Changed std::unique_ptr<T>(new T) to std::make_unique<T>(...)
  • Changed std::shared_ptr<T>(new T) to std::make_shared<T>(...)
  • Changed util::file_from_samples() to accept bits per sample rather than
    bytes per sample
  • Fixed Grid referring to unknown palette colors
  • Fixed bstr.substr() in corner cases
  • Fixed .gitignore
  • Fixed virtual methods that shouldn't be virtual
  • Fixed word wrapping in ArgParser
  • Fixed seek() on FileIO failing silently
  • Fixed variadic functions no longer use references, which apparently is UB
  • Removed bool recurse parameter from unpack()
  • Improved performance of BitReader a little bit
  • Improved performance of creating Grids from BGRA8888 data
  • Improved pixel reading in Grid and Palette
  • Improved PNG saving performance
  • Simplified collecting input file paths
  • Refactored / fixed / improved performance of a few decoders
  • Split fmt::touhou namespace into fmt::twilight_frontier and
    fmt::team_shanghai_alice
  • Moved recursion limiter to util

0.7

04 Oct 11:58
@rr- rr-
Compare
Choose a tag to compare
0.7

Visible changes

  • Support for new games:
    • [Alice Soft] Kichikuou Rance
    • [Alice Soft] Atlach-nacha
    • [Alice Soft] Dr. Stop!
    • [Alice Soft] Ningen Gari
    • [Alice Soft] Toushin Toshi
    • [Alice Soft] Zero
    • [Alice Soft] Rance 1 - Hikari o Motomete
    • [Alice Soft] Rance 2 - Hangyaku no Shoujo-tachi
    • [Alice Soft] Rance 3 - Leazas Kanraku
    • [Alice Soft] Rance 4 - Kyoudan no Isan
    • [Alice Soft] Rance 4.1 - Okusuri Koujo o Sukue!
    • [Alice Soft] Rance 4.2 - Angelgumi
    • [Alice Soft] Rance 5D
    • [Alice Soft] Rance 6 - Zeth Houkai
    • [Alice Soft] Tsuma Shibori
    • [Alice Soft] Sengoku Rance
    • [Alice Soft] Alice 2010 (+ all games from that release)
    • [Black Lilith] Ore to Saeko-san to Netorare Mail
    • [Cherry Soft] Heroine
    • [Cronus] Caliz
    • [Cronus] Fruit Punch
    • [Cronus] Kaikan Senshi Busty
    • [Cronus] Nursery Song
    • [Cronus] Sweet Pleasure
    • [Cuffs] Sakura Musubi
    • [Empress] Closed Game
    • [FC01] Suigetsu
    • [FC01] Mizukabe
    • [Fuguriya] Sonohana 17
    • [Latte] Imouto Senbatsu Sousenkyo
    • [Latte] Dainikai Imouto Senbatsu Sousenkyo 366ninme no Imouto Icha Love Nijitsudan
    • [Libido] Girl Friends
    • [Libido] Fifteen School Girls Digital Tokuhon
    • [Libido] Libido 7
    • [Libido] Houkago Mania Club
    • [Lump of Sugar] Itsusora
    • [Parasol] Yumekoi Yume Miru Mahou Shoujo to Koi no Jumon
    • [Pita Fetish] Gokkun! Onii-chan Milk Punipuni Oppai na Imouto to
    • [Root] PARA-SOL
    • [Sei Mikaeru Joshi Gakuen] Sonohana 18
    • [Tanuki Soft] Bishoujo
    • [Tanuki Soft] Shoujo Kyouiku
    • [Tanuki Soft] Shoujo Ramune
    • [Tanuki Soft] Tonari no Puu-san
    • [Tryset] Shin Yarasete! Teacher
    • [Waffle] Tsugou no You Sexfriend?
    • [Waffle] Gakuen de Jikan yo Tomare
    • [West Vision] OL Gari Nureta Office
    • [West Vision] Innyuu Kazoku Boku to Haha to Ane to Imouto to
    • [West Vision] Kyonyuu Gokuraku Seminar
    • [West Vision] Nyuuki Saisai
    • [West Vision] Futago Reijou
    • [Will] Tsuma Youji 1
    • [Will] Tsuma Youji 2
    • [Yurin Yurin] Sonohana 14
    • [Yurin Yurin] Sonohana 15
    • [Yurin Yurin] Sonohana 16
  • Support for new formats:
    • Libido unencrypted ARC archives
    • Libido EGR image archives
    • Libido MNC images
    • Libido BID archives
    • Cronus PAK archives
    • TACTICS ARC archives
    • XP3 mixed XOR encryption
    • Cherry Soft MYK archives
    • Alice Soft 16-bit PMS images
    • Alice Soft VSP images
    • Alice Soft DAT archives
    • Alice Soft alpha-onlY QNT images
    • FC01 MRG archives
    • FC01 ACD masks
    • FC01 MCG images
    • FC01 MCA image archives
    • Majiro v3 archives
    • Majiro RC8 images
    • Majiro RCT images
    • ENTIS lossless Huffman images
    • ENTIS lossless gamma images
    • ENTIS lossless Nemesis images
    • ENTIS lossless PCM16 audio
    • ENTIS lossy DCT audio
    • ENTIS lossy DCT LOT audio
    • ENTIS unencrypted NOA archives
    • GS DAT archives
    • GS PAK archives
    • GS images
    • Will WIPF images
    • Will ARC archives
    • GLib2 another encryption
    • GLib2 JPEG-wrapped PGX images
    • Wild Bug WBP archives
    • Wild Bug WBM images
    • Wild Bug WWA audio
    • Wild Bug WBI script files
    • Nekopack4A archives
    • West Vision SYG images
    • Microsoft uncompressed BMP images (this one doesn't concern end users too much)
  • Fixed iterating over directories
  • Fixed missing CLI switches from GAMELIST
  • Added --quiet option
  • Added company and release info to GAMELIST
  • Sorted GAMELIST by company and release date
  • Added encoding <meta/> to GAMELIST (should fix misrendering of some characters in hipster web browsers)
  • Moved --fmt listing to new switch, --list-fmt (I believe this list to be marginal to the end users. If file requires additional switches to unpack, au will tell which --fmt to pass at runtime anyway.)
  • Improved Fortune Summoners unpacking (no more guesswork)

Internal changes

  • Reorganized core fmt classes
    • Removed Archive, Converter and Transformer
    • Introduced IDecoder interface
      • Implemented by new base classes: ImageDecoder, AudioDecoder, FileDecoder, ArchiveDecoder
      • ImageConverters produce plain pix::Grids, AudioDecoder for time being produce Files
  • Fixed bytewise LZSS decompression sometimes truncating a few bytes
  • Fixed BitReader not working for 32 bit integers
  • Fixed floating point gcc ↔ MinGW mismatches
  • Fixed crash when reporting unknown zlib errors
  • Fixed malformed error reporting in EXE unpacker
  • Fixed trying to create images with 0 width or height causing segfault from libpng
  • Fixed a few functions not using static when they should
  • Introduced proper exceptions (centralized in err.h) rather than abusing std::runtime_error
  • Introduced proper test naming and tagging system (7ac574e, ea7ac17)
  • Introduced Log.debug() for development purposes (no more std::cerr << "herp" << "derp")
  • Changed File.has_extension() to work case-insensitively
  • Changed structs and classes to use final where possible
  • Changed checkstyle to log all errors at once
  • Changed comments to always include one spaces after //
  • Renamed i8, i16, i32, i64 to s8, s16, s32, s64 (68ed908)
  • Renamed sound to audio
  • Moved methods before fields
  • Moved different FileSaver implementations to separate files
  • Moved .cc relevant .h #includes to the top (19dc0be)
  • Added position-related methods to BitReader (size(), tell(), seek(), skip())
  • Added support for iterating over bstr
  • Added support for iterating over pix::Grid and pix::Palette
  • Added fill constructor to bstr (bstr x; x.resize(y);bstr x(y);) + used it where possible
  • Added copy constructor to pix::Grid
  • Added ability to mute specific Logger levels
  • Added ability to log stuff like in util::format
  • Added ability to strip File extension
  • Added convenient mask applying for pix::Grid
  • Added information which file fails the test for batch archive tests
  • Removed headers from .cc implementations (for rationale, see a444d13)
  • Removed util::require and util::fail (for rationale, see bbab752)
  • Removed obsolete CXDEC notes
  • Removed BitReader.try_get()
  • Removed util::Image in favor of new ImageDecoder pattern + util::file_fromg_grid()
  • Removed util::Sound in favor of util::file_from_samples()
  • Collapsed CSS in GAMELIST
  • Simplified XP3 decoders
  • Simplified G00 decoders
  • Simplified BufferedIO (uses bstr rather than realloc)

0.6

05 Sep 07:55
@rr- rr-
Compare
Choose a tag to compare
0.6

Visible changes

  • Support for new games:

    • Brightia
    • Candy Toys
    • Cherry Boy, Innocent Girl
    • Cherry Tree High I! My! Girls!
    • Doki Doki Princess
    • G-senjou no Maou
    • Go! Go! Nippon! My First Trip to Japan
    • Honoo no Haramase Tenkousei
    • Imouto ni! Sukumizu Kisetara Nugasanai!
    • Magical Charming! (thanks Nathanael)
    • Moshimo Ashita ga Harenaraba
    • Touhou 15 - Legacy of Lunatic Kingdom (full version)
    • Tsujidou-san no Virgin Road
  • Support for new formats:

    • BGI's CBG v2 image decoding
    • BGI's DSC format
    • Cronus's PAK archives
    • Cronus's images
    • EAGLS's GR images
    • EAGLS's PAK script files
    • EAGLS's PAK/IDX archives
    • Ivory's MBL dialog file encryption
    • Ivory's WADY music files
    • LiarSoft's packed OGG sound files
    • Libido's ARC archives
    • MinatoSoft's FIL image masks
    • RealLive's NWA sound files
    • RealLive's OVK voice archives
    • Riddle Soft's CMP images
    • Riddle Soft's PAC archives
    • sysadv's PAK archives
    • sysadv's PGA images

    A few formats mistakenly reported to fully supply game audio. All of these
    were fixed by introducing new formats above.

  • Changed the way things are logged

    • Newlines here and there
    • Reduced clutter
    • Removed output during recognition phase except required minimum
    • Added logging of output path of currently processed files
  • Added colored logs

  • Added --no-color to disable colors (useful for piping output)

  • Added --no-recurse option (useful for testing stuff or salvaging broken
    archives)

  • Added checksum tests to BGI's CBG decoder

  • Improved Touhou's PAK1 image and sound recognition

  • Fixed fkey-based decryption of QLiE's PACK archives

  • Fixed QLiE's ABMP10 archive unpacking

  • Fixed WAV decoded files producing malformed RIFF header

  • Fixed small mistake in README (--fmt=xp3--fmt=krkr/xp3)

  • Added more file names to Tsujidou-san Jun'ai Road (from ~170 unextractable
    files we went down to just 1)

  • Removed need to supply --game-title in Whale's DAT archive - until now, it
    required people to type/paste game title in kanji, which could cause a lot of
    stress for all those poor souls using cmd.exe; now it's placed at the top
    of the --file-names file (thanks fri)

  • Added --dump to Whale's DAT archive, which should help in reverse
    engineering file names in future games

  • Renamed key to real_live (turns out not only Key uses this engine)

Internal changes

  • Switched to C++14
  • Replaced TransformerFactory with Registry
    • Rather than keeping one huge file that #includes every decoder in
      existence, decoders now register themselves using auto dummy = Registry::add<Blabla>("bla/bla") idiom.
  • Replaced #include guards with #pragma once (thanks fri)
  • Introduced pix:: namespace which replaces most of clutter in util/Image.h
    • pix::Grid for image pixel array manipulation
    • pix::Pixel for channel manipulation
    • pix::PixelFormat for creating pix::Grid from bstr using given format
    • pix::Palette for creating pix::Grid from bstr using given palette
    • Completely removed util::colors
    • util::Image serves only for PNG/JPEG ↔ pix::Grid
      decoding/encoding
  • Rewritten CLI argument handling
    • Now everything that uses ArgParser, rather than adding help that could
      be any string, register switch/flags in orderly fashion.
    • Retrieving switches and flags was improved too.
  • Refactored the CLI facade (everything put into Priv in order to declutter
    header file from methods that should be private).
  • Fixed changing .h headers not recompiling tests
  • Added Log that replaces #include <iostream> in most random places
  • Added util::require() and util::fail() which replace assertions
  • Added T *bstr::end<T>()
  • Added bstr::bstr(const u8*, size_t)
  • Removed bstr::get<T>(n) (it wasn't clear what it should do)
  • Added add ability to trim bstr::str() at zero byte
  • Added bool File::has_extension(...)
  • Fixed memory leak in io::BitReader
  • Improve io::BitReader's performance a little bit
  • Added LCG (Linear Congruential Generators)
  • Introduced PluginManager to handle --plugin option for various formats
  • Added scripts/pyutil, whose purpose is to speed up unit test development
  • Added a bunch of tests for old untested formats (we're still far from 100%
    coverage, but things progress; all formats introduced in this version were
    covered)
  • Reorganized file tree for tests
  • Moved acknowledgments from LICENSE.md to THANKS.md (au doesn't use
    anyone's code and I learned it's inappropriate to put acknowledgments in
    LICENSE.md)
  • Reorganized README.md
  • Added byte-wise LZSS unpacker (like the one used by Allegro library)
  • Refactored a few old decoders to use Table idiom
  • Refactored test support, improved performance
  • Added scripts/inflate and scripts/deflate for quick compression of unit
    test assets
  • Improved dependency management in wscript
  • Renamed _guardian to _end
  • Renamed catch.hpp to catch.hh (to match .cc)
  • A bunch of other small changes

0.5

10 Aug 17:28
@rr- rr-
Compare
Choose a tag to compare
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, xp3krkr/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 with bstr
    • Removed BufferedIO.buffer() in favor of bstr
  • Introduced util::range iterator
    • Replaced most of for (int i = 0; i < ...; i++) loops with util::range
  • Introduced util::format for string formatting
    • Removed util::itos in favor of util::format
  • 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 and wscript management.
  • Added i8, i16, i32 and i64 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.
  • 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/ to fmt/
  • Renamed IO::read_until_end to IO::read_to_eof
  • Renamed IO::read_until_zero to IO::read_to_zero
  • Replaced length with size 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

0.4

18 Jul 07:26
@rr- rr-
Compare
Choose a tag to compare
0.4

Major visible changes

  • Added smart file recognition (no more conflicts between file formats)
  • Added file extension guessing to .exe unpacker
  • Added support for Tsujidou-san no Jun'ai Road
    • DAT archives
  • Added support for Irotoridori no Sekai:
    • FVP archives
    • NVSG image decoding
  • Added support for Sukimazakura to Uso no Machi
    • MPK archives
    • MGR image containers
  • Further Touhou support:
    • Added support for merging sliced ANM image files
    • Added support for 16-bit TFBM image files
    • Added support for files from TH13.5 English patch
    • Added support for TH14.5
    • Added support for CSV decoding
    • Added support for TFWA sound files
    • Added support for DDS decoding
    • Refactored TFPK decoder
    • Added more entries to TFPK file name lists
    • Changed TFPK fallback file name
  • One .exe instead of multiple .dlls

Minor visible changes

  • Added automatic recognition of MSK in XFL archives
  • Fixed G00 v2 decoding on Linux
  • Fixed TLG6 crash on 64-bit Linux
  • Fixed encoding for Minato's PAC archives
  • Fixed corrupted TLG6 images causing crashes
  • Reduced SOTES image false positives
  • Reduced SPB false positives
  • Added --rename flag
  • Improved supported game list in README
  • Fixed bits and pieces in README
  • Simplified build instructions for Windows
  • Changed OpenSSL to be non-mandatory
  • Fixed search by folder chopping 1 char from names
  • Opened IRC channel! :3 (details in the README)

Internal changes

  • Switched from make to waf
  • Ported unit tests to Catch framework
  • Added aliases for common encoding conversions
  • Added experimental binary string support
  • Improved Transformer design
  • Improved color assertions in tests
  • Improved code aesthetics (whitespace etc.)
  • Reduced line lengths to 80 characters
  • Fixed C casts
  • Fixed FileSaver tests polluting standard output
  • Fixed inline namespace traversal for VS10
  • Fixed pointer types
  • Fixed wrong reinterpret_cast usage
  • Simplified UTF8 file name handling in tests
  • Suppressed output from FileSaver in tests
  • Removed unused functions and includes
  • Removed file extension from bootstrap executable
  • Reduced anonymous namespaces usage
  • Added shorter type aliases
  • Improved image comparison performance in tests

0.3

26 Jun 20:41
@rr- rr-
Compare
Choose a tag to compare
0.3

⚠️ Given the fact that almost all of the "glue" code was rewritten, please be careful when using this version. It passed all of the automatic tests and some cursory manual tests, but you never know.

Visible changes

  • Added initial basic support for TH13.5.
  • Improved Touhou palette detection for TH7.5, TH10.5 and TH12.3.
  • The project has just one binary now: arc_unpacker.
  • Output files appear in the current working directory instead near target files. (For drag'n'drop this doesn't make difference.)
  • Instead of archive.datarchive.dat~/*, program now produces archive~.dat/*.

Major changes to project structure

  • Merged Converter and Archive into common interface, Transformer.

  • Improved format-to-format integration:

    • Removed run_converters() - it's now called behind the scenes.
    • Removed need for manual internal unpacking thanks to Transformer::add_transformer(Archive *).
    • Generalized Transformer registration (Transformer::add_transformer(Transformer *)).
  • Changed Converter, Image and Sound so that instead of updating File&s, they create new std::unique_ptr<File>s from scratch (basing on given file name, so that they know how to change the file extension where applicable.)

  • Merged file_decoder into arc_unpacker. The project has just one binary now: arc_unpacker.

  • Merged archive and converter factories into one TransformerFactory.

  • Improved file naming management, covered with unit tests.

  • Improved method visibility (unpack_internal and decode_internal were public 👍).

  • Reorganized file structure:

    • ioio/io
    • file_ioio/file_io
    • buffered_ioio/buffered_io
    • bit_readerio/bit_reader
    • factory/*formats/transformer_factory
    • formats/imageutil/image
    • formats/soundutil/sound
    • endianutil/endian

    Thanks to this change src/ looks a lot less cluttered now.

  • Pulled the internals from bin/arc_unpacker.cc into a new main()-free class at arc_unpacker.cc so that it can be tested gracefully in unit tests.

  • Added OpenSSL dependency because of TH13.5 and its RSA usage. If any more games use things like AES or whatnot, this should prove beneficial in the future.

0.2.1

26 Jun 20:41
@rr- rr-
Compare
Choose a tag to compare

Visible changes

  • Added support for:
    • Touhou: ANM, PBG3, PBG4, PBGZ, THA1 (everything except music and TH13.5)
    • QLiE: DPNG images
    • QLiE: abmp image archives
    • QLiE: new decryption routines (恋剣乙女)
    • QLiE: v3 archive support (そして明日の世界より)
    • MBL: OGG recognition
    • Glib: GML, G2, PGX, STX
    • PAC archives (Majikoi)
    • EX3 images
    • LWG archives
    • XFL archives
    • WCG images
    • BGI: sound and uncompressed bitmaps
  • Fixed bugged PRS decoding of some UI images
  • Fixed decoding XP3 containing files with multiple SEGM chunks
  • Fixed possible division by zero in SOTES decoder
  • Reduced P archive detection false positives
  • Reduced PAK1 and PAK2 false positives
  • Added list of available FORMATs to --help

Major changes to project structure

  • Reorganized project structure (src/formats/arc|gfx|sfx/*src/formats/company or engine/*)
  • Switched to boost::filesystem
  • Switched to mingw-w64 for non-Cygwin builds
  • Renamed OutputFiles to FileSaver and VirtualFile to File

Minor changes to project structure

  • Added Mersenne Twister
  • Added BufferedIO::reserve()
  • Added IO-based implementation for BitReader
  • Added bin2hex.rb
  • Added generic LZSS decoder
  • Archive unpackers accept VirtualFile instead of IO
  • Decoupled VirtualFile from BufferedIO
  • Fixed minor Makefile bugs
  • Improved pixel format constants usages
  • Refurbished early C++ code
  • Removed TODO
  • Removed superfluous #include <cassert> and #include <iostream>
  • Removed unused entries in .gitignore
  • Renamed string/ to util/
  • Extracted common color manipulation routines to util/
  • Replaced file mode strings with an enum
  • Simplified converter registration (it broke DRY real hard until now)
  • Simplified file writing
  • Updated license with new references
  • Updated links appearance in license
  • FileSaver no longer acquires ownership on Files