Wolfenstein Modloader Buy me a coffeeKaffee spendieren

Wiki / Research reportsForschungsberichte

TNC texdb / custom-map alias: findings

Partly solvedTeilweise gelöst Original page in the GitHub wikiOriginalseite im GitHub-Wiki

In plain wordsIn einfachen Worten

UpdateAktualisierung Newer than this page: the wiki's start page now records custom weapon skins as working and measured in The New Colossus – a custom BC1 pistol skin shows on the first-person model in the running game.Neuer als diese Seite: Die Startseite des Wikis führt eigene Waffen-Skins in The New Colossus jetzt als funktionierend und gemessen – ein eigener BC1-Pistolen-Skin erscheint im laufenden Spiel am Modell in der Ich-Perspektive.

This short early report looks at the texture database of a DLC 3 map in Wolfenstein II: The New Colossus. The file is a flat list of keys and offsets with no asset names, about 1 GB with 8,586 entries. It can be reused byte for byte only if the custom map keeps the same image names and texture keys. At the time it was not proven that the old keys still work once resources are renamed.

  • chunk_24.texdb is 1,011,361,794 bytes with 8,586 entries; header, table and data are contiguous.
  • Spot checks unpack correctly as Oodle Kraken streams.
  • An empty 32-byte texture database is only good for a mount test, not for a map with real textures.
  • Recommended next test: build a bundle with unchanged resource names plus the complete original texture database.

Dieser kurze frühe Bericht untersucht die Texturdatenbank einer DLC-3-Karte in Wolfenstein II: The New Colossus. Die Datei ist eine flache Liste aus Schlüsseln und Offsets ohne Asset-Namen, etwa 1 GB groß mit 8.586 Einträgen. Sie lässt sich nur dann byte-genau wiederverwenden, wenn die eigene Karte dieselben Bildnamen und Texturschlüssel behält. Damals war nicht bewiesen, dass die alten Schlüssel nach einer Umbenennung der Ressourcen noch passen.

  • chunk_24.texdb ist 1.011.361.794 Byte groß und hat 8.586 Einträge; Header, Tabelle und Daten liegen lückenlos hintereinander.
  • Stichproben lassen sich korrekt als Oodle-Kraken-Streams entpacken.
  • Eine leere 32-Byte-Texturdatenbank taugt nur für einen Mount-Test, nicht für eine Karte mit echten Texturen.
  • Empfohlener nächster Test: ein Bundle mit unveränderten Ressourcennamen plus der vollständigen Original-Texturdatenbank.

Technical detailsTechnische Details

Der technische Teil ist auf Englisch – so, wie er im Wiki steht. Unterstrichene Begriffe haben eine Erklärung auf Deutsch.

Status: 2026-09-22. Retail files were read only.

Result

chunk_24.texdb is a standalone flat Key/Offset database without asset names. The Retail DLC-3 dataset is 1,011,361,794 bytes in size and contains 8,586 entries; the header, table, and payload data are contiguous. A spot-check test with Oodle confirms the entries and the 8c06 Kraken stream.

An empty chunk_26.texdb (32 bytes, zero entries) is therefore only suitable for a Decl-/Mount-probe chunk. For a map with DLC-3 textures, at least the complete TexDB content of chunk_24.texdb must be provided. There are no names there that could be replaced from c3v1 to c3v1_custom.

Alias Consequence

The TexDB can be byte-for-byte reused, if the generated chunk_26.resources use the same texture keys and the same image names as DLC 3. This saves no files: it remains an approximately 1-GB bundle. Once the resource names are rewritten to c3v1_custom, it is not proven that the old 64-bit texture keys still fit. A key rebuild is not secure without a demonstrated hash function.

tools/probe_texdb.py can check headers, contiguous offsets, single streams, and tile chains, but cannot reconstruct asset names from the TexDB.

Practical Blocker

The current alias prototype intentionally has an empty TexDB. Directly copying the Retail TexDB is technically possible but is approximately 1 GB in size and does not yet prove that a newly named Resource Index correctly references its keys. The reliable next test is therefore an isolated bundle build with unchanged resource names plus complete chunk_24.texdb; a true new map name remains open until the Asset-/texture key mapping is proven.