Object files¶
In order to link script resources together, object files are used. They do not contain full scripts, but rather, information on the script’s procedures, classes and variables. With them, you are able to call and access other scripts. This uses the same format as SCI Studio.
The object file format¶
Header:
Offset | Description |
---|---|
CHAR[3] | “SCO” - File Identifier |
WORD | Compiler Version (Major) |
WORD | Compiler Version (Minor) |
WORD | Compiler Version (Build) |
BYTE | SCI Version (0x00 - SCI0, 0x01 - SCI01, 0x10 - SCI1) |
WORD | Script Number |
WORD | Total Publics |
WORD | Offset to Publics (0 if none) |
WORD | Total Classes |
WORD | Offset to Classes (0 if none) |
WORD | Total Variables |
WORD | Offset to Variables (0 if none) |
Public entries (for each public):
Offset | Description |
---|---|
WORD | Offset in script file |
WORD | String length including the null |
CHAR* | Entry name as null-terminated string |
Class Entries (for each class):
Offset | Description |
---|---|
WORD | String length including the null |
CHAR* | Entry name as null-terminated string |
WORD | Total properties |
WORD | Total methods |
WORD | Species |
WORD | Superclass |
For Each Property:
Offset | Description |
---|---|
WORD | Property Name Index (in vocab.997) |
WORD | Property Value |
For each Method:
Offset | Description |
---|---|
WORD | Method Name Index (in vocab.997) |
Local entries (for each local):
Offset | Description |
---|---|
WORD | String length including the null |
CHAR* | Entry name as null-terminated string |