Difference between revisions of "LCS/VCS SCM"

From GTAMods Wiki
Jump to navigation Jump to search
m (No need to specify the target game beyond LCS and VCS.)
(Documented unknown thingys according to Mobile symbols.)
Line 1: Line 1:
   32 bit int                 MAIN size - 8
+
   32-bit int                   Main script size - 8
   32 bit int                 Largest mission size
+
   32-bit int                   Largest mission script size
  (02 00 06)h + 32 bit int     Jump to second segment - 8
+
  (02 00 06)h + 32-bit int       Jump to second segment - 8
  byte                         Target game ('l' - Liberty for LCS, 'm' - Miami for VCS)
+
  byte                           Target game ('l' - Liberty for LCS, 'm' - Miami for VCS)
   (global vars)              Space for variable saving
+
   (Globals space)              Space for global variable storage
  (02 00 06)h + 32 bit int     Jump to third segment - 8
+
  (02 00 06)h + 32-bit int       Jump to third segment - 8
  byte                         Align (always 0)
+
  byte                           Align (always 0)
   32 bit int                 Subsegments size
+
   32-bit int                   Number of save variables
   (data of 2 subsegments)    (1 byte value incrementing by 4 each time and 1 byte value incrementing by 1 each block) * (subsegments size * 2)
+
   (Saved variable indices)    2-byte variable index * number of save variables
   32 bit int                 Number of models
+
   32-bit int                   Number of used objects
   (model names)             24 byte model names * number of models (model 0 name is empty and therefore unused)
+
   (Used object array)         24-byte object name * number of used objects (first object name is empty and therefore unused)
  (02 00 06)h + 32 bit int     Jump to fourth segment - 8
+
  (02 00 06)h + 32-bit int       Jump to fourth segment - 8
  byte                         Align (always 0)
+
  byte                           Align (always 0)
   32 bit int                 Unknown size
+
   16-bit int                  Number of true globals
   32 bit int                 Largest mission size
+
  16-bit int                   Most globals
   32 bit int                 Number of missions
+
   32-bit int                   Largest mission script size
   (mission addresses)       (32 bit addresses - 8) * number of missions
+
   16-bit int                  Number of mission scripts
  (MAIN code)                 MAIN section, equal to size defined earlier
+
  16-bit int                   Number of exclusive mission scripts
  (mission code)               The mission data, missions stored at offsets defined earlier
+
   (Multi script array)         (32-bit offset - 8) * number of mission scripts
 +
  (Main script space)           Space of main script (equal to size defined earlier)
 +
  (Mission scripts space)       Space of mission scripts (stored at offsets defined earlier)
 +
 
 +
==See also==
 +
* [[SCM language]]
  
 
[[Category:Mission Script]] [[Category:File Formats]]
 
[[Category:Mission Script]] [[Category:File Formats]]

Revision as of 12:32, 26 June 2016

  32-bit int                   Main script size - 8
  32-bit int                   Largest mission script size
(02 00 06)h + 32-bit int       Jump to second segment - 8
byte                           Target game ('l' - Liberty for LCS, 'm' - Miami for VCS)
  (Globals space)              Space for global variable storage
(02 00 06)h + 32-bit int       Jump to third segment - 8
byte                           Align (always 0)
  32-bit int                   Number of save variables
  (Saved variable indices)     2-byte variable index * number of save variables
  32-bit int                   Number of used objects
  (Used object array)          24-byte object name * number of used objects (first object name is empty and therefore unused)
(02 00 06)h + 32-bit int       Jump to fourth segment - 8
byte                           Align (always 0)
  16-bit int                   Number of true globals
  16-bit int                   Most globals
  32-bit int                   Largest mission script size
  16-bit int                   Number of mission scripts
  16-bit int                   Number of exclusive mission scripts
  (Multi script array)         (32-bit offset - 8) * number of mission scripts
(Main script space)            Space of main script (equal to size defined earlier)
(Mission scripts space)        Space of mission scripts (stored at offsets defined earlier)

See also