SA SCM: Difference between revisions
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 | ====(02 00 01)h + 32 bit int Jump to second segment | ||
byte | byte Padding | ||
(Global vars) Space for variable saving | |||
(02 00 01)h + 32 bit int | (02 00 01)h + 32 bit int Jump to third segment | ||
byte | byte Segment id | ||
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 | (02 00 01)h + 32 bit int Jump to fourth segment | ||
byte | byte Segment id | ||
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 | (02 00 01)h + 32 bit int Jump to fifth segment | ||
byte | byte Segment id | ||
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 | (02 00 01)h + 32 bit int Jump to sixth segment | ||
byte | 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) | ||
(MAIN code) MAIN section, equal to size defined earlier | |||
(mission code) The mission data, missions stored at offsets defined earlier==== | |||
(MAIN code) | |||
(mission code) | |||
{{stub}} | {{stub}} |