Changeset 5765 in orxonox.OLD for branches/guidedmissile/src/world_entities
- Timestamp:
- Nov 24, 2005, 5:24:39 PM (19 years ago)
- Location:
- branches/guidedmissile/src/world_entities/weapons
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/guidedmissile/src/world_entities/weapons/aiming_turret.cc
r5764 r5765 84 84 animation2->setInfinity(ANIM_INF_CONSTANT); 85 85 86 this->setStateDuration(WS_SHOOTING, .1);87 this->setStateDuration(WS_RELOADING, .1);86 this->setStateDuration(WS_SHOOTING, 1.0); 87 this->setStateDuration(WS_RELOADING, 2.0); 88 88 this->setStateDuration(WS_ACTIVATING, .4); 89 89 this->setStateDuration(WS_DEACTIVATING, .4); … … 127 127 direction.normalize(); 128 128 129 if (likely (this->getParent() != NULL))130 quat = Quaternion(direction, this->getParent()->getAbsDir().apply(Vector(0,1,0))) * Quaternion ( -M_PI_2, Vector(0,1,0)) ;131 else132 quat = Quaternion(direction, Vector(0,1,0)) * Quaternion ( -M_PI_2, Vector(0,1,0)) ;129 // if (likely (this->getParent() != NULL)) 130 // quat = Quaternion(direction, this->getParent()->getAbsDir().apply(Vector(0,1,0))) * Quaternion ( -M_PI_2, Vector(0,1,0)) ; 131 // else 132 // quat = Quaternion(direction, Vector(0,1,0)) * Quaternion ( -M_PI_2, Vector(0,1,0)) ; 133 133 134 this->setAbsDirSoft(quat, 5); 134 quat = Quaternion(.5, Vector(0,0,1)); 135 136 this->setRelDir(quat); 135 137 136 138 this->target->tick(dt); … … 143 145 return; 144 146 145 pj->setVelocity( /*this->getVelocity()+*/(this->getAbsDir().apply(Vector(1,0,0))*250.0 + VECTOR_RAND(13)147 pj->setVelocity(this->getVelocity()+(this->getAbsDir().apply(Vector(1,0,0))*50.0 + VECTOR_RAND(13) 146 148 /*target->getAbsCoor() - this->getAbsCoor()*/)*.5);//this->getVelocity()); 147 149 pj->setTarget(this->target->getParent()); -
branches/guidedmissile/src/world_entities/weapons/guided_missile.cc
r5764 r5765 29 29 #include "particle_system.h" 30 30 31 32 #include "null_parent.h" 31 33 32 34 using namespace std; … … 49 51 this->lifeSpan = 5; 50 52 this->agility = 5; 53 this->maxVelocity = 100; 51 54 52 55 this->emitter = new ParticleEmitter(Vector(0,1,0), M_2_PI, 100, 5); … … 150 153 { 151 154 //Vector v = *this->flightDirection * ( this->speed * time * 1000 + 0.1); 152 float speed = velocity.len(); 153 if (target != NULL) 155 if (target != NULL && target->getParent() != NullParent::getInstance()) 154 156 { 155 157 velocity += ((target->getAbsCoor() - this->getAbsCoor()).getNormalized())*agility; 156 velocity *= speed/velocity.len(); 158 float speed = velocity.len(); 159 if (speed > this->maxVelocity) 160 velocity *= maxVelocity/speed; 161 162 this->setAbsDir(Quaternion(velocity, Vector(0,1,0)) * Quaternion ( -M_PI_2, Vector(0,1,0))); 157 163 } 158 164 Vector v = this->velocity * (time); … … 172 178 /** 173 179 * the function gets called, when the projectile is destroyed 174 */180 */ 175 181 void GuidedMissile::destroy () 176 182 { … … 200 206 201 207 glPopMatrix(); 202 } 203 208 209 } 210 -
branches/guidedmissile/src/world_entities/weapons/guided_missile.h
r5764 r5765 40 40 ParticleEmitter* emitter; 41 41 float agility; 42 float maxVelocity; 42 43 43 44 WorldEntity* hitEntity; // FIXME TEMPORARY
Note: See TracChangeset
for help on using the changeset viewer.