diff --git a/src/discord-rpc.h b/src/discord-rpc.h index 5a4b5c3..19219c3 100644 --- a/src/discord-rpc.h +++ b/src/discord-rpc.h @@ -1,31 +1,22 @@ #pragma once +#include struct DiscordRichPresence { - uint64_t contextStartTimeUTC; // 0 means unspecified - uint64_t contextStopTimeUTC; // 0 means unspecified - - //// - const char* gameState; // eg. In Game - const char* gameMode; // e.g. Summoner's Rift - const char* gameModifier; // e.g. Ranked - const char* choice; // e.g. Aatrox - // or - const char* partyStatus[4]; // e.g. "In Game", "Summoner's Rift", "Ranked", "Aatrox" - //// - - const char* largeImageKey; // e.g. The map background - const char* smallImageKey; // e.g. The character's portrait icon - + const char* state; + const char* details; + time_t startTimestamp; + time_t endTimestamp; + const char* largeImageKey; + const char* largeImageText; + const char* smallImageKey; + const char* smallImageText; const char* partyId; - uint16_t partySize; // e.g. 0 means ignored - uint16_t partyCapacity; // e.g. 0 means no limit - - // optional - const char* contextSecret; // Required for the "notify me" feature - uint8_t isInstance; // Together with context_secret enables the "notify me" feature - - const char* joinSecret; // Enables the "invite to join" feature - const char* spectateSecret; // Enables the "invite to spectate" feature + int partySize; + int partyMax; + const char* matchSecret; + const char* joinSecret; + const char* spectateSecret; + bool instance; }; struct DiscordEventHandlers { @@ -39,6 +30,12 @@ struct DiscordEventHandlers { void (*spectateGame)(const char* spectateSecret); }; +void Discord_Initialize(const char* applicationId, DiscordEventHandlers* handlers); +void Discord_Shutdown(); +void Discord_UpdatePresence(const DiscordRichPresence* presence); + +/* later + struct DiscordChannelEventHandlers { void (*messageCreate)(const DiscordMessage* message); void (*messageUpdate)(const DiscordMessage* message); @@ -47,19 +44,9 @@ struct DiscordChannelEventHandlers { void (*voiceStateDelete)(const DiscordVoiceState* state); void (*speakingStart)(const DiscordSpeakingState* state); void (*speakingStop)(const DiscordSpeakingState* state); -} - -// Call this to start up the Discord SDK -void Discord_Initialize(const char* applicationId, DiscordEventHandlers* handlers); - +}; // Call this to subscribe to events in a specific voice or text channel -void Discord_Subscribe(const char* channelId, const DiscordChannelEventHandlers* handlers) - -// Call this when you're all done so we can cleanup without timing out. -void Discord_Shutdown(); - -// Call this whenever any of the data in the payload changes in a material way. -void Discord_UpdatePresence(const DiscordRichPresence* presence); +void Discord_Subscribe(const char* channelId, const DiscordChannelEventHandlers* handlers); // TBD RPC Requests void Discord_Authenticate(); @@ -70,3 +57,5 @@ void Discord_GetChannel(); void Discord_SelectVoiceChannel(); void Discord_SelectTextChannel(); void Discord_SendMessage(); + +*/