From bf7c3f17b3b49be8a804fbde8e5d3e85ee75d367 Mon Sep 17 00:00:00 2001 From: radius Date: Sat, 13 Oct 2018 21:09:19 -0500 Subject: [PATCH] start registering the application so it can be started from discord --- deps/discord-rpc/src/discord_register_win.cpp | 10 +++++----- discord/discord.c | 7 ++++++- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/deps/discord-rpc/src/discord_register_win.cpp b/deps/discord-rpc/src/discord_register_win.cpp index e441318dd5..60b1db3e08 100644 --- a/deps/discord-rpc/src/discord_register_win.cpp +++ b/deps/discord-rpc/src/discord_register_win.cpp @@ -77,22 +77,22 @@ static void Discord_RegisterW(const wchar_t* applicationId, const wchar_t* comma wchar_t openCommand[1024]; if (command && command[0]) { - StringCbPrintfW(openCommand, sizeof(openCommand), L"%s", command); + StringCbPrintfW(openCommand, sizeof(openCommand), L"%S", command); } else { // StringCbCopyW(openCommand, sizeof(openCommand), exeFilePath); - StringCbPrintfW(openCommand, sizeof(openCommand), L"%s", exeFilePath); + StringCbPrintfW(openCommand, sizeof(openCommand), L"%S", exeFilePath); } wchar_t protocolName[64]; - StringCbPrintfW(protocolName, sizeof(protocolName), L"discord-%s", applicationId); + StringCbPrintfW(protocolName, sizeof(protocolName), L"discord-%S", applicationId); wchar_t protocolDescription[128]; StringCbPrintfW( - protocolDescription, sizeof(protocolDescription), L"URL:Run game %s protocol", applicationId); + protocolDescription, sizeof(protocolDescription), L"URL:Run game %S protocol", applicationId); wchar_t urlProtocol = 0; wchar_t keyName[256]; - StringCbPrintfW(keyName, sizeof(keyName), L"Software\\Classes\\%s", protocolName); + StringCbPrintfW(keyName, sizeof(keyName), L"Software\\Classes\\%S", protocolName); HKEY key; auto status = RegCreateKeyExW(HKEY_CURRENT_USER, keyName, 0, nullptr, 0, KEY_WRITE, nullptr, &key, nullptr); diff --git a/discord/discord.c b/discord/discord.c index 572f56deb1..0efe85e036 100644 --- a/discord/discord.c +++ b/discord/discord.c @@ -16,6 +16,7 @@ #include #include "discord.h" +#include "discord_register.h" #include "../retroarch.h" #include "../configuration.h" @@ -225,7 +226,11 @@ void discord_init(void) handlers.spectateGame = handle_discord_spectate; handlers.joinRequest = handle_discord_join_request; - Discord_Initialize(settings->arrays.discord_app_id, &handlers, 1, NULL); + /* To-Do: Add the arguments RetroArch was started with to the register URI*/ + const char command[256] = "retroarch"; + + Discord_Initialize(settings->arrays.discord_app_id, &handlers, 0, NULL); + Discord_Register(settings->arrays.discord_app_id, NULL); discord_ready = true; }