mirror of
https://github.com/ZDoom/gzdoom-gles.git
synced 2024-11-12 23:54:33 +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
|
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
|
- Performance optimization for FBlockThingsIterator::Next(): Actors that
|
||||||
exist in only one block don't need to be added to the CheckArray or
|
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
|
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_CANTSEEK = 0x10000000, // seeker missiles cannot home in on this actor
|
||||||
MF5_INCONVERSATION = 0x20000000, // Actor is having a conversation
|
MF5_INCONVERSATION = 0x20000000, // Actor is having a conversation
|
||||||
MF5_PAINLESS = 0x40000000, // Actor always inflicts painless damage.
|
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 ---
|
// --- 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
|
// [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)
|
switch (floorOrCeil)
|
||||||
{
|
{
|
||||||
case 0:
|
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
|
if (!n->visited) // unprocessed thing found
|
||||||
{
|
{
|
||||||
n->visited = true; // mark thing as processed
|
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
|
iterator (n->m_thing, &cpos); // process it
|
||||||
if (iterator2 != NULL) iterator2 (n->m_thing, &cpos);
|
if (iterator2 != NULL) iterator2 (n->m_thing, &cpos);
|
||||||
|
|
|
@ -208,6 +208,7 @@ static FFlagDef ActorFlags[]=
|
||||||
DEFINE_FLAG(MF5, BRIGHT, AActor, flags5),
|
DEFINE_FLAG(MF5, BRIGHT, AActor, flags5),
|
||||||
DEFINE_FLAG(MF5, CANTSEEK, AActor, flags5),
|
DEFINE_FLAG(MF5, CANTSEEK, AActor, flags5),
|
||||||
DEFINE_FLAG(MF5, PAINLESS, AActor, flags5),
|
DEFINE_FLAG(MF5, PAINLESS, AActor, flags5),
|
||||||
|
DEFINE_FLAG(MF5, MOVEWITHSECTOR, AActor, flags5),
|
||||||
|
|
||||||
// Effect flags
|
// Effect flags
|
||||||
DEFINE_FLAG(FX, VISIBILITYPULSE, AActor, effects),
|
DEFINE_FLAG(FX, VISIBILITYPULSE, AActor, effects),
|
||||||
|
|
|
@ -16,6 +16,8 @@ ACTOR IceChunk
|
||||||
+CANNOTPUSH
|
+CANNOTPUSH
|
||||||
+FLOORCLIP
|
+FLOORCLIP
|
||||||
+NOTELEPORT
|
+NOTELEPORT
|
||||||
|
+NOBLOCKMAP
|
||||||
|
+MOVEWITHSECTOR
|
||||||
|
|
||||||
action native A_IceSetTics ();
|
action native A_IceSetTics ();
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue