aboutsummaryrefslogtreecommitdiff
path: root/Northstar.Client
diff options
context:
space:
mode:
authorcat_or_not <41955154+catornot@users.noreply.github.com>2023-11-05 20:23:45 -0500
committerGitHub <noreply@github.com>2023-11-06 02:23:45 +0100
commitc0e8a9084846a12e549851aa9b734c5b1c8498b8 (patch)
tree15500de85284891e9c9af58dbc5493bdaa9e4cce /Northstar.Client
parent318561f5a6a1f965bca5caaef962ea1deb6f6b31 (diff)
downloadNorthstarMods-c0e8a9084846a12e549851aa9b734c5b1c8498b8.tar.gz
NorthstarMods-c0e8a9084846a12e549851aa9b734c5b1c8498b8.zip
Plugins v3 (#652)v1.20.0-rc3v1.20.0
Script component of plugins v3. See launcher PR for more info. https://github.com/R2Northstar/NorthstarLauncher/pull/472
Diffstat (limited to 'Northstar.Client')
-rw-r--r--Northstar.Client/mod/scripts/vscripts/cl_northstar_client_init.nut13
-rw-r--r--Northstar.Client/mod/scripts/vscripts/presence/cl_presence.nut11
-rw-r--r--Northstar.Client/mod/scripts/vscripts/presence/ui_presence.nut20
3 files changed, 25 insertions, 19 deletions
diff --git a/Northstar.Client/mod/scripts/vscripts/cl_northstar_client_init.nut b/Northstar.Client/mod/scripts/vscripts/cl_northstar_client_init.nut
index a844478a..765d29c3 100644
--- a/Northstar.Client/mod/scripts/vscripts/cl_northstar_client_init.nut
+++ b/Northstar.Client/mod/scripts/vscripts/cl_northstar_client_init.nut
@@ -1,3 +1,11 @@
+global enum eDiscordGameState
+{
+ LOADING = 0
+ MAINMENU
+ LOBBY
+ INGAME
+}
+
global struct GameStateStruct {
string map
@@ -15,10 +23,7 @@ global struct GameStateStruct {
}
global struct UIPresenceStruct {
- bool isLoading
- bool isLobby
- string loadingLevel
- string loadedLevel
+ int gameState
}
global struct RequiredModInfo
diff --git a/Northstar.Client/mod/scripts/vscripts/presence/cl_presence.nut b/Northstar.Client/mod/scripts/vscripts/presence/cl_presence.nut
index c8a8274a..f17216fb 100644
--- a/Northstar.Client/mod/scripts/vscripts/presence/cl_presence.nut
+++ b/Northstar.Client/mod/scripts/vscripts/presence/cl_presence.nut
@@ -1,10 +1,8 @@
untyped
globalize_all_functions
-void function NorthstarCodeCallback_GenerateGameState() {
-
- GameStateStruct gs
-
+GameStateStruct function DiscordRPC_GenerateGameState( GameStateStruct gs )
+{
int highestScore = 0
int secondHighest = 0
@@ -40,6 +38,5 @@ void function NorthstarCodeCallback_GenerateGameState() {
gs.timeEnd = expect float(level.nv.roundEndTime - Time())
else
gs.timeEnd = expect float(level.nv.gameEndTime - Time())
-
- NSPushGameStateData(gs)
-} \ No newline at end of file
+ return gs
+}
diff --git a/Northstar.Client/mod/scripts/vscripts/presence/ui_presence.nut b/Northstar.Client/mod/scripts/vscripts/presence/ui_presence.nut
index cdf1c981..ce5abe86 100644
--- a/Northstar.Client/mod/scripts/vscripts/presence/ui_presence.nut
+++ b/Northstar.Client/mod/scripts/vscripts/presence/ui_presence.nut
@@ -1,12 +1,16 @@
untyped
globalize_all_functions
-void function NorthstarCodeCallback_GenerateUIPresence() {
- UIPresenceStruct uis
+UIPresenceStruct function DiscordRPC_GenerateUIPresence( UIPresenceStruct uis )
+{
+ if ( uiGlobal.isLoading )
+ uis.gameState = eDiscordGameState.LOADING;
+ else if ( uiGlobal.loadedLevel == "" )
+ uis.gameState = eDiscordGameState.MAINMENU;
+ else if ( IsLobby() || uiGlobal.loadedLevel == "mp_lobby" )
+ uis.gameState = eDiscordGameState.LOBBY;
+ else
+ uis.gameState = eDiscordGameState.INGAME;
- uis.isLoading = uiGlobal.isLoading
- uis.isLobby = IsLobby()
- uis.loadingLevel = uiGlobal.loadingLevel
- uis.loadedLevel = uiGlobal.loadedLevel
- NSPushUIPresence(uis)
-} \ No newline at end of file
+ return uis
+}