MCPcopy Create free account
hub / github.com/OpenLoco/OpenLoco / viewportSetVisibility

Function viewportSetVisibility

src/OpenLoco/src/Ui/WindowManager.cpp:1642–1761  ·  view source on GitHub ↗

* 0x004A0A18 * * @param visibility @ */

Source from the content-addressed store, hash-verified

1640 * @param visibility @<al>
1641 */
1642 void viewportSetVisibility(ViewportVisibility visibility)
1643 {
1644 auto window = WindowManager::getMainWindow();
1645
1646 if (window == nullptr)
1647 {
1648 return;
1649 }
1650
1651 auto viewport = window->viewports[0];
1652 bool flagsChanged = false;
1653
1654 switch (visibility)
1655 {
1656 case ViewportVisibility::undergroundView:
1657 {
1658 if (!viewport->hasFlags(ViewportFlags::underground_view))
1659 {
1660 viewport->flags |= (ViewportFlags::underground_view);
1661 flagsChanged = true;
1662 }
1663 break;
1664 }
1665
1666 case ViewportVisibility::heightMarksOnTrack:
1667 {
1668 if (!viewport->hasFlags(ViewportFlags::height_marks_on_tracks_roads))
1669 {
1670 viewport->flags |= (ViewportFlags::height_marks_on_tracks_roads);
1671 flagsChanged = true;
1672 }
1673 break;
1674 }
1675
1676 case ViewportVisibility::overgroundView:
1677 {
1678 if (viewport->hasFlags(ViewportFlags::underground_view))
1679 {
1680 viewport->flags &= ~(ViewportFlags::underground_view);
1681 flagsChanged = true;
1682 }
1683 break;
1684 }
1685
1686 default:
1687 {
1688 if (viewport->hasFlags(ViewportFlags::underground_view))
1689 {
1690 viewport->flags &= ~(ViewportFlags::underground_view);
1691 flagsChanged = true;
1692 }
1693
1694 if (viewport->hasFlags(ViewportFlags::flag_7))
1695 {
1696 viewport->flags &= ~(ViewportFlags::flag_7);
1697 flagsChanged = true;
1698 }
1699

Callers 5

onMouseUpFunction · 0.85
placeTrackGhostFunction · 0.85
placeRoadGhostFunction · 0.85
onToolUpFunction · 0.85
onCloseFunction · 0.85

Calls 3

getMainWindowFunction · 0.85
hasFlagsMethod · 0.45
invalidateMethod · 0.45

Tested by

no test coverage detected