GED format

From ENIGMA
Revision as of 02:30, 25 March 2012 by IsmAvatar (talk | contribs) (→‎Documentation)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

GED (and their predecessor, GMP) files are Game Maker Extension Packages (version 1.02) without the actual dll/lib/scripts/etc data, which is stored separately in a DAT file. They are created by the Extension Maker. Related is the GEX (where DAT is also documented), which is an installable extension, essentially combining the GED and DAT files into one file.

The Extension Maker version 1.01 was made for GM 7 beta, and it used GMP files (with a .gmp extension), which, as far as I'm aware, use exactly the same format). When GM 7 was fully released (as in, no longer beta), the Extension Maker was bumped up to 1.02, and GMP was replaced by GED.

For notes on how to read this format, and other information, please see Format info.

  • Default values are 0 unless otherwise specified or marked with [1].
  • To best understand the meanings of these values, look at the Extension Maker and/or documentation for it.

Documentation

GM version needed for the following info (700)
Editable (1)
How long "Name:" is { "Name:" }
How long "Folder:" is[1] { "Folder:" }
How long "Version:" is[1] { "Version:" }
How long "Author:" is { "Author:" }
How long "Date:" is[1] { "Date:" (System-locale format, e.g. M/D/YYYY. Auto-updates on save) }
How long "License:" is[1] { "License:" }
How long "Description:" is { "Description:" }
How long "Help File:" is { "Help File:" }
Hidden
How many "Uses" lines there are
{
 How long this Uses line is { Uses line }
}
How many Files there are
{
 GM version needed for the following info (700)
 How long "File Name:" is { "File Name:" }
 How long "Original Name:" is { "Original Name:" }
 Kind (1 = DLL-based, 2 = GML-based, 3 = Action Library, 4 = Other file)
 How long "Initialization:" is[2] { "Initialization:" }
 How long "Finalization:" is[2] { "Finalization:" }
 How many Functions there are[2]
 {
  GM version needed for the following info (700)
  How long "Name:" is { "Name:" }
  How long "External Name:" is { "External Name:" }
  Calling Convention (2 = GML, 11 = stdcall*, 12 = cdecl)
  How long "Help Line:" is { "Help Line:" }
  Hidden
  How many Arguments there are (-1 = Arbitrary for GML only)
  <The following information is repeated 17 times for possible arguments>
  {
   Argument Type[2][3] (1 = String, 2 = Real*)
  }
  Result Type[2][3] (1 = String, 2 = Real*)
 }
 How many Constants there are[2]
 {
  GM version needed for the following info (700)
  How long "Name:" is { "Name:" }
  How long "Value:" is { "Value:" }
  Hidden
 }
}
  1. 1.0 1.1 1.2 1.3 1.4 See GM Extension Package Builder for default value, if interested
  2. 2.0 2.1 2.2 2.3 2.4 2.5 Cannot be changed from default value in Lib (3) and Other (4) Kinds
  3. 3.0 3.1 When specifying argument and return types, a value of 0 seems to be interpreted as Real.