Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Apr 23, 2008, 11:40:40 PM (17 years ago)
Author:
dumenim
Message:

either i'm wrong or the hud is. it seems to create a segfault in startRenderLoop, don't know if only in network branch. there are some std::couts commented with 3 / (blue :-) and the hud calls are commented out too. now it goes a bit further untill the next segfault.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/network2/src/orxonox/Orxonox.cc

    r1132 r1150  
    333333
    334334    //setupInputSystem();
    335 
     335    std::cout << "STARTING RENDERLOOP" << std::endl;
    336336    startRenderLoop();
    337337  }
     
    416416  void Orxonox::startRenderLoop()
    417417  {
     418    ///std::cout << "ON LINE 418 IN Orxonox.cc on frame " << std::endl;
    418419    InputBuffer* ib = new InputBuffer();
    419420    InputManager::getSingleton().feedInputBuffer(ib);
     
    423424    ib->registerListener(console, &Testconsole::execute, '\n', false);
    424425    ib->registerListener(console, &Testconsole::hintandcomplete, '\t', true);
    425     ib->registerListener(console, &Testconsole::clear, '§', true);
     426    ib->registerListener(console, &Testconsole::clear, '', true);
    426427    ib->registerListener(console, &Testconsole::removeLast, '\b', true);
    427428    ib->registerListener(console, &Testconsole::exit, (char)0x1B, true);
     
    435436    Ogre::Root& ogreRoot = Ogre::Root::getSingleton();
    436437
    437 
     438    ///std::cout << "ON LINE 437 IN Orxonox.cc" << std::endl;
    438439    // Contains the times of recently fired events
    439440    // eventTimes[4] is the list for the times required for the fps counter
     
    450451      timer_ = new Ogre::Timer();
    451452    timer_->reset();
    452 
     453    ///std::cout << "ON LINE 452 IN Orxonox.cc" << std::endl;
     454    int counter = 0;
    453455          while (!bAbort_)
    454456          {
     
    456458      // This calls the WindowEventListener objects.
    457459      Ogre::WindowEventUtilities::messagePump();
    458 
     460      ///std::cout << "ON LINE 459 IN Orxonox.cc on frame " << counter << std::endl;
    459461      // get current time
    460462      unsigned long now = timer_->getMilliseconds();
     
    466468      evt.timeSinceLastEvent = calculateEventTime(now, eventTimes[0]);
    467469      evt.timeSinceLastFrame = calculateEventTime(now, eventTimes[1]);
     470      ///std::cout << "ON LINE 468 IN Orxonox.cc on frame " << counter << std::endl;
    468471
    469472      // show the current time in the HUD
    470       orxonoxHUD_->setTime((int)now, 0);
    471       if (eventTimes[3].back() - eventTimes[3].front() != 0)
    472         orxonoxHUD_->setRocket1((int)(20000.0f/(eventTimes[3].back() - eventTimes[3].front())));
    473 
     473      ///### THE FOLLOWING HUD STUFF SEEMS TO CREATE SEGFAULT IN NETWORK
     474      ///orxonoxHUD_->setTime((int)now, 0);
     475      ///std::cout << "ON LINE 473 IN Orxonox.cc on frame " << counter << std::endl;
     476      ///if (eventTimes[3].back() - eventTimes[3].front() != 0)
     477        ///orxonoxHUD_->setRocket1((int)(20000.0f/(eventTimes[3].back() - eventTimes[3].front())));
     478      ///std::cout << "ON LINE 476 IN Orxonox.cc on frame " << counter << std::endl;
    474479      // Iterate through all Tickables and call their tick(dt) function
    475480      for (Iterator<Tickable> it = ObjectList<Tickable>::start(); it; ++it)
    476481        it->tick((float)evt.timeSinceLastFrame * this->timefactor_);
     482      ///std::cout << "ON LINE 476 IN Orxonox.cc on frame " << counter << std::endl;
    477483
    478484      // don't forget to call _fireFrameStarted in ogre to make sure
     
    493499      // again, just to be sure ogre works fine
    494500      ogreRoot._fireFrameEnded(evt);
     501      counter++;
    495502          }
    496503  }
Note: See TracChangeset for help on using the changeset viewer.