mirror of
https://github.com/ZDoom/qzdoom.git
synced 2024-11-13 07:57:58 +00:00
Merge remote-tracking branch 'origin/master' into asmjit
This commit is contained in:
commit
3b2faf5397
6 changed files with 10 additions and 5 deletions
|
@ -487,6 +487,7 @@ enum ActorBounceFlag
|
||||||
BOUNCE_AutoOffFloorOnly = 1<<13, // like BOUNCE_AutoOff, but only on floors
|
BOUNCE_AutoOffFloorOnly = 1<<13, // like BOUNCE_AutoOff, but only on floors
|
||||||
BOUNCE_UseBounceState = 1<<14, // Use Bounce[.*] states
|
BOUNCE_UseBounceState = 1<<14, // Use Bounce[.*] states
|
||||||
BOUNCE_NotOnShootables = 1<<15, // do not bounce off shootable actors if we are a projectile. Explode instead.
|
BOUNCE_NotOnShootables = 1<<15, // do not bounce off shootable actors if we are a projectile. Explode instead.
|
||||||
|
BOUNCE_BounceOnUnrips = 1<<16, // projectile bounces on actors with DONTRIP
|
||||||
|
|
||||||
BOUNCE_TypeMask = BOUNCE_Walls | BOUNCE_Floors | BOUNCE_Ceilings | BOUNCE_Actors | BOUNCE_AutoOff | BOUNCE_HereticType | BOUNCE_MBF,
|
BOUNCE_TypeMask = BOUNCE_Walls | BOUNCE_Floors | BOUNCE_Ceilings | BOUNCE_Actors | BOUNCE_AutoOff | BOUNCE_HereticType | BOUNCE_MBF,
|
||||||
|
|
||||||
|
@ -550,7 +551,7 @@ typedef TFlags<ActorFlag6> ActorFlags6;
|
||||||
typedef TFlags<ActorFlag7> ActorFlags7;
|
typedef TFlags<ActorFlag7> ActorFlags7;
|
||||||
typedef TFlags<ActorFlag8> ActorFlags8;
|
typedef TFlags<ActorFlag8> ActorFlags8;
|
||||||
typedef TFlags<ActorRenderFlag> ActorRenderFlags;
|
typedef TFlags<ActorRenderFlag> ActorRenderFlags;
|
||||||
typedef TFlags<ActorBounceFlag, uint16_t> ActorBounceFlags;
|
typedef TFlags<ActorBounceFlag> ActorBounceFlags;
|
||||||
typedef TFlags<ActorRenderFeatureFlag> ActorRenderFeatureFlags;
|
typedef TFlags<ActorRenderFeatureFlag> ActorRenderFeatureFlags;
|
||||||
DEFINE_TFLAGS_OPERATORS (ActorFlags)
|
DEFINE_TFLAGS_OPERATORS (ActorFlags)
|
||||||
DEFINE_TFLAGS_OPERATORS (ActorFlags2)
|
DEFINE_TFLAGS_OPERATORS (ActorFlags2)
|
||||||
|
|
|
@ -3642,7 +3642,8 @@ bool P_BounceActor(AActor *mo, AActor *BlockingMobj, bool ontop)
|
||||||
|| ((BlockingMobj->player == NULL) && (!(BlockingMobj->flags3 & MF3_ISMONSTER)))))
|
|| ((BlockingMobj->player == NULL) && (!(BlockingMobj->flags3 & MF3_ISMONSTER)))))
|
||||||
{
|
{
|
||||||
// Rippers should not bounce off shootable actors, since they rip through them.
|
// Rippers should not bounce off shootable actors, since they rip through them.
|
||||||
if ((mo->flags & MF_MISSILE) && (mo->flags2 & MF2_RIP) && BlockingMobj->flags & MF_SHOOTABLE)
|
if ((mo->flags & MF_MISSILE) && (mo->flags2 & MF2_RIP) && BlockingMobj->flags & MF_SHOOTABLE
|
||||||
|
&& !(mo->BounceFlags & BOUNCE_BounceOnUnrips && BlockingMobj->flags5 & MF5_DONTRIP))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
if (BlockingMobj->flags & MF_SHOOTABLE && mo->BounceFlags & BOUNCE_NotOnShootables)
|
if (BlockingMobj->flags & MF_SHOOTABLE && mo->BounceFlags & BOUNCE_NotOnShootables)
|
||||||
|
|
|
@ -48,8 +48,6 @@
|
||||||
#include "w_wad.h"
|
#include "w_wad.h"
|
||||||
#include "doomstat.h"
|
#include "doomstat.h"
|
||||||
|
|
||||||
inline PClass *PObjectPointer::PointedClass() const { return static_cast<PClassType*>(PointedType)->Descriptor; }
|
|
||||||
|
|
||||||
extern FRandom pr_exrandom;
|
extern FRandom pr_exrandom;
|
||||||
FMemArena FxAlloc(65536);
|
FMemArena FxAlloc(65536);
|
||||||
int utf8_decode(const char *src, int *size);
|
int utf8_decode(const char *src, int *size);
|
||||||
|
|
|
@ -359,6 +359,7 @@ static FFlagDef ActorFlagDefs[]=
|
||||||
DEFINE_FLAG2(BOUNCE_AutoOffFloorOnly, BOUNCEAUTOOFFFLOORONLY, AActor, BounceFlags),
|
DEFINE_FLAG2(BOUNCE_AutoOffFloorOnly, BOUNCEAUTOOFFFLOORONLY, AActor, BounceFlags),
|
||||||
DEFINE_FLAG2(BOUNCE_UseBounceState, USEBOUNCESTATE, AActor, BounceFlags),
|
DEFINE_FLAG2(BOUNCE_UseBounceState, USEBOUNCESTATE, AActor, BounceFlags),
|
||||||
DEFINE_FLAG2(BOUNCE_NotOnShootables, DONTBOUNCEONSHOOTABLES, AActor, BounceFlags),
|
DEFINE_FLAG2(BOUNCE_NotOnShootables, DONTBOUNCEONSHOOTABLES, AActor, BounceFlags),
|
||||||
|
DEFINE_FLAG2(BOUNCE_BounceOnUnrips, BOUNCEONUNRIPPABLES, AActor, BounceFlags),
|
||||||
};
|
};
|
||||||
|
|
||||||
// These won't be accessible through bitfield variables
|
// These won't be accessible through bitfield variables
|
||||||
|
|
|
@ -575,6 +575,10 @@ public:
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
inline PClass *PObjectPointer::PointedClass() const
|
||||||
|
{
|
||||||
|
return static_cast<PClassType*>(PointedType)->Descriptor;
|
||||||
|
}
|
||||||
|
|
||||||
// Returns a type from the TypeTable. Will create one if it isn't present.
|
// Returns a type from the TypeTable. Will create one if it isn't present.
|
||||||
PMap *NewMap(PType *keytype, PType *valuetype);
|
PMap *NewMap(PType *keytype, PType *valuetype);
|
||||||
|
|
|
@ -137,7 +137,7 @@ extend class Actor
|
||||||
{
|
{
|
||||||
drop.Vel.Z = -1.;
|
drop.Vel.Z = -1.;
|
||||||
}
|
}
|
||||||
A_Explode(64, 64, XF_NOSPLASH, damagetype: 'Fire');
|
A_Explode(64, 64, XF_NOSPLASH|XF_HURTSOURCE|XF_NOTMISSILE, damagetype: 'Fire');
|
||||||
}
|
}
|
||||||
|
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
|
|
Loading…
Reference in a new issue