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 : public CTelemetryManager
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 virtual HRESULT Init();
27 virtual HRESULT Tick();
28
29 virtual HRESULT Flush();
30
31 virtual BOOL RecordPlayerSessionStart(DWORD dwUserId);
32 virtual BOOL RecordPlayerSessionExit(DWORD dwUserId, int exitStatus);
33 virtual BOOL RecordHeartBeat(DWORD dwUserId);
34 virtual BOOL RecordLevelStart(DWORD dwUserId, ESen_FriendOrMatch friendsOrMatch, ESen_CompeteOrCoop competeOrCoop, int difficulty, DWORD numberOfLocalPlayers, DWORD numberOfOnlinePlayers);
35 virtual BOOL RecordLevelExit(DWORD dwUserId, ESen_LevelExitStatus levelExitStatus);
36 virtual BOOL RecordLevelSaveOrCheckpoint(DWORD dwUserId, INT saveOrCheckPointID, INT saveSizeInBytes);
37 virtual BOOL RecordLevelResume(DWORD dwUserId, ESen_FriendOrMatch friendsOrMatch, ESen_CompeteOrCoop competeOrCoop, int difficulty, DWORD numberOfLocalPlayers, DWORD numberOfOnlinePlayers, INT saveOrCheckPointID);
38 virtual BOOL RecordPauseOrInactive(DWORD dwUserId);
39 virtual BOOL RecordUnpauseOrActive(DWORD dwUserId);
40 virtual BOOL RecordMenuShown(DWORD dwUserId, INT menuID, INT optionalMenuSubID);
41 virtual BOOL RecordAchievementUnlocked(DWORD dwUserId, INT achievementID, INT achievementGamerscore);
42 virtual BOOL RecordMediaShareUpload(DWORD dwUserId, ESen_MediaDestination mediaDestination, ESen_MediaType mediaType);
43 virtual BOOL RecordUpsellPresented(DWORD dwUserId, ESen_UpsellID upsellId, INT marketplaceOfferID);
44 virtual BOOL RecordUpsellResponded(DWORD dwUserId, ESen_UpsellID upsellId, INT marketplaceOfferID, ESen_UpsellOutcome upsellOutcome);
45 virtual BOOL RecordPlayerDiedOrFailed(DWORD dwUserId, INT lowResMapX, INT lowResMapY, INT lowResMapZ, INT mapID, INT playerWeaponID, INT enemyWeaponID, ETelemetryChallenges enemyTypeID);
46 virtual BOOL RecordEnemyKilledOrOvercome(DWORD dwUserId, INT lowResMapX, INT lowResMapY, INT lowResMapZ, INT mapID, INT playerWeaponID, INT enemyWeaponID, ETelemetryChallenges enemyTypeID);
47 virtual BOOL RecordTexturePackLoaded(DWORD dwUserId, INT texturePackId, INT purchased);
48
49 virtual BOOL RecordSkinChanged(DWORD dwUserId, DWORD dwSkinId);
50 virtual BOOL RecordBanLevel(DWORD dwUserId);
51 virtual BOOL RecordUnBanLevel(DWORD dwUserId);
52
53 virtual INT GetMultiplayerInstanceID();
54 virtual INT GenerateMultiplayerInstanceId();
55 virtual void SetMultiplayerInstanceId(INT value);
56
57private:
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};