emulator: SplitWolf type: standalone core_classification: game_engine source: "https://bitbucket.org/linuxwolf6/splitwolf" source_branch: scrubbed profiled_date: "2026-10-20" source_commit: "f6c00044cdef00a31c66307d8b7cb1fb4ddf8c67" core_version: "V1.01" version_basis: kind: unverified why: host_unsupported display_name: "Wolfenstein 3D (SplitWolf)" cores: [splitwolf] systems: [wolfenstein3d] verification: existence notes: | Two to four player split screen fork of the C++ Wolf4SDL by Team RayCast (version.h:95), based on Wolf4SDL v1.7 SVN revision 256 (wl_main.cpp:2211). The Makefile builds one binary per release: VERSION_WOLF3D_SHAREWARE, VERSION_WOLF3D_APOGEE, VERSION_WOLF3D, VERSION_SPEAR, VERSION_SPEAR_MP and VERSION_SPEAR_DEMO, each turning on the Wolf4SDL defines in version.h:13-34. RetroPie builds all six. Data files are opened under DATADIR, a path compiled in by the Makefile (Makefile:57, 151), /usr/local/share/games/wolf3d/ by default. RetroPie sets it to its ports/wolf3d ROM folder. A file that cannot be opened ends in CA_CannotOpen and the program quits. CheckForEpisodes (wl_menu.cpp:5194) probes for vswap.: wl1 for the shareware build, wl6 then wl3 then wl1 for the full ones, sdm for the Spear demo, sod or sd1 after --mission 0 or 1 for Spear of Destiny, sd2 or sd3 after --mission 2 or 3 for the mission pack build (wl_main.cpp:2015-2040). Every Spear build reads its graphics and audio files under the sod extension (wl_menu.cpp:5341-5342) and only vswap, maphead and gamemaps under the mission extension, so the mission packs need the original game beside them. vgahead must hold one three byte offset per chunk, less the missing episodes, or the engine quits (id_ca.cpp:482-496). The split screen sprites, pictures and sounds are read from the lwmp directory (id_lwmp.cpp:21), or from the directory given with --splitdatadir (wl_main.cpp:2127-2137). Each lookup tries a lowercase .bmp then .BMP, and .wav, .ogg, .WAV, .OGG for sounds (id_lwmp.cpp:1831-1868, 2086-2105, id_sd.cpp:556-572). When a file is missing the engine falls back to the sprite or picture of the game data (id_lwmp.cpp:3301-3313, 3412-3445), so the directory is optional. The project publishes it as lwmp.zip in its downloads. The engine checks no hash, so no game data entry carries one. Written by the engine, not read as data: config. and savegames in ~/.splitwolf. files: - name: "lwmp/" type: directory path: "lwmp/" category: game_data description: "Split screen sprites, pictures and sounds" required: false installed_on: [retropie] source_ref: "id_lwmp.cpp:21, 1831-1868, 2064-2149, id_sd.cpp:556-572, wl_main.cpp:2127-2137" note: > Read relative to the working directory. lwmp.zip (sha1 1145464c5adf84ffd692b46a97cafaddc2153734) from bitbucket.org/linuxwolf6/splitwolf/downloads holds sprites/ with one dir1 to dir8 folder per rotation, pics/ and sounds/. The Makefile install target copies only the binary (Makefile:248-251). RetroPie extracts the archive beside the binaries. - name: "gamecontrollerdb.txt" category: game_data description: "SDL game controller mappings" required: false bundled: true size: 117360 sha1: "cf96adc4eb2262db4cc19612ca7730e5929d1799" md5: "3ccf989cc6c79e0a9441dece1773d4fe" source_ref: "id_in.cpp:453, Makefile:223, 388" note: > Read from the working directory by SDL_GameControllerAddMappingsFromFile. Copied from the SDL_GameControllerDB submodule (commit 01275a5bbefbab17f274e60393cd75405f74feb3) into bin/ at build time. # Wolfenstein 3D shareware (.wl1) - name: "vswap.wl1" category: game_data system: wolfenstein3d description: "Wolfenstein 3D shareware page file: wall textures, sprites and digitized sounds" required: false source_ref: "id_pm.cpp:20-25, wl_menu.cpp:5260-5267, 5354-5355" - name: "vgadict.wl1" category: game_data system: wolfenstein3d description: "Wolfenstein 3D shareware Huffman dictionary of the graphics file" required: false source_ref: "id_ca.cpp:464-468, wl_menu.cpp:5260-5267, 5354-5355" - name: "vgahead.wl1" category: game_data system: wolfenstein3d description: "Wolfenstein 3D shareware graphics chunk offsets" required: false min_size: 471 max_size: 473 validation: [size] source_ref: "id_ca.cpp:475-497, wl_menu.cpp:5260-5267, 5354-5355" note: "Must hold 157 three byte offsets, the NUMCHUNKS + 1 = 162 of gfxv_apo.h (id_ca.cpp:97) less five missing episodes, or the engine quits. The shareware and Apogee builds expect that count, the VERSION_WOLF3D build expects 145. --ignorenumchunks skips the check." - name: "vgagraph.wl1" category: game_data system: wolfenstein3d description: "Wolfenstein 3D shareware graphics chunks: pictures, fonts and text articles" required: false source_ref: "id_ca.cpp:514-518, wl_menu.cpp:5260-5267, 5354-5355" - name: "maphead.wl1" category: game_data system: wolfenstein3d description: "Wolfenstein 3D shareware map offsets and tile info" required: false source_ref: "id_ca.cpp:556-560, wl_menu.cpp:5260-5267, 5354-5355" - name: "gamemaps.wl1" category: game_data system: wolfenstein3d description: "Wolfenstein 3D shareware level maps" required: false source_ref: "id_ca.cpp:575-580, wl_menu.cpp:5260-5267, 5354-5355" - name: "audiohed.wl1" category: game_data system: wolfenstein3d description: "Wolfenstein 3D shareware audio chunk offsets" required: false source_ref: "id_ca.cpp:636-641, wl_menu.cpp:5260-5267, 5354-5355" - name: "audiot.wl1" category: game_data system: wolfenstein3d description: "Wolfenstein 3D shareware AdLib sound effects and music" required: false source_ref: "id_ca.cpp:647-651, wl_menu.cpp:5260-5267, 5354-5355" # Wolfenstein 3D, three episode release (.wl3) - name: "vswap.wl3" category: game_data system: wolfenstein3d description: "Wolfenstein 3D, three episode release page file: wall textures, sprites and digitized sounds" required: false source_ref: "id_pm.cpp:20-25, wl_menu.cpp:5283-5288, 5354-5355" - name: "vgadict.wl3" category: game_data system: wolfenstein3d description: "Wolfenstein 3D, three episode release Huffman dictionary of the graphics file" required: false source_ref: "id_ca.cpp:464-468, wl_menu.cpp:5283-5288, 5354-5355" - name: "vgahead.wl3" category: game_data system: wolfenstein3d description: "Wolfenstein 3D, three episode release graphics chunk offsets" required: false source_ref: "id_ca.cpp:475-497, wl_menu.cpp:5283-5288, 5354-5355" - name: "vgagraph.wl3" category: game_data system: wolfenstein3d description: "Wolfenstein 3D, three episode release graphics chunks: pictures, fonts and text articles" required: false source_ref: "id_ca.cpp:514-518, wl_menu.cpp:5283-5288, 5354-5355" - name: "maphead.wl3" category: game_data system: wolfenstein3d description: "Wolfenstein 3D, three episode release map offsets and tile info" required: false source_ref: "id_ca.cpp:556-560, wl_menu.cpp:5283-5288, 5354-5355" - name: "gamemaps.wl3" category: game_data system: wolfenstein3d description: "Wolfenstein 3D, three episode release level maps" required: false source_ref: "id_ca.cpp:575-580, wl_menu.cpp:5283-5288, 5354-5355" - name: "audiohed.wl3" category: game_data system: wolfenstein3d description: "Wolfenstein 3D, three episode release audio chunk offsets" required: false source_ref: "id_ca.cpp:636-641, wl_menu.cpp:5283-5288, 5354-5355" - name: "audiot.wl3" category: game_data system: wolfenstein3d description: "Wolfenstein 3D, three episode release AdLib sound effects and music" required: false source_ref: "id_ca.cpp:647-651, wl_menu.cpp:5283-5288, 5354-5355" # Wolfenstein 3D (.wl6) - name: "vswap.wl6" category: game_data system: wolfenstein3d description: "Wolfenstein 3D page file: wall textures, sprites and digitized sounds" required: false source_ref: "id_pm.cpp:20-25, wl_menu.cpp:5270-5281, 5354-5355" - name: "vgadict.wl6" category: game_data system: wolfenstein3d description: "Wolfenstein 3D Huffman dictionary of the graphics file" required: false source_ref: "id_ca.cpp:464-468, wl_menu.cpp:5270-5281, 5354-5355" - name: "vgahead.wl6" category: game_data system: wolfenstein3d description: "Wolfenstein 3D graphics chunk offsets" required: false source_ref: "id_ca.cpp:475-497, wl_menu.cpp:5270-5281, 5354-5355" - name: "vgagraph.wl6" category: game_data system: wolfenstein3d description: "Wolfenstein 3D graphics chunks: pictures, fonts and text articles" required: false source_ref: "id_ca.cpp:514-518, wl_menu.cpp:5270-5281, 5354-5355" - name: "maphead.wl6" category: game_data system: wolfenstein3d description: "Wolfenstein 3D map offsets and tile info" required: false source_ref: "id_ca.cpp:556-560, wl_menu.cpp:5270-5281, 5354-5355" - name: "gamemaps.wl6" category: game_data system: wolfenstein3d description: "Wolfenstein 3D level maps" required: false source_ref: "id_ca.cpp:575-580, wl_menu.cpp:5270-5281, 5354-5355" - name: "audiohed.wl6" category: game_data system: wolfenstein3d description: "Wolfenstein 3D audio chunk offsets" required: false source_ref: "id_ca.cpp:636-641, wl_menu.cpp:5270-5281, 5354-5355" - name: "audiot.wl6" category: game_data system: wolfenstein3d description: "Wolfenstein 3D AdLib sound effects and music" required: false source_ref: "id_ca.cpp:647-651, wl_menu.cpp:5270-5281, 5354-5355" # Spear of Destiny (.sod) - name: "vswap.sod" aliases: ["vswap.sd1"] category: game_data system: wolfenstein3d description: "Spear of Destiny page file: wall textures, sprites and digitized sounds" required: false source_ref: "id_pm.cpp:20-25, wl_menu.cpp:5324-5342" - name: "vgadict.sod" category: game_data system: wolfenstein3d description: "Spear of Destiny Huffman dictionary of the graphics file" required: false source_ref: "id_ca.cpp:464-468, wl_menu.cpp:5324-5342" - name: "vgahead.sod" category: game_data system: wolfenstein3d description: "Spear of Destiny graphics chunk offsets" required: false source_ref: "id_ca.cpp:475-497, wl_menu.cpp:5324-5342" - name: "vgagraph.sod" category: game_data system: wolfenstein3d description: "Spear of Destiny graphics chunks: pictures, fonts and text articles" required: false source_ref: "id_ca.cpp:514-518, wl_menu.cpp:5324-5342" - name: "maphead.sod" aliases: ["maphead.sd1"] category: game_data system: wolfenstein3d description: "Spear of Destiny map offsets and tile info" required: false source_ref: "id_ca.cpp:556-560, wl_menu.cpp:5324-5342" - name: "gamemaps.sod" aliases: ["gamemaps.sd1"] category: game_data system: wolfenstein3d description: "Spear of Destiny level maps" required: false source_ref: "id_ca.cpp:575-580, wl_menu.cpp:5324-5342" - name: "audiohed.sod" category: game_data system: wolfenstein3d description: "Spear of Destiny audio chunk offsets" required: false source_ref: "id_ca.cpp:636-641, wl_menu.cpp:5324-5342" - name: "audiot.sod" category: game_data system: wolfenstein3d description: "Spear of Destiny AdLib sound effects and music" required: false source_ref: "id_ca.cpp:647-651, wl_menu.cpp:5324-5342" # Spear of Destiny mission pack 2 (.sd2) - name: "vswap.sd2" category: game_data system: wolfenstein3d description: "Spear of Destiny mission pack 2 page file: wall textures, sprites and digitized sounds" required: false source_ref: "id_pm.cpp:20-25, wl_menu.cpp:5307-5313" - name: "maphead.sd2" category: game_data system: wolfenstein3d description: "Spear of Destiny mission pack 2 map offsets and tile info" required: false source_ref: "id_ca.cpp:556-560, wl_menu.cpp:5307-5313" - name: "gamemaps.sd2" category: game_data system: wolfenstein3d description: "Spear of Destiny mission pack 2 level maps" required: false source_ref: "id_ca.cpp:575-580, wl_menu.cpp:5307-5313" # Spear of Destiny mission pack 3 (.sd3) - name: "vswap.sd3" category: game_data system: wolfenstein3d description: "Spear of Destiny mission pack 3 page file: wall textures, sprites and digitized sounds" required: false source_ref: "id_pm.cpp:20-25, wl_menu.cpp:5314-5320" - name: "maphead.sd3" category: game_data system: wolfenstein3d description: "Spear of Destiny mission pack 3 map offsets and tile info" required: false source_ref: "id_ca.cpp:556-560, wl_menu.cpp:5314-5320" - name: "gamemaps.sd3" category: game_data system: wolfenstein3d description: "Spear of Destiny mission pack 3 level maps" required: false source_ref: "id_ca.cpp:575-580, wl_menu.cpp:5314-5320" # Spear of Destiny demo (.sdm) - name: "vswap.sdm" category: game_data system: wolfenstein3d description: "Spear of Destiny demo page file: wall textures, sprites and digitized sounds" required: false source_ref: "id_pm.cpp:20-25, wl_menu.cpp:5344-5351" - name: "vgadict.sdm" category: game_data system: wolfenstein3d description: "Spear of Destiny demo Huffman dictionary of the graphics file" required: false source_ref: "id_ca.cpp:464-468, wl_menu.cpp:5344-5351" - name: "vgahead.sdm" category: game_data system: wolfenstein3d description: "Spear of Destiny demo graphics chunk offsets" required: false min_size: 402 max_size: 404 validation: [size] source_ref: "id_ca.cpp:475-497, wl_menu.cpp:5344-5351" note: "Must hold 134 three byte offsets, NUMCHUNKS + 1 of gfxv_sod.h built with SPEARDEMO (id_ca.cpp:97), or the engine quits. --ignorenumchunks skips the check." - name: "vgagraph.sdm" category: game_data system: wolfenstein3d description: "Spear of Destiny demo graphics chunks: pictures, fonts and text articles" required: false source_ref: "id_ca.cpp:514-518, wl_menu.cpp:5344-5351" - name: "maphead.sdm" category: game_data system: wolfenstein3d description: "Spear of Destiny demo map offsets and tile info" required: false source_ref: "id_ca.cpp:556-560, wl_menu.cpp:5344-5351" - name: "gamemaps.sdm" category: game_data system: wolfenstein3d description: "Spear of Destiny demo level maps" required: false source_ref: "id_ca.cpp:575-580, wl_menu.cpp:5344-5351" - name: "audiohed.sdm" category: game_data system: wolfenstein3d description: "Spear of Destiny demo audio chunk offsets" required: false source_ref: "id_ca.cpp:636-641, wl_menu.cpp:5344-5351" - name: "audiot.sdm" category: game_data system: wolfenstein3d description: "Spear of Destiny demo AdLib sound effects and music" required: false source_ref: "id_ca.cpp:647-651, wl_menu.cpp:5344-5351"