More control over what stuff get Encore mapping applied to it, with sensible defaults so you don't have to do much to your map to get it to be supported!

* Objects!
	* Gone is the arcane, difficult-to-remember list of random flags. Say hello to MF_DONTENCOREMAP!
	* Alternatively, if the object has a skincolour applied to it, it isn't encoremapped either. (Useful for ghosts, for example.)
* Sectors!
	* The autodetecting of sneaker and spring panels is now much more intelligent, and only avoids remapping the plane(s) the effect is availible upon.
	* Sector special group 2 no. 15 is now "Invert Encore Remap". It inverts the above detection.
* Linedefs!
	* The "Transfer Line" linedef flag can now also be used to deny Encore remappings on linedef textures.
	* Right now it applies to every pixel drawn specifically belonging to that linedef, but if people decide it needs changing, we CAN make it apply to midtextures only (like linedef types 900-910).
This commit is contained in:
toaster 2018-08-10 19:31:30 +01:00
parent 542b758206
commit 500b71c0b3
7 changed files with 124 additions and 114 deletions

View file

@ -7367,6 +7367,7 @@ static const char *const MOBJFLAG_LIST[] = {
"NOCLIPTHING", "NOCLIPTHING",
"GRENADEBOUNCE", "GRENADEBOUNCE",
"RUNSPAWNFUNC", "RUNSPAWNFUNC",
"DONTENCOREMAP",
NULL NULL
}; };

View file

