mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +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
44c33561b5
commit
f2b73e15b4
3 changed files with 12 additions and 6 deletions
|
|
@ -13114,7 +13114,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
1000, // mass
|
1000, // mass
|
||||||
8, // damage
|
8, // 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
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
@ -16599,7 +16599,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
100, // mass
|
100, // mass
|
||||||
0, // damage
|
0, // damage
|
||||||
sfx_None, // activesound
|
sfx_None, // activesound
|
||||||
MF_NOGRAVITY|MF_SCENERY, // flags
|
MF_NOGRAVITY|MF_SCENERY|MF_DONTENCOREMAP, // flags
|
||||||
S_NULL // raisestate
|
S_NULL // raisestate
|
||||||
},
|
},
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1599,6 +1599,9 @@ mobj_t *P_SpawnGhostMobj(mobj_t *mobj)
|
||||||
if (mobj->flags2 & MF2_OBJECTFLIP)
|
if (mobj->flags2 & MF2_OBJECTFLIP)
|
||||||
ghost->flags |= MF2_OBJECTFLIP;
|
ghost->flags |= MF2_OBJECTFLIP;
|
||||||
|
|
||||||
|
if (!(mobj->flags & MF_DONTENCOREMAP))
|
||||||
|
mobj->flags &= ~MF_DONTENCOREMAP;
|
||||||
|
|
||||||
return ghost;
|
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)
|
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
|
#if 0 // perfect implementation
|
||||||
INT32 val = GETSECSPECIAL(sector->special, 3);
|
INT32 val = GETSECSPECIAL(sector->special, 3);
|
||||||
if (val != 1 && val != 3 // spring panel
|
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
|
if ((!(sector->special & (1<<8)) || (sector->special & ((4|8)<<8))) // spring panel
|
||||||
#endif
|
#endif
|
||||||
&& GETSECSPECIAL(sector->special, 4) != 6) // sneaker panel
|
&& GETSECSPECIAL(sector->special, 4) != 6) // sneaker panel
|
||||||
return !invertencore;
|
return invertencore;
|
||||||
|
|
||||||
|
if (invertencore)
|
||||||
|
return false;
|
||||||
|
|
||||||
if (ceiling)
|
if (ceiling)
|
||||||
return ((boolean)(sector->flags & SF_FLIPSPECIAL_CEILING) == invertencore);
|
return ((boolean)(sector->flags & SF_FLIPSPECIAL_CEILING));
|
||||||
return ((boolean)(sector->flags & SF_FLIPSPECIAL_FLOOR) == invertencore);
|
return ((boolean)(sector->flags & SF_FLIPSPECIAL_FLOOR));
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue