Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Jan 7, 2007, 2:50:47 PM (18 years ago)
Author:
nicolasc
Message:

updated spikeball/spike combo; still need to turn a projectile into a spaceship
swarmmissile turns again, but flickers

Location:
branches/playability/src/world_entities/projectiles
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/playability/src/world_entities/projectiles/spike_ball.cc

    r10180 r10188  
    6060
    6161  this->angle = 0;
    62   this->rotationSpeed = 0;
     62  this->rotationSpeed = 130;
     63
     64  this->halo = new Billboard();
     65  this->halo->setSize(2, 2);
     66  this->halo->setTexture("hbolt_halo.png");
    6367/*
    64   this->halo = new Billboard();
    65   this->halo->setSize(.35, .35);
    66   this->halo->setTexture("hbolt_halo.png");*/
     68//   this->weaponMan = new WeaponManager(dynamic_cast<WorldEntity*>(this));
     69  this->weaponMan.setParentEntity(this);
     70
     71  Weapon* cannon = new SpikeLauncher();
     72  cannon->setName( "SpikeLauncher");
     73  this->weaponMan.addWeapon(cannon, 0, 0);
     74  this->weaponMan.changeWeaponConfig(0);
     75*/
     76
    6777}
    6878
     
    105115  this->setDamage(5);
    106116  this->setHealth(0);
     117  this->rotationVector = VECTOR_RAND(1);
    107118}
    108119
     
    197208  glTranslatef (this->getAbsCoor ().x, this->getAbsCoor ().y, this->getAbsCoor ().z);
    198209
    199   glRotatef(angle, 1.0, 0.0, 0.0);
     210  glRotatef(angle, this->rotationVector.x, this->rotationVector.y, this->rotationVector.z);
    200211  this->getAbsDir().matrix (matrix);
    201212  glMultMatrixf((float*)matrix);
  • branches/playability/src/world_entities/projectiles/spike_ball.h

    r10170 r10188  
    99#include "projectile.h"
    1010#include "effects/billboard.h"
     11
     12#include "../weapons/spike_launcher.h"
    1113#include "../weapons/weapon.h"
     14#include "../weapons/weapon_manager.h"
    1215
    1316class Vector;
     
    1619class ParticleEmitter;
    1720class FastFactory;
     21class WeaponManager;
     22
    1823
    1924class SpikeBall : public Projectile
     
    3540    virtual void draw () const;
    3641
     42    inline Vector getRotationVector() { return this->rotationVector; }
     43    inline float getAngle() { return this->angle; }
     44
    3745//     virtual void blow();
    3846
     
    4856    float                             angle;
    4957    float                             rotationSpeed;
     58    Vector                            rotationVector;
    5059
    5160    Billboard*                        halo;
    5261
    5362    WorldEntity* hitEntity; // FIXME TEMPORARY
     63
     64//     WeaponManager                     weaponMan;
     65
    5466};
    5567
  • branches/playability/src/world_entities/projectiles/swarm_projectile.cc

    r10168 r10188  
    268268
    269269  this->angle += this->rotationSpeed * time;
     270  while (this->angle > 360)
     271    this->angle -= 360;
    270272
    271273  this->lastDir = this->curDir;
     
    309311  glTranslatef (this->getAbsCoor ().x, this->getAbsCoor ().y, this->getAbsCoor ().z);
    310312  Vector tmpRot = this->getAbsCoor().cross(tmpDir);
    311   glRotatef (angleDeg ( this->getAbsCoor(), tmpDir), tmpRot.x, tmpRot.y, tmpRot.z );
     313  glRotatef (angleRad ( this->getAbsCoor(), tmpDir), tmpRot.x, tmpRot.y, tmpRot.z );
    312314  glRotatef(this->angle, 1.0f, 0.0f, 0.0f); //spinning missile
    313315  this->getAbsDir().matrix (matrix);
Note: See TracChangeset for help on using the changeset viewer.