Dragon UnPACKer Changelog

What's new in Dragon UnPACKer 5.7.0 Build 284 Beta

Aug 10, 2015
  • Updated licence to MPL 2.0 (from MPL 1.1).
  • Added extra check in the extraction routine to avoid going past the end of file.
  • Fixed many memory leaks
  • Fixed create list feature (macros can be upper-case or lower-case).
  • Changed macros in the DUP4 HTML template (v1.2) for lists to upper-case anyway to be consistent.
  • Re-factored the TDrivers class to stop using pointers replaced by dynamic arrays. Will be easier to maintain and less prone to errors.
  • Also introduced DUDI v6 that uses a callback function every time an entry needs to be added. This is completely different than DUDI v5 were the core program calls the plug-in function for all found entries.
  • Both the old DUDI v1-v5 & v6 methods are supported by Dragon UnPACKer 5.7.0+.
  • New directory cache should be as fast (if not faster) than the old one. Only main & ZIP driver were adapted to DUDI v6.
  • Added FastCode & FastMove.
  • Fixed support for multiple convert plug-ins during preview.
  • Re-factored how TDrivers & TPlugins were global variables, now properties of the main form. Both don't access directly main form components any more and go through a wrapper command class.
  • Completely revamped the logging features.
  • There might still be some places were it misbehaves.
  • Revamped the old "Look" functionality to a much easier to maintain and modify "Theme" (files in a folder for the moment).
  • Not really nice with Delphi 7 but should pave the way to Lazarus.
  • Added chained conversion from plug-ins to internal Vampyre Imaging Library. This allows for the plug-ins to just convert to .DDS for example and the chaining will also propose BMP, PNG and TGA with no additional work from the plug-in.
  • Added direct internal Vampyre Imaging Library convertion of compatible files. For ex: .DDS to .BMP/.PNG/.TGA.
  • Fixed the SetPercent callback function that was refreshing the component on every call, now it will refresh only if the value changed... This resulted in tremendous speed up for the loading of some formats, for ex: POD5 loading in previous version: ~17sec now: ~7sec.
  • HyperRipper v5.6b:
  • Fixed the sanity check on the BIK searching algorithm.
  • Should avoid some false-positives.
  • Fixed the memory leak for not freeing the TBufferedFS component:
  • Switched back to using THandleStream instead of TBufferedFS.
  • Free THandleStream but keep handle open and pass it to TDrivers.
  • Elbereth's ZIP Driver plug-in v2.0.0 Beta 1:
  • Updated to new DUDI v6. This means as of this version the plug-in requires Dragon UnPACKer v5.7.0 or more. It won't work with older Dragon UnPACKer versions. Changed to use Abbrevia instead of Info-Zip UnZip32.dll.
  • Elbereth's Main Driver plug-in v3.0.1 Beta 4:
  • Updated to new DUDI v6. This means as of this version the plug-in requires Dragon UnPACKer v5.7.0 or more. It won't work with older Dragon UnPACKer versions.
  • Added support for Aliens vs. Predator (2010) .ASR file format. Actually support for both uncompressed & compressed Asura files. Almost all files in the game use those formats (.EN/.GUI/etc..). If you have smart format activated (which you should) it will load them automatically. Please note the compressed Asura files are slow to load & to extract from but there is nothing I can do (the format is not foreseen for random read access).
  • Added support for Star Wars Starfighter .PAK file format.
  • Added support for The 7th Guest .GJD file format. (This never worked in drv_11th...)
  • Added support for The 11th Hour .GJD file format. (No activation needed)
  • Added sanity checks to Terminal Velocity .POD format.
  • Removed Elbereth's The 11th Hour Driver plug-in. Not needed anymore, features merged in drv_default v3.0.1 Beta 3.
  • Duppi v3.4.0:
  • Updated to work with Indy 9 instead of Curl. This means a full Delphi implementation with no need for DLLs. It is also compatible with Lazarus (Indy 9 & 10 were ported to Lazarus).
  • Now compiled with FastMM4, FastCode & FastMove.
  • Default Conversion plug-in v2.2.1:
  • Added Ghostbusters: The Video Game .TEX to .DDS. Based on Ghostbusters texture converter C++ code

