- 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:
Randy Heit 2012-03-15 20:33:33 +00:00
parent ba2e8b2461
commit 6290ea4fcb
3 changed files with 35 additions and 2 deletions

View file

@ -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;
}
} }
} }
} }

View file

@ -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;
} }

View file

@ -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
}