Skip to content

Commit f3ede1d

Browse files
committed
Fix folder names and (hopefully) rich presence for cross win compilation
1 parent 7e46f5a commit f3ede1d

File tree

3 files changed

+24
-13
lines changed

3 files changed

+24
-13
lines changed

src/io/file_manager.cpp

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -979,17 +979,27 @@ void FileManager::checkAndCreateConfigDir()
979979
else
980980
{
981981

982-
#if defined(WIN32)
982+
#if defined(WIN_BUILD)
983983

984984
// Try to use the APPDATA directory to store config files and highscore
985985
// lists. If not defined, used the current directory.
986+
987+
std::string dir = "";
988+
989+
#if defined(WIN32)
986990
std::vector<wchar_t> env;
987991
// An environment variable has a maximum size limit of 32,767 characters
988992
env.resize(32767, 0);
989993
DWORD length = GetEnvironmentVariable(L"APPDATA", env.data(), 32767);
990994
if (length != 0)
995+
dir = StringUtils::wideToUtf8(env.data());
996+
#else
997+
dir = getenv("APPDATA");
998+
#endif
999+
1000+
if (!dir.empty())
9911001
{
992-
m_user_config_dir = StringUtils::wideToUtf8(env.data());
1002+
m_user_config_dir = dir;
9931003
if (!checkAndCreateDirectory(m_user_config_dir))
9941004
{
9951005
Log::error("FileManager", "Can't create config dir '%s"
@@ -1097,7 +1107,7 @@ void FileManager::checkAndCreateConfigDir()
10971107
*/
10981108
void FileManager::checkAndCreateAddonsDir()
10991109
{
1100-
#if defined(WIN32)
1110+
#if defined(WIN_BUILD)
11011111
m_addons_dir = m_user_config_dir+"../addons/";
11021112
#elif defined(__HAIKU__)
11031113
m_addons_dir = m_user_config_dir+"addons/";
@@ -1138,7 +1148,7 @@ void FileManager::checkAndCreateAddonsDir()
11381148
*/
11391149
void FileManager::checkAndCreateScreenshotDir()
11401150
{
1141-
#if defined(WIN32) || defined(__HAIKU__)
1151+
#if defined(WIN_BUILD) || defined(__HAIKU__)
11421152
m_screenshot_dir = m_user_config_dir+"screenshots/";
11431153
#elif defined(__APPLE__)
11441154
m_screenshot_dir = getenv("HOME");
@@ -1164,7 +1174,7 @@ void FileManager::checkAndCreateScreenshotDir()
11641174
*/
11651175
void FileManager::checkAndCreateReplayDir()
11661176
{
1167-
#if defined(WIN32) || defined(__HAIKU__)
1177+
#if defined(WIN_BUILD) || defined(__HAIKU__)
11681178
m_replay_dir = m_user_config_dir + "replay/";
11691179
#elif defined(__APPLE__)
11701180
m_replay_dir = getenv("HOME");
@@ -1190,7 +1200,7 @@ void FileManager::checkAndCreateReplayDir()
11901200
*/
11911201
void FileManager::checkAndCreateCachedTexturesDir()
11921202
{
1193-
#if defined(WIN32) || defined(__HAIKU__)
1203+
#if defined(WIN_BUILD) || defined(__HAIKU__)
11941204
m_cached_textures_dir = m_user_config_dir + "cached-textures/";
11951205
#elif defined(__APPLE__)
11961206
m_cached_textures_dir = getenv("HOME");
@@ -1215,7 +1225,7 @@ void FileManager::checkAndCreateCachedTexturesDir()
12151225
*/
12161226
void FileManager::checkAndCreateGPDir()
12171227
{
1218-
#if defined(WIN32) || defined(__HAIKU__)
1228+
#if defined(WIN_BUILD) || defined(__HAIKU__)
12191229
m_gp_dir = m_user_config_dir + "grandprix/";
12201230
#elif defined(__APPLE__)
12211231
m_gp_dir = getenv("HOME");

src/io/rich_presence.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
#include "online/request_manager.hpp"
2222
#include "online/http_request.hpp"
2323

24-
#if defined(__SWITCH__) || defined(MOBILE_STK) || defined(SERVER_ONLY) || defined(__MINGW32__) || defined(__MINGW64__)
24+
#if defined(__SWITCH__) || defined(MOBILE_STK) || defined(SERVER_ONLY)
2525
#define DISABLE_RPC
2626
#endif
2727

@@ -77,7 +77,8 @@ void RichPresence::destroy()
7777
}
7878

7979
RichPresence::RichPresence() : m_connected(false), m_ready(false), m_last(0),
80-
#if defined(WIN32) && !(defined(__MINGW32__) || defined(__MINGW64__))
80+
#if defined(WIN_BUILD)
81+
// && !(defined(__MINGW32__) || defined(__MINGW64__))
8182
m_socket(INVALID_HANDLE_VALUE),
8283
#else
8384
m_socket(-1),
@@ -98,7 +99,7 @@ RichPresence::~RichPresence()
9899
void RichPresence::terminate()
99100
{
100101
#ifndef DISABLE_RPC
101-
#ifdef WIN32
102+
#ifdef WIN_BUILD
102103
#define UNCLEAN m_socket != INVALID_HANDLE_VALUE
103104
#else
104105
#define UNCLEAN m_socket != -1
@@ -166,7 +167,7 @@ bool RichPresence::doConnect()
166167
basePath = "/tmp";
167168
completed:
168169
basePath = basePath + "/";
169-
#elif defined(WIN32)
170+
#elif defined(WIN_BUILD)
170171
// Windows uses named pipes
171172
std::string basePath = "\\\\?\\pipe\\";
172173
#endif

src/io/rich_presence.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#include <atomic>
2-
#ifdef WIN32
2+
#ifdef WIN_BUILD
33
#include <namedpipeapi.h>
44
#endif
55
#include <thread>
@@ -26,7 +26,7 @@ namespace RichPresenceNS
2626
bool m_connected;
2727
std::atomic_bool m_ready;
2828
time_t m_last;
29-
#ifdef WIN32
29+
#ifdef WIN_BUILD
3030
HANDLE m_socket;
3131
#else
3232
int m_socket;

0 commit comments

Comments
 (0)