RigelEngine
RigelEngine emulates Duke Nukem II. It reads 6 files, 1 of them required: without a required file it does not start games.
About this profile
Install this emulator's files
With EmuELEC: the installer finds EmuELEC and its BIOS folder, then downloads only the files RigelEngine reads there and checks each one.
Open a terminal on the device. Or connect from a computer with SSH, a terminal over the network. Paste the line. Press Enter.
curl -fsSL https://raw.githubusercontent.com/Abdess/retrobios/main/install.sh | sh -s -- --emulator rigelengineTechnical notes
Reimplementation of the Duke Nukem II engine (Apogee, 1993). It plays the data files of the DOS release, shareware or registered.
Game path. The path comes from the positional command line argument
(src/main.cpp:222), else the working directory when it holds NUKEM2.CMP,
else a folder browser (src/game_main.cpp:101-125). A folder is accepted only
when NUKEM2.CMP exists in it (src/game_main.cpp:72-78, 136-142) and the
choice is kept in the user profile (src/game_main.cpp:152-153, 235-240).
File names are opened as written, in upper case.
NUKEM2.CMP is an archive with a dictionary of 12-character names, offsets
and sizes. Every game asset is read from it (src/,
515-537). The only check is that each entry lies inside the file
(src/). No size, CRC or hash is compared.
Shareware or registered. The registered set is assumed when the archive
holds LCR.MNI and O1.MNI (src/frontend/game.cpp:235-245). With the
shareware set, episodes 2 to 4 answer with the ordering message
(src/) and saves of those episodes are
refused (src/). The shareware episode plays
in full.
Intro movies. NUKEM2.F1 to NUKEM2.F4 are loaded loose from the game path
(src/) when the intro is built
(src/ui/intro_movie.cpp:72, 80, 94, 108), and NUKEM2.F5 is the Apogee logo
(src/ui/apogee_logo.cpp:63-67). A missing file throws and the intro or the
logo is skipped (src/, 64-77).
On first launch the original game's saves, high scores and settings
(NUKEM2.-NM, NUKEM2.-S1 to -S8, NUKEM2.-V1 to -V4, NUKEM2.-GT) are imported
when present (src/). They are user
data, not distributed files.
The shareware release that the project points to is
archive.org msdos_DUKE2_shareware, DUKE2.zip (README.md:82,
cmake/rigel_pack.cmake:14-17). It holds NUKEM2.CMP and all five movies.
NUKEM2.EXE in that release is never opened.
EmuELEC 4.8 builds commit f05996f9b3ad3b3ea5bb818e49e7977636746343, where every file cited above is identical, and passes /storage/roms/ports/rigelengine as the game path.
6 files: 1 required, 5 optional.
By kind: 6 game data.
| File | Required |
|---|---|
NUKEM2.CMP |
yes |
NUKEM2.F1 |
no |
NUKEM2.F2 |
no |
NUKEM2.F3 |
no |
NUKEM2.F4 |
no |
NUKEM2.F5 |
no |
In this collection: 6 in repo and 0 missing.
Game data
Section titled “Game data”6 files
NUKEM2.CMP required in repo game data
Game data archive: levels, graphics, sounds, music and texts
- System: Duke Nukem II
- Source:
src/game_main.cpp:72-78,src/game_main.cpp:136-142,src/assets/ resource_loader.cpp:148 - Collection copy:
bios/Apogee/ Duke Nukem II/ NUKEM2.CMP - Platforms: EmuELEC:
ports/rigelengine/NUKEM2.CMP
- Its presence validates the game path. The shareware archive plays episode 1, the registered one all four.
NUKEM2.F1 optional in repo game data
Intro movie, shot at the shooting range
- System: Duke Nukem II
- Source:
src/ui/intro_movie.cpp:80,src/frontend/ intro_demo_loop_mode.cpp:38-44 - Collection copy:
bios/Apogee/ Duke Nukem II/ NUKEM2.F1 - Platforms: EmuELEC:
ports/rigelengine/NUKEM2.F1
- The intro needs F1 to F4 together, it is skipped when one is missing
NUKEM2.F2 optional in repo game data
Intro movie, Neo LA opening scene
- System: Duke Nukem II
- Source:
src/ui/intro_movie.cpp:72,src/frontend/ intro_demo_loop_mode.cpp:38-44 - Collection copy:
bios/Apogee/ Duke Nukem II/ NUKEM2.F2 - Platforms: EmuELEC:
ports/rigelengine/NUKEM2.F2
- The intro needs F1 to F4 together, it is skipped when one is missing
NUKEM2.F3 optional in repo game data
Intro movie, target hit
- System: Duke Nukem II
- Source:
src/ui/intro_movie.cpp:94,src/frontend/ intro_demo_loop_mode.cpp:38-44 - Collection copy:
bios/Apogee/ Duke Nukem II/ NUKEM2.F3 - Platforms: EmuELEC:
ports/rigelengine/NUKEM2.F3
- The intro needs F1 to F4 together, it is skipped when one is missing
NUKEM2.F4 optional in repo game data
Intro movie, end of the shooting range scene
- System: Duke Nukem II
- Source:
src/ui/intro_movie.cpp:108,src/frontend/ intro_demo_loop_mode.cpp:38-44 - Collection copy:
bios/Apogee/ Duke Nukem II/ NUKEM2.F4 - Platforms: EmuELEC:
ports/rigelengine/NUKEM2.F4
- The intro needs F1 to F4 together, it is skipped when one is missing
NUKEM2.F5 optional in repo game data
Apogee logo movie
- System: Duke Nukem II
- Source:
src/ui/apogee_logo.cpp:63-67,src/,frontend/ intro_demo_loop_mode.cpp:49-55 src/frontend/ intro_demo_loop_mode.cpp:64-70 - Collection copy:
bios/Apogee/ Duke Nukem II/ NUKEM2.F5 - Platforms: EmuELEC:
ports/rigelengine/NUKEM2.F5
- The logo is skipped when the file is missing
Next steps
Section titled “Next steps”- Get your files, for the setup you play on
- Every system, and the files each one needs
- When a game does not start