mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-26 05:51:20 +00:00
- Added MF5_MOVEWITHSECTOR flag, so you can have the benefits of MF_NOBLOCKMAP
but still have actors that will move up and down with the floor. IceChunk now uses both of these flags. SVN r1536 (trunk)
This commit is contained in:
parent
47a4cffb30
commit
ac2f5aa632
5 changed files with 10 additions and 2 deletions
|
@ -1,4 +1,7 @@
|
|||
April 8, 2009
|
||||
- Added MF5_MOVEWITHSECTOR flag, so you can have the benefits of MF_NOBLOCKMAP
|
||||
but still have actors that will move up and down with the floor. IceChunk
|
||||
now uses both of these flags.
|
||||
- Performance optimization for FBlockThingsIterator::Next(): Actors that
|
||||
exist in only one block don't need to be added to the CheckArray or
|
||||
scanned for in it. Also changed the array used to keep track of visited
|
||||
|
|
|
@ -307,6 +307,7 @@ enum
|
|||
MF5_CANTSEEK = 0x10000000, // seeker missiles cannot home in on this actor
|
||||
MF5_INCONVERSATION = 0x20000000, // Actor is having a conversation
|
||||
MF5_PAINLESS = 0x40000000, // Actor always inflicts painless damage.
|
||||
MF5_MOVEWITHSECTOR = 0x80000000, // P_ChangeSector() will still process this actor if it has MF_NOBLOCKMAP
|
||||
|
||||
|
||||
// --- mobj.renderflags ---
|
||||
|
|
|
@ -4647,7 +4647,7 @@ bool P_ChangeSector (sector_t *sector, int crunch, int amt, int floorOrCeil, boo
|
|||
|
||||
|
||||
// [RH] Use different functions for the four different types of sector
|
||||
// movement. Also update the soundorg's z-coordinate for 3D sound.
|
||||
// movement.
|
||||
switch (floorOrCeil)
|
||||
{
|
||||
case 0:
|
||||
|
@ -4694,7 +4694,8 @@ bool P_ChangeSector (sector_t *sector, int crunch, int amt, int floorOrCeil, boo
|
|||
if (!n->visited) // unprocessed thing found
|
||||
{
|
||||
n->visited = true; // mark thing as processed
|
||||
if (!(n->m_thing->flags & MF_NOBLOCKMAP)) //jff 4/7/98 don't do these
|
||||
if (!(n->m_thing->flags & MF_NOBLOCKMAP) || //jff 4/7/98 don't do these
|
||||
(n->m_thing->flags5 & MF5_MOVEWITHSECTOR))
|
||||
{
|
||||
iterator (n->m_thing, &cpos); // process it
|
||||
if (iterator2 != NULL) iterator2 (n->m_thing, &cpos);
|
||||
|
|
|
@ -208,6 +208,7 @@ static FFlagDef ActorFlags[]=
|
|||
DEFINE_FLAG(MF5, BRIGHT, AActor, flags5),
|
||||
DEFINE_FLAG(MF5, CANTSEEK, AActor, flags5),
|
||||
DEFINE_FLAG(MF5, PAINLESS, AActor, flags5),
|
||||
DEFINE_FLAG(MF5, MOVEWITHSECTOR, AActor, flags5),
|
||||
|
||||
// Effect flags
|
||||
DEFINE_FLAG(FX, VISIBILITYPULSE, AActor, effects),
|
||||
|
|
|
@ -16,6 +16,8 @@ ACTOR IceChunk
|
|||
+CANNOTPUSH
|
||||
+FLOORCLIP
|
||||
+NOTELEPORT
|
||||
+NOBLOCKMAP
|
||||
+MOVEWITHSECTOR
|
||||
|
||||
action native A_IceSetTics ();
|
||||
|
||||
|
|
Loading…
Reference in a new issue