Changeset 3683 in orxonox.OLD for orxonox/trunk/src
- Timestamp:
- Mar 30, 2005, 9:37:52 PM (20 years ago)
- Location:
- orxonox/trunk/src
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
orxonox/trunk/src/defs/debug.h
r3672 r3683 63 63 #define DEBUG_MODULE_COMMAND_NODE 0 64 64 #define DEBUG_MODULE_GRAPHICS 0 65 #define DEBUG_MODULE_LOAD 465 #define DEBUG_MODULE_LOAD 1 66 66 67 67 #define DEBUG_MODULE_IMPORTER 0 -
orxonox/trunk/src/lib/coord/p_node.cc
r3675 r3683 258 258 259 259 /** 260 \brief shift coordinate (abs and rel) 261 \param shift vector 262 263 this function shifts the current coordinates about the vector shift. this is 264 usefull because from some place else you can: 265 PNode* someNode = ...; 266 Vector objectMovement = calculateShift(); 267 someNode->shiftCoor(objectMovement); 268 269 elsewhere you would have to: 270 PNode* someNode = ...; 271 Vector objectMovement = calculateShift(); 272 Vector currentCoor = someNode->getRelCoor(); 273 Vector newCoor = currentCoor + objectMovement; 274 someNode->setRelCoor(newCoor); 275 276 yea right... shorter... 277 278 */ 279 void PNode::shiftCoor (Vector shift) 280 { 281 if( this->bAbsCoorChanged) 282 { 283 *this->absCoordinate = *this->absCoordinate + shift; 284 } 285 else 286 { 287 *this->relCoordinate = *this->relCoordinate + shift; 288 this->bRelCoorChanged = true; 289 } 290 } 291 292 293 294 /** 260 295 \brief get relative direction 261 296 \returns relative direction to its parent … … 353 388 */ 354 389 void PNode::shiftDir (Quaternion* shift) 390 {} 391 392 393 /** 394 \brief shift coordinate (abs and rel) 395 \param shift vector 396 397 this function shifts the current coordinates about the vector shift. this is 398 usefull because from some place else you can: 399 PNode* someNode = ...; 400 Quaternion objectMovement = calculateShift(); 401 someNode->shiftCoor(objectMovement); 402 403 elsewhere you would have to: 404 PNode* someNode = ...; 405 Quaternion objectMovement = calculateShift(); 406 Quaternion currentCoor = someNode->getRelCoor(); 407 Quaternion newCoor = currentCoor + objectMovement; 408 someNode->setRelCoor(newCoor); 409 410 yea right... shorter... 411 412 \todo implement this 413 */ 414 void PNode::shiftDir (Quaternion shift) 355 415 {} 356 416 -
orxonox/trunk/src/lib/coord/p_node.h
r3675 r3683 64 64 void setAbsCoor (Vector absCoord); 65 65 void shiftCoor (Vector* shift); 66 void shiftCoor (Vector shift); 66 67 //void shiftCoor (Vector shift); 67 68 … … 73 74 void setAbsDir (Quaternion absDir); 74 75 void shiftDir (Quaternion* shift); 76 void shiftDir (Quaternion shift); 75 77 76 78 float getSpeed(); -
orxonox/trunk/src/world_entities/player.cc
r3675 r3683 52 52 acceleration = 10.0; 53 53 //weapons: 54 Weapon* wp = new TestGun(this, new Vector(), new Quaternion );54 Weapon* wp = new TestGun(this, new Vector(), new Quaternion()); 55 55 this->weapons->add(wp); 56 56 this->activeWeapon = wp; -
orxonox/trunk/src/world_entities/projectile.cc
r3678 r3683 20 20 21 21 #include "world_entity.h" 22 #include "weapon.h" 22 23 #include "null_parent.h" 23 24 #include "model.h" … … 30 31 \brief standard constructor 31 32 */ 32 Projectile::Projectile ( ) : WorldEntity()33 Projectile::Projectile (Weapon* weapon) : WorldEntity() 33 34 { 34 35 this->model = (Model*)ResourceManager::getInstance()->load("sphere", PRIM, RP_LEVEL); 36 this->weapon = weapon; 35 37 this->flightDirection = NULL; 36 38 this->currentLifeTime = 0.0f; … … 66 68 Vector v(1, 0, 0); 67 69 *this->flightDirection = flightDirection->apply(v); 70 this->flightDirection->normalize(); 68 71 } 69 72 … … 86 89 void Projectile::setSpeed(float speed) 87 90 { 88 this->speed = speed ;91 this->speed = speed * 5; 89 92 printf("Projectile::setting speed to: %f\n", this->speed); 90 93 } … … 96 99 void Projectile::tick (float time) 97 100 { 101 this->speed = this->weapon->getSpeed() * 5; 102 this->shiftCoor(*this->flightDirection * this->speed * time); 103 printf("current speed is: %f\n", this->speed); 104 98 105 this->currentLifeTime += time; 99 if( this->ttl < this->currentLifeTime) 100 { 101 *this->flightDirection = *this->flightDirection * this->speed * time; 102 this->shiftCoor(this->flightDirection); 103 this->flightDirection->debug(); 104 return; 105 } 106 this->finalize(); 107 //NullParent* np = NullParent::getInstance(); 108 /* garbage colelction */ 109 // \fix: there is no gc in this class, its all been done by GarbageCollector 106 if( this->ttl > this->currentLifeTime) 107 this->finalize(); 110 108 } 111 109 -
orxonox/trunk/src/world_entities/projectile.h
r3676 r3683 10 10 11 11 class Vector; 12 class Weapon; 12 13 13 14 class Projectile : public WorldEntity … … 16 17 17 18 public: 18 Projectile ( );19 Projectile (Weapon* weapon); 19 20 virtual ~Projectile (); 20 21 … … 35 36 float ttl; //!< time to life, after this time, the projectile will garbage collect itself 36 37 Vector* flightDirection; //!< direction in which the shoot flights 38 Weapon* weapon; //!< weapon the shoot belongs to 37 39 38 40 }; -
orxonox/trunk/src/world_entities/test_gun.cc
r3677 r3683 41 41 TestGun::TestGun (PNode* parent, Vector* coordinate, Quaternion* direction) 42 42 : Weapon (parent, coordinate, direction) 43 {} 43 { 44 } 44 45 45 46 … … 83 84 { 84 85 //printf("TestGun::fire() - firing weapon now ---------------------------\n"); 85 Projectile* pj = new Projectile( );86 Projectile* pj = new Projectile(this); 86 87 87 88 Vector* v = new Vector(); … … 93 94 94 95 pj->setFlightDirection(q); 95 //pj->setSpeed(this->getSpeed() * 0.025);96 pj->setSpeed(this->getSpeed()); 96 97 97 98
Note: See TracChangeset
for help on using the changeset viewer.