diff --git a/BUILD.md b/BUILD.md index c150543..847a373 100644 --- a/BUILD.md +++ b/BUILD.md @@ -164,7 +164,7 @@ downstream of one of those. **Adding a new Steam call site means checking which gate covers it.** For Steam features you need the DLL from -[extern/steamworks_sdk_164/sdk/redistributable_bin/steam_api.dll](extern/steamworks_sdk_164/sdk/redistributable_bin/steam_api.dll) +[extern/steamworks_sdk_165/sdk/redistributable_bin/steam_api.dll](extern/steamworks_sdk_165/sdk/redistributable_bin/steam_api.dll) (the 32-bit one, not `win64\`) beside the exe, plus `steam_appid.txt` — with the DLL but no appid file `SteamAPI_Init` fails and the game falls back to TCP. diff --git a/MUNGA_L4/L4STEAMTRANSPORT.h b/MUNGA_L4/L4STEAMTRANSPORT.h index 48b79f4..c26f6d5 100644 --- a/MUNGA_L4/L4STEAMTRANSPORT.h +++ b/MUNGA_L4/L4STEAMTRANSPORT.h @@ -14,7 +14,7 @@ //######################################################################## // SteamNetTransport - the retail wire (l4steamtransport.cpp). Built // only under RP412_STEAM (Steamworks SDK vendored at -// extern\steamworks_sdk_164; steam_api.dll ships beside the exe, but is +// extern\steamworks_sdk_165; steam_api.dll ships beside the exe, but is // delay-loaded and optional - see the note further down). // // Method mapping onto ISteamNetworkingSockets: diff --git a/MUNGA_L4/Munga_L4.vcxproj b/MUNGA_L4/Munga_L4.vcxproj index c0d2432..2cac7bd 100644 --- a/MUNGA_L4/Munga_L4.vcxproj +++ b/MUNGA_L4/Munga_L4.vcxproj @@ -35,7 +35,7 @@ Munga_l4 - $(IncludePath);$(DXSDK_DIR)Include;..\extern\steamworks_sdk_164\sdk\public + $(IncludePath);$(DXSDK_DIR)Include;..\extern\steamworks_sdk_165\sdk\public $(LibraryPath);$(DXSDK_DIR)Lib\x86 diff --git a/README.md b/README.md index 991cd5d..4e28700 100644 --- a/README.md +++ b/README.md @@ -93,8 +93,9 @@ Grab the release zip (or run `pack-dist.ps1` on a build). Single player: run `start-windowed.bat` — the game boots into the setup menu, where the SCENARIO group picks Death Race or Football (Football swaps in the team/position columns and its own track list). Steam multiplayer: see -[docs/STEAM-3-MACHINE-TEST.md](docs/STEAM-3-MACHINE-TEST.md) (until RP412 -has its own AppID it runs under Spacewar, 480). +[docs/STEAM-3-MACHINE-TEST.md](docs/STEAM-3-MACHINE-TEST.md). It runs +under Red Planet's own AppID, 5108000, so the Steam account playing it +needs the game on it; without that the wire falls back to TCP. The config files beside the exe are self-documenting and none of them ship: the game writes each one the first time it needs it and then leaves @@ -112,7 +113,7 @@ mission. Full map with pad and keyboard diagrams: ## Building **VS 2022 (v143)** + DirectX SDK June 2010 + the vendored Steamworks SDK -(`extern/steamworks_sdk_164`) — see [BUILD.md](BUILD.md). Solution +(`extern/steamworks_sdk_165`) — see [BUILD.md](BUILD.md). Solution `WinTesla.sln`, configuration `Release|Win32`, output `Release\rpl4opt.exe`. diff --git a/RP_L4/RPL4ENVIRON.cpp b/RP_L4/RPL4ENVIRON.cpp index 0a1edf1..c159839 100644 --- a/RP_L4/RPL4ENVIRON.cpp +++ b/RP_L4/RPL4ENVIRON.cpp @@ -311,6 +311,11 @@ namespace "# of them logs the reason and falls back to plain TCP - nothing here can\n" "# stop the game starting, and steam_api.dll being absent altogether is\n" "# fine. 0 = TCP only.\n" +"#\n" +"# steam_appid.txt holds 5108000, which is Red Planet's own AppID, so the\n" +"# Steam account running the game needs Red Planet on it. An account\n" +"# without it gets the TCP fallback - the same quiet symptom as a missing\n" +"# file, so check the log before blaming the network.\n" "RP412STEAM=1\n" "\n" "# Line up each remote player's clock with ours, so their vehicle is\n" diff --git a/RP_L4/RP_L4.vcxproj b/RP_L4/RP_L4.vcxproj index e3e2142..e45ccea 100644 --- a/RP_L4/RP_L4.vcxproj +++ b/RP_L4/RP_L4.vcxproj @@ -36,8 +36,8 @@ rpl4opt - $(IncludePath);$(DXSDK_DIR)Include;..\extern\steamworks_sdk_164\sdk\public - $(LibraryPath);$(DXSDK_DIR)Lib\x86;..\extern\steamworks_sdk_164\sdk\redistributable_bin + $(IncludePath);$(DXSDK_DIR)Include;..\extern\steamworks_sdk_165\sdk\public + $(LibraryPath);$(DXSDK_DIR)Lib\x86;..\extern\steamworks_sdk_165\sdk\redistributable_bin true diff --git a/docs/RP412-FRONTEND-DESIGN.md b/docs/RP412-FRONTEND-DESIGN.md index c4d3ea5..ada468b 100644 --- a/docs/RP412-FRONTEND-DESIGN.md +++ b/docs/RP412-FRONTEND-DESIGN.md @@ -115,8 +115,8 @@ raced the same 60s mission, StopMission(0) ended it, and both pods returned EndMission final scores. The feeder is exactly the marshal the Steam lobby owner will run in-process. -**SteamNetTransport implemented (2026-07-12, SDK 1.64 vendored at -`extern/steamworks_sdk_164`):** `L4STEAMTRANSPORT.cpp` is the full +**SteamNetTransport implemented (2026-07-12; SDK now 1.65, vendored at +`extern/steamworks_sdk_165`):** `L4STEAMTRANSPORT.cpp` is the full FakeIP implementation — `SteamNetTransport_Install()` (SteamAPI init, relay access, `BeginAsyncRequestFakeIP(2)`: fake port 0 = console channel, 1 = game mesh) swaps the process wire when `RP412STEAM=1`; diff --git a/docs/STEAM-3-MACHINE-TEST.md b/docs/STEAM-3-MACHINE-TEST.md index c09a8a6..b37b005 100644 --- a/docs/STEAM-3-MACHINE-TEST.md +++ b/docs/STEAM-3-MACHINE-TEST.md @@ -11,11 +11,17 @@ the first live test. 2. Copy the `dist\` folder onto the machine. 3. Start with `start-windowed.bat` as usual. -The packed dist already contains `steam_appid.txt` (480 — Spacewar, -Valve's public dev AppID, replaced by the real one once the store page -exists) and ships `RP412STEAM=1` in `environ.ini`. If a machine has an -older dist, check both before blaming the network: a missing appid -file makes SteamAPI_Init fail and the game quietly falls back to TCP. +The packed dist already contains `steam_appid.txt` (5108000 — Red +Planet's own AppID; builds before that ran under Spacewar, 480) and ships +`RP412STEAM=1` in `environ.ini`. If a machine has an older dist, check +both before blaming the network: a missing appid file makes +SteamAPI_Init fail and the game quietly falls back to TCP. + +Now that the AppID is ours rather than Valve's public one, the Steam +account on each machine has to actually have Red Planet on it. An account +without it gets the TCP fallback — same silent symptom as a missing +appid file, so check library access first when one machine will not join +the mesh. Sanity check per machine: `rpl4.log` should show `SteamNetTransport: up as 169.254.x.y (fake ports N console, M game)`. @@ -45,13 +51,14 @@ appid file is missing. ## Controllers: disable Steam Input (once per machine) -Steam Input intercepts Xbox controllers for AppID 480 the moment the -game initializes SteamAPI, hiding them from XInput entirely - the pad -works everywhere else and is invisible only in-game (reproduced A/B on -the dev box). Fix, either scope: +Steam Input intercepts Xbox controllers the moment the game initializes +SteamAPI, hiding them from XInput entirely - the pad works everywhere +else and is invisible only in-game (reproduced A/B on the dev box, under +Spacewar; nothing about it was specific to that AppID). Fix, either +scope: -- Per game: Steam Library -> Spacewar -> Properties -> Controller -> - Override for Spacewar: **Disable Steam Input**. +- Per game: Steam Library -> Red Planet -> Properties -> Controller -> + Override: **Disable Steam Input**. - Global: Steam -> Settings -> Controller -> uncheck **Enable Steam Input for Xbox controllers**. diff --git a/docs/rp412-handbook.html b/docs/rp412-handbook.html index e5b32c4..5849dd4 100644 --- a/docs/rp412-handbook.html +++ b/docs/rp412-handbook.html @@ -1543,7 +1543,7 @@ JOYSTICK.INIThe 1995 single-stick calibration, for the legacy L4CONTROLS=DIJOYSTICK path only. Modern sticks are configured in bindings.txt — see above. *.CFG in AUDIO\Pod audio-hardware mixer tables. Dead weight on a desktop; kept because the arcade path still reads them. RPL4.RESResource blob, not text. - steam_appid.txtSteam runs under Spacewar (480) until Red Planet has its own AppID. + steam_appid.txtRed Planet’s Steam AppID, 5108000. It tells the Steam client which game this is when you start it straight from the folder. Your Steam account needs Red Planet on it; without that the game quietly falls back to plain TCP. diff --git a/extern/.gitignore b/extern/.gitignore index af45fcd..0518fcc 100644 --- a/extern/.gitignore +++ b/extern/.gitignore @@ -1,11 +1,17 @@ # Vendor only what the build uses: the SDK headers and the win32 # redistributables. Examples, tools, and other platforms stay local. -steamworks_sdk_164/sdk/glmgr/ -steamworks_sdk_164/sdk/steamworksexample/ -steamworks_sdk_164/sdk/tools/ -steamworks_sdk_164/sdk/redistributable_bin/androidarm64/ -steamworks_sdk_164/sdk/redistributable_bin/linux32/ -steamworks_sdk_164/sdk/redistributable_bin/linux64/ -steamworks_sdk_164/sdk/redistributable_bin/linuxarm64/ -steamworks_sdk_164/sdk/redistributable_bin/osx/ -steamworks_sdk_164/sdk/redistributable_bin/win64/ + +# The redistributable DLL is vendored despite the global *.dll rule at the +# repo root: it ships beside the exe, and pack-dist.ps1 copies it straight +# out of here, so a checkout has to be able to produce a package on its +# own. Without this line it needs a git add -f and quietly goes missing. +!steamworks_sdk_165/sdk/redistributable_bin/steam_api.dll +steamworks_sdk_165/sdk/glmgr/ +steamworks_sdk_165/sdk/steamworksexample/ +steamworks_sdk_165/sdk/tools/ +steamworks_sdk_165/sdk/redistributable_bin/androidarm64/ +steamworks_sdk_165/sdk/redistributable_bin/linux32/ +steamworks_sdk_165/sdk/redistributable_bin/linux64/ +steamworks_sdk_165/sdk/redistributable_bin/linuxarm64/ +steamworks_sdk_165/sdk/redistributable_bin/osx/ +steamworks_sdk_165/sdk/redistributable_bin/win64/ diff --git a/extern/steamworks_sdk_164/sdk/redistributable_bin/steam_api.dll b/extern/steamworks_sdk_164/sdk/redistributable_bin/steam_api.dll deleted file mode 100644 index 5869b19..0000000 Binary files a/extern/steamworks_sdk_164/sdk/redistributable_bin/steam_api.dll and /dev/null differ diff --git a/extern/steamworks_sdk_164/sdk/redistributable_bin/steam_api.lib b/extern/steamworks_sdk_164/sdk/redistributable_bin/steam_api.lib deleted file mode 100644 index 133e1e5..0000000 Binary files a/extern/steamworks_sdk_164/sdk/redistributable_bin/steam_api.lib and /dev/null differ diff --git a/extern/steamworks_sdk_164/sdk/Readme.txt b/extern/steamworks_sdk_165/sdk/Readme.txt similarity index 96% rename from extern/steamworks_sdk_164/sdk/Readme.txt rename to extern/steamworks_sdk_165/sdk/Readme.txt index f5beb71..836ab7e 100644 --- a/extern/steamworks_sdk_164/sdk/Readme.txt +++ b/extern/steamworks_sdk_165/sdk/Readme.txt @@ -1,14 +1,40 @@ ================================================================ -Copyright © 1996-2025, Valve Corporation, All rights reserved. +Copyright © 1996-2026, Valve Corporation, All rights reserved. ================================================================ -Welcome to the Steamworks SDK. For documentation please see our partner +Welcome to the Steamworks SDK. For documentation please see our partner website at: http://partner.steamgames.com +---------------------------------------------------------------- +v1.65 23th July 2026 +---------------------------------------------------------------- + +Steam Machine, Steam Frame and Steam Deck: +* Removed ISteamUtils::IsRunningOnSteamDeck(). Please use other feature specific methods below. +* Added ISteamUtils::IsRunningOnSteamHardware() which returns ESteamHardwareType. Use this call for analytics, support or diagnostic purposes. For functional decisions, see other SDK calls. +* Added ISteamUtils::GetSteamHardwareDefaultConfig() to help choose default game settings (video and other) that you have tuned for specific Steam hardware. It also enables changing your default game settings on future Steam hardware without needing to recompile your game. +* Added ISteamUtils::IsRunningUnderProton() to determine if your game is running under the Proton compatibility layer on Linux. +* ISteamUtils contains other pre-existing methods that may be useful when replacing IsRunningOnSteamDeck(), such as ISteamUtils::IsSteamInBigPictureMode() and ISteamUtils::IsSteamRunningInVR(). + +ISteamApps: +* Added SetGamePerformanceSetting() and SetGameRenderResolution() methods so a game can report to Steam servers what the relative performance settings and game resolution are set to for the given user. This data will be included with anonymous framerate data if the user has opted into sharing that. + +ISteamUGC - Added options for querying UGC (sorted in descending order): +* k_EUGCQuery_RankedByNumParentItems - how many items depend on this item (if it isn't a collection) +* k_EUGCRankedByNumParentCollections - how many collections contain this item + +Steam Input: +* Added Switch 2, Steam Controller and Steam Frame Controller action origin enum values + +ISteamMatchmakingServers: +* Added ISteamMatchmakingServers::ServerFriends() to get a list of friends that have recently played on a specific server +* Added "popularamongfriends" filter option to retrieve a set of servers that the user's friends commonly play on + + ---------------------------------------------------------------- v1.64 11th March 2026 ---------------------------------------------------------------- @@ -112,7 +138,7 @@ ISteamUGC * Added SetAdminQuery() to allow ISteamUGC to be used in a tools like environment for users who have the appropriate privileges for the calling appid. ISteamApps -* Added API to allow the game to manage active beta branches. +* Added API to allow the game to manage active beta branches. ---------------------------------------------------------------- @@ -158,7 +184,7 @@ User v1.56 30th March 2023 ---------------------------------------------------------------- User -* Updated ISteamUser::GetAuthSessionTicket(), Add parameter SteamNetworkingIdentity +* Updated ISteamUser::GetAuthSessionTicket(), Add parameter SteamNetworkingIdentity ---------------------------------------------------------------- v1.55 29th July 2022 @@ -398,8 +424,8 @@ ISteamNetworkingUtils v1.43 20th February 2019 ---------------------------------------------------------------- -ISteamParties -* This API can be used to selectively advertise your multiplayer game session in a Steam chat room group. Tell Steam the number of player spots that are available for your party, and a join-game string, and it will show a beacon in the selected group and allow that many users to “follow” the beacon to your party. Adjust the number of open slots if other players join through alternate matchmaking methods. +ISteamParties +* This API can be used to selectively advertise your multiplayer game session in a Steam chat room group. Tell Steam the number of player spots that are available for your party, and a join-game string, and it will show a beacon in the selected group and allow that many users to “follow” the beacon to your party. Adjust the number of open slots if other players join through alternate matchmaking methods. ISteamController * This interface will be deprecated and replaced with ISteamInput. For ease in upgrading the SDK ISteamController currently has feature parity with ISteamInput, but future features may not be ported back. Please use ISteamInput for new projects. @@ -418,7 +444,7 @@ ISteamFriends * ActivateGameOverlayToWebPage – Added a new parameter to control how the created web browser window is displayed within the Steam Overlay. The default mode will create a new browser tab next to all other overlay windows that the user already has open. The new modal mode will create a new browser window and activate the Steam Overlay, showing only that window. When the browser window is closed, the Steam Overlay is automatically closed as well. ISteamInventory -* GetItemsWithPrices and GetItemPrice - Added the ability to get the “base price” for a set of items, which you can use to markup in your own UI that items are “on sale” +* GetItemsWithPrices and GetItemPrice - Added the ability to get the “base price” for a set of items, which you can use to markup in your own UI that items are “on sale” ISteamUGC * SetAllowLegacyUpload - Call to force the use of Steam Cloud for back-end storage (instead of Steam Pipe), which is faster and more efficient for uploading and downloading small files (less than 100MB). @@ -468,7 +494,7 @@ v1.41 13th July 2017 ---------------------------------------------------------------- ISteamClient -* Exposed ISteamParentalSettings interface. You can use this to determine if the user has parental settings turned on and for what high-level Steam features. +* Exposed ISteamParentalSettings interface. You can use this to determine if the user has parental settings turned on and for what high-level Steam features. * ISteamHTMLSurface * Added SetDPIScalingFactor - Scale the output display space by this factor, this is useful when displaying content on high dpi devices. @@ -484,7 +510,7 @@ v1.40 25th April 2017 ---------------------------------------------------------------- ISteamInventory -* Update API documentation +* Update API documentation * GetResultItemProperty - Retrieve dynamic properties for a given item returned in the result set. ISteamUtils @@ -494,13 +520,13 @@ ISteamUtils ISteamUser * GetAvailableVoice and GetVoice - Some parameters have become deprecated and now have default values. -ISteamUGC +ISteamUGC * SetReturnPlaytimeStats - Set the number of days of playtime stats to return for a piece of UGC. * AddDependency and RemoveDependency - Useful for parent-child relationship or dependency management ISteamVideo -* Added GetOPFSettings and GetOPFStringForApp for retrieving Open Projection Format data used in Steam 360 Video playback. -* GetOPFSettings - Handle the GetOPFSettingsResult_t callback which is called when the OPF related data for the passed in AppID is ready for retrieval. +* Added GetOPFSettings and GetOPFStringForApp for retrieving Open Projection Format data used in Steam 360 Video playback. +* GetOPFSettings - Handle the GetOPFSettingsResult_t callback which is called when the OPF related data for the passed in AppID is ready for retrieval. * GetOPFStringForApp - Using the AppID returned in GetOPFSettingsResult_t pass in an allocated string buffer to get the OPF data. SteamPipe GUI Tool @@ -684,7 +710,7 @@ v1.30 10th July 2014 ---------------------------------------------------------------- General: -* Added a new Workshop item content API in ISteamUGC that is easy to use and allows multiple files per item without any size limits. It uses the same +* Added a new Workshop item content API in ISteamUGC that is easy to use and allows multiple files per item without any size limits. It uses the same content system that handles regular content depots, resulting in faster and smaller downloads due to delta patching. Subscribed workshop items will be placed in unique subfolders in the install folder, so the game doesn't need to fetch them using ISteamRemoteStorage anymore. The new API is not backwards compatible with old items created with ISteamRemoteStorage. Added Workshop feature to steamworksexample using ISteamUGC. @@ -814,7 +840,7 @@ Apps * Added new API call ISteamApps::MarkContentCorrupt() so a game can hint Steam that some of it's local content seems corrupt. Steam will verify the content next time the game is started. * Added new API call ISteamApps::GetCurrentBetaName() so a game can get the current content beta branch name if the user chose to opt-in to a content beta. -Cloud +Cloud * Added an offset parameter to ISteamRemoteStorage::UGCRead() to allow reading files in chunks, and increased the limit from 100MB to 200MB when downloading files this way. HTTP @@ -1226,12 +1252,12 @@ v1.03 16th Jan 2009 ---------------------------------------------------------------- Major changes: -* ISteamRemoteStorage interface has been added, which contains functions to store per-user data in the Steam Cloud back-end. -** To use this, you must first use the partner web site to enable Cloud for your game. +* ISteamRemoteStorage interface has been added, which contains functions to store per-user data in the Steam Cloud back-end. +** To use this, you must first use the partner web site to enable Cloud for your game. ** The current setting is allowing 1MB of storage per-game per-user (we hope to increase this over time). Lobby & Matchmaking related changes: -* ISteamFriends::GetFriendGamePlayed() now also return the steamID of the lobby the friend is in, if any. It now takes a pointer to a new FriendGameInfo_t struct, which it fills +* ISteamFriends::GetFriendGamePlayed() now also return the steamID of the lobby the friend is in, if any. It now takes a pointer to a new FriendGameInfo_t struct, which it fills * Removed ISteamFriends::GetFriendsLobbies(), since this is now redundant to ISteamFriends::GetFriendGamePlayed() * Added enum ELobbyComparison, to set the comparison operator in ISteamMatchmaking::AddRequestLobbyListNumericalFilter() * Changed ISteamMatchmaking::CreateLobby(), JoinLobby() and RequestLobbyList() to now return SteamAPICall_t handles, so you can easily track if a particular call has completed (see below) @@ -1277,11 +1303,11 @@ ISteamUser virtual void StopVoiceRecording( ) = 0; // Gets the latest voice data. It should be called as often as possible once recording has started. - // nBytesWritten is set to the number of bytes written to pDestBuffer. + // nBytesWritten is set to the number of bytes written to pDestBuffer. virtual EVoiceResult GetCompressedVoice( void *pDestBuffer, uint32 cbDestBufferSize, uint32 *nBytesWritten ) = 0; - // Decompresses a chunk of data produced by GetCompressedVoice(). nBytesWritten is set to the - // number of bytes written to pDestBuffer. The output format of the data is 16-bit signed at + // Decompresses a chunk of data produced by GetCompressedVoice(). nBytesWritten is set to the + // number of bytes written to pDestBuffer. The output format of the data is 16-bit signed at // 11025 samples per second. virtual EVoiceResult DecompressVoice( void *pCompressed, uint32 cbCompressed, void *pDestBuffer, uint32 cbDestBufferSize, uint32 *nBytesWritten ) = 0; diff --git a/extern/steamworks_sdk_164/sdk/public/steam/isteamapps.h b/extern/steamworks_sdk_165/sdk/public/steam/isteamapps.h similarity index 94% rename from extern/steamworks_sdk_164/sdk/public/steam/isteamapps.h rename to extern/steamworks_sdk_165/sdk/public/steam/isteamapps.h index 443c732..ae0d368 100644 --- a/extern/steamworks_sdk_164/sdk/public/steam/isteamapps.h +++ b/extern/steamworks_sdk_165/sdk/public/steam/isteamapps.h @@ -14,6 +14,17 @@ const int k_cubAppProofOfPurchaseKeyMax = 240; // max supported length of a legacy cd key +// Games can specify what settings the user has selected or has been selected by default based +// on the user's machine. +enum EGamePerformanceSetting +{ + k_EGamePerformanceSetting_NotSet = 0, + k_EGamePerformanceSetting_Low = 1, + k_EGamePerformanceSetting_Medium = 2, + k_EGamePerformanceSetting_High = 3, + k_EGamePerformanceSetting_Ultra = 4, + k_EGamePerformanceSetting_Custom = 5, +}; //----------------------------------------------------------------------------- // Purpose: interface to app data @@ -120,6 +131,10 @@ public: // select this beta branch for this app as active, might need the game to restart so Steam can update to that branch virtual bool SetActiveBeta( const char *pchBetaName ) = 0; + + // game performance settings + virtual void SetGamePerformanceSetting( EGamePerformanceSetting setting ) = 0; + virtual void SetGameRenderResolution( uint32 unWidth, uint32 unHeight ) = 0; }; #define STEAMAPPS_INTERFACE_VERSION "STEAMAPPS_INTERFACE_VERSION009" diff --git a/extern/steamworks_sdk_164/sdk/public/steam/isteamappticket.h b/extern/steamworks_sdk_165/sdk/public/steam/isteamappticket.h similarity index 100% rename from extern/steamworks_sdk_164/sdk/public/steam/isteamappticket.h rename to extern/steamworks_sdk_165/sdk/public/steam/isteamappticket.h diff --git a/extern/steamworks_sdk_164/sdk/public/steam/isteamclient.h b/extern/steamworks_sdk_165/sdk/public/steam/isteamclient.h similarity index 100% rename from extern/steamworks_sdk_164/sdk/public/steam/isteamclient.h rename to extern/steamworks_sdk_165/sdk/public/steam/isteamclient.h diff --git a/extern/steamworks_sdk_164/sdk/public/steam/isteamcontroller.h b/extern/steamworks_sdk_165/sdk/public/steam/isteamcontroller.h similarity index 77% rename from extern/steamworks_sdk_164/sdk/public/steam/isteamcontroller.h rename to extern/steamworks_sdk_165/sdk/public/steam/isteamcontroller.h index 99d3745..97ede85 100644 --- a/extern/steamworks_sdk_164/sdk/public/steam/isteamcontroller.h +++ b/extern/steamworks_sdk_165/sdk/public/steam/isteamcontroller.h @@ -550,6 +550,210 @@ enum EControllerActionOrigin k_EControllerActionOrigin_Generic_MISC7, k_EControllerActionOrigin_Generic_MISC8, + // Added in SDK 1.65 + k_EControllerActionOrigin_Switch2_A, + k_EControllerActionOrigin_Switch2_B, + k_EControllerActionOrigin_Switch2_X, + k_EControllerActionOrigin_Switch2_Y, + k_EControllerActionOrigin_Switch2_LeftBumper, + k_EControllerActionOrigin_Switch2_RightBumper, + k_EControllerActionOrigin_Switch2_Plus, //Start + k_EControllerActionOrigin_Switch2_Minus, //Back + k_EControllerActionOrigin_Switch2_Capture, + k_EControllerActionOrigin_Switch2_LeftTrigger_Pull, + k_EControllerActionOrigin_Switch2_LeftTrigger_Click, + k_EControllerActionOrigin_Switch2_RightTrigger_Pull, + k_EControllerActionOrigin_Switch2_RightTrigger_Click, + k_EControllerActionOrigin_Switch2_LeftStick_Move, + k_EControllerActionOrigin_Switch2_LeftStick_Click, + k_EControllerActionOrigin_Switch2_LeftStick_DPadNorth, + k_EControllerActionOrigin_Switch2_LeftStick_DPadSouth, + k_EControllerActionOrigin_Switch2_LeftStick_DPadWest, + k_EControllerActionOrigin_Switch2_LeftStick_DPadEast, + k_EControllerActionOrigin_Switch2_RightStick_Move, + k_EControllerActionOrigin_Switch2_RightStick_Click, + k_EControllerActionOrigin_Switch2_RightStick_DPadNorth, + k_EControllerActionOrigin_Switch2_RightStick_DPadSouth, + k_EControllerActionOrigin_Switch2_RightStick_DPadWest, + k_EControllerActionOrigin_Switch2_RightStick_DPadEast, + k_EControllerActionOrigin_Switch2_DPad_Move, + k_EControllerActionOrigin_Switch2_DPad_North, + k_EControllerActionOrigin_Switch2_DPad_South, + k_EControllerActionOrigin_Switch2_DPad_West, + k_EControllerActionOrigin_Switch2_DPad_East, + k_EControllerActionOrigin_Switch2_ProGyro_Move, + k_EControllerActionOrigin_Switch2_ProGyro_Pitch, + k_EControllerActionOrigin_Switch2_ProGyro_Yaw, + k_EControllerActionOrigin_Switch2_ProGyro_Roll, + k_EControllerActionOrigin_Switch2_GL, + k_EControllerActionOrigin_Switch2_GR, + k_EControllerActionOrigin_Switch2_C, + k_EControllerActionOrigin_Switch2_Reserved1, + k_EControllerActionOrigin_Switch2_Reserved2, + k_EControllerActionOrigin_Switch2_Reserved3, + k_EControllerActionOrigin_Switch2_Reserved4, + k_EControllerActionOrigin_Switch2_Reserved5, + k_EControllerActionOrigin_Switch2_Reserved6, + k_EControllerActionOrigin_Switch2_Reserved7, + k_EControllerActionOrigin_Switch2_Reserved8, + k_EControllerActionOrigin_Switch2_Reserved9, + k_EControllerActionOrigin_Switch2_Reserved10, + + k_EControllerActionOrigin_SteamController2026_A, + k_EControllerActionOrigin_SteamController2026_B, + k_EControllerActionOrigin_SteamController2026_X, + k_EControllerActionOrigin_SteamController2026_Y, + k_EControllerActionOrigin_SteamController2026_L1, + k_EControllerActionOrigin_SteamController2026_R1, + k_EControllerActionOrigin_SteamController2026_Menu, + k_EControllerActionOrigin_SteamController2026_View, + k_EControllerActionOrigin_SteamController2026_LeftPad_Touch, + k_EControllerActionOrigin_SteamController2026_LeftPad_Swipe, + k_EControllerActionOrigin_SteamController2026_LeftPad_Click, + k_EControllerActionOrigin_SteamController2026_LeftPad_DPadNorth, + k_EControllerActionOrigin_SteamController2026_LeftPad_DPadSouth, + k_EControllerActionOrigin_SteamController2026_LeftPad_DPadWest, + k_EControllerActionOrigin_SteamController2026_LeftPad_DPadEast, + k_EControllerActionOrigin_SteamController2026_RightPad_Touch, + k_EControllerActionOrigin_SteamController2026_RightPad_Swipe, + k_EControllerActionOrigin_SteamController2026_RightPad_Click, + k_EControllerActionOrigin_SteamController2026_RightPad_DPadNorth, + k_EControllerActionOrigin_SteamController2026_RightPad_DPadSouth, + k_EControllerActionOrigin_SteamController2026_RightPad_DPadWest, + k_EControllerActionOrigin_SteamController2026_RightPad_DPadEast, + k_EControllerActionOrigin_SteamController2026_L2_SoftPull, + k_EControllerActionOrigin_SteamController2026_L2, + k_EControllerActionOrigin_SteamController2026_R2_SoftPull, + k_EControllerActionOrigin_SteamController2026_R2, + k_EControllerActionOrigin_SteamController2026_LeftStick_Move, + k_EControllerActionOrigin_SteamController2026_L3, + k_EControllerActionOrigin_SteamController2026_LeftStick_DPadNorth, + k_EControllerActionOrigin_SteamController2026_LeftStick_DPadSouth, + k_EControllerActionOrigin_SteamController2026_LeftStick_DPadWest, + k_EControllerActionOrigin_SteamController2026_LeftStick_DPadEast, + k_EControllerActionOrigin_SteamController2026_LeftStick_Touch, + k_EControllerActionOrigin_SteamController2026_RightStick_Move, + k_EControllerActionOrigin_SteamController2026_R3, + k_EControllerActionOrigin_SteamController2026_RightStick_DPadNorth, + k_EControllerActionOrigin_SteamController2026_RightStick_DPadSouth, + k_EControllerActionOrigin_SteamController2026_RightStick_DPadWest, + k_EControllerActionOrigin_SteamController2026_RightStick_DPadEast, + k_EControllerActionOrigin_SteamController2026_RightStick_Touch, + k_EControllerActionOrigin_SteamController2026_L4, + k_EControllerActionOrigin_SteamController2026_R4, + k_EControllerActionOrigin_SteamController2026_L5, + k_EControllerActionOrigin_SteamController2026_R5, + k_EControllerActionOrigin_SteamController2026_DPad_Move, + k_EControllerActionOrigin_SteamController2026_DPad_North, + k_EControllerActionOrigin_SteamController2026_DPad_South, + k_EControllerActionOrigin_SteamController2026_DPad_West, + k_EControllerActionOrigin_SteamController2026_DPad_East, + k_EControllerActionOrigin_SteamController2026_Gyro_Move, + k_EControllerActionOrigin_SteamController2026_Gyro_Pitch, + k_EControllerActionOrigin_SteamController2026_Gyro_Yaw, + k_EControllerActionOrigin_SteamController2026_Gyro_Roll, + k_EControllerActionOrigin_SteamController2026_LGrip, + k_EControllerActionOrigin_SteamController2026_RGrip, + k_EControllerActionOrigin_SteamController2026_Reserved1, + k_EControllerActionOrigin_SteamController2026_Reserved2, + k_EControllerActionOrigin_SteamController2026_Reserved3, + k_EControllerActionOrigin_SteamController2026_Reserved4, + k_EControllerActionOrigin_SteamController2026_Reserved5, + k_EControllerActionOrigin_SteamController2026_Reserved6, + k_EControllerActionOrigin_SteamController2026_Reserved7, + k_EControllerActionOrigin_SteamController2026_Reserved8, + k_EControllerActionOrigin_SteamController2026_Reserved9, + k_EControllerActionOrigin_SteamController2026_Reserved10, + k_EControllerActionOrigin_SteamController2026_Reserved11, + k_EControllerActionOrigin_SteamController2026_Reserved12, + k_EControllerActionOrigin_SteamController2026_Reserved13, + k_EControllerActionOrigin_SteamController2026_Reserved14, + k_EControllerActionOrigin_SteamController2026_Reserved15, + k_EControllerActionOrigin_SteamController2026_Reserved16, + k_EControllerActionOrigin_SteamController2026_Reserved17, + k_EControllerActionOrigin_SteamController2026_Reserved18, + k_EControllerActionOrigin_SteamController2026_Reserved19, + k_EControllerActionOrigin_SteamController2026_Reserved20, + + k_EControllerActionOrigin_SteamFrameController_A_Click, + k_EControllerActionOrigin_SteamFrameController_A_Touch, + k_EControllerActionOrigin_SteamFrameController_B_Click, + k_EControllerActionOrigin_SteamFrameController_B_Touch, + k_EControllerActionOrigin_SteamFrameController_X_Click, + k_EControllerActionOrigin_SteamFrameController_X_Touch, + k_EControllerActionOrigin_SteamFrameController_Y_Click, + k_EControllerActionOrigin_SteamFrameController_Y_Touch, + k_EControllerActionOrigin_SteamFrameController_LeftTrigger_Pull, + k_EControllerActionOrigin_SteamFrameController_LeftTrigger_Click, + k_EControllerActionOrigin_SteamFrameController_LeftTrigger_Touch, + k_EControllerActionOrigin_SteamFrameController_RightTrigger_Pull, + k_EControllerActionOrigin_SteamFrameController_RightTrigger_Click, + k_EControllerActionOrigin_SteamFrameController_RightTrigger_Touch, + k_EControllerActionOrigin_SteamFrameController_Menu_Click, + k_EControllerActionOrigin_SteamFrameController_Menu_Touch, + k_EControllerActionOrigin_SteamFrameController_View_Click, + k_EControllerActionOrigin_SteamFrameController_View_Touch, + k_EControllerActionOrigin_SteamFrameController_LeftBumper_Click, + k_EControllerActionOrigin_SteamFrameController_LeftBumper_Touch, + k_EControllerActionOrigin_SteamFrameController_RightBumper_Click, + k_EControllerActionOrigin_SteamFrameController_RightBumper_Touch, + k_EControllerActionOrigin_SteamFrameController_LeftStick_Move, + k_EControllerActionOrigin_SteamFrameController_LeftStick_Click, + k_EControllerActionOrigin_SteamFrameController_LeftStick_DPadNorth, + k_EControllerActionOrigin_SteamFrameController_LeftStick_DPadSouth, + k_EControllerActionOrigin_SteamFrameController_LeftStick_DPadWest, + k_EControllerActionOrigin_SteamFrameController_LeftStick_DPadEast, + k_EControllerActionOrigin_SteamFrameController_LeftStick_Touch, + k_EControllerActionOrigin_SteamFrameController_RightStick_Move, + k_EControllerActionOrigin_SteamFrameController_RightStick_Click, + k_EControllerActionOrigin_SteamFrameController_RightStick_DPadNorth, + k_EControllerActionOrigin_SteamFrameController_RightStick_DPadSouth, + k_EControllerActionOrigin_SteamFrameController_RightStick_DPadWest, + k_EControllerActionOrigin_SteamFrameController_RightStick_DPadEast, + k_EControllerActionOrigin_SteamFrameController_RightStick_Touch, + k_EControllerActionOrigin_SteamFrameController_DPad_Move, + k_EControllerActionOrigin_SteamFrameController_DPad_North, + k_EControllerActionOrigin_SteamFrameController_DPad_South, + k_EControllerActionOrigin_SteamFrameController_DPad_West, + k_EControllerActionOrigin_SteamFrameController_DPad_East, + k_EControllerActionOrigin_SteamFrameController_DPad_Touch, + k_EControllerActionOrigin_SteamFrameController_LeftGyro_Move, + k_EControllerActionOrigin_SteamFrameController_LeftGyro_Pitch, + k_EControllerActionOrigin_SteamFrameController_LeftGyro_Yaw, + k_EControllerActionOrigin_SteamFrameController_LeftGyro_Roll, + k_EControllerActionOrigin_SteamFrameController_RightGyro_Move, + k_EControllerActionOrigin_SteamFrameController_RightGyro_Pitch, + k_EControllerActionOrigin_SteamFrameController_RightGyro_Yaw, + k_EControllerActionOrigin_SteamFrameController_RightGyro_Roll, + k_EControllerActionOrigin_SteamFrameController_LeftGrip_Pull, + k_EControllerActionOrigin_SteamFrameController_LeftGrip_Click, + k_EControllerActionOrigin_SteamFrameController_LeftGrip_Touch, + k_EControllerActionOrigin_SteamFrameController_RightGrip_Pull, + k_EControllerActionOrigin_SteamFrameController_RightGrip_Click, + k_EControllerActionOrigin_SteamFrameController_RightGrip_Touch, + k_EControllerActionOrigin_SteamFrameController_LeftThumbrest_Touch, + k_EControllerActionOrigin_SteamFrameController_RightThumbrest_Touch, + k_EControllerActionOrigin_SteamFrameController_Reserved1, // lower grip touch 1 and 2? + k_EControllerActionOrigin_SteamFrameController_Reserved2, + k_EControllerActionOrigin_SteamFrameController_Reserved3, + k_EControllerActionOrigin_SteamFrameController_Reserved4, + k_EControllerActionOrigin_SteamFrameController_Reserved5, + k_EControllerActionOrigin_SteamFrameController_Reserved6, + k_EControllerActionOrigin_SteamFrameController_Reserved7, + k_EControllerActionOrigin_SteamFrameController_Reserved8, + k_EControllerActionOrigin_SteamFrameController_Reserved9, + k_EControllerActionOrigin_SteamFrameController_Reserved10, + k_EControllerActionOrigin_SteamFrameController_Reserved11, + k_EControllerActionOrigin_SteamFrameController_Reserved12, + k_EControllerActionOrigin_SteamFrameController_Reserved13, + k_EControllerActionOrigin_SteamFrameController_Reserved14, + k_EControllerActionOrigin_SteamFrameController_Reserved15, + k_EControllerActionOrigin_SteamFrameController_Reserved16, + k_EControllerActionOrigin_SteamFrameController_Reserved17, + k_EControllerActionOrigin_SteamFrameController_Reserved18, + k_EControllerActionOrigin_SteamFrameController_Reserved19, + k_EControllerActionOrigin_SteamFrameController_Reserved20, + k_EControllerActionOrigin_Count, // If Steam has added support for new controllers origins will go here. k_EControllerActionOrigin_MaximumPossibleValue = 32767, // Origins are currently a maximum of 16 bits. }; diff --git a/extern/steamworks_sdk_164/sdk/public/steam/isteamdualsense.h b/extern/steamworks_sdk_165/sdk/public/steam/isteamdualsense.h similarity index 100% rename from extern/steamworks_sdk_164/sdk/public/steam/isteamdualsense.h rename to extern/steamworks_sdk_165/sdk/public/steam/isteamdualsense.h diff --git a/extern/steamworks_sdk_164/sdk/public/steam/isteamfriends.h b/extern/steamworks_sdk_165/sdk/public/steam/isteamfriends.h similarity index 99% rename from extern/steamworks_sdk_164/sdk/public/steam/isteamfriends.h rename to extern/steamworks_sdk_165/sdk/public/steam/isteamfriends.h index 064d3fd..73f5b0e 100644 --- a/extern/steamworks_sdk_164/sdk/public/steam/isteamfriends.h +++ b/extern/steamworks_sdk_165/sdk/public/steam/isteamfriends.h @@ -311,7 +311,7 @@ public: // requests information about a user - persona name & avatar // if bRequireNameOnly is set, then the avatar of a user isn't downloaded // - it's a lot slower to download avatars and churns the local cache, so if you don't need avatars, don't request them - // if returns true, it means that data is being requested, and a PersonaStateChanged_t callback will be posted when it's retrieved + // if returns true, it means that data is being requested, and a PersonaStateChange_t callback will be posted when it's retrieved // if returns false, it means that we already have all the details about that user, and functions can be called immediately virtual bool RequestUserInformation( CSteamID steamIDUser, bool bRequireNameOnly ) = 0; diff --git a/extern/steamworks_sdk_164/sdk/public/steam/isteamgamecoordinator.h b/extern/steamworks_sdk_165/sdk/public/steam/isteamgamecoordinator.h similarity index 100% rename from extern/steamworks_sdk_164/sdk/public/steam/isteamgamecoordinator.h rename to extern/steamworks_sdk_165/sdk/public/steam/isteamgamecoordinator.h diff --git a/extern/steamworks_sdk_164/sdk/public/steam/isteamgameserver.h b/extern/steamworks_sdk_165/sdk/public/steam/isteamgameserver.h similarity index 100% rename from extern/steamworks_sdk_164/sdk/public/steam/isteamgameserver.h rename to extern/steamworks_sdk_165/sdk/public/steam/isteamgameserver.h diff --git a/extern/steamworks_sdk_164/sdk/public/steam/isteamgameserverstats.h b/extern/steamworks_sdk_165/sdk/public/steam/isteamgameserverstats.h similarity index 100% rename from extern/steamworks_sdk_164/sdk/public/steam/isteamgameserverstats.h rename to extern/steamworks_sdk_165/sdk/public/steam/isteamgameserverstats.h diff --git a/extern/steamworks_sdk_164/sdk/public/steam/isteamhtmlsurface.h b/extern/steamworks_sdk_165/sdk/public/steam/isteamhtmlsurface.h similarity index 100% rename from extern/steamworks_sdk_164/sdk/public/steam/isteamhtmlsurface.h rename to extern/steamworks_sdk_165/sdk/public/steam/isteamhtmlsurface.h diff --git a/extern/steamworks_sdk_164/sdk/public/steam/isteamhttp.h b/extern/steamworks_sdk_165/sdk/public/steam/isteamhttp.h similarity index 100% rename from extern/steamworks_sdk_164/sdk/public/steam/isteamhttp.h rename to extern/steamworks_sdk_165/sdk/public/steam/isteamhttp.h diff --git a/extern/steamworks_sdk_164/sdk/public/steam/isteaminput.h b/extern/steamworks_sdk_165/sdk/public/steam/isteaminput.h similarity index 82% rename from extern/steamworks_sdk_164/sdk/public/steam/isteaminput.h rename to extern/steamworks_sdk_165/sdk/public/steam/isteaminput.h index bafc144..6abc4a8 100644 --- a/extern/steamworks_sdk_164/sdk/public/steam/isteaminput.h +++ b/extern/steamworks_sdk_165/sdk/public/steam/isteaminput.h @@ -574,6 +574,210 @@ enum EInputActionOrigin k_EInputActionOrigin_Generic_MISC7, k_EInputActionOrigin_Generic_MISC8, + // Added in SDK 1.65 + k_EInputActionOrigin_Switch2_A, + k_EInputActionOrigin_Switch2_B, + k_EInputActionOrigin_Switch2_X, + k_EInputActionOrigin_Switch2_Y, + k_EInputActionOrigin_Switch2_LeftBumper, + k_EInputActionOrigin_Switch2_RightBumper, + k_EInputActionOrigin_Switch2_Plus, //Start + k_EInputActionOrigin_Switch2_Minus, //Back + k_EInputActionOrigin_Switch2_Capture, + k_EInputActionOrigin_Switch2_LeftTrigger_Pull, + k_EInputActionOrigin_Switch2_LeftTrigger_Click, + k_EInputActionOrigin_Switch2_RightTrigger_Pull, + k_EInputActionOrigin_Switch2_RightTrigger_Click, + k_EInputActionOrigin_Switch2_LeftStick_Move, + k_EInputActionOrigin_Switch2_LeftStick_Click, + k_EInputActionOrigin_Switch2_LeftStick_DPadNorth, + k_EInputActionOrigin_Switch2_LeftStick_DPadSouth, + k_EInputActionOrigin_Switch2_LeftStick_DPadWest, + k_EInputActionOrigin_Switch2_LeftStick_DPadEast, + k_EInputActionOrigin_Switch2_RightStick_Move, + k_EInputActionOrigin_Switch2_RightStick_Click, + k_EInputActionOrigin_Switch2_RightStick_DPadNorth, + k_EInputActionOrigin_Switch2_RightStick_DPadSouth, + k_EInputActionOrigin_Switch2_RightStick_DPadWest, + k_EInputActionOrigin_Switch2_RightStick_DPadEast, + k_EInputActionOrigin_Switch2_DPad_Move, + k_EInputActionOrigin_Switch2_DPad_North, + k_EInputActionOrigin_Switch2_DPad_South, + k_EInputActionOrigin_Switch2_DPad_West, + k_EInputActionOrigin_Switch2_DPad_East, + k_EInputActionOrigin_Switch2_ProGyro_Move, + k_EInputActionOrigin_Switch2_ProGyro_Pitch, + k_EInputActionOrigin_Switch2_ProGyro_Yaw, + k_EInputActionOrigin_Switch2_ProGyro_Roll, + k_EInputActionOrigin_Switch2_GL, + k_EInputActionOrigin_Switch2_GR, + k_EInputActionOrigin_Switch2_C, + k_EInputActionOrigin_Switch2_Reserved1, + k_EInputActionOrigin_Switch2_Reserved2, + k_EInputActionOrigin_Switch2_Reserved3, + k_EInputActionOrigin_Switch2_Reserved4, + k_EInputActionOrigin_Switch2_Reserved5, + k_EInputActionOrigin_Switch2_Reserved6, + k_EInputActionOrigin_Switch2_Reserved7, + k_EInputActionOrigin_Switch2_Reserved8, + k_EInputActionOrigin_Switch2_Reserved9, + k_EInputActionOrigin_Switch2_Reserved10, + + k_EInputActionOrigin_SteamController2026_A, + k_EInputActionOrigin_SteamController2026_B, + k_EInputActionOrigin_SteamController2026_X, + k_EInputActionOrigin_SteamController2026_Y, + k_EInputActionOrigin_SteamController2026_L1, + k_EInputActionOrigin_SteamController2026_R1, + k_EInputActionOrigin_SteamController2026_Menu, + k_EInputActionOrigin_SteamController2026_View, + k_EInputActionOrigin_SteamController2026_LeftPad_Touch, + k_EInputActionOrigin_SteamController2026_LeftPad_Swipe, + k_EInputActionOrigin_SteamController2026_LeftPad_Click, + k_EInputActionOrigin_SteamController2026_LeftPad_DPadNorth, + k_EInputActionOrigin_SteamController2026_LeftPad_DPadSouth, + k_EInputActionOrigin_SteamController2026_LeftPad_DPadWest, + k_EInputActionOrigin_SteamController2026_LeftPad_DPadEast, + k_EInputActionOrigin_SteamController2026_RightPad_Touch, + k_EInputActionOrigin_SteamController2026_RightPad_Swipe, + k_EInputActionOrigin_SteamController2026_RightPad_Click, + k_EInputActionOrigin_SteamController2026_RightPad_DPadNorth, + k_EInputActionOrigin_SteamController2026_RightPad_DPadSouth, + k_EInputActionOrigin_SteamController2026_RightPad_DPadWest, + k_EInputActionOrigin_SteamController2026_RightPad_DPadEast, + k_EInputActionOrigin_SteamController2026_L2_SoftPull, + k_EInputActionOrigin_SteamController2026_L2, + k_EInputActionOrigin_SteamController2026_R2_SoftPull, + k_EInputActionOrigin_SteamController2026_R2, + k_EInputActionOrigin_SteamController2026_LeftStick_Move, + k_EInputActionOrigin_SteamController2026_L3, + k_EInputActionOrigin_SteamController2026_LeftStick_DPadNorth, + k_EInputActionOrigin_SteamController2026_LeftStick_DPadSouth, + k_EInputActionOrigin_SteamController2026_LeftStick_DPadWest, + k_EInputActionOrigin_SteamController2026_LeftStick_DPadEast, + k_EInputActionOrigin_SteamController2026_LeftStick_Touch, + k_EInputActionOrigin_SteamController2026_RightStick_Move, + k_EInputActionOrigin_SteamController2026_R3, + k_EInputActionOrigin_SteamController2026_RightStick_DPadNorth, + k_EInputActionOrigin_SteamController2026_RightStick_DPadSouth, + k_EInputActionOrigin_SteamController2026_RightStick_DPadWest, + k_EInputActionOrigin_SteamController2026_RightStick_DPadEast, + k_EInputActionOrigin_SteamController2026_RightStick_Touch, + k_EInputActionOrigin_SteamController2026_L4, + k_EInputActionOrigin_SteamController2026_R4, + k_EInputActionOrigin_SteamController2026_L5, + k_EInputActionOrigin_SteamController2026_R5, + k_EInputActionOrigin_SteamController2026_DPad_Move, + k_EInputActionOrigin_SteamController2026_DPad_North, + k_EInputActionOrigin_SteamController2026_DPad_South, + k_EInputActionOrigin_SteamController2026_DPad_West, + k_EInputActionOrigin_SteamController2026_DPad_East, + k_EInputActionOrigin_SteamController2026_Gyro_Move, + k_EInputActionOrigin_SteamController2026_Gyro_Pitch, + k_EInputActionOrigin_SteamController2026_Gyro_Yaw, + k_EInputActionOrigin_SteamController2026_Gyro_Roll, + k_EInputActionOrigin_SteamController2026_LGrip, + k_EInputActionOrigin_SteamController2026_RGrip, + k_EInputActionOrigin_SteamController2026_Reserved1, + k_EInputActionOrigin_SteamController2026_Reserved2, + k_EInputActionOrigin_SteamController2026_Reserved3, + k_EInputActionOrigin_SteamController2026_Reserved4, + k_EInputActionOrigin_SteamController2026_Reserved5, + k_EInputActionOrigin_SteamController2026_Reserved6, + k_EInputActionOrigin_SteamController2026_Reserved7, + k_EInputActionOrigin_SteamController2026_Reserved8, + k_EInputActionOrigin_SteamController2026_Reserved9, + k_EInputActionOrigin_SteamController2026_Reserved10, + k_EInputActionOrigin_SteamController2026_Reserved11, + k_EInputActionOrigin_SteamController2026_Reserved12, + k_EInputActionOrigin_SteamController2026_Reserved13, + k_EInputActionOrigin_SteamController2026_Reserved14, + k_EInputActionOrigin_SteamController2026_Reserved15, + k_EInputActionOrigin_SteamController2026_Reserved16, + k_EInputActionOrigin_SteamController2026_Reserved17, + k_EInputActionOrigin_SteamController2026_Reserved18, + k_EInputActionOrigin_SteamController2026_Reserved19, + k_EInputActionOrigin_SteamController2026_Reserved20, + + k_EInputActionOrigin_SteamFrameController_A_Click, + k_EInputActionOrigin_SteamFrameController_A_Touch, + k_EInputActionOrigin_SteamFrameController_B_Click, + k_EInputActionOrigin_SteamFrameController_B_Touch, + k_EInputActionOrigin_SteamFrameController_X_Click, + k_EInputActionOrigin_SteamFrameController_X_Touch, + k_EInputActionOrigin_SteamFrameController_Y_Click, + k_EInputActionOrigin_SteamFrameController_Y_Touch, + k_EInputActionOrigin_SteamFrameController_LeftTrigger_Pull, + k_EInputActionOrigin_SteamFrameController_LeftTrigger_Click, + k_EInputActionOrigin_SteamFrameController_LeftTrigger_Touch, + k_EInputActionOrigin_SteamFrameController_RightTrigger_Pull, + k_EInputActionOrigin_SteamFrameController_RightTrigger_Click, + k_EInputActionOrigin_SteamFrameController_RightTrigger_Touch, + k_EInputActionOrigin_SteamFrameController_Menu_Click, + k_EInputActionOrigin_SteamFrameController_Menu_Touch, + k_EInputActionOrigin_SteamFrameController_View_Click, + k_EInputActionOrigin_SteamFrameController_View_Touch, + k_EInputActionOrigin_SteamFrameController_LeftBumper_Click, + k_EInputActionOrigin_SteamFrameController_LeftBumper_Touch, + k_EInputActionOrigin_SteamFrameController_RightBumper_Click, + k_EInputActionOrigin_SteamFrameController_RightBumper_Touch, + k_EInputActionOrigin_SteamFrameController_LeftStick_Move, + k_EInputActionOrigin_SteamFrameController_LeftStick_Click, + k_EInputActionOrigin_SteamFrameController_LeftStick_DPadNorth, + k_EInputActionOrigin_SteamFrameController_LeftStick_DPadSouth, + k_EInputActionOrigin_SteamFrameController_LeftStick_DPadWest, + k_EInputActionOrigin_SteamFrameController_LeftStick_DPadEast, + k_EInputActionOrigin_SteamFrameController_LeftStick_Touch, + k_EInputActionOrigin_SteamFrameController_RightStick_Move, + k_EInputActionOrigin_SteamFrameController_RightStick_Click, + k_EInputActionOrigin_SteamFrameController_RightStick_DPadNorth, + k_EInputActionOrigin_SteamFrameController_RightStick_DPadSouth, + k_EInputActionOrigin_SteamFrameController_RightStick_DPadWest, + k_EInputActionOrigin_SteamFrameController_RightStick_DPadEast, + k_EInputActionOrigin_SteamFrameController_RightStick_Touch, + k_EInputActionOrigin_SteamFrameController_DPad_Move, + k_EInputActionOrigin_SteamFrameController_DPad_North, + k_EInputActionOrigin_SteamFrameController_DPad_South, + k_EInputActionOrigin_SteamFrameController_DPad_West, + k_EInputActionOrigin_SteamFrameController_DPad_East, + k_EInputActionOrigin_SteamFrameController_DPad_Touch, + k_EInputActionOrigin_SteamFrameController_LeftGyro_Move, + k_EInputActionOrigin_SteamFrameController_LeftGyro_Pitch, + k_EInputActionOrigin_SteamFrameController_LeftGyro_Yaw, + k_EInputActionOrigin_SteamFrameController_LeftGyro_Roll, + k_EInputActionOrigin_SteamFrameController_RightGyro_Move, + k_EInputActionOrigin_SteamFrameController_RightGyro_Pitch, + k_EInputActionOrigin_SteamFrameController_RightGyro_Yaw, + k_EInputActionOrigin_SteamFrameController_RightGyro_Roll, + k_EInputActionOrigin_SteamFrameController_LeftGrip_Pull, + k_EInputActionOrigin_SteamFrameController_LeftGrip_Click, + k_EInputActionOrigin_SteamFrameController_LeftGrip_Touch, + k_EInputActionOrigin_SteamFrameController_RightGrip_Pull, + k_EInputActionOrigin_SteamFrameController_RightGrip_Click, + k_EInputActionOrigin_SteamFrameController_RightGrip_Touch, + k_EInputActionOrigin_SteamFrameController_LeftThumbrest_Touch, + k_EInputActionOrigin_SteamFrameController_RightThumbrest_Touch, + k_EInputActionOrigin_SteamFrameController_Reserved1, + k_EInputActionOrigin_SteamFrameController_Reserved2, + k_EInputActionOrigin_SteamFrameController_Reserved3, + k_EInputActionOrigin_SteamFrameController_Reserved4, + k_EInputActionOrigin_SteamFrameController_Reserved5, + k_EInputActionOrigin_SteamFrameController_Reserved6, + k_EInputActionOrigin_SteamFrameController_Reserved7, + k_EInputActionOrigin_SteamFrameController_Reserved8, + k_EInputActionOrigin_SteamFrameController_Reserved9, + k_EInputActionOrigin_SteamFrameController_Reserved10, + k_EInputActionOrigin_SteamFrameController_Reserved11, + k_EInputActionOrigin_SteamFrameController_Reserved12, + k_EInputActionOrigin_SteamFrameController_Reserved13, + k_EInputActionOrigin_SteamFrameController_Reserved14, + k_EInputActionOrigin_SteamFrameController_Reserved15, + k_EInputActionOrigin_SteamFrameController_Reserved16, + k_EInputActionOrigin_SteamFrameController_Reserved17, + k_EInputActionOrigin_SteamFrameController_Reserved18, + k_EInputActionOrigin_SteamFrameController_Reserved19, + k_EInputActionOrigin_SteamFrameController_Reserved20, + k_EInputActionOrigin_Count, // If Steam has added support for new controllers origins will go here. k_EInputActionOrigin_MaximumPossibleValue = 32767, // Origins are currently a maximum of 16 bits. }; @@ -614,9 +818,14 @@ enum EXboxOrigin enum ESteamControllerPad { k_ESteamControllerPad_Left, - k_ESteamControllerPad_Right + k_ESteamControllerPad_Right, + k_ESteamControllerPad_Both, + k_ESteamControllerGrip_Left, + k_ESteamControllerGrip_Right, + k_ESteamControllerGrip_Both, }; +// Only used in the Legacy haptic call family (Steam Input api). For modern haptic locations we are using ESteamControllerPad. enum EControllerHapticLocation { k_EControllerHapticLocation_Left = ( 1 << k_ESteamControllerPad_Left ), @@ -648,6 +857,10 @@ enum ESteamInputType k_ESteamInputType_PS3Controller, // Currently uses PS4 Origins k_ESteamInputType_PS5Controller, // Added in SDK 151 k_ESteamInputType_SteamDeckController, // Added in SDK 153 + k_ESteamInputType_SteamOSHandheld, // Added in SDK 165 + k_ESteamInputType_Switch2ProController, // Added in SDK 165 + k_ESteamInputType_SteamController2026, // Added in SDK 165 + k_ESteamInputType_SteamFrameControllerPair, k_ESteamInputType_Count, k_ESteamInputType_MaximumPossibleValue = 255, }; @@ -1020,7 +1233,7 @@ public: virtual void SetDualSenseTriggerEffect( InputHandle_t inputHandle, const ScePadTriggerEffectParam *pParam ) = 0; }; -#define STEAMINPUT_INTERFACE_VERSION "SteamInput006" +#define STEAMINPUT_INTERFACE_VERSION "SteamInput007" // Global interface accessor inline ISteamInput *SteamInput(); diff --git a/extern/steamworks_sdk_164/sdk/public/steam/isteaminventory.h b/extern/steamworks_sdk_165/sdk/public/steam/isteaminventory.h similarity index 100% rename from extern/steamworks_sdk_164/sdk/public/steam/isteaminventory.h rename to extern/steamworks_sdk_165/sdk/public/steam/isteaminventory.h diff --git a/extern/steamworks_sdk_164/sdk/public/steam/isteammatchmaking.h b/extern/steamworks_sdk_165/sdk/public/steam/isteammatchmaking.h similarity index 95% rename from extern/steamworks_sdk_164/sdk/public/steam/isteammatchmaking.h rename to extern/steamworks_sdk_165/sdk/public/steam/isteammatchmaking.h index ea599f4..6305066 100644 --- a/extern/steamworks_sdk_164/sdk/public/steam/isteammatchmaking.h +++ b/extern/steamworks_sdk_165/sdk/public/steam/isteammatchmaking.h @@ -371,6 +371,33 @@ public: }; +//----------------------------------------------------------------------------- +// Purpose: Callback interface for receiving responses after requesting details on +// friends who have played on this server. +// +// These callbacks all occur in response to querying an individual server +// via the ISteamMatchmakingServers()->ServerFriends() call below. If you are +// destructing an object that implements this interface then you should call +// ISteamMatchmakingServers()->CancelServerQuery() passing in the handle to the query +// which is in progress. Failure to cancel in progress queries when destructing +// a callback handler may result in a crash when a callback later occurs. +//----------------------------------------------------------------------------- +class ISteamMatchmakingServerFriendsResponse +{ +public: + // Got data on a friend who has played on the server -- you'll get this callback once per player + // on the server which you have requested player data on. + virtual void AddFriendToList( CSteamID steamID, const char *pchName, bool bCurrentlyConnected ) = 0; + + // The server failed to respond to the request for player details + virtual void FriendsFailedToRespond() = 0; + + // The server has finished responding to the player details request + // (ie, you won't get anymore AddPlayerToList callbacks) + virtual void FriendsRefreshComplete() = 0; +}; + + //----------------------------------------------------------------------------- // Typedef for handle type you will receive when querying details on an individual server. //----------------------------------------------------------------------------- @@ -465,6 +492,10 @@ public: - Server passes the filter if it doesn't have any players. "linux" - Server passes the filter if it's a linux server + "popularamongfriends" + - Server passes the filter it is popular among friends whose profiles are not private, the game is not private and friends state is not offline/invisible during play + - server must not also have set the tag "nofriendshare" + - and the game must not be opted out of saving/showing coplay data */ // Get details on a given server in the list, you can get the valid range of index @@ -510,12 +541,15 @@ public: // Request the list of rules that the server is running (See ISteamGameServer::SetKeyValue() to set the rules server side) virtual HServerQuery ServerRules( uint32 unIP, uint16 usPort, ISteamMatchmakingRulesResponse *pRequestServersResponse ) = 0; + // Request the list of friends that have played on this server + virtual HServerQuery ServerFriends( uint32 unIP, uint16 usPort, ISteamMatchmakingServerFriendsResponse *pRequestServersResponse ) = 0; + // Cancel an outstanding Ping/Players/Rules query from above. You should call this to cancel // any in-progress requests before destructing a callback object that may have been passed // to one of the above calls to avoid crashing when callbacks occur. virtual void CancelServerQuery( HServerQuery hServerQuery ) = 0; }; -#define STEAMMATCHMAKINGSERVERS_INTERFACE_VERSION "SteamMatchMakingServers002" +#define STEAMMATCHMAKINGSERVERS_INTERFACE_VERSION "SteamMatchMakingServers003" // Global interface accessor inline ISteamMatchmakingServers *SteamMatchmakingServers(); diff --git a/extern/steamworks_sdk_164/sdk/public/steam/isteammusic.h b/extern/steamworks_sdk_165/sdk/public/steam/isteammusic.h similarity index 100% rename from extern/steamworks_sdk_164/sdk/public/steam/isteammusic.h rename to extern/steamworks_sdk_165/sdk/public/steam/isteammusic.h diff --git a/extern/steamworks_sdk_164/sdk/public/steam/isteamnetworking.h b/extern/steamworks_sdk_165/sdk/public/steam/isteamnetworking.h similarity index 100% rename from extern/steamworks_sdk_164/sdk/public/steam/isteamnetworking.h rename to extern/steamworks_sdk_165/sdk/public/steam/isteamnetworking.h diff --git a/extern/steamworks_sdk_164/sdk/public/steam/isteamnetworkingmessages.h b/extern/steamworks_sdk_165/sdk/public/steam/isteamnetworkingmessages.h similarity index 100% rename from extern/steamworks_sdk_164/sdk/public/steam/isteamnetworkingmessages.h rename to extern/steamworks_sdk_165/sdk/public/steam/isteamnetworkingmessages.h diff --git a/extern/steamworks_sdk_164/sdk/public/steam/isteamnetworkingsockets.h b/extern/steamworks_sdk_165/sdk/public/steam/isteamnetworkingsockets.h similarity index 94% rename from extern/steamworks_sdk_164/sdk/public/steam/isteamnetworkingsockets.h rename to extern/steamworks_sdk_165/sdk/public/steam/isteamnetworkingsockets.h index 427727a..685d14d 100644 --- a/extern/steamworks_sdk_164/sdk/public/steam/isteamnetworkingsockets.h +++ b/extern/steamworks_sdk_165/sdk/public/steam/isteamnetworkingsockets.h @@ -43,7 +43,7 @@ class ISteamNetworkingSockets { public: - /// Creates a "server" socket that listens for clients to connect to by + /// Creates a "server" socket that listens for clients to connect to by /// calling ConnectByIPAddress, over ordinary UDP (IPv4 or IPv6) /// /// You must select a specific local port to listen on and set it @@ -240,18 +240,18 @@ public: /// the chunks of data written will not necessarily match up to /// the sizes of the chunks that are returned by the reads on /// the other end. The remote host might read a partial chunk, - /// or chunks might be coalesced. For the message semantics - /// used here, however, the sizes WILL match. Each send call - /// will match a successful read call on the remote host - /// one-for-one. If you are porting existing stream-oriented - /// code to the semantics of reliable messages, your code should - /// work the same, since reliable message semantics are more - /// strict than stream semantics. The only caveat is related to - /// performance: there is per-message overhead to retain the - /// message sizes, and so if your code sends many small chunks - /// of data, performance will suffer. Any code based on stream - /// sockets that does not write excessively small chunks will - /// work without any changes. + /// or chunks might be coalesced. For the message semantics + /// used here, however, the sizes WILL match. Each send call + /// will match a successful read call on the remote host + /// one-for-one. If you are porting existing stream-oriented + /// code to the semantics of reliable messages, your code should + /// work the same, since reliable message semantics are more + /// strict than stream semantics. The only caveat is related to + /// performance: there is per-message overhead to retain the + /// message sizes, and so if your code sends many small chunks + /// of data, performance will suffer. Any code based on stream + /// sockets that does not write excessively small chunks will + /// work without any changes. /// /// The pOutMessageNumber is an optional pointer to receive the /// message number assigned to the message, if sending was successful. @@ -285,13 +285,12 @@ public: /// You MUST also fill in: /// - m_conn - the handle of the connection to send the message to /// - m_nFlags - bitmask of k_nSteamNetworkingSend_xxx flags. + /// - m_idxLane - the lane to send the message on. AllocateMessage + /// will set this to zero, so you can ignore this if you are not using + /// multiple lanes. /// /// All other fields are currently reserved and should not be modified. /// - /// The library will take ownership of the message structures. They may - /// be modified or become invalid at any time, so you must not read them - /// after passing them to this function. - /// /// pOutMessageNumberOrResult is an optional array that will receive, /// for each message, the message number that was assigned to the message /// if sending was successful. If sending failed, then a negative EResult @@ -299,12 +298,33 @@ public: /// -k_EResultInvalidState if the connection was in an invalid state. /// See ISteamNetworkingSockets::SendMessageToConnection for possible /// failure codes. - virtual void SendMessages( int nMessages, SteamNetworkingMessage_t *const *pMessages, int64 *pOutMessageNumberOrResult ) = 0; + /// + /// Once a message fails to send on a connection, any further messages + /// in the array going to the same connection will not be attempted. The + /// pOutMessageNumberOrResult for such message will always be set to 0. + /// (Note that 0 is never used as a message number.) + /// + /// bDeleteFailedMessages determines what happens to messages that + /// fail to send: + /// + /// - false: Your pointer array will be modified, and the pointers + /// to messages that were successfully queued will be replaced with + /// nullptr. The library has taken ownership and you must not access + /// them. They will be released by the library when they are no longer + /// needed. + /// Any messages that were not queued (either failed to send, or were + /// not attempted because an earlier message for the same connection failed) + /// will be left in place. You can release these messages or try to send + /// them later. + /// - true: The caller's pointer array is not modified, and the library assumes + /// ownership of all messages. Messages that fail or are not attempted due + /// to earlier failure on the same connection will be released immediately. + virtual void SendMessages( int nMessages, SteamNetworkingMessage_t **pMessages, int64 *pOutMessageNumberOrResult, bool bDeleteFailedMessages ) = 0; /// Flush any messages waiting on the Nagle timer and send them /// at the next transmission opportunity (often that means right now). /// - /// If Nagle is enabled (it's on by default) then when calling + /// If Nagle is enabled (it's on by default) then when calling /// SendMessageToConnection the message will be buffered, up to the Nagle time /// before being sent, to merge small messages into the same packet. /// (See k_ESteamNetworkingConfig_NagleTime) @@ -331,14 +351,14 @@ public: /// If any messages are returned, you MUST call SteamNetworkingMessage_t::Release() on each /// of them free up resources after you are done. It is safe to keep the object alive for /// a little while (put it into some queue, etc), and you may call Release() from any thread. - virtual int ReceiveMessagesOnConnection( HSteamNetConnection hConn, SteamNetworkingMessage_t **ppOutMessages, int nMaxMessages ) = 0; + virtual int ReceiveMessagesOnConnection( HSteamNetConnection hConn, SteamNetworkingMessage_t **ppOutMessages, int nMaxMessages ) = 0; /// Returns basic information about the high-level state of the connection. virtual bool GetConnectionInfo( HSteamNetConnection hConn, SteamNetConnectionInfo_t *pInfo ) = 0; /// Returns a small set of information about the real-time state of the connection /// and the queue status of each lane. - /// + /// /// - pStatus may be NULL if the information is not desired. (E.g. you are only interested /// in the lane information.) /// - On entry, nLanes specifies the length of the pLanes array. This may be 0 @@ -346,7 +366,7 @@ public: /// the total number of configured lanes. /// - pLanes points to an array that will receive lane-specific info. It can be NULL /// if this is not needed. - /// + /// /// Return value: /// - k_EResultNoConnection - connection handle is invalid or connection has been closed. /// - k_EResultInvalidParam - nLanes is bad @@ -389,7 +409,12 @@ public: /// identity. Otherwise, if you pass nullptr, the respective connection will assume a generic /// "localhost" identity. If you use real network loopback, this might be translated to the /// actual bound loopback port. Otherwise, the port will be zero. - virtual bool CreateSocketPair( HSteamNetConnection *pOutConnection1, HSteamNetConnection *pOutConnection2, bool bUseNetworkLoopback, const SteamNetworkingIdentity *pIdentity1, const SteamNetworkingIdentity *pIdentity2 ) = 0; + /// + /// NOTE: For historical reasons, each identity refers to the *remote* identity that the + /// corresponding connection will observe in connection state callbacks and GetConnectionInfo: + /// - pPeerIdentity1: remote identity observed by connection 1, local identity of connection 2 + /// - pPeerIdentity2: remote identity observed by connection 2, local identity of connection 1 + virtual bool CreateSocketPair( HSteamNetConnection *pOutConnection1, HSteamNetConnection *pOutConnection2, bool bUseNetworkLoopback, const SteamNetworkingIdentity *pPeerIdentity1, const SteamNetworkingIdentity *pPeerIdentity2 ) = 0; /// Configure multiple outbound messages streams ("lanes") on a connection, and /// control head-of-line blocking between them. Messages within a given lane @@ -400,7 +425,7 @@ public: /// Each lane has a "priority". Lanes with higher numeric values will only be processed /// when all lanes with lower number values are empty. The magnitudes of the priority /// values are not relevant, only their sort order. - /// + /// /// Each lane also is assigned a weight, which controls the approximate proportion /// of the bandwidth that will be consumed by the lane, relative to other lanes /// of the same priority. (This is assuming the lane stays busy. An idle lane @@ -409,7 +434,7 @@ public: /// the same priority. For lanes with different priorities, the strict priority /// order will prevail, and their weights relative to each other are not relevant. /// Thus, if a lane has a unique priority value, the weight value for that lane is - /// not relevant. + /// not relevant. /// /// Example: 3 lanes, with priorities [ 0, 10, 10 ] and weights [ (NA), 20, 5 ]. /// Messages sent on the first will always be sent first, before messages in the @@ -441,7 +466,7 @@ public: /// exchanging a few messages. /// - To assign all lanes the same priority, you may use pLanePriorities=NULL. /// - If you wish all lanes with the same priority to share bandwidth equally (or - /// if no two lanes have the same priority value, and thus priority values are + /// if no two lanes have the same priority value, and thus weight values are /// irrelevant), you may use pLaneWeights=NULL /// - Priorities and weights determine the order that messages are SENT on the wire. /// There are NO GUARANTEES on the order that messages are RECEIVED! Due to packet @@ -450,12 +475,12 @@ public: /// *reliable* messages on the *same lane* will be delivered in the order they are sent. /// - Each host configures the lanes for the packets they send; the lanes for the flow /// in one direction are completely unrelated to the lanes in the opposite direction. - /// + /// /// Return value: /// - k_EResultNoConnection - bad hConn /// - k_EResultInvalidParam - Invalid number of lanes, bad weights, or you tried to reduce the number of lanes /// - k_EResultInvalidState - Connection is already dead, etc - /// + /// /// See also: /// SteamNetworkingMessage_t::m_idxLane virtual EResult ConfigureConnectionLanes( HSteamNetConnection hConn, int nNumLanes, const int *pLanePriorities, const uint16 *pLaneWeights ) = 0; @@ -554,7 +579,7 @@ public: /// (But the messages are not grouped by connection, so they will not necessarily /// appear consecutively in the list; they may be interleaved with messages for /// other connections.) - virtual int ReceiveMessagesOnPollGroup( HSteamNetPollGroup hPollGroup, SteamNetworkingMessage_t **ppOutMessages, int nMaxMessages ) = 0; + virtual int ReceiveMessagesOnPollGroup( HSteamNetPollGroup hPollGroup, SteamNetworkingMessage_t **ppOutMessages, int nMaxMessages ) = 0; // // Clients connecting to dedicated servers hosted in a data center, @@ -645,7 +670,7 @@ public: /// configured, this call will fail. /// /// This call MUST be made through the SteamGameServerNetworkingSockets() interface. - /// + /// /// This function should be used when you are using the ticket generator library /// to issue your own tickets. Clients connecting to the server on this virtual /// port will need a ticket, and they must connect using ConnectToHostedDedicatedServer. @@ -720,7 +745,7 @@ public: /// If you know the identity of the peer that you expect to be on the other end, /// you can pass their identity to improve debug output or just detect bugs. /// If you don't know their identity yet, you can pass NULL, and their - /// identity will be established in the connection handshake. + /// identity will be established in the connection handshake. /// /// If you use this, you probably want to call ISteamNetworkingUtils::InitRelayNetworkAccess() /// when your app initializes @@ -856,7 +881,7 @@ public: /// we know the real identity. Then it will be the real identity. If the /// SteamNetConnectionInfo_t::m_addrRemote is valid, it will be a real IPv4 /// address of a NAT-punched connection. Otherwise, it will not be valid. - /// + /// /// To communicate using an ad-hoc sendto/recv from (UDP-style) API, /// use CreateFakeUDPPort. virtual bool BeginAsyncRequestFakeIP( int nNumPorts ) = 0; @@ -883,7 +908,7 @@ public: /// function will return that global IP. Otherwise, a FakeIP that is /// unique locally will be allocated from the local FakeIP address space, /// and that will be returned. - /// + /// /// The allocation of local FakeIPs attempts to assign addresses in /// a consistent manner. If multiple connections are made to the /// same remote host, they *probably* will return the same FakeIP. @@ -897,7 +922,7 @@ public: /// Get an interface that can be used like a UDP port to send/receive /// datagrams to a FakeIP address. This is intended to make it easy /// to port existing UDP-based code to take advantage of SDR. - /// + /// /// idxFakeServerPort refers to the *index* of the port allocated using /// BeginAsyncRequestFakeIP and is used to create "server" ports. You may /// call this before the allocation has completed. However, any attempts @@ -906,7 +931,7 @@ public: /// of the packet will be the globally-unique FakeIP. If you call this /// function multiple times and pass the same (nonnegative) fake port index, /// the same object will be returned, and this object is not reference counted. - /// + /// /// To create a "client" port (e.g. the equivalent of an ephemeral UDP port) /// pass -1. In this case, a distinct object will be returned for each call. /// When the peer receives packets sent from this interface, the peer will @@ -916,23 +941,23 @@ public: protected: ~ISteamNetworkingSockets(); // Silence some warnings }; -#define STEAMNETWORKINGSOCKETS_INTERFACE_VERSION "SteamNetworkingSockets012" +#define STEAMNETWORKINGSOCKETS_INTERFACE_VERSION "SteamNetworkingSockets013" // Global accessors // Using standalone lib #ifdef STEAMNETWORKINGSOCKETS_STANDALONELIB - static_assert( STEAMNETWORKINGSOCKETS_INTERFACE_VERSION[24] == '2', "Version mismatch" ); - STEAMNETWORKINGSOCKETS_INTERFACE ISteamNetworkingSockets *SteamNetworkingSockets_LibV12(); - inline ISteamNetworkingSockets *SteamNetworkingSockets_Lib() { return SteamNetworkingSockets_LibV12(); } + static_assert( STEAMNETWORKINGSOCKETS_INTERFACE_VERSION[24] == '3', "Version mismatch" ); + STEAMNETWORKINGSOCKETS_INTERFACE ISteamNetworkingSockets *SteamNetworkingSockets_LibV13(); + inline ISteamNetworkingSockets *SteamNetworkingSockets_Lib() { return SteamNetworkingSockets_LibV13(); } - STEAMNETWORKINGSOCKETS_INTERFACE ISteamNetworkingSockets *SteamGameServerNetworkingSockets_LibV12(); - inline ISteamNetworkingSockets *SteamGameServerNetworkingSockets_Lib() { return SteamGameServerNetworkingSockets_LibV12(); } + STEAMNETWORKINGSOCKETS_INTERFACE ISteamNetworkingSockets *SteamGameServerNetworkingSockets_LibV13(); + inline ISteamNetworkingSockets *SteamGameServerNetworkingSockets_Lib() { return SteamGameServerNetworkingSockets_LibV13(); } #ifndef STEAMNETWORKINGSOCKETS_STEAMAPI - inline ISteamNetworkingSockets *SteamNetworkingSockets() { return SteamNetworkingSockets_LibV12(); } - inline ISteamNetworkingSockets *SteamGameServerNetworkingSockets() { return SteamGameServerNetworkingSockets_LibV12(); } + inline ISteamNetworkingSockets *SteamNetworkingSockets() { return SteamNetworkingSockets_LibV13(); } + inline ISteamNetworkingSockets *SteamGameServerNetworkingSockets() { return SteamGameServerNetworkingSockets_LibV13(); } #endif #endif @@ -992,7 +1017,7 @@ protected: /// /// Also note that callbacks will be posted when connections are created and destroyed by your own API calls. struct SteamNetConnectionStatusChangedCallback_t -{ +{ enum { k_iCallback = k_iSteamNetworkingSocketsCallbacks + 1 }; /// Connection handle @@ -1014,7 +1039,7 @@ struct SteamNetConnectionStatusChangedCallback_t /// /// This callback is posted whenever the state of our readiness changes. struct SteamNetAuthenticationStatus_t -{ +{ enum { k_iCallback = k_iSteamNetworkingSocketsCallbacks + 2 }; /// Status diff --git a/extern/steamworks_sdk_164/sdk/public/steam/isteamnetworkingutils.h b/extern/steamworks_sdk_165/sdk/public/steam/isteamnetworkingutils.h similarity index 100% rename from extern/steamworks_sdk_164/sdk/public/steam/isteamnetworkingutils.h rename to extern/steamworks_sdk_165/sdk/public/steam/isteamnetworkingutils.h diff --git a/extern/steamworks_sdk_164/sdk/public/steam/isteamparentalsettings.h b/extern/steamworks_sdk_165/sdk/public/steam/isteamparentalsettings.h similarity index 100% rename from extern/steamworks_sdk_164/sdk/public/steam/isteamparentalsettings.h rename to extern/steamworks_sdk_165/sdk/public/steam/isteamparentalsettings.h diff --git a/extern/steamworks_sdk_164/sdk/public/steam/isteamps3overlayrenderer.h b/extern/steamworks_sdk_165/sdk/public/steam/isteamps3overlayrenderer.h similarity index 100% rename from extern/steamworks_sdk_164/sdk/public/steam/isteamps3overlayrenderer.h rename to extern/steamworks_sdk_165/sdk/public/steam/isteamps3overlayrenderer.h diff --git a/extern/steamworks_sdk_164/sdk/public/steam/isteamremoteplay.h b/extern/steamworks_sdk_165/sdk/public/steam/isteamremoteplay.h similarity index 97% rename from extern/steamworks_sdk_164/sdk/public/steam/isteamremoteplay.h rename to extern/steamworks_sdk_165/sdk/public/steam/isteamremoteplay.h index f558c1f..ad4b256 100644 --- a/extern/steamworks_sdk_164/sdk/public/steam/isteamremoteplay.h +++ b/extern/steamworks_sdk_165/sdk/public/steam/isteamremoteplay.h @@ -292,16 +292,16 @@ public: // This returns 0 if the sessionID isn't valid or the session isn't a Remote Play Together guest virtual uint32 GetSessionGuestID( RemotePlaySessionID_t unSessionID ) = 0; - // gets the small (32x32) avatar of the connected user, which is a handle to be used in IClientUtils::GetImageRGBA(), or 0 if the sessionID isn't valid - // returns -1 if this image has yet to be loaded, in this case wait for a RemotePlaySessionAvatarLoaded_t callback and then call this again + // gets the small (32x32) avatar of the connected user, which is a handle to be used in ISteamUtils::GetImageRGBA(), or 0 if the sessionID isn't valid + // returns -1 if this image has yet to be loaded, in this case wait for a SteamRemotePlaySessionAvatarLoaded_t callback and then call this again virtual int GetSmallSessionAvatar( RemotePlaySessionID_t unSessionID ) = 0; - // gets the medium (64x64) avatar of the connected user, which is a handle to be used in IClientUtils::GetImageRGBA(), or 0 if the sessionID isn't valid - // returns -1 if this image has yet to be loaded, in this case wait for a RemotePlaySessionAvatarLoaded_t callback and then call this again + // gets the medium (64x64) avatar of the connected user, which is a handle to be used in ISteamUtils::GetImageRGBA(), or 0 if the sessionID isn't valid + // returns -1 if this image has yet to be loaded, in this case wait for a SteamRemotePlaySessionAvatarLoaded_t callback and then call this again virtual int GetMediumSessionAvatar( RemotePlaySessionID_t unSessionID ) = 0; - // gets the large (184x184) avatar of the connected user, which is a handle to be used in IClientUtils::GetImageRGBA(), or 0 if the sessionID isn't valid - // returns -1 if this image has yet to be loaded, in this case wait for a RemotePlaySessionAvatarLoaded_t callback and then call this again + // gets the large (184x184) avatar of the connected user, which is a handle to be used in ISteamUtils::GetImageRGBA(), or 0 if the sessionID isn't valid + // returns -1 if this image has yet to be loaded, in this case wait for a SteamRemotePlaySessionAvatarLoaded_t callback and then call this again virtual int GetLargeSessionAvatar( RemotePlaySessionID_t unSessionID ) = 0; // Get the name of the session client device diff --git a/extern/steamworks_sdk_164/sdk/public/steam/isteamremotestorage.h b/extern/steamworks_sdk_165/sdk/public/steam/isteamremotestorage.h similarity index 100% rename from extern/steamworks_sdk_164/sdk/public/steam/isteamremotestorage.h rename to extern/steamworks_sdk_165/sdk/public/steam/isteamremotestorage.h diff --git a/extern/steamworks_sdk_164/sdk/public/steam/isteamscreenshots.h b/extern/steamworks_sdk_165/sdk/public/steam/isteamscreenshots.h similarity index 100% rename from extern/steamworks_sdk_164/sdk/public/steam/isteamscreenshots.h rename to extern/steamworks_sdk_165/sdk/public/steam/isteamscreenshots.h diff --git a/extern/steamworks_sdk_164/sdk/public/steam/isteamtimeline.h b/extern/steamworks_sdk_165/sdk/public/steam/isteamtimeline.h similarity index 100% rename from extern/steamworks_sdk_164/sdk/public/steam/isteamtimeline.h rename to extern/steamworks_sdk_165/sdk/public/steam/isteamtimeline.h diff --git a/extern/steamworks_sdk_164/sdk/public/steam/isteamugc.h b/extern/steamworks_sdk_165/sdk/public/steam/isteamugc.h similarity index 99% rename from extern/steamworks_sdk_164/sdk/public/steam/isteamugc.h rename to extern/steamworks_sdk_165/sdk/public/steam/isteamugc.h index 656ed07..5dd23b9 100644 --- a/extern/steamworks_sdk_164/sdk/public/steam/isteamugc.h +++ b/extern/steamworks_sdk_165/sdk/public/steam/isteamugc.h @@ -100,6 +100,8 @@ enum EUGCQuery k_EUGCQuery_RankedByPlaytimeSessionsTrend = 17, k_EUGCQuery_RankedByLifetimePlaytimeSessions = 18, k_EUGCQuery_RankedByLastUpdatedDate = 19, + k_EUGCQuery_RankedByNumParentItems = 20, + k_EUGCQuery_RankedByNumParentCollections = 21, }; enum EItemUpdateStatus @@ -169,7 +171,7 @@ enum EUGCContentDescriptorID }; const uint32 kNumUGCResultsPerPage = 50; -const uint32 k_cchDeveloperMetadataMax = 5000; +const uint32 k_cchDeveloperMetadataMax = 10000; // Details for a single published file/UGC struct SteamUGCDetails_t diff --git a/extern/steamworks_sdk_164/sdk/public/steam/isteamuser.h b/extern/steamworks_sdk_165/sdk/public/steam/isteamuser.h similarity index 100% rename from extern/steamworks_sdk_164/sdk/public/steam/isteamuser.h rename to extern/steamworks_sdk_165/sdk/public/steam/isteamuser.h diff --git a/extern/steamworks_sdk_164/sdk/public/steam/isteamuserstats.h b/extern/steamworks_sdk_165/sdk/public/steam/isteamuserstats.h similarity index 100% rename from extern/steamworks_sdk_164/sdk/public/steam/isteamuserstats.h rename to extern/steamworks_sdk_165/sdk/public/steam/isteamuserstats.h diff --git a/extern/steamworks_sdk_164/sdk/public/steam/isteamutils.h b/extern/steamworks_sdk_165/sdk/public/steam/isteamutils.h similarity index 76% rename from extern/steamworks_sdk_164/sdk/public/steam/isteamutils.h rename to extern/steamworks_sdk_165/sdk/public/steam/isteamutils.h index be5acb2..f8f9218 100644 --- a/extern/steamworks_sdk_164/sdk/public/steam/isteamutils.h +++ b/extern/steamworks_sdk_165/sdk/public/steam/isteamutils.h @@ -50,12 +50,37 @@ enum EFloatingGamepadTextInputMode // The context where text filtering is being done enum ETextFilteringContext { - k_ETextFilteringContextUnknown = 0, // Unknown context - k_ETextFilteringContextGameContent = 1, // Game content, only legally required filtering is performed - k_ETextFilteringContextChat = 2, // Chat from another player - k_ETextFilteringContextName = 3, // Character or item name + k_ETextFilteringContextUnknown = 0, // Unknown context + k_ETextFilteringContextGameContent = 1, // Game content, only legally required filtering is performed + k_ETextFilteringContextChat = 2, // Chat from another player + k_ETextFilteringContextName = 3, // Character or item name }; +// Steam device list +enum ESteamHardwareType +{ + k_ESteamHardwareTypeNone = 0, // Not playing on a Steam hardware device + k_ESteamHardwareTypeSteamDeck = 1, + k_ESteamHardwareTypeSteamMachine = 2, + k_ESteamHardwareTypeSteamFrame = 3, +}; + +// Default game settings profile +enum ESteamHardwareDefaultConfig +{ + k_ESteamHardwareDefaultConfigNone = 0, + + // map these general values to user presets. See GetSteamHardwareDefaultConfig() for more info. + k_ESteamHardwareDefaultConfigLow = 1, + k_ESteamHardwareDefaultConfigMedium = 2, + k_ESteamHardwareDefaultConfigHigh = 3, + k_ESteamHardwareDefaultConfigMax = 4, + + // machine specific configurations + k_ESteamHardwareDefaultConfigSteamDeck = 5, + k_ESteamHardwareDefaultConfigSteamMachine = 6, + k_ESteamHardwareDefaultConfigSteamFrame = 7, +}; //----------------------------------------------------------------------------- // Purpose: interface to user independent utility functions @@ -85,9 +110,6 @@ public: // the destination buffer size should be 4 * height * width * sizeof(char) virtual bool GetImageRGBA( int iImage, uint8 *pubDest, int nDestBufferSize ) = 0; - // Deprecated. Do not call this. - STEAM_PRIVATE_API( virtual bool GetCSERIPPort( uint32 *unIP, uint16 *usPort ) = 0; ) - // return the amount of battery power left in the current system in % [0..100], 255 for being on AC power virtual uint8 GetCurrentBatteryPower() = 0; @@ -161,9 +183,11 @@ public: // Sets the inset of the overlay notification from the corner specified by SetOverlayNotificationPosition. virtual void SetOverlayNotificationInset( int nHorizontalInset, int nVerticalInset ) = 0; - // returns true if Steam & the Steam Overlay are running in Big Picture mode - // Games much be launched through the Steam client to enable the Big Picture overlay. During development, - // a game can be added as a non-steam game to the developers library to test this feature + // Returns true if Steam & the Steam Overlay are running in Big Picture mode, where the user is most likely using + // a gamepad to control the device in a living room like setting or at an increased viewing distance from the TV. + // + // Games must be launched through the Steam client to enable the Big Picture overlay. During development, + // a game can be added as a non-steam game to the developers library to test this feature. virtual bool IsSteamInBigPictureMode() = 0; // ask SteamUI to create and render its OpenVR dashboard @@ -203,9 +227,6 @@ public: // This does NOT tell you if the Steam client is currently connected to Steam via ipv6. virtual ESteamIPv6ConnectivityState GetIPv6ConnectivityState( ESteamIPv6ConnectivityProtocol eProtocol ) = 0; - // returns true if currently running on the Steam Deck device - virtual bool IsSteamRunningOnSteamDeck() = 0; - // Opens a floating keyboard over the game content and sends OS keyboard keys directly to the game. // The text field position is specified in pixels relative the origin of the game window and is used to position the floating keyboard in a way that doesn't cover the text field virtual bool ShowFloatingGamepadTextInput( EFloatingGamepadTextInputMode eKeyboardMode, int nTextFieldXPosition, int nTextFieldYPosition, int nTextFieldWidth, int nTextFieldHeight ) = 0; @@ -218,9 +239,57 @@ public: // Dismisses the full-screen text input dialog. virtual bool DismissGamepadTextInput() = 0; + + // Returns if your process is running on a Steam Deck, Machine, Frame or other hardware. + // + // This method is intended to be used for usage analytics, support, diagnostic and other non-functional decisions. If your process + // needs to make a feature or device capability related decision, the Steamworks SDK exposes a set of other methods. Using one of these + // alternate methods will enable your game to run correctly on future versions of Steam hardware where this method would return a + // hardware type not present in old SDK versions. + // + // Some alternate methods include: + // - ISteamUtils::GetSteamHardwareDefaultConfig() + // - ISteamUtils::IsSteamInBigPictureMode() + // - ISteamUtils::IsRunningUnderProton() + // - ISteamUtils::IsSteamRunningInVR() + // - ISteamUtils::GetCurrentBatteryPower() + // - ISteamUtils::GetConnectedControllers() + virtual ESteamHardwareType IsRunningOnSteamHardware() = 0; + + // Use this method to help choose default game settings (video and other) that you have tuned for specific Steam hardware. It also enables + // changing your default game settings on future Steam hardware without needing to recompile your game. + // + // This method returns an ESteamHardwareDefaultConfig, which has two categories of values: + // - Machine specific values: Map each of these values to a setting configuration tuned for that device. + // - General values (low, medium, high, max): Map these values to one of your game's user selectable setting presets. If your game has less + // than 4 presets, it is expected that multiple values might map to the same preset. For example, a game with 3 presets might map high and + // max to the game's 'high' user preset. For games that only have 1 preset and run great on any device, low, medium, high and max might all + // be mapped to that single preset. + // + // By default, this method will return a value corresponding to the device type returned by ISteamUtils::IsRunningOnSteamHardware(), such + // as returning k_ESteamHardwareDefaultConfigSteamDeck when running on a Steam Deck. It may also return a configuration value for 3rd party + // hardware that has similar performance characteristics to Steam hardware, such as returning k_ESteamHardwareDefaultConfigSteamDeck when + // running on a Legion Go S. + // + // You can also change what value the Steam Client returns per device through the Steamworks Partner Site. This allows you to customize the + // default configuration used on future Steam hardware without recompiling your game. For example, if your game runs well on Steam Machine + // using your 'high' user preset, but was released before that device became available, you could configure this method to return + // k_ESteamHardwareDefaultConfigHigh when run on those devices. Similarly if your game was released before Steam Frame, you could configure + // this method to return k_ESteamHardwareDefaultConfigSteamDeck so that when your game is run in 2d mode, it uses your tuned Steam Deck + // presets. + // + // The following example covers a common approach to choosing default settings when running on Steam hardware: + // 1. Call GetSteamHardwareDefaultConfig() + // 2. If the returned value is for hardware that you have a known configuration for, use a tuned matching configuration + // 3. If the returned value is low, medium, high or max, use a matching user preset + // 4. If the returned value had no match, fall back to your default setting heuristics + virtual ESteamHardwareDefaultConfig GetSteamHardwareDefaultConfig() = 0; + + // Returns true if running under the Proton compatibility layer + virtual bool IsRunningUnderProton() = 0; }; -#define STEAMUTILS_INTERFACE_VERSION "SteamUtils010" +#define STEAMUTILS_INTERFACE_VERSION "SteamUtils011" // Global interface accessor inline ISteamUtils *SteamUtils(); diff --git a/extern/steamworks_sdk_164/sdk/public/steam/isteamvideo.h b/extern/steamworks_sdk_165/sdk/public/steam/isteamvideo.h similarity index 100% rename from extern/steamworks_sdk_164/sdk/public/steam/isteamvideo.h rename to extern/steamworks_sdk_165/sdk/public/steam/isteamvideo.h diff --git a/extern/steamworks_sdk_164/sdk/public/steam/lib/linux32/libsdkencryptedappticket.so b/extern/steamworks_sdk_165/sdk/public/steam/lib/linux32/libsdkencryptedappticket.so similarity index 99% rename from extern/steamworks_sdk_164/sdk/public/steam/lib/linux32/libsdkencryptedappticket.so rename to extern/steamworks_sdk_165/sdk/public/steam/lib/linux32/libsdkencryptedappticket.so index 74bbe79..2b62445 100644 Binary files a/extern/steamworks_sdk_164/sdk/public/steam/lib/linux32/libsdkencryptedappticket.so and b/extern/steamworks_sdk_165/sdk/public/steam/lib/linux32/libsdkencryptedappticket.so differ diff --git a/extern/steamworks_sdk_164/sdk/public/steam/lib/linux64/libsdkencryptedappticket.so b/extern/steamworks_sdk_165/sdk/public/steam/lib/linux64/libsdkencryptedappticket.so similarity index 99% rename from extern/steamworks_sdk_164/sdk/public/steam/lib/linux64/libsdkencryptedappticket.so rename to extern/steamworks_sdk_165/sdk/public/steam/lib/linux64/libsdkencryptedappticket.so index f4a2ea4..b6fe856 100644 Binary files a/extern/steamworks_sdk_164/sdk/public/steam/lib/linux64/libsdkencryptedappticket.so and b/extern/steamworks_sdk_165/sdk/public/steam/lib/linux64/libsdkencryptedappticket.so differ diff --git a/extern/steamworks_sdk_164/sdk/public/steam/lib/linuxarm64/libsdkencryptedappticket.so b/extern/steamworks_sdk_165/sdk/public/steam/lib/linuxarm64/libsdkencryptedappticket.so similarity index 50% rename from extern/steamworks_sdk_164/sdk/public/steam/lib/linuxarm64/libsdkencryptedappticket.so rename to extern/steamworks_sdk_165/sdk/public/steam/lib/linuxarm64/libsdkencryptedappticket.so index 0112b1f..71de8d4 100644 Binary files a/extern/steamworks_sdk_164/sdk/public/steam/lib/linuxarm64/libsdkencryptedappticket.so and b/extern/steamworks_sdk_165/sdk/public/steam/lib/linuxarm64/libsdkencryptedappticket.so differ diff --git a/extern/steamworks_sdk_164/sdk/public/steam/lib/osx/libsdkencryptedappticket.dylib b/extern/steamworks_sdk_165/sdk/public/steam/lib/osx/libsdkencryptedappticket.dylib similarity index 99% rename from extern/steamworks_sdk_164/sdk/public/steam/lib/osx/libsdkencryptedappticket.dylib rename to extern/steamworks_sdk_165/sdk/public/steam/lib/osx/libsdkencryptedappticket.dylib index 8fe637b..826348e 100644 Binary files a/extern/steamworks_sdk_164/sdk/public/steam/lib/osx/libsdkencryptedappticket.dylib and b/extern/steamworks_sdk_165/sdk/public/steam/lib/osx/libsdkencryptedappticket.dylib differ diff --git a/extern/steamworks_sdk_164/sdk/public/steam/lib/win32/sdkencryptedappticket.lib b/extern/steamworks_sdk_165/sdk/public/steam/lib/win32/sdkencryptedappticket.lib similarity index 91% rename from extern/steamworks_sdk_164/sdk/public/steam/lib/win32/sdkencryptedappticket.lib rename to extern/steamworks_sdk_165/sdk/public/steam/lib/win32/sdkencryptedappticket.lib index 44c4b69..e96b1de 100644 Binary files a/extern/steamworks_sdk_164/sdk/public/steam/lib/win32/sdkencryptedappticket.lib and b/extern/steamworks_sdk_165/sdk/public/steam/lib/win32/sdkencryptedappticket.lib differ diff --git a/extern/steamworks_sdk_164/sdk/public/steam/lib/win64/sdkencryptedappticket64.lib b/extern/steamworks_sdk_165/sdk/public/steam/lib/win64/sdkencryptedappticket64.lib similarity index 85% rename from extern/steamworks_sdk_164/sdk/public/steam/lib/win64/sdkencryptedappticket64.lib rename to extern/steamworks_sdk_165/sdk/public/steam/lib/win64/sdkencryptedappticket64.lib index 4c35b24..4066cd6 100644 Binary files a/extern/steamworks_sdk_164/sdk/public/steam/lib/win64/sdkencryptedappticket64.lib and b/extern/steamworks_sdk_165/sdk/public/steam/lib/win64/sdkencryptedappticket64.lib differ diff --git a/extern/steamworks_sdk_164/sdk/public/steam/matchmakingtypes.h b/extern/steamworks_sdk_165/sdk/public/steam/matchmakingtypes.h similarity index 93% rename from extern/steamworks_sdk_164/sdk/public/steam/matchmakingtypes.h rename to extern/steamworks_sdk_165/sdk/public/steam/matchmakingtypes.h index 791802a..4575184 100644 --- a/extern/steamworks_sdk_164/sdk/public/steam/matchmakingtypes.h +++ b/extern/steamworks_sdk_165/sdk/public/steam/matchmakingtypes.h @@ -83,6 +83,13 @@ public: m_usQueryPort = that.m_usQueryPort; m_unIP = that.m_unIP; } + bool operator==( const servernetadr_t &rhs ) const + { + return + m_usConnectionPort == rhs.m_usConnectionPort && + m_usQueryPort == rhs.m_usQueryPort && + m_unIP == rhs.m_unIP; + } private: @@ -196,11 +203,18 @@ private: // For data added after SteamMatchMaking001 add it here public: + bool operator==( const gameserveritem_t &rhs ) const + { + return m_NetAdr == rhs.m_NetAdr; + } + /// the tags this server exposes char m_szGameTags[k_cbMaxGameServerTags]; /// steamID of the game server - invalid if it's doesn't have one (old server, or not connected to Steam) CSteamID m_steamID; + int m_nCurrentFriendCount; ///< count of friends currently on server + int m_nTotalFriendCount; ///< total count of friends who have played on server }; @@ -209,6 +223,8 @@ inline gameserveritem_t::gameserveritem_t() m_szGameDir[0] = m_szMap[0] = m_szGameDescription[0] = m_szServerName[0] = 0; m_bHadSuccessfulResponse = m_bDoNotRefresh = m_bPassword = m_bSecure = false; m_nPing = m_nAppID = m_nPlayers = m_nMaxPlayers = m_nBotPlayers = m_ulTimeLastPlayed = m_nServerVersion = 0; + m_nTotalFriendCount = 0; + m_nCurrentFriendCount = 0; m_szGameTags[0] = 0; } diff --git a/extern/steamworks_sdk_164/sdk/public/steam/steam_api.h b/extern/steamworks_sdk_165/sdk/public/steam/steam_api.h similarity index 100% rename from extern/steamworks_sdk_164/sdk/public/steam/steam_api.h rename to extern/steamworks_sdk_165/sdk/public/steam/steam_api.h diff --git a/extern/steamworks_sdk_164/sdk/public/steam/steam_api.json b/extern/steamworks_sdk_165/sdk/public/steam/steam_api.json similarity index 93% rename from extern/steamworks_sdk_164/sdk/public/steam/steam_api.json rename to extern/steamworks_sdk_165/sdk/public/steam/steam_api.json index 8157040..2b19eca 100644 --- a/extern/steamworks_sdk_164/sdk/public/steam/steam_api.json +++ b/extern/steamworks_sdk_165/sdk/public/steam/steam_api.json @@ -1778,7 +1778,7 @@ { "constname":"k_UGCQueryHandleInvalid", "consttype":"UGCQueryHandle_t", "constval":"0xffffffffffffffffull" }, { "constname":"k_UGCUpdateHandleInvalid", "consttype":"UGCUpdateHandle_t", "constval":"0xffffffffffffffffull" }, { "constname":"kNumUGCResultsPerPage", "consttype":"uint32", "constval":"50" }, - { "constname":"k_cchDeveloperMetadataMax", "consttype":"uint32", "constval":"5000" }, + { "constname":"k_cchDeveloperMetadataMax", "consttype":"uint32", "constval":"10000" }, { "constname":"INVALID_HTMLBROWSER", "consttype":"uint32", "constval":"0" }, { "constname":"k_SteamItemInstanceIDInvalid", "consttype":"SteamItemInstanceID_t", "constval":"( SteamItemInstanceID_t ) ~ 0" }, { "constname":"k_SteamInventoryResultInvalid", "consttype":"SteamInventoryResult_t", "constval":"- 1" }, @@ -2385,6 +2385,28 @@ { "name":"k_ETextFilteringContextName", "value":"3" } ] }, + { + "enumname": "ESteamHardwareType", + "values": [ + { "name":"k_ESteamHardwareTypeNone", "value":"0" }, + { "name":"k_ESteamHardwareTypeSteamDeck", "value":"1" }, + { "name":"k_ESteamHardwareTypeSteamMachine", "value":"2" }, + { "name":"k_ESteamHardwareTypeSteamFrame", "value":"3" } + ] + }, + { + "enumname": "ESteamHardwareDefaultConfig", + "values": [ + { "name":"k_ESteamHardwareDefaultConfigNone", "value":"0" }, + { "name":"k_ESteamHardwareDefaultConfigLow", "value":"1" }, + { "name":"k_ESteamHardwareDefaultConfigMedium", "value":"2" }, + { "name":"k_ESteamHardwareDefaultConfigHigh", "value":"3" }, + { "name":"k_ESteamHardwareDefaultConfigMax", "value":"4" }, + { "name":"k_ESteamHardwareDefaultConfigSteamDeck", "value":"5" }, + { "name":"k_ESteamHardwareDefaultConfigSteamMachine", "value":"6" }, + { "name":"k_ESteamHardwareDefaultConfigSteamFrame", "value":"7" } + ] + }, { "enumname": "ECheckFileSignature", "values": [ @@ -2601,6 +2623,17 @@ { "name":"k_ELeaderboardUploadScoreMethodForceUpdate", "value":"2" } ] }, + { + "enumname": "EGamePerformanceSetting", + "values": [ + { "name":"k_EGamePerformanceSetting_NotSet", "value":"0" }, + { "name":"k_EGamePerformanceSetting_Low", "value":"1" }, + { "name":"k_EGamePerformanceSetting_Medium", "value":"2" }, + { "name":"k_EGamePerformanceSetting_High", "value":"3" }, + { "name":"k_EGamePerformanceSetting_Ultra", "value":"4" }, + { "name":"k_EGamePerformanceSetting_Custom", "value":"5" } + ] + }, { "enumname": "EP2PSessionError", "values": [ @@ -3263,7 +3296,207 @@ { "name":"k_EInputActionOrigin_Generic_MISC6", "value":"492" }, { "name":"k_EInputActionOrigin_Generic_MISC7", "value":"493" }, { "name":"k_EInputActionOrigin_Generic_MISC8", "value":"494" }, - { "name":"k_EInputActionOrigin_Count", "value":"495" }, + { "name":"k_EInputActionOrigin_Switch2_A", "value":"495" }, + { "name":"k_EInputActionOrigin_Switch2_B", "value":"496" }, + { "name":"k_EInputActionOrigin_Switch2_X", "value":"497" }, + { "name":"k_EInputActionOrigin_Switch2_Y", "value":"498" }, + { "name":"k_EInputActionOrigin_Switch2_LeftBumper", "value":"499" }, + { "name":"k_EInputActionOrigin_Switch2_RightBumper", "value":"500" }, + { "name":"k_EInputActionOrigin_Switch2_Plus", "value":"501" }, + { "name":"k_EInputActionOrigin_Switch2_Minus", "value":"502" }, + { "name":"k_EInputActionOrigin_Switch2_Capture", "value":"503" }, + { "name":"k_EInputActionOrigin_Switch2_LeftTrigger_Pull", "value":"504" }, + { "name":"k_EInputActionOrigin_Switch2_LeftTrigger_Click", "value":"505" }, + { "name":"k_EInputActionOrigin_Switch2_RightTrigger_Pull", "value":"506" }, + { "name":"k_EInputActionOrigin_Switch2_RightTrigger_Click", "value":"507" }, + { "name":"k_EInputActionOrigin_Switch2_LeftStick_Move", "value":"508" }, + { "name":"k_EInputActionOrigin_Switch2_LeftStick_Click", "value":"509" }, + { "name":"k_EInputActionOrigin_Switch2_LeftStick_DPadNorth", "value":"510" }, + { "name":"k_EInputActionOrigin_Switch2_LeftStick_DPadSouth", "value":"511" }, + { "name":"k_EInputActionOrigin_Switch2_LeftStick_DPadWest", "value":"512" }, + { "name":"k_EInputActionOrigin_Switch2_LeftStick_DPadEast", "value":"513" }, + { "name":"k_EInputActionOrigin_Switch2_RightStick_Move", "value":"514" }, + { "name":"k_EInputActionOrigin_Switch2_RightStick_Click", "value":"515" }, + { "name":"k_EInputActionOrigin_Switch2_RightStick_DPadNorth", "value":"516" }, + { "name":"k_EInputActionOrigin_Switch2_RightStick_DPadSouth", "value":"517" }, + { "name":"k_EInputActionOrigin_Switch2_RightStick_DPadWest", "value":"518" }, + { "name":"k_EInputActionOrigin_Switch2_RightStick_DPadEast", "value":"519" }, + { "name":"k_EInputActionOrigin_Switch2_DPad_Move", "value":"520" }, + { "name":"k_EInputActionOrigin_Switch2_DPad_North", "value":"521" }, + { "name":"k_EInputActionOrigin_Switch2_DPad_South", "value":"522" }, + { "name":"k_EInputActionOrigin_Switch2_DPad_West", "value":"523" }, + { "name":"k_EInputActionOrigin_Switch2_DPad_East", "value":"524" }, + { "name":"k_EInputActionOrigin_Switch2_ProGyro_Move", "value":"525" }, + { "name":"k_EInputActionOrigin_Switch2_ProGyro_Pitch", "value":"526" }, + { "name":"k_EInputActionOrigin_Switch2_ProGyro_Yaw", "value":"527" }, + { "name":"k_EInputActionOrigin_Switch2_ProGyro_Roll", "value":"528" }, + { "name":"k_EInputActionOrigin_Switch2_GL", "value":"529" }, + { "name":"k_EInputActionOrigin_Switch2_GR", "value":"530" }, + { "name":"k_EInputActionOrigin_Switch2_C", "value":"531" }, + { "name":"k_EInputActionOrigin_Switch2_Reserved1", "value":"532" }, + { "name":"k_EInputActionOrigin_Switch2_Reserved2", "value":"533" }, + { "name":"k_EInputActionOrigin_Switch2_Reserved3", "value":"534" }, + { "name":"k_EInputActionOrigin_Switch2_Reserved4", "value":"535" }, + { "name":"k_EInputActionOrigin_Switch2_Reserved5", "value":"536" }, + { "name":"k_EInputActionOrigin_Switch2_Reserved6", "value":"537" }, + { "name":"k_EInputActionOrigin_Switch2_Reserved7", "value":"538" }, + { "name":"k_EInputActionOrigin_Switch2_Reserved8", "value":"539" }, + { "name":"k_EInputActionOrigin_Switch2_Reserved9", "value":"540" }, + { "name":"k_EInputActionOrigin_Switch2_Reserved10", "value":"541" }, + { "name":"k_EInputActionOrigin_SteamController2026_A", "value":"542" }, + { "name":"k_EInputActionOrigin_SteamController2026_B", "value":"543" }, + { "name":"k_EInputActionOrigin_SteamController2026_X", "value":"544" }, + { "name":"k_EInputActionOrigin_SteamController2026_Y", "value":"545" }, + { "name":"k_EInputActionOrigin_SteamController2026_L1", "value":"546" }, + { "name":"k_EInputActionOrigin_SteamController2026_R1", "value":"547" }, + { "name":"k_EInputActionOrigin_SteamController2026_Menu", "value":"548" }, + { "name":"k_EInputActionOrigin_SteamController2026_View", "value":"549" }, + { "name":"k_EInputActionOrigin_SteamController2026_LeftPad_Touch", "value":"550" }, + { "name":"k_EInputActionOrigin_SteamController2026_LeftPad_Swipe", "value":"551" }, + { "name":"k_EInputActionOrigin_SteamController2026_LeftPad_Click", "value":"552" }, + { "name":"k_EInputActionOrigin_SteamController2026_LeftPad_DPadNorth", "value":"553" }, + { "name":"k_EInputActionOrigin_SteamController2026_LeftPad_DPadSouth", "value":"554" }, + { "name":"k_EInputActionOrigin_SteamController2026_LeftPad_DPadWest", "value":"555" }, + { "name":"k_EInputActionOrigin_SteamController2026_LeftPad_DPadEast", "value":"556" }, + { "name":"k_EInputActionOrigin_SteamController2026_RightPad_Touch", "value":"557" }, + { "name":"k_EInputActionOrigin_SteamController2026_RightPad_Swipe", "value":"558" }, + { "name":"k_EInputActionOrigin_SteamController2026_RightPad_Click", "value":"559" }, + { "name":"k_EInputActionOrigin_SteamController2026_RightPad_DPadNorth", "value":"560" }, + { "name":"k_EInputActionOrigin_SteamController2026_RightPad_DPadSouth", "value":"561" }, + { "name":"k_EInputActionOrigin_SteamController2026_RightPad_DPadWest", "value":"562" }, + { "name":"k_EInputActionOrigin_SteamController2026_RightPad_DPadEast", "value":"563" }, + { "name":"k_EInputActionOrigin_SteamController2026_L2_SoftPull", "value":"564" }, + { "name":"k_EInputActionOrigin_SteamController2026_L2", "value":"565" }, + { "name":"k_EInputActionOrigin_SteamController2026_R2_SoftPull", "value":"566" }, + { "name":"k_EInputActionOrigin_SteamController2026_R2", "value":"567" }, + { "name":"k_EInputActionOrigin_SteamController2026_LeftStick_Move", "value":"568" }, + { "name":"k_EInputActionOrigin_SteamController2026_L3", "value":"569" }, + { "name":"k_EInputActionOrigin_SteamController2026_LeftStick_DPadNorth", "value":"570" }, + { "name":"k_EInputActionOrigin_SteamController2026_LeftStick_DPadSouth", "value":"571" }, + { "name":"k_EInputActionOrigin_SteamController2026_LeftStick_DPadWest", "value":"572" }, + { "name":"k_EInputActionOrigin_SteamController2026_LeftStick_DPadEast", "value":"573" }, + { "name":"k_EInputActionOrigin_SteamController2026_LeftStick_Touch", "value":"574" }, + { "name":"k_EInputActionOrigin_SteamController2026_RightStick_Move", "value":"575" }, + { "name":"k_EInputActionOrigin_SteamController2026_R3", "value":"576" }, + { "name":"k_EInputActionOrigin_SteamController2026_RightStick_DPadNorth", "value":"577" }, + { "name":"k_EInputActionOrigin_SteamController2026_RightStick_DPadSouth", "value":"578" }, + { "name":"k_EInputActionOrigin_SteamController2026_RightStick_DPadWest", "value":"579" }, + { "name":"k_EInputActionOrigin_SteamController2026_RightStick_DPadEast", "value":"580" }, + { "name":"k_EInputActionOrigin_SteamController2026_RightStick_Touch", "value":"581" }, + { "name":"k_EInputActionOrigin_SteamController2026_L4", "value":"582" }, + { "name":"k_EInputActionOrigin_SteamController2026_R4", "value":"583" }, + { "name":"k_EInputActionOrigin_SteamController2026_L5", "value":"584" }, + { "name":"k_EInputActionOrigin_SteamController2026_R5", "value":"585" }, + { "name":"k_EInputActionOrigin_SteamController2026_DPad_Move", "value":"586" }, + { "name":"k_EInputActionOrigin_SteamController2026_DPad_North", "value":"587" }, + { "name":"k_EInputActionOrigin_SteamController2026_DPad_South", "value":"588" }, + { "name":"k_EInputActionOrigin_SteamController2026_DPad_West", "value":"589" }, + { "name":"k_EInputActionOrigin_SteamController2026_DPad_East", "value":"590" }, + { "name":"k_EInputActionOrigin_SteamController2026_Gyro_Move", "value":"591" }, + { "name":"k_EInputActionOrigin_SteamController2026_Gyro_Pitch", "value":"592" }, + { "name":"k_EInputActionOrigin_SteamController2026_Gyro_Yaw", "value":"593" }, + { "name":"k_EInputActionOrigin_SteamController2026_Gyro_Roll", "value":"594" }, + { "name":"k_EInputActionOrigin_SteamController2026_LGrip", "value":"595" }, + { "name":"k_EInputActionOrigin_SteamController2026_RGrip", "value":"596" }, + { "name":"k_EInputActionOrigin_SteamController2026_Reserved1", "value":"597" }, + { "name":"k_EInputActionOrigin_SteamController2026_Reserved2", "value":"598" }, + { "name":"k_EInputActionOrigin_SteamController2026_Reserved3", "value":"599" }, + { "name":"k_EInputActionOrigin_SteamController2026_Reserved4", "value":"600" }, + { "name":"k_EInputActionOrigin_SteamController2026_Reserved5", "value":"601" }, + { "name":"k_EInputActionOrigin_SteamController2026_Reserved6", "value":"602" }, + { "name":"k_EInputActionOrigin_SteamController2026_Reserved7", "value":"603" }, + { "name":"k_EInputActionOrigin_SteamController2026_Reserved8", "value":"604" }, + { "name":"k_EInputActionOrigin_SteamController2026_Reserved9", "value":"605" }, + { "name":"k_EInputActionOrigin_SteamController2026_Reserved10", "value":"606" }, + { "name":"k_EInputActionOrigin_SteamController2026_Reserved11", "value":"607" }, + { "name":"k_EInputActionOrigin_SteamController2026_Reserved12", "value":"608" }, + { "name":"k_EInputActionOrigin_SteamController2026_Reserved13", "value":"609" }, + { "name":"k_EInputActionOrigin_SteamController2026_Reserved14", "value":"610" }, + { "name":"k_EInputActionOrigin_SteamController2026_Reserved15", "value":"611" }, + { "name":"k_EInputActionOrigin_SteamController2026_Reserved16", "value":"612" }, + { "name":"k_EInputActionOrigin_SteamController2026_Reserved17", "value":"613" }, + { "name":"k_EInputActionOrigin_SteamController2026_Reserved18", "value":"614" }, + { "name":"k_EInputActionOrigin_SteamController2026_Reserved19", "value":"615" }, + { "name":"k_EInputActionOrigin_SteamController2026_Reserved20", "value":"616" }, + { "name":"k_EInputActionOrigin_SteamFrameController_A_Click", "value":"617" }, + { "name":"k_EInputActionOrigin_SteamFrameController_A_Touch", "value":"618" }, + { "name":"k_EInputActionOrigin_SteamFrameController_B_Click", "value":"619" }, + { "name":"k_EInputActionOrigin_SteamFrameController_B_Touch", "value":"620" }, + { "name":"k_EInputActionOrigin_SteamFrameController_X_Click", "value":"621" }, + { "name":"k_EInputActionOrigin_SteamFrameController_X_Touch", "value":"622" }, + { "name":"k_EInputActionOrigin_SteamFrameController_Y_Click", "value":"623" }, + { "name":"k_EInputActionOrigin_SteamFrameController_Y_Touch", "value":"624" }, + { "name":"k_EInputActionOrigin_SteamFrameController_LeftTrigger_Pull", "value":"625" }, + { "name":"k_EInputActionOrigin_SteamFrameController_LeftTrigger_Click", "value":"626" }, + { "name":"k_EInputActionOrigin_SteamFrameController_LeftTrigger_Touch", "value":"627" }, + { "name":"k_EInputActionOrigin_SteamFrameController_RightTrigger_Pull", "value":"628" }, + { "name":"k_EInputActionOrigin_SteamFrameController_RightTrigger_Click", "value":"629" }, + { "name":"k_EInputActionOrigin_SteamFrameController_RightTrigger_Touch", "value":"630" }, + { "name":"k_EInputActionOrigin_SteamFrameController_Menu_Click", "value":"631" }, + { "name":"k_EInputActionOrigin_SteamFrameController_Menu_Touch", "value":"632" }, + { "name":"k_EInputActionOrigin_SteamFrameController_View_Click", "value":"633" }, + { "name":"k_EInputActionOrigin_SteamFrameController_View_Touch", "value":"634" }, + { "name":"k_EInputActionOrigin_SteamFrameController_LeftBumper_Click", "value":"635" }, + { "name":"k_EInputActionOrigin_SteamFrameController_LeftBumper_Touch", "value":"636" }, + { "name":"k_EInputActionOrigin_SteamFrameController_RightBumper_Click", "value":"637" }, + { "name":"k_EInputActionOrigin_SteamFrameController_RightBumper_Touch", "value":"638" }, + { "name":"k_EInputActionOrigin_SteamFrameController_LeftStick_Move", "value":"639" }, + { "name":"k_EInputActionOrigin_SteamFrameController_LeftStick_Click", "value":"640" }, + { "name":"k_EInputActionOrigin_SteamFrameController_LeftStick_DPadNorth", "value":"641" }, + { "name":"k_EInputActionOrigin_SteamFrameController_LeftStick_DPadSouth", "value":"642" }, + { "name":"k_EInputActionOrigin_SteamFrameController_LeftStick_DPadWest", "value":"643" }, + { "name":"k_EInputActionOrigin_SteamFrameController_LeftStick_DPadEast", "value":"644" }, + { "name":"k_EInputActionOrigin_SteamFrameController_LeftStick_Touch", "value":"645" }, + { "name":"k_EInputActionOrigin_SteamFrameController_RightStick_Move", "value":"646" }, + { "name":"k_EInputActionOrigin_SteamFrameController_RightStick_Click", "value":"647" }, + { "name":"k_EInputActionOrigin_SteamFrameController_RightStick_DPadNorth", "value":"648" }, + { "name":"k_EInputActionOrigin_SteamFrameController_RightStick_DPadSouth", "value":"649" }, + { "name":"k_EInputActionOrigin_SteamFrameController_RightStick_DPadWest", "value":"650" }, + { "name":"k_EInputActionOrigin_SteamFrameController_RightStick_DPadEast", "value":"651" }, + { "name":"k_EInputActionOrigin_SteamFrameController_RightStick_Touch", "value":"652" }, + { "name":"k_EInputActionOrigin_SteamFrameController_DPad_Move", "value":"653" }, + { "name":"k_EInputActionOrigin_SteamFrameController_DPad_North", "value":"654" }, + { "name":"k_EInputActionOrigin_SteamFrameController_DPad_South", "value":"655" }, + { "name":"k_EInputActionOrigin_SteamFrameController_DPad_West", "value":"656" }, + { "name":"k_EInputActionOrigin_SteamFrameController_DPad_East", "value":"657" }, + { "name":"k_EInputActionOrigin_SteamFrameController_DPad_Touch", "value":"658" }, + { "name":"k_EInputActionOrigin_SteamFrameController_LeftGyro_Move", "value":"659" }, + { "name":"k_EInputActionOrigin_SteamFrameController_LeftGyro_Pitch", "value":"660" }, + { "name":"k_EInputActionOrigin_SteamFrameController_LeftGyro_Yaw", "value":"661" }, + { "name":"k_EInputActionOrigin_SteamFrameController_LeftGyro_Roll", "value":"662" }, + { "name":"k_EInputActionOrigin_SteamFrameController_RightGyro_Move", "value":"663" }, + { "name":"k_EInputActionOrigin_SteamFrameController_RightGyro_Pitch", "value":"664" }, + { "name":"k_EInputActionOrigin_SteamFrameController_RightGyro_Yaw", "value":"665" }, + { "name":"k_EInputActionOrigin_SteamFrameController_RightGyro_Roll", "value":"666" }, + { "name":"k_EInputActionOrigin_SteamFrameController_LeftGrip_Pull", "value":"667" }, + { "name":"k_EInputActionOrigin_SteamFrameController_LeftGrip_Click", "value":"668" }, + { "name":"k_EInputActionOrigin_SteamFrameController_LeftGrip_Touch", "value":"669" }, + { "name":"k_EInputActionOrigin_SteamFrameController_RightGrip_Pull", "value":"670" }, + { "name":"k_EInputActionOrigin_SteamFrameController_RightGrip_Click", "value":"671" }, + { "name":"k_EInputActionOrigin_SteamFrameController_RightGrip_Touch", "value":"672" }, + { "name":"k_EInputActionOrigin_SteamFrameController_LeftThumbrest_Touch", "value":"673" }, + { "name":"k_EInputActionOrigin_SteamFrameController_RightThumbrest_Touch", "value":"674" }, + { "name":"k_EInputActionOrigin_SteamFrameController_Reserved1", "value":"675" }, + { "name":"k_EInputActionOrigin_SteamFrameController_Reserved2", "value":"676" }, + { "name":"k_EInputActionOrigin_SteamFrameController_Reserved3", "value":"677" }, + { "name":"k_EInputActionOrigin_SteamFrameController_Reserved4", "value":"678" }, + { "name":"k_EInputActionOrigin_SteamFrameController_Reserved5", "value":"679" }, + { "name":"k_EInputActionOrigin_SteamFrameController_Reserved6", "value":"680" }, + { "name":"k_EInputActionOrigin_SteamFrameController_Reserved7", "value":"681" }, + { "name":"k_EInputActionOrigin_SteamFrameController_Reserved8", "value":"682" }, + { "name":"k_EInputActionOrigin_SteamFrameController_Reserved9", "value":"683" }, + { "name":"k_EInputActionOrigin_SteamFrameController_Reserved10", "value":"684" }, + { "name":"k_EInputActionOrigin_SteamFrameController_Reserved11", "value":"685" }, + { "name":"k_EInputActionOrigin_SteamFrameController_Reserved12", "value":"686" }, + { "name":"k_EInputActionOrigin_SteamFrameController_Reserved13", "value":"687" }, + { "name":"k_EInputActionOrigin_SteamFrameController_Reserved14", "value":"688" }, + { "name":"k_EInputActionOrigin_SteamFrameController_Reserved15", "value":"689" }, + { "name":"k_EInputActionOrigin_SteamFrameController_Reserved16", "value":"690" }, + { "name":"k_EInputActionOrigin_SteamFrameController_Reserved17", "value":"691" }, + { "name":"k_EInputActionOrigin_SteamFrameController_Reserved18", "value":"692" }, + { "name":"k_EInputActionOrigin_SteamFrameController_Reserved19", "value":"693" }, + { "name":"k_EInputActionOrigin_SteamFrameController_Reserved20", "value":"694" }, + { "name":"k_EInputActionOrigin_Count", "value":"695" }, { "name":"k_EInputActionOrigin_MaximumPossibleValue", "value":"32767" } ] }, @@ -3305,7 +3538,11 @@ "enumname": "ESteamControllerPad", "values": [ { "name":"k_ESteamControllerPad_Left", "value":"0" }, - { "name":"k_ESteamControllerPad_Right", "value":"1" } + { "name":"k_ESteamControllerPad_Right", "value":"1" }, + { "name":"k_ESteamControllerPad_Both", "value":"2" }, + { "name":"k_ESteamControllerGrip_Left", "value":"3" }, + { "name":"k_ESteamControllerGrip_Right", "value":"4" }, + { "name":"k_ESteamControllerGrip_Both", "value":"5" } ] }, { @@ -3342,7 +3579,11 @@ { "name":"k_ESteamInputType_PS3Controller", "value":"12" }, { "name":"k_ESteamInputType_PS5Controller", "value":"13" }, { "name":"k_ESteamInputType_SteamDeckController", "value":"14" }, - { "name":"k_ESteamInputType_Count", "value":"15" }, + { "name":"k_ESteamInputType_SteamOSHandheld", "value":"15" }, + { "name":"k_ESteamInputType_Switch2ProController", "value":"16" }, + { "name":"k_ESteamInputType_SteamController2026", "value":"17" }, + { "name":"k_ESteamInputType_SteamFrameControllerPair", "value":"18" }, + { "name":"k_ESteamInputType_Count", "value":"19" }, { "name":"k_ESteamInputType_MaximumPossibleValue", "value":"255" } ] }, @@ -3867,7 +4108,207 @@ { "name":"k_EControllerActionOrigin_Generic_MISC6", "value":"472" }, { "name":"k_EControllerActionOrigin_Generic_MISC7", "value":"473" }, { "name":"k_EControllerActionOrigin_Generic_MISC8", "value":"474" }, - { "name":"k_EControllerActionOrigin_Count", "value":"475" }, + { "name":"k_EControllerActionOrigin_Switch2_A", "value":"475" }, + { "name":"k_EControllerActionOrigin_Switch2_B", "value":"476" }, + { "name":"k_EControllerActionOrigin_Switch2_X", "value":"477" }, + { "name":"k_EControllerActionOrigin_Switch2_Y", "value":"478" }, + { "name":"k_EControllerActionOrigin_Switch2_LeftBumper", "value":"479" }, + { "name":"k_EControllerActionOrigin_Switch2_RightBumper", "value":"480" }, + { "name":"k_EControllerActionOrigin_Switch2_Plus", "value":"481" }, + { "name":"k_EControllerActionOrigin_Switch2_Minus", "value":"482" }, + { "name":"k_EControllerActionOrigin_Switch2_Capture", "value":"483" }, + { "name":"k_EControllerActionOrigin_Switch2_LeftTrigger_Pull", "value":"484" }, + { "name":"k_EControllerActionOrigin_Switch2_LeftTrigger_Click", "value":"485" }, + { "name":"k_EControllerActionOrigin_Switch2_RightTrigger_Pull", "value":"486" }, + { "name":"k_EControllerActionOrigin_Switch2_RightTrigger_Click", "value":"487" }, + { "name":"k_EControllerActionOrigin_Switch2_LeftStick_Move", "value":"488" }, + { "name":"k_EControllerActionOrigin_Switch2_LeftStick_Click", "value":"489" }, + { "name":"k_EControllerActionOrigin_Switch2_LeftStick_DPadNorth", "value":"490" }, + { "name":"k_EControllerActionOrigin_Switch2_LeftStick_DPadSouth", "value":"491" }, + { "name":"k_EControllerActionOrigin_Switch2_LeftStick_DPadWest", "value":"492" }, + { "name":"k_EControllerActionOrigin_Switch2_LeftStick_DPadEast", "value":"493" }, + { "name":"k_EControllerActionOrigin_Switch2_RightStick_Move", "value":"494" }, + { "name":"k_EControllerActionOrigin_Switch2_RightStick_Click", "value":"495" }, + { "name":"k_EControllerActionOrigin_Switch2_RightStick_DPadNorth", "value":"496" }, + { "name":"k_EControllerActionOrigin_Switch2_RightStick_DPadSouth", "value":"497" }, + { "name":"k_EControllerActionOrigin_Switch2_RightStick_DPadWest", "value":"498" }, + { "name":"k_EControllerActionOrigin_Switch2_RightStick_DPadEast", "value":"499" }, + { "name":"k_EControllerActionOrigin_Switch2_DPad_Move", "value":"500" }, + { "name":"k_EControllerActionOrigin_Switch2_DPad_North", "value":"501" }, + { "name":"k_EControllerActionOrigin_Switch2_DPad_South", "value":"502" }, + { "name":"k_EControllerActionOrigin_Switch2_DPad_West", "value":"503" }, + { "name":"k_EControllerActionOrigin_Switch2_DPad_East", "value":"504" }, + { "name":"k_EControllerActionOrigin_Switch2_ProGyro_Move", "value":"505" }, + { "name":"k_EControllerActionOrigin_Switch2_ProGyro_Pitch", "value":"506" }, + { "name":"k_EControllerActionOrigin_Switch2_ProGyro_Yaw", "value":"507" }, + { "name":"k_EControllerActionOrigin_Switch2_ProGyro_Roll", "value":"508" }, + { "name":"k_EControllerActionOrigin_Switch2_GL", "value":"509" }, + { "name":"k_EControllerActionOrigin_Switch2_GR", "value":"510" }, + { "name":"k_EControllerActionOrigin_Switch2_C", "value":"511" }, + { "name":"k_EControllerActionOrigin_Switch2_Reserved1", "value":"512" }, + { "name":"k_EControllerActionOrigin_Switch2_Reserved2", "value":"513" }, + { "name":"k_EControllerActionOrigin_Switch2_Reserved3", "value":"514" }, + { "name":"k_EControllerActionOrigin_Switch2_Reserved4", "value":"515" }, + { "name":"k_EControllerActionOrigin_Switch2_Reserved5", "value":"516" }, + { "name":"k_EControllerActionOrigin_Switch2_Reserved6", "value":"517" }, + { "name":"k_EControllerActionOrigin_Switch2_Reserved7", "value":"518" }, + { "name":"k_EControllerActionOrigin_Switch2_Reserved8", "value":"519" }, + { "name":"k_EControllerActionOrigin_Switch2_Reserved9", "value":"520" }, + { "name":"k_EControllerActionOrigin_Switch2_Reserved10", "value":"521" }, + { "name":"k_EControllerActionOrigin_SteamController2026_A", "value":"522" }, + { "name":"k_EControllerActionOrigin_SteamController2026_B", "value":"523" }, + { "name":"k_EControllerActionOrigin_SteamController2026_X", "value":"524" }, + { "name":"k_EControllerActionOrigin_SteamController2026_Y", "value":"525" }, + { "name":"k_EControllerActionOrigin_SteamController2026_L1", "value":"526" }, + { "name":"k_EControllerActionOrigin_SteamController2026_R1", "value":"527" }, + { "name":"k_EControllerActionOrigin_SteamController2026_Menu", "value":"528" }, + { "name":"k_EControllerActionOrigin_SteamController2026_View", "value":"529" }, + { "name":"k_EControllerActionOrigin_SteamController2026_LeftPad_Touch", "value":"530" }, + { "name":"k_EControllerActionOrigin_SteamController2026_LeftPad_Swipe", "value":"531" }, + { "name":"k_EControllerActionOrigin_SteamController2026_LeftPad_Click", "value":"532" }, + { "name":"k_EControllerActionOrigin_SteamController2026_LeftPad_DPadNorth", "value":"533" }, + { "name":"k_EControllerActionOrigin_SteamController2026_LeftPad_DPadSouth", "value":"534" }, + { "name":"k_EControllerActionOrigin_SteamController2026_LeftPad_DPadWest", "value":"535" }, + { "name":"k_EControllerActionOrigin_SteamController2026_LeftPad_DPadEast", "value":"536" }, + { "name":"k_EControllerActionOrigin_SteamController2026_RightPad_Touch", "value":"537" }, + { "name":"k_EControllerActionOrigin_SteamController2026_RightPad_Swipe", "value":"538" }, + { "name":"k_EControllerActionOrigin_SteamController2026_RightPad_Click", "value":"539" }, + { "name":"k_EControllerActionOrigin_SteamController2026_RightPad_DPadNorth", "value":"540" }, + { "name":"k_EControllerActionOrigin_SteamController2026_RightPad_DPadSouth", "value":"541" }, + { "name":"k_EControllerActionOrigin_SteamController2026_RightPad_DPadWest", "value":"542" }, + { "name":"k_EControllerActionOrigin_SteamController2026_RightPad_DPadEast", "value":"543" }, + { "name":"k_EControllerActionOrigin_SteamController2026_L2_SoftPull", "value":"544" }, + { "name":"k_EControllerActionOrigin_SteamController2026_L2", "value":"545" }, + { "name":"k_EControllerActionOrigin_SteamController2026_R2_SoftPull", "value":"546" }, + { "name":"k_EControllerActionOrigin_SteamController2026_R2", "value":"547" }, + { "name":"k_EControllerActionOrigin_SteamController2026_LeftStick_Move", "value":"548" }, + { "name":"k_EControllerActionOrigin_SteamController2026_L3", "value":"549" }, + { "name":"k_EControllerActionOrigin_SteamController2026_LeftStick_DPadNorth", "value":"550" }, + { "name":"k_EControllerActionOrigin_SteamController2026_LeftStick_DPadSouth", "value":"551" }, + { "name":"k_EControllerActionOrigin_SteamController2026_LeftStick_DPadWest", "value":"552" }, + { "name":"k_EControllerActionOrigin_SteamController2026_LeftStick_DPadEast", "value":"553" }, + { "name":"k_EControllerActionOrigin_SteamController2026_LeftStick_Touch", "value":"554" }, + { "name":"k_EControllerActionOrigin_SteamController2026_RightStick_Move", "value":"555" }, + { "name":"k_EControllerActionOrigin_SteamController2026_R3", "value":"556" }, + { "name":"k_EControllerActionOrigin_SteamController2026_RightStick_DPadNorth", "value":"557" }, + { "name":"k_EControllerActionOrigin_SteamController2026_RightStick_DPadSouth", "value":"558" }, + { "name":"k_EControllerActionOrigin_SteamController2026_RightStick_DPadWest", "value":"559" }, + { "name":"k_EControllerActionOrigin_SteamController2026_RightStick_DPadEast", "value":"560" }, + { "name":"k_EControllerActionOrigin_SteamController2026_RightStick_Touch", "value":"561" }, + { "name":"k_EControllerActionOrigin_SteamController2026_L4", "value":"562" }, + { "name":"k_EControllerActionOrigin_SteamController2026_R4", "value":"563" }, + { "name":"k_EControllerActionOrigin_SteamController2026_L5", "value":"564" }, + { "name":"k_EControllerActionOrigin_SteamController2026_R5", "value":"565" }, + { "name":"k_EControllerActionOrigin_SteamController2026_DPad_Move", "value":"566" }, + { "name":"k_EControllerActionOrigin_SteamController2026_DPad_North", "value":"567" }, + { "name":"k_EControllerActionOrigin_SteamController2026_DPad_South", "value":"568" }, + { "name":"k_EControllerActionOrigin_SteamController2026_DPad_West", "value":"569" }, + { "name":"k_EControllerActionOrigin_SteamController2026_DPad_East", "value":"570" }, + { "name":"k_EControllerActionOrigin_SteamController2026_Gyro_Move", "value":"571" }, + { "name":"k_EControllerActionOrigin_SteamController2026_Gyro_Pitch", "value":"572" }, + { "name":"k_EControllerActionOrigin_SteamController2026_Gyro_Yaw", "value":"573" }, + { "name":"k_EControllerActionOrigin_SteamController2026_Gyro_Roll", "value":"574" }, + { "name":"k_EControllerActionOrigin_SteamController2026_LGrip", "value":"575" }, + { "name":"k_EControllerActionOrigin_SteamController2026_RGrip", "value":"576" }, + { "name":"k_EControllerActionOrigin_SteamController2026_Reserved1", "value":"577" }, + { "name":"k_EControllerActionOrigin_SteamController2026_Reserved2", "value":"578" }, + { "name":"k_EControllerActionOrigin_SteamController2026_Reserved3", "value":"579" }, + { "name":"k_EControllerActionOrigin_SteamController2026_Reserved4", "value":"580" }, + { "name":"k_EControllerActionOrigin_SteamController2026_Reserved5", "value":"581" }, + { "name":"k_EControllerActionOrigin_SteamController2026_Reserved6", "value":"582" }, + { "name":"k_EControllerActionOrigin_SteamController2026_Reserved7", "value":"583" }, + { "name":"k_EControllerActionOrigin_SteamController2026_Reserved8", "value":"584" }, + { "name":"k_EControllerActionOrigin_SteamController2026_Reserved9", "value":"585" }, + { "name":"k_EControllerActionOrigin_SteamController2026_Reserved10", "value":"586" }, + { "name":"k_EControllerActionOrigin_SteamController2026_Reserved11", "value":"587" }, + { "name":"k_EControllerActionOrigin_SteamController2026_Reserved12", "value":"588" }, + { "name":"k_EControllerActionOrigin_SteamController2026_Reserved13", "value":"589" }, + { "name":"k_EControllerActionOrigin_SteamController2026_Reserved14", "value":"590" }, + { "name":"k_EControllerActionOrigin_SteamController2026_Reserved15", "value":"591" }, + { "name":"k_EControllerActionOrigin_SteamController2026_Reserved16", "value":"592" }, + { "name":"k_EControllerActionOrigin_SteamController2026_Reserved17", "value":"593" }, + { "name":"k_EControllerActionOrigin_SteamController2026_Reserved18", "value":"594" }, + { "name":"k_EControllerActionOrigin_SteamController2026_Reserved19", "value":"595" }, + { "name":"k_EControllerActionOrigin_SteamController2026_Reserved20", "value":"596" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_A_Click", "value":"597" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_A_Touch", "value":"598" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_B_Click", "value":"599" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_B_Touch", "value":"600" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_X_Click", "value":"601" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_X_Touch", "value":"602" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_Y_Click", "value":"603" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_Y_Touch", "value":"604" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_LeftTrigger_Pull", "value":"605" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_LeftTrigger_Click", "value":"606" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_LeftTrigger_Touch", "value":"607" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_RightTrigger_Pull", "value":"608" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_RightTrigger_Click", "value":"609" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_RightTrigger_Touch", "value":"610" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_Menu_Click", "value":"611" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_Menu_Touch", "value":"612" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_View_Click", "value":"613" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_View_Touch", "value":"614" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_LeftBumper_Click", "value":"615" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_LeftBumper_Touch", "value":"616" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_RightBumper_Click", "value":"617" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_RightBumper_Touch", "value":"618" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_LeftStick_Move", "value":"619" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_LeftStick_Click", "value":"620" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_LeftStick_DPadNorth", "value":"621" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_LeftStick_DPadSouth", "value":"622" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_LeftStick_DPadWest", "value":"623" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_LeftStick_DPadEast", "value":"624" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_LeftStick_Touch", "value":"625" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_RightStick_Move", "value":"626" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_RightStick_Click", "value":"627" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_RightStick_DPadNorth", "value":"628" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_RightStick_DPadSouth", "value":"629" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_RightStick_DPadWest", "value":"630" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_RightStick_DPadEast", "value":"631" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_RightStick_Touch", "value":"632" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_DPad_Move", "value":"633" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_DPad_North", "value":"634" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_DPad_South", "value":"635" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_DPad_West", "value":"636" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_DPad_East", "value":"637" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_DPad_Touch", "value":"638" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_LeftGyro_Move", "value":"639" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_LeftGyro_Pitch", "value":"640" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_LeftGyro_Yaw", "value":"641" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_LeftGyro_Roll", "value":"642" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_RightGyro_Move", "value":"643" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_RightGyro_Pitch", "value":"644" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_RightGyro_Yaw", "value":"645" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_RightGyro_Roll", "value":"646" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_LeftGrip_Pull", "value":"647" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_LeftGrip_Click", "value":"648" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_LeftGrip_Touch", "value":"649" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_RightGrip_Pull", "value":"650" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_RightGrip_Click", "value":"651" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_RightGrip_Touch", "value":"652" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_LeftThumbrest_Touch", "value":"653" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_RightThumbrest_Touch", "value":"654" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_Reserved1", "value":"655" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_Reserved2", "value":"656" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_Reserved3", "value":"657" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_Reserved4", "value":"658" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_Reserved5", "value":"659" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_Reserved6", "value":"660" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_Reserved7", "value":"661" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_Reserved8", "value":"662" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_Reserved9", "value":"663" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_Reserved10", "value":"664" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_Reserved11", "value":"665" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_Reserved12", "value":"666" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_Reserved13", "value":"667" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_Reserved14", "value":"668" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_Reserved15", "value":"669" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_Reserved16", "value":"670" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_Reserved17", "value":"671" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_Reserved18", "value":"672" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_Reserved19", "value":"673" }, + { "name":"k_EControllerActionOrigin_SteamFrameController_Reserved20", "value":"674" }, + { "name":"k_EControllerActionOrigin_Count", "value":"675" }, { "name":"k_EControllerActionOrigin_MaximumPossibleValue", "value":"32767" } ] }, @@ -3945,7 +4386,9 @@ { "name":"k_EUGCQuery_RankedByLifetimeAveragePlaytime", "value":"16" }, { "name":"k_EUGCQuery_RankedByPlaytimeSessionsTrend", "value":"17" }, { "name":"k_EUGCQuery_RankedByLifetimePlaytimeSessions", "value":"18" }, - { "name":"k_EUGCQuery_RankedByLastUpdatedDate", "value":"19" } + { "name":"k_EUGCQuery_RankedByLastUpdatedDate", "value":"19" }, + { "name":"k_EUGCQuery_RankedByNumParentItems", "value":"20" }, + { "name":"k_EUGCQuery_RankedByNumParentCollections", "value":"21" } ] }, { @@ -5773,12 +6216,12 @@ { "kind": "user", "name": "SteamUtils", - "name_flat": "SteamAPI_SteamUtils_v010" + "name_flat": "SteamAPI_SteamUtils_v011" }, { "kind": "gameserver", "name": "SteamGameServerUtils", - "name_flat": "SteamAPI_SteamGameServerUtils_v010" + "name_flat": "SteamAPI_SteamGameServerUtils_v011" } ], "classname": "ISteamUtils", @@ -6026,12 +6469,6 @@ ], "returntype": "ESteamIPv6ConnectivityState" }, - { - "methodname": "IsSteamRunningOnSteamDeck", - "methodname_flat": "SteamAPI_ISteamUtils_IsSteamRunningOnSteamDeck", - "params": [], - "returntype": "bool" - }, { "methodname": "ShowFloatingGamepadTextInput", "methodname_flat": "SteamAPI_ISteamUtils_ShowFloatingGamepadTextInput", @@ -6063,9 +6500,27 @@ "methodname_flat": "SteamAPI_ISteamUtils_DismissGamepadTextInput", "params": [], "returntype": "bool" + }, + { + "methodname": "IsRunningOnSteamHardware", + "methodname_flat": "SteamAPI_ISteamUtils_IsRunningOnSteamHardware", + "params": [], + "returntype": "ESteamHardwareType" + }, + { + "methodname": "GetSteamHardwareDefaultConfig", + "methodname_flat": "SteamAPI_ISteamUtils_GetSteamHardwareDefaultConfig", + "params": [], + "returntype": "ESteamHardwareDefaultConfig" + }, + { + "methodname": "IsRunningUnderProton", + "methodname_flat": "SteamAPI_ISteamUtils_IsRunningUnderProton", + "params": [], + "returntype": "bool" } ], - "version_string": "SteamUtils010" + "version_string": "SteamUtils011" }, { "accessors": [ @@ -6557,12 +7012,40 @@ } ] }, + { + "classname": "ISteamMatchmakingServerFriendsResponse", + "fields": [], + "methods": [ + { + "methodname": "AddFriendToList", + "methodname_flat": "SteamAPI_ISteamMatchmakingServerFriendsResponse_AddFriendToList", + "params": [ + { "paramname":"steamID", "paramtype":"CSteamID", "paramtype_flat":"uint64_steamid" }, + { "paramname":"pchName", "paramtype":"const char *" }, + { "paramname":"bCurrentlyConnected", "paramtype":"bool" } + ], + "returntype": "void" + }, + { + "methodname": "FriendsFailedToRespond", + "methodname_flat": "SteamAPI_ISteamMatchmakingServerFriendsResponse_FriendsFailedToRespond", + "params": [], + "returntype": "void" + }, + { + "methodname": "FriendsRefreshComplete", + "methodname_flat": "SteamAPI_ISteamMatchmakingServerFriendsResponse_FriendsRefreshComplete", + "params": [], + "returntype": "void" + } + ] + }, { "accessors": [ { "kind": "user", "name": "SteamMatchmakingServers", - "name_flat": "SteamAPI_SteamMatchmakingServers_v002" + "name_flat": "SteamAPI_SteamMatchmakingServers_v003" } ], "classname": "ISteamMatchmakingServers", @@ -6740,6 +7223,16 @@ ], "returntype": "HServerQuery" }, + { + "methodname": "ServerFriends", + "methodname_flat": "SteamAPI_ISteamMatchmakingServers_ServerFriends", + "params": [ + { "paramname":"unIP", "paramtype":"uint32" }, + { "paramname":"usPort", "paramtype":"uint16" }, + { "paramname":"pRequestServersResponse", "paramtype":"ISteamMatchmakingServerFriendsResponse *" } + ], + "returntype": "HServerQuery" + }, { "methodname": "CancelServerQuery", "methodname_flat": "SteamAPI_ISteamMatchmakingServers_CancelServerQuery", @@ -6749,7 +7242,7 @@ "returntype": "void" } ], - "version_string": "SteamMatchMakingServers002" + "version_string": "SteamMatchMakingServers003" }, { "accessors": [ @@ -8162,6 +8655,23 @@ { "paramname":"pchBetaName", "paramtype":"const char *" } ], "returntype": "bool" + }, + { + "methodname": "SetGamePerformanceSetting", + "methodname_flat": "SteamAPI_ISteamApps_SetGamePerformanceSetting", + "params": [ + { "paramname":"setting", "paramtype":"EGamePerformanceSetting" } + ], + "returntype": "void" + }, + { + "methodname": "SetGameRenderResolution", + "methodname_flat": "SteamAPI_ISteamApps_SetGameRenderResolution", + "params": [ + { "paramname":"unWidth", "paramtype":"uint32" }, + { "paramname":"unHeight", "paramtype":"uint32" } + ], + "returntype": "void" } ], "version_string": "STEAMAPPS_INTERFACE_VERSION009" @@ -8820,7 +9330,7 @@ { "kind": "user", "name": "SteamInput", - "name_flat": "SteamAPI_SteamInput_v006" + "name_flat": "SteamAPI_SteamInput_v007" } ], "classname": "ISteamInput", @@ -9269,7 +9779,7 @@ "returntype": "void" } ], - "version_string": "SteamInput006" + "version_string": "SteamInput007" }, { "accessors": [ @@ -12086,12 +12596,12 @@ { "kind": "user", "name": "SteamNetworkingSockets_SteamAPI", - "name_flat": "SteamAPI_SteamNetworkingSockets_SteamAPI_v012" + "name_flat": "SteamAPI_SteamNetworkingSockets_SteamAPI_v013" }, { "kind": "gameserver", "name": "SteamGameServerNetworkingSockets_SteamAPI", - "name_flat": "SteamAPI_SteamGameServerNetworkingSockets_SteamAPI_v012" + "name_flat": "SteamAPI_SteamGameServerNetworkingSockets_SteamAPI_v013" } ], "classname": "ISteamNetworkingSockets", @@ -12218,8 +12728,9 @@ "methodname_flat": "SteamAPI_ISteamNetworkingSockets_SendMessages", "params": [ { "paramname":"nMessages", "paramtype":"int" }, - { "paramname":"pMessages", "paramtype":"SteamNetworkingMessage_t *const *" }, - { "paramname":"pOutMessageNumberOrResult", "paramtype":"int64 *" } + { "paramname":"pMessages", "paramtype":"SteamNetworkingMessage_t **" }, + { "paramname":"pOutMessageNumberOrResult", "paramtype":"int64 *" }, + { "paramname":"bDeleteFailedMessages", "paramtype":"bool" } ], "returntype": "void" }, @@ -12287,8 +12798,8 @@ { "paramname":"pOutConnection1", "paramtype":"HSteamNetConnection *" }, { "paramname":"pOutConnection2", "paramtype":"HSteamNetConnection *" }, { "paramname":"bUseNetworkLoopback", "paramtype":"bool" }, - { "paramname":"pIdentity1", "paramtype":"const SteamNetworkingIdentity *" }, - { "paramname":"pIdentity2", "paramtype":"const SteamNetworkingIdentity *" } + { "paramname":"pPeerIdentity1", "paramtype":"const SteamNetworkingIdentity *" }, + { "paramname":"pPeerIdentity2", "paramtype":"const SteamNetworkingIdentity *" } ], "returntype": "bool" }, @@ -12530,7 +13041,7 @@ "returntype": "ISteamNetworkingFakeUDPPort *" } ], - "version_string": "SteamNetworkingSockets012" + "version_string": "SteamNetworkingSockets013" }, { "accessors": [ @@ -13548,6 +14059,14 @@ { "paramname":"that", "paramtype":"const servernetadr_t &" } ], "returntype": "void" + }, + { + "methodname": "operator==", + "methodname_flat": "SteamAPI_servernetadr_t_IsEqualTo", + "params": [ + { "paramname":"rhs", "paramtype":"const servernetadr_t &" } + ], + "returntype": "bool" } ], "struct": "servernetadr_t" @@ -13575,7 +14094,9 @@ "private": true }, { "fieldname":"m_szGameTags", "fieldtype":"char [128]" }, - { "fieldname":"m_steamID", "fieldtype":"CSteamID" } + { "fieldname":"m_steamID", "fieldtype":"CSteamID" }, + { "fieldname":"m_nCurrentFriendCount", "fieldtype":"int" }, + { "fieldname":"m_nTotalFriendCount", "fieldtype":"int" } ], "methods": [ { @@ -13597,6 +14118,14 @@ { "paramname":"pName", "paramtype":"const char *" } ], "returntype": "void" + }, + { + "methodname": "operator==", + "methodname_flat": "SteamAPI_gameserveritem_t_IsEqualTo", + "params": [ + { "paramname":"rhs", "paramtype":"const gameserveritem_t &" } + ], + "returntype": "bool" } ], "struct": "gameserveritem_t" diff --git a/extern/steamworks_sdk_164/sdk/public/steam/steam_api_common.h b/extern/steamworks_sdk_165/sdk/public/steam/steam_api_common.h similarity index 100% rename from extern/steamworks_sdk_164/sdk/public/steam/steam_api_common.h rename to extern/steamworks_sdk_165/sdk/public/steam/steam_api_common.h diff --git a/extern/steamworks_sdk_164/sdk/public/steam/steam_api_flat.h b/extern/steamworks_sdk_165/sdk/public/steam/steam_api_flat.h similarity index 98% rename from extern/steamworks_sdk_164/sdk/public/steam/steam_api_flat.h rename to extern/steamworks_sdk_165/sdk/public/steam/steam_api_flat.h index 58ddbd9..7212012 100644 --- a/extern/steamworks_sdk_164/sdk/public/steam/steam_api_flat.h +++ b/extern/steamworks_sdk_165/sdk/public/steam/steam_api_flat.h @@ -180,14 +180,14 @@ S_API uint32 SteamAPI_ISteamFriends_GetProfileItemPropertyUint( ISteamFriends* s // ISteamUtils // A versioned accessor is exported by the library -S_API ISteamUtils *SteamAPI_SteamUtils_v010(); +S_API ISteamUtils *SteamAPI_SteamUtils_v011(); // Inline, unversioned accessor to get the current version. Essentially the same as SteamUtils(), but using this ensures that you are using a matching library. -inline ISteamUtils *SteamAPI_SteamUtils() { return SteamAPI_SteamUtils_v010(); } +inline ISteamUtils *SteamAPI_SteamUtils() { return SteamAPI_SteamUtils_v011(); } // A versioned accessor is exported by the library -S_API ISteamUtils *SteamAPI_SteamGameServerUtils_v010(); +S_API ISteamUtils *SteamAPI_SteamGameServerUtils_v011(); // Inline, unversioned accessor to get the current version. Essentially the same as SteamGameServerUtils(), but using this ensures that you are using a matching library. -inline ISteamUtils *SteamAPI_SteamGameServerUtils() { return SteamAPI_SteamGameServerUtils_v010(); } +inline ISteamUtils *SteamAPI_SteamGameServerUtils() { return SteamAPI_SteamGameServerUtils_v011(); } S_API uint32 SteamAPI_ISteamUtils_GetSecondsSinceAppActive( ISteamUtils* self ); S_API uint32 SteamAPI_ISteamUtils_GetSecondsSinceComputerActive( ISteamUtils* self ); S_API EUniverse SteamAPI_ISteamUtils_GetConnectedUniverse( ISteamUtils* self ); @@ -220,11 +220,13 @@ S_API bool SteamAPI_ISteamUtils_IsSteamChinaLauncher( ISteamUtils* self ); S_API bool SteamAPI_ISteamUtils_InitFilterText( ISteamUtils* self, uint32 unFilterOptions ); S_API int SteamAPI_ISteamUtils_FilterText( ISteamUtils* self, ETextFilteringContext eContext, uint64_steamid sourceSteamID, const char * pchInputMessage, char * pchOutFilteredText, uint32 nByteSizeOutFilteredText ); S_API ESteamIPv6ConnectivityState SteamAPI_ISteamUtils_GetIPv6ConnectivityState( ISteamUtils* self, ESteamIPv6ConnectivityProtocol eProtocol ); -S_API bool SteamAPI_ISteamUtils_IsSteamRunningOnSteamDeck( ISteamUtils* self ); S_API bool SteamAPI_ISteamUtils_ShowFloatingGamepadTextInput( ISteamUtils* self, EFloatingGamepadTextInputMode eKeyboardMode, int nTextFieldXPosition, int nTextFieldYPosition, int nTextFieldWidth, int nTextFieldHeight ); S_API void SteamAPI_ISteamUtils_SetGameLauncherMode( ISteamUtils* self, bool bLauncherMode ); S_API bool SteamAPI_ISteamUtils_DismissFloatingGamepadTextInput( ISteamUtils* self ); S_API bool SteamAPI_ISteamUtils_DismissGamepadTextInput( ISteamUtils* self ); +S_API ESteamHardwareType SteamAPI_ISteamUtils_IsRunningOnSteamHardware( ISteamUtils* self ); +S_API ESteamHardwareDefaultConfig SteamAPI_ISteamUtils_GetSteamHardwareDefaultConfig( ISteamUtils* self ); +S_API bool SteamAPI_ISteamUtils_IsRunningUnderProton( ISteamUtils* self ); // ISteamMatchmaking @@ -290,12 +292,17 @@ S_API void SteamAPI_ISteamMatchmakingRulesResponse_RulesResponded( ISteamMatchma S_API void SteamAPI_ISteamMatchmakingRulesResponse_RulesFailedToRespond( ISteamMatchmakingRulesResponse* self ); S_API void SteamAPI_ISteamMatchmakingRulesResponse_RulesRefreshComplete( ISteamMatchmakingRulesResponse* self ); +// ISteamMatchmakingServerFriendsResponse +S_API void SteamAPI_ISteamMatchmakingServerFriendsResponse_AddFriendToList( ISteamMatchmakingServerFriendsResponse* self, uint64_steamid steamID, const char * pchName, bool bCurrentlyConnected ); +S_API void SteamAPI_ISteamMatchmakingServerFriendsResponse_FriendsFailedToRespond( ISteamMatchmakingServerFriendsResponse* self ); +S_API void SteamAPI_ISteamMatchmakingServerFriendsResponse_FriendsRefreshComplete( ISteamMatchmakingServerFriendsResponse* self ); + // ISteamMatchmakingServers // A versioned accessor is exported by the library -S_API ISteamMatchmakingServers *SteamAPI_SteamMatchmakingServers_v002(); +S_API ISteamMatchmakingServers *SteamAPI_SteamMatchmakingServers_v003(); // Inline, unversioned accessor to get the current version. Essentially the same as SteamMatchmakingServers(), but using this ensures that you are using a matching library. -inline ISteamMatchmakingServers *SteamAPI_SteamMatchmakingServers() { return SteamAPI_SteamMatchmakingServers_v002(); } +inline ISteamMatchmakingServers *SteamAPI_SteamMatchmakingServers() { return SteamAPI_SteamMatchmakingServers_v003(); } S_API HServerListRequest SteamAPI_ISteamMatchmakingServers_RequestInternetServerList( ISteamMatchmakingServers* self, AppId_t iApp, MatchMakingKeyValuePair_t ** ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse * pRequestServersResponse ); S_API HServerListRequest SteamAPI_ISteamMatchmakingServers_RequestLANServerList( ISteamMatchmakingServers* self, AppId_t iApp, ISteamMatchmakingServerListResponse * pRequestServersResponse ); S_API HServerListRequest SteamAPI_ISteamMatchmakingServers_RequestFriendsServerList( ISteamMatchmakingServers* self, AppId_t iApp, MatchMakingKeyValuePair_t ** ppchFilters, uint32 nFilters, ISteamMatchmakingServerListResponse * pRequestServersResponse ); @@ -312,6 +319,7 @@ S_API void SteamAPI_ISteamMatchmakingServers_RefreshServer( ISteamMatchmakingSer S_API HServerQuery SteamAPI_ISteamMatchmakingServers_PingServer( ISteamMatchmakingServers* self, uint32 unIP, uint16 usPort, ISteamMatchmakingPingResponse * pRequestServersResponse ); S_API HServerQuery SteamAPI_ISteamMatchmakingServers_PlayerDetails( ISteamMatchmakingServers* self, uint32 unIP, uint16 usPort, ISteamMatchmakingPlayersResponse * pRequestServersResponse ); S_API HServerQuery SteamAPI_ISteamMatchmakingServers_ServerRules( ISteamMatchmakingServers* self, uint32 unIP, uint16 usPort, ISteamMatchmakingRulesResponse * pRequestServersResponse ); +S_API HServerQuery SteamAPI_ISteamMatchmakingServers_ServerFriends( ISteamMatchmakingServers* self, uint32 unIP, uint16 usPort, ISteamMatchmakingServerFriendsResponse * pRequestServersResponse ); S_API void SteamAPI_ISteamMatchmakingServers_CancelServerQuery( ISteamMatchmakingServers* self, HServerQuery hServerQuery ); // ISteamParties @@ -489,6 +497,8 @@ S_API bool SteamAPI_ISteamApps_SetDlcContext( ISteamApps* self, AppId_t nAppID ) S_API int SteamAPI_ISteamApps_GetNumBetas( ISteamApps* self, int * pnAvailable, int * pnPrivate ); S_API bool SteamAPI_ISteamApps_GetBetaInfo( ISteamApps* self, int iBetaIndex, uint32 * punFlags, uint32 * punBuildID, char * pchBetaName, int cchBetaName, char * pchDescription, int cchDescription, uint32 * punLastUpdated ); S_API bool SteamAPI_ISteamApps_SetActiveBeta( ISteamApps* self, const char * pchBetaName ); +S_API void SteamAPI_ISteamApps_SetGamePerformanceSetting( ISteamApps* self, EGamePerformanceSetting setting ); +S_API void SteamAPI_ISteamApps_SetGameRenderResolution( ISteamApps* self, uint32 unWidth, uint32 unHeight ); // ISteamNetworking @@ -596,9 +606,9 @@ S_API bool SteamAPI_ISteamHTTP_GetHTTPRequestWasTimedOut( ISteamHTTP* self, HTTP // ISteamInput // A versioned accessor is exported by the library -S_API ISteamInput *SteamAPI_SteamInput_v006(); +S_API ISteamInput *SteamAPI_SteamInput_v007(); // Inline, unversioned accessor to get the current version. Essentially the same as SteamInput(), but using this ensures that you are using a matching library. -inline ISteamInput *SteamAPI_SteamInput() { return SteamAPI_SteamInput_v006(); } +inline ISteamInput *SteamAPI_SteamInput() { return SteamAPI_SteamInput_v007(); } S_API bool SteamAPI_ISteamInput_Init( ISteamInput* self, bool bExplicitlyCallRunFrame ); S_API bool SteamAPI_ISteamInput_Shutdown( ISteamInput* self ); S_API bool SteamAPI_ISteamInput_SetInputActionManifestFilePath( ISteamInput* self, const char * pchInputActionManifestAbsolutePath ); @@ -991,14 +1001,14 @@ S_API ESteamNetworkingConnectionState SteamAPI_ISteamNetworkingMessages_GetSessi // ISteamNetworkingSockets // A versioned accessor is exported by the library -S_API ISteamNetworkingSockets *SteamAPI_SteamNetworkingSockets_SteamAPI_v012(); +S_API ISteamNetworkingSockets *SteamAPI_SteamNetworkingSockets_SteamAPI_v013(); // Inline, unversioned accessor to get the current version. Essentially the same as SteamNetworkingSockets_SteamAPI(), but using this ensures that you are using a matching library. -inline ISteamNetworkingSockets *SteamAPI_SteamNetworkingSockets_SteamAPI() { return SteamAPI_SteamNetworkingSockets_SteamAPI_v012(); } +inline ISteamNetworkingSockets *SteamAPI_SteamNetworkingSockets_SteamAPI() { return SteamAPI_SteamNetworkingSockets_SteamAPI_v013(); } // A versioned accessor is exported by the library -S_API ISteamNetworkingSockets *SteamAPI_SteamGameServerNetworkingSockets_SteamAPI_v012(); +S_API ISteamNetworkingSockets *SteamAPI_SteamGameServerNetworkingSockets_SteamAPI_v013(); // Inline, unversioned accessor to get the current version. Essentially the same as SteamGameServerNetworkingSockets_SteamAPI(), but using this ensures that you are using a matching library. -inline ISteamNetworkingSockets *SteamAPI_SteamGameServerNetworkingSockets_SteamAPI() { return SteamAPI_SteamGameServerNetworkingSockets_SteamAPI_v012(); } +inline ISteamNetworkingSockets *SteamAPI_SteamGameServerNetworkingSockets_SteamAPI() { return SteamAPI_SteamGameServerNetworkingSockets_SteamAPI_v013(); } S_API HSteamListenSocket SteamAPI_ISteamNetworkingSockets_CreateListenSocketIP( ISteamNetworkingSockets* self, const SteamNetworkingIPAddr & localAddress, int nOptions, const SteamNetworkingConfigValue_t * pOptions ); S_API HSteamNetConnection SteamAPI_ISteamNetworkingSockets_ConnectByIPAddress( ISteamNetworkingSockets* self, const SteamNetworkingIPAddr & address, int nOptions, const SteamNetworkingConfigValue_t * pOptions ); S_API HSteamListenSocket SteamAPI_ISteamNetworkingSockets_CreateListenSocketP2P( ISteamNetworkingSockets* self, int nLocalVirtualPort, int nOptions, const SteamNetworkingConfigValue_t * pOptions ); @@ -1011,14 +1021,14 @@ S_API int64 SteamAPI_ISteamNetworkingSockets_GetConnectionUserData( ISteamNetwor S_API void SteamAPI_ISteamNetworkingSockets_SetConnectionName( ISteamNetworkingSockets* self, HSteamNetConnection hPeer, const char * pszName ); S_API bool SteamAPI_ISteamNetworkingSockets_GetConnectionName( ISteamNetworkingSockets* self, HSteamNetConnection hPeer, char * pszName, int nMaxLen ); S_API EResult SteamAPI_ISteamNetworkingSockets_SendMessageToConnection( ISteamNetworkingSockets* self, HSteamNetConnection hConn, const void * pData, uint32 cbData, int nSendFlags, int64 * pOutMessageNumber ); -S_API void SteamAPI_ISteamNetworkingSockets_SendMessages( ISteamNetworkingSockets* self, int nMessages, SteamNetworkingMessage_t *const * pMessages, int64 * pOutMessageNumberOrResult ); +S_API void SteamAPI_ISteamNetworkingSockets_SendMessages( ISteamNetworkingSockets* self, int nMessages, SteamNetworkingMessage_t ** pMessages, int64 * pOutMessageNumberOrResult, bool bDeleteFailedMessages ); S_API EResult SteamAPI_ISteamNetworkingSockets_FlushMessagesOnConnection( ISteamNetworkingSockets* self, HSteamNetConnection hConn ); S_API int SteamAPI_ISteamNetworkingSockets_ReceiveMessagesOnConnection( ISteamNetworkingSockets* self, HSteamNetConnection hConn, SteamNetworkingMessage_t ** ppOutMessages, int nMaxMessages ); S_API bool SteamAPI_ISteamNetworkingSockets_GetConnectionInfo( ISteamNetworkingSockets* self, HSteamNetConnection hConn, SteamNetConnectionInfo_t * pInfo ); S_API EResult SteamAPI_ISteamNetworkingSockets_GetConnectionRealTimeStatus( ISteamNetworkingSockets* self, HSteamNetConnection hConn, SteamNetConnectionRealTimeStatus_t * pStatus, int nLanes, SteamNetConnectionRealTimeLaneStatus_t * pLanes ); S_API int SteamAPI_ISteamNetworkingSockets_GetDetailedConnectionStatus( ISteamNetworkingSockets* self, HSteamNetConnection hConn, char * pszBuf, int cbBuf ); S_API bool SteamAPI_ISteamNetworkingSockets_GetListenSocketAddress( ISteamNetworkingSockets* self, HSteamListenSocket hSocket, SteamNetworkingIPAddr * address ); -S_API bool SteamAPI_ISteamNetworkingSockets_CreateSocketPair( ISteamNetworkingSockets* self, HSteamNetConnection * pOutConnection1, HSteamNetConnection * pOutConnection2, bool bUseNetworkLoopback, const SteamNetworkingIdentity * pIdentity1, const SteamNetworkingIdentity * pIdentity2 ); +S_API bool SteamAPI_ISteamNetworkingSockets_CreateSocketPair( ISteamNetworkingSockets* self, HSteamNetConnection * pOutConnection1, HSteamNetConnection * pOutConnection2, bool bUseNetworkLoopback, const SteamNetworkingIdentity * pPeerIdentity1, const SteamNetworkingIdentity * pPeerIdentity2 ); S_API EResult SteamAPI_ISteamNetworkingSockets_ConfigureConnectionLanes( ISteamNetworkingSockets* self, HSteamNetConnection hConn, int nNumLanes, const int * pLanePriorities, const uint16 * pLaneWeights ); S_API bool SteamAPI_ISteamNetworkingSockets_GetIdentity( ISteamNetworkingSockets* self, SteamNetworkingIdentity * pIdentity ); S_API ESteamNetworkingAvailability SteamAPI_ISteamNetworkingSockets_InitAuthentication( ISteamNetworkingSockets* self ); @@ -1185,11 +1195,13 @@ S_API const char * SteamAPI_servernetadr_t_GetConnectionAddressString( servernet S_API const char * SteamAPI_servernetadr_t_GetQueryAddressString( servernetadr_t* self ); S_API bool SteamAPI_servernetadr_t_IsLessThan( servernetadr_t* self, const servernetadr_t & netadr ); S_API void SteamAPI_servernetadr_t_Assign( servernetadr_t* self, const servernetadr_t & that ); +S_API bool SteamAPI_servernetadr_t_IsEqualTo( servernetadr_t* self, const servernetadr_t & rhs ); // gameserveritem_t S_API void SteamAPI_gameserveritem_t_Construct( gameserveritem_t* self ); S_API const char * SteamAPI_gameserveritem_t_GetName( gameserveritem_t* self ); S_API void SteamAPI_gameserveritem_t_SetName( gameserveritem_t* self, const char * pName ); +S_API bool SteamAPI_gameserveritem_t_IsEqualTo( gameserveritem_t* self, const gameserveritem_t & rhs ); // SteamNetworkingIPAddr S_API void SteamAPI_SteamNetworkingIPAddr_Clear( SteamNetworkingIPAddr* self ); diff --git a/extern/steamworks_sdk_164/sdk/public/steam/steam_api_internal.h b/extern/steamworks_sdk_165/sdk/public/steam/steam_api_internal.h similarity index 100% rename from extern/steamworks_sdk_164/sdk/public/steam/steam_api_internal.h rename to extern/steamworks_sdk_165/sdk/public/steam/steam_api_internal.h diff --git a/extern/steamworks_sdk_164/sdk/public/steam/steam_gameserver.h b/extern/steamworks_sdk_165/sdk/public/steam/steam_gameserver.h similarity index 100% rename from extern/steamworks_sdk_164/sdk/public/steam/steam_gameserver.h rename to extern/steamworks_sdk_165/sdk/public/steam/steam_gameserver.h diff --git a/extern/steamworks_sdk_164/sdk/public/steam/steamclientpublic.h b/extern/steamworks_sdk_165/sdk/public/steam/steamclientpublic.h similarity index 98% rename from extern/steamworks_sdk_164/sdk/public/steam/steamclientpublic.h rename to extern/steamworks_sdk_165/sdk/public/steam/steamclientpublic.h index 30da28a..4043743 100644 --- a/extern/steamworks_sdk_164/sdk/public/steam/steamclientpublic.h +++ b/extern/steamworks_sdk_165/sdk/public/steam/steamclientpublic.h @@ -932,7 +932,6 @@ public: k_EGameIDTypeApp = 0, k_EGameIDTypeGameMod = 1, k_EGameIDTypeShortcut = 2, - k_EGameIDTypeP2P = 3, }; CGameID() @@ -973,6 +972,24 @@ public: m_gameID.m_nType = nType; } + // Not validating anything .. use IsValid() + // Only for apps and shortcuts + explicit CGameID( uint32 nID, CGameID::EGameIDType nType ) + { + m_ulGameID = 0; + + if ( nType == k_EGameIDTypeApp ) + { + m_gameID.m_nType = nType; + m_gameID.m_nAppID = nID; + } + else if ( nType == k_EGameIDTypeShortcut ) + { + m_gameID.m_nType = nType; + m_gameID.m_nModID = nID; + } + } + CGameID( const CGameID &that ) { m_ulGameID = that.m_ulGameID; @@ -1014,11 +1031,6 @@ public: return ( m_gameID.m_nType == k_EGameIDTypeShortcut ); } - bool IsP2PFile() const - { - return ( m_gameID.m_nType == k_EGameIDTypeP2P ); - } - bool IsSteamApp() const { return ( m_gameID.m_nType == k_EGameIDTypeApp ); @@ -1026,17 +1038,13 @@ public: uint32 ModID() const { - return m_gameID.m_nModID; + return ( m_gameID.m_nType == k_EGameIDTypeShortcut ) ? 0: m_gameID.m_nModID; } -#if !defined(VALVE_SHORTCUT_DEBUG) - uint32 AppID( bool = false ) const + uint32 AppID() const { - return m_gameID.m_nAppID; + return ( m_gameID.m_nType == k_EGameIDTypeShortcut ) ? m_gameID.m_nModID : m_gameID.m_nAppID; } -#else - uint32 AppID( bool bShortcutOK = false ) const; -#endif bool operator == ( const CGameID &rhs ) const { @@ -1069,9 +1077,6 @@ public: && (m_gameID.m_nModID & 0x80000000) && m_gameID.m_nModID >= (5000 | 0x80000000); // k_unMaxExpectedLocalAppId - shortcuts are pushed beyond that range - case k_EGameIDTypeP2P: - return m_gameID.m_nAppID == k_uAppIdInvalid && (m_gameID.m_nModID & 0x80000000); - default: return false; } diff --git a/extern/steamworks_sdk_164/sdk/public/steam/steamencryptedappticket.h b/extern/steamworks_sdk_165/sdk/public/steam/steamencryptedappticket.h similarity index 100% rename from extern/steamworks_sdk_164/sdk/public/steam/steamencryptedappticket.h rename to extern/steamworks_sdk_165/sdk/public/steam/steamencryptedappticket.h diff --git a/extern/steamworks_sdk_164/sdk/public/steam/steamhttpenums.h b/extern/steamworks_sdk_165/sdk/public/steam/steamhttpenums.h similarity index 100% rename from extern/steamworks_sdk_164/sdk/public/steam/steamhttpenums.h rename to extern/steamworks_sdk_165/sdk/public/steam/steamhttpenums.h diff --git a/extern/steamworks_sdk_164/sdk/public/steam/steamnetworkingfakeip.h b/extern/steamworks_sdk_165/sdk/public/steam/steamnetworkingfakeip.h similarity index 100% rename from extern/steamworks_sdk_164/sdk/public/steam/steamnetworkingfakeip.h rename to extern/steamworks_sdk_165/sdk/public/steam/steamnetworkingfakeip.h diff --git a/extern/steamworks_sdk_164/sdk/public/steam/steamnetworkingtypes.h b/extern/steamworks_sdk_165/sdk/public/steam/steamnetworkingtypes.h similarity index 99% rename from extern/steamworks_sdk_164/sdk/public/steam/steamnetworkingtypes.h rename to extern/steamworks_sdk_165/sdk/public/steam/steamnetworkingtypes.h index 02fc6be..265646e 100644 --- a/extern/steamworks_sdk_164/sdk/public/steam/steamnetworkingtypes.h +++ b/extern/steamworks_sdk_165/sdk/public/steam/steamnetworkingtypes.h @@ -1787,7 +1787,7 @@ struct SteamNetworkingConfigValue_t inline void SetString( ESteamNetworkingConfigValue eVal, const char *data ) // WARNING - Just saves your pointer. Does NOT make a copy of the string { m_eValue = eVal; - m_eDataType = k_ESteamNetworkingConfig_Ptr; + m_eDataType = k_ESteamNetworkingConfig_String; m_val.m_string = data; } }; @@ -1897,7 +1897,7 @@ typedef SteamNetworkingMessage_t ISteamNetworkingMessage; typedef SteamNetworkingErrMsg SteamDatagramErrMsg; inline void SteamNetworkingIPAddr::Clear() { memset( this, 0, sizeof(*this) ); } -inline bool SteamNetworkingIPAddr::IsIPv6AllZeros() const { const uint64 *q = (const uint64 *)m_ipv6; return q[0] == 0 && q[1] == 0; } +inline bool SteamNetworkingIPAddr::IsIPv6AllZeros() const { uint64 q[2] = {}; memcpy(q, m_ipv6, sizeof(m_ipv6)); return q[0] == 0 && q[1] == 0; } inline void SteamNetworkingIPAddr::SetIPv6( const uint8 *ipv6, uint16 nPort ) { memcpy( m_ipv6, ipv6, 16 ); m_port = nPort; } inline void SteamNetworkingIPAddr::SetIPv4( uint32 nIP, uint16 nPort ) { m_ipv4.m_8zeros = 0; m_ipv4.m_0000 = 0; m_ipv4.m_ffff = 0xffff; m_ipv4.m_ip[0] = uint8(nIP>>24); m_ipv4.m_ip[1] = uint8(nIP>>16); m_ipv4.m_ip[2] = uint8(nIP>>8); m_ipv4.m_ip[3] = uint8(nIP); m_port = nPort; } inline bool SteamNetworkingIPAddr::IsIPv4() const { return m_ipv4.m_8zeros == 0 && m_ipv4.m_0000 == 0 && m_ipv4.m_ffff == 0xffff; } diff --git a/extern/steamworks_sdk_164/sdk/public/steam/steamps3params.h b/extern/steamworks_sdk_165/sdk/public/steam/steamps3params.h similarity index 100% rename from extern/steamworks_sdk_164/sdk/public/steam/steamps3params.h rename to extern/steamworks_sdk_165/sdk/public/steam/steamps3params.h diff --git a/extern/steamworks_sdk_164/sdk/public/steam/steamtypes.h b/extern/steamworks_sdk_165/sdk/public/steam/steamtypes.h similarity index 100% rename from extern/steamworks_sdk_164/sdk/public/steam/steamtypes.h rename to extern/steamworks_sdk_165/sdk/public/steam/steamtypes.h diff --git a/extern/steamworks_sdk_164/sdk/public/steam/steamuniverse.h b/extern/steamworks_sdk_165/sdk/public/steam/steamuniverse.h similarity index 100% rename from extern/steamworks_sdk_164/sdk/public/steam/steamuniverse.h rename to extern/steamworks_sdk_165/sdk/public/steam/steamuniverse.h diff --git a/extern/steamworks_sdk_165/sdk/redistributable_bin/steam_api.dll b/extern/steamworks_sdk_165/sdk/redistributable_bin/steam_api.dll new file mode 100644 index 0000000..47280ef Binary files /dev/null and b/extern/steamworks_sdk_165/sdk/redistributable_bin/steam_api.dll differ diff --git a/extern/steamworks_sdk_165/sdk/redistributable_bin/steam_api.lib b/extern/steamworks_sdk_165/sdk/redistributable_bin/steam_api.lib new file mode 100644 index 0000000..5df8228 Binary files /dev/null and b/extern/steamworks_sdk_165/sdk/redistributable_bin/steam_api.lib differ diff --git a/pack-dist.ps1 b/pack-dist.ps1 index 2abed29..cd0ac0b 100644 --- a/pack-dist.ps1 +++ b/pack-dist.ps1 @@ -93,14 +93,22 @@ if (Test-Path $pdb) { Copy-Item $pdb $dist } # import - the game runs without it, with Steam features off. It ships # anyway because the retail build wants them. The Steam wire only # activates with RP412STEAM=1; plain desktop runs never touch it. -Copy-Item (Join-Path $root 'extern\steamworks_sdk_164\sdk\redistributable_bin\steam_api.dll') $dist +Copy-Item (Join-Path $root 'extern\steamworks_sdk_165\sdk\redistributable_bin\steam_api.dll') $dist -# steam_appid.txt: until RP412 has its own AppID, Steam testing runs -# under Spacewar (480). Without this file SteamAPI_Init fails and the -# game falls back to plain TCP - which is exactly the confusing symptom -# testers hit when the file goes missing. Delete it once we ship under -# our own AppID (the Steam client provides it then). -Set-Content -Path "$dist\steam_appid.txt" -Encoding ascii -Value '480' +# steam_appid.txt: Red Planet's own AppID, 5108000. It is what lets a +# build started straight from the folder - which is how every tester runs +# it - tell the Steam client which app it is. Without the file +# SteamAPI_Init fails and the game drops to plain TCP, which is exactly +# the confusing symptom testers hit when it goes missing. +# +# Unlike the Spacewar days this AppID is ours, so the Steam account +# running it has to actually have Red Planet on it. An account without it +# gets the TCP fallback, not the Steam wire. +# +# Retail builds launched BY the Steam client do not need this file at all +# - the client supplies the AppID - and Valve would rather it were not in +# the shipped depot. +Set-Content -Path "$dist\steam_appid.txt" -Encoding ascii -Value '5108000' # --- game data ------------------------------------------------------------- foreach ($dir in 'AUDIO', 'GAUGE', 'VIDEO') {