The install file resides in each game's launch folder. The purpose of this file is to automate the process of decompressing the game, however it is capable of several other functions as well.
If the installer is run after a game has already been installed it will give the user the option of removing the decompressed game. This does not remove the game's zip file, which means the game can be reinstalled anytime the user wishes. It does however remove any user generated files, such as save games.
If the user choose not to remove the game's files, they will then be prompted with the opportunity to make any changes to the game's configuration options.
The installer works with the EXO Plugin. Each time it is run from LaunchBox, the plugin will check to see which folders have either been added or removed. The corresponding game is then either added or removed from the Installed Games Playlists.
The install.bat file can be found in each game's launch folder. This is located under the root folder of your project install folder in: .\eXo\<project name>\!<project short name>\<game short name>
For example, DOOM install folder, from eXoDOS, would be located in: .\eXo\eXoDOS\!dos\DOOM
Decompress Existing Game
Quite simply, this unzip the game file in the game's folder. It determines the name of the game file by referencing the .bat file in the same folder. The Launcher has the same file name as the compressed game file, which allows this association to be made. The game's <short name> (an 8 char or less code) is assigned to both the game's launch folder and the folder inside the game's zip file.
Download Game if not Present
In the installer detects that the game's zip file is not on the hard drive, it will attempt to offer an opportunity to download it. This was designed for the Lite version of the projects. It accomplishes this by referencing an index file in the .\eXo\util\aria folder. This index file is a list of every game in the released torrent, along with it's size on disk, and a number which correlates to it's file number in the torrent.
The installer will present a prompt that defines the game and the game's size, and ask if the user would like to download. In the event of a confirmation, the installer will call aria2c. This application is capable of grabbing files from remote sources, included websites, ftp, and torrent files. In the case of the eXo projects, it will attempt to connect to the latest full release torrent file and grab the specific file as identified by the index. A rudimentary progress meter is shown. As this is a command line torrent connection, the time of download will be highly dependent on the user's connection and the number of available seeds.
Upon download the game is checked to ensure the download finished. It is then moved to the games folder and the installer cleans up the download folders.
When a game is being downloaded, a flag is et to block any other aria2c downloads from taking place. This is to prevent confusion in the clean-up process.
Apply any Existing Updates
The project Updater stores difference files for updated games in a folder. This is to keep the original file in tact for seeding purposes. After a game is decompressed, this folder is checked. If a file with the same name as the game exists, it will be extracted on top of the existing game. This will update any files within the folder.
Check & Set Global Configuration Options
In current versions of the eXo projects, the following settings can be changed here:
- Screen Size (Full or Windowed)
- Window Resolution
- Aspect Ratio
As of eXoDOS v6.0 & eXoWin3x v3.0, these 3 key options have been moved to a global configuration file. These eliminated the need for the Project Setup to have to process all 7,200+ conf files and make these changes. The changes are stored in the options.conf file which resides in:
The installer will check the values of this file and present them to the user.
Choices are Full Screen or Windowed. Self explanatory.
This affects the size of your window if you have chosen windowed mode above. Choices are: Small desktop resolution (less than 1080) Medium desktop resolution (1080) Large desktop resolution (4k)
To be clear, the window sizes are not the same as the desktop resolution. Rather, these are window sizes chosen to best fit the noted desktop resolution. In order to preserve the proper scale of the screen, window sizes have been chosen that natively scale to the game's original desktop resolution.
Aspect ratio may be turned ON or OFF. Aspect ratio is generally recommended to be on. Most MS-DOS games were designed to be played on a 4:3 ratio monitor. Without aspect ratio enabled, this screen size is generally stretched out to fit to full width of todays 16:9 ratio screens. This leads towards distortion, such as circles becoming ovals or characters appearing to be "fat". Enabling aspect ratio will place black bars on the sides of the screen (when in full screen) to preserve the proper pixel size and shape.
Set Game Specific Scaler Options
Game scalers are used to scale the pixels in various ways. This can be done for upscaling purposes or just to create unique effects, such as emulating the scan lines of on older monitor. eXo Projects default to normal2x, however the following modes are also available:
- no scaler
The DOSBox wiki breaks down scalers with a good example.