CUtlMap<int,CBaseAchievement*>m_mapAchievement[MAX_SPLITSCREEN_PLAYERS];// map of all achievements
CUtlVector<CBaseAchievement*>m_vecAchievement[MAX_SPLITSCREEN_PLAYERS];// vector of all achievements for accessing by index
CUtlVector<CBaseAchievement*>m_vecKillEventListeners[MAX_SPLITSCREEN_PLAYERS];// vector of achievements that are listening for kill events
CUtlVector<CBaseAchievement*>m_vecMapEventListeners[MAX_SPLITSCREEN_PLAYERS];// vector of achievements that are listening for map events
CUtlVector<CBaseAchievement*>m_vecComponentListeners[MAX_SPLITSCREEN_PLAYERS];// vector of achievements that are listening for components that make up an achievement
CUtlVector<CBaseAchievement*>m_vecAchievementInOrder[MAX_SPLITSCREEN_PLAYERS];// vector of all achievements for accessing by display order
floatm_flLevelInitTime[MAX_SPLITSCREEN_PLAYERS];
floatm_flLastClassChangeTime[MAX_SPLITSCREEN_PLAYERS];// Time when player last changed class
floatm_flTeamplayStartTime[MAX_SPLITSCREEN_PLAYERS];// Time when player joined a non-spectating team. Not updated if she switches game teams; cleared if she joins spectator
floatm_iMiniroundsCompleted[MAX_SPLITSCREEN_PLAYERS];// # of minirounds played since game start (for maps that have minirounds)
charm_szMap[MAX_PATH];// file base of map name, cached since we access it frequently in this form
boolm_bDirty[MAX_SPLITSCREEN_PLAYERS];// do we have interesting state that needs to be saved
boolm_bUserSlotActive[MAX_SPLITSCREEN_PLAYERS];
boolm_bCheatsEverOn;// have cheats ever been turned on in this level
floatm_flTimeLastUpload;// last time we uploaded to Steam