- Timestamp:
- Jun 10, 2005, 6:21:25 PM (19 years ago)
- Location:
- orxonox/trunk
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
orxonox/trunk/orxonox.kdevelop
r4564 r4591 27 27 <envvars/> 28 28 <runarguments> 29 <orxonox ></orxonox>29 <orxonox/> 30 30 </runarguments> 31 31 </run> … … 156 156 </groups> 157 157 <tree> 158 <hidepatterns>*.o,*. lo,CVS</hidepatterns>158 <hidepatterns>*.o,*.a,Makefile.in,Makefile,*~</hidepatterns> 159 159 <hidenonprojectfiles>false</hidenonprojectfiles> 160 160 </tree> -
orxonox/trunk/src/defs/class_list.h
r4571 r4591 1 /* 2 orxonox - the future of 3D-vertical-scrollers 3 4 Copyright (C) 2004 orx 5 6 This program is free software; you can redistribute it and/or modify 7 it under the terms of the GNU General Public License as published by 8 the Free Software Foundation; either version 2, or (at your option) 9 any later version. 10 11 ### File Specific: 12 main-programmer: Patrick Boenzli 13 co-programmer: Benjamin Grauer 14 15 */ 16 1 17 /*! 2 18 \file class_list.h 3 19 \brief list of orxonox classes 4 20 5 this is used by the ObjectManager to identify and load important classes 21 this File is used to identify an Object with its class and also with its subclasses. 22 this is also used by the ObjectManager to identify and load important classes 6 23 */ 7 24 … … 11 28 12 29 //! list of all classes to be loadable in via the ObjectManager 13 typedef enum classList 30 /** 31 * inheritance is done in the following way: Classes are identified by 32 * a HEX-number eg: 0x12345678 33 * The number has 8x16 entries. 34 * The first two: 1,2 superclass identifiers to 35 * The second three are for subclasses with inheritance 36 * These two may not be the same in any way, 37 * eg. the bits may not intersect (no 1, 2 and a 3; 1,2 and 4 would be ok) 38 * The last three entries are for any classes in existence eg. SkyBox and so on 39 * 40 * \todo complete this List 41 */ 42 typedef enum ClassID 14 43 { 15 CL_ORXONOX, 44 // superclasses 45 CL_MASK_SUPERCLASS = 0xff000000, 46 CL_BASE_OBJECT = 0x01000000, 47 CL_PARENT_NODE = 0x02000000, 48 CL_WORLD_ENTITY = 0x04000000, 49 CL_STORY_ENTITY = 0x08000000, 16 50 17 CL_PARENT, 18 CL_NULL_PARENT, 19 CL_CAMERA, 20 CL_CAMERA_TARGET, 21 CL_PILOT_PARENT, 51 // subsuper-classes 52 CL_PLAYER = 0x00001000, 53 CL_NPC = 0x00002000, 54 CL_POWER_UP = 0x00004000, 55 CL_FIELD = 0x00008000, 56 CL_PROJECTILE = 0x00010000, 57 CL_WEAPON = 0x00020000, 22 58 23 CL_WORLD_ENTITY, 24 CL_ENVIRONEMENT, 25 CL_NPC, 26 CL_PLAYER, 27 CL_POWER_UP, 28 CL_PROJECTILE, 29 CL_SATELLITE, 30 CL_SKYBOX, 31 CL_SKYSPHERE, 32 CL_TERRAIN, 33 CL_TEST_BULLET, 34 CL_TEST_ENTITY, 35 CL_TEST_GUN, 36 CL_WEAPON, 59 60 // singleton classes (range from 0x00000001 to 0x000000ff) 61 CL_MASK_SINGLETON = 0x0000003f, 62 CL_ORXONOX = 0x00000001, 63 CL_NULL_PARENT = 0x00000002, 64 CL_PILOT_PARENT = 0x00000003, 65 66 CL_OBJECT_MANAGER = 0x00000004, 67 CL_RESOURCE_MANAGER = 0x00000005, 68 CL_GARBAGE_COLLECTOR = 0x00000006, 69 CL_GAME_LOADER = 0x00000007, 70 CL_GRAPHICS_ENGINE = 0x00000008, 71 CL_TEXT_ENGINE = 0x00000009, 72 CL_LIGHT_MANAGER = 0x0000000a, 73 CL_EVENT_HANDLER = 0x0000000b, 74 CL_PHYSICS_ENGINE = 0x0000000c, 75 CL_CD_ENGINE = 0x0000000d, 76 CL_PARTICLE_ENGINE = 0x0000000e, 77 CL_SOUND_ENGINE = 0x0000000f, 78 CL_ANIMATION_PLAYER = 0x00000010, 79 CL_TRACK_MANAGER = 0x00000011, 80 CL_TRACK_NODE = 0x00000012, 81 CL_STATE = 0x00000013, 82 CL_FRAMEWORK = 0x00000014, 83 84 85 86 // story entities (range from 0x00000101 to 0x000001ff) 87 CL_CAMPAIGN = 0x00000101, 88 CL_WORLD = 0x00000102, 89 90 // world entities (range from 0x00000201 to 0x000005ff) 91 CL_CAMERA = 0x00000201, 92 CL_CAMERA_TARGET = 0x00000202, 93 94 CL_ENVIRONEMENT = 0x00000203, 95 CL_SATELLITE = 0x00000204, 96 CL_SKYBOX = 0x00000205, 97 CL_SKYSPHERE = 0x00000206, 98 CL_TERRAIN = 0x00000207, 99 CL_TEST_BULLET = 0x00000208, 100 CL_TEST_ENTITY = 0x00000209, 101 CL_TEST_GUN = 0x0000020a, 102 37 103 CL_CHARACTER_ATTRIBUTES, 38 104 39 CL_STORY_ENTITY,40 CL_CAMPAIGN,41 CL_WORLD,42 CL_TRACK_MANAGER,43 CL_TRACK_NODE,44 105 45 106 CL_ANIMATION, 46 107 CL_ANIMATION3D, 47 CL_ANIMATION_PLAYER,48 108 49 109 CL_ARRAY, 50 CL_BASE_OBJECT,51 110 CL_CURVE, 52 111 CL_VECTOR, … … 57 116 CL_LOAD_PARAM, 58 117 59 CL_OBJECT_MANAGER,60 CL_RESOURCE_MANAGER,61 CL_GARBAGE_COLLECTOR,62 CL_GAME_LOADER,63 CL_COMMAND_NODE,64 118 65 119 CL_EVENT, 66 CL_EVENT_HANDLER,67 120 CL_EVENT_LISTENER, 68 121 CL_KEY_MAPPER, 69 122 70 CL_GRAPHICS_ENGINE,71 CL_TEXT_ENGINE,72 123 CL_TEXT, 73 124 CL_GLMENU_IMAGE_SCREEN, 74 125 CL_LIGHT, 75 CL_LIGHT_MANAGER,76 126 CL_MATERIAL, 77 127 CL_MD2Model, … … 81 131 82 132 CL_PARTICLE_EMITTER, 83 CL_PARTICLE_ENGINE,84 133 CL_PARTICLE_SYSTEM, 85 134 86 CL_CD_ENGINE,87 135 CL_COLLISION, 88 136 CL_BV_TREE, … … 94 142 CL_BOUNDING_SPHERE, 95 143 96 97 144 CL_NUMBER 98 145 }; -
orxonox/trunk/src/lib/lang/base_object.cc
r4470 r4591 1 1 2 2 3 /* 3 /* 4 4 orxonox - the future of 3D-vertical-scrollers 5 5 … … 30 30 { 31 31 this->className = NULL; 32 this-> id = -1;32 this->classID = CL_BASE_OBJECT; 33 33 this->finalized = false; 34 34 … … 42 42 \brief standard deconstructor 43 43 */ 44 BaseObject::~BaseObject () 44 BaseObject::~BaseObject () 45 45 { 46 46 // delete []this->className; … … 57 57 // name setup 58 58 LoadParam<BaseObject>(root, "name", this, &BaseObject::setName) 59 59 .describe("the name of the Object at hand"); 60 60 } 61 61 … … 65 65 \param className the class name 66 66 */ 67 void BaseObject::setClassID( int id, const char* className)67 void BaseObject::setClassID(long classID, const char* className) 68 68 { 69 this-> id = id;70 this-> className = className;69 this->setClassID(classID); 70 this->setClassName(className); 71 71 } 72 72 … … 76 76 \param id a number for the class from class_list.h enumeration 77 77 */ 78 void BaseObject::setClassID ( int id)78 void BaseObject::setClassID (long classID) 79 79 { 80 this-> id = id;80 this->classID = classID; 81 81 } 82 82 … … 106 106 107 107 /** 108 \brief set the name of the node 109 110 for debug purposes realy usefull, not used to work properly 111 */ 112 void BaseObject::setName (const char* newName) 108 \brief set the name of the Object 109 */ 110 void BaseObject::setName (const char* objectName) 113 111 { 114 112 if (this->objectName) 115 113 delete []this->objectName; 116 if ( newName)114 if (objectName) 117 115 { 118 this->objectName = new char[strlen( newName)+1];119 strcpy(this->objectName, newName);116 this->objectName = new char[strlen(objectName)+1]; 117 strcpy(this->objectName, objectName); 120 118 } 121 else 119 else 122 120 this->objectName = NULL; 123 121 } -
orxonox/trunk/src/lib/lang/base_object.h
r4539 r4591 1 /*! 1 /*! 2 2 \file base_object.h 3 3 \brief Definition of the base object class. … … 30 30 void setName (const char* newName); 31 31 /** \brief returns the Name of this Object */ 32 const char* getName (void)const { return this->objectName; };32 inline const char* getName (void)const { return this->objectName; }; 33 33 34 34 /** \returns the className of the corresponding Object */ 35 inline const char* getClassName(void) const { return this->className; };35 inline const char* getClassName(void) const { return this->className; }; 36 36 /** \returns the classID of the corresponding Object */ 37 inline int getClassID(void) const { return this-> id; }37 inline int getClassID(void) const { return this->classID; } 38 38 39 39 // bool isA (char* className); … … 44 44 45 45 protected: 46 void setClassID( int id);46 void setClassID(long classID); 47 47 void setClassName(const char* className); 48 void setClassID( int id, const char* className);48 void setClassID(long classID, const char* className); 49 49 50 50 /** \brief this finalizes an object and makes it ready to be garbage collected */ … … 52 52 53 53 private: 54 const char* className; //!< the name of the class 55 int id; //!< this is the id from the class_list.h enumeration 54 const char* className; //!< the name of the class 55 long classID; //!< this is the id from the class_list.h enumeration 56 char* objectName; //!< The name of this object 57 56 58 bool finalized; //!< is true if the object is ready to be garbage collected 57 58 char* objectName; //!< The name of this object59 59 }; 60 60 -
orxonox/trunk/src/util/object_manager.h
r4519 r4591 1 /*! 1 /*! 2 2 \file object_manager.h 3 3 \brief this manager will ceep track of the objects in the world 4 4 5 5 This is specially designed to: 6 6 - Give an interface to the world data … … 25 25 26 26 #include "class_list.h" 27 27 28 28 29 29 class WorldEntity; … … 33 33 //! This defines the "template" macro function for cache(...) 34 34 #define mCache( Class ) \ 35 cache( classListindex, int number, Class * copyObject) \35 cache(ClassID index, int number, Class * copyObject) \ 36 36 { \ 37 37 this->managedObjectList[index] = new tList<BaseObject>(); \ … … 51 51 /** \returns a Pointer to the only object of this Class */ 52 52 inline static ObjectManager* getInstance(void) { if (!singletonRef) singletonRef = new ObjectManager(); return singletonRef; }; 53 53 54 54 /** a class handled by the objectManage */ 55 55 void mCache(Projectile);
Note: See TracChangeset
for help on using the changeset viewer.