X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fapp%2FServerState.cpp;h=d980cbcc697ce4dda8a4c393bdefb88a0a6398e8;hb=896c4c0ba2efd6774894fd8308cc097b7f4123e3;hp=0be565307308ce330b9a38d793b2be1a5496dc3b;hpb=8507332e2d0c54aec4045fb6f0021bdc3bd57750;p=blank.git diff --git a/src/app/ServerState.cpp b/src/app/ServerState.cpp index 0be5653..d980cbc 100644 --- a/src/app/ServerState.cpp +++ b/src/app/ServerState.cpp @@ -24,11 +24,13 @@ ServerState::ServerState( , skeletons() , spawner(world, skeletons, gc.seed) , server(sc, world) +, loop_timer(16) , push_timer(16) { TextureIndex tex_index; env.loader.LoadBlockTypes("default", block_types, tex_index); skeletons.LoadHeadless(); + loop_timer.Start(); push_timer.Start(); std::cout << "listening on UDP port " << sc.port << std::endl; @@ -43,10 +45,14 @@ void ServerState::Handle(const SDL_Event &event) { void ServerState::Update(int dt) { + loop_timer.Update(dt); push_timer.Update(dt); server.Handle(); - spawner.Update(dt); - world.Update(dt); + while (loop_timer.HitOnce()) { + spawner.Update(loop_timer.Interval()); + world.Update(loop_timer.Interval()); + loop_timer.PopIteration(); + } chunk_loader.Update(dt); if (push_timer.Hit()) { server.Update(dt);