the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1#pragma once
2
3/*
4AchievementGamerscore Value in gamerscore of the achievement
5AchievementID ID of achievement unlocked
6EnemyTypeID What type of enemy or challenge was the player facing? To prevent data-loss by overflowing the buffer, we recommend enemy type.
7EnemyWeaponID What weapon the enemy is holding or what counter/AI the enemy is taking to overcome a challenge
8EnrollmentType How did players enroll? (Using Kinect)
9LandscapeOrPortrait Are you currently showing in landscape or portrait mode? (Win8 only)
10LevelDurationInSeconds How long, total, has the user been playing in this level - whatever best represents this duration for attempting the level you'd like to track.
11LevelExitProgressStat1 Refers to the highest level performance metric for your game.� For example, a performance metric could points earned, race time, total kills, etc. This is entirely up to you and will help us understand how well the player performed, or how far the player progressed �in the level before exiting.
12LevelExitProgressStat2 Refers to the highest level performance metric for your game.� For example, a performance metric could points earned, race time, total kills, etc. This is entirely up to you and will help us understand how well the player performed, or how far the player progressed �in the level before exiting.
13LevelID This is a more granular view of mode, allowing teams to get a sense of the levels or maps players are playing and providing some insight into how players progress through a game. Teams will have to provide the game mappings that correspond to the integers. The intent is that a level is highest level at which modes can be dissected and provides an indication of player progression in a game. The intent is that level start and ends do not occur more than every 2 minutes or so, otherwise the data reported will be difficult to understand. Levels are unique only within a given modeID - so you can have a ModeID =1, LevelID =1 and a different ModeID=2, LevelID = 1 indicate two completely different levels. LevelID = 0 means undefined or unknown.
14LevelInstanceID Generated by the game every time LevelStart or LevelResume is called. This should be a unique ID (can be sequential) within a session.
15LowResMapX Player position normalized to 0-255
16LowResMapY Player position normalized to 0-255
17LowResMapZ Player position normalized to 0-255
18MapID Unique ID for the current map the player is on
19MarketplaceOfferID Unique ID for the Xbox LIVE marketplace offer that the upsell links to
20MicroGoodTypeID Describes the type of consumable or microgood
21MultiplayerInstanceID multiplayerinstanceID is a title-generated value that is the same for all players in the same multiplayer session.�
22NumberOfLocalPlayers the number of players that are playing together in the game locally in the current session (on the same piece of hardware)
23NumberOfOnlinePlayers the number of players that are playing together in the game online in the current session (not on the same piece of hardware)
24NumberOfSkeletonsInView the max and min of skeletons that were in view, regardless of enrollment
25OptionalSubLevelID Used when a title has more heirarchy required. OptionalSubLevel ID = 0 means undefined or unknown.
26OptionalSubModeID Used when a title has more heirarchy required. OptionalSubMode ID = 0 means undefined or unknown.
27PlayerLevelUpProgressStat1 Refers to a performance metric for your player when they level or rank up. This is entirely up to you and will help us understand how well the player performed, or how far the player has progressed.
28PlayerLevelUpProgressStat2 Refers to a performance metric for your player when they level or rank up. This is entirely up to you and will help us understand how well the player performed, or how far the player has progressed.
29PlayerWeaponID What weapon the player is holding or what approach/tact the player is taking to overcome a challenge
30PlayspaceFeedbackWarningDirection identifies which side of the playspace players are getting too close to that results in the playspace feedback
31SaveOrCheckpointID It is important that you also generate and save a unique SaveOrCheckpointID that can be read and reported when the player resumes from this save file or checkpoint. These IDs should be completely unique across the player�s experience, even if they play the same level multiple times. These IDs are critical to allowing us to re-stitch a player�s experience in your title and provide an accurate measure of time in level.
32SecondsSinceInitialize Number of seconds elapsed since Sentient initialize.
33SecondsSinceInitializeMax Number of seconds elapsed since Sentient initialize.
34SecondsSinceInitializeMin Number of seconds elapsed since Sentient initialize.
35SkeletonDistanceInInches Identifies the distance of the skeleton from the Kinect sensor
36TitleBuildID Build version of the title, used to track changes in development as well as patches/title updates
37*/
38
39/*
40ModeID
41An in-game setting that significantly differentiates the play style of the game.
42(This should be captured as an integer and correspond to mode specific to the game.)
43Teams will have to provide the game mappings that correspond to the integers.
44The intent is to allow teams to capture data on the highest level categories of gameplay in their game.
45For example, a game mode could be the name of the specific mini game (eg: golf vs darts) or a specific multiplayer mode (eg: hoard vs beast.) ModeID = 0 means undefined or unknown.
46*/
47enum ETelem_ModeId
48{
49 eTelem_ModeId_Undefined = 0,
50 eTelem_ModeId_Survival,
51 eTelem_ModeId_Creative, // Unused in current game version
52};
53
54/*
55OptionalSubModeID
56Used when a title has more heirarchy required.
57OptionalSubMode ID = 0 means undefined or unknown.
58*/
59enum ETelem_SubModeId
60{
61 eTelem_SubModeId_Undefined = 0,
62 eTelem_SubModeId_Normal,
63 eTelem_SubModeId_Tutorial,
64};
65
66/*
67LevelID
68This is a more granular view of mode, allowing teams to get a sense of the levels or maps players are playing and providing some insight into how players progress through a game.
69Teams will have to provide the game mappings that correspond to the integers.
70The intent is that a level is highest level at which modes can be dissected and provides an indication of player progression in a game.
71The intent is that level start and ends do not occur more than every 2 minutes or so, otherwise the data reported will be difficult to understand.
72Levels are unique only within a given modeID - so you can have a ModeID =1, LevelID =1 and a different ModeID=2, LevelID = 1 indicate two completely different levels.
73LevelID = 0 means undefined or unknown.
74*/
75enum ETelem_LevelId
76{
77 eTelem_LevelId_Undefined = 0,
78 eTelem_LevelId_PlayerGeneratedLevel = 1,
79 // 4J Stu - We currently do not have any specific levels (other than the tutorial which is tracked as a mode) so this is unused at the moment
80};
81
82/*
83OptionalSubLevelID
84Used when a title has more heirarchy required. OptionalSubLevel ID = 0 means undefined or unknown.
85*/
86enum ETelem_SubLevelId
87{
88 eTelem_SubLevelId_Undefined = 0,
89 eTelem_SubLevelId_Overworld,
90 eTelem_SubLevelId_Nether,
91 eTelem_SubLevelId_End
92};
93
94/*
95MenuID
96Describes the specific menu seen. MenuID = 0 means undefined or unknown.
97*/
98// 4J Stu - FOR REFERENCE ONLY - Should map 1:1 with the CConsoleMinecraftApp:EUIScene enum
99// Values that are commented out here are not currently reported
100enum ETelem_MenuId
101{
102 //eTelemMenuId_PartnernetPassword = 0,
103 //eTelemMenuId_Intro = 1,
104 //eTelemMenuId_SaveMessage = 2,
105 //eTelemMenuId_Main = 3,
106 //eTelemMenuId_FullscreenProgress = 4,
107 eTelemMenuId_Pause = 5,
108 //eTelemMenuId_CraftingPanel_2x2 = 6,
109 //eTelemMenuId_CraftingPanel_3x3 = 7,
110 //eTelemMenuId_Furnace = 8,
111 //eTelemMenuId_Container = 9,
112 //eTelemMenuId_Largecontainer_small = 10,// for splitscreen
113 //eTelemMenuId_Inventory = 11,
114 //eTelemMenuId_Trap = 12,
115 //eTelemMenuId_Debug = 13,
116 //eTelemMenuId_DebugTips = 14,
117 //eTelemMenuId_HelpAndOptions = 15,
118 eTelemMenuId_HowToPlay = 16,
119 //eTelemMenuId_HowToPlayMenu = 17,
120 //eTelemMenuId_Controls = 18,
121 //eTelemMenuId_Settings_Menu = 19,
122 //eTelemMenuId_Settings_All = 20,
123 //eTelemMenuId_Leaderboards = 21,
124 //eTelemMenuId_Credits = 22,
125 //eTelemMenuId_Death = 23,
126 //eTelemMenuId_TutorialPopup = 24,
127 eTelemMenuId_MultiGameCreate = 25,
128 //eTelemMenuId_MultiGameJoinLoad = 26,
129 eTelemMenuId_MultiGameInfo = 27,
130 //eTelemMenuId_SignEntry = 28,
131 //eTelemMenuId_InGameInfo = 29,
132 //eTelemMenuId_ConnectingProgress = 30,
133 eTelemMenuId_DLCOffers = 31,
134 eTelemMenuId_SocialPost = 32,
135 //eTelemMenuId_TrialExitUpsell = 33,
136 eTelemMenuId_LoadSettings = 34,
137 //eTelemMenuId_Chat = 35,
138 //eTelemMenuId_Reinstall = 36,
139};
140
141/*
142OptionalSubMenuID
143Used when a title has more heirarchy required. OptionalSubMenuID = 0 means undefined or unknown.
144*/
145enum ETelemetry_HowToPlay_SubMenuId
146{
147 eTelemetryHowToPlay_Basics = 0,
148 eTelemetryHowToPlay_HUD,
149 eTelemetryHowToPlay_Inventory,
150 eTelemetryHowToPlay_Chest,
151 eTelemetryHowToPlay_LargeChest,
152 eTelemetryHowToPlay_InventoryCrafting,
153 eTelemetryHowToPlay_CraftTable,
154 eTelemetryHowToPlay_Furnace,
155 eTelemetryHowToPlay_Dispenser,
156 eTelemetryHowToPlay_NetherPortal,
157};
158
159/*
160EnemyTypeID What type of enemy or challenge was the player facing?
161To prevent data-loss by overflowing the buffer, we recommend enemy type.
162*/
163enum ETelemetryChallenges
164{
165 eTelemetryChallenges_Unknown = 0,
166
167 eTelemetryTutorial_TrialStart,
168 eTelemetryTutorial_Halfway,
169 eTelemetryTutorial_Complete,
170
171 eTelemetryTutorial_Inventory,
172 eTelemetryTutorial_Crafting,
173 eTelemetryTutorial_Furnace,
174 eTelemetryTutorial_Fishing,
175 eTelemetryTutorial_Minecart,
176 eTelemetryTutorial_Boat,
177 eTelemetryTutorial_Bed,
178
179 eTelemetryTutorial_Redstone_And_Pistons,
180 eTelemetryTutorial_Portal,
181 eTelemetryTutorial_FoodBar,
182 eTelemetryTutorial_CreativeMode,
183 eTelemetryTutorial_BrewingMenu,
184
185 eTelemetryInGame_Ride_Minecart,
186 eTelemetryInGame_Ride_Boat,
187 eTelemetryInGame_Ride_Pig,
188 eTelemetryInGame_UseBed,
189
190 eTelemetryTutorial_CreativeInventory, // Added TU5
191
192 eTelemetryTutorial_EnchantingMenu,
193 eTelemetryTutorial_Brewing,
194 eTelemetryTutorial_Enchanting,
195 eTelemetryTutorial_Farming,
196
197 eTelemetryPlayerDeathSource_Fall,
198 eTelemetryPlayerDeathSource_Lava,
199 eTelemetryPlayerDeathSource_Fire,
200 eTelemetryPlayerDeathSource_Water,
201 eTelemetryPlayerDeathSource_Suffocate,
202 eTelemetryPlayerDeathSource_OutOfWorld,
203 eTelemetryPlayerDeathSource_Cactus,
204
205 eTelemetryPlayerDeathSource_Player_Weapon,
206 eTelemetryPlayerDeathSource_Player_Arrow,
207
208 eTelemetryPlayerDeathSource_Explosion_Tnt,
209 eTelemetryPlayerDeathSource_Explosion_Creeper,
210
211 eTelemetryPlayerDeathSource_Wolf,
212 eTelemetryPlayerDeathSource_Zombie,
213 eTelemetryPlayerDeathSource_Skeleton,
214 eTelemetryPlayerDeathSource_Spider,
215 eTelemetryPlayerDeathSource_Slime,
216 eTelemetryPlayerDeathSource_Ghast,
217 eTelemetryPlayerDeathSource_ZombiePigman,
218
219 eTelemetryTutorial_Breeding,
220 eTelemetryTutorial_Golem,
221
222 eTelemetryTutorial_Anvil, // Added TU14
223 eTelemetryTutorial_AnvilMenu,
224 eTelemetryTutorial_Trading,
225 eTelemetryTutorial_TradingMenu,
226 eTelemetryTutorial_Enderchest,
227
228 // Sent over network as a byte
229};