FileForums

FileForums (https://fileforums.com/index.php)
-   Conversion Tutorials (https://fileforums.com/forumdisplay.php?f=55)
-   -   XTool 2020 (Plugins) (https://fileforums.com/showthread.php?t=103876)

dixen 26-05-2021 06:00

Quote:

Originally Posted by Razor12911 (Post 492392)
common.dat + common.fat, + all .fat files samples needed for this.

https://drive.google.com/file/d/18Iv...ew?usp=sharing

KaktoR 26-05-2021 07:24

Quote:

Originally Posted by Razor12911 (Post 492392)
common.dat + common.fat, + all .fat files samples needed for this.

All of them here
https://drive.google.com/drive/folde...pa?usp=sharing

HunterEmrah 02-06-2021 06:57

Quote:

Originally Posted by Razor12911 (Post 492392)
Drag and drop one of the rpkg files on test.bat, an output folder named "output should be created, wait till finish.

Code:

F:\Games\Hitman 3\pack\test>HitmanExtractor extract "F:\Games\Hitman 3\pack\test\chunk0patch1.rpkg" output
Building file entry list...
System.IO.EndOfStreamException: Unable to read beyond the end of the stream.
  at System.IO.BinaryReader.FillBuffer(Int32 numBytes)
  at System.IO.BinaryReader.ReadUInt32()
  at HitmanExtractor.Program.BuildFileEntryList(BinaryReader binaryReader) in C:\Users\Lennard\source\repos\HitmanExtractor\Src\HitmanExtractor\Program.cs:line 154
  at HitmanExtractor.Program.HandleArguments(String[] args) in C:\Users\Lennard\source\repos\HitmanExtractor\Src\HitmanExtractor\Program.cs:line 76
  at HitmanExtractor.Program.Main(String[] args) in C:\Users\Lennard\source\repos\HitmanExtractor\Src\HitmanExtractor\Program.cs:line 50

F:\Games\Hitman 3\pack\test>pause
Press any key to continue . . .

chunk0patch1.rpkg is not extracting, but chunk2.rpkg extracted successfully.

Same with hitman3+lz4

chunk0patch1.rpkg ratio %100
chunk2.rpkg ratio %106

Razor12911 05-06-2021 17:15

1 Attachment(s)
Unity Engine

Usage
Place unity.dll near xtool.exe along with required libraries and use -munity

Notes

The library is required both encoding and decoding.

liblz4.dll is required

Razor12911 05-06-2021 20:01

Plugin updated

Changes

Updated Unreal Engine to support Xtool 0.3.16+
Unreal Engine 4 codec (ue4) no longer requires method parameter to work (m1 and m2), only specify the key.

L33THAK0R 06-06-2021 09:30

Quote:

Originally Posted by Razor12911 (Post 492619)
Unity Engine

Usage
Place unity.dll near xtool.exe along with required libraries and use -munity

Notes

The library is required both encoding and decoding.

liblz4.dll is required

__________________

Other plugins still require an update

Thank you so much for this tool! I'm not too familiar with the Unity engine so forgive me if this is a silly question but are the applications of this tool, engine-version-specific or case-by-case?

So far I've only had luck using this tool on the title "Outward", with other titles (Aragami, Cat Quest, Beholder) reporting back with failed decompression messages despite detecting streams and experimenting with "preflate" and "reflate". Interestingly enough the "Outward" compression only seemed to proceed when neither "preflate" nor "reflate" were used.

Cesar82 06-06-2021 11:53

Could someone please let me know what to use in the parameter if I want to use the frostbite3 plugin specifically for a game.

Assuming I use something like this:
Code:

arc.ini
[External compressor:xtool]
header    = 0
packcmd  = xtool.exe precomp { -option} -c32mb -t100p --dbase --dedup - - <stdin> <stdout>
unpackcmd = xtool.exe decode -t100p - - <stdin> <stdout>

pack.bat
arc.exe a -ep1 -r -ed -s; -w.\temp -mxtool:mfrostbite3,? data2.arc "..\pack\*"

I wanted to directly pass the parameter to each game supported by frostbite3, but I don't know if I should use the name of the section ([Streeam#]) of the frostbite3 .ini file or the value of the key "Name=" of the corresponding section.

If it is the value of the key "Name=" it would be more or less these commands. Is this the correct way to use it?
Code:

Battlefield 4            xtool:c32mb:mfrostbite3,lz4
Battlefield Hardline      xtool:c32mb:mfrostbite3,?
Battlefield 1            xtool:c32mb:mfrostbite3,lz4
Battlefield V            xtool:c32mb:mfrostbite3,lz4
Dragon Age Inquisition    xtool:c32mb:mfrostbite3,zlib
FIFA 18                  xtool:c32mb:mfrostbite3,fifa18
FIFA 19                  xtool:c32mb:mfrostbite3,fifa19
FIFA 20                  xtool:c32mb:mfrostbite3,fifa20
FIFA 21                  xtool:c32mb:mfrostbite3,fifa21
Mass Effect Andromeda    xtool:c32mb:mfrostbite3,zstd
Mirror's Edge Catalyst    xtool:c32mb:mfrostbite3,lz4
Need for Speed Rivals    xtool:c32mb:mfrostbite3,lz4
Need for Speed (2015)    xtool:c32mb:mfrostbite3,lz4
Need for Speed Payback    xtool:c32mb:mfrostbite3,lz4
Need for Speed Heat      xtool:c32mb:mfrostbite3,nfsheat

For Battlefield Hardline I didn't find information in the frostbite3.ini file of which method to use, but as informed in the #post it requires the LZ4 library so it is possibly the same as its brothers BF.

@Razor12911, I was wondering if I can use a fake parameter (number) along with XTool (If it will be discarded, or if it can cause errors). This additional parameter will only be for DiskSpan_GUI to know which library should be copied along with XTool before compressing.
Example to copy oo2core_4_win64.dll I would use: xtool:mkraken:4;

Razor12911 06-06-2021 12:37

using -mfrostbite3 makes xtool search for all streams [Stream#], # = All entries.

But if you specify -mfrostbite3:zlib as an example, since the stream entries can have names, it will only target those streams.


Quote:

Originally Posted by Cesar82 (Post 492639)
If it is the value of the key "Name=" it would be more or less these commands. Is this the correct way to use it?
Code:

Battlefield 4            xtool:c32mb:mfrostbite3,lz4
Battlefield Hardline      xtool:c32mb:mfrostbite3,?
Battlefield 1            xtool:c32mb:mfrostbite3,lz4
Battlefield V            xtool:c32mb:mfrostbite3,lz4
Dragon Age Inquisition    xtool:c32mb:mfrostbite3,zlib
FIFA 18                  xtool:c32mb:mfrostbite3,fifa18
FIFA 19                  xtool:c32mb:mfrostbite3,fifa19
FIFA 20                  xtool:c32mb:mfrostbite3,fifa20
FIFA 21                  xtool:c32mb:mfrostbite3,fifa21
Mass Effect Andromeda    xtool:c32mb:mfrostbite3,zstd
Mirror's Edge Catalyst    xtool:c32mb:mfrostbite3,lz4
Need for Speed Rivals    xtool:c32mb:mfrostbite3,lz4
Need for Speed (2015)    xtool:c32mb:mfrostbite3,lz4
Need for Speed Payback    xtool:c32mb:mfrostbite3,lz4
Need for Speed Heat      xtool:c32mb:mfrostbite3,nfsheat

For Battlefield Hardline I didn't find information in the frostbite3.ini file of which method to use, but as informed in the #post it requires the LZ4 library so it is possibly the same as its brothers BF.

Yes this is correct, BF4 - BFV means from battlefield 4 to the release of battlefield V, in between Battlefield Hardline and Battlefield 1 came out so these use the same method (lz4)

Quote:

@Razor12911, I was wondering if I can use a fake parameter (number) along with XTool (If it will be discarded, or if it can cause errors). This additional parameter will only be for DiskSpan_GUI to know which library should be copied along with XTool before compressing.
Example to copy oo2core_4_win64.dll I would use: xtool:mkraken:4;
Yes, you can put fake parameters, they won't affect xtool in anyway.

Cesar82 06-06-2021 12:45

Quote:

Originally Posted by Razor12911 (Post 492642)
using -mfrostbite3 makes xtool search for all streams [Stream#], # = All entries.

But if you specify -mfrostbite3:zlib as an example, since the stream entries can have names, it will only target those streams..

But for these games I will have better gain if I process all steams or even ratio if I use only the specific type mentioned in the previous post (Maybe some game file has other stream types).

P.S: I tested the ue4 plugin (new version) and it seems to be working perfectly with the Borderlands 3 sample.

Razor12911 06-06-2021 12:50

The problem isn't about ratio, the ratio you will get is the same. The problem is speed will be affected because of 10 different types of streams for xtool to look for when only one stream type exists, furthermore I don't know if I have uploaded the updated frostbite3 plugin here on the forum or on the mega link (I tend to first run tests before uploading here) but if you haven't you can check it here

In the configuration there is a note I left inside
"// FIFA 20 and NFS Heat streams are detected the same, use -mfrostbite3:fifa20 or -mfrostbite3:nfsheat to be specific"

This is the 2nd problem, basically these games are detected the same way but the compression settings used are different so being specific will produce better result.

Razor12911 06-06-2021 12:57

1 Attachment(s)
Madness Engine

Games supported
Automobilista 2
Project Cars 1?? (someone test this plugin on this game and if it's not working, please upload a few samples)
Project Cars 2 (wait for R2)
Project Cars 3 (since bdt is buggy on this game, you can use this as an alternative) [also wait for R2]

Usage
Place madness.dll near xtool.exe along with required libraries and use -mmadness

Notes

This only decrypts streams, you have to involve zlib method and set depth to 1

zlibwapi.dll is required

Cesar82 06-06-2021 20:01

Quote:

Originally Posted by Razor12911 (Post 492645)
I don't know if I have uploaded the updated frostbite3 plugin here on the forum or on the mega link (I tend to first run tests before uploading here) but if you haven't you can check it here

If the frostbite3 link plugin is newer, it contains 2 extra files: fifa_dict and fifa_key.

The file "fifa_dict" from what I could see is used in the [Stream9] section and from what I understand XTool doesn't have dictionary support yet and you left commented out the [Stream9] section (maybe for that reason).

The file "fifa_key" is only mentioned in the [Stream5] section referring to FIFA 19.

The file "fifa_key" only needed next to XTool if using Xtool:mfifa19?
Are these files necessary to be together from XTool in decompression?

Masquerade 06-06-2021 23:48

Test for the madness plugin:

Code:

Compressed 13 files, 114,276,277 => 1,328,849,308 bytes. Ratio 1162.84%
Compression time: cpu 0.19 sec/real 61.78 sec = 0%. Speed 1.85 mB/s
All OK

Perfect. :D

Razor12911 06-06-2021 23:51

Quote:

Originally Posted by HunterEmrah (Post 492552)
Code:

F:\Games\Hitman 3\pack\test>HitmanExtractor extract "F:\Games\Hitman 3\pack\test\chunk0patch1.rpkg" output
Building file entry list...
System.IO.EndOfStreamException: Unable to read beyond the end of the stream.
  at System.IO.BinaryReader.FillBuffer(Int32 numBytes)
  at System.IO.BinaryReader.ReadUInt32()
  at HitmanExtractor.Program.BuildFileEntryList(BinaryReader binaryReader) in C:\Users\Lennard\source\repos\HitmanExtractor\Src\HitmanExtractor\Program.cs:line 154
  at HitmanExtractor.Program.HandleArguments(String[] args) in C:\Users\Lennard\source\repos\HitmanExtractor\Src\HitmanExtractor\Program.cs:line 76
  at HitmanExtractor.Program.Main(String[] args) in C:\Users\Lennard\source\repos\HitmanExtractor\Src\HitmanExtractor\Program.cs:line 50

F:\Games\Hitman 3\pack\test>pause
Press any key to continue . . .

chunk0patch1.rpkg is not extracting, but chunk2.rpkg extracted successfully.

Same with hitman3+lz4

chunk0patch1.rpkg ratio %100
chunk2.rpkg ratio %106

perhaps that could be the reason the plugin I made is also producing weird results because its also based on the same program

Quote:

Originally Posted by Cesar82 (Post 492649)
If the frostbite3 link plugin is newer, it contains 2 extra files: fifa_dict and fifa_key.

The file "fifa_dict" from what I could see is used in the [Stream9] section and from what I understand XTool doesn't have dictionary support yet and you left commented out the [Stream9] section (maybe for that reason).

The file "fifa_key" is only mentioned in the [Stream5] section referring to FIFA 19.

The file "fifa_key" only needed next to XTool if using Xtool:mfifa19?
Are these files necessary to be together from XTool in decompression?

fifa_key/fifa_dict in xtool are considered resource files and they are embedded along with the processed data meaning, if you use frostbite plugin, all its information (ini and its resources) are no longer needed for decompression.

Cesar82 07-06-2021 08:27

Quote:

Originally Posted by Razor12911 (Post 492655)
fifa_key/fifa_dict in xtool are considered resource files and they are embedded along with the processed data meaning, if you use frostbite plugin, all its information (ini and its resources) are no longer needed for decompression.

The explanation was a bit technical.
I couldn't understand if only one of them needs to be with xtool, or both, or not.
Thanks!


All times are GMT -7. The time now is 13:40.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.
FileForums @ https://fileforums.com