- Timestamp:
- Dec 21, 2006, 2:08:01 PM (18 years ago)
- Location:
- branches/playability/src/world_entities/weapons
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/playability/src/world_entities/weapons/heavy_blaster.cc
r10133 r10136 67 67 this->setProjectileTypeC("HBolt"); // FIXME temp project type until the blaste class exist 68 68 this->prepareProjectiles(5); 69 70 this->setBarrels(3); 71 this->setSegs(2); 69 72 70 73 this->objComp1 = new PNode; … … 75 78 this->objComp6 = new PNode; 76 79 77 Animation3D* animB0Shoot = this->getAnimation(WS_SHOOTING , this->objComp1);78 Animation3D* animB1Shoot = this->getAnimation(WS_SHOOTING, this->objComp2);79 Animation3D* animB2Shoot = this->getAnimation(WS_SHOOTING, this->objComp3);80 Animation3D* animT0Shoot = this->getAnimation(WS_SHOOTING, this->objComp4);81 Animation3D* animT1Shoot = this->getAnimation(WS_SHOOTING, this->objComp5);82 Animation3D* animT2Shoot = this->getAnimation(WS_SHOOTING, this->objComp6);80 Animation3D* animB0Shoot = this->getAnimation(WS_SHOOTING0, this->objComp1); 81 // Animation3D* animB1Shoot = this->getAnimation(WS_SHOOTING1, this->objComp2); 82 // Animation3D* animB2Shoot = this->getAnimation(WS_SHOOTING2, this->objComp3); 83 // Animation3D* animT0Shoot = this->getAnimation(WS_SHOOTING3, this->objComp4); 84 // Animation3D* animT1Shoot = this->getAnimation(WS_SHOOTING4, this->objComp5); 85 // Animation3D* animT2Shoot = this->getAnimation(WS_SHOOTING5, this->objComp6); 83 86 84 87 animB0Shoot->setInfinity(ANIM_INF_CONSTANT); 85 animB1Shoot->setInfinity(ANIM_INF_CONSTANT);86 animB2Shoot->setInfinity(ANIM_INF_CONSTANT);87 animT0Shoot->setInfinity(ANIM_INF_CONSTANT);88 animT1Shoot->setInfinity(ANIM_INF_CONSTANT);89 animT2Shoot->setInfinity(ANIM_INF_CONSTANT);90 91 animB0Shoot->addKeyFrame(Vector(0. 1, 0.0, 0.0), Quaternion(), 0.2, ANIM_LINEAR, ANIM_NULL);92 animB0Shoot->addKeyFrame(Vector(-0.1, 0.0, 0.0), Quaternion(), 0. 2, ANIM_LINEAR, ANIM_NULL);93 animB0Shoot->addKeyFrame(Vector(0.0, 0.0, 0.0), Quaternion(), 0. 0, ANIM_LINEAR, ANIM_NULL);94 95 animT0Shoot->addKeyFrame(Vector(0. 14, 0.0, 0.0), Quaternion(), 0.2, ANIM_LINEAR, ANIM_NULL);96 animT0Shoot->addKeyFrame(Vector(-0. 14, 0.0, 0.0), Quaternion(), 0.2, ANIM_LINEAR, ANIM_NULL);97 animT0Shoot->addKeyFrame(Vector(0.0, 0.0, 0.0), Quaternion(), 0. 0, ANIM_LINEAR, ANIM_NULL);98 99 animB1Shoot->addKeyFrame(Vector(0.1, 0.0, 0.0), Quaternion(), 0. 2, ANIM_LINEAR, ANIM_NULL);100 animB1Shoot->addKeyFrame(Vector(-0.1, 0.0, 0.0), Quaternion(), 0. 2, ANIM_LINEAR, ANIM_NULL);88 // animB1Shoot->setInfinity(ANIM_INF_CONSTANT); 89 // animB2Shoot->setInfinity(ANIM_INF_CONSTANT); 90 // animT0Shoot->setInfinity(ANIM_INF_CONSTANT); 91 // animT1Shoot->setInfinity(ANIM_INF_CONSTANT); 92 // animT2Shoot->setInfinity(ANIM_INF_CONSTANT); 93 94 animB0Shoot->addKeyFrame(Vector(0.0, 0.0, 0.0), Quaternion(), 0.1, ANIM_LINEAR, ANIM_NULL); 95 animB0Shoot->addKeyFrame(Vector(-0.1, 0.0, 0.0), Quaternion(), 0.3, ANIM_LINEAR, ANIM_NULL); 96 animB0Shoot->addKeyFrame(Vector(0.0, 0.0, 0.0), Quaternion(), 0.1, ANIM_LINEAR, ANIM_NULL); 97 /* 98 animT0Shoot->addKeyFrame(Vector(0.0, 0.0, 0.0), Quaternion(), 0.1, ANIM_LINEAR, ANIM_NULL); 99 animT0Shoot->addKeyFrame(Vector(-0.04, 0.0, 0.0), Quaternion(), 0.3, ANIM_LINEAR, ANIM_NULL); 100 animT0Shoot->addKeyFrame(Vector(0.0, 0.0, 0.0), Quaternion(), 0.1, ANIM_LINEAR, ANIM_NULL);*/ 101 /* 102 animB1Shoot->addKeyFrame(Vector(0.1, 0.0, 0.0), Quaternion(), 0.1, ANIM_LINEAR, ANIM_NULL); 103 animB1Shoot->addKeyFrame(Vector(-0.1, 0.0, 0.0), Quaternion(), 0.3, ANIM_LINEAR, ANIM_NULL); 101 104 animB1Shoot->addKeyFrame(Vector(0.0, 0.0, 0.0), Quaternion(), 0.0, ANIM_LINEAR, ANIM_NULL); 102 105 103 animT1Shoot->addKeyFrame(Vector(0. 14, 0.0, 0.0), Quaternion(), 0.2, ANIM_LINEAR, ANIM_NULL);104 animT1Shoot->addKeyFrame(Vector(-0. 14, 0.0, 0.0), Quaternion(), 0.2, ANIM_LINEAR, ANIM_NULL);106 animT1Shoot->addKeyFrame(Vector(0.04, 0.0, 0.0), Quaternion(), 0.1, ANIM_LINEAR, ANIM_NULL); 107 animT1Shoot->addKeyFrame(Vector(-0.04, 0.0, 0.0), Quaternion(), 0.3, ANIM_LINEAR, ANIM_NULL); 105 108 animT1Shoot->addKeyFrame(Vector(0.0, 0.0, 0.0), Quaternion(), 0.0, ANIM_LINEAR, ANIM_NULL); 106 109 107 animB2Shoot->addKeyFrame(Vector(0.1, 0.0, 0.0), Quaternion(), 0. 2, ANIM_LINEAR, ANIM_NULL);108 animB2Shoot->addKeyFrame(Vector(-0.1, 0.0, 0.0), Quaternion(), 0. 2, ANIM_LINEAR, ANIM_NULL);110 animB2Shoot->addKeyFrame(Vector(0.1, 0.0, 0.0), Quaternion(), 0.1, ANIM_LINEAR, ANIM_NULL); 111 animB2Shoot->addKeyFrame(Vector(-0.1, 0.0, 0.0), Quaternion(), 0.3, ANIM_LINEAR, ANIM_NULL); 109 112 animB2Shoot->addKeyFrame(Vector(0.0, 0.0, 0.0), Quaternion(), 0.0, ANIM_LINEAR, ANIM_NULL); 110 113 111 animT2Shoot->addKeyFrame(Vector(0. 14, 0.0, 0.0), Quaternion(), 0.2, ANIM_LINEAR, ANIM_NULL);112 animT2Shoot->addKeyFrame(Vector(-0. 14, 0.0, 0.0), Quaternion(), 0.2, ANIM_LINEAR, ANIM_NULL);113 animT2Shoot->addKeyFrame(Vector(0.0, 0.0, 0.0), Quaternion(), 0.0, ANIM_LINEAR, ANIM_NULL); 114 animT2Shoot->addKeyFrame(Vector(0.04, 0.0, 0.0), Quaternion(), 0.1, ANIM_LINEAR, ANIM_NULL); 115 animT2Shoot->addKeyFrame(Vector(-0.04, 0.0, 0.0), Quaternion(), 0.3, ANIM_LINEAR, ANIM_NULL); 116 animT2Shoot->addKeyFrame(Vector(0.0, 0.0, 0.0), Quaternion(), 0.0, ANIM_LINEAR, ANIM_NULL);*/ 114 117 115 118 Animation3D* animation2 = this->getAnimation(WS_ACTIVATING, this); … … 175 178 176 179 glPushMatrix(); 177 glTranslatef (this->objComp1->getAbsCoor().x, this->objComp1->getAbsCoor().y, this->objComp1->getAbsCoor().z); 178 static_cast<StaticModel*>(this->getModel())->draw(1); 179 static_cast<StaticModel*>(this->getModel())->draw(2); 180 static_cast<StaticModel*>(this->getModel())->draw(0); 180 glTranslatef (this->objComp1->getAbsCoor().x, this->objComp1->getAbsCoor().y, this->objComp1->getAbsCoor().z); 181 static_cast<StaticModel*>(this->getModel())->draw(1); 182 static_cast<StaticModel*>(this->getModel())->draw(2); 183 static_cast<StaticModel*>(this->getModel())->draw(0); 184 185 glPushMatrix(); 186 glTranslatef (this->objComp4->getAbsCoor().x, this->objComp4->getAbsCoor().y, this->objComp4->getAbsCoor().z); 187 static_cast<StaticModel*>(this->getModel())->draw(4); 188 static_cast<StaticModel*>(this->getModel())->draw(5); 189 static_cast<StaticModel*>(this->getModel())->draw(3); 190 glPopMatrix(); 181 191 glPopMatrix(); 182 192 /* … … 190 200 static_cast<StaticModel*>(this->getModel())->draw(0); 191 201 glPopMatrix();*/ 192 /* 193 glTranslatef (this->objComp4->getAbsCoor().x, this->objComp4->getAbsCoor().y, this->objComp4->getAbsCoor().z); 194 static_cast<StaticModel*>(this->getModel())->draw(4); 195 static_cast<StaticModel*>(this->getModel())->draw(5); 196 static_cast<StaticModel*>(this->getModel())->draw(3); 197 glPopMatrix();*/ 202 203 // glPushMatrix(); 204 // glTranslatef (this->objComp4->getAbsCoor().x, this->objComp4->getAbsCoor().y, this->objComp4->getAbsCoor().z); 205 // static_cast<StaticModel*>(this->getModel())->draw(4); 206 // static_cast<StaticModel*>(this->getModel())->draw(5); 207 // static_cast<StaticModel*>(this->getModel())->draw(3); 208 // glPopMatrix(); 198 209 /* 199 210 glPushMatrix(); -
branches/playability/src/world_entities/weapons/weapon.cc
r10121 r10136 308 308 { 309 309 PRINTF(2)("Node not defined for the Creation of the 3D-animation of state %s\n", stateToChar(state)); 310 return NULL; 311 } 312 } 313 else 314 return this->animation[state]; 315 } 316 317 Animation3D* Weapon::getAnimation(ShootingStates state, PNode* node) 318 { 319 if (state >= WS_SS_MAX) // if the state is not known 320 return NULL; 321 322 if (unlikely(this->animation[state] == NULL)) // if the animation does not exist yet create it. 323 { 324 if (likely(node != NULL)) 325 return this->animation[state] = new Animation3D(node); 326 else 327 { 328 // PRINTF(2)("Node not defined for the Creation of the 3D-animation of state %s\n", stateToChar(state)); 310 329 return NULL; 311 330 } -
branches/playability/src/world_entities/weapons/weapon.h
r9966 r10136 55 55 WS_STATE_COUNT = 8 //!< This must match the count of enumerations-members. 56 56 } WeaponState; 57 58 typedef enum 59 { 60 WS_SHOOTING0 = 0x00000001, //!< Fireing 1st Barrel 61 WS_SHOOTING1 = 0x00000002, //!< Fireing 2nd Barrel 62 WS_SHOOTING2 = 0x00000004, //!< Fireing 3rd Barrel 63 WS_SHOOTING3 = 0x00000008, //!< Fireing 4st Barrel 64 WS_SHOOTING4 = 0x00000010, //!< Fireing 5st Barrel 65 WS_SHOOTING5 = 0x00000020, //!< Fireing 6st Barrel 66 WS_SHOOTING6 = 0x00000040, //!< Fireing 7st Barrel 67 WS_SHOOTING7 = 0x00000080, //!< Fireing 8st Barrel 68 69 WS_SS_MAX = 0x000000ff 70 }ShootingStates; 57 71 58 72 //! an enumerator defining capabilities of a WeaponSlot … … 158 172 159 173 Animation3D* getAnimation(WeaponState state, PNode* node = NULL); 174 Animation3D* getAnimation(ShootingStates state, PNode* node = NULL); 160 175 Animation3D* copyAnimation(WeaponState from, WeaponState to); 161 176 … … 186 201 static WeaponState charToState(const std::string& state); 187 202 static const char* stateToChar(WeaponState state); 203 204 205 inline int getBarrels() {return this->barrels; }; 206 inline int getSeg() {return this->segs; }; 207 inline void setBarrels(int barrels) { this->barrels = barrels; }; 208 inline void setSegs(int segs) { this->segs = segs; }; 188 209 189 210 private: … … 239 260 ClassID projectile; //!< the projectile used for this weapon (since they should be generated via macro and the FastFactory, only the ClassID must be known.) 240 261 FastFactory* projectileFactory; //!< A factory, that produces and handles the projectiles. 262 263 int barrels; //!< # of barrels 264 int segs; //!< # of segments, one barrel has 241 265 }; 242 266
Note: See TracChangeset
for help on using the changeset viewer.