Editing GFS

From Eternity Wiki
Jump to navigationJump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

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.  


Since 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 functionality cannot be duplicated with batch or response files.  
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. <code>#</code>, <code>//</code>, and <code>/* */</code> comments are also supported. To see thorough information on these elements of the syntax, see the General Syntax section of the Eternity Engine EDF Reference.
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}}
{{editref}}
{{editref}}
==Using GFS==
==Using GFS==


To use a GFS file, use the <code>-gfs</code> 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.  
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 16:
  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 <code>-gfs</code> parameter).
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).
Please note that all contributions to Eternity Wiki are considered to be released under the GNU Free Documentation License 1.2 (see Eternity Wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!
Cancel Editing help (opens in new window)

Templates used on this page: