- handled approx. half of all cases where the address of level is taken.

This commit is contained in:
Christoph Oelckers 2019-01-28 00:55:21 +01:00
commit 648e472744
38 changed files with 122 additions and 128 deletions

View file

@ -333,13 +333,13 @@ char *DFsScript::ProcessFindChar(char *datap, char find)
//
//==========================================================================
void DFsScript::DryRunScript()
void DFsScript::DryRunScript(FLevelLocals *Level)
{
char *end = data + len;
char *rover = data;
// allocate space for the tokens
FParser parse(&level, this);
FParser parse(Level, this);
try
{
while(rover < end && *rover)
@ -387,11 +387,11 @@ void DFsScript::DryRunScript()
//
//==========================================================================
void DFsScript::Preprocess()
void DFsScript::Preprocess(FLevelLocals *Level)
{
len = (int)strlen(data);
ProcessFindChar(data, 0); // fill in everything
DryRunScript();
DryRunScript(Level);
}
//==========================================================================
@ -406,7 +406,7 @@ void DFsScript::Preprocess()
//
//==========================================================================
void DFsScript::ParseInclude(char *lumpname)
void DFsScript::ParseInclude(FLevelLocals *Level, char *lumpname)
{
int lumpnum;
char *lump;
@ -429,7 +429,7 @@ void DFsScript::ParseInclude(char *lumpname)
ProcessFindChar(lump, 0);
// now parse the lump
FParser parse(&level, this);
FParser parse(Level, this);
parse.Run(lump, lump, lump+lumplen);
// free the lump