Shutdown DiscordRPC when discordrp cvar is set to Off
This commit is contained in:
parent
8646a48d19
commit
e0feb055f1
2 changed files with 37 additions and 2 deletions
|
|
@ -37,7 +37,9 @@
|
|||
// length of IP strings
|
||||
#define IP_SIZE 21
|
||||
|
||||
consvar_t cv_discordrp = CVAR_INIT ("discordrp", "On", CV_SAVE|CV_CALL, CV_OnOff, DRPC_UpdatePresence);
|
||||
static void Discordrp_OnChange(void);
|
||||
|
||||
consvar_t cv_discordrp = CVAR_INIT ("discordrp", "On", CV_SAVE|CV_CALL, CV_OnOff, Discordrp_OnChange);
|
||||
consvar_t cv_discordstreamer = CVAR_INIT ("discordstreamer", "Off", CV_SAVE, CV_OnOff, NULL);
|
||||
consvar_t cv_discordasks = CVAR_INIT ("discordasks", "Yes", CV_SAVE|CV_CALL, CV_YesNo, DRPC_UpdatePresence);
|
||||
|
||||
|
|
@ -330,10 +332,36 @@ void DRPC_Init(void)
|
|||
handlers.joinRequest = DRPC_HandleJoinRequest;
|
||||
|
||||
Discord_Initialize(DISCORD_APPID, &handlers, 1, NULL);
|
||||
I_AddExitFunc(Discord_Shutdown);
|
||||
I_AddExitFunc(DRPC_Shutdown);
|
||||
DRPC_UpdatePresence();
|
||||
}
|
||||
|
||||
void DRPC_Shutdown(void)
|
||||
{
|
||||
if (!drpc_init)
|
||||
{
|
||||
CONS_Printf("DiscordRPC never started\n");
|
||||
return;
|
||||
}
|
||||
|
||||
CONS_Printf("Shutting down DiscordRPC\n");
|
||||
|
||||
Discord_Shutdown();
|
||||
drpc_init = false;
|
||||
}
|
||||
|
||||
static void Discordrp_OnChange(void)
|
||||
{
|
||||
if (cv_discordrp.value)
|
||||
{
|
||||
DRPC_UpdatePresence();
|
||||
}
|
||||
else
|
||||
{
|
||||
DRPC_Shutdown();
|
||||
}
|
||||
}
|
||||
|
||||
/*--------------------------------------------------
|
||||
static void DRPC_GotServerIP(UINT32 address)
|
||||
|
||||
|
|
|
|||
|
|
@ -68,6 +68,13 @@ void DRPC_RemoveRequest(discordRequest_t *removeRequest);
|
|||
void DRPC_Init(void);
|
||||
|
||||
|
||||
/*--------------------------------------------------
|
||||
void DRPC_Shutdown(void);
|
||||
|
||||
Shutdown Discord Rich Presence if it was started at all.
|
||||
--------------------------------------------------*/
|
||||
void DRPC_Shutdown(void);
|
||||
|
||||
/*--------------------------------------------------
|
||||
void DRPC_UpdatePresence(void);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue