Browse Source

Player Networking DIVNULL error correction

With Permission from Jeff Faust.

   // AFX CODE BLOCK (bug-fix) <<
   // avoids a divide-by-zero when maxEnergy is set to zero.
Azaezel 10 years ago
parent
commit
dbd8c6b37b
1 changed files with 4 additions and 1 deletions
  1. 4 1
      Engine/source/T3D/player.cpp

+ 4 - 1
Engine/source/T3D/player.cpp

@@ -6158,7 +6158,10 @@ U32 Player::packUpdate(NetConnection *con, U32 mask, BitStream *stream)
       stream->writeFlag(!(mask & NoWarpMask));
    }
    // Ghost need energy to predict reliably
-   stream->writeFloat(getEnergyLevel() / mDataBlock->maxEnergy,EnergyLevelBits);
+   if (mDataBlock->maxEnergy > 0.f)
+      stream->writeFloat(getEnergyLevel() / mDataBlock->maxEnergy, EnergyLevelBits);
+   else
+      stream->writeFloat(0.f, EnergyLevelBits);
    return retMask;
 }