Compare commits
3 Commits
Author | SHA1 | Date | |
---|---|---|---|
be8a8e9380 | |||
c70acbe7d1 | |||
d97e6b48ed |
@ -21,6 +21,10 @@ Download a release package for your platform(s) -- they have subdirs with variou
|
|||||||
|
|
||||||
### From repo
|
### From repo
|
||||||
|
|
||||||
|
First-eth, you'll want `CMake`. There's a few different ways to install it on your system, and you should refer to [their website](https://cmake.org/install/). Many package managers provide ways of installing CMake as well.
|
||||||
|
|
||||||
|
To make sure it's installed correctly, type `cmake --version` into your flavor of terminal/cmd. If you get a response with a version number, you're good to go!
|
||||||
|
|
||||||
There's a [CMake](https://cmake.org/download/) file that should be able to generate the lib for you; Sometimes I use it like this:
|
There's a [CMake](https://cmake.org/download/) file that should be able to generate the lib for you; Sometimes I use it like this:
|
||||||
```sh
|
```sh
|
||||||
cd <path to discord-rpc>
|
cd <path to discord-rpc>
|
||||||
|
@ -46,8 +46,8 @@ public class ScriptBatch
|
|||||||
string[] srcDlls = { "../../builds/install/osx-dynamic/lib/libdiscord-rpc.dylib" };
|
string[] srcDlls = { "../../builds/install/osx-dynamic/lib/libdiscord-rpc.dylib" };
|
||||||
#else
|
#else
|
||||||
string[] dstDirs = { "Assets/Plugins", "Assets/Plugins/x86", "Assets/Plugins/x86_64" };
|
string[] dstDirs = { "Assets/Plugins", "Assets/Plugins/x86", "Assets/Plugins/x86_64" };
|
||||||
string[] dstDlls = { "Assets/Plugins/x86/discord-rpc.so", "Assets/Plugins/x86_64/discord-rpc.so" };
|
string[] dstDlls = { "Assets/Plugins/discord-rpc.so" };
|
||||||
string[] srcDlls = { "../../builds/install/linux-dynamic/bin/discord-rpc.dll", "../../builds/install/win64-dynamic/bin/discord-rpc.dll" };
|
string[] srcDlls = { "../../builds/install/linux-dynamic/lib/libdiscord-rpc.so" };
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
Debug.Assert(dstDlls.Length == srcDlls.Length);
|
Debug.Assert(dstDlls.Length == srcDlls.Length);
|
||||||
|
@ -47,6 +47,7 @@ struct JoinRequest {
|
|||||||
};
|
};
|
||||||
|
|
||||||
static RpcConnection* Connection{nullptr};
|
static RpcConnection* Connection{nullptr};
|
||||||
|
static DiscordEventHandlers QueuedHandlers{};
|
||||||
static DiscordEventHandlers Handlers{};
|
static DiscordEventHandlers Handlers{};
|
||||||
static std::atomic_bool WasJustConnected{false};
|
static std::atomic_bool WasJustConnected{false};
|
||||||
static std::atomic_bool WasJustDisconnected{false};
|
static std::atomic_bool WasJustDisconnected{false};
|
||||||
@ -282,12 +283,16 @@ extern "C" DISCORD_EXPORT void Discord_Initialize(const char* applicationId,
|
|||||||
|
|
||||||
{
|
{
|
||||||
std::lock_guard<std::mutex> guard(HandlerMutex);
|
std::lock_guard<std::mutex> guard(HandlerMutex);
|
||||||
|
|
||||||
if (handlers) {
|
if (handlers) {
|
||||||
Handlers = *handlers;
|
QueuedHandlers = *handlers;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
Handlers = {};
|
QueuedHandlers = {};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Handlers = {};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Connection) {
|
if (Connection) {
|
||||||
@ -296,13 +301,17 @@ extern "C" DISCORD_EXPORT void Discord_Initialize(const char* applicationId,
|
|||||||
|
|
||||||
Connection = RpcConnection::Create(applicationId);
|
Connection = RpcConnection::Create(applicationId);
|
||||||
Connection->onConnect = []() {
|
Connection->onConnect = []() {
|
||||||
Discord_UpdateHandlers(&Handlers);
|
Discord_UpdateHandlers(&QueuedHandlers);
|
||||||
WasJustConnected.exchange(true);
|
WasJustConnected.exchange(true);
|
||||||
ReconnectTimeMs.reset();
|
ReconnectTimeMs.reset();
|
||||||
};
|
};
|
||||||
Connection->onDisconnect = [](int err, const char* message) {
|
Connection->onDisconnect = [](int err, const char* message) {
|
||||||
LastDisconnectErrorCode = err;
|
LastDisconnectErrorCode = err;
|
||||||
StringCopy(LastDisconnectErrorMessage, message);
|
StringCopy(LastDisconnectErrorMessage, message);
|
||||||
|
{
|
||||||
|
std::lock_guard<std::mutex> guard(HandlerMutex);
|
||||||
|
Handlers = {};
|
||||||
|
}
|
||||||
WasJustDisconnected.exchange(true);
|
WasJustDisconnected.exchange(true);
|
||||||
UpdateReconnectTime();
|
UpdateReconnectTime();
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user