the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1#pragma once
2#include "MinecraftTelemetry.h"
3
4class CSentientManager
5{
6public:
7 enum ETelemetryEvent
8 {
9 eTelemetry_PlayerSessionStart,
10 eTelemetry_PlayerSessionExit,
11 eTelemetry_HeartBeat,
12 eTelemetry_LevelStart,
13 eTelemetry_LevelExit,
14 eTelemetry_LevelSaveOrCheckpoint,
15 eTelemetry_PauseOrInactive,
16 eTelemetry_UnpauseOrActive,
17 eTelemetry_MenuShown,
18 eTelemetry_AchievementUnlocked,
19 eTelemetry_MediaShareUpload,
20 eTelemetry_UpsellPresented,
21 eTelemetry_UpsellResponded,
22 eTelemetry_PlayerDiedOrFailed,
23 eTelemetry_EnemyKilledOrOvercome,
24 };
25
26 HRESULT Init();
27 HRESULT Tick();
28
29 HRESULT Flush();
30
31 BOOL RecordPlayerSessionStart(DWORD dwUserId);
32 BOOL RecordPlayerSessionExit(DWORD dwUserId, int exitStatus);
33 BOOL RecordHeartBeat(DWORD dwUserId);
34 BOOL RecordLevelStart(DWORD dwUserId, ESen_FriendOrMatch friendsOrMatch, ESen_CompeteOrCoop competeOrCoop, int difficulty, DWORD numberOfLocalPlayers, DWORD numberOfOnlinePlayers);
35 BOOL RecordLevelExit(DWORD dwUserId, ESen_LevelExitStatus levelExitStatus);
36 BOOL RecordLevelSaveOrCheckpoint(DWORD dwUserId, INT saveOrCheckPointID, INT saveSizeInBytes);
37 BOOL RecordLevelResume(DWORD dwUserId, ESen_FriendOrMatch friendsOrMatch, ESen_CompeteOrCoop competeOrCoop, int difficulty, DWORD numberOfLocalPlayers, DWORD numberOfOnlinePlayers, INT saveOrCheckPointID);
38 BOOL RecordPauseOrInactive(DWORD dwUserId);
39 BOOL RecordUnpauseOrActive(DWORD dwUserId);
40 BOOL RecordMenuShown(DWORD dwUserId, INT menuID, INT optionalMenuSubID);
41 BOOL RecordAchievementUnlocked(DWORD dwUserId, INT achievementID, INT achievementGamerscore);
42 BOOL RecordMediaShareUpload(DWORD dwUserId, ESen_MediaDestination mediaDestination, ESen_MediaType mediaType);
43 BOOL RecordUpsellPresented(DWORD dwUserId, ESen_UpsellID upsellId, INT marketplaceOfferID);
44 BOOL RecordUpsellResponded(DWORD dwUserId, ESen_UpsellID upsellId, INT marketplaceOfferID, ESen_UpsellOutcome upsellOutcome);
45 BOOL RecordPlayerDiedOrFailed(DWORD dwUserId, INT lowResMapX, INT lowResMapY, INT lowResMapZ, INT mapID, INT playerWeaponID, INT enemyWeaponID, ETelemetryChallenges enemyTypeID);
46 BOOL RecordEnemyKilledOrOvercome(DWORD dwUserId, INT lowResMapX, INT lowResMapY, INT lowResMapZ, INT mapID, INT playerWeaponID, INT enemyWeaponID, ETelemetryChallenges enemyTypeID);
47
48 BOOL RecordSkinChanged(DWORD dwUserId, DWORD dwSkinId);
49 BOOL RecordBanLevel(DWORD dwUserId);
50 BOOL RecordUnBanLevel(DWORD dwUserId);
51
52 INT GetMultiplayerInstanceID();
53 INT GenerateMultiplayerInstanceId();
54 void SetMultiplayerInstanceId(INT value);
55
56private:
57 float m_initialiseTime;
58 float m_lastHeartbeat;
59 bool m_bFirstFlush;
60
61 float m_fLevelStartTime[XUSER_MAX_COUNT];
62
63 INT m_multiplayerInstanceID;
64 DWORD m_levelInstanceID;
65
66 // Helper functions to get the various common settings
67 INT GetSecondsSinceInitialize();
68 INT GetMode(DWORD dwUserId);
69 INT GetSubMode(DWORD dwUserId);
70 INT GetLevelId(DWORD dwUserId);
71 INT GetSubLevelId(DWORD dwUserId);
72 INT GetTitleBuildId();
73 INT GetLevelInstanceID();
74 INT GetSingleOrMultiplayer();
75 INT GetDifficultyLevel(INT diff);
76 INT GetLicense();
77 INT GetDefaultGameControls();
78 INT GetAudioSettings(DWORD dwUserId);
79 INT GetLevelExitProgressStat1();
80 INT GetLevelExitProgressStat2();
81};
82
83extern CSentientManager SentientManager;