mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-01-19 20:24:49 +00:00
removes non-functional shield and invincibility functionality.
This commit is contained in:
parent
e2dcde721d
commit
8d90558279
|
|
@ -898,17 +898,9 @@ ShapeBase::ShapeBase()
|
|||
mCloakLevel( 0.0f ),
|
||||
mDamageFlash( 0.0f ),
|
||||
mWhiteOut( 0.0f ),
|
||||
mInvincibleEffect( 0.0f ),
|
||||
mInvincibleDelta( 0.0f ),
|
||||
mInvincibleCount( 0.0f ),
|
||||
mInvincibleSpeed( 0.0f ),
|
||||
mInvincibleTime( 0.0f ),
|
||||
mInvincibleFade( 0.1f ),
|
||||
mInvincibleOn( false ),
|
||||
mIsControlled( false ),
|
||||
mConvexList( new Convex ),
|
||||
mCameraFov( 90.0f ),
|
||||
mShieldNormal( 0.0f, 0.0f, 1.0f ),
|
||||
mFadeOut( true ),
|
||||
mFading( false ),
|
||||
mFadeVal( 1.0f ),
|
||||
|
|
@ -1382,9 +1374,6 @@ void ShapeBase::advanceTime(F32 dt)
|
|||
mCloakLevel = 0.0;
|
||||
}
|
||||
}
|
||||
if(mInvincibleOn)
|
||||
updateInvincibleEffect(dt);
|
||||
|
||||
if(mFading)
|
||||
{
|
||||
mFadeElapsedTime += dt;
|
||||
|
|
@ -1987,119 +1976,6 @@ void ShapeBase::getCameraTransform(F32* pos,MatrixF* mat)
|
|||
mat->mul( gCamFXMgr.getTrans() );
|
||||
}
|
||||
|
||||
// void ShapeBase::getCameraTransform(F32* pos,MatrixF* mat)
|
||||
// {
|
||||
// // Returns camera to world space transform
|
||||
// // Handles first person / third person camera position
|
||||
|
||||
// if (isServerObject() && mShapeInstance)
|
||||
// mShapeInstance->animateNodeSubtrees(true);
|
||||
|
||||
// if (*pos != 0) {
|
||||
// F32 min,max;
|
||||
// Point3F offset;
|
||||
// MatrixF eye,rot;
|
||||
// getCameraParameters(&min,&max,&offset,&rot);
|
||||
// getRenderEyeTransform(&eye);
|
||||
// mat->mul(eye,rot);
|
||||
|
||||
// // Use the eye transform to orient the camera
|
||||
// VectorF vp,vec;
|
||||
// vp.x = vp.z = 0;
|
||||
// vp.y = -(max - min) * *pos;
|
||||
// eye.mulV(vp,&vec);
|
||||
|
||||
// // Use the camera node's pos.
|
||||
// Point3F osp,sp;
|
||||
// if (mDataBlock->cameraNode != -1) {
|
||||
// mShapeInstance->mNodeTransforms[mDataBlock->cameraNode].getColumn(3,&osp);
|
||||
// getRenderTransform().mulP(osp,&sp);
|
||||
// }
|
||||
// else
|
||||
// getRenderTransform().getColumn(3,&sp);
|
||||
|
||||
// // Make sure we don't extend the camera into anything solid
|
||||
// Point3F ep = sp + vec;
|
||||
// ep += offset;
|
||||
// disableCollision();
|
||||
// if (isMounted())
|
||||
// getObjectMount()->disableCollision();
|
||||
// RayInfo collision;
|
||||
// if (mContainer->castRay(sp,ep,(0xFFFFFFFF & ~(WaterObjectType|ForceFieldObjectType|GameBaseObjectType|DefaultObjectType)),&collision)) {
|
||||
// *pos = collision.t *= 0.9;
|
||||
// if (*pos == 0)
|
||||
// eye.getColumn(3,&ep);
|
||||
// else
|
||||
// ep = sp + vec * *pos;
|
||||
// }
|
||||
// mat->setColumn(3,ep);
|
||||
// if (isMounted())
|
||||
// getObjectMount()->enableCollision();
|
||||
// enableCollision();
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// getRenderEyeTransform(mat);
|
||||
// }
|
||||
// }
|
||||
|
||||
|
||||
// void ShapeBase::getRenderCameraTransform(F32* pos,MatrixF* mat)
|
||||
// {
|
||||
// // Returns camera to world space transform
|
||||
// // Handles first person / third person camera position
|
||||
|
||||
// if (isServerObject() && mShapeInstance)
|
||||
// mShapeInstance->animateNodeSubtrees(true);
|
||||
|
||||
// if (*pos != 0) {
|
||||
// F32 min,max;
|
||||
// Point3F offset;
|
||||
// MatrixF eye,rot;
|
||||
// getCameraParameters(&min,&max,&offset,&rot);
|
||||
// getRenderEyeTransform(&eye);
|
||||
// mat->mul(eye,rot);
|
||||
|
||||
// // Use the eye transform to orient the camera
|
||||
// VectorF vp,vec;
|
||||
// vp.x = vp.z = 0;
|
||||
// vp.y = -(max - min) * *pos;
|
||||
// eye.mulV(vp,&vec);
|
||||
|
||||
// // Use the camera node's pos.
|
||||
// Point3F osp,sp;
|
||||
// if (mDataBlock->cameraNode != -1) {
|
||||
// mShapeInstance->mNodeTransforms[mDataBlock->cameraNode].getColumn(3,&osp);
|
||||
// getRenderTransform().mulP(osp,&sp);
|
||||
// }
|
||||
// else
|
||||
// getRenderTransform().getColumn(3,&sp);
|
||||
|
||||
// // Make sure we don't extend the camera into anything solid
|
||||
// Point3F ep = sp + vec;
|
||||
// ep += offset;
|
||||
// disableCollision();
|
||||
// if (isMounted())
|
||||
// getObjectMount()->disableCollision();
|
||||
// RayInfo collision;
|
||||
// if (mContainer->castRay(sp,ep,(0xFFFFFFFF & ~(WaterObjectType|ForceFieldObjectType|GameBaseObjectType|DefaultObjectType)),&collision)) {
|
||||
// *pos = collision.t *= 0.9;
|
||||
// if (*pos == 0)
|
||||
// eye.getColumn(3,&ep);
|
||||
// else
|
||||
// ep = sp + vec * *pos;
|
||||
// }
|
||||
// mat->setColumn(3,ep);
|
||||
// if (isMounted())
|
||||
// getObjectMount()->enableCollision();
|
||||
// enableCollision();
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// getRenderEyeTransform(mat);
|
||||
// }
|
||||
// }
|
||||
|
||||
void ShapeBase::getCameraParameters(F32 *min,F32* max,Point3F* off,MatrixF* rot)
|
||||
{
|
||||
*min = mDataBlock->cameraMinDist;
|
||||
|
|
@ -2153,52 +2029,6 @@ bool ShapeBase::useObjsEyePoint() const
|
|||
return mDataBlock->useEyePoint;
|
||||
}
|
||||
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
F32 ShapeBase::getInvincibleEffect() const
|
||||
{
|
||||
return mInvincibleEffect;
|
||||
}
|
||||
|
||||
void ShapeBase::setupInvincibleEffect(F32 time, F32 speed)
|
||||
{
|
||||
if(isClientObject())
|
||||
{
|
||||
mInvincibleCount = mInvincibleTime = time;
|
||||
mInvincibleSpeed = mInvincibleDelta = speed;
|
||||
mInvincibleEffect = 0.0f;
|
||||
mInvincibleOn = true;
|
||||
mInvincibleFade = 1.0f;
|
||||
}
|
||||
else
|
||||
{
|
||||
mInvincibleTime = time;
|
||||
mInvincibleSpeed = speed;
|
||||
setMaskBits(InvincibleMask);
|
||||
}
|
||||
}
|
||||
|
||||
void ShapeBase::updateInvincibleEffect(F32 dt)
|
||||
{
|
||||
if(mInvincibleCount > 0.0f )
|
||||
{
|
||||
if(mInvincibleEffect >= ((0.3 * mInvincibleFade) + 0.05f) && mInvincibleDelta > 0.0f)
|
||||
mInvincibleDelta = -mInvincibleSpeed;
|
||||
else if(mInvincibleEffect <= 0.05f && mInvincibleDelta < 0.0f)
|
||||
{
|
||||
mInvincibleDelta = mInvincibleSpeed;
|
||||
mInvincibleFade = mInvincibleCount / mInvincibleTime;
|
||||
}
|
||||
mInvincibleEffect += mInvincibleDelta;
|
||||
mInvincibleCount -= dt;
|
||||
}
|
||||
else
|
||||
{
|
||||
mInvincibleEffect = 0.0f;
|
||||
mInvincibleOn = false;
|
||||
}
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
void ShapeBase::setVelocity(const VectorF&)
|
||||
{
|
||||
|
|
@ -3102,8 +2932,7 @@ U32 ShapeBase::packUpdate(NetConnection *con, U32 mask, BitStream *stream)
|
|||
}
|
||||
|
||||
if(!stream->writeFlag(mask & (NameMask | DamageMask | SoundMask | MeshHiddenMask |
|
||||
ThreadMask | ImageMask | CloakMask | InvincibleMask |
|
||||
ShieldMask | SkinMask)))
|
||||
ThreadMask | ImageMask | CloakMask | SkinMask)))
|
||||
return retMask;
|
||||
|
||||
if (stream->writeFlag(mask & DamageMask)) {
|
||||
|
|
@ -3173,7 +3002,7 @@ U32 ShapeBase::packUpdate(NetConnection *con, U32 mask, BitStream *stream)
|
|||
}
|
||||
|
||||
// Group some of the uncommon stuff together.
|
||||
if (stream->writeFlag(mask & (NameMask | ShieldMask | CloakMask | InvincibleMask | SkinMask | MeshHiddenMask ))) {
|
||||
if (stream->writeFlag(mask & (NameMask | CloakMask | SkinMask | MeshHiddenMask ))) {
|
||||
|
||||
if (stream->writeFlag(mask & CloakMask))
|
||||
{
|
||||
|
|
@ -3194,14 +3023,6 @@ U32 ShapeBase::packUpdate(NetConnection *con, U32 mask, BitStream *stream)
|
|||
if (stream->writeFlag(mask & NameMask)) {
|
||||
con->packNetStringHandleU(stream, mShapeNameHandle);
|
||||
}
|
||||
if (stream->writeFlag(mask & ShieldMask)) {
|
||||
stream->writeNormalVector(mShieldNormal, ShieldNormalBits);
|
||||
stream->writeFloat( getEnergyValue(), EnergyLevelBits );
|
||||
}
|
||||
if (stream->writeFlag(mask & InvincibleMask)) {
|
||||
stream->write(mInvincibleTime);
|
||||
stream->write(mInvincibleSpeed);
|
||||
}
|
||||
|
||||
if ( stream->writeFlag( mask & MeshHiddenMask ) )
|
||||
stream->writeBits( mMeshHidden );
|
||||
|
|
@ -3443,25 +3264,6 @@ void ShapeBase::unpackUpdate(NetConnection *con, BitStream *stream)
|
|||
if (stream->readFlag()) { // NameMask
|
||||
mShapeNameHandle = con->unpackNetStringHandleU(stream);
|
||||
}
|
||||
if(stream->readFlag()) // ShieldMask
|
||||
{
|
||||
// Cloaking, Shield, and invul masking
|
||||
Point3F shieldNormal;
|
||||
stream->readNormalVector(&shieldNormal, ShieldNormalBits);
|
||||
|
||||
// CodeReview [bjg 4/6/07] This is our energy level - why aren't we storing it? Was in a
|
||||
// local variable called energyPercent.
|
||||
stream->readFloat(EnergyLevelBits);
|
||||
}
|
||||
|
||||
if (stream->readFlag())
|
||||
{
|
||||
// InvincibleMask
|
||||
F32 time, speed;
|
||||
stream->read(&time);
|
||||
stream->read(&speed);
|
||||
setupInvincibleEffect(time, speed);
|
||||
}
|
||||
|
||||
if ( stream->readFlag() ) // MeshHiddenMask
|
||||
{
|
||||
|
|
@ -4826,18 +4628,6 @@ DefineEngineMethod( ShapeBase, setCameraFov, void, ( F32 fov ),,
|
|||
object->setCameraFov( fov );
|
||||
}
|
||||
|
||||
DefineEngineMethod( ShapeBase, setInvincibleMode, void, ( F32 time, F32 speed ),,
|
||||
"@brief Setup the invincible effect.\n\n"
|
||||
|
||||
"This effect is used for HUD feedback to the user that they are invincible.\n"
|
||||
"@note Currently not implemented\n"
|
||||
|
||||
"@param time duration in seconds for the invincible effect\n"
|
||||
"@param speed speed at which the invincible effect progresses\n" )
|
||||
{
|
||||
object->setupInvincibleEffect( time, speed );
|
||||
}
|
||||
|
||||
DefineEngineMethod( ShapeBase, startFade, void, ( S32 time, S32 delay, bool fadeOut ),,
|
||||
"@brief Fade the object in or out without removing it from the scene.\n\n"
|
||||
|
||||
|
|
|
|||
|
|
@ -689,7 +689,6 @@ public:
|
|||
MaxMountedImages = 4, ///< Should be a power of 2
|
||||
MaxImageEmitters = 3,
|
||||
NumImageBits = 3,
|
||||
ShieldNormalBits = 8,
|
||||
CollisionTimeoutValue = 250 ///< Timeout in ms.
|
||||
};
|
||||
|
||||
|
|
@ -743,17 +742,6 @@ protected:
|
|||
|
||||
/// @}
|
||||
|
||||
/// @name Invincibility
|
||||
/// @{
|
||||
F32 mInvincibleCount;
|
||||
F32 mInvincibleTime;
|
||||
F32 mInvincibleSpeed;
|
||||
F32 mInvincibleDelta;
|
||||
F32 mInvincibleEffect;
|
||||
F32 mInvincibleFade;
|
||||
bool mInvincibleOn;
|
||||
/// @}
|
||||
|
||||
/// @name Motion
|
||||
/// @{
|
||||
bool mMoveMotion; ///< Indicates that a Move has come in requesting x, y or z motion
|
||||
|
|
@ -918,9 +906,6 @@ protected:
|
|||
|
||||
bool mFlipFadeVal;
|
||||
|
||||
/// Last shield direction (cur. unused)
|
||||
Point3F mShieldNormal;
|
||||
|
||||
/// Camera shake caused by weapon fire.
|
||||
CameraShake *mWeaponCamShake;
|
||||
|
||||
|
|
@ -1156,11 +1141,9 @@ public:
|
|||
DamageMask = Parent::NextFreeMask << 1,
|
||||
NoWarpMask = Parent::NextFreeMask << 2,
|
||||
CloakMask = Parent::NextFreeMask << 3,
|
||||
ShieldMask = Parent::NextFreeMask << 4,
|
||||
InvincibleMask = Parent::NextFreeMask << 5,
|
||||
SkinMask = Parent::NextFreeMask << 6,
|
||||
MeshHiddenMask = Parent::NextFreeMask << 7,
|
||||
SoundMaskN = Parent::NextFreeMask << 8, ///< Extends + MaxSoundThreads bits
|
||||
SkinMask = Parent::NextFreeMask << 4,
|
||||
MeshHiddenMask = Parent::NextFreeMask << 5,
|
||||
SoundMaskN = Parent::NextFreeMask << 6, ///< Extends + MaxSoundThreads bits
|
||||
ThreadMaskN = SoundMaskN << MaxSoundThreads, ///< Extends + MaxScriptThreads bits
|
||||
ImageMaskN = ThreadMaskN << MaxScriptThreads, ///< Extends + MaxMountedImage bits
|
||||
NextFreeMask = ImageMaskN << MaxMountedImages
|
||||
|
|
@ -1702,26 +1685,6 @@ public:
|
|||
virtual void setWhiteOut(const F32);
|
||||
/// @}
|
||||
|
||||
/// @name Invincibility effect
|
||||
/// This is the screen effect when invincible in the HUD
|
||||
/// @see GameRenderFilters()
|
||||
/// @{
|
||||
|
||||
/// Returns the level of invincibility effect
|
||||
virtual F32 getInvincibleEffect() const;
|
||||
|
||||
/// Initializes invincibility effect and interpolation parameters
|
||||
///
|
||||
/// @param time Time it takes to become invincible
|
||||
/// @param speed Speed at which invincibility effects progress
|
||||
virtual void setupInvincibleEffect(F32 time, F32 speed);
|
||||
|
||||
/// Advance invincibility effect animation
|
||||
/// @param dt Time since last call of this function
|
||||
virtual void updateInvincibleEffect(F32 dt);
|
||||
|
||||
/// @}
|
||||
|
||||
/// @name Movement & velocity
|
||||
/// @{
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue