More editing flags

PSX-inspired flags to change the render styles of monsters (and other
things).
This commit is contained in:
Gaerzi 2014-04-10 12:32:23 +02:00
commit 580094a792
7 changed files with 79 additions and 2 deletions

View file

@ -632,6 +632,31 @@ public:
Flag(th->flags, MTF_SECRET, key);
break;
case NAME_Transparent:
CHECK_N(Zd | Zdt)
Flag(th->flags, MTF_TRANS, key);
break;
case NAME_Additive:
CHECK_N(Zd | Zdt)
Flag(th->flags, MTF_ADD, key);
break;
case NAME_Subtractive:
CHECK_N(Zd | Zdt)
Flag(th->flags, MTF_SUBTRACT, key);
break;
case NAME_Spectre:
CHECK_N(Zd | Zdt)
Flag(th->flags, MTF_SPECTRE, key);
break;
case NAME_Doublehealth:
CHECK_N(Zd | Zdt)
Flag(th->flags, MTF_DOUBLEHEALTH, key);
break;
default:
if (0 == strnicmp("user_", key.GetChars(), 5))
{ // Custom user key - Sets an actor's user variable directly
@ -686,6 +711,7 @@ public:
{
bool passuse = false;
bool strifetrans = false;
bool strifetrans2 = false;
FString arg0str, arg1str;
memset(ld, 0, sizeof(*ld));
@ -803,6 +829,11 @@ public:
strifetrans = CheckBool(key);
continue;
case NAME_Transparent:
CHECK_N(St | Zd | Zdt | Va)
strifetrans2 = CheckBool(key);
continue;
case NAME_Passuse:
CHECK_N(Dm | Zd | Zdt | Va)
passuse = CheckBool(key);
@ -965,6 +996,10 @@ public:
{
ld->Alpha = FRACUNIT * 3/4;
}
if (strifetrans2 && ld->Alpha == FRACUNIT)
{
ld->Alpha = FRACUNIT * 1/4;
}
if (ld->sidedef[0] == NULL)
{
ld->sidedef[0] = (side_t*)(intptr_t)(1);