: env(env)
, block_types()
, world(block_types, wc)
-, generator(gc)
+, spawn_index(world.Chunks().MakeIndex(wc.spawn, 3))
+, generator(gc, block_types)
, chunk_loader(world.Chunks(), generator, ws)
, skeletons()
, spawner(world, skeletons, gc.seed)
-, server(config.net, world)
+, server(config.net, world, ws)
, loop_timer(16) {
TextureIndex tex_index;
env.loader.LoadBlockTypes("default", block_types, tex_index);
+ generator.Scan();
skeletons.LoadHeadless();
spawner.LimitSkeletons(1, skeletons.Size());
server.SetPlayerModel(skeletons[0]);
std::cout << "listening on UDP port " << config.net.port << std::endl;
}
+ServerState::~ServerState() {
+ world.Chunks().UnregisterIndex(spawn_index);
+}
+
void ServerState::Handle(const SDL_Event &event) {
if (event.type == SDL_QUIT) {