Commander Genius - RetroBIOS¶
Technical notes
Reimplementation of the Commander Keen engines: Vorticon (Keen 1 to 3), Galaxy (Keen 4 to 6) and Keen Dreams. It reads the data files of the DOS releases and the DOS executable itself, from which it extracts tables, texts and compressed headers.
Game detection. The launcher scans its root and every folder up to two levels under games/ for .exe and .lua files (src/engine/CGameLauncher.h:36-40, src/engine/CGameLauncher.cpp:134-141, 64-78). A file name containing keenN.exe, keenNe.exe, keenN.lua or kNdemo.exe (N from 1 to 6) or kdreams makes the folder a game (src/engine/CGameLauncher.cpp:437-487). Folder names are free; the paths below use the folder names of the packages the project publishes for its in-app downloader, which unpacks under games/ (src/engine/gamedownloader.cpp:455-491). File lookups are case-insensitive.
Executable. readKeenExeData tries keenN.exe, keenNe.exe, kNdemo.exe, then kdreams.exe (src/fileio/CExeFile.cpp:164-203), unpacks LZEXE or PKLITE compression (src/fileio/CExeFile.cpp:235-255) and derives the version from the size of the unpacked image, never from a hash (src/fileio/CExeFile.cpp:350-402): Keen 1 100274 v1.1, 100484 v1.31, 100132 v1.34 Keen 2 118626 v1.0, 118672 v1.31 Keen 3 127598 v1.0, 127616 v1.31 Keen 4 258064 v1.0, 259232 v1.1, 263488 v1.4 Keen 5 262176 v1.0, 266096 v1.4 Keen 6 236112 v1.0 (the demo executable), 271696 v1.4, 270896 v1.5 Dreams 213536 The version selects the offsets used to read data out of the image. Tile properties are known for Keen 1 v1.1, v1.31, v1.34, Keen 2 and 3 v1.0 and v1.31, Keen 4 and 5 v1.4, Keen 6 v1.4 and v1.5, Keen Dreams and the Keen 6 demo (src/fileio/CTileLoader.cpp:68-88). The constructor also holds a support map keyed by the same sizes (src/fileio/CExeFile.cpp:29-50); its result and the CRC comparison of getEXECrc are stored in the launcher entry and read nowhere else (src/engine/CGameLauncher.cpp:546-548).
Vorticon episodes open egahead, egalatch and egasprit, one levelNN file per map (80 is the world map, 81 the ending map, 90 the title map; the other numbers come from the world map data) and finale.ckN. Episode 1 also reads its story, help and ending texts, its sounds and its preview screens from files; episodes 2 and 3 take texts and sounds from the executable (src/engine/keen/vorticon/CStory.cpp:35-76, src/engine/keen/vorticon/CHelp.cpp:38-81, src/engine/keen/vorticon/CAudioVorticon.cpp:40-60). A sounds.ckN file, when present, replaces the embedded sounds. Without the three EGA files or a level file nothing is drawn or the map load fails; the text, finale, sound and preview files are skipped when absent. High scores are kept in the engine's own highscoreepN.dat, SCORES.CKN is not read (src/engine/keen/vorticon/CHighScores.cpp:394-397).
Galaxy episodes open EGAGRAPH, GAMEMAPS and AUDIO. A missing EGAGRAPH ends the load (src/engine/keen/galaxy/GalaxyEngine.cpp:237-243). The graphics and audio dictionaries, EGAHEAD, AUDIOHED and MAPHEAD come from the executable; a file named egahead.ckN, egadict.ckN, audiohed.ckN, audiodct.ckN or maphead.ckN in the game folder takes precedence when present, which is how mods replace them (src/fileio/KeenFiles.h:41-48, src/engine/keen/galaxy/res/CEGAGraphicsGalaxy.cpp:537-585, 706-742, src/engine/keen/galaxy/res/CAudioGalaxy.cpp:350-355, 389-411, src/engine/keen/galaxy/common/CMapLoaderGalaxy.cpp:220-235). The Keen 6 demo uses its own offsets (src/fileio/CExeFile.cpp:268-289, src/engine/keen/galaxy/res/CEGAGraphicsGalaxy.cpp:190-205).
Keen Dreams runs on an embedded Reflection Keen build for the EGA releases (src/engine/refkeen/CMakeLists.txt:11-13). The engine extracts nine tables from KDREAMS.EXE at the offsets of shareware v1.13 (src/engine/keen/dreams/dreamsengine.cpp:103-114, 226-283, 438) and opens KDREAMS.EGA, KDREAMS.MAP and KDREAMS.AUD, quitting when one is missing. The same file lists a size and CRC-32 for each file of that release (src/engine/keen/dreams/dreamsengine.cpp:93-101); the routine that compared them is commented out (src/engine/refkeen/be_cross_fs.cpp:660-679), so nothing is verified. LAST.SHL is in that list and is never opened.
A .pat file in the game folder can rename the header and map files and patch the image (src/fileio/CPatcher.cpp:102-141, src/engine/CGameLauncher.cpp:660-696). Optional replacement graphics, sounds and music (gfx/, snd/, music/, songlist.lst) and Lua scripts are looked up in the game folder, some also in the bundled global/ folder (GsKit/fileio/ResourceMgmt.cpp:34-78).
Cosmo's Cosmic Adventure is handled by a separate submodule compiled only with BUILD_COSMOS, off by default (src/engine/CMakeLists.txt:3).
100 files | 0 required, 100 optional | 44 in repo, 53 missing, 3 unsourceable Categories: 100 game data
keen1.exe optional in repo game_data
Keen 1 executable, read for tables, texts and tile properties
- Path:
games/keen1/keen1.exe - System: commander-keen
- Source:
src/fileio/CExeFile.cpp:164-168
egahead.ck1 optional in repo game_data
Keen 1 EGA graphics header
- Path:
games/keen1/egahead.ck1 - System: commander-keen
- Source:
src/engine/keen/vorticon/CEGAGraphicsVort.cpp:48-52
egalatch.ck1 optional in repo game_data
Keen 1 tiles, fonts and bitmaps
- Path:
games/keen1/egalatch.ck1 - System: commander-keen
- Source:
src/engine/keen/vorticon/CEGALatch.cpp:160-165
egasprit.ck1 optional in repo game_data
Keen 1 sprites
- Path:
games/keen1/egasprit.ck1 - System: commander-keen
- Source:
src/engine/keen/vorticon/CEGAGraphicsVort.cpp:146-149,src/engine/keen/vorticon/CEGASprit.cpp:111-116
level01.ck1 optional in repo game_data
Keen 1 level 1
- Path:
games/keen1/level01.ck1 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level02.ck1 optional in repo game_data
Keen 1 level 2
- Path:
games/keen1/level02.ck1 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level03.ck1 optional in repo game_data
Keen 1 level 3
- Path:
games/keen1/level03.ck1 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level04.ck1 optional in repo game_data
Keen 1 level 4
- Path:
games/keen1/level04.ck1 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level05.ck1 optional in repo game_data
Keen 1 level 5
- Path:
games/keen1/level05.ck1 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level06.ck1 optional in repo game_data
Keen 1 level 6
- Path:
games/keen1/level06.ck1 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level07.ck1 optional in repo game_data
Keen 1 level 7
- Path:
games/keen1/level07.ck1 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level08.ck1 optional in repo game_data
Keen 1 level 8
- Path:
games/keen1/level08.ck1 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level09.ck1 optional in repo game_data
Keen 1 level 9
- Path:
games/keen1/level09.ck1 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level10.ck1 optional in repo game_data
Keen 1 level 10
- Path:
games/keen1/level10.ck1 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level11.ck1 optional in repo game_data
Keen 1 level 11
- Path:
games/keen1/level11.ck1 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level12.ck1 optional in repo game_data
Keen 1 level 12
- Path:
games/keen1/level12.ck1 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level13.ck1 optional in repo game_data
Keen 1 level 13
- Path:
games/keen1/level13.ck1 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level14.ck1 optional in repo game_data
Keen 1 level 14
- Path:
games/keen1/level14.ck1 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level15.ck1 optional in repo game_data
Keen 1 level 15
- Path:
games/keen1/level15.ck1 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level16.ck1 optional in repo game_data
Keen 1 level 16
- Path:
games/keen1/level16.ck1 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level80.ck1 optional in repo game_data
Keen 1 world map
- Path:
games/keen1/level80.ck1 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/playgame/CPlayGameVorticon.h:35
level81.ck1 optional in repo game_data
Keen 1 ending map
- Path:
games/keen1/level81.ck1 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/finale/CEndingEp1.cpp:104
level90.ck1 optional in repo game_data
Keen 1 title and demo map
- Path:
games/keen1/level90.ck1 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CPassiveVort.cpp:33
finale.ck1 optional in repo game_data
Keen 1 ending picture
- Path:
games/keen1/finale.ck1 - System: commander-keen
- Source:
src/engine/keen/vorticon/finale/CEndingEp1.cpp:167,src/engine/keen/vorticon/finale/finale.cpp:94-95
sounds.ck1 optional in repo game_data
Keen 1 PC speaker sounds
- Path:
games/keen1/sounds.ck1 - System: commander-keen
- Source:
src/engine/keen/vorticon/CAudioVorticon.cpp:36-40
storytxt.ck1 optional in repo game_data
Keen 1 story text
- Path:
games/keen1/storytxt.ck1 - System: commander-keen
- Source:
src/engine/keen/vorticon/CStory.cpp:42-46
helptext.ck1 optional in repo game_data
Keen 1 help text
- Path:
games/keen1/helptext.ck1 - System: commander-keen
- Source:
src/engine/keen/vorticon/CHelp.cpp:45-49
endtext.ck1 optional in repo game_data
Keen 1 ending text
- Path:
games/keen1/endtext.ck1 - System: commander-keen
- Source:
src/engine/keen/vorticon/finale/CFinale.cpp:41-44,src/engine/keen/vorticon/finale/CEndingEp1.cpp:42
previews.ck1 optional in repo game_data
Keen 1 previews text, enables the Previews menu entry
- Path:
games/keen1/previews.ck1 - System: commander-keen
- Source:
src/engine/keen/vorticon/CPreviews.cpp:58-65,src/engine/core/menu/CHelpMenu.cpp:58-67
preview2.ck1 optional in repo game_data
Keen 1 preview screen 2
- Path:
games/keen1/preview2.ck1 - System: commander-keen
- Source:
src/engine/keen/vorticon/CPreviews.cpp:42-49
preview3.ck1 optional in repo game_data
Keen 1 preview screen 3
- Path:
games/keen1/preview3.ck1 - System: commander-keen
- Source:
src/engine/keen/vorticon/CPreviews.cpp:42-49
keen2.exe optional missing game_data
Keen 2 executable, read for tables, texts and tile properties
- Path:
games/keen2/keen2.exe - System: commander-keen
- Source:
src/fileio/CExeFile.cpp:164-168
egahead.ck2 optional missing game_data
Keen 2 EGA graphics header
- Path:
games/keen2/egahead.ck2 - System: commander-keen
- Source:
src/engine/keen/vorticon/CEGAGraphicsVort.cpp:48-52
egalatch.ck2 optional missing game_data
Keen 2 tiles, fonts and bitmaps
- Path:
games/keen2/egalatch.ck2 - System: commander-keen
- Source:
src/engine/keen/vorticon/CEGALatch.cpp:160-165
egasprit.ck2 optional missing game_data
Keen 2 sprites
- Path:
games/keen2/egasprit.ck2 - System: commander-keen
- Source:
src/engine/keen/vorticon/CEGAGraphicsVort.cpp:146-149,src/engine/keen/vorticon/CEGASprit.cpp:111-116
level01.ck2 optional missing game_data
Keen 2 level 1
- Path:
games/keen2/level01.ck2 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level02.ck2 optional missing game_data
Keen 2 level 2
- Path:
games/keen2/level02.ck2 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level03.ck2 optional missing game_data
Keen 2 level 3
- Path:
games/keen2/level03.ck2 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level04.ck2 optional missing game_data
Keen 2 level 4
- Path:
games/keen2/level04.ck2 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level05.ck2 optional missing game_data
Keen 2 level 5
- Path:
games/keen2/level05.ck2 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level06.ck2 optional missing game_data
Keen 2 level 6
- Path:
games/keen2/level06.ck2 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level07.ck2 optional missing game_data
Keen 2 level 7
- Path:
games/keen2/level07.ck2 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level08.ck2 optional missing game_data
Keen 2 level 8
- Path:
games/keen2/level08.ck2 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level09.ck2 optional missing game_data
Keen 2 level 9
- Path:
games/keen2/level09.ck2 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level10.ck2 optional missing game_data
Keen 2 level 10
- Path:
games/keen2/level10.ck2 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level11.ck2 optional missing game_data
Keen 2 level 11
- Path:
games/keen2/level11.ck2 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level12.ck2 optional missing game_data
Keen 2 level 12
- Path:
games/keen2/level12.ck2 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level13.ck2 optional missing game_data
Keen 2 level 13
- Path:
games/keen2/level13.ck2 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level14.ck2 optional missing game_data
Keen 2 level 14
- Path:
games/keen2/level14.ck2 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level15.ck2 optional missing game_data
Keen 2 level 15
- Path:
games/keen2/level15.ck2 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level16.ck2 optional missing game_data
Keen 2 level 16
- Path:
games/keen2/level16.ck2 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level80.ck2 optional missing game_data
Keen 2 world map
- Path:
games/keen2/level80.ck2 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/playgame/CPlayGameVorticon.h:35
level81.ck2 optional missing game_data
Keen 2 ending map
- Path:
games/keen2/level81.ck2 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/finale/CEndingEp2.cpp:72
level90.ck2 optional missing game_data
Keen 2 title and demo map
- Path:
games/keen2/level90.ck2 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CPassiveVort.cpp:33
finale.ck2 optional missing game_data
Keen 2 ending picture
- Path:
games/keen2/finale.ck2 - System: commander-keen
- Source:
src/engine/keen/vorticon/finale/CEndingEp2.cpp:174,src/engine/keen/vorticon/finale/finale.cpp:94-95
keen3.exe optional missing game_data
Keen 3 executable, read for tables, texts and tile properties
- Path:
games/keen3/keen3.exe - System: commander-keen
- Source:
src/fileio/CExeFile.cpp:164-168
egahead.ck3 optional missing game_data
Keen 3 EGA graphics header
- Path:
games/keen3/egahead.ck3 - System: commander-keen
- Source:
src/engine/keen/vorticon/CEGAGraphicsVort.cpp:48-52
egalatch.ck3 optional missing game_data
Keen 3 tiles, fonts and bitmaps
- Path:
games/keen3/egalatch.ck3 - System: commander-keen
- Source:
src/engine/keen/vorticon/CEGALatch.cpp:160-165
egasprit.ck3 optional missing game_data
Keen 3 sprites
- Path:
games/keen3/egasprit.ck3 - System: commander-keen
- Source:
src/engine/keen/vorticon/CEGAGraphicsVort.cpp:146-149,src/engine/keen/vorticon/CEGASprit.cpp:111-116
level01.ck3 optional missing game_data
Keen 3 level 1
- Path:
games/keen3/level01.ck3 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level02.ck3 optional missing game_data
Keen 3 level 2
- Path:
games/keen3/level02.ck3 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level03.ck3 optional missing game_data
Keen 3 level 3
- Path:
games/keen3/level03.ck3 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level04.ck3 optional missing game_data
Keen 3 level 4
- Path:
games/keen3/level04.ck3 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level05.ck3 optional missing game_data
Keen 3 level 5
- Path:
games/keen3/level05.ck3 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level06.ck3 optional missing game_data
Keen 3 level 6
- Path:
games/keen3/level06.ck3 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level07.ck3 optional missing game_data
Keen 3 level 7
- Path:
games/keen3/level07.ck3 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level08.ck3 optional missing game_data
Keen 3 level 8
- Path:
games/keen3/level08.ck3 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level09.ck3 optional missing game_data
Keen 3 level 9
- Path:
games/keen3/level09.ck3 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level10.ck3 optional missing game_data
Keen 3 level 10
- Path:
games/keen3/level10.ck3 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level11.ck3 optional missing game_data
Keen 3 level 11
- Path:
games/keen3/level11.ck3 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level12.ck3 optional missing game_data
Keen 3 level 12
- Path:
games/keen3/level12.ck3 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level13.ck3 optional missing game_data
Keen 3 level 13
- Path:
games/keen3/level13.ck3 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level14.ck3 optional missing game_data
Keen 3 level 14
- Path:
games/keen3/level14.ck3 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level15.ck3 optional missing game_data
Keen 3 level 15
- Path:
games/keen3/level15.ck3 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level16.ck3 optional missing game_data
Keen 3 level 16
- Path:
games/keen3/level16.ck3 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CVorticonMapLoader.cpp:153-160
level80.ck3 optional missing game_data
Keen 3 world map
- Path:
games/keen3/level80.ck3 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/playgame/CPlayGameVorticon.h:35
level81.ck3 optional missing game_data
Keen 3 ending map
- Path:
games/keen3/level81.ck3 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/finale/CEndingEp3.cpp:68
level90.ck3 optional missing game_data
Keen 3 title and demo map
- Path:
games/keen3/level90.ck3 - System: commander-keen
- Source:
src/engine/keen/vorticon/CVorticonMapLoader.cpp:128-130,src/engine/keen/vorticon/CPassiveVort.cpp:33
finale.ck3 optional missing game_data
Keen 3 ending picture
- Path:
games/keen3/finale.ck3 - System: commander-keen
- Source:
src/engine/keen/vorticon/finale/CEndingEp3.cpp:136,src/engine/keen/vorticon/finale/finale.cpp:94-95
keen4e.exe optional in repo game_data
Keen 4 executable, read for dictionaries, headers, texts and tile properties
- Path:
games/keen4/keen4e.exe - System: commander-keen
- Aliases:
keen4.exe - Source:
src/fileio/CExeFile.cpp:174-176
egagraph.ck4 optional in repo game_data
Keen 4 EGA graphics
- Path:
games/keen4/egagraph.ck4 - System: commander-keen
- Source:
src/engine/keen/galaxy/res/CEGAGraphicsGalaxy.cpp:754-763
gamemaps.ck4 optional in repo game_data
Keen 4 level maps
- Path:
games/keen4/gamemaps.ck4 - System: commander-keen
- Source:
src/fileio/KeenFiles.h:47,src/engine/keen/galaxy/common/CMapLoaderGalaxy.cpp:249-257
audio.ck4 optional in repo game_data
Keen 4 sounds and music
- Path:
games/keen4/audio.ck4 - System: commander-keen
- Source:
src/fileio/KeenFiles.h:44,src/engine/keen/galaxy/res/CAudioGalaxy.cpp:358-366,src/fileio/CExeFile.cpp:709-716
keen5e.exe optional missing game_data
Keen 5 executable, read for dictionaries, headers, texts and tile properties
- Path:
games/keen5/keen5e.exe - System: commander-keen
- Aliases:
keen5.exe - Source:
src/fileio/CExeFile.cpp:174-176
egagraph.ck5 optional missing game_data
Keen 5 EGA graphics
- Path:
games/keen5/egagraph.ck5 - System: commander-keen
- Source:
src/engine/keen/galaxy/res/CEGAGraphicsGalaxy.cpp:754-763
gamemaps.ck5 optional missing game_data
Keen 5 level maps
- Path:
games/keen5/gamemaps.ck5 - System: commander-keen
- Source:
src/fileio/KeenFiles.h:47,src/engine/keen/galaxy/common/CMapLoaderGalaxy.cpp:249-257
audio.ck5 optional missing game_data
Keen 5 sounds and music
- Path:
games/keen5/audio.ck5 - System: commander-keen
- Source:
src/fileio/KeenFiles.h:44,src/engine/keen/galaxy/res/CAudioGalaxy.cpp:358-366,src/fileio/CExeFile.cpp:709-716
keen6e.exe optional missing game_data
Keen 6 executable, read for dictionaries, headers, texts and tile properties
- Path:
games/keen6/keen6e.exe - System: commander-keen
- Aliases:
keen6.exe - Source:
src/fileio/CExeFile.cpp:174-176
egagraph.ck6 optional unsourceable game_data
Keen 6 EGA graphics
- Path:
games/keen6/egagraph.ck6 - System: commander-keen
- Source:
src/engine/keen/galaxy/res/CEGAGraphicsGalaxy.cpp:754-763
gamemaps.ck6 optional unsourceable game_data
Keen 6 level maps
- Path:
games/keen6/gamemaps.ck6 - System: commander-keen
- Source:
src/fileio/KeenFiles.h:47,src/engine/keen/galaxy/common/CMapLoaderGalaxy.cpp:249-257
audio.ck6 optional unsourceable game_data
Keen 6 sounds and music
- Path:
games/keen6/audio.ck6 - System: commander-keen
- Source:
src/fileio/KeenFiles.h:44,src/engine/keen/galaxy/res/CAudioGalaxy.cpp:358-366,src/fileio/CExeFile.cpp:709-716
k6demo.exe optional in repo game_data
Keen 6 demo executable, read for dictionaries, headers, texts and tile properties
- Path:
games/K6DEMO/k6demo.exe - System: commander-keen
- Source:
src/fileio/CExeFile.cpp:183-187
egagraph.ck6 optional in repo game_data
Keen 6 demo EGA graphics
- Path:
games/K6DEMO/egagraph.ck6 - System: commander-keen
- Source:
src/engine/keen/galaxy/res/CEGAGraphicsGalaxy.cpp:754-763
gamemaps.ck6 optional in repo game_data
Keen 6 demo level maps
- Path:
games/K6DEMO/gamemaps.ck6 - System: commander-keen
- Source:
src/fileio/KeenFiles.h:47,src/engine/keen/galaxy/common/CMapLoaderGalaxy.cpp:249-257
audio.ck6 optional in repo game_data
Keen 6 demo sounds and music
- Path:
games/K6DEMO/audio.ck6 - System: commander-keen
- Source:
src/fileio/KeenFiles.h:44,src/engine/keen/galaxy/res/CAudioGalaxy.cpp:358-366,src/fileio/CExeFile.cpp:709-716
KDREAMS.EXE optional in repo game_data
Keen Dreams executable, read for the nine embedded tables
- Path:
games/KeenDreams/KDREAMS.EXE - System: commander-keen
- Size: 79.7 KB
- CRC32:
9dce0a39 - Source:
src/fileio/CExeFile.cpp:195-196,src/engine/keen/dreams/dreamsengine.cpp:97
KDREAMS.EGA optional in repo game_data
Keen Dreams EGA graphics
- Path:
games/KeenDreams/KDREAMS.EGA - System: commander-keen
- Size: 208.1 KB
- CRC32:
2dc94687 - Source:
src/engine/refkeen/kdreams/id_ca.cpp:605-608,src/engine/keen/dreams/dreamsengine.cpp:96
KDREAMS.MAP optional in repo game_data
Keen Dreams level maps
- Path:
games/KeenDreams/KDREAMS.MAP - System: commander-keen
- Size: 64.1 KB
- CRC32:
8dce09af - Source:
src/engine/refkeen/kdreams/id_ca.cpp:749-752,src/engine/keen/dreams/dreamsengine.cpp:98
KDREAMS.AUD optional in repo game_data
Keen Dreams sounds
- Path:
games/KeenDreams/KDREAMS.AUD - System: commander-keen
- Size: 3.4 KB
- CRC32:
80ac85e5 - Source:
src/engine/refkeen/kdreams/id_ca.cpp:817-820,src/fileio/KeenFiles.h:53,src/engine/keen/dreams/dreamsengine.cpp:94
KDREAMS.CMP optional in repo game_data
Keen Dreams title screen library, skipped when absent
- Path:
games/KeenDreams/KDREAMS.CMP - System: commander-keen
- Size: 13.9 KB
- CRC32:
97628ca0 - Source:
src/engine/keen/dreams/dreamsintro.cpp:42-46,src/engine/refkeen/kdreams/soft.cpp:388-390,src/engine/keen/dreams/dreamsengine.cpp:95
Generated on 2026-10-10T11:26:01Z