diff --git a/Source/ThirdParty/HarmonyLinkLib/bin/Linux/libHarmonyLinkLib.so b/Source/ThirdParty/HarmonyLinkLib/bin/Linux/libHarmonyLinkLib.so index 67e0680..a48fb6f 100644 Binary files a/Source/ThirdParty/HarmonyLinkLib/bin/Linux/libHarmonyLinkLib.so and b/Source/ThirdParty/HarmonyLinkLib/bin/Linux/libHarmonyLinkLib.so differ diff --git a/Source/ThirdParty/HarmonyLinkLib/bin/Win64/HarmonyLinkLib.dll b/Source/ThirdParty/HarmonyLinkLib/bin/Win64/HarmonyLinkLib.dll index 9c2272b..860a335 100644 Binary files a/Source/ThirdParty/HarmonyLinkLib/bin/Win64/HarmonyLinkLib.dll and b/Source/ThirdParty/HarmonyLinkLib/bin/Win64/HarmonyLinkLib.dll differ diff --git a/Source/ThirdParty/HarmonyLinkLib/bin/Win64/HarmonyLinkLib.lib b/Source/ThirdParty/HarmonyLinkLib/bin/Win64/HarmonyLinkLib.lib index ce48844..233a4d6 100644 Binary files a/Source/ThirdParty/HarmonyLinkLib/bin/Win64/HarmonyLinkLib.lib and b/Source/ThirdParty/HarmonyLinkLib/bin/Win64/HarmonyLinkLib.lib differ diff --git a/Source/ThirdParty/HarmonyLinkLib/include/Enums/EDevice.h b/Source/ThirdParty/HarmonyLinkLib/include/Enums/EDevice.h index 31f9bfe..f49c7ec 100644 --- a/Source/ThirdParty/HarmonyLinkLib/include/Enums/EDevice.h +++ b/Source/ThirdParty/HarmonyLinkLib/include/Enums/EDevice.h @@ -21,6 +21,7 @@ namespace HarmonyLinkLib { enum class EDevice : uint8_t { + UNKNOWN, DESKTOP, LAPTOP, HANDHELD, diff --git a/Source/ThirdParty/HarmonyLinkLib/include/Enums/EPlatform.h b/Source/ThirdParty/HarmonyLinkLib/include/Enums/EPlatform.h index 66697ee..ffa2be7 100644 --- a/Source/ThirdParty/HarmonyLinkLib/include/Enums/EPlatform.h +++ b/Source/ThirdParty/HarmonyLinkLib/include/Enums/EPlatform.h @@ -21,6 +21,7 @@ namespace HarmonyLinkLib { enum class EPlatform : uint8_t { + UNKNOWN, WINDOWS, LINUX, MAC, diff --git a/Source/ThirdParty/HarmonyLinkLib/include/Enums/ESteamDeck.h b/Source/ThirdParty/HarmonyLinkLib/include/Enums/ESteamDeck.h new file mode 100644 index 0000000..9fbad64 --- /dev/null +++ b/Source/ThirdParty/HarmonyLinkLib/include/Enums/ESteamDeck.h @@ -0,0 +1,29 @@ +// Copyright (c) 2024 Jordon Brooks +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 + +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +#pragma once + +#include + +// Enum class for representing different types of devices +namespace HarmonyLinkLib +{ + enum class ESteamDeck : uint8_t + { + NONE, // Device is not a steam deck + UNKNOWN, // Device is a steam deck but model cannot be determined + LCD, + OLED, + }; +} diff --git a/Source/ThirdParty/HarmonyLinkLib/include/HarmonyLinkLib.h b/Source/ThirdParty/HarmonyLinkLib/include/HarmonyLinkLib.h index aaa1887..d6575a5 100644 --- a/Source/ThirdParty/HarmonyLinkLib/include/HarmonyLinkLib.h +++ b/Source/ThirdParty/HarmonyLinkLib/include/HarmonyLinkLib.h @@ -46,6 +46,10 @@ namespace HarmonyLinkLib { extern "C" HARMONYLINKLIB_API bool get_is_wine(); + extern "C" HARMONYLINKLIB_API bool get_is_linux(); + + extern "C" HARMONYLINKLIB_API bool get_is_docked(); + extern "C" HARMONYLINKLIB_API FCPUInfo* get_cpu_info(); extern "C" HARMONYLINKLIB_API FDevice* get_device_info(); diff --git a/Source/ThirdParty/HarmonyLinkLib/include/Structs/FDevice.h b/Source/ThirdParty/HarmonyLinkLib/include/Structs/FDevice.h index 50a1a5c..b574d6a 100644 --- a/Source/ThirdParty/HarmonyLinkLib/include/Structs/FDevice.h +++ b/Source/ThirdParty/HarmonyLinkLib/include/Structs/FDevice.h @@ -18,13 +18,15 @@ #include "Enums/EDevice.h" #include "Enums/EPlatform.h" +#include "Enums/ESteamDeck.h" namespace HarmonyLinkLib { // Struct to represent a specific device with both platform and device type struct FDevice : HarmonyLinkStruct { - EPlatform platform; - EDevice device; + EPlatform platform = EPlatform::UNKNOWN; + EDevice device = EDevice::UNKNOWN; + ESteamDeck steam_deck_model = ESteamDeck::NONE; }; }