MCPcopy Create free account
hub / github.com/OpenRCT2/OpenRCT2 / initViewMenu

Method initViewMenu

src/openrct2-ui/windows/TopToolbar.cpp:286–342  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

284 bool _waitingForPause{ false };
285
286 void initViewMenu(Widget& widget)
287 {
288 using namespace Dropdown;
289 constexpr ItemExt items[] = {
290 ToggleOption(DDIDX_UNDERGROUND_INSIDE, STR_UNDERGROUND_VIEW),
291 ToggleOption(DDIDX_TRANSPARENT_WATER, STR_VIEWPORT_TRANSPARENT_WATER),
292 ToggleOption(DDIDX_HIDE_BASE, STR_REMOVE_BASE_LAND),
293 ToggleOption(DDIDX_HIDE_VERTICAL, STR_REMOVE_VERTICAL_FACES),
294 ExtSeparator(),
295 ToggleOption(DDIDX_HIDE_RIDES, STR_SEE_THROUGH_RIDES),
296 ToggleOption(DDIDX_HIDE_VEHICLES, STR_SEE_THROUGH_VEHICLES),
297 ToggleOption(DDIDX_HIDE_VEGETATION, STR_SEE_THROUGH_VEGETATION),
298 ToggleOption(DDIDX_HIDE_SCENERY, STR_SEE_THROUGH_SCENERY),
299 ToggleOption(DDIDX_HIDE_PATHS, STR_SEE_THROUGH_PATHS),
300 ToggleOption(DDIDX_HIDE_SUPPORTS, STR_SEE_THROUGH_SUPPORTS),
301 ToggleOption(DDIDX_HIDE_GUESTS, STR_SEE_THROUGH_GUESTS),
302 ToggleOption(DDIDX_HIDE_STAFF, STR_SEE_THROUGH_STAFF),
303 ExtSeparator(),
304 ToggleOption(DDIDX_LAND_HEIGHTS, STR_HEIGHT_MARKS_ON_LAND),
305 ToggleOption(DDIDX_TRACK_HEIGHTS, STR_HEIGHT_MARKS_ON_RIDE_TRACKS),
306 ToggleOption(DDIDX_PATH_HEIGHTS, STR_HEIGHT_MARKS_ON_PATHS),
307 ExtSeparator(),
308 ToggleOption(DDIDX_VIEW_CLIPPING, STR_VIEW_CLIPPING_MENU),
309 ToggleOption(DDIDX_HIGHLIGHT_PATH_ISSUES, STR_HIGHLIGHT_PATH_ISSUES_MENU),
310 ExtSeparator(),
311 ToggleOption(DDIDX_TRANSPARENCY, STR_TRANSPARENCY_OPTIONS),
312 };
313
314 static_assert(ItemIDsMatchIndices(items));
315
316 SetItems(items);
317
318 WindowDropdownShowText(
319 { windowPos.x + widget.left, windowPos.y + widget.top }, widget.height(),
320 colours[1].withFlag(ColourFlag::translucent, true), Dropdown::Flag::StayOpen, TOP_TOOLBAR_VIEW_MENU_COUNT);
321
322 auto mvpFlags = WindowGetMain()->viewport->flags;
323 gDropdown.items[DDIDX_UNDERGROUND_INSIDE].setChecked(mvpFlags & VIEWPORT_FLAG_UNDERGROUND_INSIDE);
324 gDropdown.items[DDIDX_TRANSPARENT_WATER].setChecked(Config::Get().general.transparentWater);
325 gDropdown.items[DDIDX_HIDE_BASE].setChecked(mvpFlags & VIEWPORT_FLAG_HIDE_BASE);
326 gDropdown.items[DDIDX_HIDE_VERTICAL].setChecked(mvpFlags & VIEWPORT_FLAG_HIDE_VERTICAL);
327 gDropdown.items[DDIDX_HIDE_RIDES].setChecked(mvpFlags & VIEWPORT_FLAG_HIDE_RIDES);
328 gDropdown.items[DDIDX_HIDE_VEHICLES].setChecked(mvpFlags & VIEWPORT_FLAG_HIDE_VEHICLES);
329 gDropdown.items[DDIDX_HIDE_VEGETATION].setChecked(mvpFlags & VIEWPORT_FLAG_HIDE_VEGETATION);
330 gDropdown.items[DDIDX_HIDE_SCENERY].setChecked(mvpFlags & VIEWPORT_FLAG_HIDE_SCENERY);
331 gDropdown.items[DDIDX_HIDE_PATHS].setChecked(mvpFlags & VIEWPORT_FLAG_HIDE_PATHS);
332 gDropdown.items[DDIDX_HIDE_SUPPORTS].setChecked(mvpFlags & VIEWPORT_FLAG_HIDE_SUPPORTS);
333 gDropdown.items[DDIDX_HIDE_GUESTS].setChecked(mvpFlags & VIEWPORT_FLAG_HIDE_GUESTS);
334 gDropdown.items[DDIDX_HIDE_STAFF].setChecked(mvpFlags & VIEWPORT_FLAG_HIDE_STAFF);
335 gDropdown.items[DDIDX_LAND_HEIGHTS].setChecked(mvpFlags & VIEWPORT_FLAG_LAND_HEIGHTS);
336 gDropdown.items[DDIDX_TRACK_HEIGHTS].setChecked(mvpFlags & VIEWPORT_FLAG_TRACK_HEIGHTS);
337 gDropdown.items[DDIDX_PATH_HEIGHTS].setChecked(mvpFlags & VIEWPORT_FLAG_PATH_HEIGHTS);
338 gDropdown.items[DDIDX_VIEW_CLIPPING].setChecked(mvpFlags & VIEWPORT_FLAG_CLIP_VIEW);
339 gDropdown.items[DDIDX_HIGHLIGHT_PATH_ISSUES].setChecked(mvpFlags & VIEWPORT_FLAG_HIGHLIGHT_PATH_ISSUES);
340
341 gDropdown.defaultIndex = DDIDX_UNDERGROUND_INSIDE;
342 }
343

Callers

nothing calls this directly

Calls 9

ExtSeparatorFunction · 0.85
ItemIDsMatchIndicesFunction · 0.85
SetItemsFunction · 0.85
WindowDropdownShowTextFunction · 0.85
WindowGetMainFunction · 0.85
heightMethod · 0.80
withFlagMethod · 0.80
setCheckedMethod · 0.80
ToggleOptionFunction · 0.70

Tested by

no test coverage detected