diff --git a/src/p_setup.cpp b/src/p_setup.cpp index e5208ce77..85ead1d60 100644 --- a/src/p_setup.cpp +++ b/src/p_setup.cpp @@ -1764,31 +1764,31 @@ static void ParseTextmapSectorParameter(UINT32 i, const char *param, const char else if (fastcmp(param, "colormapprotected") && fastcmp("true", val)) sectors[i].colormap_protected = true; else if (fastcmp(param, "flipspecial_nofloor") && fastcmp("true", val)) - sectors[i].flags = static_cast(sectors[i].flags & ~MSF_FLIPSPECIAL_FLOOR); + sectors[i].flags &= ~MSF_FLIPSPECIAL_FLOOR; else if (fastcmp(param, "flipspecial_ceiling") && fastcmp("true", val)) - sectors[i].flags = static_cast(sectors[i].flags | MSF_FLIPSPECIAL_CEILING); + sectors[i].flags |= MSF_FLIPSPECIAL_CEILING; else if (fastcmp(param, "triggerspecial_touch") && fastcmp("true", val)) - sectors[i].flags = static_cast(sectors[i].flags | MSF_TRIGGERSPECIAL_TOUCH); + sectors[i].flags |= MSF_TRIGGERSPECIAL_TOUCH; else if (fastcmp(param, "triggerspecial_headbump") && fastcmp("true", val)) - sectors[i].flags = static_cast(sectors[i].flags | MSF_TRIGGERSPECIAL_HEADBUMP); + sectors[i].flags |= MSF_TRIGGERSPECIAL_HEADBUMP; else if (fastcmp(param, "invertprecip") && fastcmp("true", val)) - sectors[i].flags = static_cast(sectors[i].flags | MSF_INVERTPRECIP); + sectors[i].flags |= MSF_INVERTPRECIP; else if (fastcmp(param, "gravityflip") && fastcmp("true", val)) - sectors[i].flags = static_cast(sectors[i].flags | MSF_GRAVITYFLIP); + sectors[i].flags |= MSF_GRAVITYFLIP; else if (fastcmp(param, "heatwave") && fastcmp("true", val)) - sectors[i].flags = static_cast(sectors[i].flags | MSF_HEATWAVE); + sectors[i].flags |= MSF_HEATWAVE; else if (fastcmp(param, "noclipcamera") && fastcmp("true", val)) - sectors[i].flags = static_cast(sectors[i].flags | MSF_NOCLIPCAMERA); + sectors[i].flags |= MSF_NOCLIPCAMERA; else if (fastcmp(param, "ripple_floor") && fastcmp("true", val)) - sectors[i].flags = static_cast(sectors[i].flags | MSF_RIPPLE_FLOOR); + sectors[i].flags |= MSF_RIPPLE_FLOOR; else if (fastcmp(param, "ripple_ceiling") && fastcmp("true", val)) - sectors[i].flags = static_cast(sectors[i].flags | MSF_RIPPLE_CEILING); + sectors[i].flags |= MSF_RIPPLE_CEILING; else if (fastcmp(param, "invertencore") && fastcmp("true", val)) - sectors[i].flags = static_cast(sectors[i].flags | MSF_INVERTENCORE); + sectors[i].flags |= MSF_INVERTENCORE; else if (fastcmp(param, "flatlighting") && fastcmp("true", val)) - sectors[i].flags = static_cast(sectors[i].flags | MSF_FLATLIGHTING); + sectors[i].flags |= MSF_FLATLIGHTING; else if (fastcmp(param, "forcedirectionallighting") && fastcmp("true", val)) - sectors[i].flags = static_cast(sectors[i].flags | MSF_DIRECTIONLIGHTING); + sectors[i].flags |= MSF_DIRECTIONLIGHTING; else if (fastcmp(param, "nostepup") && fastcmp("true", val)) sectors[i].specialflags = static_cast(sectors[i].specialflags | SSF_NOSTEPUP); else if (fastcmp(param, "doublestepup") && fastcmp("true", val)) @@ -4867,24 +4867,24 @@ static void P_ConvertBinaryLinedefTypes(void) { if (lines[i].flags & ML_NOCLIMB) { - sectors[s].flags = static_cast(sectors[s].flags & ~MSF_FLIPSPECIAL_FLOOR); - sectors[s].flags = static_cast(sectors[s].flags | MSF_FLIPSPECIAL_CEILING); + sectors[s].flags &= ~MSF_FLIPSPECIAL_FLOOR; + sectors[s].flags |= MSF_FLIPSPECIAL_CEILING; } else if (lines[i].flags & ML_MIDSOLID) - sectors[s].flags = static_cast(sectors[s].flags | MSF_FLIPSPECIAL_BOTH); + sectors[s].flags |= MSF_FLIPSPECIAL_BOTH; if (lines[i].flags & ML_MIDPEG) - sectors[s].flags = static_cast(sectors[s].flags | MSF_TRIGGERSPECIAL_TOUCH); + sectors[s].flags |= MSF_TRIGGERSPECIAL_TOUCH; if (lines[i].flags & ML_NOSKEW) - sectors[s].flags = static_cast(sectors[s].flags | MSF_TRIGGERSPECIAL_HEADBUMP); + sectors[s].flags |= MSF_TRIGGERSPECIAL_HEADBUMP; if (lines[i].flags & ML_SKEWTD) - sectors[s].flags = static_cast(sectors[s].flags | MSF_INVERTPRECIP); + sectors[s].flags |= MSF_INVERTPRECIP; if (lines[i].flags & ML_DONTPEGTOP) - sectors[s].flags = static_cast(sectors[s].flags | MSF_RIPPLE_FLOOR); + sectors[s].flags |= MSF_RIPPLE_FLOOR; if (lines[i].flags & ML_DONTPEGBOTTOM) - sectors[s].flags = static_cast(sectors[s].flags | MSF_RIPPLE_CEILING); + sectors[s].flags |= MSF_RIPPLE_CEILING; } if (GETSECSPECIAL(lines[i].frontsector->special, 4) != 12) @@ -4906,7 +4906,7 @@ static void P_ConvertBinaryLinedefTypes(void) INT32 s; TAG_ITER_SECTORS(tag, s) - sectors[s].flags = static_cast(sectors[s].flags | MSF_HEATWAVE); + sectors[s].flags |= MSF_HEATWAVE; break; } @@ -6619,34 +6619,34 @@ static void P_ConvertBinarySectorTypes(void) { case 1: //Trigger linedef executor (pushable objects) sectors[i].triggertag = tag; - sectors[i].flags = static_cast(sectors[i].flags | MSF_TRIGGERLINE_PLANE); + sectors[i].flags |= MSF_TRIGGERLINE_PLANE; sectors[i].triggerer = TO_MOBJ; break; case 2: //Trigger linedef executor (Anywhere in sector, all players) sectors[i].triggertag = tag; - sectors[i].flags = static_cast(sectors[i].flags & ~MSF_TRIGGERLINE_PLANE); + sectors[i].flags &= ~MSF_TRIGGERLINE_PLANE; sectors[i].triggerer = TO_ALLPLAYERS; break; case 3: //Trigger linedef executor (Floor touch, all players) sectors[i].triggertag = tag; - sectors[i].flags = static_cast(sectors[i].flags | MSF_TRIGGERLINE_PLANE); + sectors[i].flags |= MSF_TRIGGERLINE_PLANE; sectors[i].triggerer = TO_ALLPLAYERS; break; case 4: //Trigger linedef executor (Anywhere in sector) sectors[i].triggertag = tag; - sectors[i].flags = static_cast(sectors[i].flags & ~MSF_TRIGGERLINE_PLANE); + sectors[i].flags &= ~MSF_TRIGGERLINE_PLANE; sectors[i].triggerer = TO_PLAYER; break; case 5: //Trigger linedef executor (Floor touch) sectors[i].triggertag = tag; - sectors[i].flags = static_cast(sectors[i].flags | MSF_TRIGGERLINE_PLANE); + sectors[i].flags |= MSF_TRIGGERLINE_PLANE; sectors[i].triggerer = TO_PLAYER; break; case 8: //Check for linedef executor on FOFs - sectors[i].flags = static_cast(sectors[i].flags | MSF_TRIGGERLINE_MOBJ); + sectors[i].flags |= MSF_TRIGGERLINE_MOBJ; break; case 15: //Invert Encore - sectors[i].flags = static_cast(sectors[i].flags | MSF_INVERTENCORE); + sectors[i].flags |= MSF_INVERTENCORE; break; default: break; diff --git a/src/r_defs.h b/src/r_defs.h index af7e154f3..4ba026c2c 100644 --- a/src/r_defs.h +++ b/src/r_defs.h @@ -340,33 +340,32 @@ struct botcontroller_t angle_t forceAngle; }; -typedef enum -{ - // flipspecial - planes with effect - MSF_FLIPSPECIAL_FLOOR = 1, - MSF_FLIPSPECIAL_CEILING = 1<<1, - MSF_FLIPSPECIAL_BOTH = (MSF_FLIPSPECIAL_FLOOR|MSF_FLIPSPECIAL_CEILING), - // triggerspecial - conditions under which plane touch causes effect - MSF_TRIGGERSPECIAL_TOUCH = 1<<2, - MSF_TRIGGERSPECIAL_HEADBUMP = 1<<3, - // triggerline - conditions for linedef executor triggering - MSF_TRIGGERLINE_PLANE = 1<<4, // require plane touch - MSF_TRIGGERLINE_MOBJ = 1<<5, // allow non-pushable mobjs to trigger - // invertprecip - inverts presence of precipitation - MSF_INVERTPRECIP = 1<<6, - MSF_GRAVITYFLIP = 1<<7, - MSF_HEATWAVE = 1<<8, - MSF_NOCLIPCAMERA = 1<<9, - // water ripple - MSF_RIPPLE_FLOOR = 1<<10, - MSF_RIPPLE_CEILING = 1<<11, - // invert encore color remap status - MSF_INVERTENCORE = 1<<12, - // turn off directional lighting - MSF_FLATLIGHTING = 1<<13, - // force it on (even if it was disabled) - MSF_DIRECTIONLIGHTING = 1<<14, -} sectorflags_t; +typedef int sectorflags_t; + +// flipspecial - planes with effect +#define MSF_FLIPSPECIAL_FLOOR (1) +#define MSF_FLIPSPECIAL_CEILING (1<<1) +#define MSF_FLIPSPECIAL_BOTH ((MSF_FLIPSPECIAL_FLOOR)|(MSF_FLIPSPECIAL_CEILING)) +// triggerspecial - conditions under which plane touch causes effect +#define MSF_TRIGGERSPECIAL_TOUCH (1<<2) +#define MSF_TRIGGERSPECIAL_HEADBUMP (1<<3) +// triggerline - conditions for linedef executor triggering +#define MSF_TRIGGERLINE_PLANE (1<<4) // require plane touch +#define MSF_TRIGGERLINE_MOBJ (1<<5) // allow non-pushable mobjs to trigger +// invertprecip - inverts presence of precipitation +#define MSF_INVERTPRECIP (1<<6) +#define MSF_GRAVITYFLIP (1<<7) +#define MSF_HEATWAVE (1<<8) +#define MSF_NOCLIPCAMERA (1<<9) +// water ripple +#define MSF_RIPPLE_FLOOR (1<<10) +#define MSF_RIPPLE_CEILING (1<<11) +// invert encore color remap status +#define MSF_INVERTENCORE (1<<12) +// turn off directional lighting +#define MSF_FLATLIGHTING (1<<13) +// force it on (even if it was disabled) +#define MSF_DIRECTIONLIGHTING (1<<14) typedef enum {