Merge branches 'poecount' and 'main' of ssh://github.com/TwilitRealm/dusklight into poecount

This commit is contained in:
TakaRikka
2026-05-20 13:24:57 -07:00
13 changed files with 507 additions and 145 deletions
+1
View File
@@ -176,6 +176,7 @@ namespace dusk::config {
template class ConfigImpl<dusk::GameLanguage>;
template class ConfigImpl<dusk::GyroMode>;
template class ConfigImpl<dusk::FrameInterpMode>;
template class ConfigImpl<dusk::MenuScaling>;
template class ConfigImpl<dusk::Resampler>;
}
+2
View File
@@ -55,6 +55,7 @@ UserSettings g_userSettings = {
.enableAchievementToasts {"game.enableAchievementToasts", true},
.enableControllerToasts {"game.enableControllerToasts", true},
.enableDiscordPresence {"game.enableDiscordPresence", true},
.menuScalingMode {"game.menuScalingMode", MenuScaling::Wii},
// Graphics
.bloomMode {"game.bloomMode", BloomMode::Dusk},
@@ -249,6 +250,7 @@ void registerSettings() {
Register(g_userSettings.game.liveSplitEnabled);
Register(g_userSettings.game.showSpeedrunRTATimer);
Register(g_userSettings.game.recordingMode);
Register(g_userSettings.game.menuScalingMode);
Register(g_userSettings.game.removeQuestMapMarkers);
Register(g_userSettings.game.showInputViewer);
Register(g_userSettings.game.showInputViewerGyro);
+2
View File
@@ -19,6 +19,7 @@ void applyPresetClassic() {
s.game.internalResolutionScale.setValue(1);
s.game.shadowResolutionMultiplier.setValue(1);
s.game.hideTvSettingsScreen.setValue(false);
s.game.menuScalingMode.setValue(MenuScaling::GameCube);
AuroraSetViewportPolicy(AURORA_VIEWPORT_FIT);
}
@@ -47,6 +48,7 @@ void applyPresetDusk() {
s.game.shadowResolutionMultiplier.setValue(4);
s.game.enableGyroAim.setValue(true);
s.game.autoSave.setValue(true);
s.game.menuScalingMode.setValue(MenuScaling::Dusklight);
s.game.enhancedMapMenus.setValue(true);
}
+43 -1
View File
@@ -70,6 +70,12 @@ constexpr std::array kGyroInputModeLabels = {
"Mouse",
};
constexpr std::array kMenuScalingModeLabels = {
"GameCube",
"Wii",
"Dusklight",
};
bool try_parse_backend(std::string_view backend, AuroraBackend& outBackend) {
if (backend == "auto") {
outBackend = BACKEND_AUTO;
@@ -1420,8 +1426,44 @@ SettingsWindow::SettingsWindow(bool prelaunch) : mPrelaunch(prelaunch) {
.helpText = "Show gyro sensor values in the input viewer.",
.isDisabled = [] { return !getSettings().game.showInputViewer; },
});
leftPane.add_section("Game");
leftPane.register_control(
leftPane.add_select_button({
.key = "Menu Scaling Mode",
.getValue =
[] {
return kMenuScalingModeLabels[static_cast<u8>(
getSettings().game.menuScalingMode.getValue())];
},
.isModified =
[] {
const auto& mode = getSettings().game.menuScalingMode;
return mode.getValue() != mode.getDefaultValue();
},
}),
rightPane, [](Pane& pane) {
for (int i = 0; i < static_cast<int>(kMenuScalingModeLabels.size()); ++i) {
pane
.add_button({
.text = kMenuScalingModeLabels[i],
.isSelected =
[i] {
return getSettings().game.menuScalingMode.getValue() ==
static_cast<MenuScaling>(i);
;
},
})
.on_pressed([i] {
mDoAud_seStartMenu(kSoundItemChange);
getSettings().game.menuScalingMode.setValue(
static_cast<MenuScaling>(i));
;
config::Save();
});
}
pane.add_rml("<br/>Changes how the Collection and File Select menus scale to your "
"aspect ratio.");
});
config_bool_select(leftPane, rightPane, getSettings().game.hideTvSettingsScreen,
{
.key = "Skip TV Settings Screen",