Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
Quasar

EE update: -game command-line parameter

Recommended Posts

Though long-delayed, work on EE 3.37.00 continues. I've completed revamping the semantics of the new -game command-line parameter, which specifies the game folder to use under the base directory. The new semantics allow any DOOM mod, or even a set of unrelated files, to be treated as a game.

Here's what's supported:

* default.gfs

Each game folder can contain a default.gfs file, which like all GFS, can specify an IWAD, root EDF, and any number of WAD, DEH/BEX, and CSC files anywhere on your hard drive. Settings specified in this GFS file override other settings.

* IWADs

When -iwad isn't used and the default.gfs doesn't specify an iwad, <game>.wad is first looked for (ex: if -game doom is used, base/doom/doom.wad is the first IWAD looked for). If this file doesn't exist, base/game is checked for any other standard-named IWADs before going on with the ordinary IWAD file search process.

* root.edf

If -edf isn't used and the default.gfs doesn't specify a root EDF file, a file named root.edf will be loaded from the base/game directory if it exists (otherwise the default base/root.edf is used as normal).

* base/game/autoload

All WAD, DEH/BEX, and CSC files under the base/game/autoload folder (if it exists) are loaded or run.

* Resource wad

If "eternity.wad" exists under base/game, that file will be loaded as the engine resource wad. If it does not, the default resource wad from base/doom will be used.

Together, these features allow running the normal games, 3rd party mods, and other sets of files with a single command-line argument. Here are some examples:

eternity -game doom
eternity -game doom2
eternity -game heretic
eternity -game alienstc
eternity -game batman

The latter two assume you've created alienstc and batman folders under your EE base directory, and either used default.gfs to point the game to the proper files to load, or utilized a combination of IWAD placement and/or the autoload directory to have the game find the proper files. It's very flexible and powerful.

Share this post


Link to post

Ah, this is like the same command in Quake.

Still, it only allows stuff from subdirs directly under the base folder? I don't see why you shouldn't allow any path. Since some people use multiple engines, they don't like copying the IWADs over and over under each engine just because of a limitation.

That way it could be, for example:

eternity -game doom
eternity -game doom2
eternity -game ..\heretic
eternity -game tc\doom\alienstc
eternity -game tc\doom2\batman

Share this post


Link to post

This is why default.gfs is supported. GFS are capable of pointing to files anywhere. Here's an example of how default.gfs in base/doom2 could point to the Doom 2 IWAD without requiring any files to be copied:

iwad = "c:/doom2/doom2.wad"
GFS is a feature for adding files to Eternity en masse that's existed since the EDF/ExtraData parser (libConfuse) was added, as it uses the same code. This new game system allows it to become even more useful. GFS can specify wads, deh/bex, console scripts, a root EDF, and an IWAD.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  
×