aboutsummaryrefslogtreecommitdiff
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
parent318561f5a6a1f965bca5caaef962ea1deb6f6b31 (diff)
downloadNorthstarMods-1.20.0-rc3.tar.gz
NorthstarMods-1.20.0-rc3.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
-rw-r--r--.github/nativefuncs.json14
-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
4 files changed, 26 insertions, 32 deletions
diff --git a/.github/nativefuncs.json b/.github/nativefuncs.json
index 13a7edd3..8397232d 100644
--- a/.github/nativefuncs.json
+++ b/.github/nativefuncs.json
@@ -421,13 +421,7 @@
"helpText":"Returns whether or not a given path leads to a folder.",
"returnTypeString":"bool",
"argTypes":"string path"
- },
- {
- "name":"NSPushGameStateData",
- "helpText":"",
- "returnTypeString":"void",
- "argTypes":"struct gamestate"
- }
+ }
],
"UI":[
{
@@ -724,12 +718,6 @@
"returnTypeString":"bool",
"argTypes":"string path"
},
- {
- "name":"NSPushUIPresence",
- "helpText":"",
- "returnTypeString":"void",
- "argTypes":"struct presence"
- },
{
"name":"NSGetMasterServerAuthResult",
"helpText":"",
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
+}