mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2024-11-22 12:31:32 +00:00
Rearrange FOF flags and improve custom FOF backwards compatibility
This commit is contained in:
parent
96a464c881
commit
35e9e5b33c
4 changed files with 21 additions and 19 deletions
|
@ -2112,8 +2112,8 @@ udmf
|
||||||
4194304 = "Mario block";
|
4194304 = "Mario block";
|
||||||
33554432 = "Intangible from below";
|
33554432 = "Intangible from below";
|
||||||
67108864 = "Intangible from above";
|
67108864 = "Intangible from above";
|
||||||
1073741824 = "Ripple effect";
|
134217728 = "Ripple effect";
|
||||||
2147483648 = "Don't copy light level";
|
268435456 = "Don't copy light level";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -3163,6 +3163,7 @@ static void P_ConvertBinaryMap(void)
|
||||||
|
|
||||||
lines[i].args[0] = lines[i].tag;
|
lines[i].args[0] = lines[i].tag;
|
||||||
lines[i].args[1] = sides[lines[i].sidenum[1]].toptexture;
|
lines[i].args[1] = sides[lines[i].sidenum[1]].toptexture;
|
||||||
|
lines[i].args[2] = sides[lines[i].sidenum[1]].midtexture;
|
||||||
if (lines[i].args[1] & FF_TRANSLUCENT)
|
if (lines[i].args[1] & FF_TRANSLUCENT)
|
||||||
{
|
{
|
||||||
if (sides[lines[i].sidenum[0]].toptexture > 0)
|
if (sides[lines[i].sidenum[0]].toptexture > 0)
|
||||||
|
|
25
src/p_spec.c
25
src/p_spec.c
|
@ -7023,16 +7023,23 @@ void P_SpawnSpecials(boolean fromnetsave)
|
||||||
}
|
}
|
||||||
if (lines[i].args[1] & FF_BUSTUP)
|
if (lines[i].args[1] & FF_BUSTUP)
|
||||||
{
|
{
|
||||||
if (lines[i].args[1] & BFF_SHATTER)
|
switch (lines[i].args[2] % TMFB_ONLYBOTTOM)
|
||||||
fflr->busttype = BT_TOUCH;
|
{
|
||||||
else if (lines[i].args[1] & BFF_SPINBUST)
|
case TMFB_TOUCH:
|
||||||
fflr->busttype = BT_SPIN;
|
fflr->busttype = BT_TOUCH;
|
||||||
else if (lines[i].args[1] & BFF_STRONGBUST)
|
break;
|
||||||
fflr->busttype = BT_STRONG;
|
case TMFB_SPIN:
|
||||||
else
|
fflr->busttype = BT_SPIN;
|
||||||
fflr->busttype = BT_REGULAR;
|
break;
|
||||||
|
case TMFB_REGULAR:
|
||||||
|
fflr->busttype = BT_REGULAR;
|
||||||
|
break;
|
||||||
|
case TMFB_STRONG:
|
||||||
|
fflr->busttype = BT_STRONG;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
if (lines[i].args[1] & BFF_SHATTERBOTTOM)
|
if (lines[i].args[2] & TMFB_ONLYBOTTOM)
|
||||||
fflr->bustflags |= BF_ONLYBOTTOM;
|
fflr->bustflags |= BF_ONLYBOTTOM;
|
||||||
if (lines[i].flags & ML_EFFECT4)
|
if (lines[i].flags & ML_EFFECT4)
|
||||||
fflr->bustflags |= BF_PUSHABLES;
|
fflr->bustflags |= BF_PUSHABLES;
|
||||||
|
|
10
src/r_defs.h
10
src/r_defs.h
|
@ -144,16 +144,10 @@ typedef enum
|
||||||
FF_PLATFORM = 0x2000000, ///< You can jump up through this to the top.
|
FF_PLATFORM = 0x2000000, ///< You can jump up through this to the top.
|
||||||
FF_REVERSEPLATFORM = 0x4000000, ///< A fall-through floor in normal gravity, a platform in reverse gravity.
|
FF_REVERSEPLATFORM = 0x4000000, ///< A fall-through floor in normal gravity, a platform in reverse gravity.
|
||||||
FF_INTANGIBLEFLATS = 0x6000000, ///< Both flats are intangible, but the sides are still solid.
|
FF_INTANGIBLEFLATS = 0x6000000, ///< Both flats are intangible, but the sides are still solid.
|
||||||
FF_RIPPLE = 0x40000000, ///< Ripple the flats
|
FF_RIPPLE = 0x8000000, ///< Ripple the flats
|
||||||
FF_COLORMAPONLY = 0x80000000, ///< Only copy the colormap, not the lightlevel
|
FF_COLORMAPONLY = 0x10000000, ///< Only copy the colormap, not the lightlevel
|
||||||
} ffloortype_e;
|
} ffloortype_e;
|
||||||
|
|
||||||
//Binary map format ffloor flags, for backwards compatibility only
|
|
||||||
#define BFF_SHATTERBOTTOM 0x200000
|
|
||||||
#define BFF_SHATTER 0x8000000
|
|
||||||
#define BFF_SPINBUST 0x10000000
|
|
||||||
#define BFF_STRONGBUST 0x20000000
|
|
||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
BT_TOUCH,
|
BT_TOUCH,
|
||||||
|
|
Loading…
Reference in a new issue