From 8d905582799976f5ea6e15e180e7cce1141d5b20 Mon Sep 17 00:00:00 2001 From: Azaezel Date: Mon, 7 Apr 2014 16:11:32 -0500 Subject: [PATCH] removes non-functional shield and invincibility functionality. --- Engine/source/T3D/shapeBase.cpp | 214 +------------------------------- Engine/source/T3D/shapeBase.h | 43 +------ 2 files changed, 5 insertions(+), 252 deletions(-) diff --git a/Engine/source/T3D/shapeBase.cpp b/Engine/source/T3D/shapeBase.cpp index 571b3c163..03c6b09d6 100644 --- a/Engine/source/T3D/shapeBase.cpp +++ b/Engine/source/T3D/shapeBase.cpp @@ -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" diff --git a/Engine/source/T3D/shapeBase.h b/Engine/source/T3D/shapeBase.h index 2987163df..0bb54faf4 100644 --- a/Engine/source/T3D/shapeBase.h +++ b/Engine/source/T3D/shapeBase.h @@ -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 /// @{