diff --git a/assets/sounds/menu/volume.mp3 b/assets/sounds/menu/volume.mp3 index 8a5e8664..fa92db10 100644 Binary files a/assets/sounds/menu/volume.mp3 and b/assets/sounds/menu/volume.mp3 differ diff --git a/assets/sounds/menu/volume.ogg b/assets/sounds/menu/volume.ogg index e5697c93..5d3f26a6 100644 Binary files a/assets/sounds/menu/volume.ogg and b/assets/sounds/menu/volume.ogg differ diff --git a/buildnumber.txt b/buildnumber.txt index 832d4caf..50a143ce 100644 --- a/buildnumber.txt +++ b/buildnumber.txt @@ -1 +1 @@ -1256 \ No newline at end of file +1260 \ No newline at end of file diff --git a/source/funkin/system/Main.hx b/source/funkin/system/Main.hx index 66bc9ab8..eef8aa1f 100644 --- a/source/funkin/system/Main.hx +++ b/source/funkin/system/Main.hx @@ -1,5 +1,7 @@ package funkin.system; +import openfl.text.TextFormat; +import flixel.system.ui.FlxSoundTray; import funkin.windows.WindowsAPI; import funkin.menus.TitleState; import funkin.game.Highscore; @@ -140,6 +142,11 @@ class Main extends Sprite FlxG.fixedTimestep = false; + refreshAssets(); + if (FlxG.game.soundTray != null) { + FlxG.game.soundTray.text.setTextFormat(new TextFormat(Paths.font("vcr.ttf"))); + } + Conductor.init(); AudioSwitchFix.init(); WindowsAPI.setDarkMode(true); @@ -156,6 +163,10 @@ class Main extends Sprite initTransition(); } + public static function refreshAssets() { + FlxSoundTray.volumeChangeSFX = Paths.sound('menu/volume'); + } + public static function initTransition() { var diamond:FlxGraphic = FlxGraphic.fromClass(GraphicTransTileDiamond); diamond.persist = true; diff --git a/source/funkin/system/MusicBeatState.hx b/source/funkin/system/MusicBeatState.hx index 2259a8c3..cafeb698 100644 --- a/source/funkin/system/MusicBeatState.hx +++ b/source/funkin/system/MusicBeatState.hx @@ -1,5 +1,6 @@ package funkin.system; +import funkin.scripting.DummyScript; import flixel.FlxState; import flixel.FlxSubState; import funkin.scripting.events.*; @@ -67,17 +68,18 @@ class MusicBeatState extends FlxUIState implements IBeatReceiver */ public var stateScript:Script; - public var scriptAllowed(get, null):Bool; - - // OVERRIDE THIS TO DISABLE SCRIPTS!! - public function get_scriptAllowed() {return true;} + public var scriptsAllowed:Bool = true; inline function get_controls():Controls return PlayerSettings.player1.controls; public function new(scriptsAllowed:Bool = true) { super(); - + this.scriptsAllowed = scriptsAllowed; + loadScript(); + } + + function loadScript() { if (scriptsAllowed) { var className = Type.getClassName(Type.getClass(this)); var scriptName = className.substr(className.lastIndexOf(".")+1); @@ -111,10 +113,12 @@ class MusicBeatState extends FlxUIState implements IBeatReceiver override function update(elapsed:Float) { - //everyStep(); - var oldStep:Int = curStep; - - + // TODO: DEBUG MODE!! + if (FlxG.keys.justPressed.F5) { + loadScript(); + if (stateScript != null && !(stateScript is DummyScript)) + Logs.trace('State script successfully reloaded', WARNING, GREEN); + } call("update"); super.update(elapsed); }