SpaghettiKart
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
12constexpr size_t MAX_FPS = 480;
13
14static const std::unordered_map<int32_t, const char*> menuExtentOptions = {
15 { UIWidgets::MenuExtent::Condensed, "Condensed" },
16 { UIWidgets::MenuExtent::Stretched, "Stretched" },
17};
18
19static const std::unordered_map<int32_t, const char*> menuThemeOptions = {
20 { UIWidgets::Colors::Red, "Red" },
21 { UIWidgets::Colors::DarkRed, "Dark Red" },
22 { UIWidgets::Colors::Orange, "Orange" },
23 { UIWidgets::Colors::Green, "Green" },
24 { UIWidgets::Colors::DarkGreen, "Dark Green" },
25 { UIWidgets::Colors::LightBlue, "Light Blue" },
26 { UIWidgets::Colors::Blue, "Blue" },
27 { UIWidgets::Colors::DarkBlue, "Dark Blue" },
28 { UIWidgets::Colors::Indigo, "Indigo" },
29 { UIWidgets::Colors::Violet, "Violet" },
30 { UIWidgets::Colors::Purple, "Purple" },
31 { UIWidgets::Colors::Brown, "Brown" },
32 { UIWidgets::Colors::Gray, "Gray" },
33 { UIWidgets::Colors::DarkGray, "Dark Gray" },
34};
35
36static const std::unordered_map<int32_t, const char*> introBehaviourOptions = {
37 { 0, "Both" },
38 { 1, "Authentic" },
39 { 2, "Start Menu" },
40 { 3, "Main Menu" },
41};
42
43static const std::unordered_map<int32_t, const char*> textureFilteringMap = {
44 { Fast::FilteringMode::FILTER_THREE_POINT, "Three-Point" },
45 { Fast::FilteringMode::FILTER_LINEAR, "Linear" },
46 { Fast::FilteringMode::FILTER_NONE, "None" },
47};
48
49static const std::unordered_map<int32_t, const char*> motionBlurOptions = {
50 { MOTION_BLUR_DYNAMIC, "Dynamic (default)" },
51 { MOTION_BLUR_ALWAYS_OFF, "Always Off" },
52 { MOTION_BLUR_ALWAYS_ON, "Always On" },
53};
54
55static const std::unordered_map<int32_t, const char*> logLevels = {
56 { DEBUG_LOG_TRACE, "Trace" }, { DEBUG_LOG_DEBUG, "Debug" }, { DEBUG_LOG_INFO, "Info" },
57 { DEBUG_LOG_WARN, "Warn" }, { DEBUG_LOG_ERROR, "Error" }, { DEBUG_LOG_CRITICAL, "Critical" },
58 { DEBUG_LOG_OFF, "Off" },
59};
60
61class PortMenu : public Ship::Menu {
62 public:
63 PortMenu(const std::string& consoleVariable, const std::string& name);
65
66 void InitElement() override;
67 void DrawElement() override;
68 void UpdateElement() override;
69 void Draw() override;
70
71 void AddSidebarEntry(std::string sectionName, std::string sidbarName, uint32_t columnCount);
72 WidgetInfo& AddWidget(WidgetPath& pathInfo, std::string widgetName, WidgetType widgetType);
73 void AddSettings();
74 void AddEnhancements();
75 void AddRulesets();
76 void AddDevTools();
77 void AddSceneVisibility();
78};
79} // namespace BenGui
80
81#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:617
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:64
void InitElement() override
Definition PortMenu.cpp:621
void DrawElement() override
Definition PortMenu.cpp:696
void AddSceneVisibility()
Definition PortMenu.cpp:564
void UpdateElement() override
Definition PortMenu.cpp:688
void AddRulesets()
Definition PortMenu.cpp:433
void AddEnhancements()
Definition PortMenu.cpp:357
void AddSettings()
Definition PortMenu.cpp:92
void Draw() override
Definition PortMenu.cpp:692
void AddDevTools()
Definition PortMenu.cpp:500
Definition Menu.h:21
Definition FreecamWindow.cpp:38
constexpr size_t MAX_FPS
Definition PortMenu.h:12
static const std::unordered_map< int32_t, const char * > menuThemeOptions
Definition PortMenu.h:19
static const std::unordered_map< int32_t, const char * > introBehaviourOptions
Definition PortMenu.h:36
static const std::unordered_map< int32_t, const char * > textureFilteringMap
Definition PortMenu.h:43
static const std::unordered_map< int32_t, const char * > logLevels
Definition PortMenu.h:55
static const std::unordered_map< int32_t, const char * > motionBlurOptions
Definition PortMenu.h:49
static const std::unordered_map< int32_t, const char * > menuExtentOptions
Definition PortMenu.h:14
@ 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