mirror of
https://github.com/ZDoom/qzdoom.git
synced 2024-11-27 22:42:57 +00:00
- Fixed: The compatibility searches for teleport destinations did not work
properly when the teleporter had both a tid and a tag. Now, if a teleporter has a tag these are skipped because they are only present for Hexen compatibility. SVN r994 (trunk)
This commit is contained in:
parent
4434e322e2
commit
1dc9528b43
2 changed files with 17 additions and 9 deletions
|
@ -1,4 +1,8 @@
|
|||
May 23, 2008 (Changes by Graf Zahl)
|
||||
- Fixed: The compatibility searches for teleport destinations did not work
|
||||
properly when the teleporter had both a tid and a tag. Now, if a teleporter
|
||||
has a tag these are skipped because they are only present for Hexen
|
||||
compatibility.
|
||||
- Fixed: The first texture in a TEXTURE1 lump, although invalid when used
|
||||
elsewhere, must be usable as sky (see Requiem.wad's SKY3.)
|
||||
- Fixed: side_t::GetLightLevel relied on the global 'linedef' variable for
|
||||
|
|
|
@ -349,21 +349,25 @@ static AActor *SelectTeleDest (int tid, int tag)
|
|||
|
||||
// If teleport dests were not found, the sector tag is ignored for the
|
||||
// following compatibility searches.
|
||||
// Do this only when tag is 0 because this is the only case that was defined in Hexen.
|
||||
if (count == 0)
|
||||
{
|
||||
// Try to find a matching map spot (fixes Hexen MAP10)
|
||||
NActorIterator it2 (NAME_MapSpot, tid);
|
||||
searcher = it2.Next ();
|
||||
if (searcher == NULL)
|
||||
if (tag == 0)
|
||||
{
|
||||
// Try to find a matching non-blocking spot of any type (fixes Caldera MAP13)
|
||||
FActorIterator it3 (tid);
|
||||
searcher = it3.Next ();
|
||||
while (searcher != NULL && (searcher->flags & MF_SOLID))
|
||||
// Try to find a matching map spot (fixes Hexen MAP10)
|
||||
NActorIterator it2 (NAME_MapSpot, tid);
|
||||
searcher = it2.Next ();
|
||||
if (searcher == NULL)
|
||||
{
|
||||
// Try to find a matching non-blocking spot of any type (fixes Caldera MAP13)
|
||||
FActorIterator it3 (tid);
|
||||
searcher = it3.Next ();
|
||||
while (searcher != NULL && (searcher->flags & MF_SOLID))
|
||||
{
|
||||
searcher = it3.Next ();
|
||||
}
|
||||
return searcher;
|
||||
}
|
||||
return searcher;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
Loading…
Reference in a new issue