Difference between revisions of "SA SCM"
Jump to navigation
Jump to search
m (stub template) |
|||
| Line 1: | Line 1: | ||
| + | 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 | ||
| Line 23: | Line 25: | ||
(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 | + | 32 bit int (Unused) |
(02 00 01)h + 32 bit int Jump to seventh segment | (02 00 01)h + 32 bit int Jump to seventh segment | ||
byte Segment id | byte Segment id | ||
32 bit int Size of global var space | 32 bit int Size of global var space | ||
| − | 32 bit int | + | 32 bit int (Unused) |
(MAIN code) MAIN section, equal to size defined earlier | (MAIN code) MAIN section, equal to size defined earlier | ||
(mission code) The mission data, missions stored at offsets defined earlier | (mission code) The mission data, missions stored at offsets defined earlier | ||
| Line 33: | Line 35: | ||
{{Script-stub}} | {{Script-stub}} | ||
| − | [[Category:Mission Script]] | + | [[Category:Mission Script]] [[Category:File Formats]] |
Revision as of 15:34, 9 October 2007
A scm file is a binary file with certain structure. The common information about what this file is for can be found here. The scm file structure looks like the following:
(02 00 01)h + 32 bit int Jump to second segment
byte Padding
(Global vars) Space for variable saving
(02 00 01)h + 32 bit int Jump to third segment
byte Segment id
32 bit int Number of models
(model names) 24 byte model names * number of models(model 0 not used)
(02 00 01)h + 32 bit int Jump to fourth segment
byte Segment id
32 bit int MAIN size
32 bit int Largest mission size
32 bit int Number of missions
32 bit int Highest number of locals used in mission/exernal
(mission addresses) 32 bit addresses * number of missions
(02 00 01)h + 32 bit int Jump to fifth segment
byte Segment id
32 bit int Largest external size
32 bit int Number of externals
(external data): 28 byte external data * number of externals
20 bytes Name of external
32 bit int Offset of external
32 bit int Size of external
(02 00 01)h + 32 bit int Jump to sixth segment
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)
(MAIN code) MAIN section, equal to size defined earlier
(mission code) The mission data, missions stored at offsets defined earlier