From 899d6b8c9bc0ae4d0603353fc96e466ed702e317 Mon Sep 17 00:00:00 2001 From: MrKuBu Date: Sun, 3 Dec 2023 17:09:36 +0300 Subject: [PATCH] Add custom buttons (2 buttons) --- src/serialization.cpp | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/src/serialization.cpp b/src/serialization.cpp index 70efa63..ccc725d 100644 --- a/src/serialization.cpp +++ b/src/serialization.cpp @@ -157,7 +157,33 @@ size_t JsonWriteRichPresenceObj(char* dest, WriteOptionalString(writer, "join", presence->joinSecret); WriteOptionalString(writer, "spectate", presence->spectateSecret); } + + // Add Custom buttons and links (2 Buttons) + if (((presence->button1Label && presence->button1Label[0]) && + (presence->button1Url && presence->button1Url[0])) || + ((presence->button2Label && presence->button2Label[0]) && + (presence->button2Url && presence->button2Url[0]))) { + WriteArray buttons(writer, "buttons"); + if ((presence->button1Label && presence->button1Label[0]) && + (presence->button1Url && presence->button1Url[0])) { + WriteObject button1(writer); + writer.Key("label"); + writer.String(presence->button1Label); + writer.Key("url"); + writer.String(presence->button1Url); + } + + if ((presence->button2Label && presence->button2Label[0]) && + (presence->button2Url && presence->button2Url[0])) { + WriteObject button2(writer); + writer.Key("label"); + writer.String(presence->button2Label); + writer.Key("url"); + writer.String(presence->button2Url); + } + } + writer.Key("instance"); writer.Bool(presence->instance != 0); }