Usage:
Code: Select all
DoomEX.exe path_to_resources_file output_folder
Code: Select all
DoomEX.exe path_to_resources_file output_folder
Unfortunately the game is using Oodle for compression, and Oodle SDK is non-free, so I'm not quite sure how to handle this property.
Cool, thanks!iOrange wrote: ↑Sun Mar 22, 2020 2:13 am Ok, so I added decompression. Just copy "oo2core_8_win64.dll" from Doom Eternal folder to DoomEX folder and run as usual.
Download: DoomEX_v02.zip
Source code: https://github.com/iOrange/DoomEX
I think DOOM 2016 used bimage files for some textures (not all since a lot were mega-texture crap), I guess maybe BIM is the same thing, pretty sure I saw some work on bimage files being posted before.
Hmm, I did see some mention of hashes in the code that handles the IDCLs, maybe one of the unknown tables contains hashes/signatures.GRiNDERKILLER wrote: ↑Sun Mar 22, 2020 12:32 pm EDiT:Also seems like resources are somehow protected against editing. I tried edit plain text from false; to true;
and left same size of text and game refuse to start. On second run steam re-download whole resources.
Code: Select all
typedef int WINAPI OodLZ_CompressFunc(
int codec, uint8 *src_buf, size_t src_len, uint8 *dst_buf, int level,
void *opts, size_t offs, size_t unused, void *scratch, size_t scratch_size);
typedef int WINAPI OodLZ_DecompressFunc(
uint8 *src_buf, int src_len, uint8 *dst, size_t dst_size, int fuzz,
int crc, int verbose, uint8 *dst_base, size_t e, void *cb, void *cb_ctx,
void *scratch, size_t scratch_size, int threadPhase);