XPlor/third_party/xbox_sdk/include/XStudioService.h
2025-04-23 00:09:35 -04:00

99 lines
3.7 KiB
C

/***************************************************************************
* *
* XStudioService.h -- This module defines the APIs for Xbox 360 Studio *
* Services *
* *
* Copyright (c) Microsoft Corp. All rights reserved. *
* *
***************************************************************************/
#pragma once
#ifndef XSTUDIO
#error "You must include xstudio.h rather than including xstudioservice.h directly"
#endif
#ifdef __cplusplus
extern "C" {
#endif
// Set bitfield ordering to lsb->msb on PPC (default is msb->lsb)
#if defined(_M_PPCBE)
#pragma bitfield_order(push)
#pragma bitfield_order(lsb_to_msb)
#endif
// -----------------------------------------------------------------------------
// Handle Types
// -----------------------------------------------------------------------------
typedef unsigned int XSTUDIO_HANDLE;
typedef XSTUDIO_HANDLE XSTUDIO_FILE_HANDLE;
// -----------------------------------------------------------------------------
// Stream Types
// -----------------------------------------------------------------------------
typedef enum _XSTUDIO_STREAM_ID
{
XSTUDIO_STREAM_ID_NUICAM_BASE = 0,
XSTUDIO_STREAM_ID_NUICAM_DEPTH = XSTUDIO_STREAM_ID_NUICAM_BASE + 0, // 0
XSTUDIO_STREAM_ID_NUICAM_COLOR = XSTUDIO_STREAM_ID_NUICAM_BASE + 1, // 1
XSTUDIO_STREAM_ID_NUIAPI_BASE = 4,
XSTUDIO_STREAM_ID_NUIAPI_SKELETON = XSTUDIO_STREAM_ID_NUIAPI_BASE + 0, // 4
XSTUDIO_STREAM_ID_NUIAPI_IDENTITY = XSTUDIO_STREAM_ID_NUIAPI_BASE + 2, // 6
XSTUDIO_STREAM_ID_NUIAPI_PLAYER_INDEX = XSTUDIO_STREAM_ID_NUIAPI_BASE + 3, // 7
XSTUDIO_STREAM_ID_TITLE_BASE = 16,
XSTUDIO_STREAM_ID_TITLE_DATA = XSTUDIO_STREAM_ID_TITLE_BASE + 0, // 16
XSTUDIO_STREAM_ID_MISC_PRIVATE = 31, // 31
XSTUDIO_STREAM_ID_COUNT = 32,
XSTUDIO_STREAM_ID_INVALID = 0xFFFFFFFF
} XSTUDIO_STREAM_ID;
typedef DWORD XSTUDIO_STREAM_FLAGS, *PXSTUDIO_STREAM_FLAGS;
#define XSTUDIO_STREAM_FLAG_NONE ( 0 )
#define XSTUDIO_STREAM_FLAG_DEFAULT ( (XSTUDIO_STREAM_FLAGS)-1 )
#define XSTUDIO_STREAM_FLAG_NUICAM_DEPTH ( 1 << XSTUDIO_STREAM_ID_NUICAM_DEPTH )
#define XSTUDIO_STREAM_FLAG_NUICAM_COLOR ( 1 << XSTUDIO_STREAM_ID_NUICAM_COLOR )
#define XSTUDIO_STREAM_FLAG_NUICAM_ALL ( XSTUDIO_STREAM_FLAG_NUICAM_DEPTH | XSTUDIO_STREAM_FLAG_NUICAM_COLOR )
#define XSTUDIO_STREAM_FLAG_NUIAPI_SKELETON ( 1 << XSTUDIO_STREAM_ID_NUIAPI_SKELETON )
#define XSTUDIO_STREAM_FLAG_NUIAPI_IDENTITY ( 1 << XSTUDIO_STREAM_ID_NUIAPI_IDENTITY )
#define XSTUDIO_STREAM_FLAG_NUIAPI_PLAYER_INDEX ( 1 << XSTUDIO_STREAM_ID_NUIAPI_PLAYER_INDEX )
#define XSTUDIO_STREAM_FLAG_NUIAPI_ALL ( XSTUDIO_STREAM_FLAG_NUIAPI_SKELETON \
| XSTUDIO_STREAM_FLAG_NUIAPI_IDENTITY \
| XSTUDIO_STREAM_FLAG_NUIAPI_PLAYER_INDEX )
#define XSTUDIO_STREAM_FLAG_TITLE_DATA ( 1 << XSTUDIO_STREAM_ID_TITLE_DATA )
#define XSTUDIO_STREAM_FLAG_TITLE_ALL ( XSTUDIO_STREAM_FLAG_TITLE_DATA )
#define XSTUDIO_STREAM_FLAG_ALL ( XSTUDIO_STREAM_FLAG_NUICAM_ALL \
| XSTUDIO_STREAM_FLAG_NUIAPI_ALL \
| XSTUDIO_STREAM_FLAG_TITLE_ALL )
#if defined(_M_PPCBE)
#pragma bitfield_order(pop)
#endif
#ifdef __cplusplus
}
#endif