Skip to content

Commit

Permalink
Update to Steamworks SDK 1.53
Browse files Browse the repository at this point in the history
  • Loading branch information
rlabrecque committed Dec 23, 2021
1 parent 0461aa7 commit 27b1a15
Show file tree
Hide file tree
Showing 50 changed files with 2,577 additions and 520 deletions.
2 changes: 1 addition & 1 deletion CodeGen/SteamworksParser
14 changes: 12 additions & 2 deletions CodeGen/src/interfaces.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
"ISteamGameServerNetworkingConnectionCustomSignaling",
"ISteamNetworkingCustomSignalingRecvContext",
"ISteamGameServerNetworkingCustomSignalingRecvContext",
"ISteamNetworkingFakeUDPPort",
)

g_TypeDict = {
Expand Down Expand Up @@ -80,7 +81,7 @@

# SteamNetworkingTypes which are stubbed
"SteamDatagramGameCoordinatorServerLogin *": "IntPtr",

"ISteamNetworkingFakeUDPPort *": "IntPtr",
}

g_WrapperArgsTypeDict = {
Expand Down Expand Up @@ -425,6 +426,15 @@
"pMessages": "SteamNetworkingMessage_t[]",
"pOutMessageNumberOrResult": "long[]",
},

"ISteamNetworkingSockets_GetConnectionRealTimeStatus": {
"pStatus": "ref SteamNetConnectionRealTimeStatus_t",
"pLanes": "ref SteamNetConnectionRealTimeLaneStatus_t",
},
"ISteamGameServerNetworkingSockets_GetConnectionRealTimeStatus": {
"pStatus": "ref SteamNetConnectionRealTimeStatus_t",
"pLanes": "ref SteamNetConnectionRealTimeLaneStatus_t",
},
}

