|
From: julien r. <jul...@us...> - 2004-12-10 19:57:37
|
Update of /cvsroot/epfl/tggame In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26062 Modified Files: aicontroller.cc aicontroller.h controller.cc controller.h game.cc playercontroller.cc playercontroller.h rocketlauncher.cc rocketlauncher.h weapon.cc weapon.h Added Files: railgun.cc railgun.h Log Message: railgun --- NEW FILE: railgun.h --- #ifndef _TGRAILGUN_H #define _TGRAILGUN_H #include "weapon.h" #include <beamemitter.h> class RailGun : public Weapon { public: RailGun (Controller* owner, bool bFirstPerson); ~RailGun (); void Fire (const Vector3& vPosition, const Vector3& vTarget, Pawn* p); void AltFire (const Vector3& vPosition, const Vector3& vTarget, Pawn* p); void Think (float eTime); }; #endif Index: rocketlauncher.cc =================================================================== RCS file: /cvsroot/epfl/tggame/rocketlauncher.cc,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** rocketlauncher.cc 6 Dec 2004 19:13:06 -0000 1.7 --- rocketlauncher.cc 10 Dec 2004 19:57:26 -0000 1.8 *************** *** 2,9 **** #include "game.h" ! RocketLauncher::RocketLauncher() : Weapon () { fFireRate = 0.1f; fCoolDown = fFireRate; } --- 2,16 ---- #include "game.h" ! RocketLauncher::RocketLauncher(Controller* owner, bool bFirstPerson) : Weapon (owner) { fFireRate = 0.1f; fCoolDown = fFireRate; + pModel = Engine::pMeshManager->LoadInstance("machinegun"); + pModel->SetAnimation("idle"); + pModel->bCamera = bFirstPerson; + pModel->SetRotation(Quaternion(90, Vector3(0,1,0))); + pModel->SetPosition(Vector3(5,0,-9)); + Game::pSelf->GetSceneManager()->AddWorldObject(pModel); + } Index: controller.cc =================================================================== RCS file: /cvsroot/epfl/tggame/controller.cc,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** controller.cc 30 Nov 2004 18:22:00 -0000 1.14 --- controller.cc 10 Dec 2004 19:57:26 -0000 1.15 *************** *** 1,3 **** --- 1,10 ---- #include "controller.h" + int Controller::FORWARD = 3; + int Controller::BACKWARD = 2; + int Controller::STRAFELEFT = 0; + int Controller::STRAFERIGHT = 1; + int Controller::JUMP = 4; + int Controller::CROUCH = 5; + Index: game.cc =================================================================== RCS file: /cvsroot/epfl/tggame/game.cc,v retrieving revision 1.43 retrieving revision 1.44 diff -C2 -d -r1.43 -r1.44 *** game.cc 5 Dec 2004 14:29:55 -0000 1.43 --- game.cc 10 Dec 2004 19:57:26 -0000 1.44 *************** *** 143,149 **** p = new Pawn("guardian"); ! p->SetAnimation("death"); this->AddPawn(p); ! p->SetPosition(pWorld->GetStartPosition(0)); p->SetBB(Vector3(-50, 0, -50), Vector3(50, 200, 50)); --- 143,150 ---- p = new Pawn("guardian"); ! p->SetAnimation("buggy"); this->AddPawn(p); ! //p->SetPosition(pWorld->GetStartPosition(0)); ! p->SetPosition(Vector3(0,0,0)); p->SetBB(Vector3(-50, 0, -50), Vector3(50, 200, 50)); Index: rocketlauncher.h =================================================================== RCS file: /cvsroot/epfl/tggame/rocketlauncher.h,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** rocketlauncher.h 5 Dec 2004 14:29:55 -0000 1.4 --- rocketlauncher.h 10 Dec 2004 19:57:26 -0000 1.5 *************** *** 8,12 **** { public: ! RocketLauncher (); ~RocketLauncher (); --- 8,12 ---- { public: ! RocketLauncher (Controller* owner, bool bFirstPerson); ~RocketLauncher (); Index: aicontroller.h =================================================================== RCS file: /cvsroot/epfl/tggame/aicontroller.h,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** aicontroller.h 3 Dec 2004 19:49:55 -0000 1.14 --- aicontroller.h 10 Dec 2004 19:57:26 -0000 1.15 *************** *** 7,16 **** class AIController : public Controller { - static int FORWARD; - static int BACKWARD; - static int STRAFELEFT; - static int STRAFERIGHT; - static int JUMP; - static int CROUCH; DebugSphere* pSphere; --- 7,10 ---- Index: controller.h =================================================================== RCS file: /cvsroot/epfl/tggame/controller.h,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** controller.h 30 Nov 2004 18:22:00 -0000 1.13 --- controller.h 10 Dec 2004 19:57:26 -0000 1.14 *************** *** 9,16 **** --- 9,22 ---- #include "actor.h" + /** * Controller : une classe abstraite qui permet de controller un joueur * * Classe parente des robots et joueurs humains */ + + class RocketLauncher; + class RailGun; + class Weapon; + class Controller : public Actor, public PhysicCallBack { *************** *** 41,44 **** --- 47,64 ---- Vector3 vViewOffset; Vector3 vLastVel; + + + static int FORWARD; + static int BACKWARD; + static int STRAFELEFT; + static int STRAFERIGHT; + static int JUMP; + static int CROUCH; + + RocketLauncher* pRocketLauncher; + Weapon* pWeapon; + RailGun* pRailGun; + bool bFire; + bool bAltFire; //pour les mouvements //int iForward; Index: playercontroller.h =================================================================== RCS file: /cvsroot/epfl/tggame/playercontroller.h,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** playercontroller.h 2 Dec 2004 00:18:54 -0000 1.14 --- playercontroller.h 10 Dec 2004 19:57:26 -0000 1.15 *************** *** 16,30 **** }; - static int FORWARD; - static int BACKWARD; - static int STRAFELEFT; - static int STRAFERIGHT; - static int JUMP; - static int CROUCH; - - RocketLauncher* pRocketLauncher; - Weapon* pWeapon; - bool bFire; - bool bAltFire; DebugSphere* pSphere; public: --- 16,19 ---- Index: playercontroller.cc =================================================================== RCS file: /cvsroot/epfl/tggame/playercontroller.cc,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** playercontroller.cc 5 Dec 2004 14:29:55 -0000 1.25 --- playercontroller.cc 10 Dec 2004 19:57:26 -0000 1.26 *************** *** 2,14 **** #include <soundmanager.h> #include "game.h" using namespace tg; - int PlayerController::FORWARD = 0; - int PlayerController::BACKWARD = 1; - int PlayerController::STRAFELEFT = 2; - int PlayerController::STRAFERIGHT = 3; - int PlayerController::JUMP = 4; - int PlayerController::CROUCH = 5; PlayerController::PlayerController(Pawn* p) : Controller (p) --- 2,10 ---- #include <soundmanager.h> #include "game.h" + #include "railgun.h" + #include "rocketlauncher.h" using namespace tg; PlayerController::PlayerController(Pawn* p) : Controller (p) *************** *** 18,22 **** pSphere = new DebugSphere (); Game::pSelf->GetSceneManager()->AddDebugSphere(pSphere); ! pRocketLauncher = new RocketLauncher(); pWeapon = pRocketLauncher; bFire = false; --- 14,20 ---- pSphere = new DebugSphere (); Game::pSelf->GetSceneManager()->AddDebugSphere(pSphere); ! pRocketLauncher = new RocketLauncher(this, true); ! pRailGun = new RailGun(this, true); ! pRailGun->Hide(); pWeapon = pRocketLauncher; bFire = false; *************** *** 127,148 **** case TGKEY_w: //iForward += 1; ! bDir[FORWARD] = true; SoundManager::pSoundManager->PlaySound("step"); break; case TGKEY_s: //iForward -= 1; ! bDir[BACKWARD] = true; SoundManager::pSoundManager->PlaySound("step"); break; case TGKEY_a: //iStrafe -= 1; ! bDir[STRAFELEFT] = true; SoundManager::pSoundManager->PlaySound("step"); break; case TGKEY_d: //iStrafe += 1; ! bDir[STRAFERIGHT] = true; SoundManager::pSoundManager->PlaySound("step"); break; case TGKEY_SPACE: bDir[JUMP] = true; --- 125,159 ---- case TGKEY_w: //iForward += 1; ! bDir[STRAFELEFT] = true; SoundManager::pSoundManager->PlaySound("step"); break; case TGKEY_s: //iForward -= 1; ! bDir[STRAFERIGHT] = true; SoundManager::pSoundManager->PlaySound("step"); break; case TGKEY_a: //iStrafe -= 1; ! bDir[BACKWARD] = true; SoundManager::pSoundManager->PlaySound("step"); break; case TGKEY_d: //iStrafe += 1; ! bDir[FORWARD] = true; SoundManager::pSoundManager->PlaySound("step"); break; + case TGKEY_v: + pWeapon->Hide (); + pRailGun->UnHide (); + pWeapon = pRailGun; + break; + + case TGKEY_r: + pWeapon->Hide (); + pRocketLauncher->UnHide (); + pWeapon = pRocketLauncher; + break; + + case TGKEY_SPACE: bDir[JUMP] = true; *************** *** 162,181 **** { case TGKEY_w: ! bDir[FORWARD] = false; SoundManager::pSoundManager->StopSound("step"); break; case TGKEY_s: //iForward = 0; ! bDir[BACKWARD] = false; SoundManager::pSoundManager->StopSound("step"); break; case TGKEY_a: ! bDir[STRAFELEFT] = false; SoundManager::pSoundManager->StopSound("step"); break; case TGKEY_d: //iStrafe = 0; ! bDir[STRAFERIGHT] = false; SoundManager::pSoundManager->StopSound("step"); break; --- 173,192 ---- { case TGKEY_w: ! bDir[STRAFELEFT] = false; SoundManager::pSoundManager->StopSound("step"); break; case TGKEY_s: //iForward = 0; ! bDir[STRAFERIGHT] = false; SoundManager::pSoundManager->StopSound("step"); break; case TGKEY_a: ! bDir[BACKWARD] = false; SoundManager::pSoundManager->StopSound("step"); break; case TGKEY_d: //iStrafe = 0; ! bDir[FORWARD] = false; SoundManager::pSoundManager->StopSound("step"); break; --- NEW FILE: railgun.cc --- #include "railgun.h" #include "controller.h" #include "game.h" RailGun::RailGun(Controller* owner, bool bFirstPerson) : Weapon (owner) { pModel = Engine::pMeshManager->LoadInstance("machinegun"); pModel->SetAnimation("idle"); pModel->bCamera = bFirstPerson; pModel->SetRotation(Quaternion(90, Vector3(0,1,0))); pModel->SetPosition(Vector3(5,0,-4)); Game::pSelf->GetSceneManager()->AddWorldObject(pModel); fFireRate = 1.0f; } RailGun::~RailGun() { } void RailGun::Fire(const Vector3& vPosition, const Vector3& vTarget, Pawn* p) { if(fCoolDown > 0.0f) return; fCoolDown = fFireRate; CollisionResult col = Game::pSelf->Trace(vPosition+vTarget.Normalize()*20, vPosition+vTarget, pOwner->GetPawn()); BeamEmitter* myBeam = new BeamEmitter(1,vPosition, col.EndPoint, Engine::pTextureManager->LoadTexture("data/textures/railgun/beam.jpg", TG_TEXTURE_2D), 1.0f); Game::pSelf->GetSceneManager()->AddTimedBeamEmitter(myBeam, 0.5f); } void RailGun::AltFire (const Vector3& vPosition, const Vector3& vTarget, Pawn* p) { } Index: weapon.cc =================================================================== RCS file: /cvsroot/epfl/tggame/weapon.cc,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** weapon.cc 30 Nov 2004 18:22:01 -0000 1.6 --- weapon.cc 10 Dec 2004 19:57:26 -0000 1.7 *************** *** 3,14 **** #include <soundmanager.h> ! Weapon::Weapon () { ! pModel = Engine::pMeshManager->LoadInstance("machinegun"); ! pModel->SetAnimation("idle"); ! pModel->bCamera = true; ! pModel->SetRotation(Quaternion(90, Vector3(0,0,1))); ! pModel->SetPosition(Vector3(5,0,-5)); ! Game::pSelf->GetSceneManager()->AddWorldObject(pModel); } --- 3,9 ---- #include <soundmanager.h> ! Weapon::Weapon (Controller* owner) { ! pOwner = owner; } *************** *** 19,22 **** --- 14,28 ---- } + void Weapon::Hide () + { + pModel->SetRender(false); + } + + void Weapon::UnHide () + { + pModel->SetRender(true); + } + + void Weapon::Think (float eTime) { Index: weapon.h =================================================================== RCS file: /cvsroot/epfl/tggame/weapon.h,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** weapon.h 30 Nov 2004 18:22:01 -0000 1.5 --- weapon.h 10 Dec 2004 19:57:26 -0000 1.6 *************** *** 13,17 **** { public: ! Weapon (); virtual ~Weapon (); --- 13,17 ---- { public: ! Weapon (Controller* owner); virtual ~Weapon (); *************** *** 19,22 **** --- 19,25 ---- virtual void AltFire (const Vector3& vPosition, const Vector3& vTarget, Pawn* p) = 0; void Think (float eTime); + + void Hide (); + void UnHide (); void Animation(std::string name); *************** *** 32,35 **** --- 35,41 ---- float fCoolDown; float fFireRate; + + Controller* pOwner; + }; Index: aicontroller.cc =================================================================== RCS file: /cvsroot/epfl/tggame/aicontroller.cc,v retrieving revision 1.24 retrieving revision 1.25 diff -C2 -d -r1.24 -r1.25 *** aicontroller.cc 8 Dec 2004 14:01:58 -0000 1.24 --- aicontroller.cc 10 Dec 2004 19:57:25 -0000 1.25 *************** *** 20,29 **** int iYOffset=0; - int AIController::FORWARD = 3; - int AIController::BACKWARD = 2; - int AIController::STRAFELEFT = 0; - int AIController::STRAFERIGHT = 1; - int AIController::JUMP = 4; - int AIController::CROUCH = 5; AIController::AIController(Pawn* p) : Controller(p) --- 20,23 ---- |