1
0
Fork 0
mirror of https://github.com/ninjamuffin99/Funkin.git synced 2025-03-25 11:29:28 +00:00

WIP on refactoring some classes related to controls

This commit is contained in:
EliteMasterEric 2023-10-31 15:30:47 -04:00
parent 0a4e0861cc
commit b9b1461ab5
19 changed files with 36 additions and 30 deletions

View file

@ -1,5 +1,6 @@
package funkin; package funkin;
import funkin.input.Controls;
import funkin.play.song.Song; import funkin.play.song.Song;
import flash.text.TextField; import flash.text.TextField;
import flixel.addons.display.FlxGridOverlay; import flixel.addons.display.FlxGridOverlay;
@ -23,7 +24,7 @@ import flixel.tweens.FlxTween;
import flixel.util.FlxColor; import flixel.util.FlxColor;
import flixel.util.FlxSpriteUtil; import flixel.util.FlxSpriteUtil;
import flixel.util.FlxTimer; import flixel.util.FlxTimer;
import funkin.Controls.Control; import funkin.input.Controls.Control;
import funkin.data.level.LevelRegistry; import funkin.data.level.LevelRegistry;
import funkin.data.song.SongRegistry; import funkin.data.song.SongRegistry;
import funkin.freeplayStuff.BGScrollingText; import funkin.freeplayStuff.BGScrollingText;

View file

@ -10,7 +10,7 @@ import flixel.math.FlxRect;
import flixel.FlxSprite; import flixel.FlxSprite;
import flixel.system.debug.log.LogStyle; import flixel.system.debug.log.LogStyle;
import flixel.util.FlxColor; import flixel.util.FlxColor;
import funkin.ui.PreferencesMenu; import funkin.ui.options.PreferencesMenu;
import funkin.util.macro.MacroUtil; import funkin.util.macro.MacroUtil;
import funkin.util.WindowUtil; import funkin.util.WindowUtil;
import funkin.play.PlayStatePlaylist; import funkin.play.PlayStatePlaylist;

View file

@ -1,6 +1,6 @@
package funkin; package funkin;
import funkin.Controls; import funkin.input.Controls;
import flixel.input.gamepad.FlxGamepad; import flixel.input.gamepad.FlxGamepad;
import flixel.input.gamepad.FlxGamepadInputID; import flixel.input.gamepad.FlxGamepadInputID;
import flixel.input.keyboard.FlxKey; import flixel.input.keyboard.FlxKey;

View file

@ -108,7 +108,7 @@ class MainMenuState extends MusicBeatState
#end #end
createMenuItem('options', 'mainmenu/options', function() { createMenuItem('options', 'mainmenu/options', function() {
startExitState(new funkin.ui.OptionsState()); startExitState(new funkin.ui.options.OptionsState());
}); });
// Reset position of menu items. // Reset position of menu items.

View file

