mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-01-30 23:10:14 -05:00
imgui 1.90.6 -> 1.91.6 (#4838)
This commit is contained in:
parent
3b26bd0402
commit
6a5e5e2a75
@ -1 +1 @@
|
||||
Subproject commit 7fc73766ed4c636b49e2218d948100ee7782456e
|
||||
Subproject commit 9a974e002f84cd1fe834ee9d2fa4ccf16d899e0f
|
@ -4,9 +4,6 @@
|
||||
#ifdef __cplusplus
|
||||
|
||||
#include <libultraship/libultraship.h>
|
||||
#ifndef IMGUI_DEFINE_MATH_OPERATORS
|
||||
#define IMGUI_DEFINE_MATH_OPERATORS
|
||||
#endif
|
||||
#include <imgui.h>
|
||||
#include "AudioCollection.h"
|
||||
|
||||
|
@ -5,9 +5,6 @@
|
||||
#include "Context.h"
|
||||
#include "soh/OTRGlobals.h"
|
||||
#include "soh/cvar_prefixes.h"
|
||||
#ifndef IMGUI_DEFINE_MATH_OPERATORS
|
||||
#define IMGUI_DEFINE_MATH_OPERATORS
|
||||
#endif
|
||||
#include <imgui.h>
|
||||
#include <spdlog/spdlog.h>
|
||||
#include <cmath>
|
||||
|
@ -2,9 +2,6 @@
|
||||
|
||||
#include "stdint.h"
|
||||
#include <libultraship/libultraship.h>
|
||||
#ifndef IMGUI_DEFINE_MATH_OPERATORS
|
||||
#define IMGUI_DEFINE_MATH_OPERATORS
|
||||
#endif
|
||||
#include <imgui.h>
|
||||
#include <unordered_map>
|
||||
#include <string>
|
||||
|
@ -18,9 +18,6 @@
|
||||
|
||||
#include <Window.h>
|
||||
#include <Context.h>
|
||||
#ifndef IMGUI_DEFINE_MATH_OPERATORS
|
||||
#define IMGUI_DEFINE_MATH_OPERATORS
|
||||
#endif
|
||||
#include <imgui.h>
|
||||
#include <imgui_internal.h>
|
||||
#undef PATH_HACK
|
||||
|
@ -455,8 +455,11 @@ void DrawInventoryTab() {
|
||||
uint8_t item = gSaveContext.inventory.items[index];
|
||||
if (item != ITEM_NONE) {
|
||||
const ItemMapEntry& slotEntry = itemMapping.find(item)->second;
|
||||
if (ImGui::ImageButton(Ship::Context::GetInstance()->GetWindow()->GetGui()->GetTextureByName(slotEntry.name), ImVec2(32.0f, 32.0f), ImVec2(0, 0),
|
||||
ImVec2(1, 1), 0)) {
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(0, 0));
|
||||
auto ret = ImGui::ImageButton(slotEntry.name.c_str(), Ship::Context::GetInstance()->GetWindow()->GetGui()->GetTextureByName(slotEntry.name),
|
||||
ImVec2(32.0f, 32.0f), ImVec2(0, 0), ImVec2(1, 1));
|
||||
ImGui::PopStyleVar();
|
||||
if (ret) {
|
||||
selectedIndex = index;
|
||||
ImGui::OpenPopup(itemPopupPicker);
|
||||
}
|
||||
@ -503,8 +506,11 @@ void DrawInventoryTab() {
|
||||
ImGui::SameLine();
|
||||
}
|
||||
const ItemMapEntry& slotEntry = possibleItems[pickerIndex];
|
||||
if (ImGui::ImageButton(Ship::Context::GetInstance()->GetWindow()->GetGui()->GetTextureByName(slotEntry.name), ImVec2(32.0f, 32.0f),
|
||||
ImVec2(0, 0), ImVec2(1, 1), 0)) {
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(0, 0));
|
||||
auto ret = ImGui::ImageButton(slotEntry.name.c_str(), Ship::Context::GetInstance()->GetWindow()->GetGui()->GetTextureByName(slotEntry.name),
|
||||
ImVec2(32.0f, 32.0f), ImVec2(0, 0), ImVec2(1, 1));
|
||||
ImGui::PopStyleVar();
|
||||
if (ret) {
|
||||
gSaveContext.inventory.items[selectedIndex] = slotEntry.id;
|
||||
// Set adult trade item flag if you're playing adult trade shuffle in rando
|
||||
if (IS_RANDO &&
|
||||
@ -986,8 +992,11 @@ void DrawUpgradeIcon(const std::string& categoryName, int32_t categoryId, const
|
||||
uint8_t item = items[CUR_UPG_VALUE(categoryId)];
|
||||
if (item != ITEM_NONE) {
|
||||
const ItemMapEntry& slotEntry = itemMapping[item];
|
||||
if (ImGui::ImageButton(Ship::Context::GetInstance()->GetWindow()->GetGui()->GetTextureByName(slotEntry.name), ImVec2(32.0f, 32.0f), ImVec2(0, 0),
|
||||
ImVec2(1, 1), 0)) {
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(0, 0));
|
||||
auto ret = ImGui::ImageButton(slotEntry.name.c_str(), Ship::Context::GetInstance()->GetWindow()->GetGui()->GetTextureByName(slotEntry.name),
|
||||
ImVec2(32.0f, 32.0f), ImVec2(0, 0), ImVec2(1, 1));
|
||||
ImGui::PopStyleVar();
|
||||
if (ret) {
|
||||
ImGui::OpenPopup(upgradePopupPicker);
|
||||
}
|
||||
} else {
|
||||
@ -1014,8 +1023,11 @@ void DrawUpgradeIcon(const std::string& categoryName, int32_t categoryId, const
|
||||
UIWidgets::SetLastItemHoverText("None");
|
||||
} else {
|
||||
const ItemMapEntry& slotEntry = itemMapping[items[pickerIndex]];
|
||||
if (ImGui::ImageButton(Ship::Context::GetInstance()->GetWindow()->GetGui()->GetTextureByName(slotEntry.name), ImVec2(32.0f, 32.0f), ImVec2(0, 0),
|
||||
ImVec2(1, 1), 0)) {
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(0, 0));
|
||||
auto ret = ImGui::ImageButton(slotEntry.name.c_str(), Ship::Context::GetInstance()->GetWindow()->GetGui()->GetTextureByName(slotEntry.name),
|
||||
ImVec2(32.0f, 32.0f), ImVec2(0, 0), ImVec2(1, 1));
|
||||
ImGui::PopStyleVar();
|
||||
if (ret) {
|
||||
Inventory_ChangeUpgrade(categoryId, pickerIndex);
|
||||
ImGui::CloseCurrentPopup();
|
||||
}
|
||||
@ -1051,8 +1063,11 @@ void DrawEquipmentTab() {
|
||||
bool hasEquip = (bitMask & gSaveContext.inventory.equipment) != 0;
|
||||
const ItemMapEntry& entry = itemMapping[equipmentValues[i]];
|
||||
ImGui::PushStyleColor(ImGuiCol_Button, ImVec4(0, 0, 0, 0));
|
||||
if (ImGui::ImageButton(Ship::Context::GetInstance()->GetWindow()->GetGui()->GetTextureByName(hasEquip ? entry.name : entry.nameFaded),
|
||||
ImVec2(32.0f, 32.0f), ImVec2(0, 0), ImVec2(1, 1), 0)) {
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(0, 0));
|
||||
auto ret = ImGui::ImageButton(entry.name.c_str(), Ship::Context::GetInstance()->GetWindow()->GetGui()->GetTextureByName(hasEquip ? entry.name : entry.nameFaded),
|
||||
ImVec2(32.0f, 32.0f), ImVec2(0, 0), ImVec2(1, 1));
|
||||
ImGui::PopStyleVar();
|
||||
if (ret) {
|
||||
if (hasEquip) {
|
||||
gSaveContext.inventory.equipment &= ~bitMask;
|
||||
} else {
|
||||
@ -1150,8 +1165,11 @@ void DrawQuestItemButton(uint32_t item) {
|
||||
uint32_t bitMask = 1 << entry.id;
|
||||
bool hasQuestItem = (bitMask & gSaveContext.inventory.questItems) != 0;
|
||||
ImGui::PushStyleColor(ImGuiCol_Button, ImVec4(0, 0, 0, 0));
|
||||
if (ImGui::ImageButton(Ship::Context::GetInstance()->GetWindow()->GetGui()->GetTextureByName(hasQuestItem ? entry.name : entry.nameFaded),
|
||||
ImVec2(32.0f, 32.0f), ImVec2(0, 0), ImVec2(1, 1), 0)) {
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(0, 0));
|
||||
auto ret = ImGui::ImageButton(entry.name.c_str(), Ship::Context::GetInstance()->GetWindow()->GetGui()->GetTextureByName(hasQuestItem ? entry.name : entry.nameFaded),
|
||||
ImVec2(32.0f, 32.0f), ImVec2(0, 0), ImVec2(1, 1));
|
||||
ImGui::PopStyleVar();
|
||||
if (ret) {
|
||||
if (hasQuestItem) {
|
||||
gSaveContext.inventory.questItems &= ~bitMask;
|
||||
} else {
|
||||
@ -1168,8 +1186,11 @@ void DrawDungeonItemButton(uint32_t item, uint32_t scene) {
|
||||
uint32_t bitMask = 1 << (entry.id - ITEM_KEY_BOSS); // Bitset starts at ITEM_KEY_BOSS == 0. the rest are sequential
|
||||
bool hasItem = (bitMask & gSaveContext.inventory.dungeonItems[scene]) != 0;
|
||||
ImGui::PushStyleColor(ImGuiCol_Button, ImVec4(0, 0, 0, 0));
|
||||
if (ImGui::ImageButton(Ship::Context::GetInstance()->GetWindow()->GetGui()->GetTextureByName(hasItem ? entry.name : entry.nameFaded),
|
||||
ImVec2(32.0f, 32.0f), ImVec2(0, 0), ImVec2(1, 1), 0)) {
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(0, 0));
|
||||
auto ret = ImGui::ImageButton(entry.name.c_str(), Ship::Context::GetInstance()->GetWindow()->GetGui()->GetTextureByName(hasItem ? entry.name : entry.nameFaded),
|
||||
ImVec2(32.0f, 32.0f), ImVec2(0, 0), ImVec2(1, 1));
|
||||
ImGui::PopStyleVar();
|
||||
if (ret) {
|
||||
if (hasItem) {
|
||||
gSaveContext.inventory.dungeonItems[scene] &= ~bitMask;
|
||||
} else {
|
||||
@ -1215,8 +1236,11 @@ void DrawQuestStatusTab() {
|
||||
uint32_t bitMask = 1 << entry.id;
|
||||
bool hasQuestItem = (bitMask & gSaveContext.inventory.questItems) != 0;
|
||||
ImGui::PushStyleColor(ImGuiCol_Button, ImVec4(0, 0, 0, 0));
|
||||
if (ImGui::ImageButton(Ship::Context::GetInstance()->GetWindow()->GetGui()->GetTextureByName(hasQuestItem ? entry.name : entry.nameFaded),
|
||||
ImVec2(16.0f, 24.0f), ImVec2(0, 0), ImVec2(1, 1), 0)) {
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(0, 0));
|
||||
auto ret = ImGui::ImageButton(entry.name.c_str(), Ship::Context::GetInstance()->GetWindow()->GetGui()->GetTextureByName(hasQuestItem ? entry.name : entry.nameFaded),
|
||||
ImVec2(16.0f, 24.0f), ImVec2(0, 0), ImVec2(1, 1));
|
||||
ImGui::PopStyleVar();
|
||||
if (ret) {
|
||||
if (hasQuestItem) {
|
||||
gSaveContext.inventory.questItems &= ~bitMask;
|
||||
} else {
|
||||
|
@ -715,15 +715,18 @@ void PlandomizerDrawItemPopup(uint32_t index) {
|
||||
ImGui::PushID(item);
|
||||
ImGui::TableNextColumn();
|
||||
PlandomizerItemImageCorrection(plandomizerRandoRetrieveItem(item));
|
||||
if (ImGui::ImageButton(textureID,
|
||||
imageSize, textureUV0, textureUV1, imagePadding, ImVec4(0, 0, 0, 0), itemColor)) {
|
||||
auto name = plandomizerRandoRetrieveItem(item).GetName().english;
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(imagePadding, imagePadding));
|
||||
auto ret = ImGui::ImageButton(name.c_str(), textureID, imageSize, textureUV0, textureUV1, ImVec4(0, 0, 0, 0), itemColor);
|
||||
ImGui::PopStyleVar();
|
||||
if (ret) {
|
||||
if (std::find(infiniteItemList.begin(), infiniteItemList.end(), plandoLogData[index].checkRewardItem.GetRandomizerGet()) == infiniteItemList.end()) {
|
||||
PlandomizerAddToItemList(plandoLogData[index].checkRewardItem);
|
||||
}
|
||||
plandoLogData[index].checkRewardItem = plandomizerRandoRetrieveItem(item);
|
||||
ImGui::CloseCurrentPopup();
|
||||
}
|
||||
UIWidgets::Tooltip(plandomizerRandoRetrieveItem(item).GetName().english.c_str());
|
||||
UIWidgets::Tooltip(name.c_str());
|
||||
PlandomizerOverlayText(std::make_pair(plandomizerRandoRetrieveItem(item), 1));
|
||||
ImGui::PopID();
|
||||
}
|
||||
@ -741,8 +744,11 @@ void PlandomizerDrawItemPopup(uint32_t index) {
|
||||
ImGui::PushID(itemIndex);
|
||||
auto itemToDraw = drawSlots.first;
|
||||
PlandomizerItemImageCorrection(drawSlots.first);
|
||||
if (ImGui::ImageButton(textureID,
|
||||
imageSize, textureUV0, textureUV1, imagePadding, ImVec4(0, 0, 0, 0), itemColor)) {
|
||||
auto name = drawSlots.first.GetName().english;
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(imagePadding, imagePadding));
|
||||
auto ret = ImGui::ImageButton(name.c_str(), textureID, imageSize, textureUV0, textureUV1, ImVec4(0, 0, 0, 0), itemColor);
|
||||
ImGui::PopStyleVar();
|
||||
if (ret) {
|
||||
if (itemToDraw.GetRandomizerGet() >= RG_PROGRESSIVE_HOOKSHOT &&
|
||||
itemToDraw.GetRandomizerGet() <= RG_PROGRESSIVE_GORONSWORD) {
|
||||
plandoLogData[index].checkRewardItem = drawSlots.first;
|
||||
@ -757,7 +763,7 @@ void PlandomizerDrawItemPopup(uint32_t index) {
|
||||
ImGui::CloseCurrentPopup();
|
||||
}
|
||||
if (!isClicked) {
|
||||
UIWidgets::Tooltip(drawSlots.first.GetName().english.c_str());
|
||||
UIWidgets::Tooltip(name.c_str());
|
||||
}
|
||||
ImGui::PopID();
|
||||
|
||||
@ -786,12 +792,16 @@ void PlandomizerDrawIceTrapPopUp(uint32_t index) {
|
||||
}
|
||||
ImGui::TableNextColumn();
|
||||
ImGui::PushID(items.first);
|
||||
auto name = Rando::StaticData::RetrieveItem(items.first).GetName().english;
|
||||
PlandomizerItemImageCorrection(Rando::StaticData::RetrieveItem(items.first));
|
||||
if (ImGui::ImageButton(textureID, imageSize, textureUV0, textureUV1, imagePadding, ImVec4(0, 0, 0, 0), itemColor)) {
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(imagePadding, imagePadding));
|
||||
auto ret = ImGui::ImageButton(name.c_str(), textureID, imageSize, textureUV0, textureUV1, ImVec4(0, 0, 0, 0), itemColor);
|
||||
ImGui::PopStyleVar();
|
||||
if (ret) {
|
||||
plandoLogData[index].iceTrapModel = Rando::StaticData::RetrieveItem(items.first);
|
||||
ImGui::CloseCurrentPopup();
|
||||
};
|
||||
UIWidgets::Tooltip(Rando::StaticData::RetrieveItem(items.first).GetName().english.c_str());
|
||||
UIWidgets::Tooltip(name.c_str());
|
||||
|
||||
auto itemObject = Rando::StaticData::RetrieveItem(items.first);
|
||||
PlandomizerOverlayText(std::make_pair(itemObject, 1));
|
||||
@ -808,13 +818,17 @@ void PlandomizerDrawItemSlots(uint32_t index) {
|
||||
ImGui::PushID(index);
|
||||
PlandoPushImageButtonStyle();
|
||||
PlandomizerItemImageCorrection(plandoLogData[index].checkRewardItem);
|
||||
if (ImGui::ImageButton(textureID, imageSize, textureUV0, textureUV1, imagePadding, ImVec4(0, 0, 0, 0), itemColor)) {
|
||||
auto name = plandoLogData[index].checkRewardItem.GetName().english;
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(imagePadding, imagePadding));
|
||||
auto ret = ImGui::ImageButton(name.c_str(), textureID, imageSize, textureUV0, textureUV1, ImVec4(0, 0, 0, 0), itemColor);
|
||||
ImGui::PopStyleVar();
|
||||
if (ret) {
|
||||
shouldPopup = true;
|
||||
temporaryItem = plandoLogData[index].checkRewardItem;
|
||||
ImGui::OpenPopup("ItemList");
|
||||
};
|
||||
PlandoPopImageButtonStyle();
|
||||
UIWidgets::Tooltip(plandoLogData[index].checkRewardItem.GetName().english.c_str());
|
||||
UIWidgets::Tooltip(name.c_str());
|
||||
PlandomizerOverlayText(std::make_pair(plandoLogData[index].checkRewardItem, 1));
|
||||
PlandomizerDrawItemPopup(index);
|
||||
ImGui::PopID();
|
||||
@ -852,12 +866,16 @@ void PlandomizerDrawIceTrapSetup(uint32_t index) {
|
||||
ImGui::TableNextColumn();
|
||||
PlandomizerItemImageCorrection(plandoLogData[index].iceTrapModel);
|
||||
PlandoPushImageButtonStyle();
|
||||
if (ImGui::ImageButton(textureID, imageSize, textureUV0, textureUV1, imagePadding, ImVec4(0, 0, 0, 0), itemColor)) {
|
||||
auto name = plandoLogData[index].iceTrapModel.GetName().english;
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(imagePadding, imagePadding));
|
||||
auto ret = ImGui::ImageButton(name.c_str(), textureID, imageSize, textureUV0, textureUV1, ImVec4(0, 0, 0, 0), itemColor);
|
||||
ImGui::PopStyleVar();
|
||||
if (ret) {
|
||||
shouldTrapPopup = true;
|
||||
ImGui::OpenPopup("TrapList");
|
||||
};
|
||||
PlandoPopImageButtonStyle();
|
||||
UIWidgets::Tooltip(plandoLogData[index].iceTrapModel.GetName().english.c_str());
|
||||
UIWidgets::Tooltip(name.c_str());
|
||||
PlandomizerDrawIceTrapPopUp(index);
|
||||
ImGui::SameLine();
|
||||
ImGui::TableNextColumn();
|
||||
@ -934,8 +952,11 @@ void PlandomizerDrawOptions() {
|
||||
for (auto& hash : plandoHash) {
|
||||
ImGui::PushID(index);
|
||||
textureID = Ship::Context::GetInstance()->GetWindow()->GetGui()->GetTextureByName(gSeedTextures[hash].tex);
|
||||
if (ImGui::ImageButton(Ship::Context::GetInstance()->GetWindow()->GetGui()->GetTextureByName("HASH_ARROW_UP"),
|
||||
ImVec2(35.0f, 18.0f), ImVec2(1, 1), ImVec2(0, 0), 2.0f, ImVec4(0, 0, 0, 0), ImVec4(1, 1, 1, 1))) {
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(2.0f, 2.0f));
|
||||
auto upRet = ImGui::ImageButton("HASH_ARROW_UP", Ship::Context::GetInstance()->GetWindow()->GetGui()->GetTextureByName("HASH_ARROW_UP"),
|
||||
ImVec2(35.0f, 18.0f), ImVec2(1, 1), ImVec2(0, 0), ImVec4(0, 0, 0, 0), ImVec4(1, 1, 1, 1));
|
||||
ImGui::PopStyleVar();
|
||||
if (upRet) {
|
||||
if (hash + 1 >= gSeedTextures.size()) {
|
||||
hash = 0;
|
||||
}
|
||||
@ -944,8 +965,11 @@ void PlandomizerDrawOptions() {
|
||||
}
|
||||
}
|
||||
ImGui::Image(textureID, ImVec2(35.0f, 35.0f));
|
||||
if (ImGui::ImageButton(Ship::Context::GetInstance()->GetWindow()->GetGui()->GetTextureByName("HASH_ARROW_DWN"),
|
||||
ImVec2(35.0f, 18.0f), ImVec2(0, 0), ImVec2(1, 1), 2.0f, ImVec4(0, 0, 0, 0), ImVec4(1, 1, 1, 1))) {
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(2.0f, 2.0f));
|
||||
auto downRet = ImGui::ImageButton("HASH_ARROW_DWN", Ship::Context::GetInstance()->GetWindow()->GetGui()->GetTextureByName("HASH_ARROW_DWN"),
|
||||
ImVec2(35.0f, 18.0f), ImVec2(0, 0), ImVec2(1, 1), ImVec4(0, 0, 0, 0), ImVec4(1, 1, 1, 1));
|
||||
ImGui::PopStyleVar();
|
||||
if (downRet) {
|
||||
if (hash == 0) {
|
||||
hash = gSeedTextures.size() - 1;
|
||||
}
|
||||
|
@ -14,9 +14,6 @@
|
||||
#include "soh/UIWidgets.hpp"
|
||||
#include "3drando/custom_messages.hpp"
|
||||
#include "../../UIWidgets.hpp"
|
||||
#ifndef IMGUI_DEFINE_MATH_OPERATORS
|
||||
#define IMGUI_DEFINE_MATH_OPERATORS
|
||||
#endif
|
||||
#include <imgui.h>
|
||||
#include <imgui_internal.h>
|
||||
#include "../custom-message/CustomMessageTypes.h"
|
||||
|
@ -432,8 +432,10 @@ void TimeSplitsPopUpContext() {
|
||||
ImGui::BeginTable("Token Table", 2);
|
||||
ImGui::TableNextColumn();
|
||||
SplitsPushImageButtonStyle();
|
||||
ImGui::ImageButton(Ship::Context::GetInstance()->GetWindow()->GetGui()->GetTextureByName("QUEST_SKULL_TOKEN"),
|
||||
ImVec2(32.0f, 32.0f), ImVec2(0, 0), ImVec2(1, 1), 2.0f, ImVec4(0, 0, 0, 0));
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(2.0f, 2.0f));
|
||||
ImGui::ImageButton("QUEST_SKULL_TOKEN", Ship::Context::GetInstance()->GetWindow()->GetGui()->GetTextureByName("QUEST_SKULL_TOKEN"),
|
||||
ImVec2(32.0f, 32.0f), ImVec2(0, 0), ImVec2(1, 1), ImVec4(0, 0, 0, 0));
|
||||
ImGui::PopStyleVar();
|
||||
ImGui::TableNextColumn();
|
||||
SplitsPopImageButtonStyle();
|
||||
ImGui::PushItemWidth(150.0f);
|
||||
@ -479,8 +481,11 @@ void TimeSplitsPopUpContext() {
|
||||
SplitObject& popupObject = *findID;
|
||||
ImGui::BeginGroup();
|
||||
ImGui::PushID(popupObject.splitID);
|
||||
if (ImGui::ImageButton(Ship::Context::GetInstance()->GetWindow()->GetGui()->GetTextureByName(popupObject.splitImage),
|
||||
ImVec2(32.0f, 32.0f), ImVec2(0, 0), ImVec2(1, 1), 2, ImVec4(0, 0, 0, 0), popupObject.splitTint)) {
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(2.0f, 2.0f));
|
||||
auto ret = ImGui::ImageButton(popupObject.splitImage.c_str(), Ship::Context::GetInstance()->GetWindow()->GetGui()->GetTextureByName(popupObject.splitImage),
|
||||
ImVec2(32.0f, 32.0f), ImVec2(0, 0), ImVec2(1, 1), ImVec4(0, 0, 0, 0), popupObject.splitTint);
|
||||
ImGui::PopStyleVar();
|
||||
if (ret) {
|
||||
splitList.push_back(popupObject);
|
||||
if (splitList.size() == 1) {
|
||||
splitList[0].splitTimeStatus = SPLIT_STATUS_ACTIVE;
|
||||
@ -650,8 +655,11 @@ void TimeSplitsDrawSplitsList() {
|
||||
ImGui::TableSetBgColor(ImGuiTableBgTarget_RowBg0, IM_COL32(47, 79, 90, 255));
|
||||
}
|
||||
TimeSplitsGetImageSize(split.splitID);
|
||||
if (ImGui::ImageButton(Ship::Context::GetInstance()->GetWindow()->GetGui()->GetTextureByName(split.splitImage),
|
||||
imageSize, ImVec2(0, 0), ImVec2(1, 1), imagePadding, ImVec4(0, 0, 0, 0), split.splitTint)) {
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(imagePadding, imagePadding));
|
||||
auto ret = ImGui::ImageButton(split.splitImage.c_str(), Ship::Context::GetInstance()->GetWindow()->GetGui()->GetTextureByName(split.splitImage),
|
||||
imageSize, ImVec2(0, 0), ImVec2(1, 1), ImVec4(0, 0, 0, 0), split.splitTint);
|
||||
ImGui::PopStyleVar();
|
||||
if (ret) {
|
||||
TimeSplitsSkipSplit(dragIndex);
|
||||
}
|
||||
HandleDragAndDrop(splitList, dragIndex, split.splitName);
|
||||
@ -722,9 +730,11 @@ void TimeSplitsDrawItemList(uint32_t type) {
|
||||
ImGui::PushID(split.splitID);
|
||||
TimeSplitsGetImageSize(split.splitID);
|
||||
SplitsPushImageButtonStyle();
|
||||
if (ImGui::ImageButton(Ship::Context::GetInstance()->GetWindow()->GetGui()->GetTextureByName(split.splitImage),
|
||||
imageSize, ImVec2(0, 0), ImVec2(1, 1), imagePadding, ImVec4(0, 0, 0, 0), split.splitTint)) {
|
||||
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(imagePadding, imagePadding));
|
||||
auto ret = ImGui::ImageButton(split.splitImage.c_str(), Ship::Context::GetInstance()->GetWindow()->GetGui()->GetTextureByName(split.splitImage),
|
||||
imageSize, ImVec2(0, 0), ImVec2(1, 1), ImVec4(0, 0, 0, 0), split.splitTint);
|
||||
ImGui::PopStyleVar();
|
||||
if (ret) {
|
||||
if (popupList.contains(split.splitID) && (split.splitType < SPLIT_TYPE_BOSS)) {
|
||||
popupID = split.splitID;
|
||||
ImGui::OpenPopup("TimeSplitsPopUp");
|
||||
@ -875,8 +885,11 @@ void TimeSplitsDrawManageList() {
|
||||
ImGui::SetCursorPosX(ImGui::GetCursorPosX() + offsetX); // Apply the offset to center
|
||||
}
|
||||
TimeSplitsGetImageSize(data.splitID);
|
||||
if (ImGui::ImageButton(Ship::Context::GetInstance()->GetWindow()->GetGui()->GetTextureByName(data.splitImage),
|
||||
imageSize, ImVec2(0, 0), ImVec2(1, 1), imagePadding, ImVec4(0, 0, 0, 0), data.splitTint)) {
|
||||
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, ImVec2(imagePadding, imagePadding));
|
||||
auto ret = ImGui::ImageButton(data.splitImage.c_str(), Ship::Context::GetInstance()->GetWindow()->GetGui()->GetTextureByName(data.splitImage),
|
||||
imageSize, ImVec2(0, 0), ImVec2(1, 1), ImVec4(0, 0, 0, 0), data.splitTint);
|
||||
ImGui::PopStyleVar();
|
||||
if (ret) {
|
||||
removeIndex = index;
|
||||
}
|
||||
HandleDragAndDrop(splitList, index, splitList[index].splitName);
|
||||
|
@ -3,9 +3,6 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#ifndef IMGUI_DEFINE_MATH_OPERATORS
|
||||
#define IMGUI_DEFINE_MATH_OPERATORS
|
||||
#endif
|
||||
#include <imgui.h>
|
||||
#include <array>
|
||||
#include <map>
|
||||
|
@ -8,9 +8,6 @@
|
||||
#include "SohGui.hpp"
|
||||
|
||||
#include <spdlog/spdlog.h>
|
||||
#ifndef IMGUI_DEFINE_MATH_OPERATORS
|
||||
#define IMGUI_DEFINE_MATH_OPERATORS
|
||||
#endif
|
||||
#include <imgui.h>
|
||||
#include <imgui_internal.h>
|
||||
#include <libultraship/libultraship.h>
|
||||
|
@ -1,7 +1,4 @@
|
||||
#include "SohMenuBar.h"
|
||||
#ifndef IMGUI_DEFINE_MATH_OPERATORS
|
||||
#define IMGUI_DEFINE_MATH_OPERATORS
|
||||
#endif
|
||||
#include <imgui.h>
|
||||
#include "regex"
|
||||
#include "public/bridge/consolevariablebridge.h"
|
||||
|
@ -7,9 +7,6 @@
|
||||
|
||||
#include "UIWidgets.hpp"
|
||||
|
||||
#ifndef IMGUI_DEFINE_MATH_OPERATORS
|
||||
#define IMGUI_DEFINE_MATH_OPERATORS
|
||||
#endif
|
||||
#include <imgui.h>
|
||||
#include <imgui_internal.h>
|
||||
#include <libultraship/libultraship.h>
|
||||
@ -159,7 +156,7 @@ namespace UIWidgets {
|
||||
ImGui::RenderFrame(check_bb.Min, check_bb.Max, ImGui::GetColorU32((held && hovered) ? ImGuiCol_FrameBgActive : hovered ? ImGuiCol_FrameBgHovered : ImGuiCol_FrameBg), true, style.FrameRounding);
|
||||
ImU32 check_col = ImGui::GetColorU32(ImGuiCol_CheckMark);
|
||||
ImU32 cross_col = ImGui::GetColorU32(ImVec4(0.50f, 0.50f, 0.50f, 1.00f));
|
||||
bool mixed_value = (g.LastItemData.InFlags & ImGuiItemFlags_MixedValue) != 0;
|
||||
bool mixed_value = (g.LastItemData.ItemFlags & ImGuiItemFlags_MixedValue) != 0;
|
||||
if (mixed_value) {
|
||||
// Undocumented tristate/mixed/indeterminate checkbox (#2644)
|
||||
// This may seem awkwardly designed because the aim is to make ImGuiItemFlags_MixedValue supported by all widgets (not just checkbox)
|
||||
@ -789,12 +786,17 @@ namespace UIWidgets {
|
||||
if (!ImGui::ItemAdd(bb, id))
|
||||
return false;
|
||||
|
||||
if (g.LastItemData.InFlags & ImGuiItemFlags_ButtonRepeat)
|
||||
flags |= ImGuiButtonFlags_Repeat;
|
||||
if (g.LastItemData.ItemFlags & ImGuiItemFlags_ButtonRepeat) {
|
||||
ImGui::PushItemFlag(ImGuiItemFlags_ButtonRepeat, true);
|
||||
}
|
||||
|
||||
bool hovered, held;
|
||||
bool pressed = ImGui::ButtonBehavior(bb, id, &hovered, &held, flags);
|
||||
|
||||
if (g.LastItemData.ItemFlags & ImGuiItemFlags_ButtonRepeat) {
|
||||
ImGui::PopItemFlag(); // ImGuiItemFlags_ButtonRepeat;
|
||||
}
|
||||
|
||||
// Render
|
||||
const ImU32 bg_col = ImGui::GetColorU32((held && hovered) ? ImGuiCol_ButtonActive
|
||||
: hovered ? ImGuiCol_ButtonHovered
|
||||
|
@ -6,9 +6,6 @@
|
||||
#include <vector>
|
||||
#include <span>
|
||||
#include <stdint.h>
|
||||
#ifndef IMGUI_DEFINE_MATH_OPERATORS
|
||||
#define IMGUI_DEFINE_MATH_OPERATORS
|
||||
#endif
|
||||
#include <imgui.h>
|
||||
#include "soh/ShipInit.hpp"
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user