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 asdlc/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.jsonpatch (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
mapcommand. (Correction:mapis registered but not exposed to the console.) devmapis also unknown in the Retail Command set; Developer Mode CVars do not activate the removed commands. (Correction:devmapis 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.cacheand 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
- The name in
dlc/dlc_0/base/packagemapspec.json, with the same chunk entry as c2v1. base/maps/<name>/textures.cachein dlc_0: a hardlink to c2v1's. Without it the engine warnsFailed to open.- 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, themega*.declfiles and the static stream tree. Each light probe needsmaps/<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_startin 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
modeland boxcmentries: cm contents with| 0x18(player and monster clip),megatexturedModel = false, materialtextures/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_containerlists every map the container carries besides c2v1. Each map has agenerated/buildgame/<name>.mapresources.installwrites dlc_0'spackagemapspec.jsonwithc2v1_custom,c2v1and every extra name, hardlinks onetextures.cacheper extra name to c2v1's, and records everything inwolfsdk_karte.jsonfor 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.pycovers 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