mirror of
https://github.com/nillerusr/source-engine.git
synced 2026-08-17 06:03:02 +00:00
1
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user