#481
|
|||
|
|||
Quote:
For example [fc5dec] Encode=dlzo.exe u <filein>.fat <filein>.dat <fileout>.pack Decode=dlzo.exe r <filein>.pack <fileout>.dat <fileout>.fat |
Sponsored Links |
#482
|
||||
|
||||
Afaik no, because DELZORec requires non solid + 2 input files whereas FA can only deliver 1 input file.
|
#483
|
||||
|
||||
no, it's not possible because xtool can't be made to give two inputs nor accept two outputs
|
#484
|
||||
|
||||
Update available
Changes - generate database feature fixed - fixed external executable support issues - fixed lz4f level setting bug |
#485
|
||||
|
||||
Update available
Changes - updated oodle scanner - updated external executable support - updated configuration based plugin support to add depth information - updated verbose mode Notes Given that very small number of people are able to make their own plugins and codecs to use in xtool, I've added an example that imports codecs from QuickBMS after you have generated your database and have no codec to use with it. For compression: Code:
[cpk,snappy,rfpk] Encode=quickbms.exe -s "comtype <codec> ; clog <fileout> 0 <insize> <outsize>" "" <filein> Decode=quickbms.exe -s "comtype <codec>_COMPRESS ; clog <fileout> 0 <insize> <outsize>" "" <filein> Code:
[blowfish,xxtea] Encode=quickbms.exe -s "open FDDE <fileres> 1 ; getdstring X_KEY <ressize> 1; encryption <codec> X_KEY "" 0 <ressize>; log <fileout> 0 <insize>" "" <filein> Decode=quickbms.exe -s "open FDDE <fileres> 1 ; getdstring X_KEY <ressize> 1; encryption <codec> X_KEY "" 1 <ressize>; log <fileout> 0 <insize>" "" <filein> Also note that if for whatever reason there is crc mismatch, xtool will still help you by applying xdelta automatically. ![]() Also also note that this generate temps files meaning the process is slower because it has to both read and write to disk therefore, only use this approach if there is nothing else that you can to do to improve the situation. Last edited by Razor12911; 28-03-2022 at 11:00. |
The Following 9 Users Say Thank You to Razor12911 For This Useful Post: | ||
Cesar82 (28-03-2022), elit (29-03-2022), Gehrman (28-03-2022), kuyhaa (28-03-2022), L33THAK0R (28-03-2022), Masquerade (28-03-2022), ScOOt3r (29-03-2022), seryogakms (28-03-2022), shazzla (28-03-2022) |
#486
|
|||
|
|||
OMG ok with this I think you opened can for a whole lot of more codecs/games to be able to process.
|
#487
|
||||
|
||||
Update available
Changes - fixed issue with storing correct recompression information when stream patching is performed Notes This issue was brought up by Masquerade and L0v3craft when they were trying to precompress WRC 10 and upon decoding xtool would produce an error so thanks to them, it has been resolved however I'd like to add more useful information regarding this game and why even with xtool helping you with deltas will not allow you to process all streams based on how xtool was designed. We all know that xtool patches streams if they cannot be restored correctly however it sets its own boundaries, by default the patch file cannot be 5% larger than the original size else the patch fails as highlighted here with some streams being missed. https://fileforums.com/showpost.php?...&postcount=248 This 5% can be changed by user via the command --diff=5p, with 5p being 5%, so to capture all these other streams, you'll have to increase this percentage. CHUNK_57.PKG using -mwrc10 Code:
Compressed 1 file, 99,435,664 => 189,185,421 bytes. Ratio 190.26% Compression time: cpu 0.14 sec/real 3.71 sec = 4%. Speed 26.82 mB/s Code:
Compressed 1 file, 99,435,664 => 263,029,277 bytes. Ratio 264.52% Compression time: cpu 0.09 sec/real 3.61 sec = 3%. Speed 27.53 mB/s Code:
[0] Processing lz4f stream at 0000000000005476 (514 >> 893 >> 514) using l9:b4:d0 has failed [0] - Patching stream at 0000000000005476 (514 >> 514) [26] has failed --diff=20p Code:
[0] Processing lz4f stream at 0000000000005476 (514 >> 893 >> 514) using l9:b4:d0 has failed [0] - Patched stream at 0000000000005476 (514 >> 514) [26] successfully |
The Following 8 Users Say Thank You to Razor12911 For This Useful Post: | ||
:( Sad8669 (04-04-2022), elit (07-04-2022), ffmla (05-05-2022), Gehrman (06-04-2022), L0v3craft (04-04-2022), L33THAK0R (05-04-2022), Masquerade (04-04-2022), seryogakms (05-04-2022) |
#488
|
||||
|
||||
LEGO® Star Wars™: The Skywalker Saga uses Kraken
Code:
XTool is created by Razor12911 Streams: 284071/284071 Time: 00:13:43 (00:48:35) Memory: 512 MB (512 MB) 100.0% Errorlevel=0 Compressed 1 file, 4,061,948,534 => 9,598,998,234 bytes. Ratio 236.32% Compression time: cpu 4.22 sec/real 1032.25 sec = 0%. Speed 3.94 mB/s All OK |
#489
|
|||
|
|||
OMG it's a great tool! Thanks for it!
https://radaryonline.pl/gdzie-jest-burza/ |
#490
|
||||
|
||||
Update available
Changes - added IO functions (erase, replace) - fixed external executable support bugs Notes Xtool has introduced IO functions, which should help you perform file and folder operations such as erase and replace (for now, more will be added). I actually wanted to add these functions a long time ago as they could be useful for repacking however I delayed them time after time because precompression needed more attention but as there have been no bug reports for the past 3 weeks I decided to start working on them. To summarise, Erase is a feature that fills a given input with zeroes in case you wanted to repack certain data separately and Replace is a feature that replaces existing data within certain files with another. Xtool will search for locations of the extracted streams and store these positions for when you use decode function to revert the changes (yes, the process is reversible) Erase Code:
xtool erase extracted_streams original_data [decode_data] xtool decode decode_data extracted_streams original_data An example is after extracting video files from an archive and then wanting to remove credits video, the syntax would be Code:
xtool erase credits.bk2 Gobi\Content\Paks\pakchunk33-WinGDK.pak credits.xtl xtool decode credits.xtl credits.bk2 Gobi\Content\Paks\pakchunk33-WinGDK.pak Replace Code:
xtool replace old_streams new_streams original_data [decode_data] xtool decode decode_data extracted_streams original_data An example is having several modified files and the original files and you wanted to bulk replace these files, you'd have to prepare two folders with the same file structure and the syntax would be Code:
xtool replace "textures\original\*" "textures\modified\*" "game\*" mod_tex.xtl xtool decode mod_tex.xtl "textures\original\*" "game\*" PS If you are using these features for a repack in which people would select languages or video credits for example, if the users did not select any of these to be installed then there would be missing files. Xtool's decode command would still work and will try to restore the original data using whatever data that was selected and available without problems. Last edited by Razor12911; 27-04-2022 at 19:15. |
The Following 10 Users Say Thank You to Razor12911 For This Useful Post: | ||
:( Sad8669 (28-04-2022), Cesar82 (28-04-2022), ffmla (05-05-2022), Gehrman (28-04-2022), KaktoR (28-04-2022), L0v3craft (28-04-2022), Masquerade (27-04-2022), ScOOt3r (28-04-2022), seryogakms (29-04-2022), shazzla (27-04-2022) |
#491
|
||||
|
||||
Update available
Changes - added IO functions (find, extract, patch) - generate database feature and IO functions now can search for streams larger than chunk size Notes More IO functions introduced. Find simply helps you track positions of extracted files from a given input, while extract uses a generated decode file data input to extract streams in case if you wanted another person to extract their very own streams using your own findings and patch, well patch compares two inputs and generates a diff file which can allow you to patch an input to make it similar to the new data. Find Code:
xtool find [parameters] extracted_streams original_data [decode_data] An example where I wanted to make a guide of how to separate english, german, italian, russian and spanish languages from the game would be something like: Code:
xtool find "extracted\en\*" "game\*" en.xtl xtool find "extracted\de\*" "game\*" de.xtl xtool find "extracted\it\*" "game\*" it.xtl xtool find "extracted\es\*" "game\*" es.xtl xtool find "extracted\ru\*" "game\*" ru.xtl Extract Code:
xtool extract decode_data original_data extracted_streams A use case for it would be similar to the find example but from another user's perspective, so if someone uploaded decode data to use to extract my very own streams from their investigations, rather than them giving me position ranges for languages or the tools to use, we can just use their uploaded decode data to do it ourselves Code:
xtool extract en.xtl "game\*" "extracted\en\*" xtool extract de.xtl "game\*" "extracted\de\*" xtool extract it.xtl "game\*" "extracted\it\*" xtool extract es.xtl "game\*" "extracted\es\*" xtool extract ru.xtl "game\*" "extracted\ru\*" Code:
xtool erase "extracted\*" "game\*" languages.xtl Code:
xtool decode languages.xtl "extracted\*" "game\*" Code:
xtool patch [parameters] old_data new_data patch_data xtool decode patch_data old_data Code:
xtool patch "Sims4\*" "Sims4_updated\*" sims4_wedding_stories.patch Code:
xtool decode sims4_wedding_stories.patch "Sims4\*" ![]() Last edited by Razor12911; 13-05-2022 at 02:32. |
#492
|
||||
|
||||
Update available
Changes - added IO functions (archive, execute) - fixed issue in patch io function - removed compression on patch diff files Notes More IO functions added. Archive behaves like -m0 but allows you to the archive to stdout and read from stdin when decoding (if you ever need that). Then there is execute which allows you execute several instances of another executable in parallel mode while all their inputs are fed from one source and all their output is fed to one destination. Archive Code:
xtool archive files1 files2... archive Code:
xtool archive game\* mygame.xtl xtool decode mygame.xtl extracted\* Code:
xtool execute [parameters] input output [exec_syntax] Code:
xtool.exe execute -c64mb -t8 UI.sb UI.bin bcm.exe -b64 [filein] [fileout] xtool.exe decode -t100p UI.bin UI_dec.sb bcm.exe -d [filein] [fileout] [filein], [fileout], [stdin], [stdout] can be used and denote what IO the program being executed uses. [] is used to avoid conflicting with Freearc's <> Freearc example would look like this Code:
[External compressor:xbcm] header = 0 packcmd = xtool.exe execute { -option} - - <stdin> <stdout> bcm.exe -b64 [filein] [fileout] unpackcmd = xtool.exe decode -t100p - - <stdin> <stdout> bcm.exe -d [filein] [fileout] |
#493
|
||||
|
||||
Update available
Changes - added png stream preprocessor - removed grittibanzli codec (since nobody uses it) Notes Xtool is able to process deflate/zlib streams and png images do contain these streams however, they are split up into several blocks which at times does prevent the program from being able to process them. The png stream preprocessor's job is to concatenate (rejoin all these blocks into a single stream) which can then be processed by xtool, so if you know your input contains these images then it's best to include -mpng into the method chain and use -d1 to first preprocess the streams then process them using zlib, reflate or preflate (preflate is the preferred method to use). Results without png preprocessor: Code:
Compressed 1 file, 7,232,549 => 8,291,632 bytes. Ratio 114.64% -mreflate Compressed 1 file, 7,232,549 => 7,232,655 bytes. Ratio 100.00% -mpreflate Code:
Compressed 1 file, 7,232,549 => 26,075,119 bytes. Ratio 360.52% -mpng+reflate -d1 Compressed 1 file, 7,232,549 => 25,289,529 bytes. Ratio 349.66% -mpng+preflate -d1 |
#494
|
||||
|
||||
@Razor12911, can i use the parameters in that order in freearc commandline?
Code:
xtool:mpreflate:mpng:d1 |
#495
|
||||
|
||||
yes but you'll have to change arc.ini from { -moption} to { -option}
|
![]() |
Thread Tools | |
Display Modes | |
|
|
![]() |
||||
Thread | Thread Starter | Forum | Replies | Last Post |
[Dev]XTool | Razor12911 | Conversion Tutorials | 180 | 23-10-2020 06:26 |
Project Cars Digital Edition (3xDVD5) (srep+lzma) | GTX590 | PC Games - CD/DVD Conversions | 10 | 28-08-2017 08:34 |
Project IGI Anthology 1xCD700 CIUV2 2039 | mausschieber | PC Games - CD/DVD Conversions | 0 | 24-07-2017 15:12 |
Space Channel 5 Part 2 Translation Project | Christuserloeser | DC Games | 0 | 21-06-2004 18:16 |