Just switch to DLLs.
This commit is contained in:
		
							parent
							
								
									3797a1e9ef
								
							
						
					
					
						commit
						dee8de29da
					
				@ -78,7 +78,8 @@ HEADERS  += lobby.h \
 | 
			
		||||
    aolineedit.h \
 | 
			
		||||
    aotextedit.h \
 | 
			
		||||
    aoevidencedisplay.h \
 | 
			
		||||
    discord_rich_presence.h
 | 
			
		||||
    discord_rich_presence.h \
 | 
			
		||||
    discord-rpc.h
 | 
			
		||||
 | 
			
		||||
# 1. You need to get BASS and put the x86 bass DLL/headers in the project root folder
 | 
			
		||||
#    AND the compilation output folder. If you want a static link, you'll probably
 | 
			
		||||
@ -87,7 +88,7 @@ HEADERS  += lobby.h \
 | 
			
		||||
#    in the same way as BASS. Discord RPC uses CMake, which does not play nicely with
 | 
			
		||||
#    QMake, so this step must be manual.
 | 
			
		||||
unix:LIBS += -L$$PWD -lbass -ldiscord-rpc
 | 
			
		||||
win32:LIBS += "$$PWD/bass.dll"
 | 
			
		||||
win32:LIBS += -L$$PWD "$$PWD/bass.dll" -ldiscord-rpc #"$$PWD/discord-rpc.dll"
 | 
			
		||||
android:LIBS += -L$$PWD\android\libs\armeabi-v7a\ -lbass
 | 
			
		||||
 | 
			
		||||
CONFIG += c++11
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										84
									
								
								discord-rpc.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										84
									
								
								discord-rpc.h
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,84 @@
 | 
			
		||||
#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 DiscordJoinRequest {
 | 
			
		||||
    const char* userId;
 | 
			
		||||
    const char* username;
 | 
			
		||||
    const char* discriminator;
 | 
			
		||||
    const char* avatar;
 | 
			
		||||
} DiscordJoinRequest;
 | 
			
		||||
 | 
			
		||||
typedef struct DiscordEventHandlers {
 | 
			
		||||
    void (*ready)();
 | 
			
		||||
    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 DiscordJoinRequest* 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_Respond(const char* userid, /* DISCORD_REPLY_ */ int reply);
 | 
			
		||||
 | 
			
		||||
#ifdef __cplusplus
 | 
			
		||||
} /* extern "C" */
 | 
			
		||||
#endif
 | 
			
		||||
@ -53,6 +53,7 @@ void Discord::state_server(const char* name, const char* server_id)
 | 
			
		||||
  presence.largeImageText = "Objection!";
 | 
			
		||||
  presence.instance = 1;
 | 
			
		||||
  presence.matchSecret = server_id;
 | 
			
		||||
  Discord_UpdatePresence(&presence);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user