mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-08-19 21:03:42 -07:00
Some cleanup (#5183)
* Resolve size_t conversion warnings in UIWidgets.hpp * Change "Better Debug Warp Menu" to default on. * Change All/None checkboxes (for item counts and cutscene skips) to buttons. * Remove all/none for item counts. Remove arrays for item counts, create widgets directly.
This commit is contained in:
parent
69a32ffba6
commit
9ffe2ab2b9
5 changed files with 37 additions and 66 deletions
|
@ -196,18 +196,6 @@ static const std::unordered_map<int32_t, const char*> enhancementPresetList = {
|
||||||
{ ENHANCEMENT_PRESET_RANDOMIZER, "Randomizer" }
|
{ ENHANCEMENT_PRESET_RANDOMIZER, "Randomizer" }
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char* itemCountMessageCVars[3] = {
|
|
||||||
CVAR_ENHANCEMENT("InjectItemCounts.GoldSkulltula"),
|
|
||||||
CVAR_ENHANCEMENT("InjectItemCounts.HeartPiece"),
|
|
||||||
CVAR_ENHANCEMENT("InjectItemCounts.HeartContainer"),
|
|
||||||
};
|
|
||||||
|
|
||||||
static const char* itemCountMessageOptions[ARRAY_COUNT(itemCountMessageCVars)] = {
|
|
||||||
"Gold Skulltula Tokens",
|
|
||||||
"Pieces of Heart",
|
|
||||||
"Heart Containers",
|
|
||||||
};
|
|
||||||
|
|
||||||
class SohMenu : public Ship::Menu {
|
class SohMenu : public Ship::Menu {
|
||||||
public:
|
public:
|
||||||
SohMenu(const std::string& consoleVariable, const std::string& name);
|
SohMenu(const std::string& consoleVariable, const std::string& name);
|
||||||
|
|
|
@ -42,7 +42,7 @@ void SohMenu::AddMenuDevTools() {
|
||||||
AddWidget(path, "Better Debug Warp Screen", WIDGET_CVAR_CHECKBOX)
|
AddWidget(path, "Better Debug Warp Screen", WIDGET_CVAR_CHECKBOX)
|
||||||
.CVar(CVAR_DEVELOPER_TOOLS("BetterDebugWarpScreen"))
|
.CVar(CVAR_DEVELOPER_TOOLS("BetterDebugWarpScreen"))
|
||||||
.Options(CheckboxOptions().Tooltip(
|
.Options(CheckboxOptions().Tooltip(
|
||||||
"Optimized debug warp screen, with the added ability to chose entrances and time of day"));
|
"Optimized debug warp screen, with the added ability to chose entrances and time of day").DefaultValue(true));
|
||||||
AddWidget(path, "Debug Warp Screen Translation", WIDGET_CVAR_CHECKBOX)
|
AddWidget(path, "Debug Warp Screen Translation", WIDGET_CVAR_CHECKBOX)
|
||||||
.CVar(CVAR_DEVELOPER_TOOLS("DebugWarpScreenTranslation"))
|
.CVar(CVAR_DEVELOPER_TOOLS("DebugWarpScreenTranslation"))
|
||||||
.Options(CheckboxOptions()
|
.Options(CheckboxOptions()
|
||||||
|
|
|
@ -191,26 +191,9 @@ void SohMenu::AddMenuEnhancements() {
|
||||||
.Tooltip("Buffers your inputs to be executed a specified amount of frames later."));
|
.Tooltip("Buffers your inputs to be executed a specified amount of frames later."));
|
||||||
|
|
||||||
AddWidget(path, "Item Count Messages", WIDGET_SEPARATOR_TEXT);
|
AddWidget(path, "Item Count Messages", WIDGET_SEPARATOR_TEXT);
|
||||||
int numOptions = ARRAY_COUNT(itemCountMessageCVars);
|
AddWidget(path, "Gold Skulltula Tokens", WIDGET_CVAR_CHECKBOX).CVar(CVAR_ENHANCEMENT("InjectItemCounts.GoldSkulltula"));
|
||||||
bool allItemCountsChecked = false;
|
AddWidget(path, "Pieces of Heart", WIDGET_CVAR_CHECKBOX).CVar(CVAR_ENHANCEMENT("InjectItemCounts.HeartPiece"));
|
||||||
AddWidget(path, "All", WIDGET_CHECKBOX)
|
AddWidget(path, "Heart Containers", WIDGET_CVAR_CHECKBOX).CVar(CVAR_ENHANCEMENT("InjectItemCounts.HeartContainer"));
|
||||||
.ValuePointer(&allItemCountsChecked)
|
|
||||||
.PreFunc([](WidgetInfo& info) {
|
|
||||||
int numOptions = ARRAY_COUNT(itemCountMessageCVars);
|
|
||||||
*std::get<bool*>(info.valuePointer) = std::all_of(itemCountMessageCVars, itemCountMessageCVars + numOptions,
|
|
||||||
[](const char* cvar) { return CVarGetInteger(cvar, 0); });
|
|
||||||
})
|
|
||||||
.Callback([](WidgetInfo& info) {
|
|
||||||
int32_t newValue = *std::get<bool*>(info.valuePointer) ? 1 : 0;
|
|
||||||
int numOptions = ARRAY_COUNT(itemCountMessageCVars);
|
|
||||||
std::for_each(itemCountMessageCVars, itemCountMessageCVars + numOptions,
|
|
||||||
[newValue](const char* cvar) { CVarSetInteger(cvar, newValue); });
|
|
||||||
|
|
||||||
Ship::Context::GetInstance()->GetWindow()->GetGui()->SaveConsoleVariablesNextFrame();
|
|
||||||
});
|
|
||||||
for (int i = 0; i < numOptions; i++) {
|
|
||||||
AddWidget(path, itemCountMessageOptions[i], WIDGET_CVAR_CHECKBOX).CVar(itemCountMessageCVars[i]);
|
|
||||||
}
|
|
||||||
|
|
||||||
path.column = SECTION_COLUMN_3;
|
path.column = SECTION_COLUMN_3;
|
||||||
AddWidget(path, "Misc", WIDGET_SEPARATOR_TEXT);
|
AddWidget(path, "Misc", WIDGET_SEPARATOR_TEXT);
|
||||||
|
@ -266,35 +249,35 @@ void SohMenu::AddMenuEnhancements() {
|
||||||
path.column = SECTION_COLUMN_1;
|
path.column = SECTION_COLUMN_1;
|
||||||
|
|
||||||
AddWidget(path, "Cutscenes", WIDGET_SEPARATOR_TEXT);
|
AddWidget(path, "Cutscenes", WIDGET_SEPARATOR_TEXT);
|
||||||
bool allSkipsChecked = false;
|
AddWidget(path, "All##Skips", WIDGET_BUTTON)
|
||||||
AddWidget(path, "Skip All", WIDGET_CHECKBOX)
|
.Options(ButtonOptions().Size(Sizes::Inline))
|
||||||
.ValuePointer(&allSkipsChecked)
|
|
||||||
.PreFunc([](WidgetInfo& info) {
|
|
||||||
*std::get<bool*>(info.valuePointer) =
|
|
||||||
CVarGetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.Intro"), IS_RANDO) &&
|
|
||||||
CVarGetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.Entrances"), IS_RANDO) &&
|
|
||||||
CVarGetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.Story"), IS_RANDO) &&
|
|
||||||
CVarGetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.LearnSong"), IS_RANDO) &&
|
|
||||||
CVarGetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.BossIntro"), IS_RANDO) &&
|
|
||||||
CVarGetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.QuickBossDeaths"), IS_RANDO) &&
|
|
||||||
CVarGetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.OnePoint"), IS_RANDO) &&
|
|
||||||
CVarGetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipOwlInteractions"), IS_RANDO) &&
|
|
||||||
CVarGetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipMiscInteractions"), IS_RANDO) &&
|
|
||||||
CVarGetInteger(CVAR_ENHANCEMENT("TimeSavers.DisableTitleCard"), IS_RANDO);
|
|
||||||
})
|
|
||||||
.Callback([](WidgetInfo& info) {
|
.Callback([](WidgetInfo& info) {
|
||||||
int32_t newValue = *std::get<bool*>(info.valuePointer) ? 1 : 0;
|
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.Intro"), true);
|
||||||
|
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.Entrances"), true);
|
||||||
|
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.Story"), true);
|
||||||
|
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.LearnSong"), true);
|
||||||
|
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.BossIntro"), true);
|
||||||
|
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.QuickBossDeaths"), true);
|
||||||
|
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.OnePoint"), true);
|
||||||
|
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipOwlInteractions"), true);
|
||||||
|
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipMiscInteractions"), true);
|
||||||
|
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.DisableTitleCard"), true);
|
||||||
|
|
||||||
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.Intro"), newValue);
|
Ship::Context::GetInstance()->GetWindow()->GetGui()->SaveConsoleVariablesNextFrame();
|
||||||
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.Entrances"), newValue);
|
});
|
||||||
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.Story"), newValue);
|
AddWidget(path, "None##Skips", WIDGET_BUTTON).SameLine(true)
|
||||||
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.LearnSong"), newValue);
|
.Options(ButtonOptions().Size(Sizes::Inline))
|
||||||
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.BossIntro"), newValue);
|
.Callback([](WidgetInfo& info) {
|
||||||
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.QuickBossDeaths"), newValue);
|
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.Intro"), false);
|
||||||
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.OnePoint"), newValue);
|
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.Entrances"), false);
|
||||||
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipOwlInteractions"), newValue);
|
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.Story"), false);
|
||||||
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipMiscInteractions"), newValue);
|
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.LearnSong"), false);
|
||||||
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.DisableTitleCard"), newValue);
|
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.BossIntro"), false);
|
||||||
|
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.QuickBossDeaths"), false);
|
||||||
|
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.OnePoint"), false);
|
||||||
|
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipOwlInteractions"), false);
|
||||||
|
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipMiscInteractions"), false);
|
||||||
|
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.DisableTitleCard"), false);
|
||||||
|
|
||||||
Ship::Context::GetInstance()->GetWindow()->GetGui()->SaveConsoleVariablesNextFrame();
|
Ship::Context::GetInstance()->GetWindow()->GetGui()->SaveConsoleVariablesNextFrame();
|
||||||
});
|
});
|
||||||
|
|
|
@ -534,9 +534,9 @@ namespace UIWidgets {
|
||||||
PushStyleCombobox(options.color);
|
PushStyleCombobox(options.color);
|
||||||
|
|
||||||
const char* longest;
|
const char* longest;
|
||||||
int length = 0;
|
size_t length = 0;
|
||||||
for (auto& [index, string] : comboMap) {
|
for (auto& [index, string] : comboMap) {
|
||||||
int len = strlen(string);
|
size_t len = strlen(string);
|
||||||
if (len > length) {
|
if (len > length) {
|
||||||
longest = string;
|
longest = string;
|
||||||
length = len;
|
length = len;
|
||||||
|
@ -781,9 +781,9 @@ namespace UIWidgets {
|
||||||
PushStyleCombobox(options.color);
|
PushStyleCombobox(options.color);
|
||||||
|
|
||||||
const char* longest;
|
const char* longest;
|
||||||
int length = 0;
|
size_t length = 0;
|
||||||
for (size_t i = 0; i < N; i++) {
|
for (size_t i = 0; i < N; i++) {
|
||||||
int len = strlen(comboArray[i]);
|
size_t len = strlen(comboArray[i]);
|
||||||
if (len > length) {
|
if (len > length) {
|
||||||
longest = comboArray[i];
|
longest = comboArray[i];
|
||||||
length = len;
|
length = len;
|
||||||
|
|
|
@ -1535,7 +1535,7 @@ void Select_Draw(SelectContext* this) {
|
||||||
void Select_Main(GameState* thisx) {
|
void Select_Main(GameState* thisx) {
|
||||||
SelectContext* this = (SelectContext*)thisx;
|
SelectContext* this = (SelectContext*)thisx;
|
||||||
|
|
||||||
if (this->isBetterWarp != CVarGetInteger(CVAR_DEVELOPER_TOOLS("BetterDebugWarpScreen"), 0)) {
|
if (this->isBetterWarp != CVarGetInteger(CVAR_DEVELOPER_TOOLS("BetterDebugWarpScreen"), 1)) {
|
||||||
Select_SwitchBetterWarpMode(this, !this->isBetterWarp);
|
Select_SwitchBetterWarpMode(this, !this->isBetterWarp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1641,5 +1641,5 @@ void Select_Init(GameState* thisx) {
|
||||||
|
|
||||||
CVarClear(CVAR_GENERAL("BetterDebugWarpScreenMQMode"));
|
CVarClear(CVAR_GENERAL("BetterDebugWarpScreenMQMode"));
|
||||||
CVarClear(CVAR_GENERAL("BetterDebugWarpScreenMQModeScene"));
|
CVarClear(CVAR_GENERAL("BetterDebugWarpScreenMQModeScene"));
|
||||||
Select_SwitchBetterWarpMode(this, CVarGetInteger(CVAR_DEVELOPER_TOOLS("BetterDebugWarpScreen"), 0));
|
Select_SwitchBetterWarpMode(this, CVarGetInteger(CVAR_DEVELOPER_TOOLS("BetterDebugWarpScreen"), 1));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue