the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1/********************************************************
2* *
3* Copyright (C) Microsoft. All rights reserved. *
4* *
5********************************************************/
6
7// Sentient Client Resource API
8//
9// Include this to get access to all Resource-related Sentient features.
10
11#pragma once
12
13#include "SenClientTypes.h"
14
15
16namespace Sentient
17{
18 //======================//
19 // //
20 // Resource Types //
21 // //
22 //======================//
23
24 /// @brief Resource types/categories.
25 ///
26 /// @details This value is normally used to fill the top 8 bits of a resource ID, with the bottom 24 being an index.
27 ///
28 enum SenResourceType : INT8
29 {
30 SenResourceType_Invalid,
31 SenResourceType_Avatar,
32 SenResourceType_BoxArt,
33 SenResourceType_Config,
34 SenResourceType_Help,
35 };
36
37 /// @brief Resource types/categories.
38 ///
39 /// @details The top 8 bits are always the SenResourceType. The bottom 24 are typically an index into the category.
40 /// These categories do not overlap, so that we can choose to store different resource types in the same or
41 /// different tables, depending on what is more useful. Note, though, that you should expect E_INVALIDARG
42 /// back if you pass an ID from one category to a call wanting a different category.
43 /// Some categories' IDs will be hardwired/assumed, while others will be generated inside of Microsoft (e.g. box art).
44 ///
45 enum SenResourceID : INT32
46 {
47 /// This is used to indicate a failed search, an invalid resource structure, or sometimes to substitute for a default.
48 SenResourceID_Invalid = (INT32)SenResourceType_Invalid << 24,
49
50 /// This is the first VIP reward costume and there is one for each title.
51 SenResourceID_Superstar_0 = (INT32)SenResourceType_Avatar << 24,
52 /// This is the second VIP reward costume and there is one for each title.
53 SenResourceID_Superstar_1,
54 /// This is the third VIP reward costume and there is one for each title.
55 SenResourceID_Superstar_2,
56 /// This is the fourth VIP reward costume and there is only one, shared across all titles.
57 SenResourceID_Superstar_3,
58 /// This is the fifth VIP reward costume and there is only one, shared across all titles.
59 SenResourceID_Superstar_4,
60
61 /// This is used for the cross-sell screen and contains things such as an image, offerID, strings, etc.
62 SenResourceID_BoxArt_0 = (INT32)SenResourceType_BoxArt << 24,
63
64 /// This is used for game-private config files, and is only the base of the range.
65 /// Titles may use the entire 24-bit space for various custom config files.
66 SenResourceID_Config_0 = (INT32)SenResourceType_Config << 24,
67
68 /// This is used for server-supplied help files/text.
69 /// At the moment, this is not supported.
70 SenResourceID_Help_0 = (INT32)SenResourceType_Help << 24,
71
72 };
73
74 /// @brief Resource schedule priority.
75 ///
76 /// @details This is currently reserved for later use in overriding one resource with another on a schedule.
77 /// It is not currently used and may be changed at a later date.
78 ///
79 typedef INT32 SenResourcePriority;
80 enum
81 {
82 SenResourcePriority_Default = 0,
83 };
84
85 /// @brief Generic resource information.
86 ///
87 /// @details This structure contains enough information to uniquely identify
88 /// one resource at a given time on the schedule, e.g. an avatar or
89 /// box art at 3am. (Note that schedules are not currently used and
90 /// may be re-architected in the future.)
91 ///
92 struct SenResourceInfo
93 {
94 SenSysTitleID titleID; ///< This is the title the resource is assigned to, or SenTitleID_Shared for all.
95 SenResourceID resourceID; ///< This is the resource ID within the title's space.
96
97 SenResourcePriority priority; ///< Schedule priority. This is not currently used and may be changed at a later date.
98 SYSTEMTIME begins; ///< Scheduled begin time (inclusive). This is not currently used and may be changed at a later date.
99 SYSTEMTIME ends; ///< Scheduled end time (exclusive). This is not currently used and may be changed at a later date.
100 };
101
102
103 //==========================//
104 // //
105 // Resource Functions //
106 // //
107 //==========================//
108
109 // None at the moment.
110
111} // namespace Sentient