Initial commit
This commit is contained in:
111
Minecraft.Client/Xbox/Sentient/Include/SenClientResource.h
Normal file
111
Minecraft.Client/Xbox/Sentient/Include/SenClientResource.h
Normal file
@@ -0,0 +1,111 @@
|
||||
/********************************************************
|
||||
* *
|
||||
* Copyright (C) Microsoft. All rights reserved. *
|
||||
* *
|
||||
********************************************************/
|
||||
|
||||
// Sentient Client Resource API
|
||||
//
|
||||
// Include this to get access to all Resource-related Sentient features.
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "SenClientTypes.h"
|
||||
|
||||
|
||||
namespace Sentient
|
||||
{
|
||||
//======================//
|
||||
// //
|
||||
// Resource Types //
|
||||
// //
|
||||
//======================//
|
||||
|
||||
/// @brief Resource types/categories.
|
||||
///
|
||||
/// @details This value is normally used to fill the top 8 bits of a resource ID, with the bottom 24 being an index.
|
||||
///
|
||||
enum SenResourceType : INT8
|
||||
{
|
||||
SenResourceType_Invalid,
|
||||
SenResourceType_Avatar,
|
||||
SenResourceType_BoxArt,
|
||||
SenResourceType_Config,
|
||||
SenResourceType_Help,
|
||||
};
|
||||
|
||||
/// @brief Resource types/categories.
|
||||
///
|
||||
/// @details The top 8 bits are always the SenResourceType. The bottom 24 are typically an index into the category.
|
||||
/// These categories do not overlap, so that we can choose to store different resource types in the same or
|
||||
/// different tables, depending on what is more useful. Note, though, that you should expect E_INVALIDARG
|
||||
/// back if you pass an ID from one category to a call wanting a different category.
|
||||
/// Some categories' IDs will be hardwired/assumed, while others will be generated inside of Microsoft (e.g. box art).
|
||||
///
|
||||
enum SenResourceID : INT32
|
||||
{
|
||||
/// This is used to indicate a failed search, an invalid resource structure, or sometimes to substitute for a default.
|
||||
SenResourceID_Invalid = (INT32)SenResourceType_Invalid << 24,
|
||||
|
||||
/// This is the first VIP reward costume and there is one for each title.
|
||||
SenResourceID_Superstar_0 = (INT32)SenResourceType_Avatar << 24,
|
||||
/// This is the second VIP reward costume and there is one for each title.
|
||||
SenResourceID_Superstar_1,
|
||||
/// This is the third VIP reward costume and there is one for each title.
|
||||
SenResourceID_Superstar_2,
|
||||
/// This is the fourth VIP reward costume and there is only one, shared across all titles.
|
||||
SenResourceID_Superstar_3,
|
||||
/// This is the fifth VIP reward costume and there is only one, shared across all titles.
|
||||
SenResourceID_Superstar_4,
|
||||
|
||||
/// This is used for the cross-sell screen and contains things such as an image, offerID, strings, etc.
|
||||
SenResourceID_BoxArt_0 = (INT32)SenResourceType_BoxArt << 24,
|
||||
|
||||
/// This is used for game-private config files, and is only the base of the range.
|
||||
/// Titles may use the entire 24-bit space for various custom config files.
|
||||
SenResourceID_Config_0 = (INT32)SenResourceType_Config << 24,
|
||||
|
||||
/// This is used for server-supplied help files/text.
|
||||
/// At the moment, this is not supported.
|
||||
SenResourceID_Help_0 = (INT32)SenResourceType_Help << 24,
|
||||
|
||||
};
|
||||
|
||||
/// @brief Resource schedule priority.
|
||||
///
|
||||
/// @details This is currently reserved for later use in overriding one resource with another on a schedule.
|
||||
/// It is not currently used and may be changed at a later date.
|
||||
///
|
||||
typedef INT32 SenResourcePriority;
|
||||
enum
|
||||
{
|
||||
SenResourcePriority_Default = 0,
|
||||
};
|
||||
|
||||
/// @brief Generic resource information.
|
||||
///
|
||||
/// @details This structure contains enough information to uniquely identify
|
||||
/// one resource at a given time on the schedule, e.g. an avatar or
|
||||
/// box art at 3am. (Note that schedules are not currently used and
|
||||
/// may be re-architected in the future.)
|
||||
///
|
||||
struct SenResourceInfo
|
||||
{
|
||||
SenSysTitleID titleID; ///< This is the title the resource is assigned to, or SenTitleID_Shared for all.
|
||||
SenResourceID resourceID; ///< This is the resource ID within the title's space.
|
||||
|
||||
SenResourcePriority priority; ///< Schedule priority. This is not currently used and may be changed at a later date.
|
||||
SYSTEMTIME begins; ///< Scheduled begin time (inclusive). This is not currently used and may be changed at a later date.
|
||||
SYSTEMTIME ends; ///< Scheduled end time (exclusive). This is not currently used and may be changed at a later date.
|
||||
};
|
||||
|
||||
|
||||
//==========================//
|
||||
// //
|
||||
// Resource Functions //
|
||||
// //
|
||||
//==========================//
|
||||
|
||||
// None at the moment.
|
||||
|
||||
} // namespace Sentient
|
||||
Reference in New Issue
Block a user