Changeset 5332 in orxonox.OLD for trunk/src/util/loading/load_param.cc
- Timestamp:
- Oct 9, 2005, 12:02:13 AM (19 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/util/loading/load_param.cc
r5227 r5332 13 13 co-programmer: ... 14 14 */ 15 16 #include "functor_list.h" 15 17 16 18 #include "load_param.h" … … 64 66 65 67 this->paramDesc->paramCount = paramCount; 66 this->paramDesc->types = new char*[paramCount];68 this->paramDesc->types = new int[paramCount]; 67 69 this->paramDesc->defaultValues = new char*[paramCount]; 68 70 … … 73 75 { 74 76 // parameters parsed 75 const char* tmpTypeName = va_arg (types, const char*); 76 this->paramDesc->types[i] = new char[strlen(tmpTypeName)+1]; 77 strcpy(this->paramDesc->types[i], tmpTypeName); 78 79 //! @todo SWITCH CASE WITH l_[TYPE]_TYPE -> much faster 80 // default value description 81 if (!strcmp(tmpTypeName, l_INT_NAME)) 77 int tmpType = va_arg (types, int); 78 this->paramDesc->types[i] = tmpType; 79 80 //! @todo SWITCH CASE WITH l_[TYPE]_TYPE -> much faster (more usefull) 81 switch (tmpType) 82 82 { 83 sprintf(defaultVal, "%d", va_arg(types, l_INT_TYPE)); 84 } 85 else if (!strcmp(tmpTypeName, l_LONG_NAME)) 86 { 87 sprintf(defaultVal, "%0.3f", va_arg(types, l_LONG_TYPE)); 88 } 89 /* else if (!strcmp(tmpTypeName, l_SHORT_NAME)) 90 { 91 sprintf(defaultVal, "%d", va_arg(types, l_SHORT_TYPE)); 92 }*/ 93 else if (!strcmp(tmpTypeName, l_FLOAT_NAME)) 94 { 95 sprintf(defaultVal, "%0.3f", va_arg(types, double)); 96 } 97 else if (!strcmp(tmpTypeName, l_STRING_NAME)) 98 { 99 sprintf(defaultVal, "%s", va_arg(types, l_STRING_TYPE)); 100 } 101 else if (!strcmp(tmpTypeName, l_XML_ELEM_NAME)) 102 { 103 sprintf(defaultVal, ""); 83 case ParameterInt: 84 sprintf(defaultVal, "%d", va_arg(types, l_INT_TYPE)); 85 break; 86 case ParameterLong: 87 sprintf(defaultVal, "%0.3f", va_arg(types, l_LONG_TYPE)); 88 break; 89 case ParameterFloat: 90 sprintf(defaultVal, "%0.3f", va_arg(types, double)); 91 break; 92 case ParameterString: 93 sprintf(defaultVal, "%s", va_arg(types, l_STRING_TYPE)); 94 break; 95 case ParameterXML: 96 sprintf(defaultVal, ""); 97 break; 104 98 } 105 99 … … 144 138 LoadParamDescription::~LoadParamDescription() 145 139 { 146 if (this->types != NULL)147 {148 for(int i = 0; i < this->paramCount; i++)149 {150 delete []this->types[i];151 }152 }153 140 if (this->defaultValues != NULL) 154 141 { … … 184 171 if (i > 0) 185 172 PRINT(3)(","); 186 PRINT(3)("%s", this->types[i]); 173 switch (this->types[i]) 174 { 175 default: 176 PRINTF(3)("none"); 177 break; 178 case ParameterBool: 179 PRINT(3)("bool"); 180 break; 181 case ParameterChar: 182 PRINT(3)("char"); 183 break; 184 case ParameterString: 185 PRINT(3)("string"); 186 break; 187 case ParameterInt: 188 PRINT(3)("int"); 189 break; 190 case ParameterUInt: 191 PRINT(3)("Uint"); 192 break; 193 case ParameterFloat: 194 PRINT(3)("float"); 195 break; 196 case ParameterLong: 197 PRINT(3)("long"); 198 break; 199 case ParameterXML: 200 PRINT(3)("XML"); 201 break; 202 } 187 203 } 188 204 PRINT(3)("</%s>", this->paramName); … … 197 213 if (i > 0) 198 214 PRINT(3)(", "); 199 if ( !strcmp(this->types[i], l_STRING_NAME))215 if (this->types[i] & ParameterString) 200 216 { // leave brackets !! 201 217 PRINT(3)("\"%s\"", this->defaultValues[i]);
Note: See TracChangeset
for help on using the changeset viewer.