1
0
mirror of https://gitlab.com/kelteseth/ScreenPlay.git synced 2024-11-06 19:12:30 +01:00

Update steamSDK to 1.56

This commit is contained in:
Elias Steurer 2023-04-06 12:08:04 +02:00
parent aaa7159b29
commit 844215db5e
27 changed files with 313 additions and 192 deletions

View File

@ -45,7 +45,7 @@ STEAM_DEFINE_USER_INTERFACE_ACCESSOR(ISteamAppList*, SteamAppList, STEAMAPPLIST_
#endif #endif
//--------------------------------------------------------------------------------- //---------------------------------------------------------------------------------
// Purpose: Sent when a new app is installed // Purpose: Sent when a new app is installed (not downloaded yet)
//--------------------------------------------------------------------------------- //---------------------------------------------------------------------------------
STEAM_CALLBACK_BEGIN(SteamAppInstalled_t, k_iSteamAppListCallbacks + 1) STEAM_CALLBACK_BEGIN(SteamAppInstalled_t, k_iSteamAppListCallbacks + 1)
STEAM_CALLBACK_MEMBER(0, AppId_t, m_nAppID) // ID of the app that installs STEAM_CALLBACK_MEMBER(0, AppId_t, m_nAppID) // ID of the app that installs

View File

@ -133,26 +133,6 @@ struct DlcInstalled_t {
AppId_t m_nAppID; // AppID of the DLC AppId_t m_nAppID; // AppID of the DLC
}; };
//-----------------------------------------------------------------------------
// Purpose: possible results when registering an activation code
//-----------------------------------------------------------------------------
enum ERegisterActivationCodeResult {
k_ERegisterActivationCodeResultOK = 0,
k_ERegisterActivationCodeResultFail = 1,
k_ERegisterActivationCodeResultAlreadyRegistered = 2,
k_ERegisterActivationCodeResultTimeout = 3,
k_ERegisterActivationCodeAlreadyOwned = 4,
};
//-----------------------------------------------------------------------------
// Purpose: response to RegisterActivationCode()
//-----------------------------------------------------------------------------
struct RegisterActivationCodeResponse_t {
enum { k_iCallback = k_iSteamAppsCallbacks + 8 };
ERegisterActivationCodeResult m_eResult;
uint32 m_unPackageRegistered; // package that was registered. Only set on success
};
//--------------------------------------------------------------------------------- //---------------------------------------------------------------------------------
// Purpose: posted after the user gains executes a Steam URL with command line or query parameters // Purpose: posted after the user gains executes a Steam URL with command line or query parameters
// such as steam://run/<appid>//-commandline/?param1=value1&param2=value2&param3=value3 etc // such as steam://run/<appid>//-commandline/?param1=value1&param2=value2&param3=value3 etc

View File

@ -21,9 +21,9 @@
#define STEAM_CONTROLLER_MAX_COUNT 16 #define STEAM_CONTROLLER_MAX_COUNT 16
#define STEAM_CONTROLLER_MAX_ANALOG_ACTIONS 16 #define STEAM_CONTROLLER_MAX_ANALOG_ACTIONS 24
#define STEAM_CONTROLLER_MAX_DIGITAL_ACTIONS 128 #define STEAM_CONTROLLER_MAX_DIGITAL_ACTIONS 256
#define STEAM_CONTROLLER_MAX_ORIGINS 8 #define STEAM_CONTROLLER_MAX_ORIGINS 8
@ -446,6 +446,16 @@ enum EControllerActionOrigin {
k_EControllerActionOrigin_SteamDeck_Reserved19, k_EControllerActionOrigin_SteamDeck_Reserved19,
k_EControllerActionOrigin_SteamDeck_Reserved20, k_EControllerActionOrigin_SteamDeck_Reserved20,
k_EControllerActionOrigin_Switch_JoyConButton_N, // With a Horizontal JoyCon this will be Y or what would be Dpad Right when vertical
k_EControllerActionOrigin_Switch_JoyConButton_E, // X
k_EControllerActionOrigin_Switch_JoyConButton_S, // A
k_EControllerActionOrigin_Switch_JoyConButton_W, // B
k_EControllerActionOrigin_PS5_LeftGrip,
k_EControllerActionOrigin_PS5_RightGrip,
k_EControllerActionOrigin_PS5_LeftFn,
k_EControllerActionOrigin_PS5_RightFn,
k_EControllerActionOrigin_Count, // If Steam has added support for new controllers origins will go here. 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. k_EControllerActionOrigin_MaximumPossibleValue = 32767, // Origins are currently a maximum of 16 bits.
}; };
@ -523,6 +533,7 @@ typedef uint64 ControllerAnalogActionHandle_t;
#define ControllerAnalogActionData_t InputAnalogActionData_t #define ControllerAnalogActionData_t InputAnalogActionData_t
#define ControllerDigitalActionData_t InputDigitalActionData_t #define ControllerDigitalActionData_t InputDigitalActionData_t
#define ControllerMotionData_t InputMotionData_t #define ControllerMotionData_t InputMotionData_t
#define ControllerMotionDataV2_t InputMotionDataV2_t
#else #else
struct ControllerAnalogActionData_t { struct ControllerAnalogActionData_t {
// Type of data coming from this action, this will match what got specified in the action set // Type of data coming from this action, this will match what got specified in the action set

View File

@ -495,6 +495,8 @@ enum EPersonaChange {
struct GameOverlayActivated_t { struct GameOverlayActivated_t {
enum { k_iCallback = k_iSteamFriendsCallbacks + 31 }; enum { k_iCallback = k_iSteamFriendsCallbacks + 31 };
uint8 m_bActive; // true if it's just been activated, false otherwise uint8 m_bActive; // true if it's just been activated, false otherwise
bool m_bUserInitiated; // true if the user asked for the overlay to be activated/deactivated
AppId_t m_nAppID; // the appID of the game (should always be the current game)
}; };
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------

View File

@ -150,7 +150,9 @@ public:
// Retrieve ticket to be sent to the entity who wishes to authenticate you ( using BeginAuthSession API ). // Retrieve ticket to be sent to the entity who wishes to authenticate you ( using BeginAuthSession API ).
// pcbTicket retrieves the length of the actual ticket. // pcbTicket retrieves the length of the actual ticket.
virtual HAuthTicket GetAuthSessionTicket(void* pTicket, int cbMaxTicket, uint32* pcbTicket) = 0; // SteamNetworkingIdentity is an optional parameter to hold the public IP address of the entity you are connecting to
// if an IP address is passed Steam will only allow the ticket to be used by an entity with that IP address
virtual HAuthTicket GetAuthSessionTicket(void* pTicket, int cbMaxTicket, uint32* pcbTicket, const SteamNetworkingIdentity* pSnid) = 0;
// Authenticate ticket ( from GetAuthSessionTicket ) from entity steamID to be sure it is valid and isnt reused // Authenticate ticket ( from GetAuthSessionTicket ) from entity steamID to be sure it is valid and isnt reused
// Registers for callbacks if the entity goes offline or cancels the ticket ( see ValidateAuthTicketResponse_t callback and EAuthSessionResponse ) // Registers for callbacks if the entity goes offline or cancels the ticket ( see ValidateAuthTicketResponse_t callback and EAuthSessionResponse )
@ -257,7 +259,7 @@ public:
virtual void ForceMasterServerHeartbeat_DEPRECATED() = 0;) virtual void ForceMasterServerHeartbeat_DEPRECATED() = 0;)
}; };
#define STEAMGAMESERVER_INTERFACE_VERSION "SteamGameServer014" #define STEAMGAMESERVER_INTERFACE_VERSION "SteamGameServer015"
// Global accessor // Global accessor
inline ISteamGameServer* SteamGameServer(); inline ISteamGameServer* SteamGameServer();

View File

