PRooFPS-dd Dev Doc 1.0
PRooFPS-dd Developer Documentation
Loading...
Searching...
No Matches
proofps_dd Namespace Reference

Classes

class  CameraHandling
 
class  Config
 
struct  DeathKillEvent
 
class  DeathKillEventLister
 
class  DeathMatchMode
 In DeathMatch a.k.a. More...
 
struct  DrawableEvent
 
class  DrawableEventLister
 A specified maximum number of events stored in FIFO container for a limited amount of time. More...
 
struct  Durations
 
struct  Event
 
class  EventLister
 A specified maximum number of events stored in FIFO container for a limited amount of time. More...
 
class  Explosion
 
class  GameMode
 GameMode class represent the Frag Table and the winning condition checks. More...
 
class  GUI
 
class  InOutSlider
 In/Out Slider GUI Element for PRooFPS-dd. More...
 
class  InputHandling
 
class  Mapcycle
 
class  MapItem
 
class  Maps
 
class  Minimap
 
struct  MsgBulletUpdateFromServer
 
struct  MsgCurrentWpnUpdateFromServer
 
struct  MsgDeathNotificationFromServer
 
struct  MsgGameRoundStateFromServer
 
struct  MsgGameSessionStateFromServer
 
struct  MsgMapChangeFromServer
 
struct  MsgMapItemUpdateFromServer
 
struct  MsgPlayerEventFromServer
 
struct  MsgServerInfoFromServer
 
struct  MsgUserCmdFromClient
 
struct  MsgUserInGameMenuCmd
 
struct  MsgUserNameChangeAndBootupDone
 
struct  MsgUserSetupFromServer
 
struct  MsgUserUpdateFromServer
 
struct  MsgWpnUpdateFromServer
 
class  Networking
 
class  Physics
 
class  Player
 
class  PlayerHandling
 
struct  PlayersTableRow
 
struct  PRooFPSappMsgId2ZStringPair
 
class  PRooFPSddPGE
 The customized game engine class. More...
 
class  PureObject3dInOutSlider
 
struct  ServerEvent
 
class  ServerEventLister
 
class  Smoke
 
class  Sounds
 
class  TeamDeathMatchMode
 In Team DeathMatch game mode, players are grouped into teams. More...
 
class  TeamRoundGameMode
 In Team Round Game mode, players are grouped into teams, same way as in Team DeathMatch. More...
 
class  WeaponHandling
 
class  XHair
 Finally a dedicated class for crosshair was needed, because from PRooFPS-dd v0.2.5, the crosshair becomes smarter and smarter, and for the related functionalities we should keep some logic separate. More...
 

Typedefs

typedef PFL::StringHash ExplosionObjRefId
 

Enumerations

enum class  Orientation { Vertical , Horizontal }
 
enum class  GameRestartType_KeepPlayers { None , Soft , Hard }
 Game is being restarted with keeping the players: More...
 
enum class  GameModeType { DeathMatch , TeamDeathMatch , TeamRoundGame , Max }
 
enum class  MapItemType {
  ITEM_WPN_PISTOL , ITEM_WPN_MACHINEGUN , ITEM_WPN_BAZOOKA , ITEM_WPN_PUSHA ,
  ITEM_WPN_MACHINEPISTOL , ITEM_WPN_SHOTGUN , ITEM_WPN_GRENADELAUNCHER , ITEM_HEALTH ,
  ITEM_ARMOR , ITEM_JETLAX
}
 
enum  PlayerEventId : pge_network::TByte {
  FallingFromHigh = 0 , Landed , ItemTake , ItemUntake ,
  InventoryItemToggle , JumppadActivated , TeamIdChanged , ToggledSpectatorMode ,
  ExplosionMultiKill
}
 
