Overview Package Class Source Class tree Glossary
previous class      next class frames      no frames

Engine.GameplayEvents

Extends
Object
Modifiers
config ( Game ) abstract native

Copyright 1998-2011 Epic Games, Inc. All Rights Reserved. Gameplay event interface

Core.Object
|   
+-- Engine.GameplayEvents

Direct Known Subclasses:

GameplayEventsReader, GameplayEventsWriter

Constants Summary
HeaderFlags_NoEventStrings=1
Inherited Contants from Core.Object
AspectRatio16x9, AspectRatio4x3, AspectRatio5x4, DegToRad, DegToUnrRot, INDEX_NONE, InvAspectRatio16x9, InvAspectRatio4x3, InvAspectRatio5x4, MaxInt, Pi, RadToDeg, RadToUnrRot, UnrRotToDeg, UnrRotToRad

Variables Summary
array<String>ActorArray
pointerArchive
GameSessionInformationCurrentSessionInfo
array<DamageClassEventData>DamageClassArray
GameplayEventsHeaderHeader
array<PawnClassEventData>PawnClassArray
array<PlayerInformationNew>PlayerList
array<ProjectileClassEventData>ProjectileClassArray
array<String>SoundCueArray
stringStatsFileName
array<GameplayEventMetaData>SupportedEvents
array<TeamInformation>TeamList
array<WeaponClassEventData>WeaponClassArray
Inherited Variables from Core.Object
Class, HashNext, HashOuterNext, Linker, LinkerIndex, Name, NetIndex, ObjectArchetype, ObjectFlags, ObjectInternalInteger, Outer, StateFrame, VfTableObject

Enumerations Summary
EGameStatGroups
GSG_EngineStats, GSG_Game, GSG_Team, GSG_Player, GSG_Weapon, GSG_Damage, GSG_Projectile, GSG_Pawn, GSG_GameSpecific, GSG_Aggregate
Inherited Enumerations from Core.Object
AlphaBlendType, EAspectRatioAxisConstraint, EAutomatedRunResult, EAxis, EDebugBreakType, EInputEvent, EInterpCurveMode, EInterpMethodType, ETickingGroup

Structures Summary
DamageClassEventData
DamageClassName
GameplayEventMetaData
EventID, EventName, StatGroup, EventDataType
GameplayEventsHeader
EngineVersion, StatsWriterVersion, StreamOffset, AggregateOffset, FooterOffset, TotalStreamSize, FileSize, FilterClass, Flags
GameSessionInformation
AppTitleID, PlatformType, Language, GameplaySessionTimestamp, GameplaySessionStartTime, GameplaySessionEndTime, bGameplaySessionInProgress, GameplaySessionID, GameClassName, MapName, MapURL, SessionInstance, GameTypeId, OwningNetId
GameStatGroup
Group, Level
PawnClassEventData
PawnClassName
PlayerInformationNew
ControllerName, PlayerName, UniqueId, bIsBot
ProjectileClassEventData
ProjectileClassName
TeamInformation
TeamIndex, TeamName, TeamColor, MaxSize
WeaponClassEventData
WeaponClassName
Inherited Structures from Core.Object
Array_Mirror, BitArray_Mirror, BoneAtom, Box, BoxSphereBounds, Color, Cylinder, double, FColorVertexBuffer_Mirror, Guid, IndirectArray_Mirror, InlinePointerArray_Mirror, InterpCurveFloat, InterpCurveLinearColor, InterpCurvePointFloat, InterpCurvePointLinearColor, InterpCurvePointQuat, InterpCurvePointTwoVectors, InterpCurvePointVector, InterpCurvePointVector2D, InterpCurveQuat, InterpCurveTwoVectors, InterpCurveVector, InterpCurveVector2D, IntPoint, LinearColor, Map_Mirror, Matrix, MultiMap_Mirror, OctreeElementId, Plane, pointer, Quat, qword, RawDistribution, RenderCommandFence, RenderCommandFence_Mirror, Rotator, Set_Mirror, SHVector, SHVectorRGB, SparseArray_Mirror, TAlphaBlend, ThreadSafeCounter, TPOV, TwoVectors, UntypedBulkData_Mirror, Vector, Vector2D, Vector4

