src/tron/gCycleMovement.cpp File Reference

#include "rSDL.h"
#include "gCycleMovement.h"
#include "tMath.h"
#include "nConfig.h"
#include "ePlayer.h"
#include "eDebugLine.h"
#include "eGrid.h"
#include "eLagCompensation.h"
#include "eTeam.h"
#include "eTimer.h"
#include "gWall.h"
#include "gSensor.h"
#include "gAIBase.h"
#include "tRecorder.h"

Include dependency graph for gCycleMovement.cpp:

Go to the source code of this file.

Classes

struct  gMaxSpaceAheadHitInfo
 information about obstacle encountered by MaxSpaceAhead More...
class  gTurnDelayOverride
class  gRecursionGuard

Defines

#define INLINE_DEF
#define MAXRUBBER   1
#define MINDISTANCE_FACTOR   0

Functions

void sg_RubberValues (ePlayerNetID const *player, REAL speed, REAL &max, REAL &effectiveness)
static void sg_ArchiveCoord (eCoord &coord, int level)
static void sg_ArchiveReal (REAL &real, int level)
REAL sg_GetSparksDistance ()
static void blocks (const gSensor &s, const gCycleMovement *c, int lr)
static REAL sg_MaxSpeed (REAL maxAcceleration)
static void sg_DropTempWall (eCoord const &dir, gSensor const &sensor)
static REAL sg_Gap (gSensor const &front, gSensor const &side, eCoord const &dir, REAL norm, REAL def, REAL &tolerance)
static bool sg_UseAntiLagSliding (const eNetGameObject *obj)
REAL GetTurnSpeedFactor (void)

Variables

