Wolfenstein Modloader Buy me a coffeeKaffee spendieren

Wiki / Custom maps and missionsEigene Karten und Missionen

TNC Custom-Map Prototype: Current Status

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

In plain wordsIn einfachen Worten

This page tracks custom maps for Wolfenstein II: The New Colossus (TNC). The working route, confirmed in game on 24 September 2026, is a DLC folder named dlc_0 that takes over the map c2v1 of The Freedom Chronicles, episode 2; the loader's Install map button sets it up. Since 2 October 2026 a map under a brand-new name, game/wolfsdk/modtest, also loads in game from the developer menu. The older prototype log (edited saves, 'unknown command') stays on the page with corrections.

  • dlc_0 sorts before the retail dlc_2 folder, so its own map archive is used; a DLC folder can never take over a base campaign map.
  • A new map name needs only an entry in dlc_0's map list, a textures.cache link and the map's files renamed; no chapter data.
  • The mod test map copies the Gestapo office with 304 of 9,206 entities removed and adds 23 pickups and 8 enemies; it loads in game, enemy behaviour is not yet confirmed.
  • The box test map (an 8 × 8 × 4 m room with new geometry) is not yet confirmed in game.
  • Correction: map and devmap are registered, only hidden from the console; devmap runs from a developer menu entry.

Diese Seite verfolgt eigene Karten für Wolfenstein II: The New Colossus (TNC). Der funktionierende Weg, im Spiel bestätigt am 24.09.2026, ist ein DLC-Ordner namens dlc_0, der die Karte c2v1 aus The Freedom Chronicles, Episode 2, übernimmt; der Knopf „Install map“ des Loaders richtet ihn ein. Seit dem 02.10.2026 lädt auch eine Karte unter einem ganz neuen Namen, game/wolfsdk/modtest, im Spiel aus dem Entwicklermenü. Das ältere Prototyp-Protokoll (bearbeitete Spielstände, „unknown command“) bleibt mit Korrekturen auf der Seite.

  • dlc_0 wird vor dem Original-Ordner dlc_2 einsortiert, daher wird sein eigenes Kartenarchiv genutzt; eine Karte der Hauptkampagne kann ein DLC-Ordner nie übernehmen.
  • Ein neuer Kartenname braucht nur einen Eintrag in der Kartenliste von dlc_0, eine textures.cache-Verknüpfung und die umbenannten Kartendateien; keine Kapiteldaten.
  • Die Mod-Testkarte kopiert das Gestapo-Büro, entfernt 304 von 9.206 Entitäten und fügt 23 Pickups und 8 Gegner hinzu; sie lädt im Spiel, das Gegnerverhalten ist noch nicht bestätigt.
  • Die Box-Testkarte (ein Raum von 8 × 8 × 4 m mit neuer Geometrie) ist im Spiel noch nicht bestätigt.
  • Korrektur: map und devmap sind registriert, nur vor der Konsole verborgen; devmap läuft aus einem Eintrag im Entwicklermenü.

Technical detailsTechnische Details

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

Update 2026-10-04. The sections from "What is Installed" to "Known Limitations" are the prototype log of September 2026; wrong statements in them are corrected inline. The current route and the new map names follow from "Custom Map Route Today" on.

What is Installed

  • Target Game: Wolfenstein II: The New Colossus (TNC)
  • Test Map: DLC2, game/dlc/c02/c2v1 (Agent Silent Death / Gestapo Office)
  • Alias: game/dlc/c02/c2v1_custom
  • Bundle: dlc/dlc_4/base/chunk_22.resources (superseded: the loader now installs custom maps as dlc/dlc_0, see "Custom Map Route Today")
  • Textures: Hardlink to DLC2 chunk_22.texdb, ensuring all unchanged texture keys remain valid.
  • Current Probe Build: Complete hardlinks to Retail DLC2 Chunk 22 (6,985 entries), no longer the reduced 243-entry candidate.
  • A targeted devmapinfo.json patch (showInDevMenu=true) was built in isolation but caused a crash on startup and has been discarded; the stable Full-Retail Bundle has been restored.
  • Runtime Mods: Gore-CVars and g_demoDevMode=1.
  • Save Candidate v2 additionally patches the NUL-terminated map entry in checkpoint.dat; v1 left this Retail path intact and was therefore rejected as "File Corrupt".

Save Registration