@ -17,9 +17,9 @@
#define STEAM_INPUT_MAX_COUNT 16 #define STEAM_INPUT_MAX_COUNT 16
#define STEAM_INPUT_MAX_ANALOG_ACTIONS 16 #define STEAM_INPUT_MAX_ANALOG_ACTIONS 24
#define STEAM_INPUT_MAX_DIGITAL_ACTIONS 128 #define STEAM_INPUT_MAX_DIGITAL_ACTIONS 256
#define STEAM_INPUT_MAX_ORIGINS 8 #define STEAM_INPUT_MAX_ORIGINS 8
@ -316,10 +316,10 @@ enum EInputActionOrigin {
k_EInputActionOrigin_Switch_LeftGrip_Upper, // Left JoyCon SL Button k_EInputActionOrigin_Switch_LeftGrip_Upper, // Left JoyCon SL Button
k_EInputActionOrigin_Switch_RightGrip_Lower, // Right JoyCon SL Button k_EInputActionOrigin_Switch_RightGrip_Lower, // Right JoyCon SL Button
k_EInputActionOrigin_Switch_RightGrip_Upper, // Right JoyCon SR Button k_EInputActionOrigin_Switch_RightGrip_Upper, // Right JoyCon SR Button
k_EInputActionOrigin_Switch_Reserved11, k_EInputActionOrigin_Switch_JoyConButton_N, // With a Horizontal JoyCon this will be Y or what would be Dpad Right when vertical
k_EInputActionOrigin_Switch_Reserved12, k_EInputActionOrigin_Switch_JoyConButton_E, // X
k_EInputActionOrigin_Switch_Reserved13, k_EInputActionOrigin_Switch_JoyConButton_S, // A
k_EInputActionOrigin_Switch_Reserved14, k_EInputActionOrigin_Switch_JoyConButton_W, // B
k_EInputActionOrigin_Switch_Reserved15, k_EInputActionOrigin_Switch_Reserved15,
k_EInputActionOrigin_Switch_Reserved16, k_EInputActionOrigin_Switch_Reserved16,
k_EInputActionOrigin_Switch_Reserved17, k_EInputActionOrigin_Switch_Reserved17,
@ -383,10 +383,10 @@ enum EInputActionOrigin {
k_EInputActionOrigin_PS5_Gyro_Yaw, k_EInputActionOrigin_PS5_Gyro_Yaw,
k_EInputActionOrigin_PS5_Gyro_Roll, k_EInputActionOrigin_PS5_Gyro_Roll,
k_EInputActionOrigin_PS5_DPad_Move, k_EInputActionOrigin_PS5_DPad_Move,
k_EInputActionOrigin_PS5_Reserved1, k_EInputActionOrigin_PS5_LeftGrip,
k_EInputActionOrigin_PS5_Reserved2, k_EInputActionOrigin_PS5_RightGrip,
k_EInputActionOrigin_PS5_Reserved3, k_EInputActionOrigin_PS5_LeftFn,
k_EInputActionOrigin_PS5_Reserved4, k_EInputActionOrigin_PS5_RightFn,
k_EInputActionOrigin_PS5_Reserved5, k_EInputActionOrigin_PS5_Reserved5,
k_EInputActionOrigin_PS5_Reserved6, k_EInputActionOrigin_PS5_Reserved6,
k_EInputActionOrigin_PS5_Reserved7, k_EInputActionOrigin_PS5_Reserved7,
@ -627,7 +627,7 @@ struct InputDigitalActionData_t {
}; };
struct InputMotionData_t { struct InputMotionData_t {
// Sensor-fused absolute rotation; will drift in heading // Sensor-fused absolute rotation; will drift in heading toward average
float rotQuatX; float rotQuatX;
float rotQuatY; float rotQuatY;
float rotQuatZ; float rotQuatZ;
@ -644,6 +644,55 @@ struct InputMotionData_t {
float rotVelZ; float rotVelZ;
}; };
struct InputMotionDataV2_t {
//
// Gyro post processing:
//
// Drift Corrected Quaternion is calculated after steam input controller calibration values have been applied.
// Rawest _useful_ version of a quaternion.
// Most camera implementations should use this by comparing last rotation against current rotation, and applying the difference to the in game camera (plus your own sensitivity tweaks)
// It is worth viewing
float driftCorrectedQuatX;
float driftCorrectedQuatY;
float driftCorrectedQuatZ;
float driftCorrectedQuatW;
// Sensor fusion corrects using accelerometer, and "average forward over time" for "forward".
// This can "ouija" your aim, so it's not so appropriate for camera controls (sensor fusion was originally made for racing game steering )
// Same result as from old InputMotionData_t::rotQuatX/Y/Z/W
float sensorFusionQuatX;
float sensorFusionQuatY;
float sensorFusionQuatZ;
float sensorFusionQuatW;
// Deferred Sensor fusion quaternion with deferred correction
// Reduces perception of "ouija" effect by only applying correction when the controller is below "low noise" thresholds,
// while the controller rotates fast - never when the user is attempting precision aim.
float deferredSensorFusionQuatX;
float deferredSensorFusionQuatY;
float deferredSensorFusionQuatZ;
float deferredSensorFusionQuatW;
// Same as accel but values are calibrated such that 1 unit = 1G.
// X = Right
// Y = Forward out through the joystick USB port.
// Z = Up through the joystick axis.
float gravityX;
float gravityY;
float gravityZ;
//
// Same as rotVel values in GetMotionData but values are calibrated to degrees per second.
// Local Space (controller relative)
// X = Pitch = left to right axis
// Y = Roll = axis through charging port
// Z = Yaw = axis through sticks
float degreesPerSecondX;
float degreesPerSecondY;
float degreesPerSecondZ;
};
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Purpose: when callbacks are enabled this fires each time a controller action // Purpose: when callbacks are enabled this fires each time a controller action
// state changes // state changes
@ -878,7 +927,7 @@ public:
// See isteamremoteplay.h for more information on Steam Remote Play sessions // See isteamremoteplay.h for more information on Steam Remote Play sessions
virtual uint32 GetRemotePlaySessionID(InputHandle_t inputHandle) = 0; virtual uint32 GetRemotePlaySessionID(InputHandle_t inputHandle) = 0;
// Get a bitmask of the Steam Input Configuration types opted in for the current session. Returns ESteamInputConfigurationEnableType values.? // Get a bitmask of the Steam Input Configuration types opted in for the current session. Returns ESteamInputConfigurationEnableType values.
// Note: user can override the settings from the Steamworks Partner site so the returned values may not exactly match your default configuration // Note: user can override the settings from the Steamworks Partner site so the returned values may not exactly match your default configuration
virtual uint16 GetSessionInputConfigurationSettings() = 0; virtual uint16 GetSessionInputConfigurationSettings() = 0;
@ -937,4 +986,4 @@ struct SteamInputConfigurationLoaded_t {
#pragma pack(pop) #pragma pack(pop)
#endif // ISTEAMINPUT_H #endif // ISTEAMINPUT_H

View File

@ -28,6 +28,7 @@ enum EParentalFeature {
k_EFeatureLibrary = 11, k_EFeatureLibrary = 11,
k_EFeatureTest = 12, k_EFeatureTest = 12,
k_EFeatureSiteLicense = 13, k_EFeatureSiteLicense = 13,
k_EFeatureKioskMode = 14,
k_EFeatureMax k_EFeatureMax
}; };

View File

@ -146,6 +146,14 @@ enum EItemPreviewType {
k_EItemPreviewType_ReservedMax = 255, // you can specify your own types above this value k_EItemPreviewType_ReservedMax = 255, // you can specify your own types above this value
}; };
enum EUGCContentDescriptorID {
k_EUGCContentDescriptor_NudityOrSexualContent = 1,
k_EUGCContentDescriptor_FrequentViolenceOrGore = 2,
k_EUGCContentDescriptor_AdultOnlySexualContent = 3,
k_EUGCContentDescriptor_GratuitousSexualContent = 4,
k_EUGCContentDescriptor_AnyMatureContent = 5,
};
const uint32 kNumUGCResultsPerPage = 50; const uint32 kNumUGCResultsPerPage = 50;
const uint32 k_cchDeveloperMetadataMax = 5000; const uint32 k_cchDeveloperMetadataMax = 5000;
@ -223,6 +231,8 @@ public:
STEAM_FLAT_NAME(GetQueryFirstUGCKeyValueTag) STEAM_FLAT_NAME(GetQueryFirstUGCKeyValueTag)
virtual bool GetQueryUGCKeyValueTag(UGCQueryHandle_t handle, uint32 index, const char* pchKey, STEAM_OUT_STRING_COUNT(cchValueSize) char* pchValue, uint32 cchValueSize) = 0; virtual bool GetQueryUGCKeyValueTag(UGCQueryHandle_t handle, uint32 index, const char* pchKey, STEAM_OUT_STRING_COUNT(cchValueSize) char* pchValue, uint32 cchValueSize) = 0;
virtual uint32 GetQueryUGCContentDescriptors(UGCQueryHandle_t handle, uint32 index, EUGCContentDescriptorID* pvecDescriptors, uint32 cMaxEntries) = 0;
// Release the request to free up memory, after retrieving results // Release the request to free up memory, after retrieving results
virtual bool ReleaseQueryUGCRequest(UGCQueryHandle_t handle) = 0; virtual bool ReleaseQueryUGCRequest(UGCQueryHandle_t handle) = 0;
@ -279,6 +289,8 @@ public:
virtual bool UpdateItemPreviewFile(UGCUpdateHandle_t handle, uint32 index, const char* pszPreviewFile) = 0; // updates an existing preview file for this item. pszPreviewFile points to local file, which must be under 1MB in size virtual bool UpdateItemPreviewFile(UGCUpdateHandle_t handle, uint32 index, const char* pszPreviewFile) = 0; // updates an existing preview file for this item. pszPreviewFile points to local file, which must be under 1MB in size
virtual bool UpdateItemPreviewVideo(UGCUpdateHandle_t handle, uint32 index, const char* pszVideoID) = 0; // updates an existing preview video for this item virtual bool UpdateItemPreviewVideo(UGCUpdateHandle_t handle, uint32 index, const char* pszVideoID) = 0; // updates an existing preview video for this item
virtual bool RemoveItemPreview(UGCUpdateHandle_t handle, uint32 index) = 0; // remove a preview by index starting at 0 (previews are sorted) virtual bool RemoveItemPreview(UGCUpdateHandle_t handle, uint32 index) = 0; // remove a preview by index starting at 0 (previews are sorted)
virtual bool AddContentDescriptor(UGCUpdateHandle_t handle, EUGCContentDescriptorID descid) = 0;
virtual bool RemoveContentDescriptor(UGCUpdateHandle_t handle, EUGCContentDescriptorID descid) = 0;
STEAM_CALL_RESULT(SubmitItemUpdateResult_t) STEAM_CALL_RESULT(SubmitItemUpdateResult_t)
virtual SteamAPICall_t SubmitItemUpdate(UGCUpdateHandle_t handle, const char* pchChangeNote) = 0; // commit update process started with StartItemUpdate() virtual SteamAPICall_t SubmitItemUpdate(UGCUpdateHandle_t handle, const char* pchChangeNote) = 0; // commit update process started with StartItemUpdate()
@ -357,7 +369,7 @@ public:
virtual SteamAPICall_t GetWorkshopEULAStatus() = 0; virtual SteamAPICall_t GetWorkshopEULAStatus() = 0;
}; };
#define STEAMUGC_INTERFACE_VERSION "STEAMUGC_INTERFACE_VERSION016" #define STEAMUGC_INTERFACE_VERSION "STEAMUGC_INTERFACE_VERSION017"
// Global interface accessor // Global interface accessor
inline ISteamUGC* SteamUGC(); inline ISteamUGC* SteamUGC();

View File

@ -123,7 +123,10 @@ public:
// Retrieve ticket to be sent to the entity who wishes to authenticate you. // Retrieve ticket to be sent to the entity who wishes to authenticate you.
// pcbTicket retrieves the length of the actual ticket. // pcbTicket retrieves the length of the actual ticket.
virtual HAuthTicket GetAuthSessionTicket(void* pTicket, int cbMaxTicket, uint32* pcbTicket) = 0; // SteamNetworkingIdentity is an optional input parameter to hold the public IP address or SteamID of the entity you are connecting to
// if an IP address is passed Steam will only allow the ticket to be used by an entity with that IP address
// if a Steam ID is passed Steam will only allow the ticket to be used by that Steam ID
virtual HAuthTicket GetAuthSessionTicket(void* pTicket, int cbMaxTicket, uint32* pcbTicket, const SteamNetworkingIdentity* pSteamNetworkingIdentity) = 0;
// Authenticate ticket from entity steamID to be sure it is valid and isnt reused // Authenticate ticket from entity steamID to be sure it is valid and isnt reused
// Registers for callbacks if the entity goes offline or cancels the ticket ( see ValidateAuthTicketResponse_t callback and EAuthSessionResponse ) // Registers for callbacks if the entity goes offline or cancels the ticket ( see ValidateAuthTicketResponse_t callback and EAuthSessionResponse )
@ -208,7 +211,7 @@ public:
virtual bool BSetDurationControlOnlineState(EDurationControlOnlineState eNewState) = 0; virtual bool BSetDurationControlOnlineState(EDurationControlOnlineState eNewState) = 0;
}; };
#define STEAMUSER_INTERFACE_VERSION "SteamUser021" #define STEAMUSER_INTERFACE_VERSION "SteamUser022"
// Global interface accessor // Global interface accessor
inline ISteamUser* SteamUser(); inline ISteamUser* SteamUser();
@ -224,11 +227,11 @@ STEAM_DEFINE_USER_INTERFACE_ACCESSOR(ISteamUser*, SteamUser, STEAMUSER_INTERFACE
#endif #endif
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Purpose: called when a connections to the Steam back-end has been established // Purpose: Called when an authenticated connection to the Steam back-end has been established.
// this means the Steam client now has a working connection to the Steam servers // This means the Steam client now has a working connection to the Steam servers.
// usually this will have occurred before the game has launched, and should // Usually this will have occurred before the game has launched, and should
// only be seen if the user has dropped connection due to a networking issue // only be seen if the user has dropped connection due to a networking issue
// or a Steam server update // or a Steam server update.
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
struct SteamServersConnected_t { struct SteamServersConnected_t {
enum { k_iCallback = k_iSteamUserCallbacks + 1 }; enum { k_iCallback = k_iSteamUserCallbacks + 1 };

View File

@ -6,9 +6,6 @@
#ifndef ISTEAMUTILS_H #ifndef ISTEAMUTILS_H
#define ISTEAMUTILS_H #define ISTEAMUTILS_H
#ifdef _WIN32
#pragma once
#endif
#include "steam_api_common.h" #include "steam_api_common.h"
@ -51,12 +48,6 @@ enum ETextFilteringContext {
k_ETextFilteringContextName = 3, // Character or item name k_ETextFilteringContextName = 3, // Character or item name
}; };
// function prototype for warning message hook
#if defined(POSIX)
#define __cdecl
#endif
extern "C" typedef void(__cdecl* SteamAPIWarningMessageHook_t)(int, const char*);
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Purpose: interface to user independent utility functions // Purpose: interface to user independent utility functions
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
@ -295,6 +286,7 @@ struct GamepadTextInputDismissed_t {
enum { k_iCallback = k_iSteamUtilsCallbacks + 14 }; enum { k_iCallback = k_iSteamUtilsCallbacks + 14 };
bool m_bSubmitted; // true if user entered & accepted text (Call ISteamUtils::GetEnteredGamepadTextInput() for text), false if canceled input bool m_bSubmitted; // true if user entered & accepted text (Call ISteamUtils::GetEnteredGamepadTextInput() for text), false if canceled input
uint32 m_unSubmittedText; uint32 m_unSubmittedText;
AppId_t m_unAppID;
}; };
// k_iSteamUtilsCallbacks + 15 through 35 are taken // k_iSteamUtilsCallbacks + 15 through 35 are taken
@ -311,6 +303,14 @@ struct FloatingGamepadTextInputDismissed_t {
enum { k_iCallback = k_iSteamUtilsCallbacks + 38 }; enum { k_iCallback = k_iSteamUtilsCallbacks + 38 };
}; };
//-----------------------------------------------------------------------------
// The text filtering dictionary has changed
//-----------------------------------------------------------------------------
struct FilterTextDictionaryChanged_t {
enum { k_iCallback = k_iSteamUtilsCallbacks + 39 };
int m_eLanguage; // One of ELanguage, or k_LegallyRequiredFiltering
};
#pragma pack(pop) #pragma pack(pop)
#endif // ISTEAMUTILS_H #endif // ISTEAMUTILS_H

