From 8db8aca56564cbeba98eaba53831d4827a69f1fa Mon Sep 17 00:00:00 2001 From: NeeEoo Date: Sun, 24 Mar 2024 00:01:36 +0100 Subject: [PATCH] Fixed discord script --- assets/data/discord.hx | 18 ++++++++------- source/funkin/backend/system/Main.hx | 1 - source/funkin/backend/system/MainState.hx | 2 +- source/funkin/backend/utils/DiscordUtil.hx | 27 ++++++---------------- 4 files changed, 18 insertions(+), 30 deletions(-) diff --git a/assets/data/discord.hx b/assets/data/discord.hx index d528134b..371ea81b 100644 --- a/assets/data/discord.hx +++ b/assets/data/discord.hx @@ -1,5 +1,7 @@ +import funkin.backend.utils.DiscordUtil; + function onGameOver() { - changePresence('Game Over', PlayState.SONG.meta.displayName + " (" + PlayState.difficulty + ")"); + DiscordUtil.changePresence('Game Over', PlayState.SONG.meta.displayName + " (" + PlayState.difficulty + ")"); } function onPlayStateUpdate() { @@ -14,27 +16,27 @@ function onPlayStateUpdate() { function onMenuLoaded(name:String) { // Name is either "Main Menu", "Freeplay", "Title Screen", "Options Menu", "Credits Menu" - changePresenceSince("In the Menus", null); + DiscordUtil.changePresenceSince("In the Menus", null); } function onEditorTreeLoaded(name:String) { switch(name) { case "Character Editor": - changePresenceSince("Choosing a Character", null); + DiscordUtil.changePresenceSince("Choosing a Character", null); case "Chart Editor": - changePresenceSince("Choosing a Chart", null); + DiscordUtil.changePresenceSince("Choosing a Chart", null); case "Stage Editor": - changePresenceSince("Choosing a Stage", null); + DiscordUtil.changePresenceSince("Choosing a Stage", null); } } function onEditorLoaded(name:String, editingThing:String) { switch(name) { case "Character Editor": - changePresenceSince("Editing a Character", editingThing); + DiscordUtil.changePresenceSince("Editing a Character", editingThing); case "Chart Editor": - changePresenceSince("Editing a Chart", editingThing); + DiscordUtil.changePresenceSince("Editing a Chart", editingThing); case "Stage Editor": - changePresenceSince("Editing a Stage", editingThing); + DiscordUtil.changePresenceSince("Editing a Stage", editingThing); } } \ No newline at end of file diff --git a/source/funkin/backend/system/Main.hx b/source/funkin/backend/system/Main.hx index d04d4f3d..cad2266e 100644 --- a/source/funkin/backend/system/Main.hx +++ b/source/funkin/backend/system/Main.hx @@ -120,7 +120,6 @@ class Main extends Sprite ShaderResizeFix.init(); Logs.init(); Paths.init(); - DiscordUtil.init(); #if GLOBAL_SCRIPT funkin.backend.scripting.GlobalScript.init(); #end diff --git a/source/funkin/backend/system/MainState.hx b/source/funkin/backend/system/MainState.hx index e8192fc1..885da7b0 100644 --- a/source/funkin/backend/system/MainState.hx +++ b/source/funkin/backend/system/MainState.hx @@ -55,7 +55,7 @@ class MainState extends FlxState { Main.refreshAssets(); ModsFolder.onModSwitch.dispatch(ModsFolder.currentModFolder); - DiscordUtil.reloadJsonData(); + DiscordUtil.init(); EventsData.reloadEvents(); TitleState.initialized = false; diff --git a/source/funkin/backend/utils/DiscordUtil.hx b/source/funkin/backend/utils/DiscordUtil.hx index 5a85173b..68f366ee 100644 --- a/source/funkin/backend/utils/DiscordUtil.hx +++ b/source/funkin/backend/utils/DiscordUtil.hx @@ -21,11 +21,11 @@ class DiscordUtil public static var currentID(default, set):String = null; public static var discordThread:#if DISCORD_RPC Thread #else Dynamic #end = null; public static var ready:Bool = false; + public static var initialized:Bool = false; private static var stopThread:Bool = false; public static var user:#if DISCORD_RPC DUser #else Dynamic #end = null; public static var lastPresence:#if DISCORD_RPC DPresence #else Dynamic #end = null; - public static var events:#if DISCORD_RPC DEvents #else Dynamic #end = null; public static var config:#if DISCORD_RPC DiscordJson #else Dynamic #end = null; public static var script:Script; @@ -33,8 +33,10 @@ class DiscordUtil public static function init() { #if DISCORD_RPC - events = {}; reloadJsonData(); + if (initialized) + return; + initialized = true; discordThread = Thread.create(function() { @@ -96,12 +98,13 @@ class DiscordUtil public static function loadScript() { - if(script != null) { + if (script != null) + { call("destroy"); script = FlxDestroyUtil.destroy(script); } script = Script.create(Paths.script('data/discord')); - script.setParent(DiscordUtil); + // script.setParent(DiscordUtil); script.load(); } @@ -259,7 +262,6 @@ class DiscordUtil ready = true; - // if(events.ready != null) events.ready(user); call("onReady", [user]); } @@ -274,9 +276,6 @@ class DiscordUtil Logs.logText(")") ], INFO); - if (events.disconnected != null) - events.disconnected(errorCode, finalMsg); - call("onReady", [errorCode, cast(finalMsg, String)]); } @@ -291,9 +290,6 @@ class DiscordUtil Logs.logText(")") ], ERROR); - if (events.errored != null) - events.errored(errorCode, finalMsg); - call("onError", [errorCode, cast(finalMsg, String)]); } @@ -301,9 +297,6 @@ class DiscordUtil { Logs.traceColored([Logs.logText("[Discord] ", BLUE), Logs.logText("Someone has just joined", GREEN)], INFO); - if (events.joinGame != null) - events.joinGame(cast(joinSecret, String)); - call("onJoinGame", [cast(joinSecret, String)]); } @@ -314,9 +307,6 @@ class DiscordUtil Logs.logText("Someone started spectating your game", YELLOW) ], INFO); - if (events.spectateGame != null) - events.spectateGame(cast(spectateSecret, String)); - call("onJoinGame", [cast(spectateSecret, String)]); } @@ -328,9 +318,6 @@ class DiscordUtil ], WARNING); var req:DUser = DUser.initRaw(request); - if (events.joinRequest != null) - events.joinRequest(req); - call("onJoinRequest", [req]); } #end