From 0861e344922aed14e3f08b53325991c76c559ccf Mon Sep 17 00:00:00 2001 From: oreyg Date: Sun, 21 Jan 2018 08:50:00 +0600 Subject: [PATCH] Remove duplicated directory --- .../Plugins/discordrpc/Resources/Icon128.png | Bin 9834 -> 0 bytes .../Plugins/discordrpc/Resources/discord.png | Bin 9834 -> 0 bytes .../Private/DiscordRpcBlueprint.cpp | 150 ----------------- .../Source/discordrpc/Private/discordrpc.cpp | 71 -------- .../discordrpc/Public/DiscordRpcBlueprint.h | 154 ------------------ .../Source/discordrpc/Public/discordrpc.h | 20 --- .../Source/discordrpc/discordrpc.Build.cs | 51 ------ .../Plugins/discordrpc/discordrpc.uplugin | 23 --- 8 files changed, 469 deletions(-) delete mode 100644 examples/unrealstatus/Plugins/discordrpc/Resources/Icon128.png delete mode 100644 examples/unrealstatus/Plugins/discordrpc/Resources/discord.png delete mode 100644 examples/unrealstatus/Plugins/discordrpc/Source/discordrpc/Private/DiscordRpcBlueprint.cpp delete mode 100644 examples/unrealstatus/Plugins/discordrpc/Source/discordrpc/Private/discordrpc.cpp delete mode 100644 examples/unrealstatus/Plugins/discordrpc/Source/discordrpc/Public/DiscordRpcBlueprint.h delete mode 100644 examples/unrealstatus/Plugins/discordrpc/Source/discordrpc/Public/discordrpc.h delete mode 100644 examples/unrealstatus/Plugins/discordrpc/Source/discordrpc/discordrpc.Build.cs delete mode 100644 examples/unrealstatus/Plugins/discordrpc/discordrpc.uplugin diff --git a/examples/unrealstatus/Plugins/discordrpc/Resources/Icon128.png b/examples/unrealstatus/Plugins/discordrpc/Resources/Icon128.png deleted file mode 100644 index 8b7f8e1c6a2c71c9e20d4e9e819455056c43d75e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9834 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 diff --git a/examples/unrealstatus/Plugins/discordrpc/Resources/discord.png b/examples/unrealstatus/Plugins/discordrpc/Resources/discord.png deleted file mode 100644 index 8b7f8e1c6a2c71c9e20d4e9e819455056c43d75e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9834 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 diff --git a/examples/unrealstatus/Plugins/discordrpc/Source/discordrpc/Private/DiscordRpcBlueprint.cpp b/examples/unrealstatus/Plugins/discordrpc/Source/discordrpc/Private/DiscordRpcBlueprint.cpp deleted file mode 100644 index 5ad637b..0000000 --- a/examples/unrealstatus/Plugins/discordrpc/Source/discordrpc/Private/DiscordRpcBlueprint.cpp +++ /dev/null @@ -1,150 +0,0 @@ -#include "DicordRpcPrivatePCH" -#include "DiscordRpcBlueprint.h" -#include "discord-rpc.h" - -DEFINE_LOG_CATEGORY(Discord) - -static UDiscordRpc* self = nullptr; - -static void ReadyHandler() -{ - UE_LOG(Discord, Log, TEXT("Discord connected")); - if (self) { - self->IsConnected = true; - self->OnConnected.Broadcast(); - } -} - -static void DisconnectHandler(int errorCode, const char* message) -{ - auto msg = FString(message); - UE_LOG(Discord, Log, TEXT("Discord disconnected (%d): %s"), errorCode, *msg); - if (self) { - self->IsConnected = false; - self->OnDisconnected.Broadcast(errorCode, msg); - } -} - -static void ErroredHandler(int errorCode, const char* message) -{ - auto msg = FString(message); - UE_LOG(Discord, Log, TEXT("Discord error (%d): %s"), errorCode, *msg); - if (self) { - self->OnErrored.Broadcast(errorCode, msg); - } -} - -static void JoinGameHandler(const char* joinSecret) -{ - auto secret = FString(joinSecret); - UE_LOG(Discord, Log, TEXT("Discord join %s"), *secret); - if (self) { - self->OnJoin.Broadcast(secret); - } -} - -static void SpectateGameHandler(const char* spectateSecret) -{ - auto secret = FString(spectateSecret); - UE_LOG(Discord, Log, TEXT("Discord spectate %s"), *secret); - if (self) { - self->OnSpectate.Broadcast(secret); - } -} - -static void JoinRequestHandler(const DiscordJoinRequest* request) -{ - FDiscordJoinRequestData jr; - jr.userId = ANSI_TO_TCHAR(request->userId); - jr.username = ANSI_TO_TCHAR(request->username); - jr.discriminator = ANSI_TO_TCHAR(request->discriminator); - jr.avatar = ANSI_TO_TCHAR(request->avatar); - UE_LOG(Discord, Log, TEXT("Discord join request from %s#%s"), *jr.username, *jr.discriminator); - if (self) { - self->OnJoinRequest.Broadcast(jr); - } -} - -void UDiscordRpc::Initialize(const FString& applicationId, - bool autoRegister, - const FString& optionalSteamId) -{ - self = this; - IsConnected = false; - DiscordEventHandlers handlers{}; - handlers.ready = ReadyHandler; - handlers.disconnected = DisconnectHandler; - handlers.errored = ErroredHandler; - if (OnJoin.IsBound()) { - handlers.joinGame = JoinGameHandler; - } - if (OnSpectate.IsBound()) { - handlers.spectateGame = SpectateGameHandler; - } - if (OnJoinRequest.IsBound()) { - handlers.joinRequest = JoinRequestHandler; - } - auto appId = StringCast(*applicationId); - auto steamId = StringCast(*optionalSteamId); - Discord_Initialize( - (const char*)appId.Get(), &handlers, autoRegister, (const char*)steamId.Get()); -} - -void UDiscordRpc::Shutdown() -{ - Discord_Shutdown(); - self = nullptr; -} - -void UDiscordRpc::RunCallbacks() -{ - Discord_RunCallbacks(); -} - -void UDiscordRpc::UpdatePresence() -{ - DiscordRichPresence rp{}; - - auto state = StringCast(*RichPresence.state); - rp.state = state.Get(); - - auto details = StringCast(*RichPresence.details); - rp.details = details.Get(); - - auto largeImageKey = StringCast(*RichPresence.largeImageKey); - rp.largeImageKey = largeImageKey.Get(); - - auto largeImageText = StringCast(*RichPresence.largeImageText); - rp.largeImageText = largeImageText.Get(); - - auto smallImageKey = StringCast(*RichPresence.smallImageKey); - rp.smallImageKey = smallImageKey.Get(); - - auto smallImageText = StringCast(*RichPresence.smallImageText); - rp.smallImageText = smallImageText.Get(); - - auto partyId = StringCast(*RichPresence.partyId); - rp.partyId = partyId.Get(); - - auto matchSecret = StringCast(*RichPresence.matchSecret); - rp.matchSecret = matchSecret.Get(); - - auto joinSecret = StringCast(*RichPresence.joinSecret); - rp.joinSecret = joinSecret.Get(); - - auto spectateSecret = StringCast(*RichPresence.spectateSecret); - rp.spectateSecret = spectateSecret.Get(); - - rp.startTimestamp = RichPresence.startTimestamp; - rp.endTimestamp = RichPresence.endTimestamp; - rp.partySize = RichPresence.partySize; - rp.partyMax = RichPresence.partyMax; - rp.instance = RichPresence.instance; - - Discord_UpdatePresence(&rp); -} - -void UDiscordRpc::ClearPresence() -{ - Discord_ClearPresence(); -} diff --git a/examples/unrealstatus/Plugins/discordrpc/Source/discordrpc/Private/discordrpc.cpp b/examples/unrealstatus/Plugins/discordrpc/Source/discordrpc/Private/discordrpc.cpp deleted file mode 100644 index d8ff536..0000000 --- a/examples/unrealstatus/Plugins/discordrpc/Source/discordrpc/Private/discordrpc.cpp +++ /dev/null @@ -1,71 +0,0 @@ -// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. - -#include "DiscordRpcPrivatePCH.h" -#include "IPluginManager.h" -#include "ModuleManager.h" - -#define LOCTEXT_NAMESPACE "FDiscordRpcModule" - -void FDiscordRpcModule::StartupModule() -{ -#if !PLATFORM_LINUX -#if defined(DISCORD_DYNAMIC_LIB) - // Get the base directory of this plugin - FString BaseDir = IPluginManager::Get().FindPlugin("DiscordRpc")->GetBaseDir(); - const FString SDKDir = FPaths::Combine(*BaseDir, TEXT("ThirdParty"), TEXT("DiscordRpcLibrary")); -#if PLATFORM_WINDOWS - const FString LibName = TEXT("discord-rpc"); - const FString LibDir = FPaths::Combine(*SDKDir, TEXT("Win64")); - if (!LoadDependency(LibDir, LibName, DiscordRpcLibraryHandle)) { - FMessageDialog::Open(EAppMsgType::Ok, LOCTEXT(LOCTEXT_NAMESPACE, "Failed to load DiscordRpc plugin. Plug-in will not be functional.")); - FreeDependency(DiscordRpcLibraryHandle); - } -#elif PLATFORM_MAC - const FString LibName = TEXT("discord-rpc"); - const FString LibDir = FPaths::Combine(*SDKDir, TEXT("Mac")); - if (!LoadDependency(LibDir, LibName, DiscordRpcLibraryHandle)) { - FMessageDialog::Open(EAppMsgType::Ok, LOCTEXT(LOCTEXT_NAMESPACE, "Failed to load DiscordRpc plugin. Plug-in will not be functional.")); - FreeDependency(DiscordRpcLibraryHandle); - } -#endif -#endif -#endif -} - -void FDiscordRpcModule::ShutdownModule() -{ - // Free the dll handle -#if !PLATFORM_LINUX -#if defined(DISCORD_DYNAMIC_LIB) - FreeDependency(DiscordRpcLibraryHandle); -#endif -#endif -} - -bool FDiscordAPIModule::LoadDependency(const FString& Dir, const FString& Name, void*& Handle) -{ - FString Lib = Name + TEXT(".") + FPlatformProcess::GetModuleExtension(); - FString Path = Dir.IsEmpty() ? *Lib : FPaths::Combine(*Dir, *Lib); - - Handle = FPlatformProcess::GetDllHandle(*Path); - - if (Handle == nullptr) - { - return false; - } - - return true; -} - -void FDiscordAPIModule::FreeDependency(void*& Handle) -{ - if (Handle != nullptr) - { - FPlatformProcess::FreeDllHandle(Handle); - Handle = nullptr; - } -} - -#undef LOCTEXT_NAMESPACE - -IMPLEMENT_MODULE(FDiscordRpcModule, DiscordRpc) \ No newline at end of file diff --git a/examples/unrealstatus/Plugins/discordrpc/Source/discordrpc/Public/DiscordRpcBlueprint.h b/examples/unrealstatus/Plugins/discordrpc/Source/discordrpc/Public/DiscordRpcBlueprint.h deleted file mode 100644 index 7fbad7b..0000000 --- a/examples/unrealstatus/Plugins/discordrpc/Source/discordrpc/Public/DiscordRpcBlueprint.h +++ /dev/null @@ -1,154 +0,0 @@ -#pragma once - -#include "CoreMinimal.h" -#include "Engine.h" -#include "DiscordRpcBlueprint.generated.h" - -// unreal's header tool hates clang-format -// clang-format off - -/** -* Ask to join callback data -*/ -USTRUCT(BlueprintType) -struct FDiscordJoinRequestData { - GENERATED_USTRUCT_BODY() - - UPROPERTY(BlueprintReadOnly) - FString userId; - UPROPERTY(BlueprintReadOnly) - FString username; - UPROPERTY(BlueprintReadOnly) - FString discriminator; - UPROPERTY(BlueprintReadOnly) - FString avatar; -}; - - -DECLARE_LOG_CATEGORY_EXTERN(Discord, Log, All); - -DECLARE_DYNAMIC_MULTICAST_DELEGATE(FDiscordConnected); -DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FDiscordDisconnected, int, errorCode, const FString&, errorMessage); -DECLARE_DYNAMIC_MULTICAST_DELEGATE_TwoParams(FDiscordErrored, int, errorCode, const FString&, errorMessage); -DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FDiscordJoin, const FString&, joinSecret); -DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FDiscordSpectate, const FString&, spectateSecret); -DECLARE_DYNAMIC_MULTICAST_DELEGATE_OneParam(FDiscordJoinRequest, const FDiscordJoinRequestData&, joinRequest); - -// clang-format on - -/** - * Rich presence data - */ -USTRUCT(BlueprintType) -struct FDiscordRichPresence { - GENERATED_USTRUCT_BODY() - - UPROPERTY(BlueprintReadWrite) - FString state; - UPROPERTY(BlueprintReadWrite) - FString details; - // todo, timestamps are 64bit, does that even matter? - UPROPERTY(BlueprintReadWrite) - int startTimestamp; - UPROPERTY(BlueprintReadWrite) - int endTimestamp; - UPROPERTY(BlueprintReadWrite) - FString largeImageKey; - UPROPERTY(BlueprintReadWrite) - FString largeImageText; - UPROPERTY(BlueprintReadWrite) - FString smallImageKey; - UPROPERTY(BlueprintReadWrite) - FString smallImageText; - UPROPERTY(BlueprintReadWrite) - FString partyId; - UPROPERTY(BlueprintReadWrite) - int partySize; - UPROPERTY(BlueprintReadWrite) - int partyMax; - UPROPERTY(BlueprintReadWrite) - FString matchSecret; - UPROPERTY(BlueprintReadWrite) - FString joinSecret; - UPROPERTY(BlueprintReadWrite) - FString spectateSecret; - UPROPERTY(BlueprintReadWrite) - bool instance; -}; - -/** - * - */ -UCLASS(BlueprintType, meta = (DisplayName = "Discord RPC"), Category = "Discord") -class DISCORDRPC_API UDiscordRpc : public UObject { - GENERATED_BODY() - -public: - UFUNCTION(BlueprintCallable, - meta = (DisplayName = "Initialize connection", Keywords = "Discord rpc"), - Category = "Discord") - void Initialize(const FString& applicationId, - bool autoRegister, - const FString& optionalSteamId); - - UFUNCTION(BlueprintCallable, - meta = (DisplayName = "Shut down connection", Keywords = "Discord rpc"), - Category = "Discord") - void Shutdown(); - - UFUNCTION(BlueprintCallable, - meta = (DisplayName = "Check for callbacks", Keywords = "Discord rpc"), - Category = "Discord") - void RunCallbacks(); - - UFUNCTION(BlueprintCallable, - meta = (DisplayName = "Send presence", Keywords = "Discord rpc"), - Category = "Discord") - void UpdatePresence(); - - UFUNCTION(BlueprintCallable, - meta = (DisplayName = "Clear presence", Keywords = "Discord rpc"), - Category = "Discord") - void ClearPresence(); - - UPROPERTY(BlueprintReadOnly, - meta = (DisplayName = "Is Discord connected", Keywords = "Discord rpc"), - Category = "Discord") - bool IsConnected; - - UPROPERTY(BlueprintAssignable, - meta = (DisplayName = "On connection", Keywords = "Discord rpc"), - Category = "Discord") - FDiscordConnected OnConnected; - - UPROPERTY(BlueprintAssignable, - meta = (DisplayName = "On disconnection", Keywords = "Discord rpc"), - Category = "Discord") - FDiscordDisconnected OnDisconnected; - - UPROPERTY(BlueprintAssignable, - meta = (DisplayName = "On error message", Keywords = "Discord rpc"), - Category = "Discord") - FDiscordErrored OnErrored; - - UPROPERTY(BlueprintAssignable, - meta = (DisplayName = "When Discord user presses join", Keywords = "Discord rpc"), - Category = "Discord") - FDiscordJoin OnJoin; - - UPROPERTY(BlueprintAssignable, - meta = (DisplayName = "When Discord user presses spectate", Keywords = "Discord rpc"), - Category = "Discord") - FDiscordSpectate OnSpectate; - - UPROPERTY(BlueprintAssignable, - meta = (DisplayName = "When Discord another user sends a join request", - Keywords = "Discord rpc"), - Category = "Discord") - FDiscordJoinRequest OnJoinRequest; - - UPROPERTY(BlueprintReadWrite, - meta = (DisplayName = "Rich presence info", Keywords = "Discord rpc"), - Category = "Discord") - FDiscordRichPresence RichPresence; -}; diff --git a/examples/unrealstatus/Plugins/discordrpc/Source/discordrpc/Public/discordrpc.h b/examples/unrealstatus/Plugins/discordrpc/Source/discordrpc/Public/discordrpc.h deleted file mode 100644 index f5b27ea..0000000 --- a/examples/unrealstatus/Plugins/discordrpc/Source/discordrpc/Public/discordrpc.h +++ /dev/null @@ -1,20 +0,0 @@ -// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. - -#pragma once - -#include "ModuleManager.h" - -class FDiscordRpcModule : public IModuleInterface { -public: - /** IModuleInterface implementation */ - virtual void StartupModule() override; - virtual void ShutdownModule() override; - -private: - /** Handle to the test dll we will load */ - void* DiscordLibraryHandle; - - /** StartupModule is covered with defines, these functions are the place to put breakpoints */ - static bool LoadDependency(const FString& Dir, const FString& Name, void*& Handle); - static void FreeDependency(void*& Handle); -}; \ No newline at end of file diff --git a/examples/unrealstatus/Plugins/discordrpc/Source/discordrpc/discordrpc.Build.cs b/examples/unrealstatus/Plugins/discordrpc/Source/discordrpc/discordrpc.Build.cs deleted file mode 100644 index 4249e5f..0000000 --- a/examples/unrealstatus/Plugins/discordrpc/Source/discordrpc/discordrpc.Build.cs +++ /dev/null @@ -1,51 +0,0 @@ -// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved. - -using UnrealBuildTool; - -public class discordrpc : ModuleRules -{ - public discordrpc(ReadOnlyTargetRules Target) : base(Target) - { - Definitions.Add("DISCORD_DYNAMIC_LIB=1"); - - PublicIncludePaths.AddRange( - new string[] { - "DiscordRpc/Public" - } - ); - - PrivateIncludePaths.AddRange( - new string[] { - "DiscordRpc/Private" - } - ); - - PublicDependencyModuleNames.AddRange( - new string[] - { - "Core", - } - ); - - PrivateDependencyModuleNames.AddRange( - new string[] - { - "CoreUObject", - "Engine", - "Slate", - "SlateCore", - "Projects" - } - ); - - DynamicallyLoadedModuleNames.AddRange( - new string[] - { - // ... add any modules that your module loads dynamically here ... - } - ); - - string BaseDirectory = Path.GetFullPath(Path.Combine(ModuleDirectory, "..", "..", "ThirdParty", "DiscordRpcLibrary")); - PublicIncludePaths.Add(Path.Combine(BaseDirectory, "Include")); - } -} \ No newline at end of file diff --git a/examples/unrealstatus/Plugins/discordrpc/discordrpc.uplugin b/examples/unrealstatus/Plugins/discordrpc/discordrpc.uplugin deleted file mode 100644 index 59e49d9..0000000 --- a/examples/unrealstatus/Plugins/discordrpc/discordrpc.uplugin +++ /dev/null @@ -1,23 +0,0 @@ -{ - "FileVersion": 3, - "Version": 1, - "VersionName": "1.0", - "FriendlyName": "Discord RPC", - "Description": "Wrap the Discord RPC library.", - "Category": "Messaging", - "CreatedBy": "Chris Marsh ", - "CreatedByURL": "https://discordapp.com/", - "DocsURL": "", - "MarketplaceURL": "", - "SupportURL": "", - "CanContainContent": true, - "IsBetaVersion": true, - "Installed": false, - "Modules": [ - { - "Name": "DiscordRpc", - "Type": "Runtime", - "LoadingPhase": "PreDefault" - } - ] -} \ No newline at end of file