mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-04-28 13:17:58 +03: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" }
|
||||
};
|
||||
|
||||
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 {
|
||||
public:
|
||||
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)
|
||||
.CVar(CVAR_DEVELOPER_TOOLS("BetterDebugWarpScreen"))
|
||||
.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)
|
||||
.CVar(CVAR_DEVELOPER_TOOLS("DebugWarpScreenTranslation"))
|
||||
.Options(CheckboxOptions()
|
||||
|
|
|
@ -191,26 +191,9 @@ void SohMenu::AddMenuEnhancements() {
|
|||
.Tooltip("Buffers your inputs to be executed a specified amount of frames later."));
|
||||
|
||||
AddWidget(path, "Item Count Messages", WIDGET_SEPARATOR_TEXT);
|
||||
int numOptions = ARRAY_COUNT(itemCountMessageCVars);
|
||||
bool allItemCountsChecked = false;
|
||||
AddWidget(path, "All", WIDGET_CHECKBOX)
|
||||
.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]);
|
||||
}
|
||||
AddWidget(path, "Gold Skulltula Tokens", WIDGET_CVAR_CHECKBOX).CVar(CVAR_ENHANCEMENT("InjectItemCounts.GoldSkulltula"));
|
||||
AddWidget(path, "Pieces of Heart", WIDGET_CVAR_CHECKBOX).CVar(CVAR_ENHANCEMENT("InjectItemCounts.HeartPiece"));
|
||||
AddWidget(path, "Heart Containers", WIDGET_CVAR_CHECKBOX).CVar(CVAR_ENHANCEMENT("InjectItemCounts.HeartContainer"));
|
||||
|
||||
path.column = SECTION_COLUMN_3;
|
||||
AddWidget(path, "Misc", WIDGET_SEPARATOR_TEXT);
|
||||
|
@ -266,35 +249,35 @@ void SohMenu::AddMenuEnhancements() {
|
|||
path.column = SECTION_COLUMN_1;
|
||||
|
||||
AddWidget(path, "Cutscenes", WIDGET_SEPARATOR_TEXT);
|
||||
bool allSkipsChecked = false;
|
||||
AddWidget(path, "Skip All", WIDGET_CHECKBOX)
|
||||
.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);
|
||||
})
|
||||
AddWidget(path, "All##Skips", WIDGET_BUTTON)
|
||||
.Options(ButtonOptions().Size(Sizes::Inline))
|
||||
.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);
|
||||
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.Entrances"), newValue);
|
||||
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.Story"), newValue);
|
||||
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.LearnSong"), newValue);
|
||||
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.BossIntro"), newValue);
|
||||
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.QuickBossDeaths"), newValue);
|
||||
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.OnePoint"), newValue);
|
||||
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipOwlInteractions"), newValue);
|
||||
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipMiscInteractions"), newValue);
|
||||
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.DisableTitleCard"), newValue);
|
||||
Ship::Context::GetInstance()->GetWindow()->GetGui()->SaveConsoleVariablesNextFrame();
|
||||
});
|
||||
AddWidget(path, "None##Skips", WIDGET_BUTTON).SameLine(true)
|
||||
.Options(ButtonOptions().Size(Sizes::Inline))
|
||||
.Callback([](WidgetInfo& info) {
|
||||
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.Intro"), false);
|
||||
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.Entrances"), false);
|
||||
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.Story"), false);
|
||||
CVarSetInteger(CVAR_ENHANCEMENT("TimeSavers.SkipCutscene.LearnSong"), false);
|
||||
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();
|
||||
});
|
||||
|
|
|
@ -534,9 +534,9 @@ namespace UIWidgets {
|
|||
PushStyleCombobox(options.color);
|
||||
|
||||
const char* longest;
|
||||
int length = 0;
|
||||
size_t length = 0;
|
||||
for (auto& [index, string] : comboMap) {
|
||||
int len = strlen(string);
|
||||
size_t len = strlen(string);
|
||||
if (len > length) {
|
||||
longest = string;
|
||||
length = len;
|
||||
|
@ -781,9 +781,9 @@ namespace UIWidgets {
|
|||
PushStyleCombobox(options.color);
|
||||
|
||||
const char* longest;
|
||||
int length = 0;
|
||||
size_t length = 0;
|
||||
for (size_t i = 0; i < N; i++) {
|
||||
int len = strlen(comboArray[i]);
|
||||
size_t len = strlen(comboArray[i]);
|
||||
if (len > length) {
|
||||
longest = comboArray[i];
|
||||
length = len;
|
||||
|
|
|
@ -1535,7 +1535,7 @@ void Select_Draw(SelectContext* this) {
|
|||
void Select_Main(GameState* 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);
|
||||
}
|
||||
|
||||
|
@ -1641,5 +1641,5 @@ void Select_Init(GameState* thisx) {
|
|||
|
||||
CVarClear(CVAR_GENERAL("BetterDebugWarpScreenMQMode"));
|
||||
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