Closed coloursofnoise closed 1 year ago
I believe I have figured out why Everest's DiscordRPC integration is broken on macOS.
In the current Everest code, the platform is being checked like so:
if (!string.IsNullOrEmpty(CoreModule.Settings.DiscordLib))
lib = CoreModule.Settings.DiscordLib;
else if (Environment.OSVersion.Platform == PlatformID.Win32NT)
lib = "discord-rpc.dll";
else if (Environment.OSVersion.Platform == PlatformID.MacOSX) {
lib = "libdiscord-rpc.dylib";
// FIXME: macOS doesn't see libdiscord-rpc.dylib wherever Celeste.exe is.
} else if (Environment.OSVersion.Platform == PlatformID.Unix)
lib = "libdiscord-rpc.so";
However, on macOS, Environment.OSVersion.Platform
is Unix
, not MacOSX
. So, Everest tries to use libdiscord-rpc.so
rather than libdiscord-rpc.dylib
, causing rich presence to fail on macOS.
At the moment, a workaround for current macOS users is to open Saves > modsettings-Everest.celeste
and replace the line DiscordLib: ''
with DiscordLib: libdiscord-rpc.dylib
.
A possible permanent solution would be to try libdiscord-rpc.so
on Unix platforms and then try libdiscord-rpc.dylib
if libdiscord-rpc.so
fails.
reposting this since someone from the discord recommended me to it would be nice if when you folks get around to replacing the discord rich presence component, you could also improve the design a bit, in a couple ways
@KTibow What would you suggest using for the image? The current map icon?
I'm not sure. Could you give some examples of the icons?
@KTibow This would be the icon for Resort, for example:
I'm not sure how that'd work with arbitrary images 🤔
From what I understand, you send an image URL, Discord proxies it, and if you read back your presence you get mp:{some_proxy_url} (for example https://media.discordapp.net/external/QtIxTXtNkB4eSkFOQBmaXZ3yZCA9JiuMBWFI1OZ5OHE/https/celestemodupdater.0x0a.de/banana-mirror-images/img_ss_mods_5f53e04d0cf8f.png), so that would probably require mirroring map icons 🤔
Started working on it 😄
The Everest DiscordRPC integration is broken on MacOS, and the DiscordRPC Library has been deprecated in favour of Discord's GameSDK.