GTA Wiki
Register
GTA Wiki
19,748
pages
(Removed speedy deletion template [Reason: The reason for speedy deletion is not obvious to me.])
No edit summary
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
 
An 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:
{{Prod}}
 
  +
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/external
 
(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
Line 23: 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)
 
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 (Unused)
 
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
   
 
{{stub}}
 
{{stub}}
   
{{fdl}}
+
{{fdl}}
 
[[Category:Mission Script]]
 
[[Category:Mission Script]]
 
[[Category:File Formats]]
 
[[Category:File Formats]]

Latest revision as of 01:46, 21 November 2012

An 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/external
 (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

Site-logo
This article contains insufficient information and is considered as a Stub.
You can help by expanding it as much as you can.

Copyrighted

This page is licensed under the GNU Free Documentation Licence. This page has a separate license to the CC-BY-SA that applies to most of GTA Wiki.

The full text of the GNU FDL v1.2 is here. Click the "History" button to see the full list of authors. See GTA Wiki:Copyright for more detail on our copyright policy.