Giter Club home page Giter Club logo

limn's Introduction

limn

Extractor for the bundle format used in the game Warhammer 40k Darktide.

Examples

Extract all files:

limn -i "C:\Program Files (x86)\Steam\steamapps\common\Warhammer 40,000 Darktide\bundle" *

Extract only lua files:

limn -i "C:\Program Files (x86)\Steam\steamapps\common\Warhammer 40,000 Darktide\bundle" lua

With the Steam version of Darktide automatic directory lookup is used when no path is specified:

limn lua

See limn --help for more options.

Dictionary

If a file named dictionary.txt is placed next limn.exe it will be used for reverse hash lookup.

Currently when limn is using a dictionary it will only extract files that it is able to find a name for.

Supported File Types

limn only supports a few file types used in Darktide bundles.

lua

Fatshark uses a private fork of LuaJIT in Darktide. All lua files are stored as LuaJIT bytecode that, aside from a header version change, is compatible with existing tooling for LuaJIT (like any decompilers).

package

package files in Darktide are a list of other files with a extension hash and name hash per entry.

For example most unit files share the same name as their package file which can then be referenced for the hashes of texture or other files used by that unit.

strings

If filtering for only strings files then limn will either:

  1. extract strings with known keys if a dictionary is used
  2. extract all strings

texture

texture files are stored as DDS. For mipmap levels 64KiB or larger Darktide deduplicates them to a resource file at data/**/*.

limn will export the highest quality mipmap level found.

For converting DDS to PNG texconv and ffmpeg can be used:

texconv -ft bmp -f B8G8R8A8_UNORM -y texture_file.dds
ffmpeg -i texture_file.BMP texture_file.png

limn's People

Contributors

manshanko avatar

Stargazers

gpk avatar Tomohawk5 avatar deluxghost avatar Ron Au avatar  avatar Igromanru avatar  avatar

Watchers

 avatar  avatar

Forkers

igromanru

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.