static nVersionFeature sg_verletIntegration (7)
REAL sg_brakeCycle = 30
static nSettingItem< REALc_ab ("CYCLE_BRAKE", sg_brakeCycle)
REAL sg_cycleBrakeRefill = 0.0
REAL sg_cycleBrakeDeplete = 0.0
static nSettingItemWatched< REALsg_cycleBrakeRefillConf ("CYCLE_BRAKE_REFILL", sg_cycleBrakeRefill, nConfItemVersionWatcher::Group_Annoying, 2)
static nSettingItemWatched< REALsg_cycleBrakeDepleteConf ("CYCLE_BRAKE_DEPLETE", sg_cycleBrakeDeplete, nConfItemVersionWatcher::Group_Annoying, 2)
REAL sg_cycleWidth = 0
static nSettingItemWatched< REALc_cw ("CYCLE_WIDTH", sg_cycleWidth, nConfItemVersionWatcher::Group_Bumpy, 14)
REAL sg_cycleWidthSide = 0
static nSettingItemWatched< REALc_cws ("CYCLE_WIDTH_SIDE", sg_cycleWidthSide, nConfItemVersionWatcher::Group_Bumpy, 14)
REAL sg_cycleWidthRubberMin = 1
static nSettingItemWatched< REALc_cwrmax ("CYCLE_WIDTH_RUBBER_MIN", sg_cycleWidthRubberMin, nConfItemVersionWatcher::Group_Bumpy, 14)
REAL sg_cycleWidthRubberMax = 1
static nSettingItemWatched< REALc_cwrmin ("CYCLE_WIDTH_RUBBER_MAX", sg_cycleWidthRubberMax, nConfItemVersionWatcher::Group_Bumpy, 14)
static REAL sg_speedCycle = 10
static nSettingItem< REALc_s ("CYCLE_SPEED", sg_speedCycle)
static REAL sg_speedCycleMin = .25
static nSettingItemWatched< REALc_smin ("CYCLE_SPEED_MIN", sg_speedCycleMin, nConfItemVersionWatcher::Group_Bumpy, 9)
static REAL sg_speedCycleMax = 0
static nSettingItemWatched< REALc_smax ("CYCLE_SPEED_MAX", sg_speedCycleMax, nConfItemVersionWatcher::Group_Bumpy, 14)
REAL sg_speedCycleDecayBelow = 5
static nSettingItemWatched< REALc_sdb ("CYCLE_SPEED_DECAY_BELOW", sg_speedCycleDecayBelow, nConfItemVersionWatcher::Group_Bumpy, 8)
REAL sg_speedCycleDecayAbove = .1
static nSettingItemWatched< REALc_sda ("CYCLE_SPEED_DECAY_ABOVE", sg_speedCycleDecayAbove, nConfItemVersionWatcher::Group_Bumpy, 8)
static REAL sg_speedCycleStart = 20
static tSettingItem< REALc_st ("CYCLE_START_SPEED", sg_speedCycleStart)
REAL sg_delayCycle = .1
static nSettingItem< REALc_d ("CYCLE_DELAY", sg_delayCycle)
REAL sg_delayCycleDoublebindBonus = 1.
static nSettingItemWatched< REALc_d_d_b ("CYCLE_DELAY_DOUBLEBIND_BONUS", sg_delayCycleDoublebindBonus, nConfItemVersionWatcher::Group_Bumpy, 14)
int sg_cycleTurnMemory = 3
static tSettingItem< int > c_tm ("CYCLE_TURN_MEMORY", sg_cycleTurnMemory)
REAL sg_delayCycleTimeBased = 1
static nSettingItemWatched< REALc_dt ("CYCLE_DELAY_TIMEBASED", sg_delayCycleTimeBased, nConfItemVersionWatcher::Group_Bumpy, 7)
REAL sg_delayCycleBonus = 1
REAL sg_cycleTurnSpeedFactor = .95
static nSettingItemWatched< REALc_ctf ("CYCLE_TURN_SPEED_FACTOR", sg_cycleTurnSpeedFactor, nConfItemVersionWatcher::Group_Bumpy, 7)
static REAL sg_accelerationCycle = 10
static nSettingItem< REALc_a ("CYCLE_ACCEL", sg_accelerationCycle)
REAL sg_accelerationCycleSelf = 1
static nSettingItemWatched< REALc_aco ("CYCLE_ACCEL_SELF", sg_accelerationCycleSelf, nConfItemVersionWatcher::Group_Bumpy, 8)
REAL sg_accelerationCycleTeam = 1
static nSettingItemWatched< REALc_act ("CYCLE_ACCEL_TEAM", sg_accelerationCycleTeam, nConfItemVersionWatcher::Group_Bumpy, 14)
REAL sg_accelerationCycleEnemy = 1
static nSettingItemWatched< REALc_ace ("CYCLE_ACCEL_ENEMY", sg_accelerationCycleEnemy, nConfItemVersionWatcher::Group_Bumpy, 14)
REAL sg_accelerationCycleRim = 0
static nSettingItemWatched< REALc_acr ("CYCLE_ACCEL_RIM", sg_accelerationCycleRim, nConfItemVersionWatcher::Group_Bumpy, 8)
REAL sg_accelerationCycleSlingshot = 1
static nSettingItemWatched< REALc_acs ("CYCLE_ACCEL_SLINGSHOT", sg_accelerationCycleSlingshot, nConfItemVersionWatcher::Group_Bumpy, 8)
REAL sg_accelerationCycleTunnel = 1
static nSettingItemWatched< REALc_acu ("CYCLE_ACCEL_TUNNEL", sg_accelerationCycleTunnel, nConfItemVersionWatcher::Group_Bumpy, 14)
static REAL sg_accelerationCycleOffs = 2
static nSettingItem< REALc_ao ("CYCLE_ACCEL_OFFSET", sg_accelerationCycleOffs)
static REAL sg_nearCycle = 6
static nSettingItem< REALc_n ("CYCLE_WALL_NEAR", sg_nearCycle)
REAL sg_boostCycleSelf = 0
static nSettingItemWatched< REALc_bco ("CYCLE_BOOST_SELF", sg_boostCycleSelf, nConfItemVersionWatcher::Group_Bumpy, 14)
REAL sg_boostCycleTeam = 0
static nSettingItemWatched< REALc_bct ("CYCLE_BOOST_TEAM", sg_boostCycleTeam, nConfItemVersionWatcher::Group_Bumpy, 14)
REAL sg_boostCycleEnemy = 0
static nSettingItemWatched< REALc_bce ("CYCLE_BOOST_ENEMY", sg_boostCycleEnemy, nConfItemVersionWatcher::Group_Bumpy, 14)
REAL sg_boostCycleRim = 0
static nSettingItemWatched< REALc_bcr ("CYCLE_BOOST_RIM", sg_boostCycleRim, nConfItemVersionWatcher::Group_Bumpy, 14)
REAL sg_boostFactorCycleSelf = 1
static nSettingItemWatched< REALc_bfco ("CYCLE_BOOSTFACTOR_SELF", sg_boostFactorCycleSelf, nConfItemVersionWatcher::Group_Bumpy, 14)
REAL sg_boostFactorCycleTeam = 1
static nSettingItemWatched< REALc_bfct ("CYCLE_BOOSTFACTOR_TEAM", sg_boostFactorCycleTeam, nConfItemVersionWatcher::Group_Bumpy, 14)
REAL sg_boostFactorCycleEnemy = 1
static nSettingItemWatched< REALc_bfce ("CYCLE_BOOSTFACTOR_ENEMY", sg_boostFactorCycleEnemy, nConfItemVersionWatcher::Group_Bumpy, 14)
REAL sg_boostFactorCycleRim = 1
static nSettingItemWatched< REALc_bfcr ("CYCLE_BOOSTFACTOR_RIM", sg_boostFactorCycleRim, nConfItemVersionWatcher::Group_Bumpy, 14)
static REAL sg_packetLossTolerance = 0
static tSettingItem< REALconf_packetLossTolerance ("CYCLE_PACKETLOSS_TOLERANCE", sg_packetLossTolerance)
static REAL sg_packetMissTolerance = 3
static tSettingItem< REALconf_packetMissTolerance ("CYCLE_PACKETMISS_TOLERANCE", sg_packetMissTolerance)
REAL sg_rubberCycle = MAXRUBBER
static nSettingItem< REALc_r ("CYCLE_RUBBER", sg_rubberCycle)
REAL sg_rubberCycleTimeBased = 0
static nSettingItemWatched< REALc_rtb ("CYCLE_RUBBER_TIMEBASED", sg_rubberCycleTimeBased, nConfItemVersionWatcher::Group_Visual, 7)
bool sg_rubberCycleLegacy = true
static nSettingItem< bool > c_rl ("CYCLE_RUBBER_LEGACY", sg_rubberCycleLegacy)
static REAL sg_rubberCyclePing = 3
static nSettingItem< REALc_rp ("CYCLE_PING_RUBBER", sg_rubberCyclePing)
REAL sg_rubberCycleTime = 10
static nSettingItemWatched< REALc_rt ("CYCLE_RUBBER_TIME", sg_rubberCycleTime, nConfItemVersionWatcher::Group_Visual, 7)
static REAL sg_rubberCycleSpeed = 40
static nSettingItemWatched< REALc_rs ("CYCLE_RUBBER_SPEED", sg_rubberCycleSpeed, nConfItemVersionWatcher::Group_Cheating, 4)
static REAL sg_rubberCycleMinDistance = .001 * MINDISTANCE_FACTOR
static nSettingItemWatched< REALc_rmd ("CYCLE_RUBBER_MINDISTANCE", sg_rubberCycleMinDistance, nConfItemVersionWatcher::Group_Annoying, 4)
static REAL sg_rubberCycleMinDistanceRatio = .0001 * MINDISTANCE_FACTOR
static nSettingItemWatched< REALc_rmdr ("CYCLE_RUBBER_MINDISTANCE_RATIO", sg_rubberCycleMinDistanceRatio, nConfItemVersionWatcher::Group_Annoying, 4)
static REAL sg_rubberCycleMinDistanceReservoir = 0.005 * MINDISTANCE_FACTOR
static nSettingItemWatched< REALc_rmdres ("CYCLE_RUBBER_MINDISTANCE_RESERVOIR", sg_rubberCycleMinDistanceReservoir, nConfItemVersionWatcher::Group_Annoying, 7)
static REAL sg_rubberCycleMinDistanceUnprepared = 0.005 * MINDISTANCE_FACTOR
static nSettingItemWatched< REALc_rmdup ("CYCLE_RUBBER_MINDISTANCE_UNPREPARED", sg_rubberCycleMinDistanceUnprepared, nConfItemVersionWatcher::Group_Annoying, 7)
static REAL sg_rubberCycleMinDistancePreparation = 0.2
static nSettingItemWatched< REALc_rmdp ("CYCLE_RUBBER_MINDISTANCE_PREPARATION", sg_rubberCycleMinDistancePreparation, nConfItemVersionWatcher::Group_Annoying, 7)
static REAL sg_rubberCycleMinDistanceLegacy = 1
static nSettingItem< REALc_rmdl ("CYCLE_RUBBER_MINDISTANCE_LEGACY", sg_rubberCycleMinDistanceLegacy)
static nVersionFeature sg_nonRippable (4)
static REAL sg_rubberCycleMinAdjust = .05
static nSettingItemWatched< REALc_rma ("CYCLE_RUBBER_MINADJUST", sg_rubberCycleMinAdjust, nConfItemVersionWatcher::Group_Annoying, 4)
static REAL sg_rubberCycleDelay = 0
static nSettingItemWatched< REALc_rcd ("CYCLE_RUBBER_DELAY", sg_rubberCycleDelay, nConfItemVersionWatcher::Group_Visual, 6)
static REAL sg_rubberCycleDelayBonus = .5
static nSettingItemWatched< REALc_rcdb ("CYCLE_RUBBER_DELAY_BONUS", sg_rubberCycleDelayBonus, nConfItemVersionWatcher::Group_Visual, 6)
static REAL sg_rubberCycleMalusTurn = 0
static nSettingItemWatched< REALc_rctm ("CYCLE_RUBBER_MALUS_TURN", sg_rubberCycleMalusTurn, nConfItemVersionWatcher::Group_Visual, 6)
static REAL sg_rubberCycleMalusTime = 5
static nSettingItem< REALc_rcmd ("CYCLE_RUBBER_MALUS_TIME", sg_rubberCycleMalusTime)
static REAL sg_timeTolerance = .1
static nSettingItemWatched< REALc_tt ("CYCLE_TIME_TOLERANCE", sg_timeTolerance, nConfItemVersionWatcher::Group_Visual, 6)
static int sg_cycleMaxRefCount = 30000
static tSettingItem< int > conf_sgCycleMaxRefCount ("CYCLE_MAX_REFCOUNT", sg_cycleMaxRefCount)
static REAL sg_enemyFriendTimePenalty = 2500.0f
 penalty for teammate influence