The save candidate now resides in the actual used Freedom Chronicles subfolder (UI Progression Slot 1):

%USERPROFILE%/Saved Games/MachineGames/Wolfenstein II The New Colossus/base/savegame.user/<SteamID>/SLOT0/FC2-WOLF0

Only the map/layer strings in checkpoint_mapstart.dat and game.details have been changed; the previous SLOT2 structure is preserved under:

re_probes/save_backups/SLOT0_before_c2custom (additionally, SLOT2_before_c2custom remains intact)

Testing

The process starts stably with the installed Bundle. The first attempt in Slot 3 resulted in "File Corrupt" due to the incorrect slot; the unchanged Slot 3 has been restored. A second attempt in Slot 1 with v1 also remained corrupt without .verify, because checkpoint.dat still contained the Retail path. v2 corrects this entry and passes tools/savehash.py pruefen; additionally, the current Full-Retail Probe Build uses correct patchlevel/refchunks and all chunk entries. The runtime test must still be confirmed by loading the top Gestapo Office save into Progression Slot 1. Success criteria: Load without Map-Not Found/Crash and visible entry into the map.

The direct Developer Command Test is negative: both map and devmap report "unknown command" in the TNC Retail Build. (Correction: both are registered, only not exposed to the console; devmap runs from the dev menu, confirmed in game: TNC Dev Menu.) A devmapinfo payload patch for showInDevMenu=true caused a startup crash and was removed from the game folder. The last Steam launch requirement additionally failed due to Steam's message "no licenses"; this is an external license state, not a Mod/Save error.

