#include #include "bettola/game/chunk.h" #include "game.h" #include "bettola/network/chunk_message.h" #include "bettola/network/message.h" #include "player.h" void Game::send_initial_chunks(Player* player) { BettolaLib::Network::MessageHeader header; header.type = BettolaLib::Network::MessageType::ChunkData; header.size = sizeof(BettolaLib::Network::ChunkMessage); /* Send a 3x3 grid of chunks around the origin. */ for(int x = -1; x <=1; ++x) { for(int z = -1; z <= 1; ++z) { BettolaLib::Game::Chunk& chunk = _world.get_chunk(x, z); BettolaLib::Network::ChunkMessage msg; msg.chunk_x = x; msg.chunk_z = z; memcpy(msg.heightmap, chunk.heightmap.data(), chunk.heightmap.size() * sizeof(float)); player->get_socket().send(&header, sizeof(header)); player->get_socket().send(&msg, sizeof(msg)); } } }