Add High-Resolution Bloom Correction Option

This commit is contained in:
copecone committed 2026-10-16 22:14:10 +09:00
1 parent 064bd816e8
commit 78ea42b368
5 files changed
+90

No files matched your search

+21
View File
@@ -139,6 +139,7 @@ internal static class RenderConfigWindow
private static O5InputField? _randomSeedInput;
private static O5Toggle? _processAudioToggle;
private static O5Toggle? _nonTileToggle;
private static O5Toggle? _highResBloomCorrectionToggle;
// Planet color overrides: the toggle enables the override, the picker holds the color. A disabled toggle stores
// null in AdvancedConfig (no override is applied by PersistencePatch) and blocks the picker.
@@ -698,6 +699,7 @@ internal static class RenderConfigWindow
// Section 6: Advanced Settings card (RenderConfig.AdvancedConfig)
// File Extension | Random Seed
// Process Audio | Non-Tile Mode
// High-Resolution Bloom Correction |
// "Planet Colors" label, then three columns: Fire | Ice | Wind (toggle + color picker each)
// ---------------------------------------------------------------------------------------------
// 7. Advanced Settings (Collapsible Card)
@@ -739,6 +741,23 @@ internal static class RenderConfigWindow
generateLabel: false
);
// High-Resolution Bloom Correction (AdvancedConfig.HighResBloomCorrection): the game's bloom computes its blur
// size as if the frame were 720 pixels high (VideoBloomPatch)
_highResBloomCorrectionToggle = CreateToggleField(
ctx, CreateFieldSlot(advLeft),
labelKey: "",
defaultValue: false,
value: config.AdvancedConfig.HighResBloomCorrection,
toggleTextKey: "ui.render_config.high_res_bloom_correction",
id: "toggle_high_res_bloom_correction",
onChanged: val =>
{
config.AdvancedConfig.HighResBloomCorrection = val;
MarkConfigModified();
},
generateLabel: false
);
// Random Seed (AdvancedConfig.RandomSeed): integer passed to UnityEngine.Random.InitState before the game scene
// loads; empty text stores null (no seeding). Text that is neither empty nor an integer keeps the previous value.
_randomSeedInput = CreateInputField(
@@ -980,6 +999,7 @@ internal static class RenderConfigWindow
_randomSeedInput?.Set(config.AdvancedConfig.RandomSeed?.ToString() ?? "", false);
_processAudioToggle?.Set(config.AdvancedConfig.ProcessAudio, false);
_nonTileToggle?.Set(config.AdvancedConfig.NonTile, false);
_highResBloomCorrectionToggle?.Set(config.AdvancedConfig.HighResBloomCorrection, false);
// Planet colors: toggle on when an override is stored; the picker shows the stored color or the default and is
// blocked without an override
@@ -1161,6 +1181,7 @@ internal static class RenderConfigWindow
}
if (_processAudioToggle != null) target.AdvancedConfig.ProcessAudio = _processAudioToggle.Value;
if (_nonTileToggle != null) target.AdvancedConfig.NonTile = _nonTileToggle.Value;
if (_highResBloomCorrectionToggle != null) target.AdvancedConfig.HighResBloomCorrection = _highResBloomCorrectionToggle.Value;
// Planet Colors
target.AdvancedConfig.firePlanetColor = (_firePlanetToggle?.Value == true && _firePlanetPicker != null)