Portals - fix autolink portals to detect internal

Although explicit portals did a check to detect internal portals, this check was missing from autolinked portals. This meant they were incorrectly clipping the room bounds of the enclosing outer room.

This PR adds a check for internal rooms during the autolinking and sets the internal flag where needed.
This commit is contained in:
lawnjelly 2021-07-28 15:54:45 +01:00
parent 8f891535d0
commit d7d7abf057

View file

@ -924,6 +924,10 @@ void RoomManager::_autolink_portals(Spatial *p_roomlist, LocalVector<Portal *> &
// send complete link to visual server so the portal will be active in the visual server room system
VisualServer::get_singleton()->portal_link(portal->_portal_rid, source_room->_room_rid, room->_room_rid, portal->_settings_two_way);
// make the portal internal if necessary
// (this prevents the portal plane clipping the room bound)
portal->_internal = source_room->_room_priority > room->_room_priority;
autolink_found = true;
break;
}