@ -3028,7 +3028,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
0, // mass 0, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOSECTOR|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY|MF_SCENERY, // flags MF_NOBLOCKMAP|MF_NOSECTOR|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY|MF_SCENERY|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -3055,7 +3055,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
0, // mass 0, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY|MF_SCENERY, // flags MF_NOBLOCKMAP|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY|MF_SCENERY|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -3082,7 +3082,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
16, // mass 16, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY|MF_SCENERY, // flags MF_NOBLOCKMAP|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY|MF_SCENERY|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -3109,7 +3109,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
1000, // mass 1000, // mass
MT_THOK, // damage MT_THOK, // damage
sfx_None, // activesound sfx_None, // activesound
MF_SOLID|MF_SHOOTABLE, // flags MF_SOLID|MF_SHOOTABLE|MF_DONTENCOREMAP, // flags
(statenum_t)MT_THOK // raisestate (statenum_t)MT_THOK // raisestate
}, },
@ -5135,7 +5135,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_SLIDEME|MF_SPECIAL|MF_NOGRAVITY|MF_NOCLIPHEIGHT, // flags MF_SLIDEME|MF_SPECIAL|MF_NOGRAVITY|MF_NOCLIPHEIGHT|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -5162,7 +5162,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_SLIDEME|MF_SPECIAL|MF_NOGRAVITY|MF_NOCLIPHEIGHT, // flags MF_SLIDEME|MF_SPECIAL|MF_NOGRAVITY|MF_NOCLIPHEIGHT|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -5189,7 +5189,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
1, // damage 1, // damage
sfx_None, // activesound sfx_None, // activesound
MF_SPECIAL|MF_NOGRAVITY|MF_NOCLIPHEIGHT, // flags MF_SPECIAL|MF_NOGRAVITY|MF_NOCLIPHEIGHT|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -5216,7 +5216,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOGRAVITY|MF_NOBLOCKMAP|MF_NOCLIP, // flags MF_NOGRAVITY|MF_NOBLOCKMAP|MF_NOCLIP|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -5243,7 +5243,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
16, // mass 16, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_SPECIAL, // flags MF_SPECIAL|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -5270,7 +5270,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
16, // mass 16, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_SPECIAL, // flags MF_SPECIAL|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -5297,7 +5297,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
4, // mass 4, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_SPECIAL|MF_NOGRAVITY|MF_NOCLIPHEIGHT, // flags MF_SPECIAL|MF_NOGRAVITY|MF_NOCLIPHEIGHT|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -5324,7 +5324,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
16, // mass 16, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOGRAVITY|MF_SPECIAL, // flags MF_NOGRAVITY|MF_SPECIAL|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
{ // MT_EMERALD2 { // MT_EMERALD2
@ -5350,7 +5350,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
16, // mass 16, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOGRAVITY|MF_SPECIAL, // flags MF_NOGRAVITY|MF_SPECIAL|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
{ // MT_EMERALD3 { // MT_EMERALD3
@ -5376,7 +5376,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
16, // mass 16, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOGRAVITY|MF_SPECIAL, // flags MF_NOGRAVITY|MF_SPECIAL|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
{ // MT_EMERALD4 { // MT_EMERALD4
@ -5402,7 +5402,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
16, // mass 16, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOGRAVITY|MF_SPECIAL, // flags MF_NOGRAVITY|MF_SPECIAL|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
{ // MT_EMERALD5 { // MT_EMERALD5
@ -5428,7 +5428,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
16, // mass 16, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOGRAVITY|MF_SPECIAL, // flags MF_NOGRAVITY|MF_SPECIAL|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
{ // MT_EMERALD6 { // MT_EMERALD6
@ -5454,7 +5454,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
16, // mass 16, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOGRAVITY|MF_SPECIAL, // flags MF_NOGRAVITY|MF_SPECIAL|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
{ // MT_EMERALD7 { // MT_EMERALD7
@ -5480,7 +5480,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
16, // mass 16, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOGRAVITY|MF_SPECIAL, // flags MF_NOGRAVITY|MF_SPECIAL|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -5507,7 +5507,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
4, // mass 4, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_SPECIAL|MF_NOGRAVITY, // flags MF_SPECIAL|MF_NOGRAVITY|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -5561,7 +5561,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_SLIDEME|MF_SPECIAL, // flags MF_SLIDEME|MF_SPECIAL|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -5615,7 +5615,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
20*FRACUNIT, // mass 20*FRACUNIT, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_SOLID, // flags MF_SOLID|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -5642,7 +5642,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
14*FRACUNIT, // mass 14*FRACUNIT, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_SOLID|MF_SPRING, // flags MF_SOLID|MF_SPRING|MF_DONTENCOREMAP, // flags
S_BLUESPRING2 // raisestate S_BLUESPRING2 // raisestate
}, },
@ -5669,7 +5669,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
26*FRACUNIT, // mass 26*FRACUNIT, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_SOLID|MF_SPRING, // flags MF_SOLID|MF_SPRING|MF_DONTENCOREMAP, // flags
S_YELLOWSPRING2 // raisestate S_YELLOWSPRING2 // raisestate
}, },
@ -5696,7 +5696,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
40*FRACUNIT, // mass 40*FRACUNIT, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_SOLID|MF_SPRING, // flags MF_SOLID|MF_SPRING|MF_DONTENCOREMAP, // flags
S_REDSPRING2 // raisestate S_REDSPRING2 // raisestate
}, },
@ -5723,7 +5723,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
26*FRACUNIT, // mass 26*FRACUNIT, // mass
26*FRACUNIT, // damage 26*FRACUNIT, // damage
sfx_None, // activesound sfx_None, // activesound
MF_SOLID|MF_SPRING, // flags MF_SOLID|MF_SPRING|MF_DONTENCOREMAP, // flags
S_YDIAG2 // raisestate S_YDIAG2 // raisestate
}, },
@ -5750,7 +5750,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
40*FRACUNIT, // mass 40*FRACUNIT, // mass
40*FRACUNIT, // damage 40*FRACUNIT, // damage
sfx_None, // activesound sfx_None, // activesound
MF_SOLID|MF_SPRING, // flags MF_SOLID|MF_SPRING|MF_DONTENCOREMAP, // flags
S_RDIAG2 // raisestate S_RDIAG2 // raisestate
}, },
@ -5804,7 +5804,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
16, // mass 16, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOCLIP|MF_SCENERY, // flags MF_NOCLIP|MF_SCENERY|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -5912,7 +5912,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
4, // mass 4, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOGRAVITY|MF_SCENERY|MF_NOCLIPHEIGHT, // flags MF_NOBLOCKMAP|MF_NOGRAVITY|MF_SCENERY|MF_NOCLIPHEIGHT, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -8022,7 +8022,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
1, // damage 1, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOGRAVITY|MF_SPECIAL|MF_NOCLIPHEIGHT, // flags MF_NOGRAVITY|MF_SPECIAL|MF_NOCLIPHEIGHT|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -8049,7 +8049,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
1, // damage 1, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOGRAVITY|MF_SPECIAL|MF_NOCLIPHEIGHT, // flags MF_NOGRAVITY|MF_SPECIAL|MF_NOCLIPHEIGHT|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -8076,7 +8076,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
1, // damage 1, // damage
sfx_mswing, // activesound sfx_mswing, // activesound
MF_PAIN|MF_NOGRAVITY|MF_NOCLIPHEIGHT, // flags MF_PAIN|MF_NOGRAVITY|MF_NOCLIPHEIGHT|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -8103,7 +8103,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
1, // damage 1, // damage
sfx_mswing, // activesound sfx_mswing, // activesound
MF_PAIN|MF_NOGRAVITY|MF_NOCLIPHEIGHT, // flags MF_PAIN|MF_NOGRAVITY|MF_NOCLIPHEIGHT|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -10482,7 +10482,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
16, // mass 16, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY, // flags MF_NOBLOCKMAP|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -10509,7 +10509,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY|MF_SCENERY, // flags MF_NOBLOCKMAP|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY|MF_SCENERY|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -10753,7 +10753,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
1, // damage 1, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOCLIP|MF_NOGRAVITY|MF_SCENERY, // flags MF_NOBLOCKMAP|MF_NOCLIP|MF_NOGRAVITY|MF_SCENERY|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -10942,7 +10942,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
4, // mass 4, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIPHEIGHT|MF_NOCLIP, // flags MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIPHEIGHT|MF_NOCLIP|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -14277,7 +14277,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
6*FRACUNIT, // mass 6*FRACUNIT, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_SOLID|MF_SPRING, // flags MF_SOLID|MF_SPRING|MF_DONTENCOREMAP, // flags
S_GRAYSPRING2 // raisestate S_GRAYSPRING2 // raisestate
}, },
@ -14331,7 +14331,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
14*FRACUNIT, // mass 14*FRACUNIT, // mass
14*FRACUNIT, // damage 14*FRACUNIT, // damage
sfx_None, // activesound sfx_None, // activesound
MF_SOLID|MF_SPRING, // flags MF_SOLID|MF_SPRING|MF_DONTENCOREMAP, // flags
S_BDIAG2 // raisestate S_BDIAG2 // raisestate
}, },
@ -14358,7 +14358,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
MT_RANDOMITEMPOP, // damage MT_RANDOMITEMPOP, // damage
sfx_None, // activesound sfx_None, // activesound
MF_SLIDEME|MF_SPECIAL|MF_NOGRAVITY|MF_NOCLIPHEIGHT, // flags MF_SLIDEME|MF_SPECIAL|MF_NOGRAVITY|MF_NOCLIPHEIGHT|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -14385,7 +14385,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
MT_EXPLODE, // mass MT_EXPLODE, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOCLIP, // flags MF_NOCLIP|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -14412,7 +14412,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY|MF_SCENERY|MF_SLIDEME, // flags MF_NOBLOCKMAP|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY|MF_SCENERY|MF_SLIDEME|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -14439,7 +14439,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY|MF_SCENERY, // flags MF_NOBLOCKMAP|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY|MF_SCENERY|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -14466,7 +14466,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY, // flags MF_NOBLOCKMAP|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -14493,7 +14493,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY|MF_SCENERY, // flags MF_NOBLOCKMAP|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY|MF_SCENERY|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -14520,7 +14520,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
16, // mass 16, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY|MF_SCENERY, // flags MF_NOBLOCKMAP|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY|MF_SCENERY|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -14547,7 +14547,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOCLIPHEIGHT|MF_NOGRAVITY|MF_FLOAT|MF_SCENERY, // flags MF_NOBLOCKMAP|MF_NOCLIPHEIGHT|MF_NOGRAVITY|MF_FLOAT|MF_SCENERY|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -14574,7 +14574,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
1, // damage 1, // damage
sfx_None, // activesound sfx_None, // activesound
MF_SHOOTABLE|MF_NOGRAVITY|MF_SCENERY, // flags MF_SHOOTABLE|MF_NOGRAVITY|MF_SCENERY|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -14601,7 +14601,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
1, // damage 1, // damage
sfx_fake, // activesound sfx_fake, // activesound
MF_BOUNCE|MF_SHOOTABLE, // flags MF_BOUNCE|MF_SHOOTABLE|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -14628,7 +14628,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
1, // damage 1, // damage
sfx_peel, // activesound sfx_peel, // activesound
MF_BOUNCE|MF_SHOOTABLE, // flags MF_BOUNCE|MF_SHOOTABLE|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -14655,7 +14655,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
1, // damage 1, // damage
sfx_None, // activesound sfx_None, // activesound
MF_SHOOTABLE|MF_NOGRAVITY|MF_SCENERY, // flags MF_SHOOTABLE|MF_NOGRAVITY|MF_SCENERY|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -14682,7 +14682,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
1, // damage 1, // damage
sfx_s3k96, // activesound sfx_s3k96, // activesound
MF_SHOOTABLE|MF_BOUNCE, // flags MF_SHOOTABLE|MF_BOUNCE|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -14709,7 +14709,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
1, // damage 1, // damage
sfx_None, // activesound sfx_None, // activesound
MF_SHOOTABLE|MF_NOGRAVITY|MF_SCENERY, // flags MF_SHOOTABLE|MF_NOGRAVITY|MF_SCENERY|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -14736,7 +14736,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
1, // damage 1, // damage
sfx_s3kc0s, // activesound sfx_s3kc0s, // activesound
MF_SHOOTABLE, // flags MF_SHOOTABLE|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -14763,7 +14763,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
1, // damage 1, // damage
sfx_s3kc0s, // activesound sfx_s3kc0s, // activesound
MF_SHOOTABLE, // flags MF_SHOOTABLE|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -14790,7 +14790,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
1, // damage 1, // damage
sfx_None, // activesound sfx_None, // activesound
MF_SHOOTABLE|MF_NOGRAVITY|MF_SCENERY, // flags MF_SHOOTABLE|MF_NOGRAVITY|MF_SCENERY|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -14817,7 +14817,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
1, // damage 1, // damage
sfx_s3k5c, // activesound sfx_s3k5c, // activesound
MF_BOUNCE|MF_SHOOTABLE, // flags MF_BOUNCE|MF_SHOOTABLE|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -14844,7 +14844,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
1, // damage 1, // damage
sfx_None, // activesound sfx_None, // activesound
MF_SHOOTABLE|MF_NOGRAVITY|MF_SCENERY, // flags MF_SHOOTABLE|MF_NOGRAVITY|MF_SCENERY|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -14871,7 +14871,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_SOLID|MF_NOGRAVITY, // flags MF_SOLID|MF_NOGRAVITY|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -14925,7 +14925,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
0, // mass 0, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOBLOCKMAP|MF_SCENERY, // flags MF_NOBLOCKMAP|MF_SCENERY|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -14952,7 +14952,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
0, // mass 0, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOGRAVITY|MF_BOUNCE|MF_SCENERY, // flags MF_NOBLOCKMAP|MF_NOGRAVITY|MF_BOUNCE|MF_SCENERY|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -14979,7 +14979,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
0, // mass 0, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOBLOCKMAP|MF_BOUNCE|MF_SCENERY, // flags MF_NOBLOCKMAP|MF_BOUNCE|MF_SCENERY|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -15006,7 +15006,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
1, // damage 1, // damage
sfx_None, // activesound sfx_None, // activesound
MF_SHOOTABLE|MF_BOUNCE, // flags MF_SHOOTABLE|MF_BOUNCE|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -15033,7 +15033,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
1, // damage 1, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOGRAVITY|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOCLIPTHING, // flags MF_NOGRAVITY|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOCLIPTHING|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -15060,7 +15060,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
16, // mass 16, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOCLIP|MF_NOGRAVITY|MF_SCENERY, // flags MF_NOBLOCKMAP|MF_NOCLIP|MF_NOGRAVITY|MF_SCENERY|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -15087,7 +15087,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
1, // damage 1, // damage
sfx_None, // activesound sfx_None, // activesound
MF_BOUNCE|MF_FLOAT|MF_NOCLIPTHING|MF_MISSILE|MF_SHOOTABLE, // flags MF_BOUNCE|MF_FLOAT|MF_NOCLIPTHING|MF_MISSILE|MF_SHOOTABLE|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -15114,7 +15114,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
16, // mass 16, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOCLIP|MF_NOGRAVITY|MF_SCENERY, // flags MF_NOBLOCKMAP|MF_NOCLIP|MF_NOGRAVITY|MF_SCENERY|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -15141,7 +15141,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
16, // mass 16, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOCLIP|MF_NOGRAVITY, // flags MF_NOBLOCKMAP|MF_NOCLIP|MF_NOGRAVITY|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -15168,7 +15168,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
1, // damage 1, // damage
sfx_bomb, // activesound sfx_bomb, // activesound
MF_BOUNCE|MF_SHOOTABLE, // flags MF_BOUNCE|MF_SHOOTABLE|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -15195,7 +15195,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIP|MF_SCENERY, // flags MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIP|MF_SCENERY|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -15222,7 +15222,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
1, // damage 1, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOCLIPHEIGHT|MF_NOCLIPTHING|MF_NOGRAVITY|MF_SCENERY, // flags MF_NOBLOCKMAP|MF_NOCLIPHEIGHT|MF_NOCLIPTHING|MF_NOGRAVITY|MF_SCENERY|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -15249,7 +15249,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
16, // mass 16, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOCLIPHEIGHT|MF_NOCLIPTHING|MF_NOGRAVITY|MF_SCENERY, // flags MF_NOBLOCKMAP|MF_NOCLIPHEIGHT|MF_NOCLIPTHING|MF_NOGRAVITY|MF_SCENERY|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -15357,7 +15357,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOCLIP|MF_SCENERY, // flags MF_NOBLOCKMAP|MF_NOCLIP|MF_SCENERY|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -15384,7 +15384,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
1000, // mass 1000, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
2, // flags MF_NOTHINK|MF_NOBLOCKMAP|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -15411,7 +15411,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
1000, // mass 1000, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
2, // flags MF_NOTHINK|MF_NOBLOCKMAP|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -15438,7 +15438,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
1000, // mass 1000, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
2, // flags MF_NOTHINK|MF_NOBLOCKMAP|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -15465,7 +15465,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
1000, // mass 1000, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
2, // flags MF_NOTHINK|MF_NOBLOCKMAP|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -15492,7 +15492,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
1000, // mass 1000, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
2, // flags MF_NOTHINK|MF_NOBLOCKMAP|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -15519,7 +15519,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
1000, // mass 1000, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
2, // flags MF_NOTHINK|MF_NOBLOCKMAP|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -15546,7 +15546,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
1000, // mass 1000, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
2, // flags MF_NOTHINK|MF_NOBLOCKMAP|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -15573,7 +15573,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
1000, // mass 1000, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
2, // flags MF_NOTHINK|MF_NOBLOCKMAP|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -16626,7 +16626,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOGRAVITY|MF_SCENERY|MF_NOCLIP|MF_NOCLIPHEIGHT, // flags MF_NOGRAVITY|MF_SCENERY|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -16653,7 +16653,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIP|MF_NOCLIPHEIGHT, // flags MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -16680,7 +16680,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
0, // damage 0, // damage
sfx_clash, // activesound sfx_clash, // activesound
MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_SCENERY|MF_RUNSPAWNFUNC, // flags MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_SCENERY|MF_RUNSPAWNFUNC|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -16707,7 +16707,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_SCENERY, // flags MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_SCENERY|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -16734,7 +16734,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIP|MF_NOCLIPHEIGHT, // flags MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -16761,7 +16761,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
100, // mass 100, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIP|MF_NOCLIPHEIGHT, // flags MF_NOBLOCKMAP|MF_NOGRAVITY|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -16788,7 +16788,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
16, // mass 16, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY|MF_SCENERY, // flags MF_NOBLOCKMAP|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY|MF_SCENERY|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -16815,7 +16815,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
16, // mass 16, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOBLOCKMAP|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY|MF_SCENERY, // flags MF_NOBLOCKMAP|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_NOGRAVITY|MF_SCENERY|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -16842,7 +16842,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
0, // mass 0, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_SPECIAL|MF_NOCLIPHEIGHT|MF_NOGRAVITY, // flags MF_SPECIAL|MF_NOCLIPHEIGHT|MF_NOGRAVITY|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },
@ -16869,7 +16869,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
0, // mass 0, // mass
0, // damage 0, // damage
sfx_None, // activesound sfx_None, // activesound
MF_NOTHINK|MF_NOCLIP|MF_NOCLIPHEIGHT, // flags MF_NOTHINK|MF_NOCLIP|MF_NOCLIPHEIGHT|MF_DONTENCOREMAP, // flags
S_NULL // raisestate S_NULL // raisestate
}, },

