mirror of
https://github.com/4jcraft/4jcraft.git
synced 2026-05-28 00:42:53 +00:00
Remove WinAPI types from common telemetry helpers
This commit is contained in:
parent
ff592ca6a1
commit
9abfbb0c67
|
|
@ -146,9 +146,9 @@ Title needs to track this and report it as a property.
|
|||
These times will be used to create timelines and understand durations.
|
||||
This should be tracked independently of saved games (restoring a save should not reset the seconds since initialize)
|
||||
*/
|
||||
INT CTelemetryManager::GetSecondsSinceInitialize()
|
||||
int CTelemetryManager::GetSecondsSinceInitialize()
|
||||
{
|
||||
return (INT)(app.getAppTime() - m_initialiseTime);
|
||||
return static_cast<int>(app.getAppTime() - m_initialiseTime);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -159,27 +159,27 @@ The intent is to allow teams to capture data on the highest level categories of
|
|||
For 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.
|
||||
The intent is to answer the question "How are players playing your game?"
|
||||
*/
|
||||
INT CTelemetryManager::GetMode(DWORD dwUserId)
|
||||
int CTelemetryManager::GetMode(int userId)
|
||||
{
|
||||
INT mode = (INT)eTelem_ModeId_Undefined;
|
||||
int mode = static_cast<int>(eTelem_ModeId_Undefined);
|
||||
|
||||
Minecraft *pMinecraft = Minecraft::GetInstance();
|
||||
|
||||
if( pMinecraft->localplayers[dwUserId] != NULL && pMinecraft->localplayers[dwUserId]->level != NULL && pMinecraft->localplayers[dwUserId]->level->getLevelData() != NULL )
|
||||
if( pMinecraft->localplayers[userId] != NULL && pMinecraft->localplayers[userId]->level != NULL && pMinecraft->localplayers[userId]->level->getLevelData() != NULL )
|
||||
{
|
||||
GameType *gameType = pMinecraft->localplayers[dwUserId]->level->getLevelData()->getGameType();
|
||||
GameType *gameType = pMinecraft->localplayers[userId]->level->getLevelData()->getGameType();
|
||||
|
||||
if (gameType->isSurvival())
|
||||
{
|
||||
mode = (INT)eTelem_ModeId_Survival;
|
||||
mode = static_cast<int>(eTelem_ModeId_Survival);
|
||||
}
|
||||
else if (gameType->isCreative())
|
||||
{
|
||||
mode = (INT)eTelem_ModeId_Creative;
|
||||
mode = static_cast<int>(eTelem_ModeId_Creative);
|
||||
}
|
||||
else
|
||||
{
|
||||
mode = (INT)eTelem_ModeId_Undefined;
|
||||
mode = static_cast<int>(eTelem_ModeId_Undefined);
|
||||
}
|
||||
}
|
||||
return mode;
|
||||
|
|
@ -192,17 +192,17 @@ For titles that have sub-modes (Sports/Football).
|
|||
Mode is always an indicator of "How is the player choosing to play my game?" so these do not have to be consecutive.
|
||||
LevelIDs and SubLevelIDs can be reused as they will always be paired with a Mode/SubModeID, Mode should be unique - SubMode can be shared between modes.
|
||||
*/
|
||||
INT CTelemetryManager::GetSubMode(DWORD dwUserId)
|
||||
int CTelemetryManager::GetSubMode(int userId)
|
||||
{
|
||||
INT subMode = (INT)eTelem_SubModeId_Undefined;
|
||||
int subMode = static_cast<int>(eTelem_SubModeId_Undefined);
|
||||
|
||||
if(Minecraft::GetInstance()->isTutorial())
|
||||
{
|
||||
subMode = (INT)eTelem_SubModeId_Tutorial;
|
||||
subMode = static_cast<int>(eTelem_SubModeId_Tutorial);
|
||||
}
|
||||
else
|
||||
{
|
||||
subMode = (INT)eTelem_SubModeId_Normal;
|
||||
subMode = static_cast<int>(eTelem_SubModeId_Normal);
|
||||
}
|
||||
|
||||
return subMode;
|
||||
|
|
@ -216,11 +216,11 @@ The intent is that level start and ends do not occur more than every 2 minutes o
|
|||
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.
|
||||
*/
|
||||
INT CTelemetryManager::GetLevelId(DWORD dwUserId)
|
||||
int CTelemetryManager::GetLevelId(int userId)
|
||||
{
|
||||
INT levelId = (INT)eTelem_LevelId_Undefined;
|
||||
int levelId = static_cast<int>(eTelem_LevelId_Undefined);
|
||||
|
||||
levelId = (INT)eTelem_LevelId_PlayerGeneratedLevel;
|
||||
levelId = static_cast<int>(eTelem_LevelId_PlayerGeneratedLevel);
|
||||
|
||||
return levelId;
|
||||
}
|
||||
|
|
@ -231,24 +231,24 @@ For titles that have sub-levels.
|
|||
Level is always an indicator of "How far has the player progressed." so when possible these should be consecutive or at least monotonically increasing.
|
||||
LevelIDs and SubLevelIDs can be reused as they will always be paired with a Mode/SubModeID
|
||||
*/
|
||||
INT CTelemetryManager::GetSubLevelId(DWORD dwUserId)
|
||||
int CTelemetryManager::GetSubLevelId(int userId)
|
||||
{
|
||||
INT subLevelId = (INT)eTelem_SubLevelId_Undefined;
|
||||
int subLevelId = static_cast<int>(eTelem_SubLevelId_Undefined);
|
||||
|
||||
Minecraft *pMinecraft = Minecraft::GetInstance();
|
||||
|
||||
if(pMinecraft->localplayers[dwUserId] != NULL)
|
||||
if(pMinecraft->localplayers[userId] != NULL)
|
||||
{
|
||||
switch(pMinecraft->localplayers[dwUserId]->dimension)
|
||||
switch(pMinecraft->localplayers[userId]->dimension)
|
||||
{
|
||||
case 0:
|
||||
subLevelId = (INT)eTelem_SubLevelId_Overworld;
|
||||
subLevelId = static_cast<int>(eTelem_SubLevelId_Overworld);
|
||||
break;
|
||||
case -1:
|
||||
subLevelId = (INT)eTelem_SubLevelId_Nether;
|
||||
subLevelId = static_cast<int>(eTelem_SubLevelId_Nether);
|
||||
break;
|
||||
case 1:
|
||||
subLevelId = (INT)eTelem_SubLevelId_End;
|
||||
subLevelId = static_cast<int>(eTelem_SubLevelId_End);
|
||||
break;
|
||||
};
|
||||
}
|
||||
|
|
@ -260,9 +260,9 @@ INT CTelemetryManager::GetSubLevelId(DWORD dwUserId)
|
|||
Build version of the title, used to track changes in development as well as patches/title updates
|
||||
Allows developer to separate out stats from different builds
|
||||
*/
|
||||
INT CTelemetryManager::GetTitleBuildId()
|
||||
int CTelemetryManager::GetTitleBuildId()
|
||||
{
|
||||
return (INT)VER_PRODUCTBUILD;
|
||||
return static_cast<int>(VER_PRODUCTBUILD);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -270,32 +270,32 @@ Generated by the game every time LevelStart or LevelResume is called.
|
|||
This should be a unique ID (can be sequential) within a session.
|
||||
Helps differentiate level attempts when a play plays the same mode/level - especially with aggregated stats
|
||||
*/
|
||||
INT CTelemetryManager::GetLevelInstanceID()
|
||||
int CTelemetryManager::GetLevelInstanceID()
|
||||
{
|
||||
return (INT)m_levelInstanceID;
|
||||
return m_levelInstanceID;
|
||||
}
|
||||
|
||||
/*
|
||||
MultiplayerinstanceID is a title-generated value that is the same for all players in the same multiplayer session.
|
||||
Link up players into a single multiplayer session ID.
|
||||
*/
|
||||
INT CTelemetryManager::GetMultiplayerInstanceID()
|
||||
int CTelemetryManager::GetMultiplayerInstanceID()
|
||||
{
|
||||
return m_multiplayerInstanceID;
|
||||
}
|
||||
|
||||
INT CTelemetryManager::GenerateMultiplayerInstanceId()
|
||||
int CTelemetryManager::GenerateMultiplayerInstanceId()
|
||||
{
|
||||
#if defined(_DURANGO) || defined(_XBOX)
|
||||
FILETIME SystemTimeAsFileTime;
|
||||
GetSystemTimeAsFileTime( &SystemTimeAsFileTime );
|
||||
return *((INT *)&SystemTimeAsFileTime.dwLowDateTime);
|
||||
return static_cast<int>(SystemTimeAsFileTime.dwLowDateTime);
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
void CTelemetryManager::SetMultiplayerInstanceId(INT value)
|
||||
void CTelemetryManager::SetMultiplayerInstanceId(int value)
|
||||
{
|
||||
m_multiplayerInstanceID = value;
|
||||
}
|
||||
|
|
@ -304,9 +304,9 @@ void CTelemetryManager::SetMultiplayerInstanceId(INT value)
|
|||
Indicates whether the game is being played in single or multiplayer mode and whether multiplayer is being played locally or over live.
|
||||
How social is your game? How do people play it?
|
||||
*/
|
||||
INT CTelemetryManager::GetSingleOrMultiplayer()
|
||||
int CTelemetryManager::GetSingleOrMultiplayer()
|
||||
{
|
||||
INT singleOrMultiplayer = (INT)eSen_SingleOrMultiplayer_Undefined;
|
||||
int singleOrMultiplayer = static_cast<int>(eSen_SingleOrMultiplayer_Undefined);
|
||||
|
||||
// Unused
|
||||
//eSen_SingleOrMultiplayer_Single_Player
|
||||
|
|
@ -314,19 +314,19 @@ INT CTelemetryManager::GetSingleOrMultiplayer()
|
|||
|
||||
if(app.GetLocalPlayerCount() == 1 && g_NetworkManager.GetOnlinePlayerCount() == 0)
|
||||
{
|
||||
singleOrMultiplayer = (INT)eSen_SingleOrMultiplayer_Single_Player;
|
||||
singleOrMultiplayer = static_cast<int>(eSen_SingleOrMultiplayer_Single_Player);
|
||||
}
|
||||
else if(app.GetLocalPlayerCount() > 1 && g_NetworkManager.GetOnlinePlayerCount() == 0)
|
||||
{
|
||||
singleOrMultiplayer = (INT)eSen_SingleOrMultiplayer_Multiplayer_Local;
|
||||
singleOrMultiplayer = static_cast<int>(eSen_SingleOrMultiplayer_Multiplayer_Local);
|
||||
}
|
||||
else if(app.GetLocalPlayerCount() == 1 && g_NetworkManager.GetOnlinePlayerCount() > 0)
|
||||
{
|
||||
singleOrMultiplayer = (INT)eSen_SingleOrMultiplayer_Multiplayer_Live;
|
||||
singleOrMultiplayer = static_cast<int>(eSen_SingleOrMultiplayer_Multiplayer_Live);
|
||||
}
|
||||
else if(app.GetLocalPlayerCount() > 1 && g_NetworkManager.GetOnlinePlayerCount() > 0)
|
||||
{
|
||||
singleOrMultiplayer = (INT)eSen_SingleOrMultiplayer_Multiplayer_Both_Local_and_Live;
|
||||
singleOrMultiplayer = static_cast<int>(eSen_SingleOrMultiplayer_Multiplayer_Both_Local_and_Live);
|
||||
}
|
||||
|
||||
return singleOrMultiplayer;
|
||||
|
|
@ -336,23 +336,23 @@ INT CTelemetryManager::GetSingleOrMultiplayer()
|
|||
An in-game setting that differentiates the challenge imposed on the user.
|
||||
Normalized to a standard 5-point scale. Are players changing the difficulty?
|
||||
*/
|
||||
INT CTelemetryManager::GetDifficultyLevel(INT diff)
|
||||
int CTelemetryManager::GetDifficultyLevel(int diff)
|
||||
{
|
||||
INT difficultyLevel = (INT)eSen_DifficultyLevel_Undefined;
|
||||
int difficultyLevel = static_cast<int>(eSen_DifficultyLevel_Undefined);
|
||||
|
||||
switch(diff)
|
||||
{
|
||||
case 0:
|
||||
difficultyLevel = (INT)eSen_DifficultyLevel_Easiest;
|
||||
difficultyLevel = static_cast<int>(eSen_DifficultyLevel_Easiest);
|
||||
break;
|
||||
case 1:
|
||||
difficultyLevel = (INT)eSen_DifficultyLevel_Easier;
|
||||
difficultyLevel = static_cast<int>(eSen_DifficultyLevel_Easier);
|
||||
break;
|
||||
case 2:
|
||||
difficultyLevel = (INT)eSen_DifficultyLevel_Normal;
|
||||
difficultyLevel = static_cast<int>(eSen_DifficultyLevel_Normal);
|
||||
break;
|
||||
case 3:
|
||||
difficultyLevel = (INT)eSen_DifficultyLevel_Harder;
|
||||
difficultyLevel = static_cast<int>(eSen_DifficultyLevel_Harder);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
@ -366,17 +366,17 @@ INT CTelemetryManager::GetDifficultyLevel(INT diff)
|
|||
Differentiates trial/demo from full purchased titles
|
||||
Is this a full title or demo?
|
||||
*/
|
||||
INT CTelemetryManager::GetLicense()
|
||||
int CTelemetryManager::GetLicense()
|
||||
{
|
||||
INT license = eSen_License_Undefined;
|
||||
int license = eSen_License_Undefined;
|
||||
|
||||
if(ProfileManager.IsFullVersion())
|
||||
{
|
||||
license = (INT)eSen_License_Full_Purchased_Title;
|
||||
license = static_cast<int>(eSen_License_Full_Purchased_Title);
|
||||
}
|
||||
else
|
||||
{
|
||||
license = (INT)eSen_License_Trial_or_Demo;
|
||||
license = static_cast<int>(eSen_License_Trial_or_Demo);
|
||||
}
|
||||
return license;
|
||||
}
|
||||
|
|
@ -385,9 +385,9 @@ INT CTelemetryManager::GetLicense()
|
|||
This is intended to capture whether players played using default control scheme or customized the control scheme.
|
||||
Are players customizing your controls?
|
||||
*/
|
||||
INT CTelemetryManager::GetDefaultGameControls()
|
||||
int CTelemetryManager::GetDefaultGameControls()
|
||||
{
|
||||
INT defaultGameControls = eSen_DefaultGameControls_Undefined;
|
||||
int defaultGameControls = eSen_DefaultGameControls_Undefined;
|
||||
|
||||
// Unused
|
||||
//eSen_DefaultGameControls_Custom_controls
|
||||
|
|
@ -401,25 +401,25 @@ INT CTelemetryManager::GetDefaultGameControls()
|
|||
Are players changing default audio settings?
|
||||
This is intended to capture whether players are playing with or without volume and whether they make changes from the default audio settings.
|
||||
*/
|
||||
INT CTelemetryManager::GetAudioSettings(DWORD dwUserId)
|
||||
int CTelemetryManager::GetAudioSettings(int userId)
|
||||
{
|
||||
INT audioSettings = (INT)eSen_AudioSettings_Undefined;
|
||||
int audioSettings = static_cast<int>(eSen_AudioSettings_Undefined);
|
||||
|
||||
if(dwUserId == ProfileManager.GetPrimaryPad())
|
||||
if(userId == ProfileManager.GetPrimaryPad())
|
||||
{
|
||||
BYTE volume = app.GetGameSettings(dwUserId,eGameSetting_SoundFXVolume);
|
||||
unsigned char volume = app.GetGameSettings(userId, eGameSetting_SoundFXVolume);
|
||||
|
||||
if(volume == 0)
|
||||
{
|
||||
audioSettings = (INT)eSen_AudioSettings_Off;
|
||||
audioSettings = static_cast<int>(eSen_AudioSettings_Off);
|
||||
}
|
||||
else if(volume == DEFAULT_VOLUME_LEVEL)
|
||||
{
|
||||
audioSettings = (INT)eSen_AudioSettings_On_Default;
|
||||
audioSettings = static_cast<int>(eSen_AudioSettings_On_Default);
|
||||
}
|
||||
else
|
||||
{
|
||||
audioSettings = (INT)eSen_AudioSettings_On_CustomSetting;
|
||||
audioSettings = static_cast<int>(eSen_AudioSettings_On_CustomSetting);
|
||||
}
|
||||
}
|
||||
return audioSettings;
|
||||
|
|
@ -431,7 +431,7 @@ For example, a performance metric could points earned, race time, total kills, e
|
|||
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.
|
||||
How far did users progress before failing/exiting the level?
|
||||
*/
|
||||
INT CTelemetryManager::GetLevelExitProgressStat1()
|
||||
int CTelemetryManager::GetLevelExitProgressStat1()
|
||||
{
|
||||
// 4J Stu - Unused
|
||||
return 0;
|
||||
|
|
@ -443,7 +443,7 @@ For example, a performance metric could points earned, race time, total kills, e
|
|||
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.
|
||||
How far did users progress before failing/exiting the level?
|
||||
*/
|
||||
INT CTelemetryManager::GetLevelExitProgressStat2()
|
||||
int CTelemetryManager::GetLevelExitProgressStat2()
|
||||
{
|
||||
// 4J Stu - Unused
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -50,24 +50,24 @@ protected:
|
|||
|
||||
float m_fLevelStartTime[XUSER_MAX_COUNT];
|
||||
|
||||
INT m_multiplayerInstanceID;
|
||||
DWORD m_levelInstanceID;
|
||||
int m_multiplayerInstanceID;
|
||||
int m_levelInstanceID;
|
||||
|
||||
// Helper functions to get the various common settings
|
||||
INT GetSecondsSinceInitialize();
|
||||
INT GetMode(DWORD dwUserId);
|
||||
INT GetSubMode(DWORD dwUserId);
|
||||
INT GetLevelId(DWORD dwUserId);
|
||||
INT GetSubLevelId(DWORD dwUserId);
|
||||
INT GetTitleBuildId();
|
||||
INT GetLevelInstanceID();
|
||||
INT GetSingleOrMultiplayer();
|
||||
INT GetDifficultyLevel(INT diff);
|
||||
INT GetLicense();
|
||||
INT GetDefaultGameControls();
|
||||
INT GetAudioSettings(DWORD dwUserId);
|
||||
INT GetLevelExitProgressStat1();
|
||||
INT GetLevelExitProgressStat2();
|
||||
int GetSecondsSinceInitialize();
|
||||
int GetMode(int userId);
|
||||
int GetSubMode(int userId);
|
||||
int GetLevelId(int userId);
|
||||
int GetSubLevelId(int userId);
|
||||
int GetTitleBuildId();
|
||||
int GetLevelInstanceID();
|
||||
int GetSingleOrMultiplayer();
|
||||
int GetDifficultyLevel(int diff);
|
||||
int GetLicense();
|
||||
int GetDefaultGameControls();
|
||||
int GetAudioSettings(int userId);
|
||||
int GetLevelExitProgressStat1();
|
||||
int GetLevelExitProgressStat2();
|
||||
};
|
||||
|
||||
extern CTelemetryManager *TelemetryManager;
|
||||
|
|
|
|||
Loading…
Reference in a new issue