diff --git a/assets/languages/en/Options.xml b/assets/languages/en/Options.xml index 2557c8ec..f0ec9ea7 100644 --- a/assets/languages/en/Options.xml +++ b/assets/languages/en/Options.xml @@ -3,6 +3,7 @@ No Description + Advanced Options Menu Select a category to continue. @@ -11,6 +12,7 @@ Gameplay Change Gameplay options such as Downscroll, Scroll Speed, Naughtyness... + Change more advanced options such as Window Size, Streaming Audio... Appearance Change Appearance options such as Flashing menus... @@ -80,15 +82,6 @@ VRAM-Only Sprites If checked, will only store the bitmaps in the GPU, freeing a LOT of memory (EXPERIMENTAL). Turning this off will consume a lot of memory, especially on bigger sprites. If you aren't sure, leave this on. - - Auto Pause - If checked, switching windows will pause the game. - - Streamed Music - "If checked, only musics will have streamed audio, ALSO freeing a LOT of memory with the downside of higher cpu usage if more audio are being streamed at once (EXPERIMENTAL). Turning this off will consume a lot of memory, especially on longer songs. If you aren't sure, leave this on. - - Streamed Vocals - If checked, vocals will also be streamed if Streamed Music is checked, will impact the performance if the song uses alot of vocals (EXPERIMENTAL). If you aren't sure, leave this on. @@ -98,17 +91,31 @@ Ghost Tapping If unchecked, trying to hit any strum that have no note that can be hit will cause a miss. - Song Offset - Changes the offset that songs should start with. - Naughtyness If unchecked, will censor the Week 7 cutscenes. Camera Zoom on Beat If unchecked, will stop the camera from zooming in every 4 beats. + Auto Pause + If checked, switching windows will pause the game. + SFX Volume Changes only the volume of the SFX instead of everything. + + Song Offset + Changes the offset that songs should start with. + + + Window Size + ... + + Streamed Music + If checked, only musics will have streamed audio, ALSO freeing a LOT of memory with the downside of higher cpu usage if more audio are being streamed at once (EXPERIMENTAL). Turning this off will consume a lot of memory, especially on longer songs. If you aren't sure, leave this on. + + Streamed Vocals + If checked, vocals will also be streamed if Streamed Music is checked, will impact the performance if the song uses alot of vocals (EXPERIMENTAL). If you aren't sure, leave this on. + diff --git a/source/funkin/options/categories/AppearanceOptions.hx b/source/funkin/options/categories/AppearanceOptions.hx index 224c6988..fd364bdd 100644 --- a/source/funkin/options/categories/AppearanceOptions.hx +++ b/source/funkin/options/categories/AppearanceOptions.hx @@ -43,18 +43,6 @@ class AppearanceOptions extends OptionsScreen { "gpuOnlyBitmaps")); } #end - add(new Checkbox( - getName("streamedMusic"), - getDesc("streamedMusic"), - "streamedMusic")); - add(new Checkbox( - getName("streamedVocals"), - getDesc("streamedVocals"), - "streamedVocals")); - add(new Checkbox( - getName("autoPause"), - getDesc("autoPause"), - "autoPause")); } private function __changeFPS(change:Float) { diff --git a/source/funkin/options/categories/GameplayOptions.hx b/source/funkin/options/categories/GameplayOptions.hx index 0de4ceeb..4e1f8a7e 100644 --- a/source/funkin/options/categories/GameplayOptions.hx +++ b/source/funkin/options/categories/GameplayOptions.hx @@ -18,14 +18,6 @@ class GameplayOptions extends OptionsScreen { getName("ghostTapping"), getDesc("ghostTapping"), "ghostTapping")); - add(offsetSetting = new NumOption( - getName("songOffset"), - getDesc("songOffset"), - -999, // minimum - 999, // maximum - 1, // change - "songOffset", // save name or smth - __changeOffset)); // callback add(new Checkbox( getName("naughtyness"), getDesc("naughtyness"), @@ -34,6 +26,10 @@ class GameplayOptions extends OptionsScreen { getName("camZoomOnBeat"), getDesc("camZoomOnBeat"), "camZoomOnBeat")); + add(new Checkbox( + getName("autoPause"), + getDesc("autoPause"), + "autoPause")); add(new MeterOption( getName("volumeSFX"), getDesc("volumeSFX"), @@ -41,6 +37,16 @@ class GameplayOptions extends OptionsScreen { 1, // maximum 0.1, // change "volumeSFX")); + add(offsetSetting = new NumOption( + getName("songOffset"), + getDesc("songOffset"), + -999, // minimum + 999, // maximum + 1, // change + "songOffset", // save name or smth + __changeOffset)); // callback + add(new TextOption('optionsMenu.advanced', 'optionsTree.gameplay.advanced-desc', ' >', () -> + parent.add(new AdvancedGameplayOptions('optionsMenu.advanced', 'optionsTree.gameplay.advanced-desc')))); } private function __changeOffset(offset) @@ -66,15 +72,27 @@ class GameplayOptions extends OptionsScreen { __lastSongBeat = beat; } } - else FlxG.sound.music.volume = 1; + else + FlxG.sound.music.volume = 1; } - public override function close() { - // To remove this timer move super.update(elapsed); to the end, but im afraid it will cause stuff to break - new FlxTimer().start(0.0000001, (_) -> { - FlxG.camera.zoom = 1; - FlxG.sound.music.volume = 1; - }); + override function close() { + FlxG.camera.zoom = 1; + FlxG.sound.music.volume = 1; super.close(); } -} \ No newline at end of file +} + +class AdvancedGameplayOptions extends OptionsScreen { + public override function new(title:String, desc:String) { + super(title, desc, "GameplayOptions.Advanced."); + add(new Checkbox( + getName("streamedMusic"), + getDesc("streamedMusic"), + "streamedMusic")); + add(new Checkbox( + getName("streamedVocals"), + getDesc("streamedVocals"), + "streamedVocals")); + } +}