enum class  PRooFPSappMsgId : pge_network::MsgApp::TMsgId {
  ServerInfoFromServer = 0 , GameSessionStateFromServer , GameRoundStateFromServer , MapChangeFromServer ,
  UserSetupFromServer , UserNameChangeAndBootupDone , UserCmdFromClient , UserUpdateFromServer ,
  BulletUpdateFromServer , MapItemUpdateFromServer , WpnUpdateFromServer , CurrentWpnUpdateFromServer ,
  DeathNotificationFromServer , PlayerEventFromServer , UserInGameMenuCmd , LastMsgId
}
 
enum class  Strafe : std::uint8_t { NONE = 0 , LEFT , RIGHT }
 

Functions

GameModeTypeoperator++ (GameModeType &gm)
 Prefix increment, useful in iterating over different game modes in unit test.
 
std::ostream & operator<< (std::ostream &s, const TeamRoundGameMode::RoundStateFSM::RoundState &rs)
 Write to stream.
 
std::ostream & operator<< (std::ostream &s, const MapItemType &eMapItemType)
 
std::string generateTestDumpFilename (bool bServer, unsigned long nPid, unsigned int nTickRate, unsigned int nClUpdateRate, unsigned int nPhysicsRateMin)
 

Variables

constexpr auto MapMsgAppId2String
 

Typedef Documentation

◆ ExplosionObjRefId

typedef PFL::StringHash proofps_dd::ExplosionObjRefId

Definition at line 19 of file Explosion.h.

Enumeration Type Documentation

◆ GameModeType

enum class proofps_dd::GameModeType
strong
Enumerator
DeathMatch 
TeamDeathMatch 
TeamRoundGame 
Max 

Definition at line 51 of file GameMode.h.

◆ GameRestartType_KeepPlayers

Game is being restarted with keeping the players:

  • when server player boots up after loading a map (as an initialization, Hard),
  • when game is won and we also finished showing the results (Hard),
  • when server player restarts the game from the Server Admin menu (Soft or Hard).

Practically the restart type now controls how much Player data shall be cleared: in some cases only Player stats, in some other cases even team assignments also need to be cleared.

So for now this class could be renamed to PlayerResetType, but maybe in the future it will also reset some other, non-Player-related stuff too.

Enumerator
None 

No restart happened.

Soft 

Players keep their team assignments and are not being put back into Spectator Mode.

Hard 

Players get deassigned from their teams and are being put back into Spectator Mode.

Definition at line 41 of file GameMode.h.

◆ MapItemType

enum class proofps_dd::MapItemType
strong
Enumerator
ITEM_WPN_PISTOL 
ITEM_WPN_MACHINEGUN 
ITEM_WPN_BAZOOKA 
ITEM_WPN_PUSHA 
ITEM_WPN_MACHINEPISTOL 
ITEM_WPN_SHOTGUN 
ITEM_WPN_GRENADELAUNCHER 
ITEM_HEALTH 
ITEM_ARMOR 
ITEM_JETLAX 

Definition at line 21 of file MapItem.h.

◆ Orientation

enum class proofps_dd::Orientation
strong
Enumerator
Vertical 
Horizontal 

Definition at line 45 of file EventLister.h.

◆ PlayerEventId

enum proofps_dd::PlayerEventId : pge_network::TByte
Enumerator
FallingFromHigh 
Landed 
ItemTake 
ItemUntake 
InventoryItemToggle 
JumppadActivated 
TeamIdChanged 
ToggledSpectatorMode 
ExplosionMultiKill 

Definition at line 33 of file Player.h.

◆ PRooFPSappMsgId

enum class proofps_dd::PRooFPSappMsgId : pge_network::MsgApp::TMsgId
strong
Enumerator
ServerInfoFromServer 
GameSessionStateFromServer 
GameRoundStateFromServer 
MapChangeFromServer 
UserSetupFromServer 
UserNameChangeAndBootupDone 
UserCmdFromClient 
UserUpdateFromServer 
BulletUpdateFromServer 
MapItemUpdateFromServer 
WpnUpdateFromServer 
CurrentWpnUpdateFromServer 
DeathNotificationFromServer 
PlayerEventFromServer 
UserInGameMenuCmd 
LastMsgId 

