Jump to content

SA SCM: Difference between revisions

194 bytes removed ,  9 September 2010
no edit summary
No edit summary
No edit summary
Line 1: Line 1:
{{delete}}
A scm file is a binary file with certain structure. The common information about what this file is for can be found [[Mission_Scripting_(Overview)|here]]. The scm file structure looks like the following:
A scm file is a binary file with certain structure. The common information about what this file is for can be found [[Mission_Scripting_(Overview)|here]]. The scm file structure looks like the following:
====(02 00 01)h + 32 bit int     Jump to second segment
====(02 00 01)h + 32 bit int Jump to second segment
byte                         Padding
byte Padding
  (Global vars)              Space for variable saving
(Global vars)              Space for variable saving
(02 00 01)h + 32 bit int     Jump to third segment
(02 00 01)h + 32 bit int Jump to third segment
byte                         Segment id
byte Segment id
  32 bit int                Number of models
32 bit int                Number of models
   (model names)              24 byte model names * number of models(model 0 not used)
   (model names)              24 byte model names * number of models(model 0 not used)
(02 00 01)h + 32 bit int     Jump to fourth segment
(02 00 01)h + 32 bit int Jump to fourth segment
byte                         Segment id
byte Segment id
  32 bit int                MAIN size
32 bit int                MAIN size
   32 bit int                Largest mission size
   32 bit int                Largest mission size
   32 bit int                Number of missions
   32 bit int                Number of missions
   32 bit int                Highest number of locals used in mission/exernal
   32 bit int                Highest number of locals used in mission/exernal
   (mission addresses)        32 bit addresses * number of missions
   (mission addresses)        32 bit addresses * number of missions
(02 00 01)h + 32 bit int     Jump to fifth segment
(02 00 01)h + 32 bit int Jump to fifth segment
byte                         Segment id
byte Segment id
  32 bit int                Largest external size
32 bit int                Largest external size
   32 bit int                Number of externals
   32 bit int                Number of externals
   (external data):          28 byte external data * number of externals
   (external data):          28 byte external data * number of externals
Line 22: Line 23:
     32 bit int              Offset of external
     32 bit int              Offset of external
     32 bit int              Size of external
     32 bit int              Size of external
(02 00 01)h + 32 bit int     Jump to sixth segment
(02 00 01)h + 32 bit int Jump to sixth segment
byte                         Segment id
byte Segment id
32 bit int                (Unused)
(02 00 01)h + 32 bit int Jump to seventh segment
byte Segment id
32 bit int                Size of global var space
   32 bit int                (Unused)
   32 bit int                (Unused)
(02 00 01)h + 32 bit int    Jump to seventh segment
(MAIN code) MAIN section, equal to size defined earlier
byte                        Segment id
(mission code) The mission data, missions stored at offsets defined earlier====
  32 bit int                Size of global var space
  32 bit int                (Unused)
(MAIN code)                 MAIN section, equal to size defined earlier
(mission code)               The mission data, missions stored at offsets defined earlier====


{{stub}}
{{stub}}
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.