From 4898fd3e60c42f82e6f6a94a6f0a65c24929528b Mon Sep 17 00:00:00 2001
From: Ralty <78720179+Raltyro@users.noreply.github.com>
Date: Wed, 23 Jul 2025 02:02:07 +0700
Subject: [PATCH] AAGAJGAJGJ
---
assets/languages/en/Options.xml | 31 +++++++-----
.../options/categories/AppearanceOptions.hx | 12 -----
.../options/categories/GameplayOptions.hx | 50 +++++++++++++------
3 files changed, 53 insertions(+), 40 deletions(-)
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 @@
+
@@ -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"));
+ }
+}