Riven NAME resources

From A look inside The Link @ wiki
Jump to: navigation, search
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.