mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-04-25 19:43:22 +00:00
Fix bitflags enum mobjflag_t for C++
This commit is contained in:
parent
d73a42cf02
commit
ffc9400799
1 changed files with 34 additions and 70 deletions
104
src/p_mobj.h
104
src/p_mobj.h
|
|
@ -100,76 +100,40 @@ extern "C" {
|
|||
//
|
||||
// Misc. mobj flags
|
||||
//
|
||||
typedef enum
|
||||
{
|
||||
// Call P_TouchSpecialThing when touched.
|
||||
MF_SPECIAL = 1,
|
||||
// Blocks.
|
||||
MF_SOLID = 1<<1,
|
||||
// Can be hit.
|
||||
MF_SHOOTABLE = 1<<2,
|
||||
// Don't use the sector links (invisible but touchable).
|
||||
MF_NOSECTOR = 1<<3,
|
||||
// Don't use the blocklinks (inert but displayable)
|
||||
MF_NOBLOCKMAP = 1<<4,
|
||||
// Thin, paper-like collision bound (for visual equivalent, see FF_PAPERSPRITE)
|
||||
MF_PAPERCOLLISION = 1<<5,
|
||||
// You can push this object. It can activate switches and things by pushing it on top.
|
||||
MF_PUSHABLE = 1<<6,
|
||||
// Object is a boss.
|
||||
MF_BOSS = 1<<7,
|
||||
// On level spawning (initial position), hang from ceiling instead of stand on floor.
|
||||
MF_SPAWNCEILING = 1<<8,
|
||||
// Don't apply gravity (every tic); object will float, keeping current height
|
||||
// or changing it actively.
|
||||
MF_NOGRAVITY = 1<<9,
|
||||
// This object is visible from a greater distance than normal objects.
|
||||
MF_DRAWFROMFARAWAY = 1<<10,
|
||||
// Slide this object when it hits a wall.
|
||||
MF_SLIDEME = 1<<11,
|
||||
// Don't collide with walls or solid objects. Two MF_NOCLIP objects can't touch each other at all!
|
||||
MF_NOCLIP = 1<<12,
|
||||
// Allow moves to any height, no gravity. For active floaters.
|
||||
MF_FLOAT = 1<<13,
|
||||
// Change pitch/roll when touching slopes.
|
||||
MF_SLOPE = 1<<14,
|
||||
// Don't hit same species, explode on block.
|
||||
// Player missiles as well as fireballs of various kinds.
|
||||
MF_MISSILE = 1<<15,
|
||||
// Item is a spring.
|
||||
MF_SPRING = 1<<16,
|
||||
// Object is elemental. If it is punted, it will evaporate.
|
||||
MF_ELEMENTAL = 1<<17,
|
||||
// Don't run the thinker for this object.
|
||||
MF_NOTHINK = 1<<18,
|
||||
// Don't adjust z if below or above floorz/ceilingz
|
||||
MF_NOCLIPHEIGHT = 1<<19,
|
||||
// This mobj is an enemy!
|
||||
MF_ENEMY = 1<<20,
|
||||
// Scenery (uses scenery thinker).
|
||||
MF_SCENERY = 1<<21,
|
||||
// Painful (shit hurts).
|
||||
MF_PAIN = 1<<22,
|
||||
// Object cannot be punted by invincible players. (Default CAN be punted, if it deals damage or is solid.)
|
||||
MF_DONTPUNT = 1<<23,
|
||||
// Object uses terrain effects. (Overlays, footsteps, etc)
|
||||
MF_APPLYTERRAIN = 1<<24,
|
||||
// for chase camera, don't be blocked by things (partial clipping)
|
||||
MF_NOCLIPTHING = 1<<25,
|
||||
// Missile bounces like a grenade.
|
||||
MF_GRENADEBOUNCE = 1<<26,
|
||||
// Run the action thinker on spawn.
|
||||
MF_RUNSPAWNFUNC = 1<<27,
|
||||
// Don't remap in Encore mode. (Not a drawflag so that it's settable by mobjinfo.)
|
||||
MF_DONTENCOREMAP = 1<<28,
|
||||
// Hitbox extends just as far below as above.
|
||||
MF_PICKUPFROMBELOW = 1<<29,
|
||||
// Disable momentum-based squash and stretch.
|
||||
MF_NOSQUISH = 1<<30,
|
||||
// Disable hitlag for this object
|
||||
MF_NOHITLAGFORME = (INT32)(1U<<31),
|
||||
// no more free slots, gotta get rid of more crusty base SRB2 flags
|
||||
} mobjflag_t;
|
||||
typedef INT32 mobjflag_t;
|
||||
#define MF_SPECIAL (1) // Call P_TouchSpecialThing when touched.
|
||||
#define MF_SOLID (1<<1) // Blocks.
|
||||
#define MF_SHOOTABLE (1<<2) // Can be hit.
|
||||
#define MF_NOSECTOR (1<<3) // Don't use the sector links (invisible but touchable).
|
||||
#define MF_NOBLOCKMAP (1<<4) // Don't use the blocklinks (inert but displayable)
|
||||
#define MF_PAPERCOLLISION (1<<5) // Thin, paper-like collision bound (for visual equivalent, see FF_PAPERSPRITE)
|
||||
#define MF_PUSHABLE (1<<6) // You can push this object. It can activate switches and things by pushing it on top.
|
||||
#define MF_BOSS (1<<7) // Object is a boss.
|
||||
#define MF_SPAWNCEILING (1<<8) // On level spawning (initial position), hang from ceiling instead of stand on floor.
|
||||
#define MF_NOGRAVITY (1<<9) // Don't apply gravity (every tic); object will float, keeping current height
|
||||
#define MF_DRAWFROMFARAWAY (1<<10) // This object is visible from a greater distance than normal objects.
|
||||
#define MF_SLIDEME (1<<11) // Slide this object when it hits a wall.
|
||||
#define MF_NOCLIP (1<<12) // Don't collide with walls or solid objects. Two MF_NOCLIP objects can't touch each other at all!
|
||||
#define MF_FLOAT (1<<13) // Allow moves to any height, no gravity. For active floaters.
|
||||
#define MF_SLOPE (1<<14) // Change pitch/roll when touching slopes.
|
||||
#define MF_MISSILE (1<<15) // Don't hit same species, explode on block.
|
||||
#define MF_SPRING (1<<16) // Item is a spring.
|
||||
#define MF_ELEMENTAL (1<<17) // Object is elemental. If it is punted, it will evaporate.
|
||||
#define MF_NOTHINK (1<<18) // Don't run the thinker for this object.
|
||||
#define MF_NOCLIPHEIGHT (1<<19) // Don't adjust z if below or above floorz/ceilingz
|
||||
#define MF_ENEMY (1<<20) // This mobj is an enemy!
|
||||
#define MF_SCENERY (1<<21) // Scenery (uses scenery thinker).
|
||||
#define MF_PAIN (1<<22) // Painful (shit hurts).
|
||||
#define MF_DONTPUNT (1<<23) // Object cannot be punted by invincible players. (Default CAN be punted, if it deals damage or is solid.)
|
||||
#define MF_APPLYTERRAIN (1<<24) // Object uses terrain effects. (Overlays, footsteps, etc)
|
||||
#define MF_NOCLIPTHING (1<<25) // for chase camera, don't be blocked by things (partial clipping)
|
||||
#define MF_GRENADEBOUNCE (1<<26) // Missile bounces like a grenade.
|
||||
#define MF_RUNSPAWNFUNC (1<<27) // Run the action thinker on spawn.
|
||||
#define MF_DONTENCOREMAP (1<<28) // Don't remap in Encore mode. (Not a drawflag so that it's settable by mobjinfo.)
|
||||
#define MF_PICKUPFROMBELOW (1<<29) // Hitbox extends just as far below as above.
|
||||
#define MF_NOSQUISH (1<<30) // Disable momentum-based squash and stretch.
|
||||
#define MF_NOHITLAGFORME ((INT32)(1U<<31)) // Disable hitlag for this object
|
||||
// no more free slots, gotta get rid of more crusty base SRB2 flags
|
||||
|
||||
typedef enum
|
||||
{
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue