dumpVar: only available in dev mode
Table of Contents
Darktide ships with a .dll
for Oodle 2.8, and DTMT could link to that at runtime. However, that creates two problems:
- It's only available on Windows. Linux users would have to run everything through Wine.
- DTMT needs to know the path to the library file. It's hard to make automatic detection reliable, and it's confusing for people to specify it manually.
Therefore, linking the libraries statically is the better option, but requires additional files on both systems.
To compile for Windows (native or cross), a oo2core_win64.lib
file is needed. Compiling for Linux requires an liboo2corelinux64.a
archive file instead.
Generating a .lib
file
A .lib
file can be generated from a .dll
file. The MSVC command line tools (from the Visual Studio installer) are required. Their tools can usually be found at C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\<some_version>\bin
.
dumpbin /EXPORTS oo2core_9_win64.dll > oo2core_win64.def
- Add a line
EXPORTS
at the top of the.def
file - (Optional) Remove unused function definitions
lib /def:oo2core_win64.def /machine:x64 /out:oo2core_win64.lib
Acquiring a .lib
or .a
file from Unreal Engine
The Unreal Engine source code (currently v5.0.3) includes a version of the Oodle data compression library (at Engine/Source/Runtime/OodleDataCompression/Sdks/2.9.5
). While this is a never version than the one Darktide uses, they are ABI compatible. Both .lib
and .a
files can be found here.
Wiki
Building the source code
Obtaining the Oodle library
DTMM
Installing mods
Register DTMM as handler for Nexus downloads
DTMT
CLI Reference
Building your first mod
Migrating from loose files
dtmt.cfg
Reference
Murmur hashes and dictionaries
Reverse Engineering
Getting Started
Sound
Textures
File Types
Status
Bundle
Bundle Database
Texture
Material
Strings
Package
Wwise Event
Wwise Stream
Wwise Bank