
Due to a countless number of changes made to the core that were not fully understood, tested, or documented, it was decided to roll everything back to the last known stable version (2.6.2). Changes dropped include: - Witness needed - Shake - Frame SFX - Multiple custom objections - Multithreaded thumbnail generation - Looping - Various translation additions - "Mirror IC" - Color in IC log - An invocation of clang-format Next time, work together and split your big fork into independently testable feature branches.
88 lines
2.6 KiB
C
88 lines
2.6 KiB
C
#pragma once
|
|
#include <stdint.h>
|
|
|
|
// clang-format off
|
|
|
|
#if defined(DISCORD_DYNAMIC_LIB)
|
|
# if defined(_WIN32)
|
|
# if defined(DISCORD_BUILDING_SDK)
|
|
# define DISCORD_EXPORT __declspec(dllexport)
|
|
# else
|
|
# define DISCORD_EXPORT __declspec(dllimport)
|
|
# endif
|
|
# else
|
|
# define DISCORD_EXPORT __attribute__((visibility("default")))
|
|
# endif
|
|
#else
|
|
# define DISCORD_EXPORT
|
|
#endif
|
|
|
|
// clang-format on
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
typedef struct DiscordRichPresence {
|
|
const char* state; /* max 128 bytes */
|
|
const char* details; /* max 128 bytes */
|
|
int64_t startTimestamp;
|
|
int64_t endTimestamp;
|
|
const char* largeImageKey; /* max 32 bytes */
|
|
const char* largeImageText; /* max 128 bytes */
|
|
const char* smallImageKey; /* max 32 bytes */
|
|
const char* smallImageText; /* max 128 bytes */
|
|
const char* partyId; /* max 128 bytes */
|
|
int partySize;
|
|
int partyMax;
|
|
const char* matchSecret; /* max 128 bytes */
|
|
const char* joinSecret; /* max 128 bytes */
|
|
const char* spectateSecret; /* max 128 bytes */
|
|
int8_t instance;
|
|
} DiscordRichPresence;
|
|
|
|
typedef struct DiscordUser {
|
|
const char* userId;
|
|
const char* username;
|
|
const char* discriminator;
|
|
const char* avatar;
|
|
} DiscordUser;
|
|
|
|
typedef struct DiscordEventHandlers {
|
|
void (*ready)(const DiscordUser* request);
|
|
void (*disconnected)(int errorCode, const char* message);
|
|
void (*errored)(int errorCode, const char* message);
|
|
void (*joinGame)(const char* joinSecret);
|
|
void (*spectateGame)(const char* spectateSecret);
|
|
void (*joinRequest)(const DiscordUser* request);
|
|
} DiscordEventHandlers;
|
|
|
|
#define DISCORD_REPLY_NO 0
|
|
#define DISCORD_REPLY_YES 1
|
|
#define DISCORD_REPLY_IGNORE 2
|
|
|
|
DISCORD_EXPORT void Discord_Initialize(const char* applicationId,
|
|
DiscordEventHandlers* handlers,
|
|
int autoRegister,
|
|
const char* optionalSteamId);
|
|
DISCORD_EXPORT void Discord_Shutdown(void);
|
|
|
|
/* checks for incoming messages, dispatches callbacks */
|
|
DISCORD_EXPORT void Discord_RunCallbacks(void);
|
|
|
|
/* If you disable the lib starting its own io thread, you'll need to call this from your own */
|
|
#ifdef DISCORD_DISABLE_IO_THREAD
|
|
DISCORD_EXPORT void Discord_UpdateConnection(void);
|
|
#endif
|
|
|
|
DISCORD_EXPORT void Discord_UpdatePresence(const DiscordRichPresence* presence);
|
|
DISCORD_EXPORT void Discord_ClearPresence(void);
|
|
|
|
DISCORD_EXPORT void Discord_Respond(const char* userid, /* DISCORD_REPLY_ */ int reply);
|
|
|
|
DISCORD_EXPORT void Discord_UpdateHandlers(DiscordEventHandlers* handlers);
|
|
|
|
#ifdef __cplusplus
|
|
} /* extern "C" */
|
|
#endif
|