Known Limitations

  • The console does not know the map command. (Correction: map is registered but not exposed to the console.)
  • devmap is also unknown in the Retail Command set; Developer Mode CVars do not activate the removed commands. (Correction: devmap is in the full set of 234 commands; nothing was removed. It runs from a developer menu entry, confirmed in game.)
  • The prototype does not yet replace world geometry; it validates the alternative map path and DLC bundle resolution.
  • For a truly new Map ID, IDCL identity, internal asset references, save/menu registration, and potentially PVS/Navmesh must be adjusted together. (Superseded: a new map name loads, confirmed in game. It needs the name in dlc_0's spec, a textures.cache and the map-level entries under the new name; see "What a New TNC Map Name Needs".)
  • The original saves can be restored at any time from the mentioned backup.

Custom Map Route Today: the dlc/dlc_0 Folder

Confirmed in game (2026-09-24). The engine walks dlc/* in name order and mounts the first folder whose base/packagemapspec.json lists a map. dlc_0 sorts before the retail dlc_2, so a dlc_0 that claims game/dlc/c02/c2v1 serves its own chunk_22.resources instead of the retail one.

Everything else the map needs (sound banks, virtual texture pages, intro video, chunk_22.texdb, textures.cache) is dlc_2's own file under a second name: a hardlink, no extra space. The loader's Install map button sets this up (wolfsdk/mapinstall.py), Remove map takes it out again. It needs the DLC The Freedom Chronicles, episode 2.

A DLC folder cannot claim a base map: the base packagemapspec.json is searched first and wins.

Keywords: custom map, install map, dlc_0, folder precedence, packagemapspec.json, c2v1, Freedom Chronicles, eigene Karte, Karte installieren

New Map Names Through dlc_0 (Confirmed in Game)

Confirmed in game (2026-10-02): a map under a brand-new name, game/wolfsdk/modtest, loads from the developer menu.

Extra map names listed in dlc/dlc_0/base/packagemapspec.json load from dlc_0's own chunk_22.resources, next to c2v1. Retail does the same: dlc_2's chunk 22 holds c2v1, c2v2 and c2v3. A new map therefore costs no map slot, and c2v1 keeps its own content.

Inferred (code reading): no step limits map names to the retail list. The name lookup (0xac5d10) strips the extension and every leading maps/, then compares case-insensitively against each spec entry: no hash, no fixed list. The base spec comes first, then the DLC specs in folder order; the first hit wins.

Start such a map with a developer menu entry that runs devmap <name> (TNC Dev Menu); the plain console cannot run devmap.

Keywords: new map name, new map ID, extra map, game/wolfsdk, modtest, add a map, neue Karte, neuer Kartenname

What a New TNC Map Name Needs

  1. The name in dlc/dlc_0/base/packagemapspec.json, with the same chunk entry as c2v1.
  2. base/maps/<name>/textures.cache in dlc_0: a hardlink to c2v1's. Without it the engine warns Failed to open.
  3. The map-level entries under the new name in the container: maps/<name>.entities, generated/buildgame/<name>.mapresources, _combo/<name>.proc, <name>.prockd, _world.tome, _world.bmodel, sky.bmodel, world.hkshape, _world.pvs, <name>.ambientsh, <name>.hknavmesh, devmapinfo.json, the mega*.decl files and the static stream tree. Each light probe needs maps/<name>/lightprobes/<entity>_row.bimage.

Not needed: chapter or variation data. Without a chapter part the player falls back to the player entityDef. A new name has no map sound banks: ambience is silent. Per-entity resources may keep c2v1's names, and mega*.decl keeps c2v1's virtual texture pages.

Keywords: map requirements, textures.cache, mapresources, map-level entries, rename map, what files, Voraussetzungen, Dateien

The Mod Test Map game/wolfsdk/modtest

tools/build_modtestmap.py copies the retail c2v1 map (the Gestapo office) under the new name, so geometry, baked lighting, 102 light probes, scene points and the navmesh (byte-identical) stay as retail made them.

  • Removed: the mission, 304 of 9,206 entities (Kiscule scripts, hidden enemies and their spawners, alarms, triggers, positional sounds, retail pickups).
  • Added: the start modtest_start in the armoury, 5 fill lights, 23 pickups (11 weapons plus ammo, health and armour), and 8 enemies of c2v1's own types in the office hall north of it, backs to the door.
  • The world's dev loadout is devinvloadout/code_referenced/default_sp_devloadout (all 9 weapon families).

Confirmed in game (2026-10-02): the map loads from the dev menu entry "WolfSDK: Mod test map". Not yet confirmed in game: how the enemies behave, and whether the dev loadout is applied on the devmap path.

Keywords: mod test map, modtest, test map, weapons and enemies, Gestapo office, Testkarte, Waffen, Gegner

The Box Map game/wolfsdk/box

tools/build_boxmap.py builds a closed grey room, inside 8 × 8 × 4 m, as a third map in dlc_0's chunk 22. It adds 29 entries to the kit level's container; c2v1 stays byte-identical.

  • 6 slabs with new model and box cm entries: cm contents with | 0x18 (player and monster clip), megatexturedModel = false, material textures/common/blockout_gray.
  • One warm point light and the start player_start_1.
  • Dev menu entry "WolfSDK: Box".

Not yet confirmed in game. New model/cm entries have never been seen loading in game, and the room may look blotchy or dark (borrowed lightmap texels plus one dynamic light).

Keywords: box map, test room, game/wolfsdk/box, blockout, new geometry, Testraum, Box-Karte

Installing Extra Maps with the Loader

wolfsdk/mapinstall.py, behind Install map:

  • check_container lists every map the container carries besides c2v1. Each map has a generated/buildgame/<name>.mapresources.
  • install writes dlc_0's packagemapspec.json with c2v1_custom, c2v1 and every extra name, hardlinks one textures.cache per extra name to c2v1's, and records everything in wolfsdk_karte.json for Remove map.
  • The game must be closed. While mods are applied only the chunk swap is allowed; new files wait until Revert.
  • Bug found in game, fixed: a dlc_0 first set up by hand was taken over without rewriting its map list, so the extra maps were missing (Map ... is not present in this package). The loader now rewrites its own spec; one edited by hand afterwards stays, and the loader names the map it did not add. tools/verify_mapinstall.py covers it.

The map files and their builders are not in the public WolfSDK package.

Keywords: mapinstall, install map, remove map, extra maps, hand-made dlc_0, Karte installieren, Karte entfernen

Error Messages When a New TNC Map Does Not Load

Inferred from the existence check (0xa7b330) and the map loader. Read the log with condump <file> in the console.

Log line Meaning
Map <name> is not present in this package the name is in no packagemapspec.json
map <name> is not installed the installed check failed
The map <name> isn't present in the cache file no .mapresources for that name: an old chunk is still in dlc_0
MountMemoryDatabase: Failed to open .../textures.cache the textures.cache link is missing
[SOUND] No banks found for map '<name>' expected, harmless
Failed to load player entityDef the player fallback broke

Falling through the floor points at collision, a black room at lighting.

Keywords: map error, not present in this package, not installed, cache file, Failed to open, condump, Fehlermeldung, Karte lädt nicht