Functions Summary
function CloseStatsFile ()
eventstring GetFilename ()))
functionbool OpenStatsFile (string Filename)
Inherited Functions from Core.Object
!, !=, $, $=, %, &, &&, *, **, *=, +, ++, +=, -, --, -=, / , /=, <, <<, <=, ==, >, >=, >>, >>>, @, @=, Abs, Acos, Asc, Asin, Atan, Atan2, BeginState, ByteToFloat, Caps, Chr, Clamp, ClampLength, ClampRotAxis, ClampRotAxisFromBase, ClampRotAxisFromRange, ClassIsChildOf, ClockwiseFrom, ColorToLinearColor, ContinuedState, Cos, Cross, DebugBreak, Disable, Dot, DumpStateStack, DynamicLoadObject, Enable, EndState, EvalInterpCurveFloat, EvalInterpCurveVector, EvalInterpCurveVector2D, Exp, FCeil, FClamp, FCubicInterp, FFloor, FindDeltaAngle, FindObject, FInterpConstantTo, FInterpEaseIn, FInterpEaseInOut, FInterpEaseOut, FInterpTo, float, FloatToByte, FMax, FMin, FPctByRange, FRand, GetAngularDegreesFromRadians, GetAngularDistance, GetAngularFromDotDist, GetAxes, GetBuildChangelistNumber, GetDotDistance, GetEngineVersion, GetEnum, GetFuncName, GetHeadingAngle, GetMappedRangeValue, GetPackageName, GetPerObjectConfigSections, GetRangePctByValue, GetRangeValueByPct, GetRightMost, GetRotatorAxis, GetScriptTrace, GetStateName, GetSystemTime, GetUnAxes, GotoState, InCylinder, InStr, InverseTransformNormal, InverseTransformVector, IsA, IsChildState, IsInState, IsPendingKill, IsUTracing, IsZero, JoinArray, Left, Len, Lerp, LerpColor, Localize, Locs, Loge, LogInternal, MakeColor, MakeLinearColor, MakeRotationMatrix, MakeRotationTranslationMatrix, MakeRotator, MatrixGetAxis, MatrixGetOrigin, MatrixGetRotator, Max, Mid, Min, MirrorVectorByNormal, Normal, Normalize, NormalizeRotAxis, NoZDot, OrthoRotation, ParseLocalizedPropertyPath, ParseStringIntoArray, PathName, PausedState, PointDistToLine, PointDistToPlane, PointDistToSegment, PointProjectToPlane, PoppedState, PopState, ProjectOnTo, PushedState, PushState, QuatDot, QuatFindBetween, QuatFromAxisAndAngle, QuatFromRotator, QuatInvert, QuatProduct, QuatRotateVector, QuatSlerp, QuatToRotator, Rand, RDiff, Repl, Right, RInterpTo, RLerp, RotRand, Round, RSize, RSmerp, RTransform, SaveConfig, SClampRotAxis, ScriptTrace, SetUTracing, Sin, Split, SplitString, Sqrt, Square, StaticSaveConfig, Tan, TimeStamp, ToHex, TransformNormal, TransformVector, TransformVectorByRotation, UnwindHeading, vect2d, VInterpTo, VLerp, VRand, VRandCone, VRandCone2, VSize, VSize2D, VSizeSq, VSizeSq2D, VSmerp, WarnInternal, ^, ^^, |, ||, ~, ~=


Constants Detail

HeaderFlags_NoEventStrings Source code

const HeaderFlags_NoEventStrings = 1;
Copyright 1998-2011 Epic Games, Inc. All Rights Reserved.


Variables Detail

ActorArray Source code

var array<String> ActorArray;
The set of actors recorded during gameplay

Archive Source code

var const native pointer Archive;
FArchive pointer to serialize the data to/from disk

CurrentSessionInfo Source code

var GameSessionInformation CurrentSessionInfo;
Information specific to the session when it was run

DamageClassArray Source code

var array<DamageClassEventData> DamageClassArray;
The set of damage types recorded during gameplay

Header Source code

var GameplayEventsHeader Header;
Header of the gameplay events file

PawnClassArray Source code

var array<PawnClassEventData> PawnClassArray;
The set of pawns recorded during gameplay

PlayerList Source code

var const array<PlayerInformationNew> PlayerList;
Array of all players 'seen' by the game in this session

ProjectileClassArray Source code

var array<ProjectileClassEventData> ProjectileClassArray;
The set of projectiles recorded during gameplay

SoundCueArray Source code

var array<String> SoundCueArray;
The set of sound cues encountered during gameplay

StatsFileName Source code

var const private string StatsFileName;
The name of the file we are writing the data to (const so set only upon create natively)

