4#include <libultraship/libultraship.h>
5#include <fast/Fast3dWindow.h>
79using CVarVariant = std::variant<int32_t, const char*, float, Color_RGBA8, Color_RGB8>;
108 std::shared_ptr<UIWidgets::WidgetOptions>
options;
129 options = std::make_shared<UIWidgets::ComboboxOptions>(std::get<UIWidgets::ComboboxOptions>(options_));
133 options = std::make_shared<UIWidgets::CheckboxOptions>(std::get<UIWidgets::CheckboxOptions>(options_));
138 std::make_shared<UIWidgets::FloatSliderOptions>(std::get<UIWidgets::FloatSliderOptions>(options_));
143 std::make_shared<UIWidgets::IntSliderOptions>(std::get<UIWidgets::IntSliderOptions>(options_));
147 options = std::make_shared<UIWidgets::ButtonOptions>(std::get<UIWidgets::ButtonOptions>(options_));
154 options = std::make_shared<UIWidgets::WidgetOptions>(std::get<UIWidgets::WidgetOptions>(options_));
254 std::unordered_map<std::string, SidebarEntry>
sidebars = {};
259 { Ship::AudioBackend::WASAPI,
"Windows Audio Session API" },
260 { Ship::AudioBackend::SDL,
"SDL" },
261 { Ship::AudioBackend::COREAUDIO,
"CoreAudio" },
265 { Fast::WindowBackend::FAST3D_DXGI_DX11,
"DirectX" },
266 { Fast::WindowBackend::FAST3D_SDL_OPENGL,
"OpenGL" },
267 { Fast::WindowBackend::FAST3D_SDL_METAL,
"Metal" },
272 static std::vector<std::function<void()>> menuInitFuncs;
273 return menuInitFuncs;
276 static std::unordered_map<std::string, std::unordered_map<std::string, std::vector<std::function<void()>>>>&
278 static std::unordered_map<std::string, std::unordered_map<std::string, std::vector<std::function<void()>>>>
280 return menuUpdateFuncs;
285 for (
const auto& initFunc : menuInitFuncs) {
295 menuInitFuncs.push_back(initFunc);
303 menuUpdateFuncs[sectionName][sidebarName].push_back(updateFunc);
Definition MenuTypes.h:251
std::string label
Definition MenuTypes.h:252
std::vector< std::string > sidebarOrder
Definition MenuTypes.h:255
std::unordered_map< std::string, SidebarEntry > sidebars
Definition MenuTypes.h:254
const char * sidebarCvar
Definition MenuTypes.h:253
Definition MenuTypes.h:210
const char * reason
Definition MenuTypes.h:212
DisableInfoFunc evaluation
Definition MenuTypes.h:211
int32_t value
Definition MenuTypes.h:214
bool active
Definition MenuTypes.h:213