Changeset 7214 in orxonox.OLD
- Timestamp:
- Mar 10, 2006, 7:18:03 PM (19 years ago)
- Location:
- branches/std/src
- Files:
-
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/std/src/lib/lang/base_object.cc
r7203 r7214 37 37 this->classID = CL_BASE_OBJECT; 38 38 39 this->objectName = NULL;39 this->objectName = ""; 40 40 this->classList = NULL; 41 41 this->xmlElem = NULL; … … 52 52 53 53 // delete []this->className; 54 if (this->objectName)55 delete[] this->objectName;56 54 if (this->xmlElem != NULL) 57 55 delete this->xmlElem; … … 97 95 void BaseObject::setName (const std::string& objectName) 98 96 { 99 if (this->objectName) 100 delete[] this->objectName; 101 if (!objectName.empty()) 102 { 103 this->objectName = new char[objectName.size()+1]; 104 strcpy(this->objectName, objectName.c_str()); 105 } 106 else 107 this->objectName = NULL; 97 printf("TEST\n"); 98 this->objectName = objectName; 99 printf("TEST2\n"); 108 100 } 109 101 … … 175 167 bool BaseObject::operator==(const char* objectName) 176 168 { 177 if (likely(this->objectName != NULL && objectName != NULL)) 178 return (strcmp(this->objectName, objectName)) ? false : true; 169 return (objectName != NULL && this->objectName == objectName); 179 170 } 180 171 … … 197 188 int BaseObject::writeState( const byte * data, int length, int sender ) 198 189 { 199 SYNCHELP_READ_BEGIN(); 200 201 if ( objectName ) 190 /// FIXME STD 191 192 /* SYNCHELP_READ_BEGIN(); 193 194 if ( !objectName.empty() ) 202 195 { 203 196 delete[] objectName; … … 211 204 } 212 205 213 return SYNCHELP_READ_N; 206 return SYNCHELP_READ_N;*/ 214 207 } 215 208 … … 222 215 int BaseObject::readState( byte * data, int maxLength ) 223 216 { 224 SYNCHELP_WRITE_BEGIN(); 217 ///FIXME STD 218 /* SYNCHELP_WRITE_BEGIN(); 225 219 226 220 //PRINTF(0)("objectname = %s\n", this->objectName); 227 221 SYNCHELP_WRITE_STRING( this->objectName, NWT_BO_NAME ); 228 222 229 return SYNCHELP_WRITE_N; 230 } 223 return SYNCHELP_WRITE_N;*/ 224 } -
branches/std/src/lib/lang/base_object.h
r7203 r7214 33 33 void setName (const std::string& newName); 34 34 /** returns the Name of this Object */ 35 inline const char* getName ()const { return this->objectName ; };35 inline const char* getName ()const { return this->objectName.c_str(); }; 36 36 /** @returns the XML-Element with whicht this Object was loaded */ 37 37 inline TiXmlNode* getXmlElem() const { return this->xmlElem; }; … … 60 60 const char* className; //!< the name of the class 61 61 long classID; //!< this is the id from the class_id.h enumeration 62 char*objectName; //!< The name of this object62 std::string objectName; //!< The name of this object 63 63 64 64 ClassList* classList; //!< Pointer to the ClassList this Object is inside of -
branches/std/src/lib/util/executor/executor.h
r7212 r7214 48 48 49 49 /** executes a Command @param object the object to apply this to @param parameters the parameters the command takes */ 50 virtual void execute (BaseObject* object, const void* parameters = NULL) = 0;50 virtual void execute (BaseObject* object, const std::string& parameters = "") = 0; 51 51 52 52 /** @returns the Type of this Function (either static or objective) */ … … 192 192 #define ExecutorExecute1(t1) \ 193 193 else if (this->paramCount == 1 && this->defaultValue[0] == t1##_PARAM) \ 194 EXECUTOREXECUTER(_1_##t1)(t1##_FUNC( (const char*)parameters, t1##_DEFGRAB(0)))194 EXECUTOREXECUTER(_1_##t1)(t1##_FUNC(sub[0], t1##_DEFGRAB(0))) 195 195 196 196 //! execute-macro for functions with two parameters 197 197 #define ExecutorExecute2(t1,t2) \ 198 198 else if (this->paramCount == 2 && this->defaultValue[0] == t1##_PARAM && this->defaultValue[1] == t2##_PARAM) \ 199 EXECUTOREXECUTER(_2_##t1##_##t2)(t1##_FUNC(sub .getString(0), t1##_DEFGRAB(0)), t2##_FUNC(sub.getString(1), t2##_DEFGRAB(1)))199 EXECUTOREXECUTER(_2_##t1##_##t2)(t1##_FUNC(sub[0], t1##_DEFGRAB(0)), t2##_FUNC(sub[1], t2##_DEFGRAB(1))) 200 200 201 201 //! execute-macro for functions with three parameters 202 202 #define ExecutorExecute3(t1,t2,t3) \ 203 203 else if (this->paramCount == 3 && this->defaultValue[0] == t1##_PARAM && this->defaultValue[1] == t2##_PARAM && this->defaultValue[2] == t3##_PARAM) \ 204 EXECUTOREXECUTER(_3_##t1##_##t2##_##t3)(t1##_FUNC(sub .getString(0), t1##_DEFGRAB(0)), t2##_FUNC(sub.getString(1), t2##_DEFGRAB(1)), t3##_FUNC(sub.getString(2), t3##_DEFGRAB(2)))204 EXECUTOREXECUTER(_3_##t1##_##t2##_##t3)(t1##_FUNC(sub[0], t1##_DEFGRAB(0)), t2##_FUNC(sub[1], t2##_DEFGRAB(1)), t3##_FUNC(sub[2], t3##_DEFGRAB(2))) 205 205 206 206 //! execute-macro for functions with four parameters 207 207 #define ExecutorExecute4(t1,t2,t3,t4) \ 208 208 else if (this->paramCount == 4 && this->defaultValue[0] == t1##_PARAM && this->defaultValue[1] == t2##_PARAM && this->defaultValue[2] == t3##_PARAM && this->defaultValue[3] == t4##_PARAM) \ 209 EXECUTOREXECUTER(_4_##t1##_##t2##_##t3##_##t4)(t1##_FUNC(sub .getString(0), t1##_DEFGRAB(0)), t2##_FUNC(sub.getString(1), t2##_DEFGRAB(1)), t3##_FUNC(sub.getString(2), t3##_DEFGRAB(2)), t4##_FUNC(sub.getString(3), t4##_DEFGRAB(3))) \209 EXECUTOREXECUTER(_4_##t1##_##t2##_##t3##_##t4)(t1##_FUNC(sub[0], t1##_DEFGRAB(0)), t2##_FUNC(sub[1], t2##_DEFGRAB(1)), t3##_FUNC(sub[2], t3##_DEFGRAB(2)), t4##_FUNC(sub[3], t4##_DEFGRAB(3))) \ 210 210 211 211 … … 213 213 #define ExecutorExecute5(t1,t2,t3,t4,t5) \ 214 214 else if (this->paramCount == 5 && this->defaultValue[0] == t1##_PARAM && this->defaultValue[1] == t2##_PARAM && this->defaultValue[2] == t3##_PARAM && this->defaultValue[3] == t4##_PARAM && this->defaultValue[4] == t5##_PARAM) \ 215 EXECUTOREXECUTER(_5_##t1##_##t2##_##t3##_##t4##_##t5)(t1##_FUNC(sub .getString(0), t1##_DEFGRAB(0)), t2##_FUNC(sub.getString(1), t2##_DEFGRAB(1)), t3##_FUNC(sub.getString(2), t3##_DEFGRAB(2)), t4##_FUNC(sub.getString(3), t4##_DEFGRAB(3)), t5##_FUNC(sub.getString(4), t5##_DEFGRAB(4)))215 EXECUTOREXECUTER(_5_##t1##_##t2##_##t3##_##t4##_##t5)(t1##_FUNC(sub[0], t1##_DEFGRAB(0)), t2##_FUNC(sub[1], t2##_DEFGRAB(1)), t3##_FUNC(sub[2], t3##_DEFGRAB(2)), t4##_FUNC(sub[3], t4##_DEFGRAB(3)), t5##_FUNC(sub[4], t5##_DEFGRAB(4))) 216 216 217 217 … … 242 242 #define EXECUTORTYPE Executor_Objective 243 243 //! keeps information about a Executor 244 template<class T> class E xecutorObjective: public Executor244 template<class T> class EXECUTOR : public Executor 245 245 { 246 246 public: 247 E xecutorObjective() : Executor() { };247 EXECUTOR() : Executor() { }; 248 248 // COPY constuctor (virtual version) 249 249 virtual Executor* clone () const 250 250 { 251 E xecutorObjective<T>* executor = new ExecutorObjective<T>();251 EXECUTOR<T>* executor = new EXECUTOR<T>(); 252 252 this->cloning(executor); 253 253 executor->fp = this->fp; … … 268 268 } fp; 269 269 270 virtual void execute (BaseObject* object, const void* parameters = NULL)270 virtual void execute (BaseObject* object, const std::string& parameters = "") 271 271 { 272 272 SubString sub; 273 printf("===%s\n", (const char*)parameters);274 if (parameters != NULL)275 sub.split((const char*)parameters, " \n\t,", '\\');273 printf("===%s\n", parameters.c_str()); 274 sub.split(parameters, " \n\t,", '\\'); 275 sub.debug(); 276 276 //! FUNCTOR_LIST is the List of Executive Functions 277 277 #define FUNCTOR_LIST(x) ExecutorExecute ## x … … 309 309 { 310 310 public: 311 E xecutorStatic() : Executor() { };311 EXECUTOR() : Executor() { }; 312 312 // COPY constuctor 313 313 virtual Executor* clone () const 314 314 { 315 E xecutorStatic<T>* executor = new ExecutorStatic<T>();315 EXECUTOR<T>* executor = new EXECUTOR<T>(); 316 316 this->cloning(executor); 317 317 executor->fp = this->fp; … … 333 333 334 334 335 virtual void execute (BaseObject* object, const void* parameters = NULL)335 virtual void execute (BaseObject* object, const std::string& parameters = "") 336 336 { 337 337 SubString sub; 338 if (parameters != NULL) 339 sub.split((const char*)parameters, " \n\t,", '\\'); 338 sub.split(parameters, " \n\t,", '\\'); 340 339 //! FUNCTOR_LIST is the List of Executive Functions 341 340 #define FUNCTOR_LIST(x) ExecutorExecute ## x -
branches/std/src/lib/util/executor/executor_specials.h
r7197 r7214 60 60 * @param loadString ignored in this case 61 61 */ 62 virtual void execute(BaseObject* object, const void* parameters = NULL)62 virtual void execute(BaseObject* object, const std::string& = "") 63 63 { 64 64 if (object != NULL && this->element != NULL) -
branches/std/src/lib/util/executor/functor_list.h
r7203 r7214 74 74 //#define l_VECTOR_DEFAULT Vector(0,0,0) //!< Default value for a VECTOR 75 75 76 #define l_CSTRING_TYPE const char* //!< The type of a STRING77 #define l_CSTRING_FUNC isCString //!< The function to parse a STRING78 #define l_CSTRING_NAME "cstring" //!< The name of a STRING79 #define l_CSTRING_PARAM MT_STRING //!< the type of the parameter STRING80 #define l_CSTRING_DEFAULT "" //!< a default Value for an STRING76 #define l_CSTRING_TYPE const char* //!< The type of a CSTRING 77 #define l_CSTRING_FUNC isCString //!< The function to parse a CSTRING 78 #define l_CSTRING_NAME "cstring" //!< The name of a CSTRING 79 #define l_CSTRING_PARAM MT_STRING //!< the type of the parameter CSTRING 80 #define l_CSTRING_DEFAULT "" //!< a default Value for an CSTRING 81 81 82 82 #define l_STRING_TYPE const std::string& //!< The type of a STRING 83 83 #define l_STRING_FUNC isString //!< The function to parse a STRING 84 84 #define l_STRING_NAME "string" //!< The name of a STRING 85 #define l_STRING_PARAM MT_ STRING//!< the type of the parameter STRING85 #define l_STRING_PARAM MT_CSTRING //!< the type of the parameter STRING 86 86 #define l_STRING_DEFAULT "" //!< a default Value for an STRING 87 87 -
branches/std/src/lib/util/helper_functions.cc
r7211 r7214 104 104 { 105 105 if (STRING.size() > 0) 106 { 107 printf("DECISION1: %s\n", STRING.c_str()); 106 108 return STRING; 109 } 107 110 else 111 { 112 printf("DECISION2: %s\n", defaultValue.c_str()); 108 113 return defaultValue; 114 } 109 115 } 110 116 -
branches/std/src/lib/util/loading/load_param.cc
r7212 r7214 66 66 ((this->executor->getType() & Executor_NoLoadString) == Executor_NoLoadString))) 67 67 { 68 PRINTF(0)("Loading '%s' with Parameters '%s' onto: '%s'(%s)\n", this->paramName.c_str(), loadString.c_str(), this->object->getName(), this->object->getClassName());69 this->executor->execute(this->object, (const void*)loadString.c_str());68 PRINTF(0)("Loading value '%s' with Parameters '%s' onto: %s::%s\n", this->paramName.c_str(), loadString.c_str(), this->object->getClassName(), this->object->getName()); 69 this->executor->execute(this->object, loadString); 70 70 } 71 71 delete this->executor; -
branches/std/src/lib/util/multi_type.cc
r7211 r7214 55 55 break; 56 56 case MT_STRING: 57 case MT_CSTRING: 57 58 this->storedString = ""; 58 59 break; -
branches/std/src/lib/util/multi_type.h
r7211 r7214 24 24 MT_EXT1 = 32, //!< An external Type. 25 25 MT_EXT2 = 64, //!< An external Type. 26 27 MT_CSTRING = 128, //!< An entire String. 26 28 } MT_Type; 27 29 -
branches/std/src/lib/util/substring.cc
r7212 r7214 63 63 } 64 64 65 /** 66 * An empty String 67 */ 68 const std::string SubString::emptyString = ""; 69 70 65 71 66 72 unsigned int SubString::split(const std::string& string, char splitter) … … 101 107 102 108 /** 103 * splits line into tokens and stores them in ret. Supports delimiters, escape characters, 109 * @brief splits line into tokens and stores them in ret. 110 * @param ret the Array, where the Splitted strings will be stored in 111 * @param offsets an Array of Offsets, here the distance from the inputstring 112 * to the beginning of the current token is stored 113 * @param line the inputLine to split 114 * @param delimiters a String of Delimiters (here the input will be splitted) 115 * @param escape_char: Escape carater (escapes splitters) 116 * @param safemode_char: the beginning of the safemode is marked with this 117 * @param comment_char: the beginning of a comment is marked with this: (until the end of a Line) 118 * @param start_state: the Initial state on how to parse the String. 119 * @returns SPLIT_LINE_STATE the parser was in when returning 120 * 121 * Supports delimiters, escape characters, 104 122 * ignores special characters between safemode_char and between comment_char and linend '\n'. 105 123 * 106 * @returns SPLIT_LINE_STATE the parser was in when returning107 124 */ 108 125 SPLIT_LINE_STATE SubString::splitLine(std::vector<std::string>& ret, std::vector<unsigned int>& offsets, -
branches/std/src/lib/util/substring.h
r7212 r7214 35 35 36 36 inline unsigned int getCount() { return this->strings.size(); }; 37 const std::string& getString(unsigned int i) { return this->strings[i]; };37 const std::string& getString(unsigned int i) { return (i < this->strings.size()) ? this->strings[i] : emptyString; }; 38 38 unsigned int getOffset(unsigned int i); 39 39 … … 48 48 std::vector<std::string> strings; //!< strings produced from a single string splitted in multiple strings 49 49 std::vector<unsigned int> offsets; //!< offsets of the beginning of the input-string to the beginning of each substring. 50 51 static const std::string emptyString; 50 52 }; 51 53 -
branches/std/src/story_entities/story_entity.cc
r7203 r7214 42 42 this->loadFile = ""; 43 43 this->storyID = -1; 44 this->description = NULL;45 this->menuItemImage = NULL;46 this->menuScreenshoot = NULL;44 this->description = ""; 45 this->menuItemImage = ""; 46 this->menuScreenshoot = ""; 47 47 this->nextStoryID = WORLD_ID_GAMEEND; 48 48 this->bMenuEntry = false; … … 117 117 * @param name name 118 118 */ 119 void StoryEntity::setDescription(const char*description)119 void StoryEntity::setDescription(const std::string& description) 120 120 { 121 if (this->description) 122 delete[] this->description; 123 if (description!= NULL) 124 { 125 this->description= new char[strlen(description)+1]; 126 strcpy(this->description, description); 127 } 128 else this->description= NULL; 121 this->description = description; 129 122 } 130 123 … … 178 171 * @param name name 179 172 */ 180 void StoryEntity::setMenuItemImage(const char*image)173 void StoryEntity::setMenuItemImage(const std::string& image) 181 174 { 182 if (this->menuItemImage) 183 delete[] this->menuItemImage; 184 if (image != NULL) 185 { 186 this->menuItemImage = new char[strlen(image)+1]; 187 strcpy(this->menuItemImage, image); 188 } 189 else this->menuItemImage = NULL; 175 this->menuItemImage = image; 190 176 } 191 177 192 178 193 /** sets the menu screenshoot of this StoryEntity @param name name */ 194 void StoryEntity::setMenuScreenshoot(const char* image) 179 /** sets the menu screenshoot of this StoryEntity 180 * @param name name 181 */ 182 void StoryEntity::setMenuScreenshoot(const std::string& image) 195 183 { 196 if (this->menuScreenshoot) 197 delete[] this->menuScreenshoot; 198 if (image != NULL) 199 { 200 this->menuScreenshoot = new char[strlen(image)+1]; 201 strcpy(this->menuScreenshoot, image); 202 } 203 else this->menuScreenshoot = NULL; 184 this->menuScreenshoot = image; 204 185 } 205 186 -
branches/std/src/story_entities/story_entity.h
r7203 r7214 68 68 /** gets the story id of the current entity @returns story id */ 69 69 inline int getNextStoryID() const { return this->nextStoryID; } 70 inline void setDescription(const char*description);70 inline void setDescription(const std::string& description); 71 71 /** @returns the description of this StoryEntity */ 72 inline const char*getDescription() { return this->description; }72 inline const std::string& getDescription() { return this->description; } 73 73 74 74 void grabWorldInfo(); … … 78 78 inline bool isContainedInMenu() { return this->bMenuEntry; } 79 79 /** sets the menu item image of this StoryEntity @param name name */ 80 inline void setMenuItemImage(const char*image);80 inline void setMenuItemImage(const std::string& image); 81 81 /** @returns the menu item image of this StoryEntity */ 82 inline const char*getMenuItemImage() { return this->menuItemImage; }83 inline void setMenuScreenshoot(const char*image);82 inline const std::string& getMenuItemImage() { return this->menuItemImage; } 83 inline void setMenuScreenshoot(const std::string& image); 84 84 /** @returns the menu screenshoot of this StoryEntity */ 85 inline const char*getMenuScreenshoot() { return this->menuScreenshoot; }85 inline const std::string& getMenuScreenshoot() { return this->menuScreenshoot; } 86 86 87 87 protected: … … 96 96 std::string loadFile; //!< The file from which this world is loaded 97 97 98 char*description; //!< the description of the StoryEntity99 char*menuItemImage; //!< the item image of the StoryEntity100 char*menuScreenshoot; //!< the screenshoot of the StoryEntity98 std::string description; //!< the description of the StoryEntity 99 std::string menuItemImage; //!< the item image of the StoryEntity 100 std::string menuScreenshoot; //!< the screenshoot of the StoryEntity 101 101 bool bMenuEntry; //!< If true, this GameWorld apears in the SimpleMenu: SimpleMenu specific 102 102 }; -
branches/std/src/world_entities/elements/image_entity.cc
r7193 r7214 106 106 * @param textureFile The texture-file to load onto the crosshair 107 107 */ 108 void ImageEntity::setTexture(const char*textureFile)108 void ImageEntity::setTexture(const std::string& textureFile) 109 109 { 110 110 this->material->setDiffuseMap(textureFile); -
branches/std/src/world_entities/elements/image_entity.h
r7016 r7214 30 30 31 31 void setSize(float sizeX, float sizeY); 32 void setTexture(const char*textureFile);32 void setTexture(const std::string& textureFile); 33 33 /** @param rotationSpeed the speed at what the crosshair should rotate */ 34 34 void setRotationSpeed(float rotationSpeed) { this->rotationSpeed = rotationSpeed; };
Note: See TracChangeset
for help on using the changeset viewer.