the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 111 lines 4.8 kB view raw
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