Go Back   FileForums > Game Backup > PC Games > PC Games - CD/DVD Conversions > Conversion Tutorials

Reply
 
Thread Tools Display Modes
  #1  
Old 31-03-2018, 12:15
elit elit is offline
Registered User
 
Join Date: Jun 2017
Location: sun
Posts: 156
Thanks: 109
Thanked 225 Times in 79 Posts
elit is on a distinguished road
oodle chunk (de)compressor - oodle64chcmp

Here is a chunk (de)compressor for quickbms's dumped files packed with oodle. This is based on Ramiro Cruzo's noodle, big thanks to Ramiro for sources.

This program is intended to pack files(chunks) that were previously dumped with quickbms and decompressed(possibly also with this tool). This is NOT general purpose compressor for FA as noodle, it is designed for game repacking only.

Oodle64chcmp does not write any header(or tail) during compression except for optional uncompressed size that is injected at the beginning of file, which can be specified as either 4 or 8 byte(32/64bit). You are then supposed to "log" such compressed chunks back into game's data file using quickbms.

For decompression, uncompressed size header must be present(and its proper width selected during decompression or it will fail) following raw compressed chunk data(and nothing more). You are supposed to dump such files (again) using quickbms. Basically this is FGpack.exe/fgnoodle.exe with ability to also decompress and extra options to select width of size header.

I also included example .bms file for XCOM2 WotCh which can be used to dump such raw file chunks or log them back. Keep in mind that script is highly experimental and only for tutorial purpose. Although it should work with .upk files correctly, .tfc's for sure dont work 100% yet. And it was tested only on very few files. I also am not 100% sure yet about certain direction of this, at least in .tfc's some chunks were multi-layered. What I mean is normally you should get chunk offset with its preceding size header but in one tfc file sometimes I got multi-size header followed by multi continuous chunks. I am not sure if the solution should be to dump each as individual file through BMS or if its supposed to go through oodle all together. Thats why I am releasing it already as next stage is uncertain in time.

Finally, unlike fgpack or noodle, I was not able to reproduce output from dll into program. When you try to decompress the chunk with fgnoodle exe for example, even though it doesnt work it still output important info into console, such as parameters that were used during compression originally. This is very important information to have when re-compressing back. I spent whole day figuring out but was unable to do it(in std 'C' using mingw). If anyone have an idea, including code example, please let me know. Dll is outputting important info but I am unable to see/capture it in console window yet. Other than that, this tool should work as expected. I also included fgnoodle file that you can use to see such info during decompression(it can only read 8 byte header size).

Finally, this is for advanced repackers and people who understand all this. If you have no idea at this point what I was talking about, its not for you and you can safely skip this.

oodle64chcmp.zip
xcom2_unreal3.zip
fgnoodle252.zip
Reply With Quote
The Following 10 Users Say Thank You to elit For This Useful Post:
78372 (31-03-2018), EzzEldin16 (02-04-2018), Gupta (31-03-2018), Jiva newstone (31-03-2018), Mini (31-03-2018), nickwazhere2012 (31-03-2018), oltjon (31-03-2018), PsYcHo_RaGE (10-05-2018), Razor12911 (13-05-2018), Simorq (31-03-2018)
Sponsored Links
  #2  
Old 02-04-2018, 11:13
elit elit is offline
Registered User
 
Join Date: Jun 2017
Location: sun
Posts: 156
Thanks: 109
Thanked 225 Times in 79 Posts
elit is on a distinguished road
I re-formated error messages and did some cleanup in messaging output overall, functionally no difference. Now also if (de)compression fail it will report file name whose failed.

PS: as for that "direction" I was speaking about, I now tested and can confirm this is correct way of doing things. You are supposed to dump layered chunks as individual files with uncompressed size of each attached, it is not job of compressor to handle it. Therefore this program is fine as it is. I was only not able to decompress very rare(rare as per 2 chunks of few kb size of 1.4GB file) number of chunks with flags like "\xCC\x.." or even "\x8C\x50" for which .dll threw error. "\x8C\x06" were all fine. Decmp function take plenty of params which I dont know about and use only default from noodle. If anyone know(well, I dont expect Chinese to help, right FG? ) let me know.

I also attached updated bms script that can now extract chunks from .tfc file(most of it like 99.9%) and with other cleanup to give you idea how to handle such layers.

xcom2_unreal3_unpack.zip
oodle64chcmp.zip

Last edited by elit; 02-04-2018 at 11:19.
Reply With Quote
The Following 3 Users Say Thank You to elit For This Useful Post:
nickwazhere2012 (03-04-2018), oltjon (02-04-2018), Simorq (11-05-2018)
  #3  
Old 02-04-2018, 11:27
FitGirl FitGirl is offline
Registered User
 
Join Date: Dec 2014
Location: Riga
Posts: 108
Thanks: 10
Thanked 102 Times in 64 Posts
FitGirl is on a distinguished road
Quote:
Originally Posted by elit View Post
I dont expect Chinese to help, right FG?
Chinese is something new...
Reply With Quote
  #4  
Old 02-04-2018, 17:34
elit elit is offline
Registered User
 
Join Date: Jun 2017
Location: sun
Posts: 156
Thanks: 109
Thanked 225 Times in 79 Posts
elit is on a distinguished road
Quote:
Originally Posted by FitGirl View Post
Chinese is something new...
Ah, but at least you came, приветственная девушка!

PS:(was only joking of course)
Reply With Quote
  #5  
Old 03-04-2018, 06:07
elit elit is offline
Registered User
 
Join Date: Jun 2017
Location: sun
Posts: 156
Thanks: 109
Thanked 225 Times in 79 Posts
elit is on a distinguished road
And in conjunction to this tool, I am now also working on this:
rawinj.png
This will be very useful for quickbms dumps in general. I will post it in its own thread when its done.
Reply With Quote
  #6  
Old 10-05-2018, 22:29
PsYcHo_RaGE's Avatar
PsYcHo_RaGE PsYcHo_RaGE is offline
Registered User
 
Join Date: Mar 2018
Location: Anonymous
Posts: 117
Thanks: 88
Thanked 26 Times in 19 Posts
PsYcHo_RaGE is on a distinguished road
Hmmmm This is something new alright i am on it

its divsome

chunk works great
Reply With Quote
The Following User Says Thank You to PsYcHo_RaGE For This Useful Post:
elit (13-05-2018)
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
pZLib version 2 (Fastest zlib/deflate precompressor) Razor12911 Conversion Tutorials 122 19-01-2017 03:12



All times are GMT -7. The time now is 00:37.


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