diff --git a/assets/data/config/modpack.ini b/assets/data/config/modpack.ini deleted file mode 100644 index 313d86b2..00000000 --- a/assets/data/config/modpack.ini +++ /dev/null @@ -1,25 +0,0 @@ -[Common] -Name="baconeggandcheese" -Description="who gaf" -APIVersion="uhmmmm probs like 2" -DownloadedFrom="https://yourmom.org" -Dependencies=[ - "linkA", - "linkB", - "linkC" -] -Icon64="path/to/icon64.png" -Icon32="path/to/icon32.png" -Icon16="path/to/icon16.png" -Icon="path/to/icon.ico" - -[Flags] -UseNoteRendererV2=false -UseAway3D=false -UseDiscordRPCIntegration=true -UseLocalization=false -UseLegacyFlixelAnimateHitbox=false - -[Discord] -ClientID="1027994136193810442", -LogoKey="icon" \ No newline at end of file diff --git a/assets/sounds/menu/checkboxChecked.mp3 b/assets/sounds/menu/checkboxChecked.mp3 deleted file mode 100644 index 4d81b62c..00000000 Binary files a/assets/sounds/menu/checkboxChecked.mp3 and /dev/null differ diff --git a/assets/sounds/menu/checkboxChecked.ogg b/assets/sounds/menu/checkboxChecked.ogg deleted file mode 100644 index 014efd80..00000000 Binary files a/assets/sounds/menu/checkboxChecked.ogg and /dev/null differ diff --git a/assets/sounds/menu/checkboxUnchecked.mp3 b/assets/sounds/menu/checkboxUnchecked.mp3 deleted file mode 100644 index d6108650..00000000 Binary files a/assets/sounds/menu/checkboxUnchecked.mp3 and /dev/null differ diff --git a/assets/sounds/menu/checkboxUnchecked.ogg b/assets/sounds/menu/checkboxUnchecked.ogg deleted file mode 100644 index 59a78de6..00000000 Binary files a/assets/sounds/menu/checkboxUnchecked.ogg and /dev/null differ diff --git a/assets/sounds/menu/warningMenu.mp3 b/assets/sounds/menu/warningMenu.mp3 deleted file mode 100644 index c82f0a1f..00000000 Binary files a/assets/sounds/menu/warningMenu.mp3 and /dev/null differ diff --git a/assets/sounds/menu/warningMenu.ogg b/assets/sounds/menu/warningMenu.ogg deleted file mode 100644 index cccaa129..00000000 Binary files a/assets/sounds/menu/warningMenu.ogg and /dev/null differ diff --git a/source/funkin/backend/system/Flags.hx b/source/funkin/backend/system/Flags.hx index 7c9c4a39..4b77c0e7 100644 --- a/source/funkin/backend/system/Flags.hx +++ b/source/funkin/backend/system/Flags.hx @@ -35,7 +35,7 @@ class Flags { public static var MOD_DISCORD_LOGO_KEY:String = ""; public static var MOD_DISCORD_LOGO_TEXT:String = ""; - public static var MOD_REDIRECT_STATES:Map = []; + @:bypass public static var MOD_REDIRECT_STATES:Map = []; // -- Codename's Default Flags -- public static var CURRENT_API_VERSION:Int = 1; public static var COMMIT_NUMBER:Int = GitCommitMacro.commitNumber; @@ -125,9 +125,6 @@ class Flags { @:also(funkin.game.Character.FALLBACK_DEAD_CHARACTER) public static var DEFAULT_GAMEOVER_CHARACTER:String = "bf-dead"; - public static var DEFAULT_GAMEOVER_SONG:String = "gameOver"; - public static var DEFAULT_GAMEOVER_LOSS_SFX:String = "gameOverSFX"; - public static var DEFAULT_GAMEOVER_RETRY_SFX:String = "gameOverEnd"; public static var DEFAULT_CAM_ZOOM_INTERVAL:Int = 1; public static var DEFAULT_CAM_ZOOM_OFFSET:Float = 0; @@ -160,6 +157,11 @@ class Flags { public static var ICON_OFFSET:Float = 26; public static var ICON_LERP:Float = 0.33; + public static var DEFAULT_PREPARE_SPRITE:String = null; + public static var DEFAULT_READY_SPRITE:String = 'game/ready'; + public static var DEFAULT_SET_SPRITE:String = 'game/set'; + public static var DEFAULT_GO_SPRITE:String = 'game/go'; + public static var CAM_BOP_STRENGTH:Float = 0.015; public static var HUD_BOP_STRENGTH:Float = 0.03; public static var DEFAULT_CAM_ZOOM_LERP:Float = 0.05; @@ -202,36 +204,58 @@ class Flags { public static var URL_FNF_ITCH:String = "https://ninja-muffin24.itch.io/funkin"; /** - * Default editor sound paths + * Default audio paths */ - public static var DEFAULT_EDITOR_AUTOSAVE_SOUND = "editors/autosave"; - public static var DEFAULT_EDITOR_BUTTONCLICK_SOUND = "editors/buttonClick"; - public static var DEFAULT_EDITOR_CLICK_SOUND = "editors/click"; - public static var DEFAULT_EDITOR_COPY_SOUND = "editors/copy"; - public static var DEFAULT_EDITOR_CUT_SOUND = "editors/cut"; - public static var DEFAULT_EDITOR_DELETE_SOUND = "editors/delete"; - public static var DEFAULT_EDITOR_OFFSETDRAG_SOUND = "editors/offsetDrag"; - public static var DEFAULT_EDITOR_PASTE_SOUND = "editors/paste"; - public static var DEFAULT_EDITOR_REDO_SOUND = "editors/redo"; - public static var DEFAULT_EDITOR_SAVE_SOUND = "editors/save"; - public static var DEFAULT_EDITOR_TEXTREMOVE_SOUND = "editors/textRemove"; - public static var DEFAULT_EDITOR_TEXTTYPE_SOUND = "editors/textType"; - public static var DEFAULT_EDITOR_UNDO_SOUND = "editors/undo"; - public static var DEFAULT_EDITOR_WINDOWAPPEAR_SOUND = "editors/windowAppear"; - public static var DEFAULT_EDITOR_WINDOWCLOSE_SOUND = "editors/windowClose"; - public static var DEFAULT_EDITOR_DROPDOWNAPPEAR_SOUND = "editors/dropdownAppear"; - public static var DEFAULT_CHARTER_HITSOUND_SOUND = "editors/charter/hitsound"; - public static var DEFAULT_CHARTER_METRONOME_SOUND = "editors/charter/metronome"; - public static var DEFAULT_CHARTER_NOTEDELETE_SOUND = "editors/charter/noteDelete"; - public static var DEFAULT_CHARTER_NOTEPLACE_SOUND = "editors/charter/notePlace"; - public static var DEFAULT_CHARTER_SCROLL_SOUND = "editors/charter/scroll"; - public static var DEFAULT_CHARTER_SNAPPINGCHANGE_SOUND = "editors/charter/snappingChange"; - public static var DEFAULT_CHARTER_STRUMLOCK_SOUND = "editors/charter/strumLock"; - public static var DEFAULT_CHARTER_STRUMUNLOCK_SOUND = "editors/charter/strumUnlock"; - public static var DEFAULT_CHARTER_SUSTAINADD_SOUND = "editors/charter/sustainAdd"; - public static var DEFAULT_CHARTER_SUSTAINDELETE_SOUND = "editors/charter/sustainDelete"; - public static var DEFAULT_CHARACTER_GHOSTDISABLE_SOUND = "editors/character/ghostDisable"; - public static var DEFAULT_CHARACTER_GHOSTENABLE_SOUND = "editors/character/ghostEnable"; + public static var DEFAULT_MENU_MUSIC:String = "freakyMenu"; + public static var DEFAULT_PAUSE_MENU_MUSIC:String = "breakfast"; + public static var DEFAULT_GAMEOVER_MUSIC:String = "gameOver"; + + public static var DEFAULT_MISS1_SOUND:String = "missnote1"; + public static var DEFAULT_MISS2_SOUND:String = "missnote2"; + public static var DEFAULT_MISS3_SOUND:String = "missnote3"; + public static var DEFAULT_INTRO1_SOUND:String = "intro1"; + public static var DEFAULT_INTRO2_SOUND:String = "intro2"; + public static var DEFAULT_INTRO3_SOUND:String = "intro3"; + public static var DEFAULT_INTROGO_SOUND:String = "introGo"; + public static var DEFAULT_GAMEOVERSFX_SOUND:String = "gameOverSFX"; + public static var DEFAULT_GAMEOVEREND_SOUND:String = "gameOverEnd"; + + public static var DEFAULT_MENU_SCROLL_SOUND:String = "menu/scroll"; + public static var DEFAULT_MENU_CONFIRM_SOUND:String = "menu/confirm"; + public static var DEFAULT_MENU_CANCEL_SOUND:String = "menu/cancel"; + public static var DEFAULT_MENU_VOLUME_SOUND:String = "menu/volume"; + + public static var DEFAULT_EDITOR_CHECKBOXCHECKED_SOUND:String = "editors/checkboxChecked"; + public static var DEFAULT_EDITOR_CHECKBOXUNCHECKED_SOUND:String = "editors/checkboxUnchecked"; + public static var DEFAULT_EDITOR_WARNING_SOUND:String = "editors/warningMenu"; + public static var DEFAULT_EDITOR_AUTOSAVE_SOUND:String = "editors/autosave"; + public static var DEFAULT_EDITOR_BUTTONCLICK_SOUND:String = "editors/buttonClick"; + public static var DEFAULT_EDITOR_CLICK_SOUND:String = "editors/click"; + public static var DEFAULT_EDITOR_COPY_SOUND:String = "editors/copy"; + public static var DEFAULT_EDITOR_CUT_SOUND:String = "editors/cut"; + public static var DEFAULT_EDITOR_DELETE_SOUND:String = "editors/delete"; + public static var DEFAULT_EDITOR_OFFSETDRAG_SOUND:String = "editors/offsetDrag"; + public static var DEFAULT_EDITOR_PASTE_SOUND:String = "editors/paste"; + public static var DEFAULT_EDITOR_REDO_SOUND:String = "editors/redo"; + public static var DEFAULT_EDITOR_SAVE_SOUND:String = "editors/save"; + public static var DEFAULT_EDITOR_TEXTREMOVE_SOUND:String= "editors/textRemove"; + public static var DEFAULT_EDITOR_TEXTTYPE_SOUND:String = "editors/textType"; + public static var DEFAULT_EDITOR_UNDO_SOUND:String = "editors/undo"; + public static var DEFAULT_EDITOR_WINDOWAPPEAR_SOUND:String = "editors/windowAppear"; + public static var DEFAULT_EDITOR_WINDOWCLOSE_SOUND:String = "editors/windowClose"; + public static var DEFAULT_EDITOR_DROPDOWNAPPEAR_SOUND:String = "editors/dropdownAppear"; + public static var DEFAULT_CHARTER_HITSOUND_SOUND:String = "editors/charter/hitsound"; + public static var DEFAULT_CHARTER_METRONOME_SOUND:String = "editors/charter/metronome"; + public static var DEFAULT_CHARTER_NOTEDELETE_SOUND:String = "editors/charter/noteDelete"; + public static var DEFAULT_CHARTER_NOTEPLACE_SOUND:String = "editors/charter/notePlace"; + public static var DEFAULT_CHARTER_SCROLL_SOUND:String = "editors/charter/scroll"; + public static var DEFAULT_CHARTER_SNAPPINGCHANGE_SOUND:String = "editors/charter/snappingChange"; + public static var DEFAULT_CHARTER_STRUMLOCK_SOUND:String = "editors/charter/strumLock"; + public static var DEFAULT_CHARTER_STRUMUNLOCK_SOUND:String = "editors/charter/strumUnlock"; + public static var DEFAULT_CHARTER_SUSTAINADD_SOUND:String = "editors/charter/sustainAdd"; + public static var DEFAULT_CHARTER_SUSTAINDELETE_SOUND:String = "editors/charter/sustainDelete"; + public static var DEFAULT_CHARACTER_GHOSTDISABLE_SOUND:String = "editors/character/ghostDisable"; + public static var DEFAULT_CHARACTER_GHOSTENABLE_SOUND:String = "editors/character/ghostEnable"; public static var DEFAULT_GLSL_VERSION:String = "120"; @:also(funkin.backend.utils.HttpUtil.userAgent) @@ -244,9 +268,20 @@ class Flags { @:bypass public static var customFlags:Map = []; public static function loadFromData(flags:Map, data:String) { + trace(data); + if (!(data.length > 0)) return; var res = IniUtil.parseString(data); - for (section in res) for (key => value in section) flags[key] = value; + trace(res); + if (res.exists("Common")) for (key => value in res.get("Common")) flags["MOD_" + key] = value; + if (res.exists("Discord")) for (key => value in res.get("Discord")) flags["MOD_DISCORD_" + key] = value; + if (res.exists("Flags")) for (key => value in res.get("Flags")) flags[key] = value; + + if (res.exists("StateRedirects")) for (key => value in res.get("StateRedirects")) + if (!Flags.MOD_REDIRECT_STATES.exists(key)) Flags.MOD_REDIRECT_STATES.set(key, value); + if (res.exists("StateRedirects.force")) for (key => value in res.get("StateRedirects.force")) + Flags.MOD_REDIRECT_STATES.set(key, value); + trace(flags); } public static function loadFromDatas(datas:Array) { @@ -290,6 +325,7 @@ class Flags { if (l.exists(Paths.ini("config/modpack"), AssetType.TEXT)) flagsTxt = l.getAsset(Paths.ini("config/modpack"), AssetType.TEXT); if (cast(l, IModsAssetLibrary).modName == "assets") continue; + if (cast(l, IModsAssetLibrary).modName == "source") continue; if (cast(l, IModsAssetLibrary).modName == ModsFolder.currentModFolder) { var flags:Map = []; diff --git a/source/funkin/backend/system/MainState.hx b/source/funkin/backend/system/MainState.hx index 1788db20..e41df56e 100644 --- a/source/funkin/backend/system/MainState.hx +++ b/source/funkin/backend/system/MainState.hx @@ -135,6 +135,20 @@ class MainState extends FlxState { } } + FlxG.signals.preStateSwitch.add(() -> { + var stateName = Type.getClassName(Type.getClass(@:privateAccess FlxG.game._requestedState)); + stateName = stateName.substring(stateName.lastIndexOf(".") + 1); + trace(stateName); + if (Flags.MOD_REDIRECT_STATES.exists(stateName)) { + trace("WE FUCKING GOT IT!"); + @:privateAccess { + var classFromString = Type.resolveClass(Flags.MOD_REDIRECT_STATES.get(stateName)); + if (classFromString != null) FlxG.game._requestedState = Type.createInstance(classFromString, []); + else FlxG.game._requestedState = new funkin.backend.scripting.ModState(Flags.MOD_REDIRECT_STATES.get(stateName)); + } + } + }); + if (!Flags.DISABLE_WARNING_SCREEN) FlxG.switchState(new funkin.menus.WarningState()); else FlxG.switchState(new TitleState()); } diff --git a/source/funkin/backend/utils/CoolUtil.hx b/source/funkin/backend/utils/CoolUtil.hx index 175e0eb0..f187f4d8 100644 --- a/source/funkin/backend/utils/CoolUtil.hx +++ b/source/funkin/backend/utils/CoolUtil.hx @@ -454,7 +454,7 @@ final class CoolUtil @:noUsing public static function playMenuSong(fadeIn:Bool = false) { if (FlxG.sound.music == null || !FlxG.sound.music.playing) { - playMusic(Paths.music('freakyMenu'), true, fadeIn ? 0 : 1, true, 102); + playMusic(Paths.music(Flags.DEFAULT_MENU_MUSIC), true, fadeIn ? 0 : 1, true, 102); if (fadeIn) FlxG.sound.music.fadeIn(4, 0, 0.7); } @@ -520,14 +520,14 @@ final class CoolUtil * @param volume At which volume it should play */ @:noUsing public static inline function playMenuSFX(menuSFX:CoolSfx = SCROLL, volume:Float = 1):FlxSound { - return FlxG.sound.play(Paths.sound('menu/' + switch(menuSFX) { - case CONFIRM: 'confirm'; - case CANCEL: 'cancel'; - case SCROLL: 'scroll'; - case CHECKED: 'checkboxChecked'; - case UNCHECKED: 'checkboxUnchecked'; - case WARNING: 'warningMenu'; - default: 'scroll'; + return FlxG.sound.play(Paths.sound(switch(menuSFX) { + case CONFIRM: Flags.DEFAULT_MENU_CONFIRM_SOUND; + case CANCEL: Flags.DEFAULT_MENU_CANCEL_SOUND; + case SCROLL: Flags.DEFAULT_MENU_SCROLL_SOUND; + case CHECKED: Flags.DEFAULT_EDITOR_CHECKBOXCHECKED_SOUND; + case UNCHECKED: Flags.DEFAULT_EDITOR_CHECKBOXUNCHECKED_SOUND; + case WARNING: Flags.DEFAULT_EDITOR_WARNING_SOUND; + default: Flags.DEFAULT_MENU_SCROLL_SOUND; }), volume * Options.volumeSFX); } diff --git a/source/funkin/backend/utils/IniUtil.hx b/source/funkin/backend/utils/IniUtil.hx index 22cecee4..39187f2d 100644 --- a/source/funkin/backend/utils/IniUtil.hx +++ b/source/funkin/backend/utils/IniUtil.hx @@ -13,7 +13,7 @@ class IniUtil { public static function parseStringToMap(map:Map>, data:String) { var section:Map = null; - var regexSec = ~/\\[(.+)\\]/g, regexVal = ~/(.+)=(.+)/g, quote = ~/[\\'"](.+)[\\'"]/g, iln = 0; + var regexSec = ~/^\[(.+)\]/g, regexVal = ~/^([^#;].+)=(.+)/g, quote = ~/[\\'"](.+)[\\'"]/g, iln = 0; do { var line = data.substring(iln, ((iln = data.indexOf('\n', iln) + 1) == 0 ? data.length : iln - 1)); if (regexSec.match(line)) { diff --git a/source/funkin/editors/ModConfigWarning.hx b/source/funkin/editors/ModConfigWarning.hx index d177c9c8..4caf1b48 100644 --- a/source/funkin/editors/ModConfigWarning.hx +++ b/source/funkin/editors/ModConfigWarning.hx @@ -10,34 +10,41 @@ class ModConfigWarning extends UIState { var goToState:Class; public static inline var defaultModConfigText = -'[Common] -MOD_NAME="YOUR MOD NAME HERE" -MOD_DESCRIPTION="YOUR MOD DESCRIPTION HERE" -MOD_AUTHOR="YOU/YOUR TEAM HERE" -MOD_VERSION="YOUR MOD\'S VERSION HERE" +'[Common] # This section applies the \'MOD_\' prefix to the flags so you don\'t have to. +NAME="YOUR MOD NAME HERE" +DESCRIPTION="YOUR MOD DESCRIPTION HERE" +AUTHOR="YOU/YOUR TEAM HERE" +VERSION="YOUR MOD\'S VERSION HERE" # DO NOT EDIT!! this is used to check for version compatibility! -MOD_API_VERSION=1 +API_VERSION=1 -MOD_DOWNLOAD_LINK="YOUR MOD PAGE LINK HERE" +DOWNLOAD_LINK="YOUR MOD PAGE LINK HERE" # Not supported yet ;MOD_ICON64="path/to/icon64.png" ;MOD_ICON32="path/to/icon32.png" ;MOD_ICON16="path/to/icon16.png" -MOD_ICON="path/to/icon.png" +ICON="path/to/icon.png" -[Flags] +[Flags] # This section doesn\'t apply any prefix. DISABLE_WARNING_SCREEN=true # Set this to false if you want to bring back the warning state (prior to 1.0.0) # NOTE: Beta warning state has been renamed from BetaWarningState.hx to WarningState.hx DISABLE_LANGUAGES=true # Some people might not translate their mods, but if you do then you may set this to false -[Discord] -MOD_DISCORD_CLIENT_ID="" -MOD_DISCORD_LOGO_KEY="" -MOD_DISCORD_LOGO_TEXT=""'; +[Discord] # This section applies the \'MOD_DISCORD_\' prefix to the flags so you don\'t have to. +CLIENT_ID="" +LOGO_KEY="" +LOGO_TEXT="" + +[StateRedirects] # This section is used for state redirecting, see examples below. +;StoryMenuState="funkin.menus.FreeplayState" +;FreeplayState="scriptedFreeplayState" + +[StateRedirects.force] # Use this if you want to override redirects set by subsequent addons/mods +'; public function new(library:ModsFolderLibrary, ?goToState:Class) { super(); diff --git a/source/funkin/game/GameOverSubstate.hx b/source/funkin/game/GameOverSubstate.hx index 706b798c..a98c0640 100644 --- a/source/funkin/game/GameOverSubstate.hx +++ b/source/funkin/game/GameOverSubstate.hx @@ -44,9 +44,9 @@ class GameOverSubstate extends MusicBeatSubstate this.y = y; this.player = player; this.characterName = character != null ? character : Flags.DEFAULT_GAMEOVER_CHARACTER; - this.gameOverSong = gameOverSong != null ? gameOverSong : Flags.DEFAULT_GAMEOVER_SONG; - this.lossSFXName = lossSFX != null ? lossSFX : Flags.DEFAULT_GAMEOVER_LOSS_SFX; - this.retrySFX = retrySFX != null ? retrySFX : Flags.DEFAULT_GAMEOVER_RETRY_SFX; + this.gameOverSong = gameOverSong != null ? gameOverSong : Flags.DEFAULT_GAMEOVER_MUSIC; + this.lossSFXName = lossSFX != null ? lossSFX : Flags.DEFAULT_GAMEOVERSFX_SOUND; + this.retrySFX = retrySFX != null ? retrySFX : Flags.DEFAULT_GAMEOVEREND_SOUND; } public override function create() diff --git a/source/funkin/game/PlayState.hx b/source/funkin/game/PlayState.hx index 26e196d1..480f9cd8 100644 --- a/source/funkin/game/PlayState.hx +++ b/source/funkin/game/PlayState.hx @@ -99,15 +99,15 @@ class PlayState extends MusicBeatState /** * Game Over Song. (assets/music/gameOver.ogg) */ - public var gameOverSong:String = Flags.DEFAULT_GAMEOVER_SONG; + public var gameOverSong:String = Flags.DEFAULT_GAMEOVER_MUSIC; /** * Game Over Song. (assets/sounds/gameOverSFX.ogg) */ - public var lossSFX:String = Flags.DEFAULT_GAMEOVER_LOSS_SFX; + public var lossSFX:String = Flags.DEFAULT_GAMEOVERSFX_SOUND; /** * Game Over End SFX, used when retrying. (assets/sounds/gameOverEnd.ogg) */ - public var retrySFX:String = Flags.DEFAULT_GAMEOVER_RETRY_SFX; + public var retrySFX:String = Flags.DEFAULT_GAMEOVEREND_SOUND; /** * Current Stage. @@ -461,11 +461,11 @@ class PlayState extends MusicBeatState /** * Array of sprites for the intro. */ - public var introSprites:Array = [null, 'game/ready', "game/set", "game/go"]; + public var introSprites:Array = [Flags.DEFAULT_PREPARE_SPRITE, Flags.DEFAULT_READY_SPRITE, Flags.DEFAULT_SET_SPRITE, Flags.DEFAULT_GO_SPRITE]; /** * Array of sounds for the intro. */ - public var introSounds:Array = ['intro3', 'intro2', "intro1", "introGo"]; + public var introSounds:Array = [Flags.DEFAULT_INTRO1_SOUND, Flags.DEFAULT_INTRO2_SOUND, Flags.DEFAULT_INTRO3_SOUND, Flags.DEFAULT_INTROGO_SOUND]; /** * Whenever the game is paused or not. @@ -1765,7 +1765,7 @@ class PlayState extends MusicBeatState var directionID:Null = note == null ? direction : note.strumID; if (playerID == null || directionID == null || playerID == -1) return; - var event:NoteMissEvent = gameAndCharsEvent("onPlayerMiss", EventManager.get(NoteMissEvent).recycle(note, -10, 1, muteVocalsOnMiss, note != null ? -0.0475 : -0.04, Paths.soundRandom('missnote', 1, 3), FlxG.random.float(0.1, 0.2), note == null, combo > 5, "sad", true, true, "miss", strumLines.members[playerID].characters, playerID, note != null ? note.noteType : null, directionID, 0)); + var event:NoteMissEvent = gameAndCharsEvent("onPlayerMiss", EventManager.get(NoteMissEvent).recycle(note, -10, 1, muteVocalsOnMiss, note != null ? -0.0475 : -0.04, Paths.sound(FlxG.random.getObject([Flags.DEFAULT_MISS1_SOUND, Flags.DEFAULT_MISS2_SOUND, Flags.DEFAULT_MISS3_SOUND])), FlxG.random.float(0.1, 0.2), note == null, combo > 5, "sad", true, true, "miss", strumLines.members[playerID].characters, playerID, note != null ? note.noteType : null, directionID, 0)); strumLine.onMiss.dispatch(event); if (event.cancelled) return; diff --git a/source/funkin/menus/PauseSubState.hx b/source/funkin/menus/PauseSubState.hx index 2f054d9f..259dc56c 100644 --- a/source/funkin/menus/PauseSubState.hx +++ b/source/funkin/menus/PauseSubState.hx @@ -60,7 +60,7 @@ class PauseSubState extends MusicBeatSubstate pauseScript.setParent(this); pauseScript.load(); - var event = EventManager.get(PauseCreationEvent).recycle('breakfast', menuItems); + var event = EventManager.get(PauseCreationEvent).recycle(Flags.DEFAULT_PAUSE_MENU_MUSIC, menuItems); pauseScript.call('create', [event]); menuItems = event.options;