[Opentnl-cvs] tnl/zap UIGame.cpp,1.45,1.46 barrier.h,1.4,1.5 engineeredObjects.h,1.13,1.14 gameWeapo
Brought to you by:
mark_frohnmayer,
s_alanet
From: Mark F. <mar...@us...> - 2004-08-20 18:27:08
|
Update of /cvsroot/opentnl/tnl/zap In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27814/zap Modified Files: UIGame.cpp barrier.h engineeredObjects.h gameWeapons.cpp gameWeapons.h projectile.cpp projectile.h Log Message: Fixed BitStream::writeSignedFloat bug Fixed constructor issues with gameWeapons and ProjectileInfo in Zap Fixed build on MinGW with heapchk Made NetConnection::TerminationReason public Index: gameWeapons.h =================================================================== RCS file: /cvsroot/opentnl/tnl/zap/gameWeapons.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** gameWeapons.h 1 Jun 2004 22:37:41 -0000 1.3 --- gameWeapons.h 20 Aug 2004 18:26:58 -0000 1.4 *************** *** 54,57 **** --- 54,68 ---- struct ShipWeaponInfo { + ShipWeaponInfo(StringTableEntry _name, U32 _fireDelay, U32 _minEnergy, U32 _drainEnergy, U32 _projVelocity, U32 _projLiveTime, U32 _projectileType) + { + name = _name; + fireDelay = _fireDelay; + minEnergy = _minEnergy; + drainEnergy = _drainEnergy; + projVelocity = _projVelocity; + projLiveTime = _projLiveTime; + projectileType = _projectileType; + } + StringTableEntry name; // Display name of the weapon. U32 fireDelay; // Delay between shots. *************** *** 66,69 **** --- 77,119 ---- extern void createWeaponProjectiles(U32 weapon, Point &dir, Point &shooterPos, Point &shooterVel, F32 shooterRadius, GameObject *shooter); + enum { + NumSparkColors = 4, + }; + + enum ProjectileType + { + ProjectilePhaser, + ProjectileBounce, + ProjectileTriple, + ProjectileTurret, + ProjectileTypeCount, + }; + + struct ProjectileInfo + { + ProjectileInfo(F32 _damageAmount, Color _sparkColor1, Color _sparkColor2, Color _sparkColor3, Color _sparkColor4, Color _projColor1, Color _projColor2, F32 _scaleFactor, U32 _projectileSound, U32 _impactSound ) + { + damageAmount = _damageAmount; + sparkColors[0] = _sparkColor1; + sparkColors[1] = _sparkColor2; + sparkColors[2] = _sparkColor3; + sparkColors[3] = _sparkColor4; + projColors[0] = _projColor1; + projColors[1] = _projColor2; + scaleFactor = _scaleFactor; + projectileSound = _projectileSound; + impactSound = _impactSound; + } + + F32 damageAmount; + Color sparkColors[NumSparkColors]; + Color projColors[2]; + F32 scaleFactor; + U32 projectileSound; + U32 impactSound; + }; + + extern ProjectileInfo gProjInfo[ProjectileTypeCount]; + }; Index: UIGame.cpp =================================================================== RCS file: /cvsroot/opentnl/tnl/zap/UIGame.cpp,v retrieving revision 1.45 retrieving revision 1.46 diff -C2 -d -r1.45 -r1.46 *** UIGame.cpp 2 Aug 2004 18:11:53 -0000 1.45 --- UIGame.cpp 20 Aug 2004 18:26:58 -0000 1.46 *************** *** 52,57 **** mCurrentMode = PlayMode; mInScoreboardMode = false; mFPSVisible = false; ! mFrameIndex = 0; for(U32 i = 0; i < FPSAvgCount; i++) --- 52,60 ---- mCurrentMode = PlayMode; mInScoreboardMode = false; + #ifdef TNL_OS_XBOX + mFPSVisible = true; + #else mFPSVisible = false; ! #endif mFrameIndex = 0; for(U32 i = 0; i < FPSAvgCount; i++) *************** *** 146,150 **** for(U32 i = 0; i < FPSAvgCount; i++) sum += mIdleTimeDelta[i]; ! drawStringf(710, 10, 30, "%4.2f fps", (1000 * FPSAvgCount) / F32(sum)); } if(mCurrentMode == VChatMode) --- 149,156 ---- for(U32 i = 0; i < FPSAvgCount; i++) sum += mIdleTimeDelta[i]; ! drawStringf(canvasWidth - horizMargin - 170, vertMargin, 30, ! "%0.2g %0.2g %4.2f fps", mCurrentMove.right - mCurrentMove.left, ! mCurrentMove.down - mCurrentMove.up, ! (1000 * FPSAvgCount) / F32(sum)); } if(mCurrentMode == VChatMode) Index: projectile.cpp =================================================================== RCS file: /cvsroot/opentnl/tnl/zap/projectile.cpp,v retrieving revision 1.43 retrieving revision 1.44 diff -C2 -d -r1.43 -r1.44 *** projectile.cpp 1 Jul 2004 19:23:37 -0000 1.43 --- projectile.cpp 20 Aug 2004 18:26:58 -0000 1.44 *************** *** 25,28 **** --- 25,29 ---- //------------------------------------------------------------------------------------ + #include "gameWeapons.h" #include "projectile.h" #include "ship.h" *************** *** 31,35 **** #include "gameObject.h" #include "gameObjectRender.h" - #include "glutInclude.h" --- 32,35 ---- *************** *** 58,69 **** } - ProjectileInfo gProjInfo[Projectile::TypeCount] = { - { 0.21f, { Color(1,0,1), Color(1,1,1), Color(0,0,1), Color(1,0,0) }, { Color(1, 0, 0.5), Color(0.5, 0, 1) }, 1, SFXPhaserProjectile, SFXPhaserImpact }, - { 0.15f, { Color(1,1,0), Color(1,0,0), Color(1,0.5,0), Color(1,1,1) }, { Color(1, 1, 0), Color(1, 0, 0) }, 1.3, SFXBounceProjectile, SFXBounceImpact }, - { 0.14f, { Color(0,0,1), Color(0,1,0), Color(0,0.5,1), Color(0,1,0.5) }, { Color(0, 0.5, 1), Color(0, 1, 0.5) }, 0.7, SFXTripleProjectile, SFXTripleImpact }, - { 0.11f, { Color(0,1,1), Color(1,1,0), Color(0,1,0.5), Color(0.5,1,0) }, { Color(0.5, 1, 0), Color(0, 1, 0.5) }, 0.6, SFXTurretProjectile, SFXTurretImpact }, - }; - - U32 Projectile::packUpdate(GhostConnection *connection, U32 updateMask, BitStream *stream) { --- 58,61 ---- *************** *** 73,77 **** writeCompressedVelocity(velocity, CompressedVelocityMax, stream); ! stream->writeEnum(mType, TypeCount); S32 index = -1; --- 65,69 ---- writeCompressedVelocity(velocity, CompressedVelocityMax, stream); ! stream->writeEnum(mType, ProjectileTypeCount); S32 index = -1; *************** *** 95,99 **** readCompressedVelocity(velocity, CompressedVelocityMax, stream); ! mType = stream->readEnum(TypeCount); if(stream->readFlag()) --- 87,91 ---- readCompressedVelocity(velocity, CompressedVelocityMax, stream); ! mType = stream->readEnum(ProjectileTypeCount); if(stream->readFlag()) *************** *** 178,182 **** U32 typeMask = hitObject->getObjectTypeMask(); ! if(mType == Bounce && (typeMask & BarrierType)) bounce = true; else if(typeMask & ShipType) --- 170,174 ---- U32 typeMask = hitObject->getObjectTypeMask(); ! if(mType == ProjectileBounce && (typeMask & BarrierType)) bounce = true; else if(typeMask & ShipType) *************** *** 480,484 **** Color b(1,1,1); ! FXManager::emitExplosion(getRenderPos(), 0.5, gProjInfo[Projectile::Phaser].sparkColors, NumSparkColors); SFXObject::play(SFXMineExplode, getActualPos(), Point()); } --- 472,476 ---- Color b(1,1,1); ! FXManager::emitExplosion(getRenderPos(), 0.5, gProjInfo[ProjectilePhaser].sparkColors, NumSparkColors); SFXObject::play(SFXMineExplode, getActualPos(), Point()); } Index: barrier.h =================================================================== RCS file: /cvsroot/opentnl/tnl/zap/barrier.h,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** barrier.h 20 May 2004 20:16:08 -0000 1.4 --- barrier.h 20 Aug 2004 18:26:58 -0000 1.5 *************** *** 68,71 **** --- 68,74 ---- void render(U32 layer); + /// returns a sorting key for the object. Barriers should sort behind other objects + S32 getRenderSortValue() { return -1; } + /// returns the collision polygon of this barrier, which is the boundary extruded from the start,end line segment. bool getCollisionPoly(Vector<Point> &polyPoints); Index: engineeredObjects.h =================================================================== RCS file: /cvsroot/opentnl/tnl/zap/engineeredObjects.h,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** engineeredObjects.h 4 Aug 2004 18:25:27 -0000 1.13 --- engineeredObjects.h 20 Aug 2004 18:26:58 -0000 1.14 *************** *** 106,109 **** --- 106,110 ---- bool getCollisionPoly(Vector<Point> &polyPoints); void render(); + S32 getRenderSortValue() { return -1; } TNL_DECLARE_CLASS(ForceField); Index: gameWeapons.cpp =================================================================== RCS file: /cvsroot/opentnl/tnl/zap/gameWeapons.cpp,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** gameWeapons.cpp 10 Jun 2004 17:51:06 -0000 1.10 --- gameWeapons.cpp 20 Aug 2004 18:26:58 -0000 1.11 *************** *** 38,47 **** ShipWeaponInfo gWeapons[] = { ! {StringTableEntry("Phaser"), 100, 500, 500, 600, 1000, Projectile::Phaser }, ! {StringTableEntry("Bouncer"), 100, 1800, 1800, 540, 1500, Projectile::Bounce }, ! {StringTableEntry("Triple"), 200, 2100, 2100, 550, 850, Projectile::Triple }, ! {StringTableEntry("Burst"), 700, 5000, 5000, 500, 1000, 0 }, ! {StringTableEntry("Mine"), 900, 65000, 65000, 500, 1000, 0 }, ! {StringTableEntry("Turret"), 0, 0, 0, 800, 800, Projectile::Turret }, }; --- 38,54 ---- ShipWeaponInfo gWeapons[] = { ! ShipWeaponInfo(StringTableEntry("Phaser"), 100, 500, 500, 600, 1000, ProjectilePhaser ), ! ShipWeaponInfo(StringTableEntry("Bouncer"), 100, 1800, 1800, 540, 1500, ProjectileBounce ), ! ShipWeaponInfo(StringTableEntry("Triple"), 200, 2100, 2100, 550, 850, ProjectileTriple ), ! ShipWeaponInfo(StringTableEntry("Burst"), 700, 5000, 5000, 500, 1000, 0 ), ! ShipWeaponInfo(StringTableEntry("Mine"), 900, 65000, 65000, 500, 1000, 0 ), ! ShipWeaponInfo(StringTableEntry("Turret"), 0, 0, 0, 800, 800, ProjectileTurret ), ! }; ! ! ProjectileInfo gProjInfo[ProjectileTypeCount] = { ! ProjectileInfo( .21f, Color(1,0,1), Color(1,1,1), Color(0,0,1), Color(1,0,0), Color(1, 0, 0.5), Color(0.5, 0, 1), 1, SFXPhaserProjectile, SFXPhaserImpact ), ! ProjectileInfo( 0.15f,Color(1,1,0), Color(1,0,0), Color(1,0.5,0), Color(1,1,1), Color(1, 1, 0), Color(1, 0, 0), 1.3, SFXBounceProjectile, SFXBounceImpact ), ! ProjectileInfo( .14f, Color(0,0,1), Color(0,1,0), Color(0,0.5,1), Color(0,1,0.5), Color(0, 0.5, 1), Color(0, 1, 0.5), 0.7, SFXTripleProjectile, SFXTripleImpact ), ! ProjectileInfo( .11f, Color(0,1,1), Color(1,1,0), Color(0,1,0.5), Color(0.5,1,0), Color(0.5, 1, 0), Color(0, 1, 0.5), 0.6, SFXTurretProjectile, SFXTurretImpact ), }; Index: projectile.h =================================================================== RCS file: /cvsroot/opentnl/tnl/zap/projectile.h,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** projectile.h 1 Jul 2004 19:23:37 -0000 1.15 --- projectile.h 20 Aug 2004 18:26:58 -0000 1.16 *************** *** 31,35 **** #include "gameObject.h" #include "item.h" ! namespace Zap { --- 31,35 ---- #include "gameObject.h" #include "item.h" ! #include "gameWeapons.h" namespace Zap { *************** *** 46,58 **** }; - enum ProjectileType - { - Phaser, - Bounce, - Triple, - Turret, - TypeCount, - }; - Point pos; Point velocity; --- 46,49 ---- *************** *** 63,67 **** SafePtr<GameObject> mShooter; ! Projectile(U32 type = Phaser, Point pos = Point(), Point vel = Point(), U32 liveTime = 0, GameObject *shooter = NULL); U32 packUpdate(GhostConnection *connection, U32 updateMask, BitStream *stream); --- 54,58 ---- SafePtr<GameObject> mShooter; ! Projectile(U32 type = ProjectilePhaser, Point pos = Point(), Point vel = Point(), U32 liveTime = 0, GameObject *shooter = NULL); U32 packUpdate(GhostConnection *connection, U32 updateMask, BitStream *stream); *************** *** 80,100 **** }; - - enum { - NumSparkColors = 4, - }; - - struct ProjectileInfo - { - F32 damageAmount; - Color sparkColors[NumSparkColors]; - Color projColors[2]; - F32 scaleFactor; - U32 projectileSound; - U32 impactSound; - }; - - extern ProjectileInfo gProjInfo[Projectile::TypeCount]; - class GrenadeProjectile : public Item { --- 71,74 ---- |