g_SpecialWrapperArgsDict = {
Expand Down Expand Up @@ -779,7 +789,7 @@ def parse_args(strEntryPoint, args):
for arg in args:
argtype = g_TypeDict.get(arg.type, arg.type)
if argtype.endswith("*"):
potentialtype = arg.type.rstrip("*").rstrip()
potentialtype = arg.type.rstrip("*").lstrip("const ").rstrip()
argtype = "out " + g_TypeDict.get(potentialtype, potentialtype)
argtype = g_SpecialArgsDict.get(strEntryPoint, dict()).get(arg.name, argtype)

Expand Down
75 changes: 75 additions & 0 deletions CodeGen/steam/isteamcontroller.h
Original file line number Diff line number Diff line change
Expand Up @@ -373,6 +373,81 @@ enum EControllerActionOrigin
k_EControllerActionOrigin_XBoxOne_RightGrip_Upper,
k_EControllerActionOrigin_XBoxOne_Share,

// Added in SDK 1.53
k_EControllerActionOrigin_SteamDeck_A,
k_EControllerActionOrigin_SteamDeck_B,
k_EControllerActionOrigin_SteamDeck_X,
k_EControllerActionOrigin_SteamDeck_Y,
k_EControllerActionOrigin_SteamDeck_L1,
k_EControllerActionOrigin_SteamDeck_R1,
k_EControllerActionOrigin_SteamDeck_Menu,
k_EControllerActionOrigin_SteamDeck_View,
k_EControllerActionOrigin_SteamDeck_LeftPad_Touch,
k_EControllerActionOrigin_SteamDeck_LeftPad_Swipe,
k_EControllerActionOrigin_SteamDeck_LeftPad_Click,
k_EControllerActionOrigin_SteamDeck_LeftPad_DPadNorth,
k_EControllerActionOrigin_SteamDeck_LeftPad_DPadSouth,
k_EControllerActionOrigin_SteamDeck_LeftPad_DPadWest,
k_EControllerActionOrigin_SteamDeck_LeftPad_DPadEast,
k_EControllerActionOrigin_SteamDeck_RightPad_Touch,
k_EControllerActionOrigin_SteamDeck_RightPad_Swipe,
k_EControllerActionOrigin_SteamDeck_RightPad_Click,
k_EControllerActionOrigin_SteamDeck_RightPad_DPadNorth,
k_EControllerActionOrigin_SteamDeck_RightPad_DPadSouth,
k_EControllerActionOrigin_SteamDeck_RightPad_DPadWest,
k_EControllerActionOrigin_SteamDeck_RightPad_DPadEast,
k_EControllerActionOrigin_SteamDeck_L2_SoftPull,
k_EControllerActionOrigin_SteamDeck_L2,
k_EControllerActionOrigin_SteamDeck_R2_SoftPull,
k_EControllerActionOrigin_SteamDeck_R2,
k_EControllerActionOrigin_SteamDeck_LeftStick_Move,
k_EControllerActionOrigin_SteamDeck_L3,
k_EControllerActionOrigin_SteamDeck_LeftStick_DPadNorth,
k_EControllerActionOrigin_SteamDeck_LeftStick_DPadSouth,
k_EControllerActionOrigin_SteamDeck_LeftStick_DPadWest,
k_EControllerActionOrigin_SteamDeck_LeftStick_DPadEast,
k_EControllerActionOrigin_SteamDeck_LeftStick_Touch,
k_EControllerActionOrigin_SteamDeck_RightStick_Move,
k_EControllerActionOrigin_SteamDeck_R3,
k_EControllerActionOrigin_SteamDeck_RightStick_DPadNorth,
k_EControllerActionOrigin_SteamDeck_RightStick_DPadSouth,
k_EControllerActionOrigin_SteamDeck_RightStick_DPadWest,
k_EControllerActionOrigin_SteamDeck_RightStick_DPadEast,
k_EControllerActionOrigin_SteamDeck_RightStick_Touch,
k_EControllerActionOrigin_SteamDeck_L4,
k_EControllerActionOrigin_SteamDeck_R4,
k_EControllerActionOrigin_SteamDeck_L5,
k_EControllerActionOrigin_SteamDeck_R5,
k_EControllerActionOrigin_SteamDeck_DPad_Move,
k_EControllerActionOrigin_SteamDeck_DPad_North,
k_EControllerActionOrigin_SteamDeck_DPad_South,
k_EControllerActionOrigin_SteamDeck_DPad_West,
k_EControllerActionOrigin_SteamDeck_DPad_East,
k_EControllerActionOrigin_SteamDeck_Gyro_Move,
k_EControllerActionOrigin_SteamDeck_Gyro_Pitch,
k_EControllerActionOrigin_SteamDeck_Gyro_Yaw,
k_EControllerActionOrigin_SteamDeck_Gyro_Roll,
k_EControllerActionOrigin_SteamDeck_Reserved1,
k_EControllerActionOrigin_SteamDeck_Reserved2,
k_EControllerActionOrigin_SteamDeck_Reserved3,
k_EControllerActionOrigin_SteamDeck_Reserved4,
k_EControllerActionOrigin_SteamDeck_Reserved5,
k_EControllerActionOrigin_SteamDeck_Reserved6,
k_EControllerActionOrigin_SteamDeck_Reserved7,
k_EControllerActionOrigin_SteamDeck_Reserved8,
k_EControllerActionOrigin_SteamDeck_Reserved9,
k_EControllerActionOrigin_SteamDeck_Reserved10,
k_EControllerActionOrigin_SteamDeck_Reserved11,
k_EControllerActionOrigin_SteamDeck_Reserved12,
k_EControllerActionOrigin_SteamDeck_Reserved13,
k_EControllerActionOrigin_SteamDeck_Reserved14,
k_EControllerActionOrigin_SteamDeck_Reserved15,
k_EControllerActionOrigin_SteamDeck_Reserved16,
k_EControllerActionOrigin_SteamDeck_Reserved17,
k_EControllerActionOrigin_SteamDeck_Reserved18,
k_EControllerActionOrigin_SteamDeck_Reserved19,
k_EControllerActionOrigin_SteamDeck_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.
};
Expand Down
6 changes: 3 additions & 3 deletions CodeGen/steam/isteamhttp.h
Original file line number Diff line number Diff line change
Expand Up @@ -161,7 +161,7 @@ STEAM_DEFINE_GAMESERVER_INTERFACE_ACCESSOR( ISteamHTTP *, SteamGameServerHTTP, S

struct HTTPRequestCompleted_t
{
enum { k_iCallback = k_iClientHTTPCallbacks + 1 };
enum { k_iCallback = k_iSteamHTTPCallbacks + 1 };

// Handle value for the request that has completed.
HTTPRequestHandle m_hRequest;
Expand All @@ -184,7 +184,7 @@ struct HTTPRequestCompleted_t

struct HTTPRequestHeadersReceived_t
{
enum { k_iCallback = k_iClientHTTPCallbacks + 2 };
enum { k_iCallback = k_iSteamHTTPCallbacks + 2 };

// Handle value for the request that has received headers.
HTTPRequestHandle m_hRequest;
Expand All @@ -196,7 +196,7 @@ struct HTTPRequestHeadersReceived_t

struct HTTPRequestDataReceived_t
{
enum { k_iCallback = k_iClientHTTPCallbacks + 3 };
enum { k_iCallback = k_iSteamHTTPCallbacks + 3 };

// Handle value for the request that has received data.
HTTPRequestHandle m_hRequest;
Expand Down
117 changes: 105 additions & 12 deletions CodeGen/steam/isteaminput.h
Original file line number Diff line number Diff line change
Expand Up @@ -407,6 +407,81 @@ enum EInputActionOrigin
k_EInputActionOrigin_PS5_Reserved19,
k_EInputActionOrigin_PS5_Reserved20,

// Added in SDK 1.53
k_EInputActionOrigin_SteamDeck_A,
k_EInputActionOrigin_SteamDeck_B,
k_EInputActionOrigin_SteamDeck_X,
k_EInputActionOrigin_SteamDeck_Y,
k_EInputActionOrigin_SteamDeck_L1,
k_EInputActionOrigin_SteamDeck_R1,
k_EInputActionOrigin_SteamDeck_Menu,
k_EInputActionOrigin_SteamDeck_View,
k_EInputActionOrigin_SteamDeck_LeftPad_Touch,
k_EInputActionOrigin_SteamDeck_LeftPad_Swipe,
k_EInputActionOrigin_SteamDeck_LeftPad_Click,
k_EInputActionOrigin_SteamDeck_LeftPad_DPadNorth,
k_EInputActionOrigin_SteamDeck_LeftPad_DPadSouth,
k_EInputActionOrigin_SteamDeck_LeftPad_DPadWest,
k_EInputActionOrigin_SteamDeck_LeftPad_DPadEast,
k_EInputActionOrigin_SteamDeck_RightPad_Touch,
k_EInputActionOrigin_SteamDeck_RightPad_Swipe,
k_EInputActionOrigin_SteamDeck_RightPad_Click,
k_EInputActionOrigin_SteamDeck_RightPad_DPadNorth,
k_EInputActionOrigin_SteamDeck_RightPad_DPadSouth,
k_EInputActionOrigin_SteamDeck_RightPad_DPadWest,
k_EInputActionOrigin_SteamDeck_RightPad_DPadEast,
k_EInputActionOrigin_SteamDeck_L2_SoftPull,
k_EInputActionOrigin_SteamDeck_L2,
k_EInputActionOrigin_SteamDeck_R2_SoftPull,
k_EInputActionOrigin_SteamDeck_R2,
k_EInputActionOrigin_SteamDeck_LeftStick_Move,
k_EInputActionOrigin_SteamDeck_L3,
k_EInputActionOrigin_SteamDeck_LeftStick_DPadNorth,
k_EInputActionOrigin_SteamDeck_LeftStick_DPadSouth,
k_EInputActionOrigin_SteamDeck_LeftStick_DPadWest,
k_EInputActionOrigin_SteamDeck_LeftStick_DPadEast,
k_EInputActionOrigin_SteamDeck_LeftStick_Touch,
k_EInputActionOrigin_SteamDeck_RightStick_Move,
k_EInputActionOrigin_SteamDeck_R3,
k_EInputActionOrigin_SteamDeck_RightStick_DPadNorth,
k_EInputActionOrigin_SteamDeck_RightStick_DPadSouth,
k_EInputActionOrigin_SteamDeck_RightStick_DPadWest,
k_EInputActionOrigin_SteamDeck_RightStick_DPadEast,
k_EInputActionOrigin_SteamDeck_RightStick_Touch,
k_EInputActionOrigin_SteamDeck_L4,
k_EInputActionOrigin_SteamDeck_R4,
k_EInputActionOrigin_SteamDeck_L5,
k_EInputActionOrigin_SteamDeck_R5,
k_EInputActionOrigin_SteamDeck_DPad_Move,
k_EInputActionOrigin_SteamDeck_DPad_North,
k_EInputActionOrigin_SteamDeck_DPad_South,
k_EInputActionOrigin_SteamDeck_DPad_West,
k_EInputActionOrigin_SteamDeck_DPad_East,
k_EInputActionOrigin_SteamDeck_Gyro_Move,
k_EInputActionOrigin_SteamDeck_Gyro_Pitch,
k_EInputActionOrigin_SteamDeck_Gyro_Yaw,
k_EInputActionOrigin_SteamDeck_Gyro_Roll,
k_EInputActionOrigin_SteamDeck_Reserved1,
k_EInputActionOrigin_SteamDeck_Reserved2,
k_EInputActionOrigin_SteamDeck_Reserved3,
k_EInputActionOrigin_SteamDeck_Reserved4,
k_EInputActionOrigin_SteamDeck_Reserved5,
k_EInputActionOrigin_SteamDeck_Reserved6,
k_EInputActionOrigin_SteamDeck_Reserved7,
k_EInputActionOrigin_SteamDeck_Reserved8,
k_EInputActionOrigin_SteamDeck_Reserved9,
k_EInputActionOrigin_SteamDeck_Reserved10,
k_EInputActionOrigin_SteamDeck_Reserved11,
k_EInputActionOrigin_SteamDeck_Reserved12,
k_EInputActionOrigin_SteamDeck_Reserved13,
k_EInputActionOrigin_SteamDeck_Reserved14,
k_EInputActionOrigin_SteamDeck_Reserved15,
k_EInputActionOrigin_SteamDeck_Reserved16,
k_EInputActionOrigin_SteamDeck_Reserved17,
k_EInputActionOrigin_SteamDeck_Reserved18,
k_EInputActionOrigin_SteamDeck_Reserved19,
k_EInputActionOrigin_SteamDeck_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.
};
Expand Down Expand Up @@ -480,6 +555,7 @@ enum ESteamInputType
k_ESteamInputType_MobileTouch, // Steam Link App On-screen Virtual Controller
k_ESteamInputType_PS3Controller, // Currently uses PS4 Origins
k_ESteamInputType_PS5Controller, // Added in SDK 151
k_ESteamInputType_SteamDeckController, // Added in SDK 153
k_ESteamInputType_Count,
k_ESteamInputType_MaximumPossibleValue = 255,
};
Expand All @@ -506,9 +582,24 @@ enum ESteamInputLEDFlag
// These values are passed into GetGlyphPNGForActionOrigin
enum ESteamInputGlyphSize
{
k_ESteamInputGlyphSize_Small,
k_ESteamInputGlyphSize_Medium,
k_ESteamInputGlyphSize_Large,
k_ESteamInputGlyphSize_Small, // 32x32 pixels
k_ESteamInputGlyphSize_Medium, // 128x128 pixels
k_ESteamInputGlyphSize_Large, // 256x256 pixels
k_ESteamInputGlyphSize_Count,
};

enum ESteamInputGlyphStyle
{
// Base-styles - cannot mix
ESteamInputGlyphStyle_Knockout = 0x0, // Face buttons will have colored labels/outlines on a knocked out background
// Rest of inputs will have white detail/borders on a knocked out background
ESteamInputGlyphStyle_Light = 0x1, // Black detail/borders on a white background
ESteamInputGlyphStyle_Dark = 0x2, // White detail/borders on a black background

// Modifiers
// Default ABXY/PS equivalent glyphs have a solid fill w/ color matching the physical buttons on the device
ESteamInputGlyphStyle_NeutralColorABXY = 0x10, // ABXY Buttons will match the base style color instead of their normal associated color
ESteamInputGlyphStyle_SolidABXY = 0x20, // ABXY Buttons will have a solid fill
};

enum ESteamInputActionEventType
Expand Down Expand Up @@ -577,15 +668,17 @@ struct SteamInputActionEvent_t
{
InputHandle_t controllerHandle;
ESteamInputActionEventType eEventType;
struct AnalogAction_t {
InputAnalogActionHandle_t actionHandle;
InputAnalogActionData_t analogActionData;
};
struct DigitalAction_t {
InputDigitalActionHandle_t actionHandle;
InputDigitalActionData_t digitalActionData;
};
union {
struct {
InputAnalogActionHandle_t actionHandle;
InputAnalogActionData_t analogActionData;
} analogAction;
struct {
InputDigitalActionHandle_t actionHandle;
InputDigitalActionData_t digitalActionData;
} digitalAction;
AnalogAction_t analogAction;
DigitalAction_t digitalAction;
};
};

Expand Down Expand Up @@ -804,7 +897,7 @@ class ISteamInput
virtual uint16 GetSessionInputConfigurationSettings() = 0;
};

#define STEAMINPUT_INTERFACE_VERSION "SteamInput005"
#define STEAMINPUT_INTERFACE_VERSION "SteamInput006"

// Global interface accessor
inline ISteamInput *SteamInput();
Expand Down
12 changes: 6 additions & 6 deletions CodeGen/steam/isteaminventory.h
Original file line number Diff line number Diff line change
Expand Up @@ -372,7 +372,7 @@ STEAM_DEFINE_GAMESERVER_INTERFACE_ACCESSOR( ISteamInventory *, SteamGameServerIn
// always be exactly one callback per handle.
struct SteamInventoryResultReady_t
{
enum { k_iCallback = k_iClientInventoryCallbacks + 0 };
enum { k_iCallback = k_iSteamInventoryCallbacks + 0 };
SteamInventoryResult_t m_handle;
EResult m_result;
};
Expand All @@ -387,7 +387,7 @@ struct SteamInventoryResultReady_t
// afterwards; this is an additional notification for your convenience.
struct SteamInventoryFullUpdate_t
{
enum { k_iCallback = k_iClientInventoryCallbacks + 1 };
enum { k_iCallback = k_iSteamInventoryCallbacks + 1 };
SteamInventoryResult_t m_handle;
};

Expand All @@ -398,13 +398,13 @@ struct SteamInventoryFullUpdate_t
// a definition update in order to process results from the server.
struct SteamInventoryDefinitionUpdate_t
{
enum { k_iCallback = k_iClientInventoryCallbacks + 2 };
enum { k_iCallback = k_iSteamInventoryCallbacks + 2 };
};

// Returned
struct SteamInventoryEligiblePromoItemDefIDs_t
{
enum { k_iCallback = k_iClientInventoryCallbacks + 3 };
enum { k_iCallback = k_iSteamInventoryCallbacks + 3 };
EResult m_result;
CSteamID m_steamID;
int m_numEligiblePromoItemDefs;
Expand All @@ -414,7 +414,7 @@ struct SteamInventoryEligiblePromoItemDefIDs_t
// Triggered from StartPurchase call
struct SteamInventoryStartPurchaseResult_t
{
enum { k_iCallback = k_iClientInventoryCallbacks + 4 };
enum { k_iCallback = k_iSteamInventoryCallbacks + 4 };
EResult m_result;
uint64 m_ulOrderID;
uint64 m_ulTransID;
Expand All @@ -424,7 +424,7 @@ struct SteamInventoryStartPurchaseResult_t
// Triggered from RequestPrices
struct SteamInventoryRequestPricesResult_t
{
enum { k_iCallback = k_iClientInventoryCallbacks + 5 };
enum { k_iCallback = k_iSteamInventoryCallbacks + 5 };
EResult m_result;
char m_rgchCurrency[4];
};
Expand Down
12 changes: 7 additions & 5 deletions CodeGen/steam/isteamnetworkingmessages.h
Original file line number Diff line number Diff line change
Expand Up @@ -73,10 +73,12 @@ class ISteamNetworkingMessages
///
/// Returns:
/// - k_EREsultOK on success.
/// - k_EResultNoConnection will be returned if the session has failed or was closed by the peer,
/// and k_nSteamNetworkingSend_AutoRestartBrokenSession is not used. (You can use
/// GetSessionConnectionInfo to get the details.) In order to acknowledge the broken session
/// and start a new one, you must call CloseSessionWithUser
/// - k_EResultNoConnection, if the session has failed or was closed by the peer and
/// k_nSteamNetworkingSend_AutoRestartBrokenSession was not specified. (You can
/// use GetSessionConnectionInfo to get the details.) In order to acknowledge the
/// broken session and start a new one, you must call CloseSessionWithUser, or you may
/// repeat the call with k_nSteamNetworkingSend_AutoRestartBrokenSession. See
/// k_nSteamNetworkingSend_AutoRestartBrokenSession for more details.
/// - See ISteamNetworkingSockets::SendMessageToConnection for more possible return values
virtual EResult SendMessageToUser( const SteamNetworkingIdentity &identityRemote, const void *pubData, uint32 cubData, int nSendFlags, int nRemoteChannel ) = 0;

Expand Down Expand Up @@ -120,7 +122,7 @@ class ISteamNetworkingMessages
/// you do not need the corresponding details. Note that sessions time out after a while,
/// so if a connection fails, or SendMessageToUser returns k_EResultNoConnection, you cannot wait
/// indefinitely to obtain the reason for failure.
virtual ESteamNetworkingConnectionState GetSessionConnectionInfo( const SteamNetworkingIdentity &identityRemote, SteamNetConnectionInfo_t *pConnectionInfo, SteamNetworkingQuickConnectionStatus *pQuickStatus ) = 0;
virtual ESteamNetworkingConnectionState GetSessionConnectionInfo( const SteamNetworkingIdentity &identityRemote, SteamNetConnectionInfo_t *pConnectionInfo, SteamNetConnectionRealTimeStatus_t *pQuickStatus ) = 0;
};
#define STEAMNETWORKINGMESSAGES_INTERFACE_VERSION "SteamNetworkingMessages002"

Expand Down
Loading

0 comments on commit 27b1a15

Please sign in to comment.