diff --git a/source/funkin/PlayerSettings.hx b/source/funkin/PlayerSettings.hx index 0e728f57e..2e3e0e425 100644 --- a/source/funkin/PlayerSettings.hx +++ b/source/funkin/PlayerSettings.hx @@ -1,7 +1,7 @@ package funkin; import funkin.save.Save; -import funkin.Controls; +import funkin.input.Controls; import flixel.FlxCamera; import funkin.input.PreciseInputManager; import flixel.input.actions.FlxActionInput; diff --git a/source/funkin/Controls.hx b/source/funkin/input/Controls.hx similarity index 99% rename from source/funkin/Controls.hx rename to source/funkin/input/Controls.hx index 9f2dcff49..d74502e6f 100644 --- a/source/funkin/Controls.hx +++ b/source/funkin/input/Controls.hx @@ -1,5 +1,4 @@ - -package funkin; +package funkin.input; import flixel.input.gamepad.FlxGamepad; import flixel.util.FlxDirectionFlags; diff --git a/source/funkin/save/Save.hx b/source/funkin/save/Save.hx index 54b66605c..674c96fb6 100644 --- a/source/funkin/save/Save.hx +++ b/source/funkin/save/Save.hx @@ -3,7 +3,7 @@ package funkin.save; import flixel.util.FlxSave; import funkin.save.migrator.SaveDataMigrator; import thx.semver.Version; -import funkin.Controls.Device; +import funkin.input.Controls.Device; import funkin.save.migrator.RawSaveData_v1_0_0; @:nullSafety diff --git a/source/funkin/ui/MusicBeatState.hx b/source/funkin/ui/MusicBeatState.hx index 328a26428..4e0e19d5e 100644 --- a/source/funkin/ui/MusicBeatState.hx +++ b/source/funkin/ui/MusicBeatState.hx @@ -12,6 +12,7 @@ import funkin.modding.PolymodHandler; import funkin.modding.events.ScriptEvent; import funkin.modding.module.ModuleHandler; import funkin.util.SortUtil; +import funkin.input.Controls; /** * MusicBeatState actually represents the core utility FlxState of the game. diff --git a/source/funkin/ui/MusicBeatSubState.hx b/source/funkin/ui/MusicBeatSubState.hx index c4eedc7c6..64df6ee71 100644 --- a/source/funkin/ui/MusicBeatSubState.hx +++ b/source/funkin/ui/MusicBeatSubState.hx @@ -11,6 +11,7 @@ import funkin.modding.module.ModuleHandler; import funkin.modding.PolymodHandler; import funkin.util.SortUtil; import flixel.util.FlxSort; +import funkin.input.Controls; /** * MusicBeatSubState reincorporates the functionality of MusicBeatState into an FlxSubState. diff --git a/source/funkin/ui/freeplay/FreeplayState.hx b/source/funkin/ui/freeplay/FreeplayState.hx index ff846aa94..4ae2a22f0 100644 --- a/source/funkin/ui/freeplay/FreeplayState.hx +++ b/source/funkin/ui/freeplay/FreeplayState.hx @@ -1,5 +1,6 @@ package funkin.ui.freeplay; +import funkin.input.Controls; import flash.text.TextField; import flixel.addons.display.FlxGridOverlay; import flixel.addons.transition.FlxTransitionableState; @@ -22,7 +23,7 @@ import flixel.tweens.FlxTween; import flixel.util.FlxColor; import flixel.util.FlxSpriteUtil; import flixel.util.FlxTimer; -import funkin.Controls.Control; +import funkin.input.Controls.Control; import funkin.data.level.LevelRegistry; import funkin.data.song.SongRegistry; import funkin.graphics.adobeanimate.FlxAtlasSprite; @@ -35,7 +36,6 @@ import funkin.play.components.HealthIcon; import funkin.play.PlayState; import funkin.play.PlayStatePlaylist; import funkin.play.song.Song; -import funkin.play.song.Song; import funkin.save.Save; import funkin.save.Save.SaveScoreData; import funkin.ui.freeplay.BGScrollingText; diff --git a/source/funkin/ui/options/ControlsMenu.hx b/source/funkin/ui/options/ControlsMenu.hx index 2aee473d3..89397fe21 100644 --- a/source/funkin/ui/options/ControlsMenu.hx +++ b/source/funkin/ui/options/ControlsMenu.hx @@ -8,7 +8,7 @@ import flixel.group.FlxGroup; import flixel.input.actions.FlxActionInput; import flixel.input.gamepad.FlxGamepadInputID; import flixel.input.keyboard.FlxKey; -import funkin.Controls; +import funkin.input.Controls; import funkin.ui.AtlasText; import funkin.ui.MenuList; import funkin.ui.TextMenuList; diff --git a/source/funkin/ui/options/OptionsState.hx b/source/funkin/ui/options/OptionsState.hx index 72bb6c60c..53d972af1 100644 --- a/source/funkin/ui/options/OptionsState.hx +++ b/source/funkin/ui/options/OptionsState.hx @@ -8,6 +8,7 @@ import flixel.util.FlxSignal; import funkin.ui.mainmenu.MainMenuState; import funkin.ui.MusicBeatState; import funkin.util.WindowUtil; +import funkin.input.Controls; class OptionsState extends MusicBeatState { @@ -35,7 +36,7 @@ class OptionsState extends MusicBeatState if (options.hasMultipleOptions()) { options.onExit.add(exitToMainMenu); - controls.onExit.add(switchPage.bind(Options)); + controls.onExit.add(exitControls); preferences.onExit.add(switchPage.bind(Options)); } else @@ -85,10 +86,19 @@ class OptionsState extends MusicBeatState function switchPage(name:PageName) { - // Todo animate? + // TODO: Animate this transition? setPage(name); } + function exitControls():Void + { + // Apply any changes to the controls. + PlayerSettings.reset(); + PlayerSettings.init(); + + switchPage(Options); + } + function exitToMainMenu() { currentPage.enabled = false; diff --git a/source/funkin/util/InputUtil.hx b/source/funkin/util/InputUtil.hx index 97478294a..989c87828 100644 --- a/source/funkin/util/InputUtil.hx +++ b/source/funkin/util/InputUtil.hx @@ -1,6 +1,6 @@ package funkin.util; -import funkin.Controls; +import funkin.input.Controls; import flixel.input.gamepad.FlxGamepad; import flixel.input.gamepad.FlxGamepadInputID; import flixel.input.keyboard.FlxKey;