Always snap to grid


From Unreal Wiki, The Unreal Engine Documentation Site
Jump to: navigation, search
Postal 2 :: Actor >> Info >> GameInfo >> FPSGameInfo (Package: FPSGame)

Intermediate class between the engine's GameInfo and Postal 2's game types.



Dynamic array of home nodes that represent the starts of linked lists of home nodes all with the same tag. Each home node in this array is the start of a linked lists of home nodes. Each home node in that particular list has the same tag as all the others like it in the current level. These are used to speed up the random walks bystanders take

HomeNode node
Start of looped list
int Length
Length of that list


Single list of pathnodes in level, used for random pawn walking.

PathNode node
Start of looped list
int Length
Length of that list


Info about currently playing songs.

int RealHandle
Actor Actor
string Song
float Volume
float Radius
float Pitch



default mode
only for special cases, like when game is over



float MaxStasisPercent
Maximum percentage in stasis (StasisPawns/LivePawns)
bool bIsDemo
Whether this is a demo version of the game


int LivePawns
Total number of pawns alive in the level, in stasis or not
int StasisPawns
Total number of pawns currently in stasis
bool bIsValid
Whether the GameInfo is valid. Defaults to true but complex GameInfo's should default to false and set it true when they become valid.
array<ScriptedTrigger> WaitingList
List of ScriptedControllers that want to be informed when GameInfo becomes valid.
array<HomeListInfo> HomeNodeLists
PathListInfo PathNodeList
SongInfo SongInfos[9]
localized string UnknownDiffStr
float DebugTextX
Debug stuff
float DebugTextY
Debug stuff
float DebugTextHeight
Debug stuff
float DebugTextIndent
Debug stuff


BuildHomeNodeLists() [native]
BuildPathNodeLists() [native]
string GetGameMap(string GameCode, string PrevMapName, int Dir) [native, static]
bool StartingUp()
Outside, we're not starting up. This is only to return true when we're inside the state of StartUp, where we prep pawns, the apocalypse, day block levels, etc.
SendPlayerEx(PlayerController Player, string URL, ETravelType TravelType, ETravelItems TravelItems)
Send player to specified URL. This is our own version of SendPlayer() except it allows additional travel options to be specified. This safely handles the case of the player not having a pawn (the engine version crashes to let you know the pawn is missing). This also cleans up various things that should be done prior to travel.
This is called to indicate the GameInfo has become valid.
AddToWaitingList(ScriptedTrigger Script)
Add to a list of of items that are waiting for the gameinfo to become valid. When it does become valid, these items are notified.
AddPawn(Pawn AddMe)
Increment the total number of live pawns in the level
RemovePawn(Pawn RemoveMe)
Decrement the total number of live pawns in the level
PawnInStasis(Pawn CheckP)
New pawn goes into stasis
PawnOutOfStasis(Pawn CheckP)
New pawn comes out of stasis
FindHomeListInfo(name UseTag, out HomeListInfo returninfo)
Given a tag, return the start of a home node list
FindPathListInfo(out PathListInfo returninfo)
Return the start of a path node list
Get the splat detail.. longer lasting splats, the higher the number
PlayMusicExt(string Song, float FadeInTime)
All music should be controlled through these functions instead of the similar functions in the Actor class. Calling those functions directly will lead to serious problems if the audio system is rebooted, which can happen at any time during the game if the player changes certain options in the audio menu. Using these following functions instead will prevent those problems and will also restore any songs that were playing after the audio system is rebooted.
PlayMusicAttenuateExt(Actor Actor, string Song, float FadeInTime, optional float Volume, optional float Radius, optional float Pitch)
StopMusicExt(int SongHandle, float FadeOutTime)
StopAllMusicExt(float FadeOutTime)
int GetFreeSongInfo()
DrawTextDebug(Canvas Canvas, String str, optional int indent)
Draw text for debugging
string GetDiffName(int DiffIndex)
Get the phrase for our difficulty level (override in P2GameInfoSingle)
string SetURLOption(string URL, string Name, string Value)
Set the specified option in the URL. If the option already exists in the URL, it is replaced with the new value.
string RemoveURLOption(string URL, string Name)
Remove the specified option from the URL, ignoring case. If the option doesn't exist, the URL is returned unchanged.

Postal 2's GameInfo Class Tree

+- P2GameInfo
   +- P2GameInfoSingle
   |  +- GameSinglePlayer
   |  +- GameSinglePlayerDemo
   +- P2GameInfoMulti
      +- MPGameInfo
         +- DeathMatch (P2)
            +- GrabBagGame
            |  +- xGrabBag
            +- TeamGame (P2)
            |  +- CTFGame (P2)
            |  |  +- xCTFGame
            |  +- xTeamGame 
            +- xDeathMatch

Related Topics