Difference between revisions of "Riven VARS resources"

From A look inside The Link @ wiki
Jump to: navigation, search
(fixed wrong import)
m (fixes)
Line 1: Line 1:
 
<noinclude>{{Riven}}</noinclude>
 
<noinclude>{{Riven}}</noinclude>
The VARS resource is found in Riven saved game files. It stores the state of every game variable. The data seems to be just an array of 12-byte records, each representing a variable, with this structure:
+
The VARS resource is found in Riven saved game files (there is just one). It stores the state of every game variable. The data is just an array of 12-byte records, each representing a variable, with this structure:
 
{| class="structure"
 
{| class="structure"
 
|unsigned long||u0||
 
|unsigned long||u0||
Line 6: Line 6:
 
|unsigned long||u1||
 
|unsigned long||u1||
 
|-
 
|-
|short||name_rec||class="comment"|Saved variable value
+
|short||value||class="comment"|Saved variable value
 
|}
 
|}
  

Revision as of 20:32, 9 February 2008

Riven
Mohawk Overview
BLST CARD FLST HSPT
MLST NAME PLST RMAP
SFXE SLST tBMP tMOV
tWAV VARS VERS ZIPS
Scripts Variables
External commands

The VARS resource is found in Riven saved game files (there is just one). It stores the state of every game variable. The data is just an array of 12-byte records, each representing a variable, with this structure:

unsigned long u0
unsigned long u1
short value Saved variable value

u0 starts from 2, and seems to grow when going on with the game; u1 seems to be always 1 or 0. I don't know what these fields mean, they don't seem to be changed by scripts (i.e. they don't tell how many times the variable was written etc).

Fortunately, saved games contain a NAME resource that labels most variables in the VARS resource. The VARS record index simply matches the NAME one.

The number of records is not constant. If you save different games in different places then new records will appear, usually with u1 = 0 and strange values. However, "known" variables (dome combination, telescope levers state etc) are always at the same record.