- Timestamp:
- May 19, 2005, 7:45:28 PM (20 years ago)
- Location:
- orxonox/branches/physics/src
- Files:
-
- 18 edited
Legend:
- Unmodified
- Added
- Removed
-
orxonox/branches/physics/src/Makefile.am
r4185 r4223 83 83 lib/lang/base_object.cc \ 84 84 lib/util/ini_parser.cc \ 85 lib/util/substring.cc \ 85 86 util/common/list.cc \ 86 87 util/resource_manager.cc \ … … 167 168 util/physics/fields/twirl.h \ 168 169 lib/util/ini_parser.h \ 170 lib/util/substring.h \ 169 171 lib/math/vector.h \ 170 172 lib/math/curve.h \ -
orxonox/branches/physics/src/Makefile.in
r4185 r4223 87 87 particle_system.$(OBJEXT) particle_emitter.$(OBJEXT) \ 88 88 base_entity.$(OBJEXT) base_object.$(OBJEXT) \ 89 ini_parser.$(OBJEXT) list.$(OBJEXT) resource_manager.$(OBJEXT) \ 90 i_physics.$(OBJEXT) physics_engine.$(OBJEXT) \ 91 physics_connection.$(OBJEXT) field.$(OBJEXT) gravity.$(OBJEXT) \ 92 point_gravity.$(OBJEXT) twirl.$(OBJEXT) vector.$(OBJEXT) \ 93 curve.$(OBJEXT) glmenu_imagescreen.$(OBJEXT) tinyxml.$(OBJEXT) \ 89 ini_parser.$(OBJEXT) substring.$(OBJEXT) list.$(OBJEXT) \ 90 resource_manager.$(OBJEXT) i_physics.$(OBJEXT) \ 91 physics_engine.$(OBJEXT) physics_connection.$(OBJEXT) \ 92 field.$(OBJEXT) gravity.$(OBJEXT) point_gravity.$(OBJEXT) \ 93 twirl.$(OBJEXT) vector.$(OBJEXT) curve.$(OBJEXT) \ 94 glmenu_imagescreen.$(OBJEXT) tinyxml.$(OBJEXT) \ 94 95 tinystr.$(OBJEXT) tinyxmlerror.$(OBJEXT) \ 95 96 tinyxmlparser.$(OBJEXT) benchmark.$(OBJEXT) … … 143 144 @AMDEP_TRUE@ ./$(DEPDIR)/satellite.Po ./$(DEPDIR)/skybox.Po \ 144 145 @AMDEP_TRUE@ ./$(DEPDIR)/skysphere.Po \ 145 @AMDEP_TRUE@ ./$(DEPDIR)/story_entity.Po ./$(DEPDIR)/terrain.Po \ 146 @AMDEP_TRUE@ ./$(DEPDIR)/story_entity.Po \ 147 @AMDEP_TRUE@ ./$(DEPDIR)/substring.Po ./$(DEPDIR)/terrain.Po \ 146 148 @AMDEP_TRUE@ ./$(DEPDIR)/test_bullet.Po ./$(DEPDIR)/test_gun.Po \ 147 149 @AMDEP_TRUE@ ./$(DEPDIR)/text_engine.Po ./$(DEPDIR)/texture.Po \ … … 331 333 lib/lang/base_object.cc \ 332 334 lib/util/ini_parser.cc \ 335 lib/util/substring.cc \ 333 336 util/common/list.cc \ 334 337 util/resource_manager.cc \ … … 415 418 util/physics/fields/twirl.h \ 416 419 lib/util/ini_parser.h \ 420 lib/util/substring.h \ 417 421 lib/math/vector.h \ 418 422 lib/math/curve.h \ … … 468 472 esac; \ 469 473 done; \ 470 echo ' cd $(top_srcdir) && $(AUTOMAKE) -- foreignsrc/Makefile'; \474 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/Makefile'; \ 471 475 cd $(top_srcdir) && \ 472 $(AUTOMAKE) -- foreignsrc/Makefile476 $(AUTOMAKE) --gnu src/Makefile 473 477 .PRECIOUS: Makefile 474 478 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status … … 586 590 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/skysphere.Po@am__quote@ 587 591 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/story_entity.Po@am__quote@ 592 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/substring.Po@am__quote@ 588 593 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/terrain.Po@am__quote@ 589 594 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test_bullet.Po@am__quote@ … … 1402 1407 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1403 1408 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o ini_parser.obj `if test -f 'lib/util/ini_parser.cc'; then $(CYGPATH_W) 'lib/util/ini_parser.cc'; else $(CYGPATH_W) '$(srcdir)/lib/util/ini_parser.cc'; fi` 1409 1410 substring.o: lib/util/substring.cc 1411 @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT substring.o -MD -MP -MF "$(DEPDIR)/substring.Tpo" -c -o substring.o `test -f 'lib/util/substring.cc' || echo '$(srcdir)/'`lib/util/substring.cc; \ 1412 @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/substring.Tpo" "$(DEPDIR)/substring.Po"; else rm -f "$(DEPDIR)/substring.Tpo"; exit 1; fi 1413 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='lib/util/substring.cc' object='substring.o' libtool=no @AMDEPBACKSLASH@ 1414 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/substring.Po' tmpdepfile='$(DEPDIR)/substring.TPo' @AMDEPBACKSLASH@ 1415 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1416 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o substring.o `test -f 'lib/util/substring.cc' || echo '$(srcdir)/'`lib/util/substring.cc 1417 1418 substring.obj: lib/util/substring.cc 1419 @am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -MT substring.obj -MD -MP -MF "$(DEPDIR)/substring.Tpo" -c -o substring.obj `if test -f 'lib/util/substring.cc'; then $(CYGPATH_W) 'lib/util/substring.cc'; else $(CYGPATH_W) '$(srcdir)/lib/util/substring.cc'; fi`; \ 1420 @am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/substring.Tpo" "$(DEPDIR)/substring.Po"; else rm -f "$(DEPDIR)/substring.Tpo"; exit 1; fi 1421 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='lib/util/substring.cc' object='substring.obj' libtool=no @AMDEPBACKSLASH@ 1422 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ depfile='$(DEPDIR)/substring.Po' tmpdepfile='$(DEPDIR)/substring.TPo' @AMDEPBACKSLASH@ 1423 @AMDEP_TRUE@@am__fastdepCXX_FALSE@ $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@ 1424 @am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS) -c -o substring.obj `if test -f 'lib/util/substring.cc'; then $(CYGPATH_W) 'lib/util/substring.cc'; else $(CYGPATH_W) '$(srcdir)/lib/util/substring.cc'; fi` 1404 1425 1405 1426 list.o: util/common/list.cc -
orxonox/branches/physics/src/game_loader.cc
r4178 r4223 74 74 this will interprete the map/campaign files and recursivly load a tree of worlds/campaigns 75 75 */ 76 ErrorMessage GameLoader::loadCampaign(c har* name)76 ErrorMessage GameLoader::loadCampaign(const char* name) 77 77 { 78 78 ErrorMessage errorCode; 79 char* campaignName; 80 if (ResourceManager::isFile(name)) 81 { 82 this->currentCampaign = this->fileToCampaign(name); 83 } 84 else 85 { 86 campaignName = new char[strlen(ResourceManager::getInstance()->getDataDir())+strlen(name)]; 87 sprintf(campaignName, "%s%s", ResourceManager::getInstance()->getDataDir(), name); 79 char* campaignName = ResourceManager::getFullName(name); 80 if (campaignName) 81 { 88 82 this->currentCampaign = this->fileToCampaign(campaignName); 89 83 delete campaignName; -
orxonox/branches/physics/src/game_loader.h
r4178 r4223 39 39 40 40 ErrorMessage init(); 41 ErrorMessage loadCampaign(c har* name);41 ErrorMessage loadCampaign(const char* name); 42 42 ErrorMessage start(); 43 43 ErrorMessage stop(); -
orxonox/branches/physics/src/lib/Makefile.in
r4178 r4223 183 183 esac; \ 184 184 done; \ 185 echo ' cd $(top_srcdir) && $(AUTOMAKE) -- foreignsrc/lib/Makefile'; \185 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/lib/Makefile'; \ 186 186 cd $(top_srcdir) && \ 187 $(AUTOMAKE) -- foreignsrc/lib/Makefile187 $(AUTOMAKE) --gnu src/lib/Makefile 188 188 .PRECIOUS: Makefile 189 189 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status -
orxonox/branches/physics/src/lib/graphics/Makefile.in
r4178 r4223 177 177 esac; \ 178 178 done; \ 179 echo ' cd $(top_srcdir) && $(AUTOMAKE) -- foreignsrc/lib/graphics/Makefile'; \179 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/lib/graphics/Makefile'; \ 180 180 cd $(top_srcdir) && \ 181 $(AUTOMAKE) -- foreignsrc/lib/graphics/Makefile181 $(AUTOMAKE) --gnu src/lib/graphics/Makefile 182 182 .PRECIOUS: Makefile 183 183 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status -
orxonox/branches/physics/src/lib/graphics/importer/Makefile.in
r4178 r4223 235 235 esac; \ 236 236 done; \ 237 echo ' cd $(top_srcdir) && $(AUTOMAKE) -- foreignsrc/lib/graphics/importer/Makefile'; \237 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/lib/graphics/importer/Makefile'; \ 238 238 cd $(top_srcdir) && \ 239 $(AUTOMAKE) -- foreignsrc/lib/graphics/importer/Makefile239 $(AUTOMAKE) --gnu src/lib/graphics/importer/Makefile 240 240 .PRECIOUS: Makefile 241 241 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status -
orxonox/branches/physics/src/lib/gui/Makefile.in
r4178 r4223 179 179 esac; \ 180 180 done; \ 181 echo ' cd $(top_srcdir) && $(AUTOMAKE) -- foreignsrc/lib/gui/Makefile'; \181 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/lib/gui/Makefile'; \ 182 182 cd $(top_srcdir) && \ 183 $(AUTOMAKE) -- foreignsrc/lib/gui/Makefile183 $(AUTOMAKE) --gnu src/lib/gui/Makefile 184 184 .PRECIOUS: Makefile 185 185 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status -
orxonox/branches/physics/src/lib/gui/console/Makefile.in
r4178 r4223 205 205 esac; \ 206 206 done; \ 207 echo ' cd $(top_srcdir) && $(AUTOMAKE) -- foreignsrc/lib/gui/console/Makefile'; \207 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/lib/gui/console/Makefile'; \ 208 208 cd $(top_srcdir) && \ 209 $(AUTOMAKE) -- foreignsrc/lib/gui/console/Makefile209 $(AUTOMAKE) --gnu src/lib/gui/console/Makefile 210 210 .PRECIOUS: Makefile 211 211 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status -
orxonox/branches/physics/src/lib/gui/gui/Makefile.in
r4178 r4223 265 265 esac; \ 266 266 done; \ 267 echo ' cd $(top_srcdir) && $(AUTOMAKE) -- foreignsrc/lib/gui/gui/Makefile'; \267 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/lib/gui/gui/Makefile'; \ 268 268 cd $(top_srcdir) && \ 269 $(AUTOMAKE) -- foreignsrc/lib/gui/gui/Makefile269 $(AUTOMAKE) --gnu src/lib/gui/gui/Makefile 270 270 .PRECIOUS: Makefile 271 271 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status -
orxonox/branches/physics/src/lib/util/substring.cc
r4178 r4223 22 22 #include "substring.h" 23 23 24 #include <string.h> 25 #include <assert.h> 26 24 27 SubString::SubString( const char* string) 25 28 { 26 29 n = 0; 27 30 28 31 assert( string != NULL); 29 32 30 33 for( int i = 0; i < strlen(string); i++) if( string[i] == ',') n++; 31 34 32 35 n += 1; 33 36 34 strings = new char*[n]; 37 strings = new char*[n]; 38 39 assert (strings != NULL); 35 40 36 assert( strings != NULL); 41 int i = 0; 42 int l = 0; 37 43 38 int i = 0; 39 int l = 0; 44 const char* offset = string; 45 char* end = strchr( string, ','); 46 while( end != NULL) 47 { 48 assert( i < n); 49 l = end - offset; 50 strings[i] = new char[l + 1]; 51 assert( strings[i] != NULL); 52 strncpy( strings[i], offset, l); 53 strings[i][l] = 0; 54 i++; 55 end++; 56 offset = end; 57 end = strchr( offset, ','); 58 } 40 59 41 const char* offset = string; 42 char* end = strchr( string, ','); 43 while( end != NULL) 44 { 45 assert( i < n); 46 l = end - offset; 47 strings[i] = new char[l + 1]; 48 assert( strings[i] != NULL); 49 strncpy( strings[i], offset, l); 50 strings[i][l] = 0; 51 i++; 52 end++; 53 offset = end; 54 end = strchr( offset, ','); 55 } 56 57 strings[i] = new char[l + 1]; 58 l = strlen( offset); 59 strncpy( strings[i], offset, l); 60 strings[i][l] = 0; 60 strings[i] = new char[l + 1]; 61 l = strlen( offset); 62 strncpy( strings[i], offset, l); 63 strings[i][l] = 0; 61 64 } 62 65 … … 66 69 SubString::~SubString() 67 70 { 68 69 70 71 71 for( int i = 0; i < n; i++) 72 { 73 delete strings[i]; 74 } 72 75 73 76 delete strings; 74 77 } 75 78 … … 78 81 \returns the amount of substrings 79 82 */ 80 int SubString::get N()83 int SubString::getCount() 81 84 { 82 85 return n; 83 86 } 84 87 … … 90 93 const char* SubString::getString( int i) 91 94 { 92 93 95 if( i < n && i >= 0) return strings[i]; 96 else return NULL; 94 97 } -
orxonox/branches/physics/src/lib/util/substring.h
r4178 r4223 1 1 /*! 2 3 2 \file substring.h 3 \brief a small class to get the parts of a string separated by commas 4 4 */ 5 5 … … 7 7 #define _SUBSTRING_H 8 8 9 #include "stdincl.h"10 11 9 class SubString 12 10 { 13 11 public: 14 12 15 16 13 SubString( const char* string); 14 ~SubString(); 17 15 18 int getN();19 16 int getCount(); 17 const char* getString( int i); 20 18 21 22 23 19 private: 20 char** strings; 21 int n; 24 22 }; 25 23 -
orxonox/branches/physics/src/story_entities/world.cc
r4193 r4223 365 365 366 366 // find Track 367 /*element = root->FirstChildElement( "Track");367 element = root->FirstChildElement( "Track"); 368 368 if( element == NULL) 369 369 { … … 375 375 PRINTF0("============>>>>>>>>>>>>>>>>Loading Track\n"); 376 376 377 trackManager->load Track( element);377 trackManager->load( element); 378 378 trackManager->finalize(); 379 379 PRINTF0("============>>>>>>>>>>>>>>>>Done loading Track\n"); 380 } */380 } 381 381 382 382 // free the XML data … … 395 395 396 396 // stuff beyond this point remains to be loaded properly 397 397 /* 398 398 // initializing the TrackManager 399 399 this->trackManager = TrackManager::getInstance(); … … 403 403 trackManager->addPoint(Vector(250, -35, 5)); 404 404 trackManager->addPoint(Vector(320,-33,-.55)); 405 trackManager->setDuration( 2);405 trackManager->setDuration(1); 406 406 trackManager->setSavePoint(); 407 407 … … 410 410 trackManager->addPoint(Vector(550, 20, -10)); 411 411 trackManager->addPoint(Vector(570, 20, -10)); 412 trackManager->setDuration( 5);412 trackManager->setDuration(2); 413 413 414 int fork11, fork12; 415 trackManager->fork(2, &fork11, &fork12); 416 trackManager->workOn(fork11); 414 trackManager->forkS("testFork1,testFork2"); 415 trackManager->workOn("testFork1"); 417 416 trackManager->addPoint(Vector(640, 25, -30)); 418 417 trackManager->addPoint(Vector(700, 40, -120)); … … 423 422 trackManager->addPoint(Vector(1050, 65, -10)); 424 423 trackManager->addPoint(Vector(1100, 65, -20)); 425 trackManager->setDuration( 10);426 427 trackManager->workOn( fork12);424 trackManager->setDuration(4); 425 426 trackManager->workOn("testFork2"); 428 427 trackManager->addPoint(Vector(640, 25, 20)); 429 428 trackManager->addPoint(Vector(670, 50, 120)); … … 435 434 trackManager->addPoint(Vector(970, 24, 40)); 436 435 trackManager->addPoint(Vector(1000, 40, -7)); 437 trackManager->setDuration( 10);436 trackManager->setDuration(4); 438 437 439 440 trackManager->join(2, fork11, fork12); 441 442 trackManager->workOn(5); 438 439 trackManager->joinS("testFork1,testFork2"); 440 443 441 trackManager->addPoint(Vector(1200, 60, -50)); 444 442 trackManager->addPoint(Vector(1300, 50, -50)); … … 451 449 trackManager->addPoint(Vector(1800, 100, -40)); 452 450 trackManager->setDuration(10); 453 451 */ 454 452 trackManager->finalize(); 455 453 … … 483 481 glNewList (objectList, GL_COMPILE); 484 482 485 //trackManager->drawGraph(.01);483 trackManager->drawGraph(.01); 486 484 trackManager->debug(2); 487 485 glEndList(); -
orxonox/branches/physics/src/subprojects/Makefile.in
r4178 r4223 177 177 esac; \ 178 178 done; \ 179 echo ' cd $(top_srcdir) && $(AUTOMAKE) -- foreignsrc/subprojects/Makefile'; \179 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/subprojects/Makefile'; \ 180 180 cd $(top_srcdir) && \ 181 $(AUTOMAKE) -- foreignsrc/subprojects/Makefile181 $(AUTOMAKE) --gnu src/subprojects/Makefile 182 182 .PRECIOUS: Makefile 183 183 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status -
orxonox/branches/physics/src/subprojects/testmain/Makefile.in
r4178 r4223 197 197 esac; \ 198 198 done; \ 199 echo ' cd $(top_srcdir) && $(AUTOMAKE) -- foreignsrc/subprojects/testmain/Makefile'; \199 echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu src/subprojects/testmain/Makefile'; \ 200 200 cd $(top_srcdir) && \ 201 $(AUTOMAKE) -- foreignsrc/subprojects/testmain/Makefile201 $(AUTOMAKE) --gnu src/subprojects/testmain/Makefile 202 202 .PRECIOUS: Makefile 203 203 Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status -
orxonox/branches/physics/src/track_manager.cc
r4178 r4223 25 25 #include "text_engine.h" 26 26 #include "t_animation.h" 27 #include "substring.h" 27 28 28 29 #include <stdarg.h> … … 401 402 \brief loads a trackElement from a TiXmlElement 402 403 \param root the TiXmlElement to load the Data from 403 404 404 */ 405 405 bool TrackManager::load( TiXmlElement* root) 406 406 { 407 TiXmlElement* element; 408 TiXmlNode* container; 409 double x, y, z, d; 410 411 element = root->FirstChildElement(); 412 413 while( element != NULL) 414 { 415 if( !strcmp( element->Value(), "Point")) 416 { 417 container = element->FirstChild(); 418 if( container->ToText()) 419 { 420 assert( container->Value() != NULL); 421 if( sscanf( container->Value(), "%lf,%lf,%lf", &x, &y, &z) == 3) 422 { 423 PRINTF(0)("Loaded Point: %lf,%lf,%lf (%s)\n", x, y, z, container->Value()); 424 addPoint( Vector( x, y, z)); 425 } 426 else 427 { 428 PRINTF(0)("Invalid Point in Track (skipped)\n"); 429 } 430 } 431 } 432 else if( !strcmp( element->Value(), "Duration")) 433 { 434 container = element->FirstChild(); 435 if( container->ToText()) 436 { 437 assert( container->Value() != NULL); 438 if( sscanf( container->Value(), "%lf", &d) == 1) 439 { 440 PRINTF(5)("Loaded Duration: %lf (%s)\n", d, container->Value()); 441 setDuration( d); 442 } 443 else 444 { 445 PRINTF(2)("Invalid Duration in Track (skipped)\n"); 446 } 447 } 448 } 449 else if( !strcmp( element->Value(), "SavePoint")) 450 { 451 PRINTF(5)("Loaded Savepoint\n"); 452 setSavePoint(); 453 } 454 else if( !strcmp( element->Value(), "Fork")) 455 { 456 container = element->FirstChild(); 457 if( container->ToText()) 458 { 459 assert( container->Value() != NULL); 460 PRINTF(4)("Loaded Fork: %s\n", container->Value()); 461 forkS(container->Value()); 462 } 463 } 464 else if( !strcmp( element->Value(), "Join")) 465 { 466 container = element->FirstChild(); 467 if( container->ToText()) 468 { 469 assert( container->Value() != NULL); 470 PRINTF0("Loaded Join: %s\n", container->Value()); 471 joinS(container->Value()); 472 } 473 } 474 else if( !strcmp( element->Value(), "WorkOn")) 475 { 476 container = element->FirstChild(); 477 if( container->ToText()) 478 { 479 assert( container->Value() != NULL); 480 PRINTF(4)("Loaded WorkOn: %s\n", container->Value()); 481 workOn( container->Value()); 482 } 483 } 484 485 element = element->NextSiblingElement(); 486 } 407 487 408 488 } … … 620 700 /** 621 701 \brief adds some interessting non-linear movments through the level. 622 \param count The Count of children s the current HotPoint will have.702 \param count The Count of children the fork will produce 623 703 624 704 If no HotPoint was defined the last added Point will be rendered into a fork. \n … … 628 708 { 629 709 int* trackIDs = new int[count]; 630 this->forkV(count, trackIDs );710 this->forkV(count, trackIDs, NULL); 631 711 va_list ID; 632 712 va_start (ID, count); … … 640 720 641 721 /** 722 \param string the String to parse. 723 \see TrackManager::fork(unsigned int count, ...) 724 725 does the same as fork, but has an array of strings as an input. 726 */ 727 void TrackManager::forkS(unsigned int count, ...) 728 { 729 int* trackIDs = new int[count]; 730 this->forkV(count, trackIDs, NULL); 731 va_list name; 732 va_start (name, count); 733 for(int i = 0; i < count; i++) 734 { 735 this->firstTrackElem->findByID(trackIDs[i])->setName(va_arg(name, const char*)); 736 } 737 va_end(name); 738 delete []trackIDs; 739 } 740 741 /** 742 \see TrackManager::fork(unsigned int count, ...) 743 */ 744 void TrackManager::forkS(const char* forkString) 745 { 746 SubString strings(forkString); 747 748 int* trackIDs = new int[strings.getCount()]; 749 this->forkV(strings.getCount(), trackIDs, NULL); 750 751 for(int i = 0; i < strings.getCount(); i++) 752 { 753 this->firstTrackElem->findByID(trackIDs[i])->setName(strings.getString(i)); 754 } 755 } 756 757 /** 642 758 \brief adds some interessting non-linear movments through the level. 643 759 \param count The Count of childrens the current HotPoint will have. 644 760 \param trackIDs A Pointer to an Array of ints which will hold the trackID's (the user will have to reserve space for this). 645 \param trackElem The TrackElement to appy this to. (if NULL cho se this->currentTrackElement)761 \param trackElem The TrackElement to appy this to. (if NULL choose this->currentTrackElement) 646 762 \see TrackManager::fork(unsigned int count, ...) 647 763 */ 648 void TrackManager::forkV(unsigned int count, int* trackIDs, TrackElement* trackElem)764 void TrackManager::forkV(unsigned int count, int* trackIDs, char** trackNames, TrackElement* trackElem) 649 765 { 650 766 if (!trackElem) … … 738 854 \brief Joins some Tracks together again. 739 855 \param count The count of trackElements to join 740 741 856 \see void TrackManager::join(unsigned int count, ...) 857 742 858 The difference to void TrackManager::join(unsigned int count, ...) is, that this function takes 743 859 the Names of the TrackElements as inputs and not their ID 744 860 */ 745 void TrackManager::join c(unsigned int count, ...)861 void TrackManager::joinS(unsigned int count, ...) 746 862 { 747 863 int* trackIDs = new int [count]; … … 750 866 for(int i = 0; i < count; i++) 751 867 { 752 c har* name = va_arg (NAME, char*);868 const char* name = va_arg (NAME, char*); 753 869 TrackElement* tmpElem = this->firstTrackElem->findByName(name); 754 870 if (tmpElem) … … 762 878 } 763 879 880 /** 881 \see void TrackManager::join(unsigned int count, ...) 882 */ 883 void TrackManager::joinS(const char* joinString) 884 { 885 SubString strings(joinString); 886 887 int* trackIDs = new int[strings.getCount()]; 888 this->joinV(strings.getCount(), trackIDs); 889 890 for(int i = 0; i < strings.getCount(); i++) 891 { 892 TrackElement* tmpElem = this->firstTrackElem->findByName(strings.getString(i)); 893 if (tmpElem) 894 trackIDs[i] = tmpElem->ID; 895 else 896 PRINTF(1)("Trying to join a Track, of which the name does not exist: %s\n", strings.getString(i)); 897 } 898 899 this->joinV(strings.getCount(), trackIDs); 900 delete []trackIDs; 901 } 764 902 765 903 /** … … 777 915 if (!this->firstTrackElem->findByID(trackIDs[i])) 778 916 { 779 PRINTF(1)(" Error trying to Connect Paths that do not exist yet: %d\n Not Joining Anything", trackIDs[i]);917 PRINTF(1)("Trying to Connect Paths that do not exist yet: %d\n Not Joining Anything\n", trackIDs[i]); 780 918 return; 781 919 } -
orxonox/branches/physics/src/track_manager.h
r4178 r4223 167 167 int setSavePoint(TrackElement* trackElem = NULL); 168 168 void fork(unsigned int count, ...); 169 void forkV(unsigned int count, int* trackIDs, TrackElement* trackElem = NULL); 169 void forkS(unsigned int count, ...); 170 void forkS(const char* forkString); 171 void forkV(unsigned int count, int* trackIDs, char** trackNames, TrackElement* trackElem = NULL); 170 172 void condition(unsigned int trackID, CONDITION cond, void* subject); 171 173 void condition(CONDITION cond, void* subject, TrackElement* trackElem = NULL); 172 174 void join(unsigned int count, ...); 173 void joinc(unsigned int count, ...); 175 void joinS(const char* joinString); 176 void joinS(unsigned int cound, ...); 174 177 void joinV(unsigned int count, int* trackIDs); 175 178 void finalize(void); -
orxonox/branches/physics/src/util/resource_manager.cc
r4178 r4223 648 648 char* ResourceManager::getFullName(const char* fileName) 649 649 { 650 char* retName = new char[strlen(ResourceManager::getInstance()->getDataDir()) + strlen(fileName)+1]; 650 char* retName = new char[strlen(ResourceManager::getInstance()->getDataDir()) 651 + strlen(fileName) + 1]; 651 652 sprintf(retName, "%s%s", ResourceManager::getInstance()->getDataDir(), fileName); 652 653 if (ResourceManager::isFile(retName))
Note: See TracChangeset
for help on using the changeset viewer.