View Single Post
  #704  
Old 17-01-2026, 08:22
NERV NERV is offline
Registered User
 
Join Date: Jul 2020
Location: Нижний Новгород
Posts: 3
Thanks: 29
Thanked 6 Times in 2 Posts
NERV is on a distinguished road
New Release: XTool v0.9.1 (12.01.26)
Quote:
Changes

- minor code optimisation and fixes to prevent errors in certain scenarios

- fixed issues with reassign stream feature

- fixed issues library config based plugins

- removed recompress stream feature

Notes:

Reassign stream was added because of inconsistent game engines like Unreal Engine because you could write a program/library to work on a list of games then a few months later, they change something in how the files are stored which renders your tool outdated because it no longer works on the newer games. unreal.dll is a plugin to support ue3-5 games and for as long as I remember, ue3 games were compressed with lzo then came mass effect legendary edition and it used leviathan, so I updated the plugin and then Gears of War Reloaded came out and it used lz4hc so rather than updating the plugin (I've lost source code), you can reassign all those ue3 streams to lz4hc, this feature was bugged but now it is fixed and should work like so:

Usually, you'd use -mue3 to precompress the game but it doesn't work because now the game uses lz4hc so, you need to notify xtool that streams need to be reassigned to a different codec and the new method becomes -mue3+ue3=lz4hc:l9.

Library config based plugins were added in 0.8.8 because I'm a person who seems to always lose their source codes due to hard drives dying, so what I've done is allowed dlls to be imported through ini which xtool can make use of, so rather than write code internally in xtool or through a plugin which is bound to have its code lost, I can just share a ini just like other config based plugins and if there's something that needs changing or updating, either the user can do it themselves or I can just use notepad to provide a quick solution. I've provided a sample.

Recompress stream was removed because it was an overly ambitious feature I thought of added, the idea behind it was that since some compression algorithms, zlib, zstd, lz4, and oodle to a certain extent do not error out if the incorrect compressed size was provided. So what does this mean? It means if a game could not be precompressed at all, like some special edition of zstd or oodle was used and let's assume it was compressed using level 6, recompress feature was meant to allow you to recompress the streams with a stronger level, let's assume level 7 and by doing this, you ensure that your new stream will be smaller and could replace the level 6 stream that could not be precompressed, a new game file is produced and that will be your new game files and then you can use xtool normally to precompress the game and repack it.

So, what's the problem? Well by doing this, you're opening a can of worms because you now have to test if the game works without issues (maybe from start to finish) because the game files were "modified", it is lossless but it is no longer bit-perfect and you might as well use other tools to rebuild the game files after unpacking them because that's even safer due to headers being updated too and this is why it was removed. 0.9.0 is the last version to have this so if you want to use it, then look for that version here.
https://www.patreon.com/posts/148017425
Attached Files
File Type: 7z xtool_0.9.1.7z (3.68 MB, 56 views)
Reply With Quote
The Following 4 Users Say Thank You to NERV For This Useful Post:
drsanjula (20-01-2026), L33THAK0R (17-01-2026), Ruman (06-02-2026), shazzla (17-01-2026)