View file

@ -160,7 +160,9 @@ typedef enum
MF_GRENADEBOUNCE = 1<<28, MF_GRENADEBOUNCE = 1<<28,
// Run the action thinker on spawn. // Run the action thinker on spawn.
MF_RUNSPAWNFUNC = 1<<29, MF_RUNSPAWNFUNC = 1<<29,
// free: 1<<30 and 1<<31 // Don't remap in Encore mode.
MF_DONTENCOREMAP = 1<<30,
// free: 1<<31
} mobjflag_t; } mobjflag_t;
typedef enum typedef enum

View file

@ -3745,6 +3745,8 @@ void P_ProcessSpecialSector(player_t *player, sector_t *sector, sector_t *rovers
break; break;
case 12: // Lua sector special case 12: // Lua sector special
break; break;
case 15: // Invert Encore Remap
break;
} }
DoneSection2: DoneSection2:

View file

@ -37,14 +37,21 @@ drawseg_t *ds_p = NULL;
// indicates doors closed wrt automap bugfix: // indicates doors closed wrt automap bugfix:
INT32 doorclosed; INT32 doorclosed;
static boolean R_NoEncore(sector_t *sector) static boolean R_NoEncore(sector_t *sector, boolean ceiling)
{ {
boolean invertencore = (GETSECSPECIAL(sector->special, 2) != 15);
#if 0 // perfect implementation
INT32 val = GETSECSPECIAL(sector->special, 3); INT32 val = GETSECSPECIAL(sector->special, 3);
if (val == 1 || val == 3) if (val != 1 && val != 3 // spring panel
return true; #else // optimised, see #define GETSECSPECIAL(i,j) ((i >> ((j-1)*4))&15)
if (GETSECSPECIAL(sector->special, 4) == 6) if ((!(sector->special & (1<<8)) || (sector->special & ((4|8)<<8))) // spring panel
return true; #endif
return false; && GETSECSPECIAL(sector->special, 4) != 6) // sneaker panel
return !invertencore;
if (ceiling)
return ((boolean)(sector->flags & SF_FLIPSPECIAL_CEILING) == invertencore);
return ((boolean)(sector->flags & SF_FLIPSPECIAL_FLOOR) == invertencore);
} }
// //
@ -945,7 +952,7 @@ static void R_Subsector(size_t num, UINT8 viewnumber)
#ifdef ESLOPE #ifdef ESLOPE
, frontsector->f_slope , frontsector->f_slope
#endif #endif
, R_NoEncore(frontsector)); , R_NoEncore(frontsector, false));
} }
else else
floorplane = NULL; floorplane = NULL;
@ -967,7 +974,7 @@ static void R_Subsector(size_t num, UINT8 viewnumber)
#ifdef ESLOPE #ifdef ESLOPE
, frontsector->c_slope , frontsector->c_slope
#endif #endif
, R_NoEncore(frontsector)); , R_NoEncore(frontsector, true));
} }
else else
ceilingplane = NULL; ceilingplane = NULL;
@ -1028,7 +1035,7 @@ static void R_Subsector(size_t num, UINT8 viewnumber)
#ifdef ESLOPE #ifdef ESLOPE
, *rover->b_slope , *rover->b_slope
#endif #endif
, R_NoEncore(rover->master->frontsector)); , R_NoEncore(rover->master->frontsector, true));
#ifdef ESLOPE #ifdef ESLOPE
ffloor[numffloors].slope = *rover->b_slope; ffloor[numffloors].slope = *rover->b_slope;
@ -1074,7 +1081,7 @@ static void R_Subsector(size_t num, UINT8 viewnumber)
#ifdef ESLOPE #ifdef ESLOPE
, *rover->t_slope , *rover->t_slope
#endif #endif
, R_NoEncore(rover->master->frontsector)); , R_NoEncore(rover->master->frontsector, false));
#ifdef ESLOPE #ifdef ESLOPE
ffloor[numffloors].slope = *rover->t_slope; ffloor[numffloors].slope = *rover->t_slope;
@ -1143,7 +1150,7 @@ static void R_Subsector(size_t num, UINT8 viewnumber)
#ifdef ESLOPE #ifdef ESLOPE
, NULL // will ffloors be slopable eventually? , NULL // will ffloors be slopable eventually?
#endif #endif
, R_NoEncore(polysec)); , R_NoEncore(polysec, false));
ffloor[numffloors].height = polysec->floorheight; ffloor[numffloors].height = polysec->floorheight;
ffloor[numffloors].polyobj = po; ffloor[numffloors].polyobj = po;
@ -1189,7 +1196,7 @@ static void R_Subsector(size_t num, UINT8 viewnumber)
#ifdef ESLOPE #ifdef ESLOPE
, NULL // will ffloors be slopable eventually? , NULL // will ffloors be slopable eventually?
#endif #endif
, R_NoEncore(polysec)); , R_NoEncore(polysec, true));
ffloor[numffloors].polyobj = po; ffloor[numffloors].polyobj = po;
ffloor[numffloors].height = polysec->ceilingheight; ffloor[numffloors].height = polysec->ceilingheight;

