mirror of
https://github.com/ZDoom/qzdoom.git
synced 2024-11-24 21:11:39 +00:00
- Added setactivation command for compatibility.cpp to fix the gear boxes on hexdd.wad, map54,
which should be set for player uses activation but are not. - Added some developer mode messages for setlinespecial and clearlinespecial. SVN r3437 (trunk)
This commit is contained in:
parent
ba2e8b2461
commit
6290ea4fcb
3 changed files with 35 additions and 2 deletions
|
@ -74,7 +74,8 @@ enum
|
||||||
CP_END,
|
CP_END,
|
||||||
CP_CLEARFLAGS,
|
CP_CLEARFLAGS,
|
||||||
CP_SETFLAGS,
|
CP_SETFLAGS,
|
||||||
CP_SETSPECIAL
|
CP_SETSPECIAL,
|
||||||
|
CP_SETACTIVATION
|
||||||
};
|
};
|
||||||
|
|
||||||
// EXTERNAL FUNCTION PROTOTYPES --------------------------------------------
|
// EXTERNAL FUNCTION PROTOTYPES --------------------------------------------
|
||||||
|
@ -239,6 +240,15 @@ void ParseCompatibility()
|
||||||
CompatParams.Push(sc.Number);
|
CompatParams.Push(sc.Number);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (sc.Compare("setactivation"))
|
||||||
|
{
|
||||||
|
if (flags.ExtCommandIndex == ~0u) flags.ExtCommandIndex = CompatParams.Size();
|
||||||
|
CompatParams.Push(CP_SETACTIVATION);
|
||||||
|
sc.MustGetNumber();
|
||||||
|
CompatParams.Push(sc.Number);
|
||||||
|
sc.MustGetNumber();
|
||||||
|
CompatParams.Push(sc.Number);
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sc.UnGet();
|
sc.UnGet();
|
||||||
|
@ -388,6 +398,16 @@ void SetCompatibilityParams()
|
||||||
i+=8;
|
i+=8;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case CP_SETACTIVATION:
|
||||||
|
{
|
||||||
|
if (CompatParams[i+1] < numlines)
|
||||||
|
{
|
||||||
|
line_t *line = &lines[CompatParams[i+1]];
|
||||||
|
line->activation = CompatParams[i+2];
|
||||||
|
}
|
||||||
|
i += 3;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5293,8 +5293,11 @@ int DLevelScript::RunScript ()
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PCD_CLEARLINESPECIAL:
|
case PCD_CLEARLINESPECIAL:
|
||||||
if (activationline)
|
if (activationline != NULL)
|
||||||
|
{
|
||||||
activationline->special = 0;
|
activationline->special = 0;
|
||||||
|
DPrintf("Cleared line special on line %d\n", activationline - lines);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case PCD_CASEGOTO:
|
case PCD_CASEGOTO:
|
||||||
|
@ -5931,6 +5934,8 @@ int DLevelScript::RunScript ()
|
||||||
line->args[2] = STACK(3);
|
line->args[2] = STACK(3);
|
||||||
line->args[3] = STACK(2);
|
line->args[3] = STACK(2);
|
||||||
line->args[4] = STACK(1);
|
line->args[4] = STACK(1);
|
||||||
|
DPrintf("Set special on line %d (id %d) to %d(%d,%d,%d,%d,%d)\n",
|
||||||
|
linenum, STACK(7), specnum, arg0, STACK(4), STACK(3), STACK(2), STACK(1));
|
||||||
}
|
}
|
||||||
sp -= 7;
|
sp -= 7;
|
||||||
}
|
}
|
||||||
|
|
|
@ -148,3 +148,11 @@ DCE862393CAAA6FF1294FB7056B53057 // UAC Ultra map07: Contains a scroller dependi
|
||||||
{
|
{
|
||||||
badangles
|
badangles
|
||||||
}
|
}
|
||||||
|
|
||||||
|
E2B5D1400279335811C1C1C0B437D9C8 // Deathknights of the Dark Citidel, map54
|
||||||
|
{
|
||||||
|
// This map has two gear boxes which are flagged for player cross
|
||||||
|
// activation instead of the proper player uses activation.
|
||||||
|
setactivation 963 2
|
||||||
|
setactivation 943 2
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue