Changeset 6424 in orxonox.OLD for trunk/src/world_entities
- Timestamp:
- Jan 7, 2006, 11:07:22 PM (19 years ago)
- Location:
- trunk/src/world_entities
- Files:
-
- 17 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/world_entities/camera.cc
r6222 r6424 11 11 ### File Specific: 12 12 main-programmer: Christian Meyer 13 co-programmer: ...13 co-programmer: Benjamin Grauer 14 14 */ 15 15 #define DEBUG_SPECIAL_MODULE DEBUG_MODULE_WORLD_ENTITY … … 17 17 #include "camera.h" 18 18 19 #include "world.h"20 #include "world_entity.h"21 #include "vector.h"22 #include "event.h"23 19 #include "event_handler.h" 24 20 25 21 using namespace std; 26 22 27 ////////////28 // CAMERA //29 ////////////30 23 31 24 /** … … 58 51 */ 59 52 Camera::~Camera() 60 { 61 } 53 {} 62 54 63 55 /** … … 115 107 currentMode = mode; 116 108 switch (mode) 117 109 { 118 110 default: 119 111 case VIEW_NORMAL: 120 112 this->toFovy = 60.0; 121 /* this->setParentSoft("TrackNode");122 this->target->setParentSoft("TrackNode"); */113 /* this->setParentSoft("TrackNode"); 114 this->target->setParentSoft("TrackNode"); */ 123 115 this->setRelCoorSoft(-10, 5, 0); 124 116 this->target->setRelCoorSoft(0,0,0); 125 117 break; 126 118 case VIEW_BEHIND: 127 // this->toFovy = 120.0;128 // this->setRelCoorSoft(Vector(3.5, 0, 0));129 // this->target->setRelCoorSoft(Vector(10,0,0));130 131 // if (!strcmp(this->target->getParent()->getName(), "Player"))132 // this->target->setParentSoft("TrackNode");133 // else134 // this->target->setParentSoft("Player");135 // this->getParent()->debugNode(0);136 137 // this->setParent("main-Turret");138 // this->setParentMode(PNODE_ALL);139 // this->target->setParentSoft("Player");119 // this->toFovy = 120.0; 120 // this->setRelCoorSoft(Vector(3.5, 0, 0)); 121 // this->target->setRelCoorSoft(Vector(10,0,0)); 122 123 // if (!strcmp(this->target->getParent()->getName(), "Player")) 124 // this->target->setParentSoft("TrackNode"); 125 // else 126 // this->target->setParentSoft("Player"); 127 // this->getParent()->debugNode(0); 128 129 // this->setParent("main-Turret"); 130 // this->setParentMode(PNODE_ALL); 131 // this->target->setParentSoft("Player"); 140 132 141 133 break; 142 134 case VIEW_FRONT: 143 135 this->toFovy = 120.0; 144 /* this->setParentSoft("Player");145 this->target->setParentSoft("Player");*/146 147 148 // this->target->setRelDirSoft(Quaternion(M_PI/4.0, Vector(0,1,0)));136 /* this->setParentSoft("Player"); 137 this->target->setParentSoft("Player");*/ 138 this->setRelCoorSoft(4, 0, 0, 5); 139 this->target->setRelCoorSoft(Vector(10,0,0), 5); 140 // this->target->setRelDirSoft(Quaternion(M_PI/4.0, Vector(0,1,0))); 149 141 break; 150 142 case VIEW_LEFT: 151 143 this->toFovy = 90; 152 /* this->setParentSoft("TrackNode");153 this->target->setParentSoft("TrackNode");*/144 /* this->setParentSoft("TrackNode"); 145 this->target->setParentSoft("TrackNode");*/ 154 146 this->setRelCoorSoft(0, 1, -10, .5); 155 147 this->target->setRelCoorSoft(0,0,0); … … 157 149 case VIEW_RIGHT: 158 150 this->toFovy = 90; 159 /* this->setParentSoft("TrackNode");160 this->target->setParentSoft("TrackNode");*/151 /* this->setParentSoft("TrackNode"); 152 this->target->setParentSoft("TrackNode");*/ 161 153 this->setRelCoorSoft(Vector(0, 1, 10)); 162 154 this->target->setRelCoorSoft(0,0,0); … … 164 156 case VIEW_TOP: 165 157 this->toFovy= 120; 166 /* this->setParentSoft("TrackNode");167 this->target->setParentSoft("TrackNode");*/158 /* this->setParentSoft("TrackNode"); 159 this->target->setParentSoft("TrackNode");*/ 168 160 this->setRelCoorSoft(Vector(30, 50, 0)); 169 161 this->target->setRelCoorSoft(35,0,0); 170 162 } 171 163 } 172 164 … … 216 208 // switching back to Modeling Matrix 217 209 glMatrixMode (GL_MODELVIEW); 218 // this->target->getParent()->getParent()->debugDraw(0, 2, Vector(1,0,0));210 // this->target->getParent()->getParent()->debugDraw(0, 2, Vector(1,0,0)); 219 211 } 220 212 … … 226 218 { 227 219 if( event.type == KeyMapper::PEV_VIEW0) 228 229 230 220 { 221 this->setViewMode(VIEW_NORMAL); 222 } 231 223 else if( event.type == KeyMapper::PEV_VIEW1) 232 233 234 224 { 225 this->setViewMode(VIEW_BEHIND); 226 } 235 227 else if( event.type == KeyMapper::PEV_VIEW2) 236 237 238 228 { 229 this->setViewMode(VIEW_FRONT); 230 } 239 231 else if( event.type == KeyMapper::PEV_VIEW3) 240 241 242 232 { 233 this->setViewMode(VIEW_LEFT); 234 } 243 235 else if( event.type == KeyMapper::PEV_VIEW4) 244 245 246 236 { 237 this->setViewMode(VIEW_RIGHT); 238 } 247 239 else if( event.type == KeyMapper::PEV_VIEW5) 248 249 250 240 { 241 this->setViewMode(VIEW_TOP); 242 } 251 243 } 252 244 … … 260 252 { 261 253 this->setClassID(CL_CAMERA_TARGET, "CameraTarget"); 262 // this->setParentMode(PNODE_MOVEMENT);263 } 264 254 // this->setParentMode(PNODE_MOVEMENT); 255 } 256 -
trunk/src/world_entities/power_ups/laser_power_up.cc
r6222 r6424 19 19 #include "factory.h" 20 20 #include "state.h" 21 #include "network_game_manager.h" 21 22 22 23 #include "primitive_model.h" … … 118 119 } 119 120 121 int LaserPowerUp::writeBytes( const byte * data, int length, int sender ) 122 { 123 setRequestedSync( false ); 124 setIsOutOfSync( false ); 125 126 SYNCHELP_READ_BEGIN(); 127 128 SYNCHELP_READ_FKT( PowerUp::writeState ); 129 130 return SYNCHELP_READ_N; 131 } 132 133 134 135 int LaserPowerUp::readBytes( byte * data, int maxLength, int * reciever ) 136 { 137 if ( isOutOfSync() && !requestedSync() && this->getHostID()!=this->getOwner() ) 138 { 139 (NetworkGameManager::getInstance())->sync( this->getUniqueID(), this->getOwner() ); 140 setRequestedSync( true ); 141 } 142 143 int rec = this->getRequestSync(); 144 if ( rec > 0 ) 145 { 146 *reciever = rec; 147 148 SYNCHELP_WRITE_BEGIN(); 149 150 SYNCHELP_WRITE_FKT( PowerUp::readState ); 151 152 return SYNCHELP_WRITE_N; 153 } 154 155 *reciever = 0; 156 return 0; 157 } 158 -
trunk/src/world_entities/power_ups/laser_power_up.h
r5511 r6424 23 23 virtual void draw() const; 24 24 25 virtual int writeBytes(const byte* data, int length, int sender); 26 virtual int readBytes(byte* data, int maxLength, int * reciever ); 27 25 28 private: 26 29 void init(); -
trunk/src/world_entities/power_ups/param_power_up.cc
r6243 r6424 25 25 #include "factory.h" 26 26 #include "load_param.h" 27 #include "network_game_manager.h" 27 28 28 29 using namespace std; … … 53 54 void ParamPowerUp::init() 54 55 { 56 this->setClassID(CL_PARAM_POWER_UP, "ParamPowerUp"); 55 57 this->value = 0; 56 58 this->max_value = 0; … … 63 65 static_cast<PowerUp*>(this)->loadParams(root); 64 66 LoadParam(root, "type", this, ParamPowerUp, setType); 65 if(root->FirstChildElement("value") != NULL) { 67 68 if( root != NULL && root->FirstChildElement("value") != NULL) { 69 66 70 LoadParam(root, "value", this, ParamPowerUp, setValue); 67 71 } … … 116 120 } 117 121 122 int ParamPowerUp::writeBytes( const byte * data, int length, int sender ) 123 { 124 setRequestedSync( false ); 125 setIsOutOfSync( false ); 118 126 127 SYNCHELP_READ_BEGIN(); 128 129 SYNCHELP_READ_FKT( PowerUp::writeState ); 130 131 int i; 132 SYNCHELP_READ_INT( i ); 133 this->type = (EnumParamPowerUpType)i; 134 SYNCHELP_READ_INT( this->value ); 135 136 if ( this->value != 0 ) 137 { 138 SYNCHELP_READ_INT( this->min_value ); 139 SYNCHELP_READ_INT( this->max_value ); 140 } 141 142 return SYNCHELP_READ_N; 143 } 144 145 146 147 int ParamPowerUp::readBytes( byte * data, int maxLength, int * reciever ) 148 { 149 if ( isOutOfSync() && !requestedSync() && this->getHostID()!=this->getOwner() ) 150 { 151 (NetworkGameManager::getInstance())->sync( this->getUniqueID(), this->getOwner() ); 152 setRequestedSync( true ); 153 } 154 155 int rec = this->getRequestSync(); 156 if ( rec > 0 ) 157 { 158 *reciever = rec; 159 160 SYNCHELP_WRITE_BEGIN(); 161 162 SYNCHELP_WRITE_FKT( PowerUp::readState ); 163 164 int i = this->type; 165 SYNCHELP_WRITE_INT( i ); 166 SYNCHELP_WRITE_INT( this->value ); 167 168 if ( this->value != 0 ) 169 { 170 SYNCHELP_WRITE_INT( this->min_value ); 171 SYNCHELP_WRITE_INT( this->max_value ); 172 } 173 174 return SYNCHELP_WRITE_N; 175 } 176 177 *reciever = 0; 178 return 0; 179 } 180 -
trunk/src/world_entities/power_ups/param_power_up.h
r6113 r6424 30 30 int getValue(); 31 31 32 virtual int writeBytes(const byte* data, int length, int sender); 33 virtual int readBytes(byte* data, int maxLength, int * reciever ); 34 32 35 protected: 33 36 virtual void respawn(); -
trunk/src/world_entities/power_ups/power_up.cc
r6282 r6424 25 25 PowerUp::PowerUp(float r, float g, float b) 26 26 { 27 this->setClassID(CL_POWER_UP, "PowerUp"); 28 27 29 this->respawnType = RESPAWN_NONE; 28 30 /* if(!PowerUp::sphereModel) {*/ … … 52 54 void PowerUp::collidesWith (WorldEntity* entity, const Vector& location) 53 55 { 54 if(entity->isA(CL_EXTENDABLE))56 if(entity->isA(CL_EXTENDABLE)) 55 57 { 56 58 if(dynamic_cast<Extendable*>(entity)->pickup(this)) … … 94 96 } 95 97 98 /** 99 * data copied in data will bee sent to another host 100 * @param data pointer to data 101 * @param maxLength max length of data 102 * @return the number of bytes writen 103 */ 104 int PowerUp::readState( byte * data, int maxLength ) 105 { 106 SYNCHELP_WRITE_BEGIN(); 107 SYNCHELP_WRITE_FKT( WorldEntity::readState ); 108 return SYNCHELP_WRITE_N; 109 } 110 111 /** 112 * Writes data from network containing information about the state 113 * @param data pointer to data 114 * @param length length of data 115 * @param sender hostID of sender 116 */ 117 int PowerUp::writeState( const byte * data, int length, int sender ) 118 { 119 SYNCHELP_READ_BEGIN(); 120 SYNCHELP_READ_FKT( WorldEntity::writeState ); 121 return SYNCHELP_READ_N; 122 } 123 -
trunk/src/world_entities/power_ups/power_up.h
r6282 r6424 26 26 void setRespawnType(const char* type); 27 27 28 int writeState(const byte* data, int length, int sender); 29 int readState(byte* data, int maxLength ); 30 28 31 protected: 29 32 PowerUp(float r, float g, float b); -
trunk/src/world_entities/power_ups/turret_power_up.cc
r6222 r6424 18 18 #include "turret_power_up.h" 19 19 #include "factory.h" 20 #include "network_game_manager.h" 20 21 #include "state.h" 21 22 … … 118 119 } 119 120 121 int TurretPowerUp::writeBytes( const byte * data, int length, int sender ) 122 { 123 setRequestedSync( false ); 124 setIsOutOfSync( false ); 125 126 SYNCHELP_READ_BEGIN(); 127 128 SYNCHELP_READ_FKT( PowerUp::writeState ); 129 130 return SYNCHELP_READ_N; 131 } 132 133 134 135 int TurretPowerUp::readBytes( byte * data, int maxLength, int * reciever ) 136 { 137 if ( isOutOfSync() && !requestedSync() && this->getHostID()!=this->getOwner() ) 138 { 139 (NetworkGameManager::getInstance())->sync( this->getUniqueID(), this->getOwner() ); 140 setRequestedSync( true ); 141 } 142 143 int rec = this->getRequestSync(); 144 if ( rec > 0 ) 145 { 146 *reciever = rec; 147 148 SYNCHELP_WRITE_BEGIN(); 149 150 SYNCHELP_WRITE_FKT( PowerUp::readState ); 151 152 return SYNCHELP_WRITE_N; 153 } 154 155 *reciever = 0; 156 return 0; 157 } -
trunk/src/world_entities/power_ups/turret_power_up.h
r5511 r6424 23 23 virtual void draw() const; 24 24 25 virtual int writeBytes(const byte* data, int length, int sender); 26 virtual int readBytes(byte* data, int maxLength, int * reciever ); 27 25 28 private: 26 29 void init(); -
trunk/src/world_entities/power_ups/weapon_power_up.cc
r6243 r6424 20 20 #include "state.h" 21 21 #include "list.h" 22 #include "network_game_manager.h" 22 23 23 24 #include "primitive_model.h" … … 85 86 this->weapon = dynamic_cast<Weapon*>(Factory::fabricate(name)); 86 87 } 88 89 int WeaponPowerUp::writeBytes( const byte * data, int length, int sender ) 90 { 91 setRequestedSync( false ); 92 setIsOutOfSync( false ); 93 94 SYNCHELP_READ_BEGIN(); 95 96 SYNCHELP_READ_FKT( PowerUp::writeState ); 97 98 //TODO: sync weapon class ( see loadParams ) 99 100 return SYNCHELP_READ_N; 101 } 102 103 104 105 int WeaponPowerUp::readBytes( byte * data, int maxLength, int * reciever ) 106 { 107 if ( isOutOfSync() && !requestedSync() && this->getHostID()!=this->getOwner() ) 108 { 109 (NetworkGameManager::getInstance())->sync( this->getUniqueID(), this->getOwner() ); 110 setRequestedSync( true ); 111 } 112 113 int rec = this->getRequestSync(); 114 if ( rec > 0 ) 115 { 116 *reciever = rec; 117 118 SYNCHELP_WRITE_BEGIN(); 119 120 SYNCHELP_WRITE_FKT( PowerUp::readState ); 121 122 //TODO: sync weapon class ( see loadParams ) 123 124 return SYNCHELP_WRITE_N; 125 } 126 127 *reciever = 0; 128 return 0; 129 } -
trunk/src/world_entities/power_ups/weapon_power_up.h
r6113 r6424 22 22 void setWeaponClass(const char* name); 23 23 24 virtual int writeBytes(const byte* data, int length, int sender); 25 virtual int readBytes(byte* data, int maxLength, int * reciever ); 26 24 27 protected: 25 28 virtual void respawn(); -
trunk/src/world_entities/space_ships/space_ship.cc
r6341 r6424 31 31 #include "key_mapper.h" 32 32 #include "event_handler.h" 33 34 #include "network_game_manager.h" 33 35 34 36 #include "power_ups/weapon_power_up.h" … … 121 123 PRINTF(4)("SPACESHIP INIT\n"); 122 124 123 //EventHandler::getInstance()->grabEvents(true);125 EventHandler::getInstance()->grabEvents(true); 124 126 125 127 bUp = bDown = bLeft = bRight = bAscend = bDescend = bRollL = bRollR = false; … … 516 518 } 517 519 } 520 521 522 int SpaceShip::writeBytes( const byte * data, int length, int sender ) 523 { 524 setRequestedSync( false ); 525 setIsOutOfSync( false ); 526 527 SYNCHELP_READ_BEGIN(); 528 529 SYNCHELP_READ_FKT( WorldEntity::writeState ); 530 531 return SYNCHELP_READ_N; 532 } 533 534 int SpaceShip::readBytes( byte * data, int maxLength, int * reciever ) 535 { 536 if ( isOutOfSync() && !requestedSync() && this->getHostID()!=this->getOwner() ) 537 { 538 (NetworkGameManager::getInstance())->sync( this->getUniqueID(), this->getOwner() ); 539 setRequestedSync( true ); 540 } 541 542 int rec = this->getRequestSync(); 543 if ( rec > 0 ) 544 { 545 *reciever = rec; 546 547 SYNCHELP_WRITE_BEGIN(); 548 549 SYNCHELP_WRITE_FKT( WorldEntity::readState ); 550 551 return SYNCHELP_WRITE_N; 552 } 553 554 *reciever = 0; 555 return 0; 556 } -
trunk/src/world_entities/space_ships/space_ship.h
r6243 r6424 44 44 bool pickup(PowerUp* powerUp); 45 45 46 virtual int writeBytes(const byte* data, int length, int sender); 47 virtual int readBytes(byte* data, int maxLength, int * reciever); 48 46 49 47 50 private: -
trunk/src/world_entities/spawning_point.cc
r6139 r6424 16 16 17 17 #include "spawning_point.h" 18 18 19 #include "load_param.h" 19 20 #include "factory.h" 21 20 22 #include "compiler.h" 21 #include "world.h" /* only temp. until the object manager is implemented*/ 23 22 24 23 25 /** … … 97 99 this->frequency, this->seed); 98 100 BaseObject* spawningEntity = Factory::fabricate(this->classID); 99 if( likely(this->world != NULL)) 100 this->world->spawn(dynamic_cast<WorldEntity*>(spawningEntity)); 101 102 // if( likely(this->world != NULL)) 103 // this->world->spawn(dynamic_cast<WorldEntity*>(spawningEntity)); 101 104 } 102 105 -
trunk/src/world_entities/weapons/ground_turret.cc
r6341 r6424 119 119 void GroundTurret::draw () const 120 120 { 121 glMatrixMode(GL_MODELVIEW); 122 glPushMatrix(); 123 float matrix[4][4]; 124 125 /* translate */ 126 glTranslatef (this->getAbsCoor ().x, 127 this->getAbsCoor ().y, 128 this->getAbsCoor ().z); 129 /* rotate */ 130 this->getAbsDir().matrix(matrix); 131 glMultMatrixf((float*)matrix); 132 133 if (this->getModel()) 134 this->getModel()->draw(); 135 136 glPopMatrix(); 121 WorldEntity::draw(); 122 137 123 if (this->left != NULL) 138 124 this->left->draw(); -
trunk/src/world_entities/world_entity.cc
r6341 r6424 35 35 ->defaultValues(2, "models/ships/fighter.obj", 1.0); 36 36 37 SHELL_COMMAND(debugEntity, WorldEntity, debugWE); 37 38 38 39 /** … … 48 49 49 50 this->obbTree = NULL; 51 52 this->md2TextureFileName = NULL; 50 53 51 54 if (root != NULL) … … 105 108 void WorldEntity::loadModel(const char* fileName, float scaling, unsigned int modelNumber) 106 109 { 110 this->scaling = scaling; 107 111 if ( fileName != NULL && strcmp(fileName, "") ) 108 112 { … … 123 127 return; 124 128 } 125 129 if (scaling == 0.0) 130 { 131 scaling = 1.0; 132 PRINTF(1)("YOU GAVE ME A CRAPY SCALE resetting to 1\n"); 133 } 126 134 if(strstr(fileName, ".obj")) 127 135 { … … 343 351 } 344 352 353 354 /** 355 * Debug the WorldEntity 356 */ 357 void WorldEntity::debugEntity() const 358 { 359 PRINT(0)("WorldEntity %s::%s (DEBUG)\n", this->getClassName(), this->getName()); 360 this->debugNode(); 361 PRINT(0)("List: %s ; ModelCount %d - ", ObjectManager::OMListToString(this->objectListNumber) , this->models.size()); 362 for (unsigned int i = 0; i < this->models.size(); i++) 363 { 364 if (models[i] != NULL) 365 PRINT(0)(" : %d:%s", i, this->models[i]->getName()); 366 } 367 PRINT(0)("\n"); 368 369 } 370 371 345 372 /** 346 373 * Writes data from network containing information about the state … … 359 386 SYNCHELP_READ_FLOAT( scaling ); 360 387 //check if modelFileName is relative to datadir or absolute 361 if ( strstr(modelFileName, ResourceManager::getInstance()->getDataDir()) ) 362 { 363 loadModel( modelFileName+strlen(ResourceManager::getInstance()->getDataDir()), scaling ); 364 } 365 else 366 { 367 loadModel( modelFileName, scaling ); 388 389 if ( strcmp(modelFileName, "") ) 390 { 391 392 if ( strstr(modelFileName, ResourceManager::getInstance()->getDataDir()) ) 393 { 394 loadModel( modelFileName+strlen(ResourceManager::getInstance()->getDataDir()), scaling ); 395 } 396 else 397 { 398 loadModel( modelFileName, scaling ); 399 } 368 400 } 369 401 delete[] modelFileName; 402 403 SYNCHELP_READ_STRINGM( modelFileName ); 404 if ( strcmp(modelFileName, "") ) 405 this->md2TextureFileName = modelFileName; 370 406 371 407 return SYNCHELP_READ_N; … … 386 422 SYNCHELP_WRITE_STRING( getModel( 0 )->getName() ); 387 423 SYNCHELP_WRITE_FLOAT( scaling ); 424 if ( this->md2TextureFileName!=NULL && strcmp(this->md2TextureFileName, "") ) 425 { 426 SYNCHELP_WRITE_STRING(this->md2TextureFileName); 427 } 428 else 429 { 430 SYNCHELP_WRITE_STRING(""); 431 } 432 388 433 return SYNCHELP_WRITE_N; 389 434 } -
trunk/src/world_entities/world_entity.h
r6341 r6424 60 60 void drawBVTree(unsigned int depth, int drawMode) const; 61 61 62 63 void debugWE() { this->debugEntity(); }; ///FIXME 64 void debugEntity() const; 65 66 62 67 /* @returns the Count of Faces on this WorldEntity */ 63 68 //unsigned int getFaceCount () const { return (this->model != NULL)?this->model->getFaceCount():0; };
Note: See TracChangeset
for help on using the changeset viewer.