Skip to content
View in the app

A better way to browse. Learn more.

ResHax

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.
Help us keep the site running.

Doom Eternal - script not working on Linux version, but fine with the Windows version through Wine

Featured Replies

  • Author
  • Localization

leveste, posted Sun Jan 17, 2021 1:31 pm (61709)


Hi. I'm new here, so if this should've been posted elsewhere, let me know.

I'm having trouble running Quickbms on Linux. I'm trying to run it to exctract the "*.resources" file from Doom Eternal for modding purposes. Interestingly enough, if I run the Windows exe through Wine with the same script, all the files are extracted successfully.

Here's what I get when I run it

Quote:
offset filesize filename
--------------------------------------
00230000 1119 art/tile/hell_earth/ash_chunky_h.tga
Info: algorithm 650
offset 00230000
input size 0x0000034b 843
output size 0x0000045f 1119
result 0xffffffff -1

Error: the uncompressed data (-1) is bigger than the allocated buffer (1119)
It usually means that data is not compressed or uses another algorithm

Last script line before the error or that produced the error:
133 clog NAME OFFSET ZSIZE SIZE


The script is the one from here with no changes made to it.

What I've tried so far:
- Installing from the Arch User Repository - installs successfully, but gives this error when ran
- compiling from source code(both with and without the "-DDISABLE" flag) - same result as above. All dependencies(and then some) were installed as per the document.
- running the Linux static executables provided on the website - again, same result

I'm fine with running the Windows version since it shows no issues with Wine, but i've been researching this for the past few days and couldn't find anything useful(and I would perefer to run the native version, if possible). If anyone could help, it would be gratly appreciated.

One last thing to add, is that it seems to start creating the relevant folders, just that it fails to extract the files.
  • Author
  • Localization

aluigi, posted Wed Jan 20, 2021 10:51 am (61754)


The oodle library is not available on Linux because there is no .so publicly released (as far as I know since Warframe is for Windows only).

While there is an unofficial open source version on github, it's not implemented in quickbms. I guess I planned to support it in the current beta but then something went wrong during the implementation and therefore I gave up. Additionally, being an old reverse engineered code, it may not cover all the features of the library.

