Mario Kart 64
Loading...
Searching...
No Matches
PortMenu.h
Go to the documentation of this file.
1#ifndef PORTMENU_H
2#define PORTMENU_H
3
4#include <libultraship/libultraship.h>
5#include "UIWidgets.h"
6#include "Menu.h"
7#include "fast/backends/gfx_rendering_api.h"
8
9
10namespace GameUI {
11
12static const std::unordered_map<int32_t, const char*> menuExtentOptions = {
13 { UIWidgets::MenuExtent::Condensed, "Condensed" },
14 { UIWidgets::MenuExtent::Stretched, "Stretched" },
15};
16
17static const std::unordered_map<int32_t, const char*> menuThemeOptions = {
18 { UIWidgets::Colors::Red, "Red" },
19 { UIWidgets::Colors::DarkRed, "Dark Red" },
20 { UIWidgets::Colors::Orange, "Orange" },
21 { UIWidgets::Colors::Green, "Green" },
22 { UIWidgets::Colors::DarkGreen, "Dark Green" },
23 { UIWidgets::Colors::LightBlue, "Light Blue" },
24 { UIWidgets::Colors::Blue, "Blue" },
25 { UIWidgets::Colors::DarkBlue, "Dark Blue" },
26 { UIWidgets::Colors::Indigo, "Indigo" },
27 { UIWidgets::Colors::Violet, "Violet" },
28 { UIWidgets::Colors::Purple, "Purple" },
29 { UIWidgets::Colors::Brown, "Brown" },
30 { UIWidgets::Colors::Gray, "Gray" },
31 { UIWidgets::Colors::DarkGray, "Dark Gray" },
32};
33
34static const std::unordered_map<int32_t, const char*> introBehaviourOptions = {
35 { 0, "Both" },
36 { 1, "Authentic" },
37 { 2, "Start Menu" },
38 { 3, "Main Menu" },
39};
40
41static const std::unordered_map<int32_t, const char*> textureFilteringMap = {
42 { Fast::FilteringMode::FILTER_THREE_POINT, "Three-Point" },
43 { Fast::FilteringMode::FILTER_LINEAR, "Linear" },
44 { Fast::FilteringMode::FILTER_NONE, "None" },
45};
46
47static const std::unordered_map<int32_t, const char*> motionBlurOptions = {
48 { MOTION_BLUR_DYNAMIC, "Dynamic (default)" },
49 { MOTION_BLUR_ALWAYS_OFF, "Always Off" },
50 { MOTION_BLUR_ALWAYS_ON, "Always On" },
51};
52
53static const std::unordered_map<int32_t, const char*> logLevels = {
54 { DEBUG_LOG_TRACE, "Trace" }, { DEBUG_LOG_DEBUG, "Debug" }, { DEBUG_LOG_INFO, "Info" },
55 { DEBUG_LOG_WARN, "Warn" }, { DEBUG_LOG_ERROR, "Error" }, { DEBUG_LOG_CRITICAL, "Critical" },
56 { DEBUG_LOG_OFF, "Off" },
57};
58
59class PortMenu : public Ship::Menu {
60 public:
61 PortMenu(const std::string& consoleVariable, const std::string& name);
63
64 void InitElement() override;
65 void DrawElement() override;
66 void UpdateElement() override;
67 void Draw() override;
68
69 void AddSidebarEntry(std::string sectionName, std::string sidbarName, uint32_t columnCount);
70 WidgetInfo& AddWidget(WidgetPath& pathInfo, std::string widgetName, WidgetType widgetType);
71 void AddSettings();
72 void AddEnhancements();
73 void AddRulesets();
74 void AddDevTools();
75};
76} // namespace BenGui
77
78#endif // PORTMENU_H
@ MOTION_BLUR_DYNAMIC
Definition MenuTypes.h:61
@ MOTION_BLUR_ALWAYS_ON
Definition MenuTypes.h:63
@ MOTION_BLUR_ALWAYS_OFF
Definition MenuTypes.h:62
WidgetType
Definition MenuTypes.h:32
@ DEBUG_LOG_WARN
Definition MenuTypes.h:70
@ DEBUG_LOG_INFO
Definition MenuTypes.h:69
@ DEBUG_LOG_ERROR
Definition MenuTypes.h:71
@ DEBUG_LOG_OFF
Definition MenuTypes.h:73
@ DEBUG_LOG_TRACE
Definition MenuTypes.h:67
@ DEBUG_LOG_DEBUG
Definition MenuTypes.h:68
@ DEBUG_LOG_CRITICAL
Definition MenuTypes.h:72
PortMenu(const std::string &consoleVariable, const std::string &name)
Definition PortMenu.cpp:556
void AddSidebarEntry(std::string sectionName, std::string sidbarName, uint32_t columnCount)
Definition PortMenu.cpp:33
WidgetInfo & AddWidget(WidgetPath &pathInfo, std::string widgetName, WidgetType widgetType)
Definition PortMenu.cpp:40
~PortMenu()
Definition PortMenu.h:62
void InitElement() override
Definition PortMenu.cpp:560
void DrawElement() override
Definition PortMenu.cpp:635
void UpdateElement() override
Definition PortMenu.cpp:627
void AddRulesets()
Definition PortMenu.cpp:433
void AddEnhancements()
Definition PortMenu.cpp:357
void AddSettings()
Definition PortMenu.cpp:92
void Draw() override
Definition PortMenu.cpp:631
void AddDevTools()
Definition PortMenu.cpp:494
Definition Menu.h:21
Definition FreecamWindow.cpp:38
static const std::unordered_map< int32_t, const char * > menuThemeOptions
Definition PortMenu.h:17
static const std::unordered_map< int32_t, const char * > introBehaviourOptions
Definition PortMenu.h:34
static const std::unordered_map< int32_t, const char * > textureFilteringMap
Definition PortMenu.h:41
static const std::unordered_map< int32_t, const char * > logLevels
Definition PortMenu.h:53
static const std::unordered_map< int32_t, const char * > motionBlurOptions
Definition PortMenu.h:47
static const std::unordered_map< int32_t, const char * > menuExtentOptions
Definition PortMenu.h:12
@ Stretched
Definition UIWidgets.h:109
@ Condensed
Definition UIWidgets.h:108
@ Blue
Definition UIWidgets.h:47
@ Red
Definition UIWidgets.h:41
@ DarkRed
Definition UIWidgets.h:42
@ Purple
Definition UIWidgets.h:51
@ DarkGray
Definition UIWidgets.h:54
@ Violet
Definition UIWidgets.h:50
@ Brown
Definition UIWidgets.h:52
@ Green
Definition UIWidgets.h:44
@ Gray
Definition UIWidgets.h:53
@ DarkBlue
Definition UIWidgets.h:48
@ Indigo
Definition UIWidgets.h:49
@ Orange
Definition UIWidgets.h:43
@ DarkGreen
Definition UIWidgets.h:45
@ LightBlue
Definition UIWidgets.h:46
Definition MenuTypes.h:103
Definition MenuTypes.h:197