diff --git a/CMakeLists.txt b/CMakeLists.txt index 951ee9708e257b47b35b33bcaaaaa2cc95f8366d..121d598a23b2c5932cf703bf4bc642f5bc0a4f4f 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -57,6 +57,7 @@ option( ON ) option(SRB2_CONFIG_ENABLE_WEBM_MOVIES "Enable WebM recording support" ON) +option(SRB2_CONFIG_ENABLE_DISCORDRPC "Enable Discord RPC features" ON) option(SRB2_CONFIG_HWRENDER "Enable hardware render (OpenGL) support" ON) option(SRB2_CONFIG_STATIC_OPENGL "Enable static linking GL (do not do this)" OFF) option(SRB2_CONFIG_ERRORMODE "Compile C code with warnings treated as errors." OFF) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 52d2285b3bf000879b909f16aa7481815010901a..ee1d7de6aaf2389dd716ba005ef075946f57b087 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -259,9 +259,13 @@ target_link_libraries(SRB2SDL2 PRIVATE CURL::libcurl) target_compile_definitions(SRB2SDL2 PRIVATE -DHAVE_ZLIB -DHAVE_PNG -DHAVE_CURL -D_LARGEFILE64_SOURCE) target_sources(SRB2SDL2 PRIVATE apng.c) -target_link_libraries(SRB2SDL2 PRIVATE DiscordRPC::DiscordRPC) -target_compile_definitions(SRB2SDL2 PRIVATE -DHAVE_DISCORDRPC -DUSE_STUN) -target_sources(SRB2SDL2 PRIVATE discord.c stun.cpp) +target_compile_definitions(SRB2SDL2 PRIVATE -DUSE_STUN) +target_sources(SRB2SDL2 PRIVATE stun.cpp) +if(SRB2_CONFIG_ENABLE_DISCORDRPC) + target_link_libraries(SRB2SDL2 PRIVATE DiscordRPC::DiscordRPC) + target_compile_definitions(SRB2SDL2 PRIVATE -DHAVE_DISCORDRPC) + target_sources(SRB2SDL2 PRIVATE discord.c) +endif() target_link_libraries(SRB2SDL2 PRIVATE tcbrindle::span) target_link_libraries(SRB2SDL2 PRIVATE glm::glm) @@ -289,29 +293,6 @@ target_link_libraries(SRB2SDL2 PRIVATE nlohmann_json::nlohmann_json) set(SRB2_HAVE_THREADS ON) target_compile_definitions(SRB2SDL2 PRIVATE -DHAVE_THREADS) -if(${SRB2_CONFIG_HAVE_DISCORDRPC}) - if(${SRB2_CONFIG_USE_INTERNAL_LIBRARIES}) - set(DISCORDRPC_FOUND ON) - if(${SRB2_SYSTEM_BITS} EQUAL 64) - set(DISCORDRPC_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/libs/discord-rpc/win64-dynamic/include) - set(DISCORDRPC_LIBRARIES "-L${CMAKE_SOURCE_DIR}/libs/discord-rpc/win64-dynamic/lib -ldiscord-rpc") - else() # 32-bit - set(DISCORDRPC_INCLUDE_DIRS ${CMAKE_SOURCE_DIR}/libs/discord-rpc/win32-dynamic/include) - set(DISCORDRPC_LIBRARIES "-L${CMAKE_SOURCE_DIR}/libs/discord-rpc/win32-dynamic/lib -ldiscord-rpc") - endif() - else() - find_package(DiscordRPC) - endif() - if(${DISCORDRPC_FOUND}) - set(SRB2_HAVE_DISCORDRPC ON) - target_compile_definitions(SRB2SDL2 PRIVATE -DHAVE_DISCORDRPC) - target_compile_definitions(SRB2SDL2 PRIVATE -DUSE_STUN) - target_sources(SRB2SDL2 PRIVATE discord.c stun.cpp) - else() - message(WARNING "You have specified that Discord Rich Presence is available but it was not found.") - endif() -endif() - if(${SRB2_CONFIG_HAVE_ZLIB}) if(${SRB2_CONFIG_USE_INTERNAL_LIBRARIES}) set(ZLIB_FOUND ON) diff --git a/src/i_video_common.cpp b/src/i_video_common.cpp index 92457f2622fbbc63df8f8cfe34b81d25697d740a..c574655df836c04d77195ccd8e16609245c66f45 100644 --- a/src/i_video_common.cpp +++ b/src/i_video_common.cpp @@ -29,7 +29,6 @@ // KILL THIS WHEN WE KILL OLD OGL SUPPORT PLEASE #include "d_netcmd.h" // kill -#include "discord.h" // kill #include "doomstat.h" // kill #include "s_sound.h" // kill #include "sdl/ogl_sdl.h" @@ -121,7 +120,7 @@ static void temp_legacy_finishupdate_draws() if (cv_ticrate.value) SCR_DisplayTicRate(); - + if (netgame && (consoleplayer != serverplayer || !server_lagless)) { if (server_lagless) diff --git a/src/k_bot.cpp b/src/k_bot.cpp index cf44c85ae069367c4e602070b90d95a56bf1fcc9..106df85508fe75a6964c2ab2fe5a51929f13a123 100644 --- a/src/k_bot.cpp +++ b/src/k_bot.cpp @@ -41,7 +41,9 @@ #include "g_party.h" #include "k_grandprix.h" // K_CanChangeRules #include "hu_stuff.h" // HU_AddChatText +#ifdef HAVE_DISCORDRPC #include "discord.h" // DRPC_UpdatePresence +#endif #include "i_net.h" // doomcom extern "C" consvar_t cv_forcebots; @@ -559,7 +561,7 @@ fixed_t K_BotMapModifier(void) { constexpr INT32 complexity_scale = 10000; constexpr fixed_t modifier_max = FRACUNIT * 2; - + const fixed_t complexity_value = std::clamp<fixed_t>( FixedDiv(K_GetTrackComplexity(), complexity_scale), -FixedDiv(FRACUNIT, modifier_max), @@ -1378,7 +1380,7 @@ static INT32 K_HandleBotTrack(const player_t *player, ticcmd_t *cmd, botpredicti { turnsign = 1; } - else + else { turnsign = -1; } @@ -1514,7 +1516,7 @@ static INT32 K_HandleBotReverse(const player_t *player, ticcmd_t *cmd, botpredic turnsign = -1; // Turn right anglediff = AngleFixed(angle)>>FRACBITS; } - else + else { turnsign = 1; // Turn left anglediff = 360-(AngleFixed(angle)>>FRACBITS); @@ -1535,7 +1537,7 @@ static INT32 K_HandleBotReverse(const player_t *player, ticcmd_t *cmd, botpredic { momdiff = AngleFixed(angle)>>FRACBITS; } - else + else { momdiff = 360-(AngleFixed(angle)>>FRACBITS); } diff --git a/src/menus/transient/CMakeLists.txt b/src/menus/transient/CMakeLists.txt index 1b5bb7f24f3ca852b697da9cd40b37e7032f9038..ae91c307a06f3f8c86ba5cc8c636e5466794004e 100644 --- a/src/menus/transient/CMakeLists.txt +++ b/src/menus/transient/CMakeLists.txt @@ -5,7 +5,6 @@ target_sources(SRB2SDL2 PRIVATE gametype.c manual.c sound-test.c - discord-requests.c message-box.c pause-game.c pause-kick.c @@ -14,3 +13,7 @@ target_sources(SRB2SDL2 PRIVATE pause-cheats.cpp pause-addonoptions.cpp ) + +if(SRB2_CONFIG_ENABLE_DISCORDRPC) + target_sources(SRB2SDL2 PRIVATE discord-requests.c) +endif() diff --git a/thirdparty/CMakeLists.txt b/thirdparty/CMakeLists.txt index 987d20650a15c7523be2acd1ee1b854139966f54..45d8d59466382b403e0c4df1c801e59e5929c602 100644 --- a/thirdparty/CMakeLists.txt +++ b/thirdparty/CMakeLists.txt @@ -1,5 +1,7 @@ add_subdirectory(glm) -add_subdirectory(discord-rpc) +if(SRB2_CONFIG_ENABLE_DISCORDRPC) + add_subdirectory(discord-rpc) +endif() add_subdirectory(xmp-lite) add_subdirectory(imgui)