Skip to content

Commit a4f447a

Browse files
authored
Fix #1336: Discord Rich Presence not respecting CVars load (#1345)
1 parent f28e008 commit a4f447a

File tree

3 files changed

+14
-5
lines changed

3 files changed

+14
-5
lines changed

Client/core/CCore.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1006,6 +1006,9 @@ void CCore::CreateXML()
10061006

10071007
// Load XML-dependant subsystems
10081008
m_ClientVariables.Load();
1009+
1010+
// Initialize discord rich presence after client variables have been loaded completely as it is dependant on CVars
1011+
m_DiscordManager->Initialize();
10091012
}
10101013

10111014
void CCore::DestroyGame()

Client/core/CDiscordManager.cpp

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,7 @@
1818

1919
CDiscordManager::CDiscordManager() : m_DiscordCore(nullptr), m_Suicide(false), m_WaitingForServerName(false), m_StoredActivity{}
2020
{
21-
Reconnect(true); // Try to interact with discord on construction
22-
m_Thread = new CThreadHandle(CDiscordManager::DiscordThread, this);
23-
24-
m_StoredActivity.GetAssets().SetLargeImage("mta_logo_round"); // Always thing
25-
m_StoredActivity.GetAssets().SetLargeText("Playing MTA:SA");
21+
2622
}
2723

2824
CDiscordManager::~CDiscordManager()
@@ -39,6 +35,15 @@ CDiscordManager::~CDiscordManager()
3935
SAFE_DELETE(m_DiscordCore);
4036
}
4137

38+
void CDiscordManager::Initialize()
39+
{
40+
Reconnect(true); // Try to interact with discord on construction
41+
m_Thread = new CThreadHandle(CDiscordManager::DiscordThread, this);
42+
43+
m_StoredActivity.GetAssets().SetLargeImage("mta_logo_round"); // Always thing
44+
m_StoredActivity.GetAssets().SetLargeText("Playing MTA:SA");
45+
}
46+
4247
// Establish connection with discord
4348
void CDiscordManager::Reconnect(bool bOnInitialization)
4449
{

Client/core/CDiscordManager.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ class CDiscordManager : public CDiscordManagerInterface
2424
static void OnActivityJoin(const char* joinSecret);
2525
static void* DiscordThread(void* arg);
2626

27+
void Initialize();
2728
void Reconnect(bool bOnInitialization = false);
2829
void DoPulse();
2930

0 commit comments

Comments
 (0)