diff --git a/parse.c b/parse.c index 045ecce..ed5267e 100644 --- a/parse.c +++ b/parse.c @@ -3259,6 +3259,11 @@ static void ExprFactor(void) ExprFactor(); PC_AppendCmd(PCD_NEGATELOGICAL); break; + case TK_TILDE: + TK_NextToken(); + ExprFactor(); + PC_AppendCmd(PCD_NEGATEBINARY); + break; case TK_INC: case TK_DEC: opToken = tk_Token; diff --git a/pcode.c b/pcode.c index e36b124..436837a 100644 --- a/pcode.c +++ b/pcode.c @@ -440,6 +440,7 @@ static char *PCDNames[PCODE_COMMAND_COUNT] = "PCD_CHANGELEVEL", "PCD_SECTORDAMAGE", "PCD_REPLACETEXTURES", + "PCD_NEGATEBINARY", }; diff --git a/pcode.h b/pcode.h index 5c15a28..e80d243 100644 --- a/pcode.h +++ b/pcode.h @@ -390,6 +390,7 @@ typedef enum PCD_CHANGELEVEL, PCD_SECTORDAMAGE, PCD_REPLACETEXTURES, + PCD_NEGATEBINARY, PCODE_COMMAND_COUNT } pcd_t; diff --git a/zspecial.acs b/zspecial.acs index c530565..a9e0093 100644 --- a/zspecial.acs +++ b/zspecial.acs @@ -105,6 +105,11 @@ special 127:Thing_SetSpecial(5), 128:ThrustThingZ(4), 139:Thing_SpawnFacing(2,4), + 159:Sector_SetPlaneReflection(3), // GZDoom only! + //160:Sector_Set3DFloor // GZDoom/Vavoom + //161:Sector_SetContents // Vavoom + 170:Sector_SetCeilingScale2(3), + 171:Sector_SetFloorScale2(3), 172:Plat_UpNearestWaitDownStay(3), 173:NoiseAlert(2), 174:SendToCommunicator(4),