@ -11,6 +11,7 @@ import funkin.modding.PolymodHandler;
import funkin.modding.events.ScriptEvent; import funkin.modding.events.ScriptEvent;
import funkin.modding.module.ModuleHandler; import funkin.modding.module.ModuleHandler;
import funkin.util.SortUtil; import funkin.util.SortUtil;
import funkin.input.Controls;
/** /**
* MusicBeatState actually represents the core utility FlxState of the game. * MusicBeatState actually represents the core utility FlxState of the game.

View file

@ -10,6 +10,7 @@ import funkin.modding.module.ModuleHandler;
import funkin.modding.PolymodHandler; import funkin.modding.PolymodHandler;
import funkin.util.SortUtil; import funkin.util.SortUtil;
import flixel.util.FlxSort; import flixel.util.FlxSort;
import funkin.input.Controls;
/** /**
* MusicBeatSubState reincorporates the functionality of MusicBeatState into an FlxSubState. * MusicBeatSubState reincorporates the functionality of MusicBeatState into an FlxSubState.

View file

@ -1,6 +0,0 @@
package funkin;
class Options
{
public static var masterVolume:Float = 1;
}

View file

@ -1,7 +1,7 @@
package funkin; package funkin;
import funkin.save.Save; import funkin.save.Save;
import funkin.Controls; import funkin.input.Controls;
import flixel.FlxCamera; import flixel.FlxCamera;
import funkin.input.PreciseInputManager; import funkin.input.PreciseInputManager;
import flixel.input.actions.FlxActionInput; import flixel.input.actions.FlxActionInput;

View file

@ -1,5 +1,4 @@
package funkin.input;
package funkin;
import flixel.input.gamepad.FlxGamepad; import flixel.input.gamepad.FlxGamepad;
import flixel.util.FlxDirectionFlags; import flixel.util.FlxDirectionFlags;

View file

@ -51,7 +51,7 @@ import funkin.data.song.SongData.SongCharacterData;
import funkin.play.stage.Stage; import funkin.play.stage.Stage;
import funkin.play.stage.StageData.StageDataParser; import funkin.play.stage.StageData.StageDataParser;
import funkin.ui.PopUpStuff; import funkin.ui.PopUpStuff;
import funkin.ui.PreferencesMenu; import funkin.ui.options.PreferencesMenu;
import funkin.ui.stageBuildShit.StageOffsetSubState; import funkin.ui.stageBuildShit.StageOffsetSubState;
import funkin.ui.story.StoryMenuState; import funkin.ui.story.StoryMenuState;
import funkin.util.SerializerUtil; import funkin.util.SerializerUtil;

View file

@ -12,7 +12,7 @@ import funkin.play.notes.NoteSplash;
import funkin.play.notes.NoteSprite; import funkin.play.notes.NoteSprite;
import funkin.play.notes.SustainTrail; import funkin.play.notes.SustainTrail;
import funkin.data.song.SongData.SongNoteData; import funkin.data.song.SongData.SongNoteData;
import funkin.ui.PreferencesMenu; import funkin.ui.options.PreferencesMenu;
import funkin.util.SortUtil; import funkin.util.SortUtil;
/** /**

View file

@ -8,7 +8,7 @@ import flixel.FlxSprite;
import flixel.graphics.FlxGraphic; import flixel.graphics.FlxGraphic;
import flixel.graphics.tile.FlxDrawTrianglesItem; import flixel.graphics.tile.FlxDrawTrianglesItem;
import flixel.math.FlxMath; import flixel.math.FlxMath;
import funkin.ui.PreferencesMenu; import funkin.ui.options.PreferencesMenu;
/** /**
* This is based heavily on the `FlxStrip` class. It uses `drawTriangles()` to clip a sustain note * This is based heavily on the `FlxStrip` class. It uses `drawTriangles()` to clip a sustain note

View file

@ -3,7 +3,7 @@ package funkin.save;
import flixel.util.FlxSave; import flixel.util.FlxSave;
import funkin.save.migrator.SaveDataMigrator; import funkin.save.migrator.SaveDataMigrator;
import thx.semver.Version; import thx.semver.Version;
import funkin.Controls.Device; import funkin.input.Controls.Device;
import funkin.save.migrator.RawSaveData_v1_0_0; import funkin.save.migrator.RawSaveData_v1_0_0;
@:nullSafety @:nullSafety

View file

@ -1,4 +1,4 @@
package funkin; package funkin.ui.options;
import flixel.FlxSubState; import flixel.FlxSubState;

View file

@ -1,11 +1,11 @@
package funkin.ui; package funkin.ui.options;
import funkin.data.notestyle.NoteStyleRegistry; import funkin.data.notestyle.NoteStyleRegistry;
import flixel.addons.effects.chainable.FlxEffectSprite; import flixel.addons.effects.chainable.FlxEffectSprite;
import flixel.addons.effects.chainable.FlxOutlineEffect; import flixel.addons.effects.chainable.FlxOutlineEffect;
import flixel.group.FlxGroup.FlxTypedGroup; import flixel.group.FlxGroup.FlxTypedGroup;
import flixel.util.FlxColor; import flixel.util.FlxColor;
import funkin.ui.OptionsState.Page; import funkin.ui.options.OptionsState.Page;
import funkin.play.notes.NoteSprite; import funkin.play.notes.NoteSprite;
class ColorsMenu extends Page class ColorsMenu extends Page

View file

@ -1,4 +1,4 @@
package funkin.ui; package funkin.ui.options;
import flixel.FlxCamera; import flixel.FlxCamera;
import flixel.FlxObject; import flixel.FlxObject;
@ -7,12 +7,12 @@ import flixel.group.FlxGroup;
import flixel.input.actions.FlxActionInput; import flixel.input.actions.FlxActionInput;
import flixel.input.gamepad.FlxGamepadInputID; import flixel.input.gamepad.FlxGamepadInputID;
import flixel.input.keyboard.FlxKey; import flixel.input.keyboard.FlxKey;
import funkin.Controls; import funkin.input.Controls;
import funkin.ui.AtlasText; import funkin.ui.AtlasText;
import funkin.ui.MenuList; import funkin.ui.MenuList;
import funkin.ui.TextMenuList; import funkin.ui.TextMenuList;
class ControlsMenu extends funkin.ui.OptionsState.Page class ControlsMenu extends funkin.ui.options.OptionsState.Page
{ {
public static inline final COLUMNS = 2; public static inline final COLUMNS = 2;
static var controlList = Control.createAll(); static var controlList = Control.createAll();

View file

@ -1,11 +1,11 @@
package funkin.ui; package funkin.ui.options;
import funkin.modding.PolymodHandler; import funkin.modding.PolymodHandler;
import flixel.group.FlxGroup.FlxTypedGroup; import flixel.group.FlxGroup.FlxTypedGroup;
import flixel.text.FlxText; import flixel.text.FlxText;
import flixel.util.FlxColor; import flixel.util.FlxColor;
import polymod.Polymod; import polymod.Polymod;
import funkin.ui.OptionsState.Page; import funkin.ui.options.OptionsState.Page;
class ModMenu extends Page class ModMenu extends Page
{ {

View file

@ -1,4 +1,4 @@
package funkin.ui; package funkin.ui.options;
import flixel.FlxSprite; import flixel.FlxSprite;
import flixel.FlxSubState; import flixel.FlxSubState;
@ -6,6 +6,7 @@ import flixel.addons.transition.FlxTransitionableState;
import flixel.group.FlxGroup; import flixel.group.FlxGroup;
import flixel.util.FlxSignal; import flixel.util.FlxSignal;
import funkin.util.WindowUtil; import funkin.util.WindowUtil;
import funkin.input.Controls;
class OptionsState extends MusicBeatState class OptionsState extends MusicBeatState
{ {
@ -33,7 +34,7 @@ class OptionsState extends MusicBeatState
if (options.hasMultipleOptions()) if (options.hasMultipleOptions())
{ {
options.onExit.add(exitToMainMenu); options.onExit.add(exitToMainMenu);
controls.onExit.add(switchPage.bind(Options)); controls.onExit.add(exitControls);
preferences.onExit.add(switchPage.bind(Options)); preferences.onExit.add(switchPage.bind(Options));
} }
else else
@ -83,10 +84,19 @@ class OptionsState extends MusicBeatState
function switchPage(name:PageName) function switchPage(name:PageName)
{ {
// Todo animate? // TODO: Animate this transition?
setPage(name); setPage(name);
} }
function exitControls():Void
{
// Apply any changes to the controls.
PlayerSettings.reset();
PlayerSettings.init();
switchPage(Options);
}
function exitToMainMenu() function exitToMainMenu()
{ {
currentPage.enabled = false; currentPage.enabled = false;

View file

@ -1,11 +1,11 @@
package funkin.ui; package funkin.ui.options;
import flixel.FlxCamera; import flixel.FlxCamera;
import flixel.FlxObject; import flixel.FlxObject;
import flixel.FlxSprite; import flixel.FlxSprite;
import flixel.group.FlxSpriteGroup.FlxTypedSpriteGroup; import flixel.group.FlxSpriteGroup.FlxTypedSpriteGroup;
import funkin.ui.AtlasText.AtlasFont; import funkin.ui.AtlasText.AtlasFont;
import funkin.ui.OptionsState.Page; import funkin.ui.options.OptionsState.Page;
import funkin.ui.TextMenuList.TextMenuItem; import funkin.ui.TextMenuList.TextMenuItem;
class PreferencesMenu extends Page class PreferencesMenu extends Page