mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2024-11-11 03:55:07 -05:00
Added renderer api switch dropdown (#775)
* Added renderer api switch * Joined backend api and names into a pair * Added close button on input editor
This commit is contained in:
parent
d45968270a
commit
2daddd8a5a
@ -68,6 +68,7 @@ namespace SohImGui {
|
|||||||
static ImVector<ImRect> s_GroupPanelLabelStack;
|
static ImVector<ImRect> s_GroupPanelLabelStack;
|
||||||
bool p_open = false;
|
bool p_open = false;
|
||||||
bool needs_save = false;
|
bool needs_save = false;
|
||||||
|
int lastBackendID = 0;
|
||||||
|
|
||||||
const char* filters[3] = {
|
const char* filters[3] = {
|
||||||
"Three-Point",
|
"Three-Point",
|
||||||
@ -75,6 +76,14 @@ namespace SohImGui {
|
|||||||
"None"
|
"None"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
std::pair<const char*, const char*> backends[] = {
|
||||||
|
#ifdef _WIN32
|
||||||
|
{ "dx11", "DirectX" },
|
||||||
|
#endif
|
||||||
|
{ "sdl", "OpenGL" }
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
const char* powers[9] = {
|
const char* powers[9] = {
|
||||||
"Vanilla (1x)",
|
"Vanilla (1x)",
|
||||||
"Double (2x)",
|
"Double (2x)",
|
||||||
@ -91,6 +100,21 @@ namespace SohImGui {
|
|||||||
std::map<std::string, std::vector<std::string>> windowCategories;
|
std::map<std::string, std::vector<std::string>> windowCategories;
|
||||||
std::map<std::string, CustomWindow> customWindows;
|
std::map<std::string, CustomWindow> customWindows;
|
||||||
|
|
||||||
|
int GetBackendID(std::shared_ptr<Mercury> cfg) {
|
||||||
|
std::string backend = cfg->getString("Window.GfxBackend");
|
||||||
|
if (backend.empty()) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (size_t i = 0; i < (sizeof(backends) / sizeof(backends[0])); i++) {
|
||||||
|
if(backend == backends[i].first) {
|
||||||
|
return i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int ClampFloatToInt(float value, int min, int max) {
|
int ClampFloatToInt(float value, int min, int max) {
|
||||||
return fmin(fmax(value, min), max);
|
return fmin(fmax(value, min), max);
|
||||||
}
|
}
|
||||||
@ -315,6 +339,8 @@ namespace SohImGui {
|
|||||||
io = &ImGui::GetIO();
|
io = &ImGui::GetIO();
|
||||||
io->ConfigFlags |= ImGuiConfigFlags_DockingEnable;
|
io->ConfigFlags |= ImGuiConfigFlags_DockingEnable;
|
||||||
io->Fonts->AddFontDefault();
|
io->Fonts->AddFontDefault();
|
||||||
|
|
||||||
|
lastBackendID = GetBackendID(GlobalCtx2::GetInstance()->GetConfig());
|
||||||
if (CVar_GetS32("gOpenMenuBar", 0) != 1) {
|
if (CVar_GetS32("gOpenMenuBar", 0) != 1) {
|
||||||
SohImGui::overlay->TextDrawNotification(30.0f, true, "Press F1 to access enhancements menu");
|
SohImGui::overlay->TextDrawNotification(30.0f, true, "Press F1 to access enhancements menu");
|
||||||
}
|
}
|
||||||
@ -653,6 +679,8 @@ namespace SohImGui {
|
|||||||
ImGui::NewFrame();
|
ImGui::NewFrame();
|
||||||
|
|
||||||
const std::shared_ptr<Window> wnd = GlobalCtx2::GetInstance()->GetWindow();
|
const std::shared_ptr<Window> wnd = GlobalCtx2::GetInstance()->GetWindow();
|
||||||
|
const std::shared_ptr<Mercury> pConf = GlobalCtx2::GetInstance()->GetConfig();
|
||||||
|
|
||||||
ImGuiWindowFlags window_flags = ImGuiWindowFlags_NoDocking | ImGuiWindowFlags_NoBackground |
|
ImGuiWindowFlags window_flags = ImGuiWindowFlags_NoDocking | ImGuiWindowFlags_NoBackground |
|
||||||
ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoMove |
|
ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoCollapse | ImGuiWindowFlags_NoMove |
|
||||||
ImGuiWindowFlags_NoBringToFrontOnFocus | ImGuiWindowFlags_NoNavFocus | ImGuiWindowFlags_NoResize;
|
ImGuiWindowFlags_NoBringToFrontOnFocus | ImGuiWindowFlags_NoNavFocus | ImGuiWindowFlags_NoResize;
|
||||||
@ -822,6 +850,18 @@ namespace SohImGui {
|
|||||||
"to do CPU + GPU work in time.");
|
"to do CPU + GPU work in time.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
ImGui::Text("Renderer API (Needs reload)");
|
||||||
|
if (ImGui::BeginCombo("##RApi", backends[lastBackendID].second)) {
|
||||||
|
for (uint8_t i = 0; i < sizeof(backends) / sizeof(backends[0]); i++) {
|
||||||
|
if (ImGui::Selectable(backends[i].second, i == lastBackendID)) {
|
||||||
|
pConf->setString("Window.GfxBackend", backends[i].first);
|
||||||
|
lastBackendID = i;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ImGui::EndCombo();
|
||||||
|
}
|
||||||
|
|
||||||
EXPERIMENTAL();
|
EXPERIMENTAL();
|
||||||
ImGui::Text("Texture Filter (Needs reload)");
|
ImGui::Text("Texture Filter (Needs reload)");
|
||||||
EnhancementCombobox("gTextureFilter", filters, 3, 0);
|
EnhancementCombobox("gTextureFilter", filters, 3, 0);
|
||||||
|
@ -5,6 +5,7 @@
|
|||||||
#include "ImGuiImpl.h"
|
#include "ImGuiImpl.h"
|
||||||
#include "Utils/StringHelper.h"
|
#include "Utils/StringHelper.h"
|
||||||
#include "Lib/ImGui/imgui_internal.h"
|
#include "Lib/ImGui/imgui_internal.h"
|
||||||
|
#include "Cvar.h"
|
||||||
|
|
||||||
namespace Ship {
|
namespace Ship {
|
||||||
|
|
||||||
@ -249,13 +250,14 @@ namespace Ship {
|
|||||||
|
|
||||||
if (!this->Opened) {
|
if (!this->Opened) {
|
||||||
BtnReading = -1;
|
BtnReading = -1;
|
||||||
|
CVar_SetS32("gControllerConfigurationEnabled", 0);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
ImGui::SetNextWindowSizeConstraints(ImVec2(641, 250), ImVec2(1200, 290));
|
ImGui::SetNextWindowSizeConstraints(ImVec2(641, 250), ImVec2(1200, 290));
|
||||||
//OTRTODO: Disable this stupid workaround ( ReadRawPress() only works when the window is on the main viewport )
|
//OTRTODO: Disable this stupid workaround ( ReadRawPress() only works when the window is on the main viewport )
|
||||||
ImGui::SetNextWindowViewport(ImGui::GetMainViewport()->ID);
|
ImGui::SetNextWindowViewport(ImGui::GetMainViewport()->ID);
|
||||||
ImGui::Begin("Controller Configuration", nullptr, ImGuiWindowFlags_NoResize | ImGuiWindowFlags_AlwaysAutoResize);
|
ImGui::Begin("Controller Configuration", &this->Opened, ImGuiWindowFlags_NoResize | ImGuiWindowFlags_AlwaysAutoResize);
|
||||||
|
|
||||||
ImGui::BeginTabBar("##Controllers");
|
ImGui::BeginTabBar("##Controllers");
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user