X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fapp%2FServerState.cpp;h=0be565307308ce330b9a38d793b2be1a5496dc3b;hb=b3d9f773c94aee99598cbd8e94e614b2c6da1216;hp=d26f552551fd258e13b5257469573a95c175d761;hpb=9ebe2c320fd9f94266ab93fa2f9d9908a0a284d3;p=blank.git diff --git a/src/app/ServerState.cpp b/src/app/ServerState.cpp index d26f552..0be5653 100644 --- a/src/app/ServerState.cpp +++ b/src/app/ServerState.cpp @@ -11,16 +11,25 @@ namespace blank { ServerState::ServerState( HeadlessEnvironment &env, + const Generator::Config &gc, const World::Config &wc, const WorldSave &ws, const Server::Config &sc ) : env(env) , block_types() -, world(block_types, wc, ws) -, server(sc, world) { +, world(block_types, wc) +, generator(gc) +, chunk_loader(world.Chunks(), generator, ws) +, skeletons() +, spawner(world, skeletons, gc.seed) +, server(sc, world) +, push_timer(16) { TextureIndex tex_index; env.loader.LoadBlockTypes("default", block_types, tex_index); + skeletons.LoadHeadless(); + + push_timer.Start(); std::cout << "listening on UDP port " << sc.port << std::endl; } @@ -34,8 +43,14 @@ void ServerState::Handle(const SDL_Event &event) { void ServerState::Update(int dt) { + push_timer.Update(dt); server.Handle(); - server.Update(dt); + spawner.Update(dt); + world.Update(dt); + chunk_loader.Update(dt); + if (push_timer.Hit()) { + server.Update(dt); + } }