static REAL sg_enemyDeadTimePenalty = 0.0f
 penalty for influence from dead players
REAL sg_suicideTimeout = 10000.0f
 influences older than this don't count as kill cause
static REAL sg_enemyCurrentTimeInfluence = 0.0f
 blends in the current time into the relevant time
static tSettingItem< REALsg_enemyFriendTimePenaltyConf ("ENEMY_TEAMMATE_PENALTY", sg_enemyFriendTimePenalty)
static tSettingItem< REALsg_enemyDeadTimePenaltyConf ("ENEMY_DEAD_PENALTY", sg_enemyDeadTimePenalty)
static tSettingItem< REALsg_suicideTimeoutConf ("ENEMY_SUICIDE_TIMEOUT", sg_suicideTimeout)
static tSettingItem< REALsg_enemyCurrentTimeInfluenceConf ("ENEMY_CURRENTTIME_INFLUENCE", sg_enemyCurrentTimeInfluence)
static float sg_speedMultiplier = 1.0f
static nSettingItem< float > conf_mult ("REAL_CYCLE_SPEED_FACTOR", sg_speedMultiplier)
static REAL sg_rubberCycleMinDistanceGap = .0f
static REAL sg_rubberCycleMinDistanceGapSide = .5f
static nSettingItemWatched< REALc_rcmdg ("CYCLE_RUBBER_MINDISTANCE_GAP", sg_rubberCycleMinDistanceGap, nConfItemVersionWatcher::Group_Bumpy, 14)
static nSettingItem< REALc_rcmdgs ("CYCLE_RUBBER_MINDISTANCE_GAP_SIDE", sg_rubberCycleMinDistanceGapSide)
static nVersionFeature sg_CommandTime (4)
 determines how much a given cycle is allowed to drive ahead without getting too close to the next wall. Looks at least lookAhead into the future, but never reports more than maxReport as result. The next timestep is assumed to be ts seconds long.
static nVersionFeature sg_AntiLag (5)
static bool sg_fairAntiLagSliding = true
static nSettingItem< bool > c_fals ("CYCLE_FAIR_ANTILAG", sg_fairAntiLagSliding)
static nVersionFeature sg_noRedundantBrakeCommands (13)
static nVersionFeature sg_sendCorrectLastTurn (8)
static nVersionFeature sg_correctAccelerationScaling (8)


Define Documentation

#define INLINE_DEF

Definition at line 60 of file gCycleMovement.cpp.

#define MAXRUBBER   1

Definition at line 63 of file gCycleMovement.cpp.

#define MINDISTANCE_FACTOR   0

Definition at line 361 of file gCycleMovement.cpp.


Function Documentation

static void blocks ( const gSensor s,
const gCycleMovement c,
int  lr 
) [static]

Definition at line 451 of file gCycleMovement.cpp.

References eSensor::before_hit, gPlayerWall::Cycle(), gAIPlayer::CycleBlocksRim(), gAIPlayer::CycleBlocksWay(), gSENSOR_ENEMY, gSENSOR_RIM, gSENSOR_TEAMMATE, eSensor::lr, nCLIENT, gPlayerWall::Pos(), sn_GetNetState(), gSensor::type, gPlayerWall::WindingNumber(), and gCycleMovement::WindingNumber().

Referenced by gCycleMovement::CalculateAcceleration().

