summaryrefslogtreecommitdiff
path: root/common/xbox/xbox_core.h
diff options
context:
space:
mode:
authorFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
committerFluorescentCIAAfricanAmerican <[email protected]>2020-04-22 12:56:21 -0400
commit3bf9df6b2785fa6d951086978a3e66f49427166a (patch)
tree2c0f1f0c63c4832882bc93814ebd2c2b1c6224e5 /common/xbox/xbox_core.h
downloadarchived-source-engine-2018-hl2-src-master.tar.xz
archived-source-engine-2018-hl2-src-master.zip
Diffstat (limited to 'common/xbox/xbox_core.h')
-rw-r--r--common/xbox/xbox_core.h183
1 files changed, 183 insertions, 0 deletions
diff --git a/common/xbox/xbox_core.h b/common/xbox/xbox_core.h
new file mode 100644
index 0000000..b109a19
--- /dev/null
+++ b/common/xbox/xbox_core.h
@@ -0,0 +1,183 @@
+//========= Copyright Valve Corporation, All rights reserved. ============//
+//
+// Purpose: XBox Core definitions
+//
+//=============================================================================
+#pragma once
+
+#define XBOX_DONTCARE 0 // for functions with don't care params
+
+#define XBX_MAX_DPORTS 4
+#define XBX_MAX_BUTTONSAMPLE 32768
+#define XBX_MAX_ANALOGSAMPLE 255
+#define XBX_MAX_MESSAGE 2048
+#define XBX_MAX_PATH MAX_PATH
+#define XBX_MAX_RCMDLENGTH 256
+#define XBX_MAX_RCMDNAMELEN 32
+#define XBX_HDD_CLUSTERSIZE 16384
+
+// could be dvd or hdd, actual device depends on source of xex launch
+#define XBX_DVD_DRIVE "D:\\"
+#define XBX_BOOT_DRIVE "D:\\"
+
+#define XBX_IOTHREAD_STACKSIZE 32768
+#define XBX_IOTHREAD_PRIORITY THREAD_PRIORITY_HIGHEST
+
+// scale by screen dimension to get an inset
+#define XBOX_MINBORDERSAFE 0.05f
+#define XBOX_MAXBORDERSAFE 0.075f
+
+#define XBX_CALCSIG_TYPE XCALCSIG_FLAG_NON_ROAMABLE
+#define XBX_INVALID_STORAGE_ID ((DWORD)-1)
+#define XBX_STORAGE_DECLINED ((DWORD)-2)
+#define XBX_INVALID_USER_ID ((DWORD)-1)
+
+#define XBX_USER_SETTINGS_CONTAINER_DRIVE "CFG"
+
+// Path to our running executable
+#define XBX_XEX_BASE_FILENAME "default.xex"
+#define XBX_XEX_PATH XBX_BOOT_DRIVE XBX_XEX_BASE_FILENAME
+
+#define XBX_CLR_DEFAULT 0xFF000000
+#define XBX_CLR_WARNING 0x0000FFFF
+#define XBX_CLR_ERROR 0x000000FF
+
+// disk space requirements
+#define XBX_SAVEGAME_BYTES ( 1024 * 1024 * 2 )
+#define XBX_CONFIGFILE_BYTES ( 1024 * 100 )
+#define XBX_USER_STATS_BYTES ( 1024 * 28 )
+#define XBX_USER_SETTINGS_BYTES ( XBX_CONFIGFILE_BYTES + XBX_USER_STATS_BYTES )
+
+#define XBX_PERSISTENT_BYTES_NEEDED ( XBX_SAVEGAME_BYTES * 10 ) // 8 save games, 1 autosave, 1 autosavedangerous
+
+#define XMAKECOLOR( r, g, b ) ((unsigned int)(((unsigned char)(r)|((unsigned int)((unsigned char)(g))<<8))|(((unsigned int)(unsigned char)(b))<<16)))
+
+#define MAKE_NON_SRGB_FMT(x) ((D3DFORMAT)( ((unsigned int)(x)) & ~(D3DFORMAT_SIGNX_MASK | D3DFORMAT_SIGNY_MASK | D3DFORMAT_SIGNZ_MASK)))
+#define IS_D3DFORMAT_SRGB( x ) ( MAKESRGBFMT(x) == (x) )
+
+typedef enum
+{
+ XEV_NULL,
+ XEV_REMOTECMD,
+ XEV_QUIT,
+ XEV_LISTENER_NOTIFICATION,
+} xevent_e;
+
+typedef struct xevent_s
+{
+ xevent_e event;
+ int arg1;
+ int arg2;
+ int arg3;
+} xevent_t;
+
+typedef enum
+{
+ XK_NULL,
+ XK_BUTTON_UP,
+ XK_BUTTON_DOWN,
+ XK_BUTTON_LEFT,
+ XK_BUTTON_RIGHT,
+ XK_BUTTON_START,
+ XK_BUTTON_BACK,
+ XK_BUTTON_STICK1,
+ XK_BUTTON_STICK2,
+ XK_BUTTON_A,
+ XK_BUTTON_B,
+ XK_BUTTON_X,
+ XK_BUTTON_Y,
+ XK_BUTTON_LEFT_SHOULDER,
+ XK_BUTTON_RIGHT_SHOULDER,
+ XK_BUTTON_LTRIGGER,
+ XK_BUTTON_RTRIGGER,
+ XK_STICK1_UP,
+ XK_STICK1_DOWN,
+ XK_STICK1_LEFT,
+ XK_STICK1_RIGHT,
+ XK_STICK2_UP,
+ XK_STICK2_DOWN,
+ XK_STICK2_LEFT,
+ XK_STICK2_RIGHT,
+ XK_MAX_KEYS,
+} xKey_t;
+
+typedef struct
+{
+ const char *pName;
+ const char *pGroupName;
+ const char *pFormatName;
+ int size;
+ int width;
+ int height;
+ int depth;
+ int numLevels;
+ int binds;
+ int refCount;
+ int sRGB;
+ int edram;
+ int procedural;
+ int fallback;
+ int final;
+ int failed;
+} xTextureList_t;
+
+typedef struct
+{
+ const char *pName;
+ const char *pShaderName;
+ int refCount;
+} xMaterialList_t;
+
+typedef struct
+{
+ char name[MAX_PATH];
+ char formatName[32];
+ int rate;
+ int bits;
+ int channels;
+ int looped;
+ int dataSize;
+ int numSamples;
+ int streamed;
+} xSoundList_t;
+
+typedef struct
+{
+ float position[3];
+ float angle[3];
+ char mapPath[256];
+ char savePath[256];
+ int build;
+ int skill;
+} xMapInfo_t;
+
+/******************************************************************************
+ XBOX_SYSTEM.CPP
+******************************************************************************/
+#if defined( PLATFORM_H )
+
+// redirect debugging output through xbox debug channel
+#define OutputDebugStringA XBX_OutputDebugStringA
+
+// Messages
+PLATFORM_INTERFACE void XBX_Error( const char* format, ... );
+PLATFORM_INTERFACE void XBX_OutputDebugStringA( LPCSTR lpOutputString );
+
+// Event handling
+PLATFORM_INTERFACE bool XBX_NotifyCreateListener( ULONG64 categories );
+PLATFORM_INTERFACE void XBX_QueueEvent( xevent_e event, int arg1, int arg2, int arg3 );
+PLATFORM_INTERFACE void XBX_ProcessEvents( void );
+
+// Accessors
+PLATFORM_INTERFACE const char* XBX_GetLanguageString( void );
+PLATFORM_INTERFACE bool XBX_IsLocalized( void );
+PLATFORM_INTERFACE DWORD XBX_GetStorageDeviceId( void );
+PLATFORM_INTERFACE void XBX_SetStorageDeviceId( DWORD id );
+PLATFORM_INTERFACE DWORD XBX_GetPrimaryUserId( void );
+PLATFORM_INTERFACE void XBX_SetPrimaryUserId( DWORD id );
+PLATFORM_INTERFACE XNKID XBX_GetInviteSessionId( void );
+PLATFORM_INTERFACE void XBX_SetInviteSessionId( XNKID nSessionId );
+PLATFORM_INTERFACE DWORD XBX_GetInvitedUserId( void );
+PLATFORM_INTERFACE void XBX_SetInvitedUserId( DWORD nUserId );
+
+#endif \ No newline at end of file