mirror of
https://github.com/DrBeef/Raze.git
synced 2024-11-15 08:52:00 +00:00
- store game vars in the new config file.
This commit is contained in:
parent
249f6e9d62
commit
7023e1e992
1 changed files with 16 additions and 6 deletions
|
@ -33,6 +33,7 @@ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
|
|||
#include "savegame.h"
|
||||
#include "scriplib.h"
|
||||
#include "gamecvars.h"
|
||||
#include "gameconfigfile.h"
|
||||
|
||||
#include "vfs.h"
|
||||
|
||||
|
@ -4258,16 +4259,25 @@ badindex:
|
|||
insptr++;
|
||||
dispatch();
|
||||
}
|
||||
extern FString currentGame;
|
||||
FString section = currentGame + ".Gamevars";
|
||||
GameConfig->SetSection(section);
|
||||
switch (VM_DECODE_INST(tw))
|
||||
{
|
||||
case CON_SAVEGAMEVAR:
|
||||
nValue = Gv_GetVar(*insptr);
|
||||
SCRIPT_PutNumber(ud.config.scripthandle, "Gamevars", aGameVars[*insptr++].szLabel, nValue, FALSE, FALSE);
|
||||
break;
|
||||
{
|
||||
nValue = Gv_GetVar(*insptr);
|
||||
FStringf vs("%d", nValue);
|
||||
GameConfig->SetValueForKey(aGameVars[*insptr++].szLabel, vs);
|
||||
break;
|
||||
}
|
||||
case CON_READGAMEVAR:
|
||||
SCRIPT_GetNumber(ud.config.scripthandle, "Gamevars", aGameVars[*insptr].szLabel, &nValue);
|
||||
Gv_SetVar(*insptr++, nValue);
|
||||
break;
|
||||
{
|
||||
auto str = GameConfig->GetValueForKey(aGameVars[*insptr].szLabel);
|
||||
if (str) nValue = (int)strtoll(str, nullptr, 0);
|
||||
Gv_SetVar(*insptr++, nValue);
|
||||
break;
|
||||
}
|
||||
}
|
||||
dispatch();
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue