- Timestamp:
- Jan 31, 2007, 1:27:36 AM (18 years ago)
- Location:
- trunk/src/world_entities
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/world_entities/npcs/npc.cc
r10512 r10531 37 37 #include "track/track.h" 38 38 39 #include "particles/dot_emitter.h" 40 #include "particles/emitter_node.h" 41 #include "particles/sprite_particles.h" 39 42 40 43 #include "weapons/test_gun.h" … … 67 70 ->addMethod("setAI", Executor1<NPC, lua_State*, bool>(&NPC::setAI)) 68 71 ->addMethod("setVisibility", Executor1<WorldEntity, lua_State*, bool>(&WorldEntity::setVisibility)) 72 ->addMethod("destroy", Executor0<NPC, lua_State*/*, WorldEntity**/>(&NPC::destroy)) 69 73 ); 70 74 … … 243 247 } 244 248 249 void NPC::destroy( /*WorldEntity* killer*/ ) 250 { 251 252 PRINTF(5)("NPC destroy\n"); 253 254 EmitterNode* node = NULL; 255 DotEmitter* emitter = NULL; 256 SpriteParticles* explosionParticles = NULL; 257 258 explosionParticles = new SpriteParticles(200); 259 explosionParticles->setName("SpaceShipExplosionParticles"); 260 explosionParticles->setLifeSpan(.2, .3); 261 explosionParticles->setRadius(0.0, 10.0); 262 explosionParticles->setRadius(.5, 6.0); 263 explosionParticles->setRadius(1.0, 3.0); 264 explosionParticles->setColor(0.0, 1,1,1,.9); 265 explosionParticles->setColor(0.1, 1,1,0,.9); 266 explosionParticles->setColor(0.5, .8,.4,0,.5); 267 explosionParticles->setColor(1.0, .2,.2,.2,.5); 268 269 270 emitter = new DotEmitter( 2000, 70, 360); 271 //emitter->setSpread( 0, M_2_PI); 272 emitter->setEmissionRate( 200.0); 273 //emitter->setEmissionVelocity( 200.0); 274 //emitter->setSystem( explosionParticles); 275 //emitter->setAbsCoor( this->getAbsCoor()); 276 277 node = new EmitterNode( .1f); 278 node->setupParticle( emitter, explosionParticles); 279 node->setAbsDir( this->getAbsDir()); 280 node->setVelocity( this->getVelocity() * .9f); 281 node->setAbsCoor( this->getAbsCoor()); 282 if( !node->start()) 283 PRINTF(0)("Explosion node not correctly started!"); 284 /* 285 PNode* node = new PNode(); 286 node->setAbsCoor(this->getAbsCoor()); 287 Explosion* explosion = new Explosion(); 288 explosion->explode( node, Vector(5,5,5)); 289 */ 290 /* 291 if( this->hasPlayer()) 292 { 293 this->setAbsCoor(Vector(-10000,10000,10000)); 294 this->hide(); 295 } 296 else 297 {*/ 298 //this->setAbsCoor( this->getAbsCoor() + Vector(100,0,0) + Vector(1,0,0) * VECTOR_RAND(150).dot(Vector(1,0,0))); 299 //} 300 301 } 245 302 246 303 void NPC::setWeaponConfig(int i) -
trunk/src/world_entities/npcs/npc.h
r10512 r10531 35 35 void setAI(bool activate); 36 36 inline void enableAI(int flag) { this->bAIEnabled = (bool)flag; } 37 void destroy( /*WorldEntity* killer*/ ); 37 38 38 39 private: -
trunk/src/world_entities/space_ships/space_ship.cc
r10526 r10531 93 93 //->addMethod("setCameraSpeed", Executor1<SpaceShip, lua_State*, float>(&SpaceShip::setCameraSpeed)) 94 94 ->addMethod("pause", Executor1<WorldEntity, lua_State*, bool>(&WorldEntity::pauseTrack)) 95 ->addMethod("setCameraDist", Executor1<SpaceShip, lua_State*, float>(&SpaceShip::setCameraDistance)) 95 96 ); 96 97 … … 616 617 { 617 618 this->bRight = event.bPressed; 619 printf("ShipCoors: %f , %f, %f \n", this->getAbsCoor().x, this->getAbsCoor().y, this->getAbsCoor().z); 618 620 } 619 621 else if( event.type == KeyMapper::PEV_FORWARD) 620 622 { 621 623 this->bForward = event.bPressed; //this->shiftCoor(0,.1,0); 624 622 625 } 623 626 else if( event.type == KeyMapper::PEV_BACKWARD) … … 1141 1144 void SpaceShip::setCameraDistance(float dist) 1142 1145 { 1143 State::getCamera()->setViewTopDistance(dist); 1146 1147 CameraMan* cm = State::getCameraman(); 1148 Camera* c = cm->getCurrentCam(); 1149 c->setViewTopDistance(dist); 1150 1151 if (this->hasPlayer()) 1152 this->isTravelDistanceInit = false; 1144 1153 } 1145 1154 1146 1155 void SpaceShip::setCameraFovy(float fovy) 1147 1156 { 1148 State::getCamera()->setViewTopFovy(fovy); 1157 1158 CameraMan* cm = State::getCameraman(); 1159 Camera* c = cm->getCurrentCam(); 1160 c->setViewTopFovy(fovy); 1161 1162 if (this->hasPlayer()) 1163 this->isTravelDistanceInit = false; 1149 1164 } 1150 1165 … … 1153 1168 CameraMan* cm = State::getCameraman(); 1154 1169 Camera* c = cm->getCurrentCam(); 1155 1156 1170 1171 1157 1172 float x = 1.25 * this->actionWidthPercentage * fabsf(c->getAbsCoor().y) * tan(c->getFovy()*M_PI /360.0); 1158 1173 float y = x / c->getAspectRatio() / this->actionWidthPercentage; -
trunk/src/world_entities/space_ships/space_ship.h
r10516 r10531 92 92 93 93 virtual void hit(float damage, WorldEntity* killer); 94 95 void setCameraDistance(float dist); 94 96 95 97 private: … … 188 190 float cameraSpeed; 189 191 190 void setCameraDistance(float dist); 192 191 193 void setCameraFovy(float fovy); 192 194
Note: See TracChangeset
for help on using the changeset viewer.