Riven NAME resources
From A look inside The Link @ wiki
Riven | |||
Mohawk | Overview | ||
BLST | CARD | FLST | HSPT |
MLST | NAME | PLST | RMAP |
SFXE | SLST | tBMP | tMOV |
tWAV | VARS | VERS | ZIPS |
Scripts | Variables | ||
External commands |
They contain a list of strings with an associated value, and their purpose is to store names for variables, cards, hotspots and other entities. They have the following structure:
unsigned short | field_count |
unsigned short | string_offsets[field_count] |
unsigned short | values[field_count] |
char* | strings |
strings is a list of zero-terminated strings. You can access string n by looking at string_offsets[n], which is the offset starting from strings (not from the beginning of resource data). The meaning of values[] is not yet known, but it seem to go from 0 to field_count-1 (not in sequential order). This field apparently has no function (the record index is important, instead).
In saved games there's only one NAME resource; it stores the name of each variable in the VARS (the record index in the NAME matches the one in the VARS).
In data files there are more NAMEs:
- ID 1 stores card names.
- ID 2 stores hotspot names.
- ID 3 stores external command names.
- ID 4 stores variable names. In this case, the record index is equal to the number used in script commands to access the variable.
- ID 5 stores stack names and it's used by command 27 to change island.