SA SCM

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