New in Dragon UnPACKer 5.6.2 Build 268 (Aug 8, 2011)

  • Added new macros to the create list feature:
  • Available in both header & footer:
  • $$FTOTNUMBYTES$$ Number of bytes in file (formatted with thousands seps)
  • $$FTOTNUMFILES$$ Number of files in file (formatted with thousands seps)
  • Available in variable:
  • $$FSIZE$$ Size (formatted with thousands seps)
  • $$FOFFSET$$ Offset (formatted with thousands seps)
  • Changed the following 2 macros in create list feature to be usable also in the header (and not only in footer):
  • $$TOTNUMBYTES$$ Number of bytes in file
  • $$TOTNUMFILES$$ Number of files in file
  • Added Advanced option to accept 0 bytes entries from the Drivers plugins.
  • When this option is checked the 0 bytes entries are not skipped. This is not
  • recommended but it will work (extraction will create a 0 bytes file).
  • Added Basic option to display Data X & Y fields in the content list. Those
  • fields are used internally by some plugins (and some formats). This is for
  • debug purposes and will most likely be only useful to me.
  • Fixed extraction in files of more than 2GB:
  • The content of entries which offset was after the 2GB position was wrong...
  • Fixed drag & drop extraction of files.
  • Fixed bug #3361911: OggS & TGA were not working correctly due to the use of seek from current position (broken in TBufferedFS).
  • Changed all .Seek() calls to int64 compatible calls (or Position equivalent).
  • Added new main icons for 128x128 and 256x256 (16x16 and 32x32 stays the same)
  • based on Iconshock design of Twitter treasure chest

