aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/Xbox/Sentient/Include/SenClientResource.h
diff options
context:
space:
mode:
authordaoge_cmd <3523206925@qq.com>2026-03-01 12:16:08 +0800
committerdaoge_cmd <3523206925@qq.com>2026-03-01 12:16:08 +0800
commitb691c43c44ff180d10e7d4a9afc83b98551ff586 (patch)
tree3e9849222cbc6ba49f2f1fc6e5fe7179632c7390 /Minecraft.Client/Xbox/Sentient/Include/SenClientResource.h
parentdef8cb415354ac390b7e89052a50605285f1aca9 (diff)
Initial commit
Diffstat (limited to 'Minecraft.Client/Xbox/Sentient/Include/SenClientResource.h')
-rw-r--r--Minecraft.Client/Xbox/Sentient/Include/SenClientResource.h111
1 files changed, 111 insertions, 0 deletions
diff --git a/Minecraft.Client/Xbox/Sentient/Include/SenClientResource.h b/Minecraft.Client/Xbox/Sentient/Include/SenClientResource.h
new file mode 100644
index 00000000..e8405d5e
--- /dev/null
+++ b/Minecraft.Client/Xbox/Sentient/Include/SenClientResource.h
@@ -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