mirror of
https://github.com/ZDoom/qzdoom-gpl.git
synced 2024-11-16 01:02:03 +00:00
- fixed: DLevelScript always initialized the first 3 local variables, even if less were allocated.
SVN r3101 (trunk)
This commit is contained in:
parent
789c937635
commit
7db7886a0e
1 changed files with 13 additions and 3 deletions
|
@ -1964,6 +1964,7 @@ DLevelScript::~DLevelScript ()
|
|||
{
|
||||
if (localvars != NULL)
|
||||
delete[] localvars;
|
||||
localvars = NULL;
|
||||
}
|
||||
|
||||
void DLevelScript::Unlink ()
|
||||
|
@ -6725,9 +6726,18 @@ DLevelScript::DLevelScript (AActor *who, line_t *where, int num, const ScriptPtr
|
|||
script = num;
|
||||
numlocalvars = code->VarCount;
|
||||
localvars = new SDWORD[code->VarCount];
|
||||
localvars[0] = arg0;
|
||||
localvars[1] = arg1;
|
||||
localvars[2] = arg2;
|
||||
if (code->VarCount > 0)
|
||||
{
|
||||
localvars[0] = arg0;
|
||||
if (code->VarCount > 1)
|
||||
{
|
||||
localvars[1] = arg1;
|
||||
if (code->VarCount > 2)
|
||||
{
|
||||
localvars[2] = arg2;
|
||||
}
|
||||
}
|
||||
}
|
||||
memset (localvars+code->ArgCount, 0, (code->VarCount-code->ArgCount)*sizeof(SDWORD));
|
||||
pc = module->GetScriptAddress (code);
|
||||
activator = who;
|
||||
|
|
Loading…
Reference in a new issue