View file

@ -202,7 +202,7 @@ static void R_DrawWallSplats(void)
if (pindex >= MAXLIGHTSCALE) if (pindex >= MAXLIGHTSCALE)
pindex = MAXLIGHTSCALE - 1; pindex = MAXLIGHTSCALE - 1;
dc_colormap = walllights[pindex]; dc_colormap = walllights[pindex];
if (encoremap) if (encoremap && !(seg->linedef->flags & ML_TFERLINE))
dc_colormap += (256*32); dc_colormap += (256*32);
if (frontsector->extra_colormap) if (frontsector->extra_colormap)
@ -598,7 +598,7 @@ void R_RenderMaskedSegRange(drawseg_t *ds, INT32 x1, INT32 x2)
if (height <= windowtop) if (height <= windowtop)
{ {
dc_colormap = rlight->rcolormap; dc_colormap = rlight->rcolormap;
if (encoremap) if (encoremap && !(ldef->flags & ML_TFERLINE))
dc_colormap += (256*32); dc_colormap += (256*32);
continue; continue;
} }
@ -619,7 +619,7 @@ void R_RenderMaskedSegRange(drawseg_t *ds, INT32 x1, INT32 x2)
colfunc_2s(col); colfunc_2s(col);
windowtop = windowbottom + 1; windowtop = windowbottom + 1;
dc_colormap = rlight->rcolormap; dc_colormap = rlight->rcolormap;
if (encoremap) if (encoremap && !(ldef->flags & ML_TFERLINE))
dc_colormap += (256*32); dc_colormap += (256*32);
} }
windowbottom = realbot; windowbottom = realbot;
@ -637,7 +637,7 @@ void R_RenderMaskedSegRange(drawseg_t *ds, INT32 x1, INT32 x2)
pindex = MAXLIGHTSCALE - 1; pindex = MAXLIGHTSCALE - 1;
dc_colormap = walllights[pindex]; dc_colormap = walllights[pindex];
if (encoremap) if (encoremap && !(ldef->flags & ML_TFERLINE))
dc_colormap += (256*32); dc_colormap += (256*32);
if (frontsector->extra_colormap) if (frontsector->extra_colormap)
@ -1220,7 +1220,7 @@ void R_RenderThickSideRange(drawseg_t *ds, INT32 x1, INT32 x2, ffloor_t *pfloor)
if (lighteffect) if (lighteffect)
{ {
dc_colormap = rlight->rcolormap; dc_colormap = rlight->rcolormap;
if (encoremap) if (encoremap && !(curline->linedef->flags & ML_TFERLINE))
dc_colormap += (256*32); dc_colormap += (256*32);
} }
if (solid && windowtop < bheight) if (solid && windowtop < bheight)
@ -1250,7 +1250,7 @@ void R_RenderThickSideRange(drawseg_t *ds, INT32 x1, INT32 x2, ffloor_t *pfloor)
if (lighteffect) if (lighteffect)
{ {
dc_colormap = rlight->rcolormap; dc_colormap = rlight->rcolormap;
if (encoremap) if (encoremap && !(curline->linedef->flags & ML_TFERLINE))
dc_colormap += (256*32); dc_colormap += (256*32);
} }
} }
@ -1269,7 +1269,7 @@ void R_RenderThickSideRange(drawseg_t *ds, INT32 x1, INT32 x2, ffloor_t *pfloor)
pindex = MAXLIGHTSCALE - 1; pindex = MAXLIGHTSCALE - 1;
dc_colormap = walllights[pindex]; dc_colormap = walllights[pindex];
if (encoremap) if (encoremap && !(curline->linedef->flags & ML_TFERLINE))
dc_colormap += (256*32); dc_colormap += (256*32);
if (frontsector->extra_colormap) if (frontsector->extra_colormap)
dc_colormap = frontsector->extra_colormap->colormap + (dc_colormap - colormaps); dc_colormap = frontsector->extra_colormap->colormap + (dc_colormap - colormaps);
@ -1501,7 +1501,7 @@ static void R_RenderSegLoop (void)
pindex = MAXLIGHTSCALE-1; pindex = MAXLIGHTSCALE-1;
dc_colormap = walllights[pindex]; dc_colormap = walllights[pindex];
if (encoremap) if (encoremap && !(curline->linedef->flags & ML_TFERLINE))
dc_colormap += (256*32); dc_colormap += (256*32);
dc_x = rw_x; dc_x = rw_x;
dc_iscale = 0xffffffffu / (unsigned)rw_scale; dc_iscale = 0xffffffffu / (unsigned)rw_scale;

View file

@ -873,9 +873,7 @@ static void R_DrawVisSprite(vissprite_t *vis)
if (!dc_colormap) if (!dc_colormap)
dc_colormap = colormaps; dc_colormap = colormaps;
if (encoremap && !vis->mobj->color if (encoremap && !vis->mobj->color && !(vis->mobj->flags & MF_DONTENCOREMAP))
&& (vis->mobj->flags & (MF_SCENERY|MF_NOTHINK))
&& !(vis->mobj->flags & ~(MF_SCENERY|MF_NOTHINK|MF_NOCLIP|MF_NOBLOCKMAP|MF_NOGRAVITY)))
dc_colormap += (256*32); dc_colormap += (256*32);
dc_texturemid = vis->texturemid; dc_texturemid = vis->texturemid;