View File

@ -8,16 +8,6 @@
#ifndef MATCHMAKINGTYPES_H #ifndef MATCHMAKINGTYPES_H
#define MATCHMAKINGTYPES_H #define MATCHMAKINGTYPES_H
#ifdef _WIN32
#pragma once
#endif
#ifdef POSIX
#ifndef _snprintf
#define _snprintf snprintf
#endif
#endif
#include <stdio.h> #include <stdio.h>
#include <string.h> #include <string.h>
@ -68,9 +58,6 @@ public:
} }
void Init(unsigned int ip, uint16 usQueryPort, uint16 usConnectionPort); void Init(unsigned int ip, uint16 usQueryPort, uint16 usConnectionPort);
#ifdef NETADR_H
netadr_t GetIPAndQueryPort();
#endif
// Access the query port. // Access the query port.
uint16 GetQueryPort() const; uint16 GetQueryPort() const;
@ -111,13 +98,6 @@ inline void servernetadr_t::Init(unsigned int ip, uint16 usQueryPort, uint16 usC
m_usConnectionPort = usConnectionPort; m_usConnectionPort = usConnectionPort;
} }
#ifdef NETADR_H
inline netadr_t servernetadr_t::GetIPAndQueryPort()
{
return netadr_t(m_unIP, m_usQueryPort);
}
#endif
inline uint16 servernetadr_t::GetQueryPort() const inline uint16 servernetadr_t::GetQueryPort() const
{ {
return m_usQueryPort; return m_usQueryPort;
@ -154,9 +134,9 @@ inline const char* servernetadr_t::ToString(uint32 unIP, uint16 usPort) const
static int nBuf = 0; static int nBuf = 0;
unsigned char* ipByte = (unsigned char*)&unIP; unsigned char* ipByte = (unsigned char*)&unIP;
#ifdef VALVE_BIG_ENDIAN #ifdef VALVE_BIG_ENDIAN
_snprintf(s[nBuf], sizeof(s[nBuf]), "%u.%u.%u.%u:%i", (int)(ipByte[0]), (int)(ipByte[1]), (int)(ipByte[2]), (int)(ipByte[3]), usPort); snprintf(s[nBuf], sizeof(s[nBuf]), "%u.%u.%u.%u:%i", (int)(ipByte[0]), (int)(ipByte[1]), (int)(ipByte[2]), (int)(ipByte[3]), usPort);
#else #else
_snprintf(s[nBuf], sizeof(s[nBuf]), "%u.%u.%u.%u:%i", (int)(ipByte[3]), (int)(ipByte[2]), (int)(ipByte[1]), (int)(ipByte[0]), usPort); snprintf(s[nBuf], sizeof(s[nBuf]), "%u.%u.%u.%u:%i", (int)(ipByte[3]), (int)(ipByte[2]), (int)(ipByte[1]), (int)(ipByte[0]), usPort);
#endif #endif
const char* pchRet = s[nBuf]; const char* pchRet = s[nBuf];
++nBuf; ++nBuf;

View File

@ -136,7 +136,9 @@
{ {
"callback_id": 331, "callback_id": 331,
"fields": [ "fields": [
{ "fieldname":"m_bActive", "fieldtype":"uint8" } { "fieldname":"m_bActive", "fieldtype":"uint8" },
{ "fieldname":"m_bUserInitiated", "fieldtype":"bool" },
{ "fieldname":"m_nAppID", "fieldtype":"AppId_t" }
], ],
"struct": "GameOverlayActivated_t" "struct": "GameOverlayActivated_t"
}, },
@ -347,7 +349,8 @@
"callback_id": 714, "callback_id": 714,
"fields": [ "fields": [
{ "fieldname":"m_bSubmitted", "fieldtype":"bool" }, { "fieldname":"m_bSubmitted", "fieldtype":"bool" },
{ "fieldname":"m_unSubmittedText", "fieldtype":"uint32" } { "fieldname":"m_unSubmittedText", "fieldtype":"uint32" },
{ "fieldname":"m_unAppID", "fieldtype":"AppId_t" }
], ],
"struct": "GamepadTextInputDismissed_t" "struct": "GamepadTextInputDismissed_t"
}, },
@ -361,6 +364,13 @@
"fields": [], "fields": [],
"struct": "FloatingGamepadTextInputDismissed_t" "struct": "FloatingGamepadTextInputDismissed_t"
}, },
{
"callback_id": 739,
"fields": [
{ "fieldname":"m_eLanguage", "fieldtype":"int" }
],
"struct": "FilterTextDictionaryChanged_t"
},
{ {
"callback_id": 502, "callback_id": 502,
"fields": [ "fields": [
@ -968,14 +978,6 @@
], ],
"struct": "DlcInstalled_t" "struct": "DlcInstalled_t"
}, },
{
"callback_id": 1008,
"fields": [
{ "fieldname":"m_eResult", "fieldtype":"ERegisterActivationCodeResult" },
{ "fieldname":"m_unPackageRegistered", "fieldtype":"uint32" }
],
"struct": "RegisterActivationCodeResponse_t"
},
{ {
"callback_id": 1014, "callback_id": 1014,
"fields": [], "fields": [],
@ -2162,7 +2164,8 @@
{ "name":"k_EAuthSessionResponseAuthTicketCanceled", "value":"6" }, { "name":"k_EAuthSessionResponseAuthTicketCanceled", "value":"6" },
{ "name":"k_EAuthSessionResponseAuthTicketInvalidAlreadyUsed", "value":"7" }, { "name":"k_EAuthSessionResponseAuthTicketInvalidAlreadyUsed", "value":"7" },
{ "name":"k_EAuthSessionResponseAuthTicketInvalid", "value":"8" }, { "name":"k_EAuthSessionResponseAuthTicketInvalid", "value":"8" },
{ "name":"k_EAuthSessionResponsePublisherIssuedBan", "value":"9" } { "name":"k_EAuthSessionResponsePublisherIssuedBan", "value":"9" },
{ "name":"k_EAuthSessionResponseAuthTicketNetworkIdentityFailure", "value":"10" }
] ]
}, },
{ {
@ -2236,6 +2239,7 @@
{ {
"enumname": "ENotificationPosition", "enumname": "ENotificationPosition",
"values": [ "values": [
{ "name":"k_EPositionInvalid", "value":"-1" },
{ "name":"k_EPositionTopLeft", "value":"0" }, { "name":"k_EPositionTopLeft", "value":"0" },
{ "name":"k_EPositionTopRight", "value":"1" }, { "name":"k_EPositionTopRight", "value":"1" },
{ "name":"k_EPositionBottomLeft", "value":"2" }, { "name":"k_EPositionBottomLeft", "value":"2" },
@ -2743,16 +2747,6 @@
{ "name":"k_ELeaderboardUploadScoreMethodForceUpdate", "value":"2" } { "name":"k_ELeaderboardUploadScoreMethodForceUpdate", "value":"2" }
] ]
}, },
{
"enumname": "ERegisterActivationCodeResult",
"values": [
{ "name":"k_ERegisterActivationCodeResultOK", "value":"0" },
{ "name":"k_ERegisterActivationCodeResultFail", "value":"1" },
{ "name":"k_ERegisterActivationCodeResultAlreadyRegistered", "value":"2" },
{ "name":"k_ERegisterActivationCodeResultTimeout", "value":"3" },
{ "name":"k_ERegisterActivationCodeAlreadyOwned", "value":"4" }
]
},
{ {
"enumname": "EP2PSessionError", "enumname": "EP2PSessionError",
"values": [ "values": [
@ -2850,6 +2844,7 @@
{ "name":"k_EHTTPStatusCode304NotModified", "value":"304" }, { "name":"k_EHTTPStatusCode304NotModified", "value":"304" },
{ "name":"k_EHTTPStatusCode305UseProxy", "value":"305" }, { "name":"k_EHTTPStatusCode305UseProxy", "value":"305" },
{ "name":"k_EHTTPStatusCode307TemporaryRedirect", "value":"307" }, { "name":"k_EHTTPStatusCode307TemporaryRedirect", "value":"307" },
{ "name":"k_EHTTPStatusCode308PermanentRedirect", "value":"308" },
{ "name":"k_EHTTPStatusCode400BadRequest", "value":"400" }, { "name":"k_EHTTPStatusCode400BadRequest", "value":"400" },
{ "name":"k_EHTTPStatusCode401Unauthorized", "value":"401" }, { "name":"k_EHTTPStatusCode401Unauthorized", "value":"401" },
{ "name":"k_EHTTPStatusCode402PaymentRequired", "value":"402" }, { "name":"k_EHTTPStatusCode402PaymentRequired", "value":"402" },
@ -3153,10 +3148,10 @@
{ "name":"k_EInputActionOrigin_Switch_LeftGrip_Upper", "value":"245" }, { "name":"k_EInputActionOrigin_Switch_LeftGrip_Upper", "value":"245" },
{ "name":"k_EInputActionOrigin_Switch_RightGrip_Lower", "value":"246" }, { "name":"k_EInputActionOrigin_Switch_RightGrip_Lower", "value":"246" },
{ "name":"k_EInputActionOrigin_Switch_RightGrip_Upper", "value":"247" }, { "name":"k_EInputActionOrigin_Switch_RightGrip_Upper", "value":"247" },
{ "name":"k_EInputActionOrigin_Switch_Reserved11", "value":"248" }, { "name":"k_EInputActionOrigin_Switch_JoyConButton_N", "value":"248" },
{ "name":"k_EInputActionOrigin_Switch_Reserved12", "value":"249" }, { "name":"k_EInputActionOrigin_Switch_JoyConButton_E", "value":"249" },
{ "name":"k_EInputActionOrigin_Switch_Reserved13", "value":"250" }, { "name":"k_EInputActionOrigin_Switch_JoyConButton_S", "value":"250" },
{ "name":"k_EInputActionOrigin_Switch_Reserved14", "value":"251" }, { "name":"k_EInputActionOrigin_Switch_JoyConButton_W", "value":"251" },
{ "name":"k_EInputActionOrigin_Switch_Reserved15", "value":"252" }, { "name":"k_EInputActionOrigin_Switch_Reserved15", "value":"252" },
{ "name":"k_EInputActionOrigin_Switch_Reserved16", "value":"253" }, { "name":"k_EInputActionOrigin_Switch_Reserved16", "value":"253" },
{ "name":"k_EInputActionOrigin_Switch_Reserved17", "value":"254" }, { "name":"k_EInputActionOrigin_Switch_Reserved17", "value":"254" },
@ -3218,10 +3213,10 @@
{ "name":"k_EInputActionOrigin_PS5_Gyro_Yaw", "value":"310" }, { "name":"k_EInputActionOrigin_PS5_Gyro_Yaw", "value":"310" },
{ "name":"k_EInputActionOrigin_PS5_Gyro_Roll", "value":"311" }, { "name":"k_EInputActionOrigin_PS5_Gyro_Roll", "value":"311" },
{ "name":"k_EInputActionOrigin_PS5_DPad_Move", "value":"312" }, { "name":"k_EInputActionOrigin_PS5_DPad_Move", "value":"312" },
{ "name":"k_EInputActionOrigin_PS5_Reserved1", "value":"313" }, { "name":"k_EInputActionOrigin_PS5_LeftGrip", "value":"313" },
{ "name":"k_EInputActionOrigin_PS5_Reserved2", "value":"314" }, { "name":"k_EInputActionOrigin_PS5_RightGrip", "value":"314" },
{ "name":"k_EInputActionOrigin_PS5_Reserved3", "value":"315" }, { "name":"k_EInputActionOrigin_PS5_LeftFn", "value":"315" },
{ "name":"k_EInputActionOrigin_PS5_Reserved4", "value":"316" }, { "name":"k_EInputActionOrigin_PS5_RightFn", "value":"316" },
{ "name":"k_EInputActionOrigin_PS5_Reserved5", "value":"317" }, { "name":"k_EInputActionOrigin_PS5_Reserved5", "value":"317" },
{ "name":"k_EInputActionOrigin_PS5_Reserved6", "value":"318" }, { "name":"k_EInputActionOrigin_PS5_Reserved6", "value":"318" },
{ "name":"k_EInputActionOrigin_PS5_Reserved7", "value":"319" }, { "name":"k_EInputActionOrigin_PS5_Reserved7", "value":"319" },
@ -3818,7 +3813,15 @@
{ "name":"k_EControllerActionOrigin_SteamDeck_Reserved18", "value":"375" }, { "name":"k_EControllerActionOrigin_SteamDeck_Reserved18", "value":"375" },
{ "name":"k_EControllerActionOrigin_SteamDeck_Reserved19", "value":"376" }, { "name":"k_EControllerActionOrigin_SteamDeck_Reserved19", "value":"376" },
{ "name":"k_EControllerActionOrigin_SteamDeck_Reserved20", "value":"377" }, { "name":"k_EControllerActionOrigin_SteamDeck_Reserved20", "value":"377" },
{ "name":"k_EControllerActionOrigin_Count", "value":"378" }, { "name":"k_EControllerActionOrigin_Switch_JoyConButton_N", "value":"378" },
{ "name":"k_EControllerActionOrigin_Switch_JoyConButton_E", "value":"379" },
{ "name":"k_EControllerActionOrigin_Switch_JoyConButton_S", "value":"380" },
{ "name":"k_EControllerActionOrigin_Switch_JoyConButton_W", "value":"381" },
{ "name":"k_EControllerActionOrigin_PS5_LeftGrip", "value":"382" },
{ "name":"k_EControllerActionOrigin_PS5_RightGrip", "value":"383" },
{ "name":"k_EControllerActionOrigin_PS5_LeftFn", "value":"384" },
{ "name":"k_EControllerActionOrigin_PS5_RightFn", "value":"385" },
{ "name":"k_EControllerActionOrigin_Count", "value":"386" },
{ "name":"k_EControllerActionOrigin_MaximumPossibleValue", "value":"32767" } { "name":"k_EControllerActionOrigin_MaximumPossibleValue", "value":"32767" }
] ]
}, },
@ -3951,6 +3954,16 @@
{ "name":"k_EItemPreviewType_ReservedMax", "value":"255" } { "name":"k_EItemPreviewType_ReservedMax", "value":"255" }
] ]
}, },
{
"enumname": "EUGCContentDescriptorID",
"values": [
{ "name":"k_EUGCContentDescriptor_NudityOrSexualContent", "value":"1" },
{ "name":"k_EUGCContentDescriptor_FrequentViolenceOrGore", "value":"2" },
{ "name":"k_EUGCContentDescriptor_AdultOnlySexualContent", "value":"3" },
{ "name":"k_EUGCContentDescriptor_GratuitousSexualContent", "value":"4" },
{ "name":"k_EUGCContentDescriptor_AnyMatureContent", "value":"5" }
]
},
{ {
"enumname": "ESteamItemFlags", "enumname": "ESteamItemFlags",
"values": [ "values": [
@ -3976,7 +3989,8 @@
{ "name":"k_EFeatureLibrary", "value":"11" }, { "name":"k_EFeatureLibrary", "value":"11" },
{ "name":"k_EFeatureTest", "value":"12" }, { "name":"k_EFeatureTest", "value":"12" },
{ "name":"k_EFeatureSiteLicense", "value":"13" }, { "name":"k_EFeatureSiteLicense", "value":"13" },
{ "name":"k_EFeatureMax", "value":"14" } { "name":"k_EFeatureKioskMode", "value":"14" },
{ "name":"k_EFeatureMax", "value":"15" }
] ]
}, },
{ {
@ -4556,7 +4570,7 @@
{ {
"kind": "user", "kind": "user",
"name": "SteamUser", "name": "SteamUser",
"name_flat": "SteamAPI_SteamUser_v021" "name_flat": "SteamAPI_SteamUser_v022"
} }
], ],
"classname": "ISteamUser", "classname": "ISteamUser",
@ -4685,7 +4699,8 @@
"params": [ "params": [
{ "paramname":"pTicket", "paramtype":"void *" }, { "paramname":"pTicket", "paramtype":"void *" },
{ "paramname":"cbMaxTicket", "paramtype":"int" }, { "paramname":"cbMaxTicket", "paramtype":"int" },
{ "paramname":"pcbTicket", "paramtype":"uint32 *" } { "paramname":"pcbTicket", "paramtype":"uint32 *" },
{ "paramname":"pSteamNetworkingIdentity", "paramtype":"const SteamNetworkingIdentity *" }
], ],
"returntype": "HAuthTicket" "returntype": "HAuthTicket"
}, },
@ -4831,7 +4846,7 @@
"returntype": "bool" "returntype": "bool"
} }
], ],
"version_string": "SteamUser021" "version_string": "SteamUser022"
}, },
{ {
"accessors": [ "accessors": [
@ -9735,12 +9750,12 @@
{ {
"kind": "user", "kind": "user",
"name": "SteamUGC", "name": "SteamUGC",
"name_flat": "SteamAPI_SteamUGC_v016" "name_flat": "SteamAPI_SteamUGC_v017"
}, },
{ {
"kind": "gameserver", "kind": "gameserver",
"name": "SteamGameServerUGC", "name": "SteamGameServerUGC",
"name_flat": "SteamAPI_SteamGameServerUGC_v016" "name_flat": "SteamAPI_SteamGameServerUGC_v017"
} }
], ],
"classname": "ISteamUGC", "classname": "ISteamUGC",
@ -9984,6 +9999,17 @@
], ],
"returntype": "bool" "returntype": "bool"
}, },
{
"methodname": "GetQueryUGCContentDescriptors",
"methodname_flat": "SteamAPI_ISteamUGC_GetQueryUGCContentDescriptors",
"params": [
{ "paramname":"handle", "paramtype":"UGCQueryHandle_t" },
{ "paramname":"index", "paramtype":"uint32" },
{ "paramname":"pvecDescriptors", "paramtype":"EUGCContentDescriptorID *" },
{ "paramname":"cMaxEntries", "paramtype":"uint32" }
],
"returntype": "uint32"
},
{ {
"methodname": "ReleaseQueryUGCRequest", "methodname": "ReleaseQueryUGCRequest",
"methodname_flat": "SteamAPI_ISteamUGC_ReleaseQueryUGCRequest", "methodname_flat": "SteamAPI_ISteamUGC_ReleaseQueryUGCRequest",
@ -10360,6 +10386,24 @@
], ],
"returntype": "bool" "returntype": "bool"
}, },
{
"methodname": "AddContentDescriptor",
"methodname_flat": "SteamAPI_ISteamUGC_AddContentDescriptor",
"params": [
{ "paramname":"handle", "paramtype":"UGCUpdateHandle_t" },
{ "paramname":"descid", "paramtype":"EUGCContentDescriptorID" }
],
"returntype": "bool"
},
{
"methodname": "RemoveContentDescriptor",
"methodname_flat": "SteamAPI_ISteamUGC_RemoveContentDescriptor",
"params": [
{ "paramname":"handle", "paramtype":"UGCUpdateHandle_t" },
{ "paramname":"descid", "paramtype":"EUGCContentDescriptorID" }
],
"returntype": "bool"
},
{ {
"callresult": "SubmitItemUpdateResult_t", "callresult": "SubmitItemUpdateResult_t",
"methodname": "SubmitItemUpdate", "methodname": "SubmitItemUpdate",
@ -10611,7 +10655,7 @@
"returntype": "SteamAPICall_t" "returntype": "SteamAPICall_t"
} }
], ],
"version_string": "STEAMUGC_INTERFACE_VERSION016" "version_string": "STEAMUGC_INTERFACE_VERSION017"
}, },
{ {
"accessors": [ "accessors": [
@ -12675,7 +12719,7 @@
{ {
"kind": "gameserver", "kind": "gameserver",
"name": "SteamGameServer", "name": "SteamGameServer",
"name_flat": "SteamAPI_SteamGameServer_v014" "name_flat": "SteamAPI_SteamGameServer_v015"
} }
], ],
"classname": "ISteamGameServer", "classname": "ISteamGameServer",
@ -12867,7 +12911,8 @@
"params": [ "params": [
{ "paramname":"pTicket", "paramtype":"void *" }, { "paramname":"pTicket", "paramtype":"void *" },
{ "paramname":"cbMaxTicket", "paramtype":"int" }, { "paramname":"cbMaxTicket", "paramtype":"int" },
{ "paramname":"pcbTicket", "paramtype":"uint32 *" } { "paramname":"pcbTicket", "paramtype":"uint32 *" },
{ "paramname":"pSnid", "paramtype":"const SteamNetworkingIdentity *" }
], ],
"returntype": "HAuthTicket" "returntype": "HAuthTicket"
}, },
@ -13011,7 +13056,7 @@
"returntype": "bool" "returntype": "bool"
} }
], ],
"version_string": "SteamGameServer014" "version_string": "SteamGameServer015"
}, },
{ {
"accessors": [ "accessors": [
@ -13431,6 +13476,29 @@
], ],
"struct": "InputMotionData_t" "struct": "InputMotionData_t"
}, },
{
"fields": [
{ "fieldname":"driftCorrectedQuatX", "fieldtype":"float" },
{ "fieldname":"driftCorrectedQuatY", "fieldtype":"float" },
{ "fieldname":"driftCorrectedQuatZ", "fieldtype":"float" },
{ "fieldname":"driftCorrectedQuatW", "fieldtype":"float" },
{ "fieldname":"sensorFusionQuatX", "fieldtype":"float" },
{ "fieldname":"sensorFusionQuatY", "fieldtype":"float" },
{ "fieldname":"sensorFusionQuatZ", "fieldtype":"float" },
{ "fieldname":"sensorFusionQuatW", "fieldtype":"float" },
{ "fieldname":"deferredSensorFusionQuatX", "fieldtype":"float" },
{ "fieldname":"deferredSensorFusionQuatY", "fieldtype":"float" },
{ "fieldname":"deferredSensorFusionQuatZ", "fieldtype":"float" },
{ "fieldname":"deferredSensorFusionQuatW", "fieldtype":"float" },
{ "fieldname":"gravityX", "fieldtype":"float" },
{ "fieldname":"gravityY", "fieldtype":"float" },
{ "fieldname":"gravityZ", "fieldtype":"float" },
{ "fieldname":"degreesPerSecondX", "fieldtype":"float" },
{ "fieldname":"degreesPerSecondY", "fieldtype":"float" },
{ "fieldname":"degreesPerSecondZ", "fieldtype":"float" }
],
"struct": "InputMotionDataV2_t"
},
{ {
"fields": [ "fields": [
{ "fieldname":"controllerHandle", "fieldtype":"InputHandle_t" }, { "fieldname":"controllerHandle", "fieldtype":"InputHandle_t" },

View File

@ -9,9 +9,6 @@
#ifndef STEAM_API_COMMON_H #ifndef STEAM_API_COMMON_H
#define STEAM_API_COMMON_H #define STEAM_API_COMMON_H
#ifdef _WIN32
#pragma once
#endif
#include "steamclientpublic.h" #include "steamclientpublic.h"
#include "steamtypes.h" #include "steamtypes.h"
@ -25,7 +22,7 @@
#else #else
#define S_API extern "C" __declspec(dllimport) #define S_API extern "C" __declspec(dllimport)
#endif // STEAM_API_EXPORTS #endif // STEAM_API_EXPORTS
#elif defined(GNUC) #elif defined(__GNUC__)
#if defined(STEAM_API_EXPORTS) #if defined(STEAM_API_EXPORTS)
#define S_API extern "C" __attribute__((visibility("default"))) #define S_API extern "C" __attribute__((visibility("default")))
#else #else
@ -53,12 +50,18 @@ protected: \
typedef int32 HSteamPipe; typedef int32 HSteamPipe;
// handle to single instance of a steam user // handle to single instance of a steam user
typedef int32 HSteamUser; typedef int32 HSteamUser;
// function prototype
#if defined(POSIX) // #define away __cdecl on posix.
// This is really, really bad. We're sorry. But it's been this way for
// a long time now and it's scary to change it, as there may be others that
// depend on it.
#ifndef _WIN32
#define __cdecl #define __cdecl
#endif #endif
extern "C" typedef void(__cdecl* SteamAPIWarningMessageHook_t)(int, const char*);
extern "C" typedef uint32 (*SteamAPI_CheckCallbackRegistered_t)(int iCallbackNum); // function prototype
extern "C" typedef void(S_CALLTYPE* SteamAPIWarningMessageHook_t)(int, const char*);
extern "C" typedef uint32(S_CALLTYPE* SteamAPI_CheckCallbackRegistered_t)(int iCallbackNum);
#if defined(__SNC__) #if defined(__SNC__)
#pragma diag_suppress = 1700 // warning 1700: class "%s" has virtual functions but non-virtual destructor #pragma diag_suppress = 1700 // warning 1700: class "%s" has virtual functions but non-virtual destructor
#endif #endif

View File

@ -56,9 +56,9 @@ S_API ISteamRemotePlay* SteamAPI_ISteamClient_GetISteamRemotePlay(ISteamClient*
// ISteamUser // ISteamUser
// A versioned accessor is exported by the library // A versioned accessor is exported by the library
S_API ISteamUser* SteamAPI_SteamUser_v021(); S_API ISteamUser* SteamAPI_SteamUser_v022();
// Inline, unversioned accessor to get the current version. Essentially the same as SteamUser(), but using this ensures that you are using a matching library. // Inline, unversioned accessor to get the current version. Essentially the same as SteamUser(), but using this ensures that you are using a matching library.
inline ISteamUser* SteamAPI_SteamUser() { return SteamAPI_SteamUser_v021(); } inline ISteamUser* SteamAPI_SteamUser() { return SteamAPI_SteamUser_v022(); }
S_API HSteamUser SteamAPI_ISteamUser_GetHSteamUser(ISteamUser* self); S_API HSteamUser SteamAPI_ISteamUser_GetHSteamUser(ISteamUser* self);
S_API bool SteamAPI_ISteamUser_BLoggedOn(ISteamUser* self); S_API bool SteamAPI_ISteamUser_BLoggedOn(ISteamUser* self);
S_API uint64_steamid SteamAPI_ISteamUser_GetSteamID(ISteamUser* self); S_API uint64_steamid SteamAPI_ISteamUser_GetSteamID(ISteamUser* self);
@ -72,7 +72,7 @@ S_API EVoiceResult SteamAPI_ISteamUser_GetAvailableVoice(ISteamUser* self, uint3
S_API EVoiceResult SteamAPI_ISteamUser_GetVoice(ISteamUser* self, bool bWantCompressed, void* pDestBuffer, uint32 cbDestBufferSize, uint32* nBytesWritten, bool bWantUncompressed_Deprecated, void* pUncompressedDestBuffer_Deprecated, uint32 cbUncompressedDestBufferSize_Deprecated, uint32* nUncompressBytesWritten_Deprecated, uint32 nUncompressedVoiceDesiredSampleRate_Deprecated); S_API EVoiceResult SteamAPI_ISteamUser_GetVoice(ISteamUser* self, bool bWantCompressed, void* pDestBuffer, uint32 cbDestBufferSize, uint32* nBytesWritten, bool bWantUncompressed_Deprecated, void* pUncompressedDestBuffer_Deprecated, uint32 cbUncompressedDestBufferSize_Deprecated, uint32* nUncompressBytesWritten_Deprecated, uint32 nUncompressedVoiceDesiredSampleRate_Deprecated);
S_API EVoiceResult SteamAPI_ISteamUser_DecompressVoice(ISteamUser* self, const void* pCompressed, uint32 cbCompressed, void* pDestBuffer, uint32 cbDestBufferSize, uint32* nBytesWritten, uint32 nDesiredSampleRate); S_API EVoiceResult SteamAPI_ISteamUser_DecompressVoice(ISteamUser* self, const void* pCompressed, uint32 cbCompressed, void* pDestBuffer, uint32 cbDestBufferSize, uint32* nBytesWritten, uint32 nDesiredSampleRate);
S_API uint32 SteamAPI_ISteamUser_GetVoiceOptimalSampleRate(ISteamUser* self); S_API uint32 SteamAPI_ISteamUser_GetVoiceOptimalSampleRate(ISteamUser* self);
S_API HAuthTicket SteamAPI_ISteamUser_GetAuthSessionTicket(ISteamUser* self, void* pTicket, int cbMaxTicket, uint32* pcbTicket); S_API HAuthTicket SteamAPI_ISteamUser_GetAuthSessionTicket(ISteamUser* self, void* pTicket, int cbMaxTicket, uint32* pcbTicket, const SteamNetworkingIdentity* pSteamNetworkingIdentity);
S_API EBeginAuthSessionResult SteamAPI_ISteamUser_BeginAuthSession(ISteamUser* self, const void* pAuthTicket, int cbAuthTicket, uint64_steamid steamID); S_API EBeginAuthSessionResult SteamAPI_ISteamUser_BeginAuthSession(ISteamUser* self, const void* pAuthTicket, int cbAuthTicket, uint64_steamid steamID);
S_API void SteamAPI_ISteamUser_EndAuthSession(ISteamUser* self, uint64_steamid steamID); S_API void SteamAPI_ISteamUser_EndAuthSession(ISteamUser* self, uint64_steamid steamID);
S_API void SteamAPI_ISteamUser_CancelAuthTicket(ISteamUser* self, HAuthTicket hAuthTicket); S_API void SteamAPI_ISteamUser_CancelAuthTicket(ISteamUser* self, HAuthTicket hAuthTicket);
@ -751,14 +751,14 @@ S_API bool SteamAPI_ISteamController_GetControllerBindingRevision(ISteamControll
// ISteamUGC // ISteamUGC
// A versioned accessor is exported by the library // A versioned accessor is exported by the library
S_API ISteamUGC* SteamAPI_SteamUGC_v016(); S_API ISteamUGC* SteamAPI_SteamUGC_v017();
// Inline, unversioned accessor to get the current version. Essentially the same as SteamUGC(), but using this ensures that you are using a matching library. // Inline, unversioned accessor to get the current version. Essentially the same as SteamUGC(), but using this ensures that you are using a matching library.
inline ISteamUGC* SteamAPI_SteamUGC() { return SteamAPI_SteamUGC_v016(); } inline ISteamUGC* SteamAPI_SteamUGC() { return SteamAPI_SteamUGC_v017(); }
// A versioned accessor is exported by the library // A versioned accessor is exported by the library
S_API ISteamUGC* SteamAPI_SteamGameServerUGC_v016(); S_API ISteamUGC* SteamAPI_SteamGameServerUGC_v017();
// Inline, unversioned accessor to get the current version. Essentially the same as SteamGameServerUGC(), but using this ensures that you are using a matching library. // Inline, unversioned accessor to get the current version. Essentially the same as SteamGameServerUGC(), but using this ensures that you are using a matching library.
inline ISteamUGC* SteamAPI_SteamGameServerUGC() { return SteamAPI_SteamGameServerUGC_v016(); } inline ISteamUGC* SteamAPI_SteamGameServerUGC() { return SteamAPI_SteamGameServerUGC_v017(); }
S_API UGCQueryHandle_t SteamAPI_ISteamUGC_CreateQueryUserUGCRequest(ISteamUGC* self, AccountID_t unAccountID, EUserUGCList eListType, EUGCMatchingUGCType eMatchingUGCType, EUserUGCListSortOrder eSortOrder, AppId_t nCreatorAppID, AppId_t nConsumerAppID, uint32 unPage); S_API UGCQueryHandle_t SteamAPI_ISteamUGC_CreateQueryUserUGCRequest(ISteamUGC* self, AccountID_t unAccountID, EUserUGCList eListType, EUGCMatchingUGCType eMatchingUGCType, EUserUGCListSortOrder eSortOrder, AppId_t nCreatorAppID, AppId_t nConsumerAppID, uint32 unPage);
S_API UGCQueryHandle_t SteamAPI_ISteamUGC_CreateQueryAllUGCRequestPage(ISteamUGC* self, EUGCQuery eQueryType, EUGCMatchingUGCType eMatchingeMatchingUGCTypeFileType, AppId_t nCreatorAppID, AppId_t nConsumerAppID, uint32 unPage); S_API UGCQueryHandle_t SteamAPI_ISteamUGC_CreateQueryAllUGCRequestPage(ISteamUGC* self, EUGCQuery eQueryType, EUGCMatchingUGCType eMatchingeMatchingUGCTypeFileType, AppId_t nCreatorAppID, AppId_t nConsumerAppID, uint32 unPage);
S_API UGCQueryHandle_t SteamAPI_ISteamUGC_CreateQueryAllUGCRequestCursor(ISteamUGC* self, EUGCQuery eQueryType, EUGCMatchingUGCType eMatchingeMatchingUGCTypeFileType, AppId_t nCreatorAppID, AppId_t nConsumerAppID, const char* pchCursor); S_API UGCQueryHandle_t SteamAPI_ISteamUGC_CreateQueryAllUGCRequestCursor(ISteamUGC* self, EUGCQuery eQueryType, EUGCMatchingUGCType eMatchingeMatchingUGCTypeFileType, AppId_t nCreatorAppID, AppId_t nConsumerAppID, const char* pchCursor);
@ -777,6 +777,7 @@ S_API bool SteamAPI_ISteamUGC_GetQueryUGCAdditionalPreview(ISteamUGC* self, UGCQ
S_API uint32 SteamAPI_ISteamUGC_GetQueryUGCNumKeyValueTags(ISteamUGC* self, UGCQueryHandle_t handle, uint32 index); S_API uint32 SteamAPI_ISteamUGC_GetQueryUGCNumKeyValueTags(ISteamUGC* self, UGCQueryHandle_t handle, uint32 index);
S_API bool SteamAPI_ISteamUGC_GetQueryUGCKeyValueTag(ISteamUGC* self, UGCQueryHandle_t handle, uint32 index, uint32 keyValueTagIndex, char* pchKey, uint32 cchKeySize, char* pchValue, uint32 cchValueSize); S_API bool SteamAPI_ISteamUGC_GetQueryUGCKeyValueTag(ISteamUGC* self, UGCQueryHandle_t handle, uint32 index, uint32 keyValueTagIndex, char* pchKey, uint32 cchKeySize, char* pchValue, uint32 cchValueSize);
S_API bool SteamAPI_ISteamUGC_GetQueryFirstUGCKeyValueTag(ISteamUGC* self, UGCQueryHandle_t handle, uint32 index, const char* pchKey, char* pchValue, uint32 cchValueSize); S_API bool SteamAPI_ISteamUGC_GetQueryFirstUGCKeyValueTag(ISteamUGC* self, UGCQueryHandle_t handle, uint32 index, const char* pchKey, char* pchValue, uint32 cchValueSize);
S_API uint32 SteamAPI_ISteamUGC_GetQueryUGCContentDescriptors(ISteamUGC* self, UGCQueryHandle_t handle, uint32 index, EUGCContentDescriptorID* pvecDescriptors, uint32 cMaxEntries);
S_API bool SteamAPI_ISteamUGC_ReleaseQueryUGCRequest(ISteamUGC* self, UGCQueryHandle_t handle); S_API bool SteamAPI_ISteamUGC_ReleaseQueryUGCRequest(ISteamUGC* self, UGCQueryHandle_t handle);
S_API bool SteamAPI_ISteamUGC_AddRequiredTag(ISteamUGC* self, UGCQueryHandle_t handle, const char* pTagName); S_API bool SteamAPI_ISteamUGC_AddRequiredTag(ISteamUGC* self, UGCQueryHandle_t handle, const char* pTagName);
S_API bool SteamAPI_ISteamUGC_AddRequiredTagGroup(ISteamUGC* self, UGCQueryHandle_t handle, const SteamParamStringArray_t* pTagGroups); S_API bool SteamAPI_ISteamUGC_AddRequiredTagGroup(ISteamUGC* self, UGCQueryHandle_t handle, const SteamParamStringArray_t* pTagGroups);
@ -818,6 +819,8 @@ S_API bool SteamAPI_ISteamUGC_AddItemPreviewVideo(ISteamUGC* self, UGCUpdateHand
S_API bool SteamAPI_ISteamUGC_UpdateItemPreviewFile(ISteamUGC* self, UGCUpdateHandle_t handle, uint32 index, const char* pszPreviewFile); S_API bool SteamAPI_ISteamUGC_UpdateItemPreviewFile(ISteamUGC* self, UGCUpdateHandle_t handle, uint32 index, const char* pszPreviewFile);
S_API bool SteamAPI_ISteamUGC_UpdateItemPreviewVideo(ISteamUGC* self, UGCUpdateHandle_t handle, uint32 index, const char* pszVideoID); S_API bool SteamAPI_ISteamUGC_UpdateItemPreviewVideo(ISteamUGC* self, UGCUpdateHandle_t handle, uint32 index, const char* pszVideoID);
S_API bool SteamAPI_ISteamUGC_RemoveItemPreview(ISteamUGC* self, UGCUpdateHandle_t handle, uint32 index); S_API bool SteamAPI_ISteamUGC_RemoveItemPreview(ISteamUGC* self, UGCUpdateHandle_t handle, uint32 index);
S_API bool SteamAPI_ISteamUGC_AddContentDescriptor(ISteamUGC* self, UGCUpdateHandle_t handle, EUGCContentDescriptorID descid);
S_API bool SteamAPI_ISteamUGC_RemoveContentDescriptor(ISteamUGC* self, UGCUpdateHandle_t handle, EUGCContentDescriptorID descid);
S_API SteamAPICall_t SteamAPI_ISteamUGC_SubmitItemUpdate(ISteamUGC* self, UGCUpdateHandle_t handle, const char* pchChangeNote); S_API SteamAPICall_t SteamAPI_ISteamUGC_SubmitItemUpdate(ISteamUGC* self, UGCUpdateHandle_t handle, const char* pchChangeNote);
S_API EItemUpdateStatus SteamAPI_ISteamUGC_GetItemUpdateProgress(ISteamUGC* self, UGCUpdateHandle_t handle, uint64* punBytesProcessed, uint64* punBytesTotal); S_API EItemUpdateStatus SteamAPI_ISteamUGC_GetItemUpdateProgress(ISteamUGC* self, UGCUpdateHandle_t handle, uint64* punBytesProcessed, uint64* punBytesTotal);
S_API SteamAPICall_t SteamAPI_ISteamUGC_SetUserItemVote(ISteamUGC* self, PublishedFileId_t nPublishedFileID, bool bVoteUp); S_API SteamAPICall_t SteamAPI_ISteamUGC_SetUserItemVote(ISteamUGC* self, PublishedFileId_t nPublishedFileID, bool bVoteUp);
@ -1118,9 +1121,9 @@ S_API bool SteamAPI_ISteamNetworkingUtils_SteamNetworkingIdentity_ParseString(IS
// ISteamGameServer // ISteamGameServer
// A versioned accessor is exported by the library // A versioned accessor is exported by the library
S_API ISteamGameServer* SteamAPI_SteamGameServer_v014(); S_API ISteamGameServer* SteamAPI_SteamGameServer_v015();
// Inline, unversioned accessor to get the current version. Essentially the same as SteamGameServer(), but using this ensures that you are using a matching library. // Inline, unversioned accessor to get the current version. Essentially the same as SteamGameServer(), but using this ensures that you are using a matching library.
inline ISteamGameServer* SteamAPI_SteamGameServer() { return SteamAPI_SteamGameServer_v014(); } inline ISteamGameServer* SteamAPI_SteamGameServer() { return SteamAPI_SteamGameServer_v015(); }
S_API void SteamAPI_ISteamGameServer_SetProduct(ISteamGameServer* self, const char* pszProduct); S_API void SteamAPI_ISteamGameServer_SetProduct(ISteamGameServer* self, const char* pszProduct);
S_API void SteamAPI_ISteamGameServer_SetGameDescription(ISteamGameServer* self, const char* pszGameDescription); S_API void SteamAPI_ISteamGameServer_SetGameDescription(ISteamGameServer* self, const char* pszGameDescription);
S_API void SteamAPI_ISteamGameServer_SetModDir(ISteamGameServer* self, const char* pszModDir); S_API void SteamAPI_ISteamGameServer_SetModDir(ISteamGameServer* self, const char* pszModDir);
@ -1145,7 +1148,7 @@ S_API void SteamAPI_ISteamGameServer_SetGameTags(ISteamGameServer* self, const c
S_API void SteamAPI_ISteamGameServer_SetGameData(ISteamGameServer* self, const char* pchGameData); S_API void SteamAPI_ISteamGameServer_SetGameData(ISteamGameServer* self, const char* pchGameData);
S_API void SteamAPI_ISteamGameServer_SetRegion(ISteamGameServer* self, const char* pszRegion); S_API void SteamAPI_ISteamGameServer_SetRegion(ISteamGameServer* self, const char* pszRegion);
S_API void SteamAPI_ISteamGameServer_SetAdvertiseServerActive(ISteamGameServer* self, bool bActive); S_API void SteamAPI_ISteamGameServer_SetAdvertiseServerActive(ISteamGameServer* self, bool bActive);
S_API HAuthTicket SteamAPI_ISteamGameServer_GetAuthSessionTicket(ISteamGameServer* self, void* pTicket, int cbMaxTicket, uint32* pcbTicket); S_API HAuthTicket SteamAPI_ISteamGameServer_GetAuthSessionTicket(ISteamGameServer* self, void* pTicket, int cbMaxTicket, uint32* pcbTicket, const SteamNetworkingIdentity* pSnid);
S_API EBeginAuthSessionResult SteamAPI_ISteamGameServer_BeginAuthSession(ISteamGameServer* self, const void* pAuthTicket, int cbAuthTicket, uint64_steamid steamID); S_API EBeginAuthSessionResult SteamAPI_ISteamGameServer_BeginAuthSession(ISteamGameServer* self, const void* pAuthTicket, int cbAuthTicket, uint64_steamid steamID);
S_API void SteamAPI_ISteamGameServer_EndAuthSession(ISteamGameServer* self, uint64_steamid steamID); S_API void SteamAPI_ISteamGameServer_EndAuthSession(ISteamGameServer* self, uint64_steamid steamID);
S_API void SteamAPI_ISteamGameServer_CancelAuthTicket(ISteamGameServer* self, HAuthTicket hAuthTicket); S_API void SteamAPI_ISteamGameServer_CancelAuthTicket(ISteamGameServer* self, HAuthTicket hAuthTicket);

View File

@ -58,12 +58,6 @@ S_API void S_CALLTYPE SteamAPI_UnregisterCallback(class CCallbackBase* pCallback
S_API void S_CALLTYPE SteamAPI_RegisterCallResult(class CCallbackBase* pCallback, SteamAPICall_t hAPICall); S_API void S_CALLTYPE SteamAPI_RegisterCallResult(class CCallbackBase* pCallback, SteamAPICall_t hAPICall);
S_API void S_CALLTYPE SteamAPI_UnregisterCallResult(class CCallbackBase* pCallback, SteamAPICall_t hAPICall); S_API void S_CALLTYPE SteamAPI_UnregisterCallResult(class CCallbackBase* pCallback, SteamAPICall_t hAPICall);
// disable this warning; this pattern need for steam callback registration
#ifdef _MSVC_VER
#pragma warning(push)
#pragma warning(disable : 4355) // 'this' : used in base member initializer list
#endif
#define _STEAM_CALLBACK_AUTO_HOOK(thisclass, func, param) #define _STEAM_CALLBACK_AUTO_HOOK(thisclass, func, param)
#define _STEAM_CALLBACK_HELPER(_1, _2, SELECTED, ...) _STEAM_CALLBACK_##SELECTED #define _STEAM_CALLBACK_HELPER(_1, _2, SELECTED, ...) _STEAM_CALLBACK_##SELECTED
#define _STEAM_CALLBACK_SELECT(X, Y) _STEAM_CALLBACK_HELPER X Y #define _STEAM_CALLBACK_SELECT(X, Y) _STEAM_CALLBACK_HELPER X Y
@ -265,6 +259,9 @@ class ISteamInput;
class ISteamParties; class ISteamParties;
class ISteamRemotePlay; class ISteamRemotePlay;
// Forward declare types
struct SteamNetworkingIdentity;
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
// Purpose: Base values for callback identifiers, each callback must // Purpose: Base values for callback identifiers, each callback must
// have a unique ID. // have a unique ID.
@ -310,10 +307,6 @@ enum { k_iSteamRemotePlayCallbacks = 5700 };
enum { k_iSteamChatCallbacks = 5900 }; enum { k_iSteamChatCallbacks = 5900 };
// NOTE: Internal "IClientXxx" callback IDs go in clientenums.h // NOTE: Internal "IClientXxx" callback IDs go in clientenums.h
#ifdef _MSVC_VER
#pragma warning(pop)
#endif
// Macros used to annotate various Steamworks interfaces to generate the // Macros used to annotate various Steamworks interfaces to generate the
// flat API // flat API
#ifdef API_GEN #ifdef API_GEN

View File

@ -211,6 +211,7 @@ enum class EAuthSessionResponse {
K_EAuthSessionResponseAuthTicketInvalidAlreadyUsed = 7, K_EAuthSessionResponseAuthTicketInvalidAlreadyUsed = 7,
K_EAuthSessionResponseAuthTicketInvalid = 8, K_EAuthSessionResponseAuthTicketInvalid = 8,
K_EAuthSessionResponsePublisherIssuedBan = 9, K_EAuthSessionResponsePublisherIssuedBan = 9,
K_EAuthSessionResponseAuthTicketNetworkIdentityFailure = 10,
}; };
Q_ENUM_NS(EAuthSessionResponse) Q_ENUM_NS(EAuthSessionResponse)
@ -278,6 +279,7 @@ enum class EChatSteamIDInstanceFlags {
Q_ENUM_NS(EChatSteamIDInstanceFlags) Q_ENUM_NS(EChatSteamIDInstanceFlags)
enum class ENotificationPosition { enum class ENotificationPosition {
K_EPositionInvalid = -1,
K_EPositionTopLeft = 0, K_EPositionTopLeft = 0,
K_EPositionTopRight = 1, K_EPositionTopRight = 1,
K_EPositionBottomLeft = 2, K_EPositionBottomLeft = 2,
@ -741,15 +743,6 @@ enum class ELeaderboardUploadScoreMethod {
}; };
Q_ENUM_NS(ELeaderboardUploadScoreMethod) Q_ENUM_NS(ELeaderboardUploadScoreMethod)
enum class ERegisterActivationCodeResult {
K_ERegisterActivationCodeResultOK = 0,
K_ERegisterActivationCodeResultFail = 1,
K_ERegisterActivationCodeResultAlreadyRegistered = 2,
K_ERegisterActivationCodeResultTimeout = 3,
K_ERegisterActivationCodeAlreadyOwned = 4,
};
Q_ENUM_NS(ERegisterActivationCodeResult)
enum class EP2PSessionError { enum class EP2PSessionError {
K_EP2PSessionErrorNone = 0, K_EP2PSessionErrorNone = 0,
K_EP2PSessionErrorNoRightsToApp = 2, K_EP2PSessionErrorNoRightsToApp = 2,
@ -838,6 +831,7 @@ enum class EHTTPStatusCode {
K_EHTTPStatusCode304NotModified = 304, K_EHTTPStatusCode304NotModified = 304,
K_EHTTPStatusCode305UseProxy = 305, K_EHTTPStatusCode305UseProxy = 305,
K_EHTTPStatusCode307TemporaryRedirect = 307, K_EHTTPStatusCode307TemporaryRedirect = 307,
K_EHTTPStatusCode308PermanentRedirect = 308,
K_EHTTPStatusCode400BadRequest = 400, K_EHTTPStatusCode400BadRequest = 400,
K_EHTTPStatusCode401Unauthorized = 401, K_EHTTPStatusCode401Unauthorized = 401,
K_EHTTPStatusCode402PaymentRequired = 402, K_EHTTPStatusCode402PaymentRequired = 402,
@ -1139,10 +1133,10 @@ enum class EInputActionOrigin {
K_EInputActionOrigin_Switch_LeftGrip_Upper = 245, K_EInputActionOrigin_Switch_LeftGrip_Upper = 245,
K_EInputActionOrigin_Switch_RightGrip_Lower = 246, K_EInputActionOrigin_Switch_RightGrip_Lower = 246,
K_EInputActionOrigin_Switch_RightGrip_Upper = 247, K_EInputActionOrigin_Switch_RightGrip_Upper = 247,
K_EInputActionOrigin_Switch_Reserved11 = 248, K_EInputActionOrigin_Switch_JoyConButton_N = 248,
K_EInputActionOrigin_Switch_Reserved12 = 249, K_EInputActionOrigin_Switch_JoyConButton_E = 249,
K_EInputActionOrigin_Switch_Reserved13 = 250, K_EInputActionOrigin_Switch_JoyConButton_S = 250,
K_EInputActionOrigin_Switch_Reserved14 = 251, K_EInputActionOrigin_Switch_JoyConButton_W = 251,
K_EInputActionOrigin_Switch_Reserved15 = 252, K_EInputActionOrigin_Switch_Reserved15 = 252,
K_EInputActionOrigin_Switch_Reserved16 = 253, K_EInputActionOrigin_Switch_Reserved16 = 253,
K_EInputActionOrigin_Switch_Reserved17 = 254, K_EInputActionOrigin_Switch_Reserved17 = 254,
@ -1204,10 +1198,10 @@ enum class EInputActionOrigin {
K_EInputActionOrigin_PS5_Gyro_Yaw = 310, K_EInputActionOrigin_PS5_Gyro_Yaw = 310,
K_EInputActionOrigin_PS5_Gyro_Roll = 311, K_EInputActionOrigin_PS5_Gyro_Roll = 311,
K_EInputActionOrigin_PS5_DPad_Move = 312, K_EInputActionOrigin_PS5_DPad_Move = 312,
K_EInputActionOrigin_PS5_Reserved1 = 313, K_EInputActionOrigin_PS5_LeftGrip = 313,
K_EInputActionOrigin_PS5_Reserved2 = 314, K_EInputActionOrigin_PS5_RightGrip = 314,
K_EInputActionOrigin_PS5_Reserved3 = 315, K_EInputActionOrigin_PS5_LeftFn = 315,
K_EInputActionOrigin_PS5_Reserved4 = 316, K_EInputActionOrigin_PS5_RightFn = 316,
K_EInputActionOrigin_PS5_Reserved5 = 317, K_EInputActionOrigin_PS5_Reserved5 = 317,
K_EInputActionOrigin_PS5_Reserved6 = 318, K_EInputActionOrigin_PS5_Reserved6 = 318,
K_EInputActionOrigin_PS5_Reserved7 = 319, K_EInputActionOrigin_PS5_Reserved7 = 319,
@ -1793,7 +1787,15 @@ enum class EControllerActionOrigin {
K_EControllerActionOrigin_SteamDeck_Reserved18 = 375, K_EControllerActionOrigin_SteamDeck_Reserved18 = 375,
K_EControllerActionOrigin_SteamDeck_Reserved19 = 376, K_EControllerActionOrigin_SteamDeck_Reserved19 = 376,
K_EControllerActionOrigin_SteamDeck_Reserved20 = 377, K_EControllerActionOrigin_SteamDeck_Reserved20 = 377,
K_EControllerActionOrigin_Count = 378, K_EControllerActionOrigin_Switch_JoyConButton_N = 378,
K_EControllerActionOrigin_Switch_JoyConButton_E = 379,
K_EControllerActionOrigin_Switch_JoyConButton_S = 380,
K_EControllerActionOrigin_Switch_JoyConButton_W = 381,
K_EControllerActionOrigin_PS5_LeftGrip = 382,
K_EControllerActionOrigin_PS5_RightGrip = 383,
K_EControllerActionOrigin_PS5_LeftFn = 384,
K_EControllerActionOrigin_PS5_RightFn = 385,
K_EControllerActionOrigin_Count = 386,
K_EControllerActionOrigin_MaximumPossibleValue = 32767, K_EControllerActionOrigin_MaximumPossibleValue = 32767,
}; };
Q_ENUM_NS(EControllerActionOrigin) Q_ENUM_NS(EControllerActionOrigin)
@ -1918,6 +1920,15 @@ enum class EItemPreviewType {
}; };
Q_ENUM_NS(EItemPreviewType) Q_ENUM_NS(EItemPreviewType)
enum class EUGCContentDescriptorID {
K_EUGCContentDescriptor_NudityOrSexualContent = 1,
K_EUGCContentDescriptor_FrequentViolenceOrGore = 2,
K_EUGCContentDescriptor_AdultOnlySexualContent = 3,
K_EUGCContentDescriptor_GratuitousSexualContent = 4,
K_EUGCContentDescriptor_AnyMatureContent = 5,
};
Q_ENUM_NS(EUGCContentDescriptorID)
enum class ESteamItemFlags { enum class ESteamItemFlags {
K_ESteamItemNoTrade = 1, K_ESteamItemNoTrade = 1,
K_ESteamItemRemoved = 256, K_ESteamItemRemoved = 256,
@ -1940,7 +1951,8 @@ enum class EParentalFeature {
K_EFeatureLibrary = 11, K_EFeatureLibrary = 11,
K_EFeatureTest = 12, K_EFeatureTest = 12,
K_EFeatureSiteLicense = 13, K_EFeatureSiteLicense = 13,
K_EFeatureMax = 14, K_EFeatureKioskMode = 14,
K_EFeatureMax = 15,
}; };
Q_ENUM_NS(EParentalFeature) Q_ENUM_NS(EParentalFeature)

View File

@ -78,7 +78,7 @@ enum EResult {
k_EResultAccountLogonDenied = 63, // account login denied due to 2nd factor authentication failure k_EResultAccountLogonDenied = 63, // account login denied due to 2nd factor authentication failure
k_EResultCannotUseOldPassword = 64, // The requested new password is not legal k_EResultCannotUseOldPassword = 64, // The requested new password is not legal
k_EResultInvalidLoginAuthCode = 65, // account login denied due to auth code invalid k_EResultInvalidLoginAuthCode = 65, // account login denied due to auth code invalid
k_EResultAccountLogonDeniedNoMail = 66, // account login denied due to 2nd factor auth failure - and no mail has been sent k_EResultAccountLogonDeniedNoMail = 66, // account login denied due to 2nd factor auth failure - and no mail has been sent - partner site specific
k_EResultHardwareNotCapableOfIPT = 67, // k_EResultHardwareNotCapableOfIPT = 67, //
k_EResultIPTInitError = 68, // k_EResultIPTInitError = 68, //
k_EResultParentalControlRestricted = 69, // operation failed due to parental control restrictions for current user k_EResultParentalControlRestricted = 69, // operation failed due to parental control restrictions for current user
@ -203,6 +203,7 @@ enum EAuthSessionResponse {
k_EAuthSessionResponseAuthTicketInvalidAlreadyUsed = 7, // This ticket has already been used, it is not valid. k_EAuthSessionResponseAuthTicketInvalidAlreadyUsed = 7, // This ticket has already been used, it is not valid.
k_EAuthSessionResponseAuthTicketInvalid = 8, // This ticket is not from a user instance currently connected to steam. k_EAuthSessionResponseAuthTicketInvalid = 8, // This ticket is not from a user instance currently connected to steam.
k_EAuthSessionResponsePublisherIssuedBan = 9, // The user is banned for this game. The ban came via the web api and not VAC k_EAuthSessionResponsePublisherIssuedBan = 9, // The user is banned for this game. The ban came via the web api and not VAC
k_EAuthSessionResponseAuthTicketNetworkIdentityFailure = 10, // The network identity in the ticket does not match the server authenticating the ticket
}; };
// results from UserHasLicenseForApp // results from UserHasLicenseForApp
@ -293,6 +294,7 @@ enum EChatSteamIDInstanceFlags {
// Purpose: Possible positions to tell the overlay to show notifications in // Purpose: Possible positions to tell the overlay to show notifications in
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
enum ENotificationPosition { enum ENotificationPosition {
k_EPositionInvalid = -1,
k_EPositionTopLeft = 0, k_EPositionTopLeft = 0,
k_EPositionTopRight = 1, k_EPositionTopRight = 1,
k_EPositionBottomLeft = 2, k_EPositionBottomLeft = 2,
@ -849,6 +851,13 @@ CSteamID ClanIDFromChatID(const CSteamID& steamIDChat);
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
class CGameID { class CGameID {
public: public:
enum EGameIDType {
k_EGameIDTypeApp = 0,
k_EGameIDTypeGameMod = 1,
k_EGameIDTypeShortcut = 2,
k_EGameIDTypeP2P = 3,
};
CGameID() CGameID()
{ {
m_gameID.m_nType = k_EGameIDTypeApp; m_gameID.m_nType = k_EGameIDTypeApp;
@ -879,12 +888,12 @@ public:
m_gameID.m_nAppID = nAppID; m_gameID.m_nAppID = nAppID;
} }
CGameID(uint32 nAppID, uint32 nModID) // Not validating anything .. use IsValid()
explicit CGameID(uint32 nAppID, uint32 nModID, CGameID::EGameIDType nType)
{ {
m_ulGameID = 0;
m_gameID.m_nAppID = nAppID; m_gameID.m_nAppID = nAppID;
m_gameID.m_nModID = nModID; m_gameID.m_nModID = nModID;
m_gameID.m_nType = k_EGameIDTypeGameMod; m_gameID.m_nType = nType;
} }
CGameID(const CGameID& that) CGameID(const CGameID& that)
@ -943,10 +952,14 @@ public:
return m_gameID.m_nModID; return m_gameID.m_nModID;
} }
uint32 AppID() const #if !defined(VALVE_SHORTCUT_DEBUG)
uint32 AppID(bool = false) const
{ {
return m_gameID.m_nAppID; return m_gameID.m_nAppID;
} }
#else
uint32 AppID(bool bShortcutOK = false) const;
#endif
bool operator==(const CGameID& rhs) const bool operator==(const CGameID& rhs) const
{ {
@ -971,13 +984,15 @@ public:
return m_gameID.m_nAppID != k_uAppIdInvalid; return m_gameID.m_nAppID != k_uAppIdInvalid;
case k_EGameIDTypeGameMod: case k_EGameIDTypeGameMod:
return m_gameID.m_nAppID != k_uAppIdInvalid && m_gameID.m_nModID & 0x80000000; return m_gameID.m_nAppID != k_uAppIdInvalid && (m_gameID.m_nModID & 0x80000000);
case k_EGameIDTypeShortcut: case k_EGameIDTypeShortcut:
return (m_gameID.m_nModID & 0x80000000) != 0; return m_gameID.m_nAppID == k_uAppIdInvalid
&& (m_gameID.m_nModID & 0x80000000)
&& m_gameID.m_nModID >= (5000 | 0x80000000); // k_unMaxExpectedLocalAppId - shortcuts are pushed beyond that range
case k_EGameIDTypeP2P: case k_EGameIDTypeP2P:
return m_gameID.m_nAppID == k_uAppIdInvalid && m_gameID.m_nModID & 0x80000000; return m_gameID.m_nAppID == k_uAppIdInvalid && (m_gameID.m_nModID & 0x80000000);
default: default:
return false; return false;
@ -993,13 +1008,6 @@ public:
// Internal stuff. Use the accessors above if possible // Internal stuff. Use the accessors above if possible
// //
enum EGameIDType {
k_EGameIDTypeApp = 0,
k_EGameIDTypeGameMod = 1,
k_EGameIDTypeShortcut = 2,
k_EGameIDTypeP2P = 3,
};
struct GameID_t { struct GameID_t {
#ifdef VALVE_BIG_ENDIAN #ifdef VALVE_BIG_ENDIAN
unsigned int m_nModID : 32; unsigned int m_nModID : 32;
@ -1016,6 +1024,8 @@ public:
uint64 m_ulGameID; uint64 m_ulGameID;
GameID_t m_gameID; GameID_t m_gameID;
}; };
friend CGameID GameIDFromAppAndModPath(uint32 nAppID, const char* pchModPath);
}; };
#pragma pack(pop) #pragma pack(pop)
@ -1064,7 +1074,7 @@ enum ESteamIPv6ConnectivityState {
// Define compile time assert macros to let us validate the structure sizes. // Define compile time assert macros to let us validate the structure sizes.
#define VALVE_COMPILE_TIME_ASSERT(pred) typedef char compile_time_assert_type[(pred) ? 1 : -1]; #define VALVE_COMPILE_TIME_ASSERT(pred) typedef char compile_time_assert_type[(pred) ? 1 : -1];
#if defined(__linux__) || defined(__APPLE__) #if defined(__linux__) || defined(__APPLE__) || defined(__FreeBSD__)
// The 32-bit version of gcc has the alignment requirement for uint64 and double set to // The 32-bit version of gcc has the alignment requirement for uint64 and double set to
// 4 meaning that even with #pragma pack(8) these types will only be four-byte aligned. // 4 meaning that even with #pragma pack(8) these types will only be four-byte aligned.
// The 64-bit version of gcc has the alignment requirement for these types set to // The 64-bit version of gcc has the alignment requirement for these types set to

View File

@ -59,6 +59,7 @@ enum EHTTPStatusCode {
k_EHTTPStatusCode305UseProxy = 305, k_EHTTPStatusCode305UseProxy = 305,
// k_EHTTPStatusCode306Unused = 306, (used in old HTTP spec, now unused in 1.1) // k_EHTTPStatusCode306Unused = 306, (used in old HTTP spec, now unused in 1.1)
k_EHTTPStatusCode307TemporaryRedirect = 307, k_EHTTPStatusCode307TemporaryRedirect = 307,
k_EHTTPStatusCode308PermanentRedirect = 308,
// Error codes // Error codes
k_EHTTPStatusCode400BadRequest = 400, k_EHTTPStatusCode400BadRequest = 400,

View File

@ -1679,7 +1679,7 @@ inline SteamNetworkingPOPID CalculateSteamNetworkingPOPIDFromString(const char*
// //
// There is also extra paranoia to make sure the bytes are not treated as signed. // There is also extra paranoia to make sure the bytes are not treated as signed.
SteamNetworkingPOPID result = (uint32)(uint8)pszCode[0] << 16U; SteamNetworkingPOPID result = (uint32)(uint8)pszCode[0] << 16U;
if (pszCode[1]) { if (result && pszCode[1]) {
result |= ((uint32)(uint8)pszCode[1] << 8U); result |= ((uint32)(uint8)pszCode[1] << 8U);
if (pszCode[2]) { if (pszCode[2]) {
result |= (uint32)(uint8)pszCode[2] | ((uint32)(uint8)pszCode[3] << 24U); result |= (uint32)(uint8)pszCode[2] | ((uint32)(uint8)pszCode[3] << 24U);
@ -1694,9 +1694,7 @@ inline SteamNetworkingPOPID CalculateSteamNetworkingPOPIDFromString(const char*
template <int N> template <int N>
inline void GetSteamNetworkingLocationPOPStringFromID(SteamNetworkingPOPID id, char (&szCode)[N]) inline void GetSteamNetworkingLocationPOPStringFromID(SteamNetworkingPOPID id, char (&szCode)[N])
{ {
#if !defined(__GNUC__) || __GNUC__ >= 5
static_assert(N >= 5, "Fixed-size buffer not big enough to hold SDR POP ID"); static_assert(N >= 5, "Fixed-size buffer not big enough to hold SDR POP ID");
#endif
szCode[0] = char(id >> 16U); szCode[0] = char(id >> 16U);
szCode[1] = char(id >> 8U); szCode[1] = char(id >> 8U);
szCode[2] = char(id); szCode[2] = char(id);

View File

@ -1,27 +1,20 @@
//========= Copyright © 1996-2008, Valve LLC, All rights reserved. ============ //========= Copyright 1996-2022, Valve LLC, All rights reserved. ============
//
// Purpose:
//
//=============================================================================
#ifndef STEAMTYPES_H #ifndef STEAMTYPES_H
#define STEAMTYPES_H #define STEAMTYPES_H
#ifdef _WIN32
#pragma once
#endif
#define S_CALLTYPE __cdecl #define S_CALLTYPE __cdecl
// WARNING: __cdecl is potentially #defined away in steam_api_common.h
// Steam-specific types. Defined here so this header file can be included in other code bases. // Steam-specific types. Defined here so this header file can be included in other code bases.
#ifndef WCHARTYPES_H #ifndef WCHARTYPES_H
typedef unsigned char uint8; typedef unsigned char uint8;
#endif #endif
#if defined(__GNUC__) && !defined(_WIN32) && !defined(POSIX) #ifdef __GNUC__
#if __GNUC__ < 4 #if __GNUC__ < 4
#error "Steamworks requires GCC 4.X (4.2 or 4.4 have been tested)" #error "Steamworks requires GCC 4.X (4.2 or 4.4 have been tested)"
#endif #endif
#define POSIX 1
#endif #endif
#if defined(__LP64__) || defined(__x86_64__) || defined(_WIN64) || defined(__aarch64__) || defined(__s390x__) #if defined(__LP64__) || defined(__x86_64__) || defined(_WIN64) || defined(__aarch64__) || defined(__s390x__)