protected void SaveVars()
{
int a, b;
while ((_opCode = ReadByte()) != 0)
{
switch (_opCode & 0x1F)
{
case 0x01: // write a range of variables
GetResult();
a = _resultVarIndex;
GetResult();
b = _resultVarIndex;
//debug(0, "stub saveVars: vars %d -> %d", a, b);
break;
case 0x02: // write a range of string variables
a = GetVarOrDirectByte(OpCodeParameter.Param1);
b = GetVarOrDirectByte(OpCodeParameter.Param2);
if (a == StringIdIqEpisode && b == StringIdIqEpisode)
{
if (Game.GameId == GameId.Indy3)
{
SaveIQPoints();
}
break;
}
// FIXME: changing savegame-names not supported
break;
case 0x03: // open file
_saveLoadVarsFilename = ReadString();
break;
case 0x04:
return;
case 0x1F: // close file
_saveLoadVarsFilename = null;
return;
}
}
}