Move Quality Option to Advanced instead

This commit is contained in:
Ralty
2025-07-27 10:43:42 +07:00
parent eb90177321
commit d3ba0251f0
@@ -9,10 +9,6 @@ class AppearanceOptions extends TreeMenuScreen {
'framerate', __changeFPS
));
add(new Checkbox(getNameID('flashingMenu'), getDescID('flashingMenu'), 'flashingMenu'));
add(new ArrayOption(getNameID('quality'), getDescID('quality'),
[0, 1, 2], [getID('quality-low'), getID('quality-high'), getID('quality-custom')],
'quality', __changeQuality, null
));
add(new Checkbox(getNameID('colorHealthBar'), getDescID('colorHealthBar'), 'colorHealthBar'));
add(new Checkbox(getNameID('week6PixelPerfect'), getDescID('week6PixelPerfect'), 'week6PixelPerfect'));
@@ -26,27 +22,39 @@ class AppearanceOptions extends TreeMenuScreen {
if (FlxG.updateFramerate < framerate) FlxG.drawFramerate = FlxG.updateFramerate = framerate;
else FlxG.updateFramerate = FlxG.drawFramerate = framerate;
}
private function __changeQuality(value:Dynamic) {
var antialiasing = value == 0 ? false : (value == 1 ? true : Options.antialiasing);
FlxG.game.stage.quality = (FlxG.enableAntialiasing = antialiasing) ? BEST : LOW;
}
}
class AdvancedAppearanceOptions extends TreeMenuScreen {
var qualityOptions:Array<OptionType> = [];
public function new() {
super('optionsMenu.advanced', 'optionsTree.appearance.advanced-desc', 'AppearanceOptions.Advanced.');
for (option in [
add(new ArrayOption(getNameID('quality'), getDescID('quality'),
[0, 1, 2], [getID('quality-low'), getID('quality-high'), getID('quality-custom')],
'quality', __changeQuality, null
));
for (option in (qualityOptions = [
new Checkbox(getNameID('antialiasing'), getDescID('antialiasing'), 'antialiasing', __changeAntialiasing),
new Checkbox(getNameID('lowMemoryMode'), getDescID('lowMemoryMode'), 'lowMemoryMode'),
new Checkbox(getNameID('gameplayShaders'), getDescID('gameplayShaders'), 'gameplayShaders')
]) {
]))
add(option);
if (option.locked = Options.quality != 2) option.rawDesc = 'AppearanceOptions.quality-optionDisabled-desc';
}
add(new Checkbox(getNameID('gpuOnlyBitmaps'), getDescID('gpuOnlyBitmaps'), 'gpuOnlyBitmaps'));
updateQualityOptions();
}
private function updateQualityOptions() {
for (option in qualityOptions) option.locked = Options.quality != 2;
}
private function __changeQuality(value:Dynamic) {
var antialiasing = value == 0 ? false : (value == 1 ? true : Options.antialiasing);
FlxG.game.stage.quality = (FlxG.enableAntialiasing = antialiasing) ? BEST : LOW;
updateQualityOptions();
}
private function __changeAntialiasing() {