Difference between revisions of "Myst HINT resources"

From A look inside The Link @ wiki
Jump to: navigation, search
(some new hints)
(fully document the HINT resource)
Line 1: Line 1:
 
{{Myst}}
 
{{Myst}}
  
These are small resources that look like lists of 4-byte records.
+
This is a list of how hotspots in RLST match to cursors. "Hints" as to what cursor to use.
  
 
{| class="structure"
 
{| class="structure"
Line 9: Line 9:
 
|}
 
|}
  
The record structure is
+
The record structure is:
 +
 
 
{| class="structure"
 
{| class="structure"
 
|short||record_index
 
|short||record_index
 
|-
 
|-
|short||u1||
+
|short||cursor
 +
|}
 +
*''record_index'' starts at zero and goes up.
 +
*''cursor'' represents a cursor index ([[WDIB]] + [[CLRC]]).
 +
 
 +
 
 +
If ''cursor'' is -1, however, it is like a switch statement, and follows this structure:
 +
 
 +
{| class="structure"
 +
|short||var
 +
|-
 +
|short||num_states
 +
|}
 +
 
 +
*''var'' is the variable checked against.
 +
*''num_states'' is the number of cursor indices following it.
 +
 
 +
Following ''num_states'' is:
 +
 
 +
{| class="structure"
 +
|short||cursor
 
|}
 
|}
''record_index'' starts at zero and goes up.
 
The ''u1'''s all appear to be one of 0, 2, 3, 200, 300, 400, 500, 600, 904, 905, 999, or 0xFFFF (-1).
 
  
However, there are exceptions: sometimes there is sligthly more data than specified by ''record_count''. This seems to only happen when the resource contains a record with ''u1'' = -1, as if that record was a bit longer than 4 bytes. Probably ''u1'' = -1 gives a special meaning to the record and implicitly sets a new record size (which seems to be 12 or 14 bytes). Other records in the resource seem to be regular ones.
+
The variable is the index of what to use in the table.

Revision as of 22:23, 3 September 2008

Myst
Mohawk Overview
CLRC EXIT HINT INIT
MJMP MSND PICT RLST
VIEW WDIB HELP RSFL
Scripts Variables

This is a list of how hotspots in RLST match to cursors. "Hints" as to what cursor to use.

short record_count
variable records

The record structure is:

short record_index
short cursor
  • record_index starts at zero and goes up.
  • cursor represents a cursor index (WDIB + CLRC).


If cursor is -1, however, it is like a switch statement, and follows this structure:

short var
short num_states
  • var is the variable checked against.
  • num_states is the number of cursor indices following it.

Following num_states is:

short cursor

The variable is the index of what to use in the table.