Definition at line 26 of file PRooFPS-dd-packet.h.

◆ Strafe

enum class proofps_dd::Strafe : std::uint8_t
strong
Enumerator
NONE 
LEFT 
RIGHT 

Definition at line 18 of file Strafe.h.

Function Documentation

◆ generateTestDumpFilename()

std::string proofps_dd::generateTestDumpFilename ( bool bServer,
unsigned long nPid,
unsigned int nTickRate,
unsigned int nClUpdateRate,
unsigned int nPhysicsRateMin )

Definition at line 16 of file SharedWithTest.cpp.

◆ operator++()

proofps_dd::GameModeType & proofps_dd::operator++ ( proofps_dd::GameModeType & gm)

Prefix increment, useful in iterating over different game modes in unit test.

Definition at line 38 of file GameMode.cpp.

◆ operator<<() [1/2]

std::ostream & proofps_dd::operator<< ( std::ostream & s,
const MapItemType & eMapItemType )

Definition at line 17 of file MapItem.cpp.

◆ operator<<() [2/2]

std::ostream & proofps_dd::operator<< ( std::ostream & s,
const TeamRoundGameMode::RoundStateFSM::RoundState & rs )

Write to stream.

Definition at line 1140 of file GameMode.cpp.

Variable Documentation

◆ MapMsgAppId2String

auto proofps_dd::MapMsgAppId2String
constexpr
Initial value:
= PFL::std_array_of<PRooFPSappMsgId2ZStringPair>
(
PRooFPSappMsgId2ZStringPair{ PRooFPSappMsgId::ServerInfoFromServer, "MsgServerInfoFromServer" },
PRooFPSappMsgId2ZStringPair{ PRooFPSappMsgId::GameSessionStateFromServer, "MsgGameSessionStateFromServer" },
PRooFPSappMsgId2ZStringPair{ PRooFPSappMsgId::GameRoundStateFromServer, "MsgGameRoundStateFromServer" },
PRooFPSappMsgId2ZStringPair{ PRooFPSappMsgId::MapChangeFromServer, "MsgMapChangeFromServer" },
PRooFPSappMsgId2ZStringPair{ PRooFPSappMsgId::UserSetupFromServer, "MsgUserSetupFromServer" },
PRooFPSappMsgId2ZStringPair{ PRooFPSappMsgId::UserNameChangeAndBootupDone, "MsgUserNameChangeAndBootupDone" },
PRooFPSappMsgId2ZStringPair{ PRooFPSappMsgId::UserCmdFromClient, "MsgUserCmdFromClient" },
PRooFPSappMsgId2ZStringPair{ PRooFPSappMsgId::UserUpdateFromServer, "MsgUserUpdateFromServer" },
PRooFPSappMsgId2ZStringPair{ PRooFPSappMsgId::BulletUpdateFromServer, "MsgBulletUpdateFromServer" },
PRooFPSappMsgId2ZStringPair{ PRooFPSappMsgId::MapItemUpdateFromServer, "MsgMapItemUpdateFromServer" },
PRooFPSappMsgId2ZStringPair{ PRooFPSappMsgId::WpnUpdateFromServer, "MsgWpnUpdateFromServer" },
PRooFPSappMsgId2ZStringPair{ PRooFPSappMsgId::CurrentWpnUpdateFromServer, "MsgCurrentWpnUpdateFromServer" },
PRooFPSappMsgId2ZStringPair{ PRooFPSappMsgId::DeathNotificationFromServer, "MsgDeathNotificationFromServer" },
PRooFPSappMsgId2ZStringPair{ PRooFPSappMsgId::PlayerEventFromServer, "MsgPlayerEventFromServer" },
PRooFPSappMsgId2ZStringPair{ PRooFPSappMsgId::UserInGameMenuCmd, "MsgUserInGameMenuCmd" }
)

Definition at line 52 of file PRooFPS-dd-packet.h.