Changeset 9110 in orxonox.OLD for trunk/src/world_entities
- Timestamp:
- Jul 4, 2006, 11:18:41 AM (18 years ago)
- Location:
- trunk/src/world_entities
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/world_entities/creatures/fps_player.cc
r9003 r9110 21 21 22 22 #include "src/lib/util/loading/factory.h" 23 24 #include "md2/md2Model.h" 23 25 24 26 #include "weapons/weapon_manager.h" … … 28 30 #include "weapons/fps_sniper_rifle.h" 29 31 32 #include "aabb.h" 33 30 34 #include "key_mapper.h" 31 35 32 36 #include "debug.h" 33 37 38 #include "shared_network_data.h" 34 39 35 40 … … 92 97 93 98 this->fallVelocity = 0.0f; 99 this->jumpForce = 0.0f; 94 100 95 101 this->cameraNode.setParent(this); … … 123 129 124 130 this->getWeaponManager().setSlotCount(2); 125 this->getWeaponManager().setSlotPosition(0, Vector(1.5, -0.7, 1.1));126 131 // this->getWeaponManager().setSlotDirection(0, Quaternion(M_PI_2, Vector(0,1,0))); 127 132 this->getWeaponManager().setSlotCapability(0, WTYPE_ALLDIRS | WTYPE_DIRECTIONAL); 133 this->getWeaponManager().setSlotDirection(1, Quaternion(M_PI_4*.5, Vector(1,0,0))); 134 this->getWeaponManager().setSlotPosition(0, Vector(1.5, -0.7, 1.1)); 128 135 this->getWeaponManager().setSlotPosition(1, Vector(5.0, 0.0, 0.0)); 129 this->getWeaponManager().setSlotDirection(1, Quaternion(M_PI_4*.5, Vector(1,0,0))); 136 130 137 131 138 this->getWeaponManager().setParentNode(&this->cameraNode); … … 141 148 registerVar( new SynchronizeableBool( &bForward, &bForward, "bForward", PERMISSION_OWNER ) ); 142 149 registerVar( new SynchronizeableBool( &bBackward, &bBackward, "bBackward", PERMISSION_OWNER ) ); 143 // registerVar( new SynchronizeableQuaternion( &mouseDir, &mouseDir, "mouseDir", PERMISSION_OWNER ) ); 144 145 146 // collision reaction registration 147 this->subscribeReaction(CREngine::CR_PHYSICS_GROUND_WALK, CL_BSP_ENTITY); 150 registerVar( new SynchronizeableFloat( &heading, &heading, "heading", PERMISSION_OWNER ) ); 151 registerVar( new SynchronizeableFloat( &attitude, &attitude, "attitude", PERMISSION_OWNER ) ); 148 152 } 149 153 … … 189 193 190 194 191 State::getCameraNode()->setRelCoor(0,0,0); 192 State::getCameraTargetNode()->setRelCoor(10,0,0); 195 AABB* box = this->getModelAABB(); 196 if( box != NULL) 197 { 198 State::getCameraNode()->setRelCoor(0, box->halfLength[1] * 2.0f, 0); 199 State::getCameraTargetNode()->setRelCoor(10, box->halfLength[1] * 2.0f, 0); 200 201 this->getWeaponManager().setSlotPosition(0, Vector(1.5, box->halfLength[1] * 2.0f - 0.7, 1.1)); 202 this->getWeaponManager().setSlotPosition(1, Vector(5.0, box->halfLength[1] * 2.0f, 0.0)); 203 } 193 204 } 194 205 … … 207 218 void FPSPlayer::tick (float time) 208 219 { 209 220 210 221 if( this->bPosBut) 211 222 { 212 223 this->bPosBut = false; 213 printf(" prisoner:walkTo( %f,height, %f)\n",this->getAbsCoorX(),this->getAbsCoorZ());214 } 215 224 printf("mechanic2:walkTo( %f, mtheight, %f)\n",this->getAbsCoorX(),this->getAbsCoorZ()); 225 } 226 216 227 Playable::tick( time ); 217 228 218 if( ( xMouse != 0 || yMouse != 0 ) /*&& this->getOwner() == this->getHostID() */)229 if( ( xMouse != 0 || yMouse != 0 ) && (this->getOwner() == SharedNetworkData::getInstance()->getHostID() || !State::isOnline() ) ) 219 230 { 220 231 xMouse *= time ; … … 230 241 attitude = -1.15; 231 242 232 this->setAbsDir(Quaternion(heading, Vector(0,1,0)));233 this->cameraNode.setRelDir(Quaternion( attitude, Vector( 0, 0, 1 ) ));234 235 243 xMouse = yMouse = 0; 236 244 } 237 245 238 // this->setAbsDir( this->mouseDir ); 246 this->setAbsDir(Quaternion(heading, Vector(0,1,0))); 247 this->cameraNode.setRelDir(Quaternion( attitude, Vector( 0, 0, 1 ) )); 239 248 240 249 Vector velocity; … … 262 271 263 272 velocity *= 100; 273 274 if( this->bJump && likely(this->getModel(0) != NULL)) 275 { 276 if( this->jumpForce < 1.0f) 277 { 278 this->jumpForce = 300.0f; 279 280 if( ((InteractiveModel*)this->getModel(0))->getAnimation() != JUMP) 281 ((InteractiveModel*)this->getModel(0))->setAnimation(JUMP); 282 } 283 } 284 else if(velocity.len() != 0.0f) 285 { 286 if( ((InteractiveModel*)this->getModel(0))->getAnimation() != RUN) 287 ((InteractiveModel*)this->getModel(0))->setAnimation(RUN); 288 } 289 else 290 { 291 if( ((InteractiveModel*)this->getModel(0))->getAnimation() != STAND) 292 ((InteractiveModel*)this->getModel(0))->setAnimation(STAND); 293 } 294 295 296 velocity.y += this->jumpForce; 297 if( this->jumpForce > 1.0f) 298 this->jumpForce *= 0.9f; 264 299 265 300 … … 287 322 { 288 323 ((InteractiveModel*)this->getModel(0))->tick(time); 289 // 290 // // handle animations differently 291 // if( this->bJump && likely(this->getModel(0) != NULL)) 292 // { 293 // ((InteractiveModel*)this->getModel(0))->setAnimation(JUMP); 294 // } 324 325 // handle animations differently 326 327 328 329 330 295 331 // else if( this->bFire && likely(this->getModel(0) != NULL)) 296 332 // { … … 347 383 } 348 384 else if( event.type == KeyMapper::PEV_JUMP) 385 this->bJump = event.bPressed; 349 386 this->bPosBut = event.bPressed; 350 387 } -
trunk/src/world_entities/creatures/fps_player.h
r9003 r9110 54 54 55 55 float fallVelocity; //!< velocity for falling down 56 float jumpForce; //!< the jump force 56 57 }; 57 58 -
trunk/src/world_entities/environments/mapped_water.cc
r9021 r9110 20 20 #include "state.h" 21 21 #include "t_animation.h" 22 #include "math.h"22 #include <cmath> 23 23 #include "glgui.h" 24 24 #include "shell_command.h" -
trunk/src/world_entities/npcs/door.cc
r9003 r9110 45 45 46 46 47 Door::Door ()48 {49 this->init();50 }51 52 53 47 Door::Door(const TiXmlElement* root) 54 48 { … … 56 50 this->setClassID(CL_DOOR, "Door"); 57 51 this->scale = 1.0f; 52 this->actionRadius = 1.0; 58 53 59 54 if( root != NULL) … … 62 57 this->toList(OM_COMMON); 63 58 this->bLocked = false; 59 this->bOpen = false; 64 60 65 61 this->loadMD2Texture("maps/doors.jpg"); -
trunk/src/world_entities/npcs/door.h
r9003 r9110 22 22 { 23 23 public: 24 Door (); 25 Door(const TiXmlElement* root); 24 Door(const TiXmlElement* root = NULL); 26 25 virtual ~Door (); 27 26 … … 43 42 44 43 private: 44 void init(); 45 45 bool checkOpen(); 46 46 void setAnimation(int animNum, int playbackMode = 0); -
trunk/src/world_entities/npcs/generic_npc.cc
r9061 r9110 84 84 this->toList(OM_GROUP_00); 85 85 86 if (this->soundBuffer != NULL)87 ResourceManager::getInstance()->unload(this->soundBuffer);88 86 this->soundBuffer = (OrxSound::SoundBuffer*)ResourceManager::getInstance()->load("sound/rain.wav", WAV); 89 87 … … 93 91 94 92 // collision reaction registration 95 //this->subscribeReaction(CREngine::CR_PHYSICS_GROUND_WALK, CL_BSP_ENTITY);93 this->subscribeReaction(CREngine::CR_PHYSICS_GROUND_WALK, CL_BSP_ENTITY); 96 94 } 97 95 … … 186 184 this->animationStack.push(this->behaviourList); 187 185 this->behaviourList = new std::list<GenericNPC::Anim>; 186 187 if( this->getAnimation() != STAND) 188 this->setAnimation(STAND, MD2_ANIM_LOOP); 188 189 } 189 190 … … 194 195 void GenericNPC::resume() 195 196 { 196 //if() 197 if( this->animationStack.size() == 0) 198 return; 199 197 200 delete this->behaviourList; 198 201 this->behaviourList = this->animationStack.top(); … … 219 222 Vector dir = (currentAnimation.v - this->getAbsCoor()); 220 223 dir.y = 0.0f; 221 dir. getNormalized();224 dir.normalize(); 222 225 this->setAbsDir(Quaternion(dir, Vector(0.0, 1.0, 0.0)) * Quaternion(-M_PI_2, Vector(0.0, 1.0, 0.0))); 223 226 … … 518 521 { 519 522 Vector dest = currentAnimation.v - this->getAbsCoor(); 523 dest.y = 0.0f; 520 524 if (dest.len() < .5) 521 525 this->nextStep(); … … 530 534 { 531 535 Vector dest = currentAnimation.v - this->getAbsCoor(); 536 dest.y = 0.0f; 532 537 if (dest.len() < .5) 533 538 this->nextStep(); -
trunk/src/world_entities/playable.cc
r9061 r9110 67 67 this->bDead = false; 68 68 69 //subscribe to collision reaction 69 70 this->subscribeReaction(CREngine::CR_PHYSICS_GROUND_WALK, CL_BSP_ENTITY); 70 71 -
trunk/src/world_entities/script_trigger.cc
r9061 r9110 115 115 LoadParam(root, "invert", this, ScriptTrigger, setInvert) 116 116 .describe("") 117 .defaultValues( "false");117 .defaultValues(false); 118 118 LoadParam(root, "triggerlasts", this, ScriptTrigger, setTriggerLasts) 119 119 .describe("") 120 .defaultValues( "true");120 .defaultValues(true); 121 121 LoadParam(root, "debugdraw", this, ScriptTrigger, setDebugDraw) 122 122 .describe("") 123 .defaultValues( "false");123 .defaultValues(false); 124 124 LoadParam(root, "addtoscript", this, ScriptTrigger, setAddToScript) 125 125 .describe("True if this scripttrigger should be aviable in the script") 126 .defaultValues( "false");126 .defaultValues(false); 127 127 } 128 128 -
trunk/src/world_entities/space_ships/space_ship.cc
r9061 r9110 58 58 CREATE_SCRIPTABLE_CLASS(SpaceShip, CL_SPACE_SHIP, 59 59 addMethod("hasPlayer", ExecutorLua0ret<Playable,bool>(&Playable::hasPlayer)) 60 //Coordinates 61 ->addMethod("setAbsCoor", ExecutorLua3<PNode,float,float,float>(&PNode::setAbsCoor)) 62 ->addMethod("getAbsCoorX", ExecutorLua0ret<PNode, float>(&PNode::getAbsCoorX)) 63 ->addMethod("getAbsCoorY", ExecutorLua0ret<PNode, float>(&PNode::getAbsCoorY)) 64 ->addMethod("getAbsCoorZ", ExecutorLua0ret<PNode, float>(&PNode::getAbsCoorZ)) 60 65 ); 61 66 -
trunk/src/world_entities/space_ships/spacecraft_2d.cc
r9061 r9110 25 25 26 26 #include "util/loading/factory.h" 27 #include "util/loading/load_param.h" 27 28 #include "key_mapper.h" 28 29 #include "state.h" … … 36 37 CREATE_FACTORY(Spacecraft2D, CL_SPACECRAFT_2D); 37 38 39 /** 40 * destructs the spacecraft_2d, deletes alocated memory 41 */ 42 Spacecraft2D::~Spacecraft2D () 43 { 44 this->setPlayer(NULL); 45 delete this->toTravelHeight; 46 } 38 47 39 48 /** … … 86 95 87 96 /** 88 * destructs the spacecraft_2d, deletes alocated memory89 */90 Spacecraft2D::~Spacecraft2D ()91 {92 this->setPlayer(NULL);93 }94 95 /**96 97 * @brief initializes a Spacecraft2D 97 98 */ … … 101 102 this->setClassID(CL_SPACECRAFT_2D, "Spacecraft2D"); 102 103 103 this->setSupportedPlaymodes(Playable::Full3D | Playable::Horizontal); 104 104 this->setSupportedPlaymodes(Playable::Full3D | Playable::Horizontal ); 105 105 106 106 bForward = bBackward = bLeft = bRight = false; … … 110 110 this->rotation = 0.0f; 111 111 this->acceleration = 10.0f; 112 this->altitude = 0.0f; 112 this->airFriction = 2.0f; 113 113 114 114 115 this->setHealthMax(100); … … 116 117 117 118 119 /// 2D-MODE 120 this->toTravelHeight = NULL; 121 this->travelSpeed = 0.0f; 122 this->travelNode = new PNode(); 123 124 118 125 // camera - issue 119 this->travelNode.addNodeFlags(PNODE_PROHIBIT_CHILD_DELETE); 126 this->cameraNode.addNodeFlags(PNODE_PROHIBIT_DELETE_WITH_PARENT); 127 this->cameraNode.addNodeFlags(PNODE_PROHIBIT_CHILD_DELETE); 120 128 //this->cameraNode.setParentMode(PNODE_ROTATE_MOVEMENT); 121 129 //this->cameraNode.setParent(this); 122 130 123 // rotors124 131 // PARTICLES 125 132 this->burstEmitter = new DotEmitter(200, 5.0, .01); 126 133 this->burstEmitter->setParent(this); 127 134 this->burstEmitter->setRelCoor(0, -0.7, 0); 128 this->burstEmitter->setRelDir(Quaternion(-M_PI _2, Vector(0,0,1)));135 this->burstEmitter->setRelDir(Quaternion(-M_PI, Vector(0,0,1))); 129 136 this->burstEmitter->setName("Spacecraft2D_Burst_emitter_Left"); 130 131 137 132 138 this->burstSystem = new SpriteParticles(1000); … … 150 156 this->registerEvent(KeyMapper::PEV_LEFT); 151 157 this->registerEvent(KeyMapper::PEV_RIGHT); 152 this->registerEvent(KeyMapper::PEV_UP);153 this->registerEvent(KeyMapper::PEV_DOWN);154 158 this->registerEvent(KeyMapper::PEV_FIRE1); 155 159 this->registerEvent(KeyMapper::PEV_NEXT_WEAPON); … … 178 182 this->getWeaponManager().setSlotDirection(4, Quaternion(24/180 * M_PI, Vector(1,0,0))); 179 183 180 this-> travelNode.setRelCoor(0,0,0);181 //this->getWeaponManager().getFixedTarget()->setParent(&this->cameraNode);182 //this->getWeaponManager().getFixedTarget()->setRelCoor(1000,0,0);184 this->cameraNode.setRelCoor(1,5,0); 185 this->getWeaponManager().getFixedTarget()->setParent(&this->cameraNode); 186 this->getWeaponManager().getFixedTarget()->setRelCoor(1000,0,0); 183 187 184 188 registerVar( new SynchronizeableBool( &bForward, &bForward, "bForward", PERMISSION_OWNER ) ); … … 198 202 { 199 203 Playable::loadParams(root); 204 205 LoadParam(root, "travel-speed", this, Spacecraft2D, setTravelSpeed); 206 LoadParam(root, "travel-height", this, Spacecraft2D, setTravelHeight); 207 LoadParam(root, "travel-distance", this, Spacecraft2D, setTravelDistance); 200 208 } 201 209 … … 205 213 } 206 214 207 void Spacecraft2D::setTravelDirecton(const Quaternion& rot, float speed)208 {209 this->setPlayDirection(rot, speed);210 }211 212 215 void Spacecraft2D::setTravelSpeed(float travelSpeed) 213 216 { … … 216 219 217 220 221 void Spacecraft2D::setTravelHeight(float travelHeight) 222 { 223 if (this->toTravelHeight == NULL) 224 this->toTravelHeight = new float; 225 *this->toTravelHeight = travelHeight; 226 } 227 228 229 void Spacecraft2D::setTravelDistance(const Vector2D& distance) 230 { 231 this->travelDistance = distance; 232 } 233 234 void Spacecraft2D::setTravelDistance(float x, float y) 235 { 236 this->setTravelDistance(Vector2D(x, y)); 237 } 238 239 218 240 219 241 void Spacecraft2D::enter() 220 242 { 221 243 dynamic_cast<Element2D*>(this->getWeaponManager().getFixedTarget())->setVisibility( true); 222 223 if (State::getCameraNode != NULL) 224 { 225 State::getCameraNode()->setParentSoft(&this->travelNode); 226 State::getCameraNode()->setRelCoorSoft(-10, 50,0); 227 State::getCameraTargetNode()->setParentSoft(&this->travelNode); 228 } 244 this->setPlaymode(this->getPlaymode()); 229 245 } 230 246 … … 235 251 236 252 } 253 254 255 void Spacecraft2D::enterPlaymode(Playable::Playmode playmode) 256 { 257 switch(playmode) 258 { 259 case Playable::Full3D: 260 if (State::getCameraNode != NULL) 261 { 262 Vector absCoor = this->getAbsCoor(); 263 this->setParent(PNode::getNullParent()); 264 this->setAbsCoor(absCoor); 265 State::getCameraNode()->setParentSoft(&this->cameraNode); 266 State::getCameraNode()->setRelCoorSoft(-10, 0,0); 267 State::getCameraTargetNode()->setParentSoft(&this->cameraNode); 268 State::getCameraTargetNode()->setRelCoorSoft(100, 0,0); 269 270 } 271 break; 272 273 274 case Playable::Horizontal: 275 if (State::getCameraNode != NULL) 276 { 277 this->debugNode(1); 278 this->travelNode->debugNode(1); 279 280 this->travelNode->setAbsCoor(this->getAbsCoor()); 281 this->travelNode->updateNode(0.01f); 282 283 this->setParent(this->travelNode); 284 this->setRelCoor(0,0,0); 285 286 State::getCameraNode()->setParentSoft(this->travelNode); 287 State::getCameraNode()->setRelCoorSoft(-3, 50,0); 288 State::getCameraTargetNode()->setParentSoft(this->travelNode); 289 State::getCameraTargetNode()->setRelCoorSoft(0,0,0); 290 291 292 this->debugNode(1); 293 this->travelNode->debugNode(1); 294 } 295 break; 296 297 default: 298 PRINTF(2)("Playmode %s Not Implemented in %s\n", Playable::playmodeToString(this->getPlaymode()).c_str(), this->getClassName()); 299 } 300 } 301 237 302 238 303 … … 277 342 278 343 // TRYING TO FIX PNode. 279 //this->travelNode.setAbsCoorSoft(this->getAbsCoor() + Vector(0.0f, 5.0f, 0.0f), 30.0f);280 //this->travelNode.setRelDirSoft(this->getAbsDir(), 30.0f);344 this->cameraNode.setAbsCoorSoft(this->getAbsCoor() + Vector(0.0f, 5.0f, 0.0f), 30.0f); 345 this->cameraNode.setRelDirSoft(this->getAbsDir(), 30.0f); 281 346 } 282 347 … … 307 372 accel += Vector(0, 0, this->acceleration); 308 373 } 309 310 374 311 375 switch(this->getPlaymode()) … … 316 380 317 381 // this is the air friction (necessary for a smooth control) 318 319 this->velocity += (accelerationDir)* dt; 382 Vector damping = (this->velocity * this->airFriction); 383 384 385 this->velocity += (accelerationDir - damping)* dt; 320 386 this->shiftCoor (this->velocity * dt); 321 387 … … 332 398 333 399 this->setRelDirSoft(this->direction * Quaternion(-cameraLook, Vector(0,0,1)), 5); 334 335 400 } 336 401 break; … … 338 403 case Playable::Horizontal: 339 404 { 405 406 if (this->toTravelHeight != NULL) 407 { 408 this->travelNode->shiftCoor(Vector(0, (*toTravelHeight - this->travelNode->getAbsCoor().y) * dt, 0)); 409 if (fabsf(this->travelNode->getAbsCoor().y - *this->toTravelHeight) < .1) 410 { 411 delete this->toTravelHeight; 412 this->toTravelHeight = NULL; 413 } 414 } 415 this->travelNode->shiftCoor(Vector(this->travelSpeed * dt, 0, 0)); 416 340 417 accel.y = 0.0; 341 418 Vector accelerationDir = this->getAbsDir().apply(accel * this->acceleration); … … 343 420 344 421 // this is the air friction (necessary for a smooth control) 345 346 347 this->velocity += (accelerationDir )* dt; 422 Vector damping = (this->velocity * this->airFriction); 423 424 425 this->velocity += (accelerationDir - damping)* dt; 348 426 this->shiftCoor (this->velocity * dt); 349 350 // limit the maximum rotation speed. 351 if (this->rotation != 0.0f) 352 { 353 float maxRot = 10.0 * dt; 354 if (unlikely(this->rotation > 0.01 || this->rotation < 0.01)) this->rotation /=1.5; 355 this->direction *= Quaternion(-M_PI/4.0*this->rotation, Vector(0,1,0)); 356 357 this->rotation = 0.0f; 358 } 359 360 this->setRelDirSoft(this->direction, 5); 427 this->setRelDirSoft(Quaternion(0, Vector(0,0,0)), 1.0f); 361 428 } 362 429 break; 363 430 364 431 default: 365 PRINTF(2)("Playmode %s Not Implemented \n", Playable::playmodeToString(this->getPlaymode()).c_str());432 PRINTF(2)("Playmode %s Not Implemented in %s\n", Playable::playmodeToString(this->getPlaymode()).c_str(), this->getClassName()); 366 433 } 367 434 } … … 390 457 else if( event.type == EV_MOUSE_MOTION) 391 458 { 392 float xMouse, yMouse; 393 xMouse = event.xRel*mouseSensitivity; 394 yMouse = event.yRel*mouseSensitivity; 395 396 // rotate the Player around the y-axis 459 460 461 397 462 if (this->getPlaymode() == Playable::Full3D) 463 { 464 float xMouse, yMouse; 465 xMouse = event.xRel*mouseSensitivity; 466 yMouse = event.yRel*mouseSensitivity; 467 468 // rotate the Player around the y-axis 398 469 this->rotation += xMouse; 399 470 400 this->cameraLook += yMouse; 401 // rotate the Camera around the z-axis 402 if (cameraLook > M_PI_4) 403 cameraLook = M_PI_4; 404 else if (cameraLook < -M_PI_4) 405 cameraLook = -M_PI_4; 406 //this->cameraNode.setRelDirSoft(this->direction,10); 407 } 408 } 471 this->cameraLook += yMouse; 472 // rotate the Camera around the z-axis 473 if (cameraLook > M_PI_4) 474 cameraLook = M_PI_4; 475 else if (cameraLook < -M_PI_4) 476 cameraLook = -M_PI_4; 477 //this->cameraNode.setRelDirSoft(this->direction,10); 478 } 479 } 480 } -
trunk/src/world_entities/space_ships/spacecraft_2d.h
r9061 r9110 22 22 23 23 virtual void loadParams(const TiXmlElement* root); 24 25 void setTravelSpeed(float travelSpeed); 26 void setTravelHeight(float travelHeight); 27 void setTravelDistance(const Vector2D& distance); 28 void setTravelDistance(float x, float y); 29 30 24 31 virtual void setPlayDirection(const Quaternion& rot, float speed = 0.0f); 25 void setTravelDirecton(const Quaternion& rot, float speed = 0.0);26 void setTravelSpeed(float travelSpeed);27 28 32 virtual void enter(); 29 33 virtual void leave(); 30 31 34 32 35 … … 39 42 40 43 virtual void process(const Event &event); 44 45 protected: 46 virtual void enterPlaymode(Playable::Playmode playmode); 41 47 42 48 private: … … 53 59 float mouseSensitivity; //!< the mouse sensitivity 54 60 61 /// Normal Movement. 62 Quaternion direction; //!< the direction of the Spacecraft2D. 63 float acceleration; //!< the acceleration of the Spacecraft2D. 64 float airFriction; //!< AirFriction. 65 66 float airViscosity; 55 67 56 68 57 PNode travelNode; 58 float travelSpeed; 69 /// 2D-traveling 70 PNode* travelNode; 71 float* toTravelHeight; 72 float travelSpeed; //!< the current speed of the Hove (to make soft movement) 59 73 74 Vector2D travelDistance; //!< Travel-Distance away from the TravelNode. 75 76 /// Camera 77 PNode cameraNode; 60 78 float cameraLook; 61 79 float rotation; 62 80 63 // Vector velocity; //!< the velocity of the Spacecraft2D.64 Quaternion direction; //!< the direction of the Spacecraft2D.65 float acceleration; //!< the acceleration of the Spacecraft2D.66 float maxSpeed; //!< The Maximal speed of the Spacecraft2D.67 68 float altitude; //!< The height in the Entity.69 81 70 82 ParticleEmitter* burstEmitter; -
trunk/src/world_entities/world_entity.cc
r9061 r9110 85 85 86 86 this->toList(OM_NULL); 87 87 88 registerVar( new SynchronizeableString( &this->md2TextureFileName, &this->md2TextureFileName, "md2TextureFileName" ) ); 88 89 modelFileName_handle = registerVarId( new SynchronizeableString( &modelFileName, &modelFileName, "modelFileName" ) ); 89 90 scaling_handle = registerVarId( new SynchronizeableFloat( &scaling, &scaling, "scaling" ) ); 90 91 list_handle = registerVarId( new SynchronizeableInt( (int*)&objectListNumber, &list_write, "list" ) ); 92 93 health_handle = registerVarId( new SynchronizeableFloat( &this->health, &this->health_write, "health" ) ); 94 healthMax_handle = registerVarId( new SynchronizeableFloat( &this->healthMax, &this->healthMax_write, "maxHealth" ) ); 91 95 } 92 96 … … 837 841 this->toList( (OM_LIST)list_write ); 838 842 } 843 844 if ( std::find( id.begin(), id.end(), health_handle ) != id.end() ) 845 { 846 this->setHealth( health_write ); 847 } 848 849 if ( std::find( id.begin(), id.end(), healthMax_handle ) != id.end() ) 850 { 851 this->setHealthMax( healthMax_write ); 852 } 839 853 840 854 PNode::varChangeHandler( id ); -
trunk/src/world_entities/world_entity.h
r9008 r9110 198 198 int list_write; //!< entity's list 199 199 int list_handle; //!< handle for list changes 200 201 float health_write; 202 int health_handle; 203 204 float healthMax_write; 205 int healthMax_handle; 200 206 201 207 CollisionHandle* collisionHandles[CREngine::CR_NUMBER]; //!< the list of the collision reactions
Note: See TracChangeset
for help on using the changeset viewer.