aboutsummaryrefslogtreecommitdiff
path: root/mp/src/public/steam/steamcontrollerpublic.h
diff options
context:
space:
mode:
authorJoe Ludwig <[email protected]>2014-05-15 13:59:18 -0700
committerJoe Ludwig <[email protected]>2014-05-15 13:59:18 -0700
commit53e78c503e6e9c7d15e2eefc480755fe37dd7077 (patch)
treec8cc106eb4c0a2b2b5d79f534f2facb0514f5f55 /mp/src/public/steam/steamcontrollerpublic.h
parentAdded many shader source files (diff)
downloadsource-sdk-2013-53e78c503e6e9c7d15e2eefc480755fe37dd7077.tar.xz
source-sdk-2013-53e78c503e6e9c7d15e2eefc480755fe37dd7077.zip
General:
* Upgraded Steamworks SDK to v1.29 * Fixed mod compatibility problem with Multiplayer Base that was introduced in September. * In Hammer, while using the Vertex Tool, pressing CTRL+B will snap selected vertices to the grid. Virtual Reality: * Mods that support virtual reality now need to have a line in gameinfo.txt that says “supportsvr 1”. This indicates to gameui and engine that certain UI should be enabled. * VR-enabled mods will now start up in VR mode when launched from Steam’s VR mode. Windows: * Upgraded to Visual Studio 2013. If you need to build projects for VS 2010, add /2010 to your VPC command line. OSX: * Upgraded to XCode 5.
Diffstat (limited to 'mp/src/public/steam/steamcontrollerpublic.h')
-rw-r--r--mp/src/public/steam/steamcontrollerpublic.h76
1 files changed, 76 insertions, 0 deletions
diff --git a/mp/src/public/steam/steamcontrollerpublic.h b/mp/src/public/steam/steamcontrollerpublic.h
new file mode 100644
index 00000000..04493332
--- /dev/null
+++ b/mp/src/public/steam/steamcontrollerpublic.h
@@ -0,0 +1,76 @@
+//========= Copyright � 1996-2013, Valve LLC, All rights reserved. ============
+//
+// Purpose: Controller related public types/constants
+//
+//=============================================================================
+
+#ifndef STEAMCONTROLLERPUBLIC_H
+#define STEAMCONTROLLERPUBLIC_H
+#ifdef _WIN32
+#pragma once
+#endif
+
+
+#if defined( STEAM ) || defined( ISTEAMCONTROLLER_H )
+// This file should only be included by the Steam build or directly from
+// isteamcontroller.h.
+#include "steamtypes.h"
+#else
+// Otherwise, we assume it's a firmware build, which doesn't deal with all the
+// things that exist in steamtypes.h, and hardcode the typedefs we need.
+typedef unsigned int uint32;
+typedef unsigned __int64 uint64;
+#endif
+
+#pragma pack(1)
+
+// Safe to add new bitfields at the end of this list for new buttons/actions,
+// but never re-use or re-number an existing flag as old client code will be
+// confused.
+#define STEAM_RIGHT_TRIGGER_MASK 0x0000000000000001l
+#define STEAM_LEFT_TRIGGER_MASK 0x0000000000000002l
+#define STEAM_RIGHT_BUMPER_MASK 0x0000000000000004l
+#define STEAM_LEFT_BUMPER_MASK 0x0000000000000008l
+#define STEAM_BUTTON_0_MASK 0x0000000000000010l
+#define STEAM_BUTTON_1_MASK 0x0000000000000020l
+#define STEAM_BUTTON_2_MASK 0x0000000000000040l
+#define STEAM_BUTTON_3_MASK 0x0000000000000080l
+#define STEAM_TOUCH_0_MASK 0x0000000000000100l
+#define STEAM_TOUCH_1_MASK 0x0000000000000200l
+#define STEAM_TOUCH_2_MASK 0x0000000000000400l
+#define STEAM_TOUCH_3_MASK 0x0000000000000800l
+#define STEAM_BUTTON_MENU_MASK 0x0000000000001000l
+#define STEAM_BUTTON_STEAM_MASK 0x0000000000002000l
+#define STEAM_BUTTON_ESCAPE_MASK 0x0000000000004000l
+#define STEAM_BUTTON_BACK_LEFT_MASK 0x0000000000008000l
+#define STEAM_BUTTON_BACK_RIGHT_MASK 0x0000000000010000l
+#define STEAM_BUTTON_LEFTPAD_CLICKED_MASK 0x0000000000020000l
+#define STEAM_BUTTON_RIGHTPAD_CLICKED_MASK 0x0000000000040000l
+#define STEAM_LEFTPAD_FINGERDOWN_MASK 0x0000000000080000l
+#define STEAM_RIGHTPAD_FINGERDOWN_MASK 0x0000000000100000l
+
+// Only add fields to the end of this struct, or if you need to change it in a larger
+// way add a new message id and new struct completely so as to not break old clients.
+typedef struct
+{
+ // If packet num matches that on your prior call, then the controller state hasn't been changed since
+ // your last call and there is no need to process it
+ uint32 unPacketNum;
+
+ // bit flags for each of the buttons
+ uint64 ulButtons;
+
+ // Left pad coordinates
+ short sLeftPadX;
+ short sLeftPadY;
+
+ // Right pad coordinates
+ short sRightPadX;
+ short sRightPadY;
+
+} SteamControllerState_t;
+
+#pragma pack()
+
+#endif // STEAMCONTROLLERPUBLIC_H
+