| 659 | } |
| 660 | |
| 661 | void DoFlipMap(int group) |
| 662 | { |
| 663 | if (group >= MAX_FLIPMAP) |
| 664 | { |
| 665 | TENLog(fmt::format("Maximum flipmap group number is {}.", MAX_FLIPMAP), LogLevel::Warning); |
| 666 | return; |
| 667 | } |
| 668 | |
| 669 | // Run through rooms. |
| 670 | for (int roomNumber = 0; roomNumber < g_Level.Rooms.size(); roomNumber++) |
| 671 | { |
| 672 | auto& room = g_Level.Rooms[roomNumber]; |
| 673 | |
| 674 | // Handle flipmap. |
| 675 | if (room.flippedRoom != NO_VALUE && room.flipNumber == group) |
| 676 | { |
| 677 | auto& flippedRoom = g_Level.Rooms[room.flippedRoom]; |
| 678 | FlipRooms(roomNumber, room, flippedRoom); |
| 679 | } |
| 680 | } |
| 681 | |
| 682 | FlipStatus = |
| 683 | FlipStats[group] = !FlipStats[group]; |
| 684 | |
| 685 | for (auto creatureIndex : ActiveCreatures) |
| 686 | GetCreatureInfo(&g_Level.Items[creatureIndex])->LOT.TargetBox = NO_VALUE; |
| 687 | } |
| 688 | |
| 689 | bool IsObjectInRoom(int roomNumber, GAME_OBJECT_ID objectID) |
| 690 | { |