SupportedEvents Source code

var array<GameplayEventMetaData> SupportedEvents;
The set of events that the game supports writing to disk

TeamList Source code

var const array<TeamInformation> TeamList;
Array of all teams 'seen' by the game in this session

WeaponClassArray Source code

var array<WeaponClassEventData> WeaponClassArray;
The set of weapons recorded during gameplay


Enumerations Detail

EGameStatGroups Source code

enum EGameStatGroups
{
GSG_EngineStats, GSG_Game, GSG_Team, GSG_Player, GSG_Weapon, GSG_Damage, GSG_Projectile, GSG_Pawn, GSG_GameSpecific, GSG_Aggregate
};
Stat verbosity level


Structures Detail

DamageClassEventData Source code

struct DamageClassEventData
{
var string DamageClassName;
};
Metadata describing the damage classes recorded during gameplay
DamageClassName:
Name of the damage class used

GameplayEventMetaData Source code

struct GameplayEventMetaData
{
var const int EventDataType;
var const int EventID;
var const name EventName;
var const GameStatGroup StatGroup;
};
Holds the information describing a gameplay event
EventDataType:
Type of data associated with this event
EventID:
The unique id of the event (16 bits clamped)
EventName:
Human readable name of the event
StatGroup:
Group that this stat belongs to, for filtering

GameplayEventsHeader Source code

struct GameplayEventsHeader
{
var const int AggregateOffset;
var const int EngineVersion;
var const int FileSize;
var string FilterClass;
var int Flags;
var const int FooterOffset;
var const int StatsWriterVersion;
var const int StreamOffset;
var const int TotalStreamSize;
};
Basic file header when writing to disk
AggregateOffset:
Offset into the file for aggregate data
EngineVersion:
Version of engine at the time of writing the file
FileSize:
File size on disk
FilterClass:
What filter class is being used on the data, if any
Flags:
Various settings
FooterOffset:
Offset into the file where the metadata is written
StatsWriterVersion:
Version of the stats format at the time of writing the file
StreamOffset:
Offset into the file for the stream data
TotalStreamSize:
Amount of data in the stream (not including header/footer data)

GameSessionInformation Source code

struct GameSessionInformation
{
var int AppTitleID;
var const bool bGameplaySessionInProgress;
var const string GameClassName;
var const float GameplaySessionEndTime;
var const string GameplaySessionID;
var const float GameplaySessionStartTime;
var const string GameplaySessionTimestamp;
var const int GameTypeId;
var string Language;
var const string MapName;
var const string MapURL;
var const UniqueNetId OwningNetId;
var int PlatformType;
var const int SessionInstance;
};
Game stats session information recorded at log start
AppTitleID:
Unique title identifier
bGameplaySessionInProgress:
Is a session currently in progress
GameClassName:
Name of the game class used
GameplaySessionEndTime:
Time this session was ended (game time)
GameplaySessionID:
Unique session ID
GameplaySessionStartTime:
Time this session was started (game time)
GameplaySessionTimestamp:
Time this session was begun (real time)
GameTypeId:
Gametype ID
Language:
Language the session was run in
MapName:
Name of map at time of session
MapURL:
Game URL at time of session
OwningNetId:
UniqueID of player logging stats
PlatformType:
Platform the session was run on
SessionInstance:
Value used to distinguish between contiguous sections

GameStatGroup Source code

struct GameStatGroup
{
var EGameStatGroups Group;
var int Level;
};

Group:
Group stat belongs to
Level:
Level of the stat

PawnClassEventData Source code

struct PawnClassEventData
{
var string PawnClassName;
};
Metadata describing the pawn classes recorded during gameplay
PawnClassName:
Name of the pawn class used

PlayerInformationNew Source code

struct PlayerInformationNew
{
var bool bIsBot;
var string ControllerName;
var string PlayerName;
var UniqueNetId UniqueId;
};
List of player information cached in case the player logs out and GC collects the objects
bIsBot:
Whether the player is a bot or not
ControllerName:
Controller.Name
PlayerName:
Controller.PlayerReplicationInfo.PlayerName
UniqueId:
UniqueID of the player

ProjectileClassEventData Source code

struct ProjectileClassEventData
{
var string ProjectileClassName;
};
Metadata describing the projectile classes recorded during gameplay
ProjectileClassName:
name of the projectile class used

TeamInformation Source code

