int run_plugin ( void * param ) { AddObject("BOX"); UpdateWorld(); SetDocDirty(); return 0; }
void Aircraft::Update(float elapsedTime) { Move(); Lift(); Bank(); UpdateWorld(); }
bool StarServer::GameLoop() { if (active && paused) { UpdateWorld(); GameState(); } else if (!active) { UpdateWorld(); GameState(); Sleep(10); } Game::GameLoop(); return false; // must return false to keep processing // true tells the outer loop to sleep until a // windows event is available }
void SFMLWorld::RunWorld(void) { window = new sf::RenderWindow(sf::VideoMode(windowWidth, windowHeight), "World window"); Clock cl = Clock(); totalElapsedSeconds = 0.0f; worldOver = false; float elapsed; sf::Event windowEvent; InitializeWorld(); cl.restart(); while (window->isOpen() && !worldOver) { //Handle window events first. while (window->pollEvent(windowEvent)) { if (windowEvent.type == sf::Event::Closed) { OnCloseWindow(); } else if (windowEvent.type == sf::Event::Resized) { OnWindowResized(windowEvent.size.width, windowEvent.size.height); } else { OnOtherWindowEvent(windowEvent); } } //Get elapsed time. elapsed = cl.getElapsedTime().asSeconds(); totalElapsedSeconds += elapsed; cl.restart(); //Call functions. if (elapsed > 0.0f) { UpdateWorld(elapsed); RenderWorld(elapsed); } } OnWorldEnd(); }
void Client::RunFrame(float dt) { SPADES_MARK_FUNCTION(); fpsCounter.MarkFrame(); if(frameToRendererInit > 0){ // waiting for renderer initialization DrawStartupScreen(); frameToRendererInit--; if(frameToRendererInit == 0){ DoInit(); }else{ return; } } timeSinceInit += std::min(dt, .03f); // update network try{ if(net->GetStatus() == NetClientStatusConnected) net->DoEvents(0); else net->DoEvents(10); }catch(const std::exception& ex){ if(net->GetStatus() == NetClientStatusNotConnected){ SPLog("Disconnected because of error:\n%s", ex.what()); NetLog("Disconnected because of error:\n%s", ex.what()); throw; }else{ SPLog("Exception while processing network packets (ignored):\n%s", ex.what()); } } hurtRingView->Update(dt); centerMessageView->Update(dt); mapView->Update(dt); largeMapView->Update(dt); UpdateAutoFocus(dt); if(world){ UpdateWorld(dt); }else{ renderer->SetFogColor(MakeVector3(0.f, 0.f, 0.f)); } chatWindow->Update(dt); killfeedWindow->Update(dt); limbo->Update(dt); // CreateSceneDefinition also can be used for sounds SceneDefinition sceneDef = CreateSceneDefinition(); lastSceneDef = sceneDef; // Update sounds try{ audioDevice->Respatialize(sceneDef.viewOrigin, sceneDef.viewAxis[2], sceneDef.viewAxis[1]); }catch(const std::exception& ex){ SPLog("Audio subsystem returned error (ignored):\n%s", ex.what()); } // render scene DrawScene(); // draw 2d Draw2D(); // draw scripted GUI scriptedUI->RunFrame(dt); if(scriptedUI->WantsClientToBeClosed()) readyToClose = true; // Well done! renderer->FrameDone(); renderer->Flip(); // reset all "delayed actions" (in case we forget to reset these) hasDelayedReload = false; time += dt; }
void SFMLWorld::RunWorld(void) { contextSettings = GenerateContext(); window = new sf::RenderWindow(GetModeToUse(windowWidth, windowHeight), GetWindowTitle().c_str(), GetSFStyleFlags(), contextSettings); Clock cl = Clock(); totalElapsedSeconds = 0.0f; worldOver = false; float elapsed; sf::Event windowEvent; InitializeWorld(); windowHasFocus = true; cl.restart(); while (window->isOpen() && !worldOver) { //Handle window events first. while (window->pollEvent(windowEvent)) { if (windowEvent.type == sf::Event::Closed) { OnCloseWindow(); } else if (windowEvent.type == sf::Event::Resized) { OnWindowResized(windowEvent.size.width, windowEvent.size.height); } else if (windowEvent.type == sf::Event::LostFocus) { windowHasFocus = false; OnWindowLostFocus(); } else if (windowEvent.type == sf::Event::GainedFocus) { windowHasFocus = true; OnWindowGainedFocus(); } else { OnOtherWindowEvent(windowEvent); } } //Get elapsed time. elapsed = cl.getElapsedTime().asSeconds(); cl.restart(); totalElapsedSeconds += elapsed; //Update various managers. Input.Update(elapsed, totalElapsedSeconds); Timers.UpdateTimers(elapsed); //Update and render. if (elapsed > 0.0f) { UpdateWorld(elapsed); RenderWorld(elapsed); } } OnWorldEnd(); delete window; window = 0; }
void GameObject::Update(float elapsedTime) { // TODO: Add GameObject logic UpdateWorld(); }