| 852 | } |
| 853 | |
| 854 | void InitializeNeighborRoomList() |
| 855 | { |
| 856 | constexpr auto NEIGHBOR_ROOM_SEARCH_DEPTH = 2; |
| 857 | |
| 858 | for (int roomNumber = 0; roomNumber < g_Level.Rooms.size(); roomNumber++) |
| 859 | { |
| 860 | auto& room = g_Level.Rooms[roomNumber]; |
| 861 | room.NeighborRoomNumbers = GetNeighborRoomNumbers(roomNumber, NEIGHBOR_ROOM_SEARCH_DEPTH); |
| 862 | } |
| 863 | |
| 864 | // Add flipped variations of itself. |
| 865 | for (int roomNumber = 0; roomNumber < g_Level.Rooms.size(); roomNumber++) |
| 866 | { |
| 867 | auto& room = g_Level.Rooms[roomNumber]; |
| 868 | if (room.flippedRoom == NO_VALUE) |
| 869 | continue; |
| 870 | |
| 871 | if (!Contains(room.NeighborRoomNumbers, room.flippedRoom)) |
| 872 | room.NeighborRoomNumbers.push_back(room.flippedRoom); |
| 873 | |
| 874 | auto& flippedRoom = g_Level.Rooms[room.flippedRoom]; |
| 875 | if (!Contains(flippedRoom.NeighborRoomNumbers, roomNumber)) |
| 876 | flippedRoom.NeighborRoomNumbers.push_back(roomNumber); |
| 877 | } |
| 878 | } |
no test coverage detected