struct TeamInformation
{
var int MaxSize;
var color TeamColor;
var int TeamIndex;
var string TeamName;
};
List of team information cached during the play session
MaxSize:
Max size during the game
TeamColor:
Color of the team
TeamIndex:
Index of the team in game
TeamName:
Name of the team

WeaponClassEventData Source code

struct WeaponClassEventData
{
var string WeaponClassName;
};
Metadata describing the weapon classes recorded during gameplay
WeaponClassName:
Name of the weapon class used


Functions Detail

CloseStatsFile Source code

function CloseStatsFile ( )
Closes and deletes the archive created clearing all data stored within

GetFilename Source code

event string GetFilename ( ) )
Retrieve the name of the file last in use by the gameplay event serializer, possibly empty

OpenStatsFile Source code

function bool OpenStatsFile ( string Filename )
Creates the archive that we are going to be manipulating
@param Filename - name of the file that will be open for serialization
@return TRUE if successful, else FALSE


Defaultproperties

defaultproperties
{	
	SupportedEvents.Empty()

	
	SupportedEvents(0)={(EventID=-1,EventName="UNKNOWN",StatGroup=(Group=GSG_EngineStats,Level=999),EventDataType=1)}
	
	SupportedEvents.Add((EventID=GAMEEVENT_MATCH_STARTED,EventName="Match Started",StatGroup=(Group=GSG_Game,Level=1),EventDataType=1))
	SupportedEvents.Add((EventID=GAMEEVENT_MATCH_ENDED,EventName="Match Ended",StatGroup=(Group=GSG_Game,Level=1),EventDataType=1))
	SupportedEvents.Add((EventID=GAMEEVENT_ROUND_STARTED,EventName="Round Started",StatGroup=(Group=GSG_Game,Level=1),EventDataType=1))
	SupportedEvents.Add((EventID=GAMEEVENT_ROUND_ENDED,EventName="Round Ended",StatGroup=(Group=GSG_Game,Level=1),EventDataType=1))
	SupportedEvents.Add((EventID=GAMEEVENT_GAME_CLASS,EventName="Game Class",StatGroup=(Group=GSG_Game,Level=1),EventDataType=0))
	SupportedEvents.Add((EventID=GAMEEVENT_GAME_OPTION_URL,EventName="Game Options",StatGroup=(Group=GSG_Game,Level=1),EventDataType=0))
	SupportedEvents.Add((EventID=GAMEEVENT_GAME_MAPNAME,EventName="Map Name",StatGroup=(Group=GSG_Game,Level=1),EventDataType=0))
	
	SupportedEvents.Add((EventID=GAMEEVENT_TEAM_CREATED,EventName="Team Created",StatGroup=(Group=GSG_Team,Level=1),EventDataType=2))
	SupportedEvents.Add((EventID=GAMEEVENT_TEAM_GAME_SCORE,EventName="Team Score",StatGroup=(Group=GSG_Team,Level=1),EventDataType=2))
	SupportedEvents.Add((EventID=GAMEEVENT_TEAM_MATCH_WON,EventName="Match Won",StatGroup=(Group=GSG_Team,Level=1),EventDataType=2))
	SupportedEvents.Add((EventID=GAMEEVENT_TEAM_ROUND_WON,EventName="Round Won",StatGroup=(Group=GSG_Team,Level=1),EventDataType=2))
	SupportedEvents.Add((EventID=GAMEEVENT_TEAM_ROUND_STALEMATE,EventName="Round Stalemate",StatGroup=(Group=GSG_Team,Level=1),EventDataType=2))

	SupportedEvents.Add((EventID=GAMEEVENT_PLAYER_LOGIN,EventName="Player Login",StatGroup=(Group=GSG_Player,Level=1),EventDataType=7))
	SupportedEvents.Add((EventID=GAMEEVENT_PLAYER_LOGOUT,EventName="Player Logout",StatGroup=(Group=GSG_Player,Level=1),EventDataType=7))
	SupportedEvents.Add((EventID=GAMEEVENT_PLAYER_KILL,EventName="Player Killed",StatGroup=(Group=GSG_Player,Level=1),EventDataType=9))
	SupportedEvents.Add((EventID=GAMEEVENT_PLAYER_DEATH,EventName="Player Death",StatGroup=(Group=GSG_Player,Level=1),EventDataType=9))
	
	SupportedEvents.Add((EventID=GAMEEVENT_PLAYER_TEAMCHANGE,EventName="Player Team Change",StatGroup=(Group=GSG_Player,Level=1),EventDataType=3))
	SupportedEvents.Add((EventID=GAMEEVENT_PLAYER_SPAWN,EventName="Player Spawn",StatGroup=(Group=GSG_Player,Level=1),EventDataType=6))
	SupportedEvents.Add((EventID=GAMEEVENT_PLAYER_LOCATION_POLL,EventName="Player Locations",StatGroup=(Group=GSG_Player,Level=10),EventDataType=8))
	SupportedEvents.Add((EventID=GAMEEVENT_PLAYER_KILL_STREAK,EventName="Kill Streak",StatGroup=(Group=GSG_Player,Level=1),EventDataType=3))
	SupportedEvents.Add((EventID=GAMEEVENT_PLAYER_MATCH_WON,EventName="Player Match Won",StatGroup=(Group=GSG_Player,Level=1),EventDataType=3))
	SupportedEvents.Add((EventID=GAMEEVENT_PLAYER_ROUND_WON,EventName="Player Round Won",StatGroup=(Group=GSG_Player,Level=1),EventDataType=3))
	SupportedEvents.Add((EventID=GAMEEVENT_PLAYER_ROUND_STALEMATE,EventName="Player Round Stalemate",StatGroup=(Group=GSG_Player,Level=1),EventDataType=3))

	SupportedEvents.Add((EventID=GAMEEVENT_WEAPON_DAMAGE,EventName="Weapon Damage",StatGroup=(Group=GSG_Weapon,Level=5),EventDataType=12))
	SupportedEvents.Add((EventID=GAMEEVENT_WEAPON_DAMAGE_MELEE,EventName="Melee Damage",StatGroup=(Group=GSG_Weapon,Level=5),EventDataType=12))
	SupportedEvents.Add((EventID=GAMEEVENT_WEAPON_FIRED,EventName="Weapon Fired",StatGroup=(Group=GSG_Weapon,Level=10),EventDataType=11))

	SupportedEvents.Add((EventID=GAMEEVENT_PLAYER_KILL_NORMAL,EventName="Normal Kill",StatGroup=(Group=GSG_Weapon,Level=1),EventDataType=9))

	SupportedEvents.Add((EventID=GAMEEVENT_MEMORYUSAGE_POLL,EventName="Memory Usage",StatGroup=(Group=GSG_EngineStats,Level=10),EventDataType=1))
	SupportedEvents.Add((EventID=GAMEEVENT_NETWORKUSAGEIN_POLL,EventName="Network Usage IN",StatGroup=(Group=GSG_EngineStats,Level=10),EventDataType=1))
	SupportedEvents.Add((EventID=GAMEEVENT_NETWORKUSAGEOUT_POLL,EventName="Network Usage OUT",StatGroup=(Group=GSG_EngineStats,Level=10),EventDataType=1))
	SupportedEvents.Add((EventID=GAMEEVENT_PING_POLL,EventName="Ping",StatGroup=(Group=GSG_EngineStats,Level=10),EventDataType=1))
	SupportedEvents.Add((EventID=GAMEEVENT_FRAMERATE_POLL,EventName="Frame Rate",StatGroup=(Group=GSG_EngineStats,Level=10),EventDataType=1))
	SupportedEvents.Add((EventID=GAMEEVENT_GAMETHREAD_POLL,EventName="Game thread time",StatGroup=(Group=GSG_EngineStats,Level=10),EventDataType=18))
	SupportedEvents.Add((EventID=GAMEEVENT_RENDERTHREAD_POLL,EventName="Render thread time",StatGroup=(Group=GSG_EngineStats,Level=10),EventDataType=18))
	SupportedEvents.Add((EventID=GAMEEVENT_GPUFRAMETIME_POLL,EventName="GPU render time",StatGroup=(Group=GSG_EngineStats,Level=10),EventDataType=18))
	SupportedEvents.Add((EventID=GAMEEVENT_FRAMETIME_POLL,EventName="Total frame time",StatGroup=(Group=GSG_EngineStats,Level=10),EventDataType=18))
	SupportedEvents.Add((EventID=302,EventName="AI Path Failure",StatGroup=(Group=GSG_Game,Level=10),EventDataType=14))
	SupportedEvents.Add((EventID=305,EventName="AI Firelink",StatGroup=(Group=GSG_Game,Level=10),EventDataType=14))
}

Overview Package Class Source Class tree Glossary
previous class      next class frames      no frames
Creation time: ti 22-3-2011 19:56:49.512 - Created with UnCodeX