X-Git-Url: http://git.localhorst.tv/?a=blobdiff_plain;f=src%2Fclient%2Fclient.cpp;h=97292a957f86466a228dbd24f1c45e28a20aae85;hb=9f220f26cd81235a43993deed53b5780d17fb5fa;hp=236fa1a41fe0872a35d5a819da2f186fa764b998;hpb=9c5308ba4108bd842af6d9d2e893ea575a7e6ca8;p=blank.git diff --git a/src/client/client.cpp b/src/client/client.cpp index 236fa1a..97292a9 100644 --- a/src/client/client.cpp +++ b/src/client/client.cpp @@ -48,11 +48,12 @@ void InitialState::Render(Viewport &viewport) { InteractiveState::InteractiveState(MasterState &master, uint32_t player_id) : master(master) , res() +, sounds() , save(master.GetEnv().config.GetWorldPath(master.GetWorldConf().name, master.GetConfig().net.host)) , world(res.block_types, master.GetWorldConf()) , player(*world.AddPlayer(master.GetConfig().player.name)) , hud(master.GetEnv(), master.GetConfig(), player) -, manip(master.GetEnv(), player.GetEntity()) +, manip(master.GetEnv().audio, sounds, player.GetEntity()) , input(world, player, master.GetClient()) , interface(master.GetConfig(), master.GetEnv().keymap, input, *this) , chunk_receiver(world.Chunks(), save) @@ -64,6 +65,11 @@ InteractiveState::InteractiveState(MasterState &master, uint32_t player_id) save.Write(master.GetWorldConf()); } res.Load(master.GetEnv().loader, "default"); + if (res.models.size() < 1) { + throw std::runtime_error("need at least one model to run"); + } + res.models[0].Instantiate(player.GetEntity().GetModel()); + sounds.Load(master.GetEnv().loader, res.snd_index); interface.SetInventorySlots(res.block_types.size() - 1); chunk_renderer.LoadTextures(master.GetEnv().loader, res.tex_index); chunk_renderer.FogDensity(master.GetWorldConf().fog_density);