This code was not tested and breaks in Release builds, reverting to restore
functionality of the nightly. All in-game menus do not work and generating
a world crashes.
This reverts commit a9be52c41a.
732 lines
25 KiB
C++
732 lines
25 KiB
C++
/************************************************************************/
|
|
/* THIS FILE WAS AUTOMATICALLY GENERATED */
|
|
/* PLEASE DO NOT MODIFY */
|
|
/************************************************************************/
|
|
// Generated from Version: 24, on (9/4/2013 8:47:23 AM)
|
|
|
|
#include <xtl.h>
|
|
|
|
#include "SenClientStats.h"
|
|
|
|
using namespace Sentient;
|
|
|
|
/************************************************************************/
|
|
/* STATS */
|
|
/************************************************************************/
|
|
|
|
// PlayerSessionStart
|
|
BOOL SenStatPlayerSessionStart ( DWORD dwUserID, INT SecondsSinceInitialize, INT ModeID, INT OptionalSubModeID, INT LevelID, INT OptionalSubLevelID, INT TitleBuildID, INT SkeletonDistanceInInches, INT EnrollmentType, INT NumberOfSkeletonsInView, INT DeploymentType )
|
|
{
|
|
struct
|
|
{
|
|
INT SecondsSinceInitialize;
|
|
INT ModeID;
|
|
INT OptionalSubModeID;
|
|
INT LevelID;
|
|
INT OptionalSubLevelID;
|
|
INT TitleBuildID;
|
|
INT SkeletonDistanceInInches;
|
|
INT EnrollmentType;
|
|
INT NumberOfSkeletonsInView;
|
|
INT DeploymentType;
|
|
} LocalStruct = { SecondsSinceInitialize, ModeID, OptionalSubModeID, LevelID, OptionalSubLevelID, TitleBuildID, SkeletonDistanceInInches, EnrollmentType, NumberOfSkeletonsInView, DeploymentType };
|
|
SenStat st;
|
|
st.dwUserID = dwUserID;
|
|
st.dwStatID = 128;
|
|
st.dwFlags = SenStatFlag_Normal;
|
|
st.dwNumProperties = 10;
|
|
st.arrProperties = (CHAR*)&LocalStruct;
|
|
st.dwNumValues = 0;
|
|
st.arrValues = NULL;
|
|
st.arrValueFlags = NULL;
|
|
|
|
#ifdef SEN_LOGTELEMETRY
|
|
// if we're in debug build with logging then log the stat to a file for testing
|
|
SentientDebugLogStatSend("PlayerSessionStart", &st );
|
|
#endif
|
|
|
|
|
|
return Sentient::SentientStatsSend( &st ) == S_OK;
|
|
}
|
|
|
|
// PlayerSessionExit
|
|
BOOL SenStatPlayerSessionExit ( DWORD dwUserID, INT SecondsSinceInitialize, INT ModeID, INT OptionalSubModeID, INT LevelID, INT OptionalSubLevelID )
|
|
{
|
|
struct
|
|
{
|
|
INT SecondsSinceInitialize;
|
|
INT ModeID;
|
|
INT OptionalSubModeID;
|
|
INT LevelID;
|
|
INT OptionalSubLevelID;
|
|
} LocalStruct = { SecondsSinceInitialize, ModeID, OptionalSubModeID, LevelID, OptionalSubLevelID };
|
|
SenStat st;
|
|
st.dwUserID = dwUserID;
|
|
st.dwStatID = 129;
|
|
st.dwFlags = SenStatFlag_Normal;
|
|
st.dwNumProperties = 5;
|
|
st.arrProperties = (CHAR*)&LocalStruct;
|
|
st.dwNumValues = 0;
|
|
st.arrValues = NULL;
|
|
st.arrValueFlags = NULL;
|
|
|
|
#ifdef SEN_LOGTELEMETRY
|
|
// if we're in debug build with logging then log the stat to a file for testing
|
|
SentientDebugLogStatSend("PlayerSessionExit", &st );
|
|
#endif
|
|
|
|
|
|
return Sentient::SentientStatsSend( &st ) == S_OK;
|
|
}
|
|
|
|
// HeartBeat
|
|
BOOL SenStatHeartBeat ( DWORD dwUserID, INT SecondsSinceInitialize )
|
|
{
|
|
struct
|
|
{
|
|
INT SecondsSinceInitialize;
|
|
} LocalStruct = { SecondsSinceInitialize };
|
|
SenStat st;
|
|
st.dwUserID = dwUserID;
|
|
st.dwStatID = 130;
|
|
st.dwFlags = SenStatFlag_Normal;
|
|
st.dwNumProperties = 1;
|
|
st.arrProperties = (CHAR*)&LocalStruct;
|
|
st.dwNumValues = 0;
|
|
st.arrValues = NULL;
|
|
st.arrValueFlags = NULL;
|
|
|
|
#ifdef SEN_LOGTELEMETRY
|
|
// if we're in debug build with logging then log the stat to a file for testing
|
|
SentientDebugLogStatSend("HeartBeat", &st );
|
|
#endif
|
|
|
|
|
|
return Sentient::SentientStatsSend( &st ) == S_OK;
|
|
}
|
|
|
|
// LevelStart
|
|
BOOL SenStatLevelStart ( DWORD dwUserID, INT SecondsSinceInitialize, INT ModeID, INT OptionalSubModeID, INT LevelID, INT OptionalSubLevelID, INT LevelInstanceID, INT MultiplayerInstanceID, INT SingleOrMultiplayer, INT FriendsOrMatch, INT CompeteOrCoop, INT DifficultyLevel, INT NumberOfLocalPlayers, INT NumberOfOnlinePlayers, INT License, INT DefaultGameControls, INT AudioSettings, INT SkeletonDistanceInInches, INT NumberOfSkeletonsInView )
|
|
{
|
|
struct
|
|
{
|
|
INT SecondsSinceInitialize;
|
|
INT ModeID;
|
|
INT OptionalSubModeID;
|
|
INT LevelID;
|
|
INT OptionalSubLevelID;
|
|
INT LevelInstanceID;
|
|
INT MultiplayerInstanceID;
|
|
INT SingleOrMultiplayer;
|
|
INT FriendsOrMatch;
|
|
INT CompeteOrCoop;
|
|
INT DifficultyLevel;
|
|
INT NumberOfLocalPlayers;
|
|
INT NumberOfOnlinePlayers;
|
|
INT License;
|
|
INT DefaultGameControls;
|
|
INT AudioSettings;
|
|
INT SkeletonDistanceInInches;
|
|
INT NumberOfSkeletonsInView;
|
|
} LocalStruct = { SecondsSinceInitialize, ModeID, OptionalSubModeID, LevelID, OptionalSubLevelID, LevelInstanceID, MultiplayerInstanceID, SingleOrMultiplayer, FriendsOrMatch, CompeteOrCoop, DifficultyLevel, NumberOfLocalPlayers, NumberOfOnlinePlayers, License, DefaultGameControls, AudioSettings, SkeletonDistanceInInches, NumberOfSkeletonsInView };
|
|
SenStat st;
|
|
st.dwUserID = dwUserID;
|
|
st.dwStatID = 131;
|
|
st.dwFlags = SenStatFlag_Normal;
|
|
st.dwNumProperties = 18;
|
|
st.arrProperties = (CHAR*)&LocalStruct;
|
|
st.dwNumValues = 0;
|
|
st.arrValues = NULL;
|
|
st.arrValueFlags = NULL;
|
|
|
|
#ifdef SEN_LOGTELEMETRY
|
|
// if we're in debug build with logging then log the stat to a file for testing
|
|
SentientDebugLogStatSend("LevelStart", &st );
|
|
#endif
|
|
|
|
|
|
return Sentient::SentientStatsSend( &st ) == S_OK;
|
|
}
|
|
|
|
// LevelExit
|
|
BOOL SenStatLevelExit ( DWORD dwUserID, INT SecondsSinceInitialize, INT ModeID, INT OptionalSubModeID, INT LevelID, INT OptionalSubLevelID, INT LevelInstanceID, INT MultiplayerInstanceID, INT LevelExitStatus, INT LevelExitProgressStat1, INT LevelExitProgressStat2, INT LevelDurationInSeconds )
|
|
{
|
|
struct
|
|
{
|
|
INT SecondsSinceInitialize;
|
|
INT ModeID;
|
|
INT OptionalSubModeID;
|
|
INT LevelID;
|
|
INT OptionalSubLevelID;
|
|
INT LevelInstanceID;
|
|
INT MultiplayerInstanceID;
|
|
INT LevelExitStatus;
|
|
INT LevelExitProgressStat1;
|
|
INT LevelExitProgressStat2;
|
|
INT LevelDurationInSeconds;
|
|
} LocalStruct = { SecondsSinceInitialize, ModeID, OptionalSubModeID, LevelID, OptionalSubLevelID, LevelInstanceID, MultiplayerInstanceID, LevelExitStatus, LevelExitProgressStat1, LevelExitProgressStat2, LevelDurationInSeconds };
|
|
SenStat st;
|
|
st.dwUserID = dwUserID;
|
|
st.dwStatID = 132;
|
|
st.dwFlags = SenStatFlag_Normal;
|
|
st.dwNumProperties = 11;
|
|
st.arrProperties = (CHAR*)&LocalStruct;
|
|
st.dwNumValues = 0;
|
|
st.arrValues = NULL;
|
|
st.arrValueFlags = NULL;
|
|
|
|
#ifdef SEN_LOGTELEMETRY
|
|
// if we're in debug build with logging then log the stat to a file for testing
|
|
SentientDebugLogStatSend("LevelExit", &st );
|
|
#endif
|
|
|
|
|
|
return Sentient::SentientStatsSend( &st ) == S_OK;
|
|
}
|
|
|
|
// LevelSaveOrCheckpoint
|
|
BOOL SenStatLevelSaveOrCheckpoint ( DWORD dwUserID, INT SecondsSinceInitialize, INT ModeID, INT OptionalSubModeID, INT LevelID, INT OptionalSubLevelID, INT LevelInstanceID, INT MultiplayerInstanceID, INT LevelExitProgressStat1, INT LevelExitProgressStat2, INT LevelDurationInSeconds, INT SaveOrCheckPointID, INT SaveSizeInBytes )
|
|
{
|
|
struct
|
|
{
|
|
INT SecondsSinceInitialize;
|
|
INT ModeID;
|
|
INT OptionalSubModeID;
|
|
INT LevelID;
|
|
INT OptionalSubLevelID;
|
|
INT LevelInstanceID;
|
|
INT MultiplayerInstanceID;
|
|
INT LevelExitProgressStat1;
|
|
INT LevelExitProgressStat2;
|
|
INT LevelDurationInSeconds;
|
|
INT SaveOrCheckPointID;
|
|
INT SaveSizeInBytes;
|
|
} LocalStruct = { SecondsSinceInitialize, ModeID, OptionalSubModeID, LevelID, OptionalSubLevelID, LevelInstanceID, MultiplayerInstanceID, LevelExitProgressStat1, LevelExitProgressStat2, LevelDurationInSeconds, SaveOrCheckPointID, SaveSizeInBytes };
|
|
SenStat st;
|
|
st.dwUserID = dwUserID;
|
|
st.dwStatID = 133;
|
|
st.dwFlags = SenStatFlag_Normal;
|
|
st.dwNumProperties = 12;
|
|
st.arrProperties = (CHAR*)&LocalStruct;
|
|
st.dwNumValues = 0;
|
|
st.arrValues = NULL;
|
|
st.arrValueFlags = NULL;
|
|
|
|
#ifdef SEN_LOGTELEMETRY
|
|
// if we're in debug build with logging then log the stat to a file for testing
|
|
SentientDebugLogStatSend("LevelSaveOrCheckpoint", &st );
|
|
#endif
|
|
|
|
|
|
return Sentient::SentientStatsSend( &st ) == S_OK;
|
|
}
|
|
|
|
// LevelResume
|
|
BOOL SenStatLevelResume ( DWORD dwUserID, INT SecondsSinceInitialize, INT ModeID, INT OptionalSubModeID, INT LevelID, INT OptionalSubLevelID, INT LevelInstanceID, INT MultiplayerInstanceID, INT SingleOrMultiplayer, INT FriendsOrMatch, INT CompeteOrCoop, INT DifficultyLevel, INT NumberOfLocalPlayers, INT NumberOfOnlinePlayers, INT License, INT DefaultGameControls, INT SaveOrCheckPointID, INT AudioSettings, INT SkeletonDistanceInInches, INT NumberOfSkeletonsInView )
|
|
{
|
|
struct
|
|
{
|
|
INT SecondsSinceInitialize;
|
|
INT ModeID;
|
|
INT OptionalSubModeID;
|
|
INT LevelID;
|
|
INT OptionalSubLevelID;
|
|
INT LevelInstanceID;
|
|
INT MultiplayerInstanceID;
|
|
INT SingleOrMultiplayer;
|
|
INT FriendsOrMatch;
|
|
INT CompeteOrCoop;
|
|
INT DifficultyLevel;
|
|
INT NumberOfLocalPlayers;
|
|
INT NumberOfOnlinePlayers;
|
|
INT License;
|
|
INT DefaultGameControls;
|
|
INT SaveOrCheckPointID;
|
|
INT AudioSettings;
|
|
INT SkeletonDistanceInInches;
|
|
INT NumberOfSkeletonsInView;
|
|
} LocalStruct = { SecondsSinceInitialize, ModeID, OptionalSubModeID, LevelID, OptionalSubLevelID, LevelInstanceID, MultiplayerInstanceID, SingleOrMultiplayer, FriendsOrMatch, CompeteOrCoop, DifficultyLevel, NumberOfLocalPlayers, NumberOfOnlinePlayers, License, DefaultGameControls, SaveOrCheckPointID, AudioSettings, SkeletonDistanceInInches, NumberOfSkeletonsInView };
|
|
SenStat st;
|
|
st.dwUserID = dwUserID;
|
|
st.dwStatID = 134;
|
|
st.dwFlags = SenStatFlag_Normal;
|
|
st.dwNumProperties = 19;
|
|
st.arrProperties = (CHAR*)&LocalStruct;
|
|
st.dwNumValues = 0;
|
|
st.arrValues = NULL;
|
|
st.arrValueFlags = NULL;
|
|
|
|
#ifdef SEN_LOGTELEMETRY
|
|
// if we're in debug build with logging then log the stat to a file for testing
|
|
SentientDebugLogStatSend("LevelResume", &st );
|
|
#endif
|
|
|
|
|
|
return Sentient::SentientStatsSend( &st ) == S_OK;
|
|
}
|
|
|
|
// PauseOrInactive
|
|
BOOL SenStatPauseOrInactive ( DWORD dwUserID, INT SecondsSinceInitialize, INT ModeID, INT OptionalSubModeID, INT LevelID, INT OptionalSubLevelID, INT LevelInstanceID, INT MultiplayerInstanceID )
|
|
{
|
|
struct
|
|
{
|
|
INT SecondsSinceInitialize;
|
|
INT ModeID;
|
|
INT OptionalSubModeID;
|
|
INT LevelID;
|
|
INT OptionalSubLevelID;
|
|
INT LevelInstanceID;
|
|
INT MultiplayerInstanceID;
|
|
} LocalStruct = { SecondsSinceInitialize, ModeID, OptionalSubModeID, LevelID, OptionalSubLevelID, LevelInstanceID, MultiplayerInstanceID };
|
|
SenStat st;
|
|
st.dwUserID = dwUserID;
|
|
st.dwStatID = 135;
|
|
st.dwFlags = SenStatFlag_Normal;
|
|
st.dwNumProperties = 7;
|
|
st.arrProperties = (CHAR*)&LocalStruct;
|
|
st.dwNumValues = 0;
|
|
st.arrValues = NULL;
|
|
st.arrValueFlags = NULL;
|
|
|
|
#ifdef SEN_LOGTELEMETRY
|
|
// if we're in debug build with logging then log the stat to a file for testing
|
|
SentientDebugLogStatSend("PauseOrInactive", &st );
|
|
#endif
|
|
|
|
|
|
return Sentient::SentientStatsSend( &st ) == S_OK;
|
|
}
|
|
|
|
// UnpauseOrActive
|
|
BOOL SenStatUnpauseOrActive ( DWORD dwUserID, INT SecondsSinceInitialize, INT ModeID, INT OptionalSubModeID, INT LevelID, INT OptionalSubLevelID, INT LevelInstanceID, INT MultiplayerInstanceID )
|
|
{
|
|
struct
|
|
{
|
|
INT SecondsSinceInitialize;
|
|
INT ModeID;
|
|
INT OptionalSubModeID;
|
|
INT LevelID;
|
|
INT OptionalSubLevelID;
|
|
INT LevelInstanceID;
|
|
INT MultiplayerInstanceID;
|
|
} LocalStruct = { SecondsSinceInitialize, ModeID, OptionalSubModeID, LevelID, OptionalSubLevelID, LevelInstanceID, MultiplayerInstanceID };
|
|
SenStat st;
|
|
st.dwUserID = dwUserID;
|
|
st.dwStatID = 136;
|
|
st.dwFlags = SenStatFlag_Normal;
|
|
st.dwNumProperties = 7;
|
|
st.arrProperties = (CHAR*)&LocalStruct;
|
|
st.dwNumValues = 0;
|
|
st.arrValues = NULL;
|
|
st.arrValueFlags = NULL;
|
|
|
|
#ifdef SEN_LOGTELEMETRY
|
|
// if we're in debug build with logging then log the stat to a file for testing
|
|
SentientDebugLogStatSend("UnpauseOrActive", &st );
|
|
#endif
|
|
|
|
|
|
return Sentient::SentientStatsSend( &st ) == S_OK;
|
|
}
|
|
|
|
// MenuShown
|
|
BOOL SenStatMenuShown ( DWORD dwUserID, INT SecondsSinceInitialize, INT ModeID, INT OptionalSubModeID, INT LevelID, INT OptionalSubLevelID, INT MenuID, INT OptionalMenuSubID, INT LevelInstanceID, INT MultiplayerInstanceID )
|
|
{
|
|
struct
|
|
{
|
|
INT SecondsSinceInitialize;
|
|
INT ModeID;
|
|
INT OptionalSubModeID;
|
|
INT LevelID;
|
|
INT OptionalSubLevelID;
|
|
INT MenuID;
|
|
INT OptionalMenuSubID;
|
|
INT LevelInstanceID;
|
|
INT MultiplayerInstanceID;
|
|
} LocalStruct = { SecondsSinceInitialize, ModeID, OptionalSubModeID, LevelID, OptionalSubLevelID, MenuID, OptionalMenuSubID, LevelInstanceID, MultiplayerInstanceID };
|
|
SenStat st;
|
|
st.dwUserID = dwUserID;
|
|
st.dwStatID = 137;
|
|
st.dwFlags = SenStatFlag_Normal;
|
|
st.dwNumProperties = 9;
|
|
st.arrProperties = (CHAR*)&LocalStruct;
|
|
st.dwNumValues = 0;
|
|
st.arrValues = NULL;
|
|
st.arrValueFlags = NULL;
|
|
|
|
#ifdef SEN_LOGTELEMETRY
|
|
// if we're in debug build with logging then log the stat to a file for testing
|
|
SentientDebugLogStatSend("MenuShown", &st );
|
|
#endif
|
|
|
|
|
|
return Sentient::SentientStatsSend( &st ) == S_OK;
|
|
}
|
|
|
|
// AchievementUnlocked
|
|
BOOL SenStatAchievementUnlocked ( DWORD dwUserID, INT SecondsSinceInitialize, INT ModeID, INT OptionalSubModeID, INT LevelID, INT OptionalSubLevelID, INT LevelInstanceID, INT MultiplayerInstanceID, INT AchievementID, INT AchievementGamerscore )
|
|
{
|
|
struct
|
|
{
|
|
INT SecondsSinceInitialize;
|
|
INT ModeID;
|
|
INT OptionalSubModeID;
|
|
INT LevelID;
|
|
INT OptionalSubLevelID;
|
|
INT LevelInstanceID;
|
|
INT MultiplayerInstanceID;
|
|
INT AchievementID;
|
|
INT AchievementGamerscore;
|
|
} LocalStruct = { SecondsSinceInitialize, ModeID, OptionalSubModeID, LevelID, OptionalSubLevelID, LevelInstanceID, MultiplayerInstanceID, AchievementID, AchievementGamerscore };
|
|
SenStat st;
|
|
st.dwUserID = dwUserID;
|
|
st.dwStatID = 138;
|
|
st.dwFlags = SenStatFlag_Normal;
|
|
st.dwNumProperties = 9;
|
|
st.arrProperties = (CHAR*)&LocalStruct;
|
|
st.dwNumValues = 0;
|
|
st.arrValues = NULL;
|
|
st.arrValueFlags = NULL;
|
|
|
|
#ifdef SEN_LOGTELEMETRY
|
|
// if we're in debug build with logging then log the stat to a file for testing
|
|
SentientDebugLogStatSend("AchievementUnlocked", &st );
|
|
#endif
|
|
|
|
|
|
return Sentient::SentientStatsSend( &st ) == S_OK;
|
|
}
|
|
|
|
// MediaShareUpload
|
|
BOOL SenStatMediaShareUpload ( DWORD dwUserID, INT SecondsSinceInitialize, INT ModeID, INT OptionalSubModeID, INT LevelID, INT OptionalSubLevelID, INT LevelInstanceID, INT MultiplayerInstanceID, INT MediaDestination, INT MediaType )
|
|
{
|
|
struct
|
|
{
|
|
INT SecondsSinceInitialize;
|
|
INT ModeID;
|
|
INT OptionalSubModeID;
|
|
INT LevelID;
|
|
INT OptionalSubLevelID;
|
|
INT LevelInstanceID;
|
|
INT MultiplayerInstanceID;
|
|
INT MediaDestination;
|
|
INT MediaType;
|
|
} LocalStruct = { SecondsSinceInitialize, ModeID, OptionalSubModeID, LevelID, OptionalSubLevelID, LevelInstanceID, MultiplayerInstanceID, MediaDestination, MediaType };
|
|
SenStat st;
|
|
st.dwUserID = dwUserID;
|
|
st.dwStatID = 139;
|
|
st.dwFlags = SenStatFlag_Normal;
|
|
st.dwNumProperties = 9;
|
|
st.arrProperties = (CHAR*)&LocalStruct;
|
|
st.dwNumValues = 0;
|
|
st.arrValues = NULL;
|
|
st.arrValueFlags = NULL;
|
|
|
|
#ifdef SEN_LOGTELEMETRY
|
|
// if we're in debug build with logging then log the stat to a file for testing
|
|
SentientDebugLogStatSend("MediaShareUpload", &st );
|
|
#endif
|
|
|
|
|
|
return Sentient::SentientStatsSend( &st ) == S_OK;
|
|
}
|
|
|
|
// UpsellPresented
|
|
BOOL SenStatUpsellPresented ( DWORD dwUserID, INT SecondsSinceInitialize, INT ModeID, INT OptionalSubModeID, INT LevelID, INT OptionalSubLevelID, INT LevelInstanceID, INT MultiplayerInstanceID, INT UpsellID, INT MarketplaceOfferID )
|
|
{
|
|
struct
|
|
{
|
|
INT SecondsSinceInitialize;
|
|
INT ModeID;
|
|
INT OptionalSubModeID;
|
|
INT LevelID;
|
|
INT OptionalSubLevelID;
|
|
INT LevelInstanceID;
|
|
INT MultiplayerInstanceID;
|
|
INT UpsellID;
|
|
INT MarketplaceOfferID;
|
|
} LocalStruct = { SecondsSinceInitialize, ModeID, OptionalSubModeID, LevelID, OptionalSubLevelID, LevelInstanceID, MultiplayerInstanceID, UpsellID, MarketplaceOfferID };
|
|
SenStat st;
|
|
st.dwUserID = dwUserID;
|
|
st.dwStatID = 140;
|
|
st.dwFlags = SenStatFlag_Normal;
|
|
st.dwNumProperties = 9;
|
|
st.arrProperties = (CHAR*)&LocalStruct;
|
|
st.dwNumValues = 0;
|
|
st.arrValues = NULL;
|
|
st.arrValueFlags = NULL;
|
|
|
|
#ifdef SEN_LOGTELEMETRY
|
|
// if we're in debug build with logging then log the stat to a file for testing
|
|
SentientDebugLogStatSend("UpsellPresented", &st );
|
|
#endif
|
|
|
|
|
|
return Sentient::SentientStatsSend( &st ) == S_OK;
|
|
}
|
|
|
|
// UpsellResponded
|
|
BOOL SenStatUpsellResponded ( DWORD dwUserID, INT SecondsSinceInitialize, INT ModeID, INT OptionalSubModeID, INT LevelID, INT OptionalSubLevelID, INT LevelInstanceID, INT MultiplayerInstanceID, INT UpsellID, INT MarketplaceOfferID, INT UpsellOutcome )
|
|
{
|
|
struct
|
|
{
|
|
INT SecondsSinceInitialize;
|
|
INT ModeID;
|
|
INT OptionalSubModeID;
|
|
INT LevelID;
|
|
INT OptionalSubLevelID;
|
|
INT LevelInstanceID;
|
|
INT MultiplayerInstanceID;
|
|
INT UpsellID;
|
|
INT MarketplaceOfferID;
|
|
INT UpsellOutcome;
|
|
} LocalStruct = { SecondsSinceInitialize, ModeID, OptionalSubModeID, LevelID, OptionalSubLevelID, LevelInstanceID, MultiplayerInstanceID, UpsellID, MarketplaceOfferID, UpsellOutcome };
|
|
SenStat st;
|
|
st.dwUserID = dwUserID;
|
|
st.dwStatID = 141;
|
|
st.dwFlags = SenStatFlag_Normal;
|
|
st.dwNumProperties = 10;
|
|
st.arrProperties = (CHAR*)&LocalStruct;
|
|
st.dwNumValues = 0;
|
|
st.arrValues = NULL;
|
|
st.arrValueFlags = NULL;
|
|
|
|
#ifdef SEN_LOGTELEMETRY
|
|
// if we're in debug build with logging then log the stat to a file for testing
|
|
SentientDebugLogStatSend("UpsellResponded", &st );
|
|
#endif
|
|
|
|
|
|
return Sentient::SentientStatsSend( &st ) == S_OK;
|
|
}
|
|
|
|
// PlayerDiedOrFailed
|
|
BOOL SenStatPlayerDiedOrFailed ( DWORD dwUserID, INT ModeID, INT OptionalSubModeID, INT LevelID, INT OptionalSubLevelID, INT LevelInstanceID, INT MultiplayerInstanceID, INT LowResMapX, INT LowResMapY, INT LowResMapZ, INT MapID, INT PlayerWeaponID, INT EnemyWeaponID, INT EnemyTypeID, INT SecondsSinceInitialize, INT CopyOfSecondsSinceInitialize )
|
|
{
|
|
struct
|
|
{
|
|
INT ModeID;
|
|
INT OptionalSubModeID;
|
|
INT LevelID;
|
|
INT OptionalSubLevelID;
|
|
INT LevelInstanceID;
|
|
INT MultiplayerInstanceID;
|
|
INT LowResMapX;
|
|
INT LowResMapY;
|
|
INT LowResMapZ;
|
|
INT MapID;
|
|
INT PlayerWeaponID;
|
|
INT EnemyWeaponID;
|
|
INT EnemyTypeID;
|
|
INT SecondsSinceInitialize;
|
|
INT CopyOfSecondsSinceInitialize;
|
|
INT Count;
|
|
} LocalStruct = { ModeID, OptionalSubModeID, LevelID, OptionalSubLevelID, LevelInstanceID, MultiplayerInstanceID, LowResMapX, LowResMapY, LowResMapZ, MapID, PlayerWeaponID, EnemyWeaponID, EnemyTypeID, SecondsSinceInitialize, CopyOfSecondsSinceInitialize, 1 };
|
|
DWORD arrValueFlags[] = { SenStatValueFlag_Min, SenStatValueFlag_Max, SenStatValueFlag_Inc };
|
|
|
|
SenStat st;
|
|
st.dwUserID = dwUserID;
|
|
st.dwStatID = 142;
|
|
st.dwFlags = SenStatFlag_Normal;
|
|
st.dwNumProperties = 13;
|
|
st.arrProperties = (CHAR*)&LocalStruct;
|
|
st.dwNumValues = 3;
|
|
st.arrValues = (CHAR*)&LocalStruct.SecondsSinceInitialize;
|
|
st.arrValueFlags = arrValueFlags;
|
|
|
|
#ifdef SEN_LOGTELEMETRY
|
|
// if we're in debug build with logging then log the stat to a file for testing
|
|
SentientDebugLogStatSend("PlayerDiedOrFailed", &st );
|
|
#endif
|
|
|
|
|
|
return Sentient::SentientStatsSend( &st ) == S_OK;
|
|
}
|
|
|
|
// EnemyKilledOrOvercome
|
|
BOOL SenStatEnemyKilledOrOvercome ( DWORD dwUserID, INT ModeID, INT OptionalSubModeID, INT LevelID, INT OptionalSubLevelID, INT LevelInstanceID, INT MultiplayerInstanceID, INT LowResMapX, INT LowResMapY, INT LowResMapZ, INT MapID, INT PlayerWeaponID, INT EnemyWeaponID, INT EnemyTypeID, INT SecondsSinceInitialize, INT CopyOfSecondsSinceInitialize )
|
|
{
|
|
struct
|
|
{
|
|
INT ModeID;
|
|
INT OptionalSubModeID;
|
|
INT LevelID;
|
|
INT OptionalSubLevelID;
|
|
INT LevelInstanceID;
|
|
INT MultiplayerInstanceID;
|
|
INT LowResMapX;
|
|
INT LowResMapY;
|
|
INT LowResMapZ;
|
|
INT MapID;
|
|
INT PlayerWeaponID;
|
|
INT EnemyWeaponID;
|
|
INT EnemyTypeID;
|
|
INT SecondsSinceInitialize;
|
|
INT CopyOfSecondsSinceInitialize;
|
|
INT Count;
|
|
} LocalStruct = { ModeID, OptionalSubModeID, LevelID, OptionalSubLevelID, LevelInstanceID, MultiplayerInstanceID, LowResMapX, LowResMapY, LowResMapZ, MapID, PlayerWeaponID, EnemyWeaponID, EnemyTypeID, SecondsSinceInitialize, CopyOfSecondsSinceInitialize, 1 };
|
|
DWORD arrValueFlags[] = { SenStatValueFlag_Min, SenStatValueFlag_Max, SenStatValueFlag_Inc };
|
|
|
|
SenStat st;
|
|
st.dwUserID = dwUserID;
|
|
st.dwStatID = 143;
|
|
st.dwFlags = SenStatFlag_Normal;
|
|
st.dwNumProperties = 13;
|
|
st.arrProperties = (CHAR*)&LocalStruct;
|
|
st.dwNumValues = 3;
|
|
st.arrValues = (CHAR*)&LocalStruct.SecondsSinceInitialize;
|
|
st.arrValueFlags = arrValueFlags;
|
|
|
|
#ifdef SEN_LOGTELEMETRY
|
|
// if we're in debug build with logging then log the stat to a file for testing
|
|
SentientDebugLogStatSend("EnemyKilledOrOvercome", &st );
|
|
#endif
|
|
|
|
|
|
return Sentient::SentientStatsSend( &st ) == S_OK;
|
|
}
|
|
|
|
// SkinChanged
|
|
BOOL SenStatSkinChanged ( DWORD dwUserID, INT SecondsSinceInitialize, INT ModeID, INT OptionalSubModeID, INT LevelID, INT OptionalSubLevelID, INT LevelInstanceID, INT MultiplayerInstanceID, INT SkinID )
|
|
{
|
|
struct
|
|
{
|
|
INT SecondsSinceInitialize;
|
|
INT ModeID;
|
|
INT OptionalSubModeID;
|
|
INT LevelID;
|
|
INT OptionalSubLevelID;
|
|
INT LevelInstanceID;
|
|
INT MultiplayerInstanceID;
|
|
INT SkinID;
|
|
} LocalStruct = { SecondsSinceInitialize, ModeID, OptionalSubModeID, LevelID, OptionalSubLevelID, LevelInstanceID, MultiplayerInstanceID, SkinID };
|
|
SenStat st;
|
|
st.dwUserID = dwUserID;
|
|
st.dwStatID = 144;
|
|
st.dwFlags = SenStatFlag_Normal;
|
|
st.dwNumProperties = 8;
|
|
st.arrProperties = (CHAR*)&LocalStruct;
|
|
st.dwNumValues = 0;
|
|
st.arrValues = NULL;
|
|
st.arrValueFlags = NULL;
|
|
|
|
#ifdef SEN_LOGTELEMETRY
|
|
// if we're in debug build with logging then log the stat to a file for testing
|
|
SentientDebugLogStatSend("SkinChanged", &st );
|
|
#endif
|
|
|
|
|
|
return Sentient::SentientStatsSend( &st ) == S_OK;
|
|
}
|
|
|
|
// BanLevel
|
|
BOOL SenStatBanLevel ( DWORD dwUserID, INT SecondsSinceInitialize, INT ModeID, INT OptionalSubModeID, INT LevelID, INT OptionalSubLevelID, INT LevelInstanceID, INT MultiplayerInstanceID )
|
|
{
|
|
struct
|
|
{
|
|
INT SecondsSinceInitialize;
|
|
INT ModeID;
|
|
INT OptionalSubModeID;
|
|
INT LevelID;
|
|
INT OptionalSubLevelID;
|
|
INT LevelInstanceID;
|
|
INT MultiplayerInstanceID;
|
|
} LocalStruct = { SecondsSinceInitialize, ModeID, OptionalSubModeID, LevelID, OptionalSubLevelID, LevelInstanceID, MultiplayerInstanceID };
|
|
SenStat st;
|
|
st.dwUserID = dwUserID;
|
|
st.dwStatID = 145;
|
|
st.dwFlags = SenStatFlag_Normal;
|
|
st.dwNumProperties = 7;
|
|
st.arrProperties = (CHAR*)&LocalStruct;
|
|
st.dwNumValues = 0;
|
|
st.arrValues = NULL;
|
|
st.arrValueFlags = NULL;
|
|
|
|
#ifdef SEN_LOGTELEMETRY
|
|
// if we're in debug build with logging then log the stat to a file for testing
|
|
SentientDebugLogStatSend("BanLevel", &st );
|
|
#endif
|
|
|
|
|
|
return Sentient::SentientStatsSend( &st ) == S_OK;
|
|
}
|
|
|
|
// UnBanLevel
|
|
BOOL SenStatUnBanLevel ( DWORD dwUserID, INT SecondsSinceInitialize, INT ModeID, INT OptionalSubModeID, INT LevelID, INT OptionalSubLevelID, INT LevelInstanceID, INT MultiplayerInstanceID )
|
|
{
|
|
struct
|
|
{
|
|
INT SecondsSinceInitialize;
|
|
INT ModeID;
|
|
INT OptionalSubModeID;
|
|
INT LevelID;
|
|
INT OptionalSubLevelID;
|
|
INT LevelInstanceID;
|
|
INT MultiplayerInstanceID;
|
|
} LocalStruct = { SecondsSinceInitialize, ModeID, OptionalSubModeID, LevelID, OptionalSubLevelID, LevelInstanceID, MultiplayerInstanceID };
|
|
SenStat st;
|
|
st.dwUserID = dwUserID;
|
|
st.dwStatID = 146;
|
|
st.dwFlags = SenStatFlag_Normal;
|
|
st.dwNumProperties = 7;
|
|
st.arrProperties = (CHAR*)&LocalStruct;
|
|
st.dwNumValues = 0;
|
|
st.arrValues = NULL;
|
|
st.arrValueFlags = NULL;
|
|
|
|
#ifdef SEN_LOGTELEMETRY
|
|
// if we're in debug build with logging then log the stat to a file for testing
|
|
SentientDebugLogStatSend("UnBanLevel", &st );
|
|
#endif
|
|
|
|
|
|
return Sentient::SentientStatsSend( &st ) == S_OK;
|
|
}
|
|
|
|
// TexturePackChanged
|
|
BOOL SenStatTexturePackChanged ( DWORD dwUserID, INT SecondsSinceInitialize, INT ModeID, INT OptionalSubModeID, INT LevelID, INT OptionalSubLevelID, INT LevelInstanceID, INT MultiplayerInstanceID, INT TexturePackId, INT Purchased )
|
|
{
|
|
struct
|
|
{
|
|
INT SecondsSinceInitialize;
|
|
INT ModeID;
|
|
INT OptionalSubModeID;
|
|
INT LevelID;
|
|
INT OptionalSubLevelID;
|
|
INT LevelInstanceID;
|
|
INT MultiplayerInstanceID;
|
|
INT TexturePackId;
|
|
INT Purchased;
|
|
} LocalStruct = { SecondsSinceInitialize, ModeID, OptionalSubModeID, LevelID, OptionalSubLevelID, LevelInstanceID, MultiplayerInstanceID, TexturePackId, Purchased };
|
|
SenStat st;
|
|
st.dwUserID = dwUserID;
|
|
st.dwStatID = 147;
|
|
st.dwFlags = SenStatFlag_Normal;
|
|
st.dwNumProperties = 9;
|
|
st.arrProperties = (CHAR*)&LocalStruct;
|
|
st.dwNumValues = 0;
|
|
st.arrValues = NULL;
|
|
st.arrValueFlags = NULL;
|
|
|
|
#ifdef SEN_LOGTELEMETRY
|
|
// if we're in debug build with logging then log the stat to a file for testing
|
|
SentientDebugLogStatSend("TexturePackChanged", &st );
|
|
#endif
|
|
|
|
|
|
return Sentient::SentientStatsSend( &st ) == S_OK;
|
|
}
|
|
|
|
namespace Sentient
|
|
{
|
|
|
|
extern int statsVersion;
|
|
|
|
class StatsVersionClass {
|
|
public: StatsVersionClass() { statsVersion = 24; }
|
|
};
|
|
|
|
static StatsVersionClass versionClass;
|
|
}
|
|
|