Editing GFS
From Eternity Wiki
Jump to navigationJump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 1: | Line 1: | ||
'''GFS''', or '''Game File Script''', is a method of adding multiple data files to [[Eternity]] at once with the use of only one command-line parameter. GFS syntax allows for more safety and semantic checking than do batch files or response files. GFS also doesn't exclude the use of any other command-line parameters in addition to itself, so you can override files added in a GFS with your own if needed. GFS is designed primarily for distribution along with modifications such as PCs, TCs, megawads, etc., to make it easier for users to play them without need for lots of command-line parameters. | '''GFS''', or '''Game File Script''', is a new method of adding multiple data files to [[Eternity]] at once with the use of only one command-line parameter. GFS syntax is extremely simple, and allows for more safety and semantic checking than do batch files or response files. GFS also doesn't exclude the use of any other command-line parameters in addition to itself, so you can override files added in a GFS with your own if needed. GFS is designed primarily for distribution along with modifications such as PCs, TCs, megawads, etc., to make it easier for users to play them without need for lots of command-line parameters. | ||
Now that Eternity supports drag-and-drop file loading in windowed operating systems, users can also start your project by simply dragging a GFS onto Eternity. This is the absolute best way to load a project, perhaps aside from using a frontend. This functionality cannot be duplicated with batch or response files. | |||
GFS uses the same parser as [[EDF]] and [[ExtraData]], and therefore shares most of the same syntactic elements. GFS is free-form, meaning that whitespace is ignored and that other tokens' positions are irrelevant to their meanings. | GFS uses the same libConfuse parser as [[EDF]] and [[ExtraData]], written by Martin Hedenfalk, and therefore shares most of the same syntactic elements. GFS is free-form, meaning that whitespace is ignored and that other tokens' positions are irrelevant to their meanings. #, //, and /* */ comments are also supported, but are not very important for GFS files, so they will not be discussed in this document. To see thorough information on these elements of the syntax, see the General Syntax section of the Eternity Engine EDF Reference. | ||
GFS supports long file names, but they must be enclosed in quotation marks if they contain spaces. | GFS supports long file names under operating systems other than DOS, but they must be enclosed in quotation marks if they contain spaces. | ||
{{Backto|Eternity Engine}} | {{Backto|Eternity Engine}} | ||
==Using GFS== | ==Using GFS== | ||
To use a GFS file, use the | To use a GFS file, use the -gfs command-line parameter, and give it an argument of one absolute file path to the desired GFS file. If the GFS file is in the executable's directory, it is not necessary for the path to be absolute, but otherwise GFS may not function properly if the path is only relative. | ||
Example: | Example: | ||
Line 16: | Line 15: | ||
eternity -gfs C:\Games\AliensTC\atc.gfs | eternity -gfs C:\Games\AliensTC\atc.gfs | ||
GFS files can also be loaded by drag-and-drop or typing the name(s) directly after the "eternity" executable (without the | GFS files can also be loaded by drag-and-drop or typing the name(s) directly after the "eternity" executable (without the -gfs parameter). | ||
A "default.gfs" file can be included in the game subfolder (Doom, Doom2, Heretic...) of the "base" folder, and it will be loaded automatically when the specified game is loaded, if not specified otherwise (-gfs or drag-drop). | A "default.gfs" file can be included in the game subfolder (Doom, Doom2, Heretic...) of the "base" folder, and it will be loaded automatically when the specified game is loaded, if not specified otherwise (-gfs or drag-drop). | ||
Line 60: | Line 59: | ||
GFS WAD files will be added before any other WAD files added via the command-line or specified in the configuration file, so that any WADs specified there can override those in the GFS. | GFS WAD files will be added before any other WAD files added via the command-line or specified in the configuration file, so that any WADs specified there can override those in the GFS. | ||
Example of Usage: | Example of Usage: |