So if there is any game with an oodle shared library publicly available (32bit is better but I suppose it's 64bit only) I think I can implement it very easily just like I did for the Windows code.
Otherwise no solutions.
  • Author
  • Localization

leveste, posted Wed Jan 20, 2021 11:49 am (61755)


Thank you for the reply. It's unfortunate that it doesn't work, but I'll keep an eye on future updates in case it gets implemented.
  • Author
  • Localization

aluigi, posted Tue Feb 16, 2021 12:14 am (62275)


The current beta uses the reverse engineered version of oodle.
The only requirement is an x86/x64 CPU because that code uses the SSE2 extensions.
Beta source code if you want to try:
https://aluigi.org/beta/quickbms_beta.zip

I created a compressed oodle file with quickbms on windows and I successfully decompressed it on linux, so it works even if it may not support all the less used oodle algorithms (but even oodle itself doesn't support them since they change at every release! :D ).
  • Author
  • Localization

PowerBall253, posted Wed Mar 17, 2021 3:41 pm (62899)


aluigi wrote:
The current beta uses the reverse engineered version of oodle.
The only requirement is an x86/x64 CPU because that code uses the SSE2 extensions.
Beta source code if you want to try:
https://aluigi.org/beta/quickbms_beta.zip

I created a compressed oodle file with quickbms on windows and I successfully decompressed it on linux, so it works even if it may not support all the less used oodle algorithms (but even oodle itself doesn't support them since they change at every release! :D ).


Tried to compile it on Manjaro, got a bunch of errors which seem Windows-library related. I'm attaching the output here.
  • Author
  • Localization

aluigi, posted Tue Apr 13, 2021 7:20 pm (63358)


quickbms 0.11 is out and it solves all these problems that were in the beta.
  • Author
  • Localization

PowerBall253, posted Fri Apr 30, 2021 3:00 pm (63668)


aluigi wrote:
quickbms 0.11 is out and it solves all these problems that were in the beta.


Tried to compile on Gentoo, having problems again.
I'll attach the output here again.
  • Author
  • Localization

aluigi, posted Fri Apr 30, 2021 5:06 pm (63672)


The Makefile doesn't include amiga and oodle if uname -m doesn't contain 86 (which may also include 64bit I guess) so you have to manually comment those lines:

From:
Code:
ifeq ($(filter-out %86, $(shell uname -m)),)
EXTRA_TARGETS   = libs/amiga/amiga.s libs/powzix/*.cpp
CFLAGS    = -msse2
endif

To:
Code:
#ifeq ($(filter-out %86, $(shell uname -m)),)
EXTRA_TARGETS   = libs/amiga/amiga.s libs/powzix/*.cpp
CFLAGS    = -msse2
#endif
  • Author
  • Localization

leveste, posted Fri Apr 30, 2021 9:19 pm (63677)


We've managed to compile it successfully, but are still encountering an issue. When trying to extract the .resource where getting a segmentation fault.

I'm on Manjaro and tried both normal and 4gb version. PowerBall253(Gentoo) only tried the 4gb version, but got the same result. The Windows exe still runs fine thorugh Wine and extracts everything.

Here's the output

Quote:
QuickBMS generic files extractor and reimporter 0.11.0 (64bit test)
by Luigi Auriemma
e-mail: [email protected]
web: aluigi.org
(Apr 30 2021 - 23:34:14)

quickbms.com Homepage
zenhax.com ZenHAX Forum
@zenhax @quickbms Twitter & Scripts

- open input file /home/leveste/.local/share/Steam/steamapps/common/DOOMEternal/base/gameresources_patch1.resources
- open script /home/leveste/.local/share/Steam/steamapps/common/DOOMEternal/doometernal.bms
- set output folder Documente/EternalOutput/

offset filesize filename
--------------------------------------
0000000000280000 12 generated/decls/renderparm/editorlightprobeid.decl
0000000000280040 16 generated/decls/renderparm/editorshadingmultiplier.decl
0000000000280080 19 generated/decls/renderparm/editorsurfacealpha.decl
00000000002800c0 19 generated/decls/renderparm/editorsurfacezbias.decl
0000000000280100 19 generated/decls/renderparm/editorviewscalefactor.decl
0000000000280140 19 generated/decls/renderparm/editorsurfacebackfacealpha.decl
0000000000280180 20 generated/decls/renderparm/instancespectre.decl
00000000002801c0 36 generated/decls/renderparm/darklordshieldtint.decl
0000000000280200 33 generated/decls/renderparm/snowflakesampler.decl
0000000000280240 55 generated/decls/renderparm/nearestmipmapclamptoborderblacksampler.decl
0000000000281000 175199 textures/effects/misc/ice_local
Segmentation fault (core dumped)
  • Author
  • Localization

aluigi, posted Fri Apr 30, 2021 9:30 pm (63678)


Unfortunately there is nothing I can do there because oodle on non-Windows is only available as the open source reverse engineered code of powzix.

I did some tests with that library when I implemented it in the beta and it worked correctly with my data but probably the algorithms used by Doom Eternal are not supported.
Indeed oodle is only a container of various algorithms that get changed, removed and added at every release of the library, while powzix isn't.
  • Author
  • Localization

PowerBall253, posted Fri Apr 30, 2021 10:48 pm (63680)


aluigi wrote:
Unfortunately there is nothing I can do there because oodle on non-Windows is only available as the open source reverse engineered code of powzix.

I did some tests with that library when I implemented it in the beta and it worked correctly with my data but probably the algorithms used by Doom Eternal are not supported.
Indeed oodle is only a container of various algorithms that get changed, removed and added at every release of the library, while powzix isn't.


What do you use for Windows though? The DLL? If so I may be able to get it working.
  • Author
  • Localization

PowerBall253, posted Fri Apr 30, 2021 11:28 pm (63682)


So after checking out the source code, I think I may be able to get this working. Will report back.
Guest
This topic is now closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.