|
#1
|
||||
|
||||
|
Archiver, 7z Alternative and FreeArc Replacement
Archiver, a new archiving project
Fox Archiver — WIP 7.6 (Pre-Alpha) After a long stretch of refactoring, this build is the first one I'm calling pre-alpha rather than just "WIP." The distinction matters: the public API is now stable enough to expose, the internals have been rewritten rather than patched, and there's a real installer. It is still pre-alpha. Do not archive anything you don't have a second copy of. The big one: full LZMA SDK integration The entire LZMA SDK (26.02) is now imported into the project. Raw LZMA, LZMA2, and the XZ container are native — these are the backbone of the archiver going forward, no longer bolted on through external libraries. This has been the single most painful part of the project. LZMA2 works by splitting data into chunks and packing each through LZMA using shared compression props, which is straightforward until you need it to stream. My implementation writes to an internal pipe so the data slides through continuously, and decompression is multithreaded. Worth being honest about: the new Delphi LZMA2/LZMA/XZ/7z path from SDK 26.01 is still rough. Compressing 100 MB currently takes around four hours. It's in the tree, it's not what you should be using yet. Patch engine — complete redesign After several failed attempts, the patching engine has been rebuilt on HDiff logic. The headline capability: you can now patch entire folders in one operation. The engine produces a single patch file that is itself deduplicated and compressed. Applying it decompresses and patches in one pass — no shuffling copies of a game directory back and forth. This is exposed as a native API call, so patching a game shows progress like a normal decompression. Architecture: public variables are gone Every public variable has been dropped in favour of a single record that drives both compression and decompression. Compression, decompression, and the archive updater have all been cleanly rewritten. The public API is exposed to the degree needed for a real release. I'll rewrite parts of this again — but the shape is right now, and that's what was blocking everything else. Precomp expansion New engines: Anvil and Unity LZO 2.10 implemented natively in Delphi — precomp > lzo now works the same way zlib does, no external dependency Proper headers added throughout Internal deduplication and compression for the GUI I/O New -exec2 handler, silent mode — see help for usage Various minor bug fixes and optimizations Explorer integration The shell extension is rebuilt in C++ with static CRT linkage, so it loads in Explorer without any Delphi runtime dependency. Right-click gives you compress, decompress, test, and hash actions. There's an installer now, with a proper license and pre-install information screen. Known limitations I'd rather list these than have you find them: Won't be fixed: ZSTD cannot use a window larger than 1 GB on 32-bit — :w30 is the ceiling, and 32-bit can't even decompress beyond it PackMP3 is single-threaded; their init sequence has buffers that clear each other out The Precomp codec can't chain in multi-succession — one instance per chain, but within that instance use whatever you want, to any depth up to 10 Known, may be fixed: The 32-bit build uses 64-bit placeholders; 32-bit wasn't in the original plan Brunsli in Precomp has out-of-bounds bugs. PackJPG by YadeWira is the better path and the only maintained option
__________________
My projects : Masked Compression, lzma2(xz) on Freearc, Zstd compressor for windows My optimizations : packjpg.exe, zstd, lzham, precomp-dev-0.45. Last edited by panker1992; Today at 12:17. Reason: Added Archiver Alpha |
| The Following 17 Users Say Thank You to panker1992 For This Useful Post: | ||
ADMIRAL (25-04-2026), audiofeel (21-10-2025), BKR-TN (29-08-2025), Cesar82 (27-08-2025), DomoVoi_96 (27-08-2025), Dunnowho69 (26-08-2025), KaktoR (26-08-2025), kenzo34 (26-08-2025), kj911 (26-08-2025), Lord.Freddy (26-08-2025), Lucifer Crossman (26-08-2025), Noname1966 (06-01-2026), Razor12911 (26-08-2025), ScOOt3r (26-08-2025), shazzla (26-08-2025), Wanterlude (07-09-2025), wrathma (29-04-2026) | ||
| Sponsored Links |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| xnLZ - parallel lzma with entropy scan intended as 64bit 4x4:lzma replacement | elit | Conversion Tutorials | 9 | 20-04-2025 13:07 |
| ZArc (Alternative of Freearc) | Razor12911 | Conversion Tutorials | 62 | 04-02-2021 10:40 |
| Major League Baseball 2K12 DVD9 to DVD5 | senseman | PC Games - CD/DVD Conversions | 13 | 24-08-2013 08:12 |