Difference between revisions of "LCS/VCS SCM"
Jump to navigation
Jump to search
(Documented unknown thingys according to Mobile symbols.) |
m (Finalised article information (awating VCS Mobile release).) |
||
Line 1: | Line 1: | ||
32-bit int Main script size - 8 | 32-bit int Main script size - 8 | ||
32-bit int Largest mission script size | 32-bit int Largest mission script size | ||
− | (02 00 06)h + 32-bit | + | (02 00 06)h + 32-bit offset '''GOTO''' next header chunk - 8 |
− | byte Target game ('l' - Liberty for LCS, 'm' - Miami for VCS) | + | byte Target game ('l' - Liberty for LCS{{ref|*}}, 'm' - Miami for VCS, unused at runtime) |
− | ( | + | (Global variable space) Space for global variable storage (first global offset is 8) |
− | (02 00 06)h + 32-bit | + | (02 00 06)h + 32-bit offset '''GOTO''' next header chunk - 8 |
− | byte | + | byte Alignment (always 0, ignored) |
32-bit int Number of save variables | 32-bit int Number of save variables | ||
(Saved variable indices) 2-byte variable index * number of save variables | (Saved variable indices) 2-byte variable index * number of save variables | ||
− | 32-bit int Number of used objects | + | 32-bit int Number of used objects (at least 1) |
(Used object array) 24-byte object name * number of used objects (first object name is empty and therefore unused) | (Used object array) 24-byte object name * number of used objects (first object name is empty and therefore unused) | ||
− | (02 00 06)h + 32-bit | + | (02 00 06)h + 32-bit offset '''GOTO''' main script space - 8 (third header chunk is compiled only in script multifile) |
− | byte | + | byte Alignment (always 0, ignored) |
16-bit int Number of true globals | 16-bit int Number of true globals | ||
16-bit int Most globals | 16-bit int Most globals | ||
Line 19: | Line 19: | ||
(Multi script array) (32-bit offset - 8) * number of mission scripts | (Multi script array) (32-bit offset - 8) * number of mission scripts | ||
(Main script space) Space of main script (equal to size defined earlier) | (Main script space) Space of main script (equal to size defined earlier) | ||
− | (Mission scripts space) Space of mission scripts (stored at offsets defined earlier) | + | (Mission scripts space) Space of mission scripts (each one is stored at file offsets defined earlier) |
− | + | {{note|*}} Fun fact: the script multifile of LCS Mobile has been "erroneously" compiled in ''Miami'' mode. | |
− | * | ||
[[Category:Mission Script]] [[Category:File Formats]] | [[Category:Mission Script]] [[Category:File Formats]] |
Revision as of 11:02, 23 January 2017
32-bit int Main script size - 8 32-bit int Largest mission script size (02 00 06)h + 32-bit offset GOTO next header chunk - 8 byte Target game ('l' - Liberty for LCS[*], 'm' - Miami for VCS, unused at runtime) (Global variable space) Space for global variable storage (first global offset is 8) (02 00 06)h + 32-bit offset GOTO next header chunk - 8 byte Alignment (always 0, ignored) 32-bit int Number of save variables (Saved variable indices) 2-byte variable index * number of save variables 32-bit int Number of used objects (at least 1) (Used object array) 24-byte object name * number of used objects (first object name is empty and therefore unused) (02 00 06)h + 32-bit offset GOTO main script space - 8 (third header chunk is compiled only in script multifile) byte Alignment (always 0, ignored) 16-bit int Number of true globals 16-bit int Most globals 32-bit int Largest mission script size 16-bit int Number of mission scripts 16-bit int Number of exclusive mission scripts (Multi script array) (32-bit offset - 8) * number of mission scripts (Main script space) Space of main script (equal to size defined earlier) (Mission scripts space) Space of mission scripts (each one is stored at file offsets defined earlier)
^ Fun fact: the script multifile of LCS Mobile has been "erroneously" compiled in Miami mode.