Game Engines and Launch Files - RetroGFX/UnofficialOS GitHub Wiki
Game engines such as id Tech Software, GZDoom, Pico8, and ScummVM use launch files for launching the game with the specified files and mods. Most are configurable to enable different configurations of game files and mods per game.
Note: the extensions for game engine launch files are case-sensitive, so make sure the launch extensions (
.doom,.scummvm, etc) are lower case, and make sure any references to game files match the case of the game files exactly (e.g. if the game file isDOOM.WADthen trying to launch it asdoom.wadwon't work).
This covers id Software games, namely Doom, Quake and Wolfenstein 3D engines.
Running the scrpt in Tools -> Scan id Tech Files before adding game files will create the following folder structure:
/storage/roms/idtech
├── doom
│ ├── doom
│ ├── doom2
│ ├── doomu
│ ├── plutonia
│ ├── sigil
│ ├── sigil2
│ ├── tnt
├── doom3
│ ├── base
│ ├── d3xp
├── quake
│ ├── dopa
│ ├── hipnotic
│ ├── id1
│ └── rogue
│ ├── malice
├── quake2
│ ├── baseq2
│ ├── rogue
│ ├── xatrix
│ └── zaero
├── quake3
│ ├── baseq3
└── wolf3d
├── sod
└── wolf3d
Following the above folder structure, these are the required files and naming for the scan script to populate. Be aware these aren't always the only files required for the emulator/core to run the game.
| Game | Folder | Game Files |
|---|---|---|
| Doom | doom | doom.wad |
| Doom 2 | doom2 | doom2.wad |
| The Ultimate Doom | doomu | doomu.wad |
| The Plutonia Experiment | plutonia | plutonia.wad |
| SIGIL | sigil | sigil.wad |
| SIGIL II | sigil2 | sigil2.wad |
| TNT Evilution | tnt | tnt.wad |
| Doom 3 | base | pak000.pk4 |
| Doom 3 - Resurrection of Evil | d3xp | pak000.pk4 |
| Quake | id1 | pak0.pak |
| Quake - Scourge of Armagon | hipnotic | pak0.pak |
| Quake - Dissolution of Eternity | rogue | pak0.pak |
| Quake - Dimension of the Past | dopa | pak0.pak |
| Malice | malice | pak0.pak |
| Quake 2 | baseq2 | pak0.pak |
| Quake 2 - The Reckoning | xatrix | pak0.pak |
| Quake 2 - Ground Zero | rogue | pak0.pak |
| Quake 2 - Zaero | zaero | pak0.pak |
| Quake 3 | baseq3 | pak0.pk3 |
| Wolfenstein 3D | wolf3d | vswap.wl6 |
| Wolfenstein 3D - Spear of Destiny | sod | vswap.sod |
Run Tools -> Scan id Tech Files to create launch scripts, and EmulationStation should restart automatically and populate the gamelists. If you don't see the id Tech system in ES, then rescan gamelists, restart EmulationStation, or reboot the unit. This can be re-run at any time should you add additional game files.
| Name | Documentation |
|---|---|
| prboom | docs.libretro.com/library/prboom |
| boom3 boom3_xp |
docs.libretro.com/library/boom3 |
| tyrquake | docs.libretro.com/library/tyrquake |
| vitaquake2 vitaquake2-xatrix vitaquake2-rogue vitaquake2-zaero |
None available |
| ecwolf | docs.libretro.com/library/ecwolf |
Doom3 and Quake3 are only for x86-64 based devices.
Doom ShareWare will be preinstalled after running Tools -> Scan id Tech Files.
GZDoom will detect the analog stick automatically, this makes menus navigatable. UnofficialOS does not provide any controls mapping for GZDoom, as there is no obvious default mapping as with console emulators. Users have to map their own preferred controls.
These files must be created for each WAD that you want to load with GZDoom. The file contains IWAD variables and optional MOD variables. Multiple IWAD and MOD variables can be used in the same file to load multiple wads, mods and packages. Therefore, multiple .doom files can be created for the same WAD for each configuration of the game.
It is recommended to store WAD files in a iwads subfolder and MODs in a mods subfolder and include the full path to each file in the .doom file.
/roms/doom/
├─ doom2.doom
├─ heretic-mod.doom
├─ iwads/
│ ├─ doom2.wad
│ ├─ heretic.wad
│ └─ IWMPP_Heretic.wad
└─ mods/
├─ precise-crosshair-v1.4.1.pk3
└─ target-spy-v2.0.1.pk3Example: /storage/roms/doom/doom2.doom contains
IWAD=/storage/roms/doom/iwads/doom2.wad
to load vanilla Doom 2
Note: don't leave any space between
GRPorPATHand=and enclose filenames containing spaces with "quotes"
Example: /storage/roms/doom/heretic-mod.doom contains
IWAD=/storage/roms/doom/iwads/heretic.wad
IWAD=/storage/roms/doom/iwads/IWMPP_Heretic.wad
MOD=/storage/roms/doom/mods/precise-crosshair-v1.4.1.pk3
MOD=/storage/roms/doom/mods/target-spy-v2.0.1.pk3
-- end --
to load Heretic with additional patches and mods.
Note: add
-- end --to the end of the file when it contains multiple lines
Pico-8 games are best played with the default emulator as it supports all native features without any limitations. You need to purchase it from Lexaloffle and we do recommend that you buy a copy if you can. Its an awesome piece of software and it also comes with the tools to make your own games.
Once you have purchased a license; the files you need will depend on the device you are using. These instructions will walk through how to set things up to work on all of our supported devices.
- Go to Lexaloffle's download page
- From that page download the
Linux 64-bitzip file and theRaspberry Pizip file - From the Linux 64-bit zip file...
- Create a directory in
roms/pico-8calledx86_64 - Upload the
pico8_dynandpico8.datfrom the Linux 64-bit zip to this directory (you do not need any other files)
- Create a directory in
- From the Raspberry Pi zip file...
- Create a directory in
roms/pico-8calledaarch64 - Upload the
pico8_64andpico8.datfrom the Raspberry Pi zip to this directory (you do not need any other files)
- Create a directory in
/roms/pico-8/
├─ x86_64/
│ ├─ pico8_dyn
│ ├─ pico8.dat
├─ aarch64/
│ ├─ pico8_64
│ ├─ pico8.dat
└─ Splore.pngOnce the above is set up is you have 2 options for playing games through Pico-8's native engine:
- Using Splore
- Splore is awesome as it allows you to browse and play the entire library of user created games with an internet connection.
- To use this method simply launch
Splorefrom the gamelist. - Note that you will need an internet connection to browse the pico-8 BBS (If you don't have an internet connection you can still use it to launch games you have downloaded previously)
- To exit a game and return to EmulationStation you can either (1) press the ++"START"++ button while highlighting a game in Splore then selecting
Options > Shutdownor (2) Press ++"L1"++ + ++"SELECT"++ + ++"START"++
- Through .png or .p8 files added directly
roms/pico-8orroms/pico-8/carts- Browse the list of games (aka. "Carts") on Lexaloffle's website
- Download the .png or .p8 file for any game you are interested in playing and upload it to either
roms/pico-8orroms/pico-8/carts-
roms/pico-8is recommended if you want to have your games show up directly when you open the Pico-8 system in ES -
roms/pico-8/cartsis recommended if you plan to use Splore directly and also want to see your downloaded carts in the Splore interface.
-
- Refresh EmulationStation by pressing ++"START"++ to open the Main Menu then select
Game Settings > Update Gamelists. - You should now be able to launch the game by selecting it from the gamelist.
- To exit a game and return to EmulationStation you can either (1) press the ++"START"++ button then selecting
Options > Shutdownor (2) Press ++"L1"++ + ++"SELECT"++ + ++"START"++
!!! warning "Fake-08 does not support all the native features of Pico-8 so its not guaranteed that every game will work with it."
- Set the default emulator for Pico-8 to Fake-08
- Browse the list of games (aka. "Carts") on Lexaloffle's website
- Download the .png file for any game you are interested in playing and upload it to
roms/pico-8 - Refresh EmulationStation by pressing ++"START"++ to open the Main Menu then select
Game Settings > Update Gamelists. - You should now be able to launch the game by selecting it from the gamelist.
These files are created by _Scan ScummVM Games.sh script in /storage/.config/scummvm folder (which is also displayed in EmuStation). The script scans for game folders and generates the relevant .scummvm files to launch those games. The files are stored in /storage/.config/scummvm/games.
.scummvm files are named using the common name of the game and the Game Short Name in brackets (e.g. Beneath a Steel Sky (sky).scummvm).
.scummvm files contain a single line in the form:
-
--path=variable and the path to the folder containing the game, followed by - Game Short Name
Example: /storage/.config/scummvm/games/Beneath a Steel Sky (sky).scummvm contains
--path="/storage/roms/scummvm/Beneath a Steel Sky (CD VGA)" sky
Note: enclose filenames containing spaces with "quotes"
Note:
.scummvmand.svmfiles are identical and interchangeable
Note: the
.scummvmfiles are NOT stored in/storage/roms/scummvmand any.scummvmfiles stored there will not be displayed by EmuStation. EmuStation only displays.scummvmfiles that are in/storage/.config/scummvm/games.
Note: to display metadata and media within EmuStation, put
gamelist.xmlin/storage/.config/scummvm/gamesand media into relevant subfolders (e.g./storage/.config/scummvm/games/mediafolder withboxart,imagesandvideossubfolders)