Definition at line 30 of file Physics.h.
|
| static const char * | getLoggerModuleName () |
| |
| static bool | colliding (const PureObject3D &a, const PureObject3D &b) |
| |
| static bool | colliding_NoZ (const PureObject3D &a, const PureObject3D &b) |
| |
| static bool | colliding2 (float o1px, float o1py, float o1pz, float o1sx, float o1sy, float o1sz, float o2px, float o2py, float o2pz, float o2sx, float o2sy, float o2sz) |
| |
| static bool | colliding2_NoZ (float o1px, float o1py, float o1sx, float o1sy, float o2px, float o2py, float o2sx, float o2sy) |
| |
| static bool | colliding3 (const PureVector &vecPosMin, const PureVector &vecPosMax, const PureVector &vecObjPos, const PureVector &vecObjSize) |
| |
| static float | distance_NoZ (float o1px, float o1py, float o2px, float o2py) |
| |
| static float | distance_NoZ (float o1px, float o1py, float o1sx, float o1sy, float o2px, float o2py) |
| |
| static float | distance_NoZ_with_distancePerAxis (float o1px, float o1py, float o1sx, float o1sy, float o2px, float o2py, PureVector &vDirPerAxis, PureVector &vDistancePerAxis) |
| |
|
| void | serverSetAllowStrafeMidAir (bool bAllow) |
| |
| void | serverSetAllowStrafeMidAirFull (bool bAllow) |
| |
| void | serverSetFallDamageMultiplier (int n) |
| |
| void | serverSetCollisionModeBvh (bool state) |
| |
| void | serverGravity (XHair &xhair, const unsigned int &nPhysicsRate, proofps_dd::GameMode &gameMode) |
| |
| void | serverPlayerCollisionWithWalls (const unsigned int &nPhysicsRate, XHair &xhair, proofps_dd::GameMode &gameMode, PureVector &vecCamShakeForce) |
| |
Protected Member Functions inherited from proofps_dd::PlayerHandling |
| bool | hasPlayerBootedUp (const pge_network::PgeNetworkConnectionHandle &connHandle) const |
| |
| void | handlePlayerDied (Player &player, XHair &xhair, const pge_network::PgeNetworkConnectionHandle &nKillerConnHandleServerSide) |
| |
| void | handlePlayerRespawned (Player &player, XHair &xhair) |
| |
| void | serverRespawnPlayer (Player &player, const proofps_dd::GameRestartType_KeepPlayers &eRestartType, const proofps_dd::Config &config, PGEcfgProfiles &cfgProfiles) |
| | Respawn is required when either a game is started, restarted, or a dead player needs to be revived.
|
| |
| void | serverResettlePlayer (Player &player, const proofps_dd::Config &config) |
| | Resettle is required when a round-based game starts a new round, and we need to reposition alive players back to spawn points.
|
| |
| void | serverUpdateRespawnTimers (const proofps_dd::Config &config, PGEcfgProfiles &cfgProfiles, proofps_dd::GameMode &gameMode, proofps_dd::Durations &durations) |
| |
| void | handlePlayerTeamIdChangedOrToggledSpectatorMode (Player &player, const unsigned int &iTeamId, const bool &bToggledSpectatorMode, const proofps_dd::Config &config, PGEcfgProfiles &cfgProfiles) |
| |
| void | handleExplosionMultiKill (int nPlayersDiedByExplosion) |
| |
| void | writePlayerList () |
| |
| bool | handleUserConnected (pge_network::PgeNetworkConnectionHandle connHandleServerSide, const pge_network::MsgUserConnectedServerSelf &msg, PGEcfgProfiles &cfgProfiles, proofps_dd::Config &config, std::function< void(int)> &cbDisplayMapLoadingProgressUpdate) |
| |
| bool | handleUserDisconnected (pge_network::PgeNetworkConnectionHandle connHandleServerSide, const pge_network::MsgUserDisconnectedFromServer &msg, proofps_dd::GameMode &gameMode) |
| |
| bool | handleUserNameChange (pge_network::PgeNetworkConnectionHandle connHandleServerSide, const proofps_dd::MsgUserNameChangeAndBootupDone &msg, proofps_dd::Config &config, PGEcfgProfiles &cfgProfiles) |
| |
| void | resetSendClientUpdatesCounter (proofps_dd::Config &config) |
| |
| void | serverUpdatePlayersOldValues (proofps_dd::Config &config, PgeObjectPool< proofps_dd::Smoke > &smokes) |
| |
| void | serverSendUserUpdates (PGEcfgProfiles &cfgProfiles, proofps_dd::Config &config, proofps_dd::Durations &durations, proofps_dd::GameMode &gameMode) |
| |
| bool | handleUserUpdateFromServer (pge_network::PgeNetworkConnectionHandle connHandleServerSide, const proofps_dd::MsgUserUpdateFromServer &msg, XHair &xhair, const proofps_dd::Config &config, proofps_dd::GameMode &gameMode, PgeObjectPool< proofps_dd::Smoke > &smokes) |
| |
| bool | handleDeathNotificationFromServer (pge_network::PgeNetworkConnectionHandle nDeadConnHandleServerSide, const proofps_dd::MsgDeathNotificationFromServer &msg, proofps_dd::GameMode &gameMode) |
| |
| bool | handlePlayerEventFromServer (pge_network::PgeNetworkConnectionHandle connHandleServerSide, const proofps_dd::MsgPlayerEventFromServer &msg, PureVector &vecCamShakeForce, const proofps_dd::Config &config, PGEcfgProfiles &cfgProfiles) |
| |
| bool | serverHandleUserInGameMenuCmd (pge_network::PgeNetworkConnectionHandle connHandleServerSide, const proofps_dd::MsgUserInGameMenuCmd &msg, const proofps_dd::Config &config, PGEcfgProfiles &cfgProfiles) |
| |
| void | updatePlayersVisuals (const proofps_dd::Config &config, proofps_dd::GameMode &gameMode) |
| | Invoked in every frame by all instances.
|
| |
| CConsole & | getConsole () const |
| |
| | PlayerHandling (PGE &pge, proofps_dd::Durations &durations, proofps_dd::GUI &gui, std::map< pge_network::PgeNetworkConnectionHandle, proofps_dd::Player > &mapPlayers, proofps_dd::Maps &maps, proofps_dd::Sounds &sounds, proofps_dd::CameraHandling &camera) |
| |
| | PlayerHandling (const PlayerHandling &)=delete |
| |
| PlayerHandling & | operator= (const PlayerHandling &)=delete |
| |
| | PlayerHandling (PlayerHandling &&)=delete |
| |
| PlayerHandling && | operator= (PlayerHandling &&)=delete |
| |
| void | allowListAppMessages () |
| |
| | Networking (PGE &pge, proofps_dd::Durations &durations) |
| |
| | Networking (const Networking &)=delete |
| |
| Networking & | operator= (const Networking &)=delete |
| |
| | Networking (Networking &&)=delete |
| |
| Networking && | operator= (Networking &&)=delete |
| |
| CConsole & | getConsole () const |
| |
| bool | isMyConnection (const pge_network::PgeNetworkConnectionHandle &connHandleServerSide) const |
| |
| const pge_network::PgeNetworkConnectionHandle & | getMyServerSideConnectionHandle () const |
| |
| bool | reinitializeNetworking () |
| |
| bool | isServer () const |
| |
|
| void | serverPlayerCollisionWithWalls_common_LoopKernelVertical_actualCollHandler (Player &player, const PureObject3D *obj, const int &iJumppad, const float &fPlayerHalfHeight, const float &fBlockSizeYhalf, XHair &xhair, PureVector &vecCamShakeForce) |
| | Used by both the legacy and BVH collision paths' LoopKernelVertical functions.
|
| |
| bool | serverPlayerCollisionWithWalls_legacy_LoopKernelVertical (Player &player, const PureObject3D *obj, const int &iJumppad, const float &fPlayerHalfHeight, const float &fPlayerOPos1XMinusHalf, const float &fPlayerOPos1XPlusHalf, const float &fPlayerPos1YMinusHalf, const float &fPlayerPos1YPlusHalf, const float &fBlockSizeXhalf, const float &fBlockSizeYhalf, XHair &xhair, PureVector &vecCamShakeForce) |
| | Used in the legacy collision path, handling player's vertical collision i.e.
|
| |
| bool | serverPlayerCollisionWithWalls_bvh_LoopKernelVertical (Player &player, const PureObject3D *obj, const int &iJumppad, const float &fPlayerHalfHeight, const float &fBlockSizeYhalf, XHair &xhair, PureVector &vecCamShakeForce) |
| | Used in the BVH collision path, handling player's vertical collision i.e.
|
| |
| void | serverPlayerCollisionWithWalls_common_verticalCollisionAlreadyHandled (bool bVerticalCollisionOccured, Player &player, const float &fCurrentFallHeight, bool bWillCollideVerticallyWithinLooseJumpAllowDistance) |
| |
| float | serverPlayerCollisionWithWalls_legacy_vertical_handleStandup (Player &player, const float &fPlayerOPos1XMinusHalf, const float &fPlayerOPos1XPlusHalf) |
| | If the player is currently crouching but wants to stand up, it checks it there is enough space for standing up and if so, it makes the player stand up.
|
| |
| float | serverPlayerCollisionWithWalls_bvh_vertical_handleStandup (Player &player) |
| | If the player is currently crouching but wants to stand up, it checks it there is enough space for standing up and if so, it makes the player stand up.
|
| |
| bool | serverPlayerCollisionWithWalls_legacy_vertical_checkForSoonPossibleVerticalCollisionWithinLooseJumpAllowDistance (const float &fPlayerOPos1XMinusHalf, const float &fPlayerOPos1XPlusHalf, const float &fPlayerPosY, const float &fVecPlayerScaledSizeY, const float &fCurrentFallHeight, const float &fThresholdVerticalDistanceForLooseAllowJump) |
| |
| bool | serverPlayerCollisionWithWalls_bvh_vertical_checkForSoonPossibleVerticalCollisionWithinLooseJumpAllowDistance (Player &player, const float &fVecPlayerScaledSizeX, const float &fVecPlayerScaledSizeY, const float &fVecPlayerScaledSizeZ, const float &fCurrentFallHeight, const float &fThresholdVerticalDistanceForLooseAllowJump) |
| |
| void | serverPlayerCollisionWithWalls_common_strafe (XHair &xhair, const unsigned int &nPhysicsRate, Player &player, PureVector vecOriginalJumpForceBeforeVerticalCollisionHandled) |
| |
| bool | serverPlayerCollisionWithWalls_common_horizontal_handleCollisionOccurred (bool isBvh, Player &player, const PureObject3D &wallObj, const PureVector &vecWallObjPos, const float fRealBlockSizeYhalf, const float fPlayerPos1YMinusHalf_2, const float &fPlayerHalfHeight, const PureVector &vecPlayerScaledSize) |
| | Handle the actual collision between player and a foreground block (wall, ground, etc.).
|
| |
| bool | serverPlayerCollisionWithWalls_legacy_vertical (const unsigned int &nPhysicsRate, Player &player, const float &fPlayerHalfHeight, const PureVector &vecPlayerScaledSize, XHair &xhair, PureVector &vecCamShakeForce) |
| | Player's vertical collision handling for the legacy path.
|
| |
| bool | serverPlayerCollisionWithWalls_legacy_horizontal (Player &player, const float &fPlayerHalfHeight, const PureVector &vecPlayerScaledSize) |
| | Player's horizontal collision handling for the legacy path.
|
| |
| bool | serverPlayerCollisionWithWalls_bvh_vertical (const unsigned int &nPhysicsRate, Player &player, const float &fPlayerHalfHeight, const PureVector &vecPlayerScaledSize, XHair &xhair, PureVector &vecCamShakeForce) |
| | Player's vertical collision handling for the legacy path.
|
| |
| bool | serverPlayerCollisionWithWalls_bvh_horizontal (Player &player, const float &fPlayerHalfHeight, const PureVector &vecPlayerScaledSize) |
| | Player's horizontal collision handling for the BVH path.
|
| |
| void | serverPlayerCollisionWithWalls_common_updatePlayerAfterCollisionHandling (Player &player, bool bHorizontalCollisionOccured) |
| |
| void | serverPlayerCollisionWithWalls_legacy (const unsigned int &nPhysicsRate, XHair &xhair, proofps_dd::GameMode &gameMode, PureVector &vecCamShakeForce) |
| |
| void | serverPlayerCollisionWithWalls_bvh (const unsigned int &nPhysicsRate, XHair &xhair, proofps_dd::GameMode &gameMode, PureVector &vecCamShakeForce) |
| |
| bool proofps_dd::Physics::serverPlayerCollisionWithWalls_bvh_LoopKernelVertical |
( |
Player & | player, |
|
|
const PureObject3D * | obj, |
|
|
const int & | iJumppad, |
|
|
const float & | fPlayerHalfHeight, |
|
|
const float & | fBlockSizeYhalf, |
|
|
XHair & | xhair, |
|
|
PureVector & | vecCamShakeForce ) |
|
private |
Used in the BVH collision path, handling player's vertical collision i.e.
when player's previous Y pos does not equal to new Y pos and given player is colliding with the given object. Unlike the similar function in the legacy path, this is actually not a loop kernel because this is not invoked from a loop iterating over the potential colliders, however this function is the rough equivalent of the legacy path's LoopKernelVertical function, so we kept the name similar. The given player is colliding with the given object for sure, so unlike with the legacy path's similar named function, here we don't do any further collision checks.
- Parameters
-
| player | The player object colliding with the given object. |
| obj | The object colliding with the given player. |
| iJumppad | Shall be valid jumppad index if the given object represents a jumppad block in the map, -1 otherwise. |
- Returns
- Always true because when this function is invoked, it is known that the given object is colliding with given player.
Definition at line 725 of file Physics.cpp.