mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-23 04:22:34 +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)
|
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
|
- Fixed: The first texture in a TEXTURE1 lump, although invalid when used
|
||||||
elsewhere, must be usable as sky (see Requiem.wad's SKY3.)
|
elsewhere, must be usable as sky (see Requiem.wad's SKY3.)
|
||||||
- Fixed: side_t::GetLightLevel relied on the global 'linedef' variable for
|
- 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
|
// If teleport dests were not found, the sector tag is ignored for the
|
||||||
// following compatibility searches.
|
// following compatibility searches.
|
||||||
|
// Do this only when tag is 0 because this is the only case that was defined in Hexen.
|
||||||
if (count == 0)
|
if (count == 0)
|
||||||
{
|
{
|
||||||
// Try to find a matching map spot (fixes Hexen MAP10)
|
if (tag == 0)
|
||||||
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)
|
// Try to find a matching map spot (fixes Hexen MAP10)
|
||||||
FActorIterator it3 (tid);
|
NActorIterator it2 (NAME_MapSpot, tid);
|
||||||
searcher = it3.Next ();
|
searcher = it2.Next ();
|
||||||
while (searcher != NULL && (searcher->flags & MF_SOLID))
|
if (searcher == NULL)
|
||||||
{
|
{
|
||||||
|
// Try to find a matching non-blocking spot of any type (fixes Caldera MAP13)
|
||||||
|
FActorIterator it3 (tid);
|
||||||
searcher = it3.Next ();
|
searcher = it3.Next ();
|
||||||
|
while (searcher != NULL && (searcher->flags & MF_SOLID))
|
||||||
|
{
|
||||||
|
searcher = it3.Next ();
|
||||||
|
}
|
||||||
|
return searcher;
|
||||||
}
|
}
|
||||||
return searcher;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
Loading…
Reference in a new issue