Implementation Status
Here are a list of features, and their current state:Read Mohawk archives | Done |
Read VIEW files | Done |
Read RLST files | Done |
Read EXIT files | Done |
Read INIT files | Done |
Read PICT files | Mostly Done |
Read WDIB files | Done |
Read MSND files | Done |
Read MJMP files | Done |
Read CLRC files | Not Started |
Read HINT files | Not Started |
Read HELP files | Not Started |
Read RSFL files | Useless, so Not Started |
Read bitmap (BMP) files | Started |
Read jpeg (JPEG) files | Done |
Changing card | Done |
Changing age | Half Done |
Videos (MOV) | Not Started |
Sounds | Mostly Done |
Region types and their actions | Half Done |
Script commands | Partially Done |
Slide transitions | Mostly Done |
Variable Storage | Mostly Done |
Save file saving/loading | Not Started |
Slide transitions | Mostly Done |
Image scaling (Not a feature of Myst) | Started |
Debugging console (Not a feature of Myst) Press Tab to activate | Done |
Script Commands
There are a lot of script commands, many of which have been implemented, and many of which are unknown as to to what action they perform yet.Implemented script commands (description taken from comments in code):
Here are the current implemented global commands:
0: Toggle variable args[0] from 1 to 0
1: Set variable to args[0]
17: Change card (maybe?)
18: Go back to previous tile, not sure about the value
19: Enable hotspots
20: Enable hotspots
24: Play sound, non blocking
27: Play sound, blocking
28: Update screen rectangle. Example args[4]: 216, 78, 333, 214
29: Copy picture over hotspot (add it to the picture list)
33: Draw picture (add it to the picture list)
34: Change card (maybe?)
35: Draw picture args[0], wait for args[2]*10 milliseconds, Change card to args[1]
39: Wait for args[0] 40: Change age
41: Change card (maybe?) With transition
42: Slide transition
Here are the current implemented age-specific commands:
100: Change age?
105: Used in Myst to play sound when ship is raised
109: Used in Myst to add args[0] to the variable, limited between 0 and 9
114: Update screen when some vars are set. There are 8 marker switches on the island. They use vars 2-9
117: Play sound args[0] and do something else?
119: Unknown. Example args[1]: 1 (play video?)
121: Used in Myst island to count from 0 to 9