CatacombGL - RetroBIOS¶
Technical notes
OpenGL source port of the Catacomb 3-D games. Seven releases are accepted, each with its own file table mapping a file name to an exact byte size (src/System/Finder.cpp:35-44): Catacomb Abyss v1.12, v1.13, v1.24 (src/Abyss/GameDetectionAbyss.h:28-76) Catacomb Armageddon v1.02 (src/Armageddon/GameDetectionArmageddon.h:27-46) Catacomb Apocalypse v1.01 (src/Apocalypse/GameDetectionApocalypse.h:27-46) Catacomb 3-D v1.00, v1.22 (src/Catacomb3D/GameDetectionCatacomb3D.h:27-39)
Detection is per release and all-or-nothing. GetDetectionReport (src/Engine/GameDetection.cpp:38-73) walks one table against one folder and adds 2 to the score for a missing file and 1 for a file whose size differs from the table. A release is detected only at score 0, so every file of its table must be present with the listed size. A game whose score is not 0 cannot start: the launch ends in a fatal error naming the offending files (src/System/CatacombGL.cpp:416-451). No hash is computed.
Folders tried for each release, until one scores 0: the working directory (src/System/Finder.cpp:139-143), the folder stored in the configuration for that release (src/System/Finder.cpp:176-185), then for the four Catacombs Pack releases the GOG install folder plus Abyss, Armageddon, Apocalypse or Cat3D (src/System/Finder.cpp:46-52, 145-163). The selection menu can also browse to a folder. File names are joined to the folder as written in the tables, upper case.
The selection menu groups the releases as "Catacombs Pack (GOG)" (3-D v1.22, Abyss v1.24, Armageddon, Apocalypse), "Shareware" (Abyss v1.12 and v1.13) and "Catacomb 3-D Big Box" (3-D v1.00) (src/Engine/GameSelection.cpp:71-73, src/System/CatacombGL.cpp:252-280). Abyss v1.12 is scanned like the others but its menu entry and key are compiled only when CATABYSSV112 is defined; the build files do not define it (src/System/CatacombGL.cpp:266-271, 313-318).
Once a game starts, EGAGRAPH, GAMEMAPS and AUDIO are read through the static tables of each game and a failed open or short read is fatal (src/Engine/EgaGraph.cpp:50-70, src/Engine/AudioRepository.cpp:43-58). The SHP files are the intro pictures (src/Abyss/IntroViewAbyss.cpp:48-90, src/Armageddon/IntroViewArmageddon.cpp:27-76, src/Apocalypse/IntroViewApocalypse.cpp:27-76); Abyss v1.12 uses SDLOGO, TITLE, CREDITS, BEGIN and FINALE instead (src/Abyss/IntroViewAbyss.cpp:28-45, src/Abyss/GameAbyss.cpp:53-58). SHP10.ABS, SHP13.ARM and SHP13.APC are never opened but belong to the detection tables.
Catacomb 3-D also reads CONFIG.C3D (474 bytes, written by the DOS game) from the game folder to import its high scores when the port has none of its own (src/Catacomb3D/GameCatacomb3D.cpp:52-57, src/Engine/HighScores.cpp:57-72). Builds defining SAVEDGAMESINDOSFORMAT also import DOS saved games from the game folder (src/Engine/EngineCore.cpp:123-148). Both are user state.
78 files | 0 required, 78 optional | 45 in repo, 33 missing Categories: 78 game data
AUDIO.C3D optional missing game_data
Catacomb 3-D v1.00 sound chunks
- System: catacomb-3d
- Size: 4.9 KB
- Validation: size
- Source:
src/Catacomb3D/GameDetectionCatacomb3D.h:29
EGAGRAPH.C3D optional missing game_data
Catacomb 3-D v1.00 EGA graphics
- System: catacomb-3d
- Size: 252.0 KB
- Validation: size
- Source:
src/Catacomb3D/GameDetectionCatacomb3D.h:30
GAMEMAPS.C3D optional missing game_data
Catacomb 3-D v1.00 level maps
- System: catacomb-3d
- Size: 14.0 KB
- Validation: size
- Source:
src/Catacomb3D/GameDetectionCatacomb3D.h:31
AUDIO.C3D optional missing game_data
Catacomb 3-D v1.22 sound chunks
- System: catacomb-3d
- Size: 4.9 KB
- Validation: size
- Source:
src/Catacomb3D/GameDetectionCatacomb3D.h:36
EGAGRAPH.C3D optional missing game_data
Catacomb 3-D v1.22 EGA graphics
- System: catacomb-3d
- Size: 250.9 KB
- Validation: size
- Source:
src/Catacomb3D/GameDetectionCatacomb3D.h:37
GAMEMAPS.C3D optional missing game_data
Catacomb 3-D v1.22 level maps
- System: catacomb-3d
- Size: 14.0 KB
- Validation: size
- Source:
src/Catacomb3D/GameDetectionCatacomb3D.h:38
AUDIO.ABS optional in repo game_data
Catacomb Abyss v1.12 sound chunks
- System: catacomb-adventure
- Size: 6.7 KB
- Validation: size
- Source:
src/Abyss/GameDetectionAbyss.h:30
BEGIN.ABS optional in repo game_data
Catacomb Abyss v1.12 intro picture
- System: catacomb-adventure
- Size: 12.4 KB
- Validation: size
- Source:
src/Abyss/GameDetectionAbyss.h:31
CREDITS.ABS optional in repo game_data
Catacomb Abyss v1.12 credits picture
- System: catacomb-adventure
- Size: 14.9 KB
- Validation: size
- Source:
src/Abyss/GameDetectionAbyss.h:32
EGAGRAPH.ABS optional in repo game_data
Catacomb Abyss v1.12 EGA graphics
- System: catacomb-adventure
- Size: 313.1 KB
- Validation: size
- Source:
src/Abyss/GameDetectionAbyss.h:33
FINALE.ABS optional in repo game_data
Catacomb Abyss v1.12 finale picture
- System: catacomb-adventure
- Size: 11.6 KB
- Validation: size
- Source:
src/Abyss/GameDetectionAbyss.h:34
GAMEMAPS.ABS optional in repo game_data
Catacomb Abyss v1.12 level maps
- System: catacomb-adventure
- Size: 20.0 KB
- Validation: size
- Source:
src/Abyss/GameDetectionAbyss.h:35
SDLOGO.ABS optional in repo game_data
Catacomb Abyss v1.12 Softdisk logo picture
- System: catacomb-adventure
- Size: 1.4 KB
- Validation: size
- Source:
src/Abyss/GameDetectionAbyss.h:36
TITLE.ABS optional in repo game_data
Catacomb Abyss v1.12 title picture
- System: catacomb-adventure
- Size: 17.1 KB
- Validation: size
- Source:
src/Abyss/GameDetectionAbyss.h:37
AUDIO.ABS optional in repo game_data
Catacomb Abyss v1.13 sound chunks
- System: catacomb-adventure
- Size: 6.7 KB
- Validation: size
- Source:
src/Abyss/GameDetectionAbyss.h:42
EGAGRAPH.ABS optional in repo game_data
Catacomb Abyss v1.13 EGA graphics
- System: catacomb-adventure
- Size: 328.3 KB
- Validation: size
- Source:
src/Abyss/GameDetectionAbyss.h:43
GAMEMAPS.ABS optional in repo game_data
Catacomb Abyss v1.13 level maps
- System: catacomb-adventure
- Size: 20.0 KB
- Validation: size
- Source:
src/Abyss/GameDetectionAbyss.h:44
SHP01.ABS optional in repo game_data
Catacomb Abyss v1.13 intro shape 1
- System: catacomb-adventure
- Size: 1.3 KB
- Validation: size
- Source:
src/Abyss/GameDetectionAbyss.h:45
SHP02.ABS optional in repo game_data
Catacomb Abyss v1.13 intro shape 2
- System: catacomb-adventure
- Size: 14.8 KB
- Validation: size
- Source:
src/Abyss/GameDetectionAbyss.h:46
SHP03.ABS optional in repo game_data
Catacomb Abyss v1.13 intro shape 3
- System: catacomb-adventure
- Size: 12.8 KB
- Validation: size
- Source:
src/Abyss/GameDetectionAbyss.h:47
SHP04.ABS optional in repo game_data
Catacomb Abyss v1.13 intro shape 4
- System: catacomb-adventure
- Size: 12.4 KB
- Validation: size
- Source:
src/Abyss/GameDetectionAbyss.h:48
SHP05.ABS optional in repo game_data
Catacomb Abyss v1.13 intro shape 5
- System: catacomb-adventure
- Size: 724 B
- Validation: size
- Source:
src/Abyss/GameDetectionAbyss.h:49
SHP06.ABS optional in repo game_data
Catacomb Abyss v1.13 intro shape 6
- System: catacomb-adventure
- Size: 9.0 KB
- Validation: size
- Source:
src/Abyss/GameDetectionAbyss.h:50
SHP07.ABS optional in repo game_data
Catacomb Abyss v1.13 intro shape 7
- System: catacomb-adventure
- Size: 9.7 KB
- Validation: size
- Source:
src/Abyss/GameDetectionAbyss.h:51
SHP08.ABS optional in repo game_data
Catacomb Abyss v1.13 intro shape 8
- System: catacomb-adventure
- Size: 398 B
- Validation: size
- Source:
src/Abyss/GameDetectionAbyss.h:52
SHP09.ABS optional in repo game_data
Catacomb Abyss v1.13 intro shape 9
- System: catacomb-adventure
- Size: 417 B
- Validation: size
- Source:
src/Abyss/GameDetectionAbyss.h:53
SHP10.ABS optional in repo game_data
Catacomb Abyss v1.13 intro shape 10
- System: catacomb-adventure
- Size: 329 B
- Validation: size
- Source:
src/Abyss/GameDetectionAbyss.h:54
SHP11.ABS optional in repo game_data
Catacomb Abyss v1.13 intro shape 11
- System: catacomb-adventure
- Size: 10.3 KB
- Validation: size
- Source:
src/Abyss/GameDetectionAbyss.h:55
SHP12.ABS optional in repo game_data
Catacomb Abyss v1.13 intro shape 12
- System: catacomb-adventure
- Size: 9.0 KB
- Validation: size
- Source:
src/Abyss/GameDetectionAbyss.h:56
AUDIO.ABS optional in repo game_data
Catacomb Abyss v1.24 sound chunks
- System: catacomb-adventure
- Size: 6.7 KB
- Validation: size
- Source:
src/Abyss/GameDetectionAbyss.h:61
EGAGRAPH.ABS optional missing game_data
Catacomb Abyss v1.24 EGA graphics
- System: catacomb-adventure
- Size: 328.1 KB
- Validation: size
- Source:
src/Abyss/GameDetectionAbyss.h:62
GAMEMAPS.ABS optional in repo game_data
Catacomb Abyss v1.24 level maps
- System: catacomb-adventure
- Size: 20.0 KB
- Validation: size
- Source:
src/Abyss/GameDetectionAbyss.h:63
SHP01.ABS optional in repo game_data
Catacomb Abyss v1.24 intro shape 1
- System: catacomb-adventure
- Size: 1.3 KB
- Validation: size
- Source:
src/Abyss/GameDetectionAbyss.h:64
SHP02.ABS optional missing game_data
Catacomb Abyss v1.24 intro shape 2
- System: catacomb-adventure
- Size: 14.6 KB
- Validation: size
- Source:
src/Abyss/GameDetectionAbyss.h:65
SHP03.ABS optional missing game_data
Catacomb Abyss v1.24 intro shape 3
- System: catacomb-adventure
- Size: 12.9 KB
- Validation: size
- Source:
src/Abyss/GameDetectionAbyss.h:66
SHP04.ABS optional in repo game_data
Catacomb Abyss v1.24 intro shape 4
- System: catacomb-adventure
- Size: 12.4 KB
- Validation: size
- Source:
src/Abyss/GameDetectionAbyss.h:67
SHP05.ABS optional in repo game_data
Catacomb Abyss v1.24 intro shape 5
- System: catacomb-adventure
- Size: 724 B
- Validation: size
- Source:
src/Abyss/GameDetectionAbyss.h:68
SHP06.ABS optional in repo game_data
Catacomb Abyss v1.24 intro shape 6
- System: catacomb-adventure
- Size: 9.0 KB
- Validation: size
- Source:
src/Abyss/GameDetectionAbyss.h:69
SHP07.ABS optional in repo game_data
Catacomb Abyss v1.24 intro shape 7
- System: catacomb-adventure
- Size: 9.7 KB
- Validation: size
- Source:
src/Abyss/GameDetectionAbyss.h:70
SHP08.ABS optional in repo game_data
Catacomb Abyss v1.24 intro shape 8
- System: catacomb-adventure
- Size: 398 B
- Validation: size
- Source:
src/Abyss/GameDetectionAbyss.h:71
SHP09.ABS optional in repo game_data
Catacomb Abyss v1.24 intro shape 9
- System: catacomb-adventure
- Size: 417 B
- Validation: size
- Source:
src/Abyss/GameDetectionAbyss.h:72
SHP10.ABS optional in repo game_data
Catacomb Abyss v1.24 intro shape 10
- System: catacomb-adventure
- Size: 329 B
- Validation: size
- Source:
src/Abyss/GameDetectionAbyss.h:73
SHP11.ABS optional missing game_data
Catacomb Abyss v1.24 intro shape 11
- System: catacomb-adventure
- Size: 10.1 KB
- Validation: size
- Source:
src/Abyss/GameDetectionAbyss.h:74
SHP12.ABS optional missing game_data
Catacomb Abyss v1.24 intro shape 12
- System: catacomb-adventure
- Size: 1.6 KB
- Validation: size
- Source:
src/Abyss/GameDetectionAbyss.h:75
AUDIO.ARM optional missing game_data
Catacomb Armageddon v1.02 sound chunks
- System: catacomb-adventure
- Size: 6.9 KB
- Validation: size
- Source:
src/Armageddon/GameDetectionArmageddon.h:29
EGAGRAPH.ARM optional missing game_data
Catacomb Armageddon v1.02 EGA graphics
- System: catacomb-adventure
- Size: 347.5 KB
- Validation: size
- Source:
src/Armageddon/GameDetectionArmageddon.h:30
GAMEMAPS.ARM optional missing game_data
Catacomb Armageddon v1.02 level maps
- System: catacomb-adventure
- Size: 17.2 KB
- Validation: size
- Source:
src/Armageddon/GameDetectionArmageddon.h:31
SHP1.ARM optional in repo game_data
Catacomb Armageddon v1.02 intro shape 1
- System: catacomb-adventure
- Size: 1.3 KB
- Validation: size
- Source:
src/Armageddon/GameDetectionArmageddon.h:32
SHP2.ARM optional missing game_data
Catacomb Armageddon v1.02 intro shape 2
- System: catacomb-adventure
- Size: 3.9 KB
- Validation: size
- Source:
src/Armageddon/GameDetectionArmageddon.h:33
SHP3.ARM optional missing game_data
Catacomb Armageddon v1.02 intro shape 3
- System: catacomb-adventure
- Size: 14.7 KB
- Validation: size
- Source:
src/Armageddon/GameDetectionArmageddon.h:34
SHP4.ARM optional missing game_data
Catacomb Armageddon v1.02 intro shape 4
- System: catacomb-adventure
- Size: 15.2 KB
- Validation: size
- Source:
src/Armageddon/GameDetectionArmageddon.h:35
SHP5.ARM optional missing game_data
Catacomb Armageddon v1.02 intro shape 5
- System: catacomb-adventure
- Size: 12.9 KB
- Validation: size
- Source:
src/Armageddon/GameDetectionArmageddon.h:36
SHP6.ARM optional missing game_data
Catacomb Armageddon v1.02 intro shape 6
- System: catacomb-adventure
- Size: 10.6 KB
- Validation: size
- Source:
src/Armageddon/GameDetectionArmageddon.h:37
SHP7.ARM optional missing game_data
Catacomb Armageddon v1.02 intro shape 7
- System: catacomb-adventure
- Size: 9.2 KB
- Validation: size
- Source:
src/Armageddon/GameDetectionArmageddon.h:38
SHP8.ARM optional missing game_data
Catacomb Armageddon v1.02 intro shape 8
- System: catacomb-adventure
- Size: 749 B
- Validation: size
- Source:
src/Armageddon/GameDetectionArmageddon.h:39
SHP9.ARM optional in repo game_data
Catacomb Armageddon v1.02 intro shape 9
- System: catacomb-adventure
- Size: 9.0 KB
- Validation: size
- Source:
src/Armageddon/GameDetectionArmageddon.h:40
SHP10.ARM optional in repo game_data
Catacomb Armageddon v1.02 intro shape 10
- System: catacomb-adventure
- Size: 9.7 KB
- Validation: size
- Source:
src/Armageddon/GameDetectionArmageddon.h:41
SHP11.ARM optional in repo game_data
Catacomb Armageddon v1.02 intro shape 11
- System: catacomb-adventure
- Size: 398 B
- Validation: size
- Source:
src/Armageddon/GameDetectionArmageddon.h:42
SHP12.ARM optional in repo game_data
Catacomb Armageddon v1.02 intro shape 12
- System: catacomb-adventure
- Size: 417 B
- Validation: size
- Source:
src/Armageddon/GameDetectionArmageddon.h:43
SHP13.ARM optional in repo game_data
Catacomb Armageddon v1.02 intro shape 13
- System: catacomb-adventure
- Size: 329 B
- Validation: size
- Source:
src/Armageddon/GameDetectionArmageddon.h:44
SHP14.ARM optional missing game_data
Catacomb Armageddon v1.02 intro shape 14
- System: catacomb-adventure
- Size: 1.6 KB
- Validation: size
- Source:
src/Armageddon/GameDetectionArmageddon.h:45
AUDIO.APC optional missing game_data
Catacomb Apocalypse v1.01 sound chunks
- System: catacomb-adventure
- Size: 7.2 KB
- Validation: size
- Source:
src/Apocalypse/GameDetectionApocalypse.h:29
EGAGRAPH.APC optional missing game_data
Catacomb Apocalypse v1.01 EGA graphics
- System: catacomb-adventure
- Size: 373.1 KB
- Validation: size
- Source:
src/Apocalypse/GameDetectionApocalypse.h:30
GAMEMAPS.APC optional missing game_data
Catacomb Apocalypse v1.01 level maps
- System: catacomb-adventure
- Size: 18.4 KB
- Validation: size
- Source:
src/Apocalypse/GameDetectionApocalypse.h:31
SHP1.APC optional in repo game_data
Catacomb Apocalypse v1.01 intro shape 1
- System: catacomb-adventure
- Size: 1.3 KB
- Validation: size
- Source:
src/Apocalypse/GameDetectionApocalypse.h:32
SHP2.APC optional missing game_data
Catacomb Apocalypse v1.01 intro shape 2
- System: catacomb-adventure
- Size: 6.2 KB
- Validation: size
- Source:
src/Apocalypse/GameDetectionApocalypse.h:33
SHP3.APC optional missing game_data
Catacomb Apocalypse v1.01 intro shape 3
- System: catacomb-adventure
- Size: 12.9 KB
- Validation: size
- Source:
src/Apocalypse/GameDetectionApocalypse.h:34
SHP4.APC optional missing game_data
Catacomb Apocalypse v1.01 intro shape 4
- System: catacomb-adventure
- Size: 13.3 KB
- Validation: size
- Source:
src/Apocalypse/GameDetectionApocalypse.h:35
SHP5.APC optional missing game_data
Catacomb Apocalypse v1.01 intro shape 5
- System: catacomb-adventure
- Size: 12.4 KB
- Validation: size
- Source:
src/Apocalypse/GameDetectionApocalypse.h:36
SHP6.APC optional missing game_data
Catacomb Apocalypse v1.01 intro shape 6
- System: catacomb-adventure
- Size: 10.9 KB
- Validation: size
- Source:
src/Apocalypse/GameDetectionApocalypse.h:37
SHP7.APC optional missing game_data
Catacomb Apocalypse v1.01 intro shape 7
- System: catacomb-adventure
- Size: 13.0 KB
- Validation: size
- Source:
src/Apocalypse/GameDetectionApocalypse.h:38
SHP8.APC optional missing game_data
Catacomb Apocalypse v1.01 intro shape 8
- System: catacomb-adventure
- Size: 640 B
- Validation: size
- Source:
src/Apocalypse/GameDetectionApocalypse.h:39
SHP9.APC optional in repo game_data
Catacomb Apocalypse v1.01 intro shape 9
- System: catacomb-adventure
- Size: 9.0 KB
- Validation: size
- Source:
src/Apocalypse/GameDetectionApocalypse.h:40
SHP10.APC optional in repo game_data
Catacomb Apocalypse v1.01 intro shape 10
- System: catacomb-adventure
- Size: 9.7 KB
- Validation: size
- Source:
src/Apocalypse/GameDetectionApocalypse.h:41
SHP11.APC optional in repo game_data
Catacomb Apocalypse v1.01 intro shape 11
- System: catacomb-adventure
- Size: 398 B
- Validation: size
- Source:
src/Apocalypse/GameDetectionApocalypse.h:42
SHP12.APC optional in repo game_data
Catacomb Apocalypse v1.01 intro shape 12
- System: catacomb-adventure
- Size: 417 B
- Validation: size
- Source:
src/Apocalypse/GameDetectionApocalypse.h:43
SHP13.APC optional in repo game_data
Catacomb Apocalypse v1.01 intro shape 13
- System: catacomb-adventure
- Size: 329 B
- Validation: size
- Source:
src/Apocalypse/GameDetectionApocalypse.h:44
SHP14.APC optional missing game_data
Catacomb Apocalypse v1.01 intro shape 14
- System: catacomb-adventure
- Size: 1.6 KB
- Validation: size
- Source:
src/Apocalypse/GameDetectionApocalypse.h:45
Generated on 2026-10-10T11:26:01Z