New in Dragon UnPACKer 5.6.1 Build 262 (Apr 7, 2011)

  • Fixed a lot of memory leaks (more to come). Thanks to FastMM debuging mode.
  • Fixed the missing sort options in the file listing pane. Clicking on the
  • header would do nothing.
  • Changed association icons to use 256x256 icons (much more appropriate for modern OSes than the old 32x32 one.
  • Chest icons (closed & open)
  • For the moment only the first icon is used, I will try to modify the association part so it can be choosen between both possibilities.
  • MAJOR speedup when lots of entries in the opened resource file:
  • When left-clicking an entry for a preview
  • When right-clicking for popup menu
  • Removed use of CxCpu (which was only used in Error handling popup).
  • Unmaintained and not really useful anyway.
  • Auto-expand the folder list when loading a file.
  • This can be turned off in the Basic Options.
  • The program now remembers which file type you had selected in the open dialog and will reselect it automatically unless the format list changed (ex: when updating the driver plugins).
  • This can also be turned off in the Basic Options.
  • Added option to automatically clear the log everytime a file is opened.
  • The create file list now automatically adds the extension to the filename if it is missing.
  • Added Copy to clipboard option to the popup menu of the Log.
  • Added option on the popup menu on left pane to extract current selected folder to his own folder (with same name).
  • Fixed double menu popup in left pane when right clicking.
  • Elbereth's Main Driver plugin v2.1.1:
  • Enhanced Bloodrayne .POD support by using buffered directory reading.
  • Added Ghostbusters: The Video Game .POD support (POD5).
  • This is almost the same file format as Bloodrayne .POD (POD3).
  • Added Ghostbusters: Sanctum of Slime .PAK support.
  • Includes decompression of entries (LZMA).
  • Changed how magic ID string is copied.

New in Dragon UnPACKer 5.6.0 Build 239 (Nov 9, 2010)

  • Fixed Preview option main menu & popup menu (ETreeViewError with Invalid Index message).
  • Fixed Look & File types option menu leading to the wrong Option tab.
  • Added version number to Error box for unhandled exceptions.
  • Fixed empty "More details" sections in Error box when there was no lines to display.
  • Updated Drag and Drop Component to v5.1. Now Dragon UnPACKer dynamically indicates the version number (in log and About box).
  • Enhanced the temporary file handling.
  • Some convertion features are now handled by the core (plugins still exists anyway to expand this functionnality). They use the excellent Vampyre Imaging Library to detect compatible file types and allows for convertion to BMP.
  • Fixed program not working correctly under Windows Vista/7 with UAC on. Symptoms were program running in French even after selecting English or Spanish. Sorry!
  • Fixed opening message bug in logs (%f).
  • Fixed small log bug (invertion of variable texts when logging a successful opening).
  • Fixed memory amount retrieval in Error box when more than 2GB of RAM in the system.
  • Changed application title to include version and currently open file.
  • Added Windows Vista/7 taskbar progress indicator when Aero is enabled.
  • Giants: Citizen Kabuto drv_giant .GZP plugin. Support is now in Elbereth's Main Driver.
  • Felix Riemann drv_mix .MIX plugin (no source was available). Support is now in Elbereth's Main Driver.
  • Removed all use of JCL & JVCL. Replaced by: Personnal equivalent functions API calls Delphi VCL
  • Replacement for JVCL JvBrowseDialog, uses ShellApi (by Brian Cryer code with help of Martin Birk)
  • HyperRipper v5.6:
  • HyperRipper plugin support was removed, this was done with multiple goals in mind:
  • Easier to compile with Lazarus\FreePascal
  • Ability to do multi-threading in the future
  • The latest plugin version was merged with Dragon UnPACKer core to provide same functionnality as last HyperRipper + last HyperRipper plugin.
  • Speed-up (same or slightly faster than plugin version).
  • Added Windows Vista/7 Taskbar Progress support.
  • Added Exclude False positive option (checked by default).
  • This prevent selecting file formats that will most probably retrieve tons of False positives (669, IT & FLIC which are very old file formats which are never used nowadays).
  • Added Auto-Start scanning option (in advanced options).
  • If you use this with the option to auto use HyperRipper when file format is unknown, scanning will start automatically in those cases.
  • Added Auto-Close when entries found (in advanced options).
  • HyperRipper will auto close when scanning is finished and entries where found.
  • Added Force buffer size option (in advanced options).
  • This can be used to force the size of the buffer from the standard 128k.
  • Although this is NOT recommended (big/low values can be/are slower) if you want to try, feel free.
  • The only way to change the value is by directly editing the registry: HKEY_CURRENT_USER\Software\Dragon Software\Dragon UnPACKer 5\HyperRipper
  • DWORD key BufferSize
  • Smallest possible value is 32, largest is 32MB.
  • Rollback is fixed to 16 bytes.
  • Fixed BigToLittle2 which was doing wrong calculation...
  • Added JPEG Exif support (APP1 marker instead of APP0).
  • Enhanced JPEG support to use markers as much as posible before BMFind to EOI marker.
  • Fixed check which was preventing finding some files if they were just behind each other.
  • Enhanced MPEG Audio search to give feedback while determining file size. This also allows to click on Cancel while HyperRipper is finding a huge MPEG Audio file.
  • Speed-up when searching for MPEG Audio when found entries are lower than the minimum frames/size.
  • Elbereth's Main Driver plugin v2.1.0:
  • Added Blade Runner .MIX support.
  • Added Command & Conquer .MIX support.
  • Added Command & Conquer: Red Alert .MIX support.
  • Only non-crypted files are supported, decryption code it still a no-go. Should work as Felix Riemann driver, but with detection of filenames based on XCC-Util database.
  • New filenames can be added by editing the drv_default_mix.lst text file, one entry per file. Check file header for more info.
  • Added Giant: Citizen Kabuto .GZP support.
  • Merged from the now removed stand alone plugin.
  • Fixed extraction from realMyst 3D sho.dni files (some entries were zlib compressed but were not decompressed).
  • Added support for Battleforge .PAK files.
  • Added support for Dragon Age: Origins .ERF files.
  • Internal changes to the source make it easier to add new formats.
  • Also added compile time parameter to enable experimental file formats.
  • Elbereth's Picture/Textures Convert plugin v2.2.0:
  • Now using DUCI v4 compatible with v3.
  • Please note that using this version with old Dragon UnPACKer versions will result in lost functionnality because of the following removal.
  • Removed convertion features using Vampyre Imaging Library.
  • This is now done directly in the core Dragon UnPACKer (where the library is already used for the preview feature).
  • InfoZip's ZIP Driver plugin v1.1.3:
  • Added Heroes of Might & Magic 5 .PAK to the supported file types.
  • Cleaned the list of supported files types (some doubles removed, etc..).
  • Internal source changes: Using addFormat now.
  • Duppi v3.3.3:
  • Added new DUPP v4 feature: Obsolete Files
  • Added multi-server support (when one server fails to download an update Duppi will automatically try the next available one).
  • Added download verification by checking file size and hash.
  • Added log while installing to know what's going on.
  • Implemented auto-update of Dragon UnPACKer.
  • Improved feedback to the user while installing DUPP v4 files.
  • Optimized code to remove all useless units:
  • JVCL & JCL are no more used
  • VirtualTree are no more used
  • This alone reduced size by 300kB...
  • Updated to work with curl instead of Overbyte's ICS.
  • This was done in order to be more platform independant (FPC/Lazarus).
  • Current version bundled with libcurl v7.21.0 and zlib v1.2.5.
  • Translated all text introduced with DUPP v4 support. Sorry to non-english speakers it was alwars showing in english...
  • This required bump in language version number (PI v2).
  • Fixed small bug in information log
  • Fixed banner bug showing beneath the text under Vista/7 when Aero was activated.
  • Fixed the popup asking for update to newer version of Dragon UnPACKer even when no update package was available (ex: 5.2.0b --> 5.4.0a).
  • Fixed the URL used when the user want to download manually a new version of Dragon UnPACKer.

New in Dragon UnPACKer 5.5.0 Beta Build 218 (Jul 14, 2009)

  • Removed all use of JCL & JVCL. Replaced by:
  • Personnal equivalent functions
  • API calls Delphi VCL
  • Replacement for JVCL JvBrowseDialog, uses ShellApi (by Brian Cryer code with help of Martin Birk)
  • HyperRipper v5.6 Beta 1:
  • HyperRipper plugin support was removed, this was done with multiple goals in mind:
  • Easier to compile with LazarusFreePascal
  • Ability to do multi-threading in the future
  • The latest plugin version was merged with Dragon UnPACKer core to provide same functionnality as last HyperRipper + last HyperRipper plugin.
  • i EXE file is 227KiB smaller than v5.4.0a. Not much but still not bad!