00453 {
00454     if ( nCLIENT == sn_GetNetState() )
00455         return;
00456 
00457     if (s.type == gSENSOR_RIM)
00458         gAIPlayer::CycleBlocksRim(c, lr);
00459     else if (s.type == gSENSOR_TEAMMATE || s.type == gSENSOR_ENEMY && s.ehit)
00460     {
00461         gPlayerWall *w = dynamic_cast<gPlayerWall*>(s.ehit->GetWall());
00462         if (w)
00463         {
00464             // int turn     = c->Grid()->WindingNumber();
00465             //    int halfTurn = turn >> 1;
00466 
00467             // calculate the winding number.
00468             int windingBefore = c->WindingNumber();  // we start driving in c's direction
00469             // we need to make a sharp turn in the lr-direction
00470             //    windingBefore   += lr * halfTurn;
00471 
00472             // after the transfer, we need to drive in the direction of the other
00473             // wall:
00474             int windingAfter = w->WindingNumber();
00475 
00476             // if the other wall drives in the opposite direction, we
00477             // need to turn around again:
00478             //    if (s.lr == lr)
00479             // windingAfter -= lr * halfTurn;
00480 
00481             // make the winding difference a multiple of the winding number
00482             /*
00483               int compensation = ((windingAfter - windingBefore - halfTurn) % turn)
00484               + halfTurn;
00485               while (compensation < -halfTurn)
00486               compensation += turn;
00487             */
00488 
00489             // only if the two walls are parallel/antiparallel, there is true blocking.
00490             if (((windingBefore - windingAfter) & 1) == 0)
00491                 gAIPlayer::CycleBlocksWay(c, w->Cycle(),
00492                                           lr, s.lr,
00493                                           w->Pos(s.ehit->Ratio(s.before_hit)),
00494                                           - windingAfter + windingBefore);
00495         }
00496     }

Here is the call graph for this function:

Here is the caller graph for this function:

REAL GetTurnSpeedFactor ( void   ) 

Definition at line 4107 of file gCycleMovement.cpp.

References sg_cycleTurnSpeedFactor.

04108                               {
04109     return sg_cycleTurnSpeedFactor;

static void sg_ArchiveCoord ( eCoord &  coord,
int  level 
) [static]

Definition at line 81 of file gCycleMovement.cpp.

References tRecorderSync< DATA >::Archive(), and section.

00083 {
00084     static char const * section = "_COORD";
00085     tRecorderSync< eCoord >::Archive( section, level, coord );

Here is the call graph for this function:

static void sg_ArchiveReal ( REAL real,
int  level 
) [static]

Definition at line 87 of file gCycleMovement.cpp.

References tRecorderSync< DATA >::Archive(), and section.

00089 {
00090     static char const * section = "_REAL";
00091     tRecorderSync< REAL >::Archive( section, level, real );

Here is the call graph for this function:

static void sg_DropTempWall ( eCoord const &  dir,
gSensor const &  sensor 
) [static]

Definition at line 1458 of file gCycleMovement.cpp.

References eSensor::before_hit, gPlayerWall::CycleMovement(), gCycleMovement::DropTempWall(), eCoord, nCLIENT, sn_GetNetState(), and tASSERT.

Referenced by gCycleMovement::CalculateAcceleration(), gCycleMovement::DoTurn(), and gCycleMovement::GetMaxSpaceAhead().

01460 {
01461     tASSERT( sensor.ehit );
01462 
01463     if (sn_GetNetState() != nCLIENT )
01464     {
01465         // if the wall is temporary, let its cycle drop it so it gets copied into the grid
01466         // and makes less phasing problems
01467         // don't drop parallel walls
01468         eCoord vec = sensor.ehit->Vec();
01469         if ( fabs( dir * vec ) < vec.Norm() * .5 )
01470             return;
01471 
01472         // get the wall
01473         eWall * ew = sensor.ehit->GetWall();
01474         tASSERT( ew );
01475         gPlayerWall* w = dynamic_cast< gPlayerWall * >( ew );
01476 
01477         // check if wall exists
01478         if ( w )
01479         {
01480             // get the cycle
01481             gCycleMovement* other = w->CycleMovement();
01482 
01483             // let it drop wall
01484             if ( other )
01485                 other->DropTempWall( w, sensor.before_hit, dir );
01486         }
01487     }

Here is the call graph for this function:

Here is the caller graph for this function:

static REAL sg_Gap ( gSensor const &  front,
gSensor const &  side,
eCoord const &  dir,
REAL  norm,
REAL  def,
REAL tolerance 
) [static]

Definition at line 1519 of file gCycleMovement.cpp.

References EPS, eSensor::hit, and REAL.

Referenced by gCycleMovement::GetMaxSpaceAhead().

01521 {
01522     if ( side.ehit && side.ehit->Other() )
01523     {
01524         // determine the adistance of the two endpoints of the side edge
01525         // to the wall in front of us
01526         REAL gap1 = ( front.ehit->Vec()*( *side.ehit->Point() - *front.ehit->Point() ) )/norm;
01527         REAL gap2 = ( front.ehit->Vec()*( *side.ehit->Other()->Point() - *front.ehit->Point() ) )/norm;
01528 
01529         // correct for orientation using the current driving direction
01530         REAL sign = (dir * front.ehit->Vec())/norm;
01531         if ( sign != 0 )
01532         {
01533             sign = 1/sign;
01534             gap1 *= sign;
01535             gap2 *= sign;
01536         }
01537 
01538         // if both values are positive, update the cache with the smaller one
01539         tolerance = ( fabs(gap1) + fabs(gap2) ) * EPS * 10;
01540         REAL minGap = gap1 < gap2 ? gap1 : gap2;
01541 
01542         return minGap;
01543     }
01544     else
01545     {
01546         // return something close to the front wall
01547         tolerance = EPS * 10 * front.hit;
01548         return def;
01549     }

Here is the caller graph for this function:

REAL sg_GetSparksDistance (  ) 

Definition at line 122 of file gCycleMovement.cpp.

References sg_cycleWidth, and sg_cycleWidthSide.

Referenced by gCycle::TimestepCore().

00124 {
00125     if ( sg_cycleWidth < 2 * sg_cycleWidthSide )
00126         return sg_cycleWidth;
00127     else if ( sg_cycleWidthSide > 0 )
00128         return sg_cycleWidthSide * 2;
00129     else
00130         return .25; // return 0.2.8.2 default

Here is the caller graph for this function:

static REAL sg_MaxSpeed ( REAL  maxAcceleration  )  [static]

Definition at line 769 of file gCycleMovement.cpp.

References sg_speedCycle, and sg_speedCycleDecayAbove.

Referenced by gCycleMovement::MaximalSpeed().

00771 {
00772     if ( sg_speedCycleDecayAbove > 0 )
00773         return sg_speedCycle + maxAcceleration / sg_speedCycleDecayAbove;
00774     else
00775         return sg_speedCycle * 100;

Here is the caller graph for this function:

void sg_RubberValues ( ePlayerNetID const *  player,
REAL  speed,
REAL max,
REAL effectiveness 
)

static bool sg_UseAntiLagSliding ( const eNetGameObject obj  )  [static]

Definition at line 1898 of file gCycleMovement.cpp.

References nCLIENT, nNetObject::Owner(), sg_AntiLag, sg_CommandTime, sg_fairAntiLagSliding, sn_GetNetState(), nVersionFeature::Supported(), and tASSERT.

Referenced by gCycleMovement::Timestep().

01900 {
01901     tASSERT( obj );
01902 
01903     // cant do anyting for old clients that don't send the time of commands
01904     if ( !sg_CommandTime.Supported( obj->Owner() ) )
01905         return false;
01906 
01907     // likewise if the server does not support anti lag code and this is the client
01908     if ( sn_GetNetState() == nCLIENT && !sg_AntiLag.Supported( obj->Owner() ) )
01909         return false;
01910 
01911     // check whether the command time is sent by everyone or at least the object owner ( depending on fairness )
01912     if ( sg_fairAntiLagSliding )
01913     {
01914         return sg_CommandTime.Supported();
01915     }
01916     else
01917     {
01918         // we already checked whether the command time was sent
01919         return true;
01920     }

Here is the call graph for this function:

Here is the caller graph for this function:


Variable Documentation

nSettingItem<REAL> c_a("CYCLE_ACCEL", sg_accelerationCycle) [static]

nSettingItem<REAL> c_ab("CYCLE_BRAKE", sg_brakeCycle) [static]

nSettingItemWatched<REAL> c_ace("CYCLE_ACCEL_ENEMY", sg_accelerationCycleEnemy, nConfItemVersionWatcher::Group_Bumpy, 14) [static]

nSettingItemWatched<REAL> c_aco("CYCLE_ACCEL_SELF", sg_accelerationCycleSelf, nConfItemVersionWatcher::Group_Bumpy, 8) [static]

nSettingItemWatched<REAL> c_acr("CYCLE_ACCEL_RIM", sg_accelerationCycleRim, nConfItemVersionWatcher::Group_Bumpy, 8) [static]

nSettingItemWatched<REAL> c_acs("CYCLE_ACCEL_SLINGSHOT", sg_accelerationCycleSlingshot, nConfItemVersionWatcher::Group_Bumpy, 8) [static]

nSettingItemWatched<REAL> c_act("CYCLE_ACCEL_TEAM", sg_accelerationCycleTeam, nConfItemVersionWatcher::Group_Bumpy, 14) [static]

nSettingItemWatched<REAL> c_acu("CYCLE_ACCEL_TUNNEL", sg_accelerationCycleTunnel, nConfItemVersionWatcher::Group_Bumpy, 14) [static]

nSettingItem<REAL> c_ao("CYCLE_ACCEL_OFFSET", sg_accelerationCycleOffs) [static]

nSettingItemWatched<REAL> c_bce("CYCLE_BOOST_ENEMY", sg_boostCycleEnemy, nConfItemVersionWatcher::Group_Bumpy, 14) [static]

nSettingItemWatched<REAL> c_bco("CYCLE_BOOST_SELF", sg_boostCycleSelf, nConfItemVersionWatcher::Group_Bumpy, 14) [static]

nSettingItemWatched<REAL> c_bcr("CYCLE_BOOST_RIM", sg_boostCycleRim, nConfItemVersionWatcher::Group_Bumpy, 14) [static]

nSettingItemWatched<REAL> c_bct("CYCLE_BOOST_TEAM", sg_boostCycleTeam, nConfItemVersionWatcher::Group_Bumpy, 14) [static]

nSettingItemWatched<REAL> c_bfce("CYCLE_BOOSTFACTOR_ENEMY", sg_boostFactorCycleEnemy, nConfItemVersionWatcher::Group_Bumpy, 14) [static]

nSettingItemWatched<REAL> c_bfco("CYCLE_BOOSTFACTOR_SELF", sg_boostFactorCycleSelf, nConfItemVersionWatcher::Group_Bumpy, 14) [static]

nSettingItemWatched<REAL> c_bfcr("CYCLE_BOOSTFACTOR_RIM", sg_boostFactorCycleRim, nConfItemVersionWatcher::Group_Bumpy, 14) [static]

nSettingItemWatched<REAL> c_bfct("CYCLE_BOOSTFACTOR_TEAM", sg_boostFactorCycleTeam, nConfItemVersionWatcher::Group_Bumpy, 14) [static]

nSettingItemWatched<REAL> c_ctf("CYCLE_TURN_SPEED_FACTOR", sg_cycleTurnSpeedFactor, nConfItemVersionWatcher::Group_Bumpy, 7) [static]

nSettingItemWatched<REAL> c_cw("CYCLE_WIDTH", sg_cycleWidth, nConfItemVersionWatcher::Group_Bumpy, 14) [static]

nSettingItemWatched<REAL> c_cwrmax("CYCLE_WIDTH_RUBBER_MIN", sg_cycleWidthRubberMin, nConfItemVersionWatcher::Group_Bumpy, 14) [static]

nSettingItemWatched<REAL> c_cwrmin("CYCLE_WIDTH_RUBBER_MAX", sg_cycleWidthRubberMax, nConfItemVersionWatcher::Group_Bumpy, 14) [static]

nSettingItemWatched<REAL> c_cws("CYCLE_WIDTH_SIDE", sg_cycleWidthSide, nConfItemVersionWatcher::Group_Bumpy, 14) [static]

nSettingItem<REAL> c_d("CYCLE_DELAY", sg_delayCycle) [static]

nSettingItemWatched<REAL> c_d_d_b("CYCLE_DELAY_DOUBLEBIND_BONUS", sg_delayCycleDoublebindBonus, nConfItemVersionWatcher::Group_Bumpy, 14) [static]

nSettingItemWatched<REAL> c_dt("CYCLE_DELAY_TIMEBASED", sg_delayCycleTimeBased, nConfItemVersionWatcher::Group_Bumpy, 7) [static]

nSettingItem<bool> c_fals("CYCLE_FAIR_ANTILAG", sg_fairAntiLagSliding) [static]

nSettingItem<REAL> c_n("CYCLE_WALL_NEAR", sg_nearCycle) [static]

nSettingItem<REAL> c_r("CYCLE_RUBBER", sg_rubberCycle) [static]

nSettingItemWatched<REAL> c_rcd("CYCLE_RUBBER_DELAY", sg_rubberCycleDelay, nConfItemVersionWatcher::Group_Visual, 6) [static]

nSettingItemWatched<REAL> c_rcdb("CYCLE_RUBBER_DELAY_BONUS", sg_rubberCycleDelayBonus, nConfItemVersionWatcher::Group_Visual, 6) [static]

nSettingItem<REAL> c_rcmd("CYCLE_RUBBER_MALUS_TIME", sg_rubberCycleMalusTime) [static]

nSettingItemWatched<REAL> c_rcmdg("CYCLE_RUBBER_MINDISTANCE_GAP", sg_rubberCycleMinDistanceGap, nConfItemVersionWatcher::Group_Bumpy, 14) [static]

nSettingItem<REAL> c_rcmdgs("CYCLE_RUBBER_MINDISTANCE_GAP_SIDE", sg_rubberCycleMinDistanceGapSide) [static]

nSettingItemWatched<REAL> c_rctm("CYCLE_RUBBER_MALUS_TURN", sg_rubberCycleMalusTurn, nConfItemVersionWatcher::Group_Visual, 6) [static]

nSettingItem<bool> c_rl("CYCLE_RUBBER_LEGACY", sg_rubberCycleLegacy) [static]

nSettingItemWatched<REAL> c_rma("CYCLE_RUBBER_MINADJUST", sg_rubberCycleMinAdjust, nConfItemVersionWatcher::Group_Annoying, 4) [static]

nSettingItemWatched<REAL> c_rmd("CYCLE_RUBBER_MINDISTANCE", sg_rubberCycleMinDistance, nConfItemVersionWatcher::Group_Annoying, 4) [static]

nSettingItem<REAL> c_rmdl("CYCLE_RUBBER_MINDISTANCE_LEGACY", sg_rubberCycleMinDistanceLegacy) [static]

nSettingItemWatched<REAL> c_rmdp("CYCLE_RUBBER_MINDISTANCE_PREPARATION", sg_rubberCycleMinDistancePreparation, nConfItemVersionWatcher::Group_Annoying, 7) [static]

nSettingItemWatched<REAL> c_rmdr("CYCLE_RUBBER_MINDISTANCE_RATIO", sg_rubberCycleMinDistanceRatio, nConfItemVersionWatcher::Group_Annoying, 4) [static]

nSettingItemWatched<REAL> c_rmdres("CYCLE_RUBBER_MINDISTANCE_RESERVOIR", sg_rubberCycleMinDistanceReservoir, nConfItemVersionWatcher::Group_Annoying, 7) [static]

nSettingItemWatched<REAL> c_rmdup("CYCLE_RUBBER_MINDISTANCE_UNPREPARED", sg_rubberCycleMinDistanceUnprepared, nConfItemVersionWatcher::Group_Annoying, 7) [static]

nSettingItem<REAL> c_rp("CYCLE_PING_RUBBER", sg_rubberCyclePing) [static]

nSettingItemWatched<REAL> c_rs("CYCLE_RUBBER_SPEED", sg_rubberCycleSpeed, nConfItemVersionWatcher::Group_Cheating, 4) [static]

nSettingItemWatched<REAL> c_rt("CYCLE_RUBBER_TIME", sg_rubberCycleTime, nConfItemVersionWatcher::Group_Visual, 7) [static]

nSettingItemWatched<REAL> c_rtb("CYCLE_RUBBER_TIMEBASED", sg_rubberCycleTimeBased, nConfItemVersionWatcher::Group_Visual, 7) [static]

nSettingItem<REAL> c_s("CYCLE_SPEED", sg_speedCycle) [static]

nSettingItemWatched<REAL> c_sda("CYCLE_SPEED_DECAY_ABOVE", sg_speedCycleDecayAbove, nConfItemVersionWatcher::Group_Bumpy, 8) [static]

nSettingItemWatched<REAL> c_sdb("CYCLE_SPEED_DECAY_BELOW", sg_speedCycleDecayBelow, nConfItemVersionWatcher::Group_Bumpy, 8) [static]

nSettingItemWatched<REAL> c_smax("CYCLE_SPEED_MAX", sg_speedCycleMax, nConfItemVersionWatcher::Group_Bumpy, 14) [static]

nSettingItemWatched<REAL> c_smin("CYCLE_SPEED_MIN", sg_speedCycleMin, nConfItemVersionWatcher::Group_Bumpy, 9) [static]

tSettingItem<REAL> c_st("CYCLE_START_SPEED", sg_speedCycleStart) [static]

tSettingItem<int> c_tm("CYCLE_TURN_MEMORY", sg_cycleTurnMemory) [static]

nSettingItemWatched<REAL> c_tt("CYCLE_TIME_TOLERANCE", sg_timeTolerance, nConfItemVersionWatcher::Group_Visual, 6) [static]

nSettingItem<float> conf_mult("REAL_CYCLE_SPEED_FACTOR", sg_speedMultiplier) [static]

tSettingItem<REAL> conf_packetLossTolerance("CYCLE_PACKETLOSS_TOLERANCE", sg_packetLossTolerance) [static]

tSettingItem<REAL> conf_packetMissTolerance("CYCLE_PACKETMISS_TOLERANCE", sg_packetMissTolerance) [static]

tSettingItem<int> conf_sgCycleMaxRefCount("CYCLE_MAX_REFCOUNT", sg_cycleMaxRefCount) [static]

REAL sg_accelerationCycle = 10 [static]

Definition at line 213 of file gCycleMovement.cpp.

Referenced by gCycleMovement::CalculateAcceleration(), and gCycleMovement::MaximalSpeed().

REAL sg_accelerationCycleEnemy = 1

Definition at line 230 of file gCycleMovement.cpp.

Referenced by gCycleMovement::CalculateAcceleration(), and gCycleMovement::MaximalSpeed().

REAL sg_accelerationCycleOffs = 2 [static]

Definition at line 255 of file gCycleMovement.cpp.

Referenced by gCycleMovement::CalculateAcceleration(), gCycleMovement::DoTurn(), and gCycleMovement::MaximalSpeed().

REAL sg_accelerationCycleRim = 0

Definition at line 236 of file gCycleMovement.cpp.

Referenced by gCycleMovement::CalculateAcceleration(), and gCycleMovement::MaximalSpeed().

REAL sg_accelerationCycleSelf = 1

Definition at line 218 of file gCycleMovement.cpp.

Referenced by gCycleMovement::CalculateAcceleration(), and gCycleMovement::MaximalSpeed().

REAL sg_accelerationCycleSlingshot = 1

Definition at line 242 of file gCycleMovement.cpp.

Referenced by gCycleMovement::CalculateAcceleration(), and gCycleMovement::MaximalSpeed().

REAL sg_accelerationCycleTeam = 1

Definition at line 224 of file gCycleMovement.cpp.

Referenced by gCycleMovement::CalculateAcceleration(), and gCycleMovement::MaximalSpeed().

REAL sg_accelerationCycleTunnel = 1

Definition at line 248 of file gCycleMovement.cpp.

Referenced by gCycleMovement::CalculateAcceleration(), and gCycleMovement::MaximalSpeed().

nVersionFeature sg_AntiLag(5) [static]

Referenced by sg_UseAntiLagSliding().

REAL sg_boostCycleEnemy = 0

Definition at line 278 of file gCycleMovement.cpp.

Referenced by gCycleMovement::DoTurn().

REAL sg_boostCycleRim = 0

Definition at line 284 of file gCycleMovement.cpp.

Referenced by gCycleMovement::DoTurn().

REAL sg_boostCycleSelf = 0

Definition at line 266 of file gCycleMovement.cpp.

Referenced by gCycleMovement::DoTurn().

REAL sg_boostCycleTeam = 0

Definition at line 272 of file gCycleMovement.cpp.

Referenced by gCycleMovement::DoTurn().

REAL sg_boostFactorCycleEnemy = 1

Definition at line 303 of file gCycleMovement.cpp.

Referenced by gCycleMovement::DoTurn().

REAL sg_boostFactorCycleRim = 1

Definition at line 309 of file gCycleMovement.cpp.

Referenced by gCycleMovement::DoTurn().

REAL sg_boostFactorCycleSelf = 1

Definition at line 291 of file gCycleMovement.cpp.

Referenced by gCycleMovement::DoTurn().

REAL sg_boostFactorCycleTeam = 1

Definition at line 297 of file gCycleMovement.cpp.

Referenced by gCycleMovement::DoTurn().

REAL sg_brakeCycle = 30

Definition at line 98 of file gCycleMovement.cpp.

Referenced by gCycleChatBot::Activate(), gCycleMovement::CalculateAcceleration(), and gCycleMovement::MaximalSpeed().

nVersionFeature sg_CommandTime(4) [static]

determines how much a given cycle is allowed to drive ahead without getting too close to the next wall. Looks at least lookAhead into the future, but never reports more than maxReport as result. The next timestep is assumed to be ts seconds long.

Parameters:
cycle the cycle to investigate
ts the next timestep
lookAhead minimum distance to look ahead
maxReport maximum return value
Returns:
distance from the cycle to the next wall

Referenced by sg_UseAntiLagSliding(), and gCycleMovement::Timestep().

nVersionFeature sg_correctAccelerationScaling(8) [static]

Referenced by gCycleMovement::ApplyAcceleration(), and gCycleMovement::CalculateAcceleration().

REAL sg_cycleBrakeDeplete = 0.0

Definition at line 103 of file gCycleMovement.cpp.

Referenced by gCycleChatBot::Activate(), gCycleMovement::CalculateAcceleration(), and gCycleMovement::MaximalSpeed().

nSettingItemWatched<REAL> sg_cycleBrakeDepleteConf("CYCLE_BRAKE_DEPLETE", sg_cycleBrakeDeplete, nConfItemVersionWatcher::Group_Annoying, 2) [static]

REAL sg_cycleBrakeRefill = 0.0

Definition at line 102 of file gCycleMovement.cpp.

Referenced by gCycleMovement::CalculateAcceleration(), and gCycleMovement::MaximalSpeed().

nSettingItemWatched<REAL> sg_cycleBrakeRefillConf("CYCLE_BRAKE_REFILL", sg_cycleBrakeRefill, nConfItemVersionWatcher::Group_Annoying, 2) [static]

int sg_cycleMaxRefCount = 30000 [static]

Definition at line 448 of file gCycleMovement.cpp.

Referenced by gCycleMovement::AddRef().

int sg_cycleTurnMemory = 3

Definition at line 187 of file gCycleMovement.cpp.

Referenced by gCycleMovement::DoTurn().

REAL sg_cycleTurnSpeedFactor = .95

Definition at line 206 of file gCycleMovement.cpp.

Referenced by gCycleMovement::DoTurn(), and GetTurnSpeedFactor().

REAL sg_cycleWidth = 0

Definition at line 114 of file gCycleMovement.cpp.

Referenced by gCycleMovement::CalculateAcceleration(), and sg_GetSparksDistance().

REAL sg_cycleWidthRubberMax = 1

Definition at line 138 of file gCycleMovement.cpp.

Referenced by gCycleMovement::CalculateAcceleration(), and gCycleMovement::TimestepCore().

REAL sg_cycleWidthRubberMin = 1

Definition at line 134 of file gCycleMovement.cpp.

Referenced by gCycleMovement::CalculateAcceleration(), and gCycleMovement::TimestepCore().

REAL sg_cycleWidthSide = 0

Definition at line 118 of file gCycleMovement.cpp.

Referenced by gCycleMovement::CalculateAcceleration(), and sg_GetSparksDistance().

REAL sg_delayCycle = .1

Definition at line 178 of file gCycleMovement.cpp.

Referenced by Delay(), gCycleExtrapolator::EdgeIsDangerous(), gCycleMovement::GetTurnDelay(), gTurnDelayOverride::gTurnDelayOverride(), and gTurnDelayOverride::~gTurnDelayOverride().

REAL sg_delayCycleBonus = 1

Definition at line 203 of file gCycleMovement.cpp.

Referenced by gCycleMovement::GetTurnDelay().

REAL sg_delayCycleDoublebindBonus = 1.

Definition at line 182 of file gCycleMovement.cpp.

REAL sg_delayCycleTimeBased = 1

Definition at line 191 of file gCycleMovement.cpp.

Referenced by gCycleMovement::GetTurnDelay().

REAL sg_enemyCurrentTimeInfluence = 0.0f [static]

blends in the current time into the relevant time

Definition at line 503 of file gCycleMovement.cpp.

Referenced by gEnemyInfluence::AddWall().

tSettingItem<REAL> sg_enemyCurrentTimeInfluenceConf("ENEMY_CURRENTTIME_INFLUENCE", sg_enemyCurrentTimeInfluence) [static]

REAL sg_enemyDeadTimePenalty = 0.0f [static]

penalty for influence from dead players

Definition at line 501 of file gCycleMovement.cpp.

Referenced by gEnemyInfluence::AddWall().

tSettingItem<REAL> sg_enemyDeadTimePenaltyConf("ENEMY_DEAD_PENALTY", sg_enemyDeadTimePenalty) [static]

REAL sg_enemyFriendTimePenalty = 2500.0f [static]

penalty for teammate influence

Definition at line 499 of file gCycleMovement.cpp.

Referenced by gEnemyInfluence::AddWall().

tSettingItem<REAL> sg_enemyFriendTimePenaltyConf("ENEMY_TEAMMATE_PENALTY", sg_enemyFriendTimePenalty) [static]

bool sg_fairAntiLagSliding = true [static]

Definition at line 1894 of file gCycleMovement.cpp.

Referenced by sg_UseAntiLagSliding().

REAL sg_nearCycle = 6 [static]

Definition at line 261 of file gCycleMovement.cpp.

Referenced by gCycleMovement::CalculateAcceleration(), gCycleMovement::DoTurn(), and gCycleMovement::MaximalSpeed().

nVersionFeature sg_nonRippable(4) [static]

Referenced by gCycleMovement::GetMaxSpaceAhead(), and gCycleMovement::TimestepCore().

nVersionFeature sg_noRedundantBrakeCommands(13) [static]

Referenced by gCycleMovement::Timestep().

REAL sg_packetLossTolerance = 0 [static]

Definition at line 316 of file gCycleMovement.cpp.

Referenced by gCycleMovement::TimestepCore().

REAL sg_packetMissTolerance = 3 [static]

Definition at line 320 of file gCycleMovement.cpp.

Referenced by gCycleMovement::Timestep().

REAL sg_rubberCycle = MAXRUBBER

Definition at line 324 of file gCycleMovement.cpp.

Referenced by gCycle::MaxWallsLength(), gCycle::ReadSync(), sg_RubberValues(), gCycleMovement::Timestep(), and gCycle::WriteSync().

REAL sg_rubberCycleDelay = 0 [static]

Definition at line 416 of file gCycleMovement.cpp.

Referenced by gCycleMovement::TimestepCore().

REAL sg_rubberCycleDelayBonus = .5 [static]

Definition at line 423 of file gCycleMovement.cpp.

Referenced by gCycleMovement::TimestepCore().

bool sg_rubberCycleLegacy = true

Definition at line 335 of file gCycleMovement.cpp.

Referenced by gCycleMovement::GetMaxSpaceAhead(), and gCycleMovement::TimestepCore().

REAL sg_rubberCycleMalusTime = 5 [static]

Definition at line 437 of file gCycleMovement.cpp.

Referenced by gCycleMovement::TimestepCore().

REAL sg_rubberCycleMalusTurn = 0 [static]

Definition at line 430 of file gCycleMovement.cpp.

Referenced by gCycleMovement::DoTurn(), and gCycleMovement::RubberMalusActive().

REAL sg_rubberCycleMinAdjust = .05 [static]

Definition at line 409 of file gCycleMovement.cpp.

Referenced by gCycleMovement::GetMaxSpaceAhead().

REAL sg_rubberCycleMinDistance = .001 * MINDISTANCE_FACTOR [static]

Definition at line 365 of file gCycleMovement.cpp.

Referenced by gCycleMovement::GetMaxSpaceAhead(), and gCycleMovement::TimestepCore().

REAL sg_rubberCycleMinDistanceGap = .0f [static]

Definition at line 1551 of file gCycleMovement.cpp.

Referenced by gCycleMovement::GetMaxSpaceAhead().

REAL sg_rubberCycleMinDistanceGapSide = .5f [static]

Definition at line 1552 of file gCycleMovement.cpp.

Referenced by gCycleMovement::GetMaxSpaceAhead().

REAL sg_rubberCycleMinDistanceLegacy = 1 [static]

Definition at line 401 of file gCycleMovement.cpp.

Referenced by gCycleMovement::GetMaxSpaceAhead().

REAL sg_rubberCycleMinDistancePreparation = 0.2 [static]

Definition at line 393 of file gCycleMovement.cpp.

Referenced by gCycleMovement::GetMaxSpaceAhead().

REAL sg_rubberCycleMinDistanceRatio = .0001 * MINDISTANCE_FACTOR [static]

Definition at line 372 of file gCycleMovement.cpp.

Referenced by gCycleMovement::GetMaxSpaceAhead().

REAL sg_rubberCycleMinDistanceReservoir = 0.005 * MINDISTANCE_FACTOR [static]

Definition at line 379 of file gCycleMovement.cpp.

Referenced by gCycleMovement::GetMaxSpaceAhead().

REAL sg_rubberCycleMinDistanceUnprepared = 0.005 * MINDISTANCE_FACTOR [static]

Definition at line 386 of file gCycleMovement.cpp.

Referenced by gCycleMovement::GetMaxSpaceAhead().

REAL sg_rubberCyclePing = 3 [static]

Definition at line 340 of file gCycleMovement.cpp.

Referenced by sg_RubberValues().

REAL sg_rubberCycleSpeed = 40 [static]

Definition at line 352 of file gCycleMovement.cpp.

Referenced by gCycleMovement::RubberSpeed(), and gCycleMovement::TimestepCore().

REAL sg_rubberCycleTime = 10

Definition at line 345 of file gCycleMovement.cpp.

Referenced by gCycleMovement::TimestepCore().

REAL sg_rubberCycleTimeBased = 0

Definition at line 328 of file gCycleMovement.cpp.

Referenced by sg_RubberValues().

nVersionFeature sg_sendCorrectLastTurn(8) [static]

Referenced by gCycleMovement::CopyFrom().

REAL sg_speedCycle = 10 [static]

Definition at line 143 of file gCycleMovement.cpp.

Referenced by gCycleMovement::ApplyAcceleration(), gCycleMovement::CalculateAcceleration(), gCycleMovement::GetTurnDelay(), sg_MaxSpeed(), and sg_RubberValues().

REAL sg_speedCycleDecayAbove = .1

Definition at line 166 of file gCycleMovement.cpp.

Referenced by gCycleMovement::ApplyAcceleration(), gCycleMovement::CalculateAcceleration(), and sg_MaxSpeed().

REAL sg_speedCycleDecayBelow = 5

Definition at line 160 of file gCycleMovement.cpp.

Referenced by gCycleMovement::ApplyAcceleration(), and gCycleMovement::CalculateAcceleration().

REAL sg_speedCycleMax = 0 [static]

Definition at line 154 of file gCycleMovement.cpp.

Referenced by gCycleMovement::ApplyAcceleration().

REAL sg_speedCycleMin = .25 [static]

Definition at line 147 of file gCycleMovement.cpp.

Referenced by gCycleMovement::ApplyAcceleration().

REAL sg_speedCycleStart = 20 [static]

Definition at line 173 of file gCycleMovement.cpp.

Referenced by gCycleMovement::MaximalSpeed().

float sg_speedMultiplier = 1.0f [static]

Definition at line 720 of file gCycleMovement.cpp.

Referenced by gCycleMovement::MaximalSpeed(), and gCycleMovement::SpeedMultiplier().

REAL sg_suicideTimeout = 10000.0f

influences older than this don't count as kill cause

Definition at line 502 of file gCycleMovement.cpp.

Referenced by gEnemyInfluence::gEnemyInfluence(), and gCycle::KillAt().

tSettingItem<REAL> sg_suicideTimeoutConf("ENEMY_SUICIDE_TIMEOUT", sg_suicideTimeout) [static]

REAL sg_timeTolerance = .1 [static]

Definition at line 442 of file gCycleMovement.cpp.

Referenced by gCycleMovement::Timestep().

nVersionFeature sg_verletIntegration(7) [static]


Generated on Sat Mar 15 23:15:13 2008 for Armagetron Advanced by  doxygen 1.5.4