mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2025-02-21 03:11:24 +00:00
* Exempt drop shadows from encore remapping.
* Make MT_GHOST's encoremapping depend on whether the source was encoremapped. * Revamp how sector typegroup 2, type 15 inverts the encoremapping (so planes don't get awkwardly desynchronised).
This commit is contained in:
parent
b505ea43f0
commit
cdf5874ff5
3 changed files with 12 additions and 6 deletions
|
@ -13114,7 +13114,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
1000, // mass
|
||||
8, // damage
|
||||
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
|
||||
},
|
||||
|
||||
|
@ -16599,7 +16599,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
|||
100, // mass
|
||||
0, // damage
|
||||
sfx_None, // activesound
|
||||
MF_NOGRAVITY|MF_SCENERY, // flags
|
||||
MF_NOGRAVITY|MF_SCENERY|MF_DONTENCOREMAP, // flags
|
||||
S_NULL // raisestate
|
||||
},
|
||||
|
||||
|
|
|
@ -1599,6 +1599,9 @@ mobj_t *P_SpawnGhostMobj(mobj_t *mobj)
|
|||
if (mobj->flags2 & MF2_OBJECTFLIP)
|
||||
ghost->flags |= MF2_OBJECTFLIP;
|
||||
|
||||
if (!(mobj->flags & MF_DONTENCOREMAP))
|
||||
mobj->flags &= ~MF_DONTENCOREMAP;
|
||||
|
||||
return ghost;
|
||||
}
|
||||
|
||||
|
|
11
src/r_bsp.c
11
src/r_bsp.c
|
@ -39,7 +39,7 @@ INT32 doorclosed;
|
|||
|
||||
static boolean R_NoEncore(sector_t *sector, boolean ceiling)
|
||||
{
|
||||
boolean invertencore = (GETSECSPECIAL(sector->special, 2) != 15);
|
||||
boolean invertencore = (GETSECSPECIAL(sector->special, 2) == 15);
|
||||
#if 0 // perfect implementation
|
||||
INT32 val = GETSECSPECIAL(sector->special, 3);
|
||||
if (val != 1 && val != 3 // spring panel
|
||||
|
@ -47,11 +47,14 @@ static boolean R_NoEncore(sector_t *sector, boolean ceiling)
|
|||
if ((!(sector->special & (1<<8)) || (sector->special & ((4|8)<<8))) // spring panel
|
||||
#endif
|
||||
&& GETSECSPECIAL(sector->special, 4) != 6) // sneaker panel
|
||||
return !invertencore;
|
||||
return invertencore;
|
||||
|
||||
if (invertencore)
|
||||
return false;
|
||||
|
||||
if (ceiling)
|
||||
return ((boolean)(sector->flags & SF_FLIPSPECIAL_CEILING) == invertencore);
|
||||
return ((boolean)(sector->flags & SF_FLIPSPECIAL_FLOOR) == invertencore);
|
||||
return ((boolean)(sector->flags & SF_FLIPSPECIAL_CEILING));
|
||||
return ((boolean)(sector->flags & SF_FLIPSPECIAL_FLOOR));
|
||||
}
|
||||
|
||||
//
|
||||
|
|
Loading…
Reference in a new issue