From d93c2073896e63aca5a859fe7182ba24dbe84cd3 Mon Sep 17 00:00:00 2001 From: LaG1924 <12997935+LaG1924@users.noreply.github.com> Date: Sun, 28 May 2017 19:16:05 +0500 Subject: 2017-05-28 --- src/gamestate/Game.cpp | 173 ------------------------------------------------- 1 file changed, 173 deletions(-) delete mode 100644 src/gamestate/Game.cpp (limited to 'src/gamestate/Game.cpp') diff --git a/src/gamestate/Game.cpp b/src/gamestate/Game.cpp deleted file mode 100644 index 15f83e6..0000000 --- a/src/gamestate/Game.cpp +++ /dev/null @@ -1,173 +0,0 @@ -#include "Game.hpp" -#include "../packet/PacketParser.hpp" -#include "../packet/PacketBuilder.hpp" -#include - -Game::Game() { - m_display = new Display(1280, 720, "AltCraft", &m_world); - m_nc = new NetworkClient("127.0.0.1", 25565, "HelloOne"); - Packet &response = *m_nc->GetPacket(); - if (response.GetId() != 0x02) { - std::cout << response.GetId() << std::endl; - throw 127; - } - PacketParser::Parse(response, Login); - g_PlayerUuid = response.GetField(0).GetString(); - g_PlayerName = response.GetField(1).GetString(); - delete &response; - m_networkState = ConnectionState::Play; - std::cout << g_PlayerName << "'s UUID is " << g_PlayerUuid << std::endl; -} - -Game::~Game() { - std::cout << "Stopping game thread..." << std::endl; - m_exit = true; - m_gameThread.join(); - std::cout << "Stopping graphics..." << std::endl; - delete m_display; - std::cout << "Stopping network..." << std::endl; - delete m_nc; -} - -void Game::MainLoop() { - while (!m_exit) { - - ParsePackets(); - if (m_display->IsClosed()) - m_exit = true; - } -} - -void Game::ParsePackets() { - Packet *packetPtr = m_nc->GetPacket(); - if (!packetPtr) { - using namespace std::chrono_literals; - std::this_thread::sleep_for(16ms); - return; - } - Packet packet = *packetPtr; - delete packetPtr; - PacketParser::Parse(packet); - nlohmann::json json; - //std::cout<<"Parsing packet: "<AddPacketToQueue(PacketBuilder::CPlay0x03(0)); - m_nc->AddPacketToQueue(PacketBuilder::CPlay0x00(packet.GetField(6).GetVarInt())); - std::cout << "Game is started! " << std::endl; - std::cout << "PlayerPos is " << g_PlayerX << ", " << g_PlayerY << ", " << g_PlayerZ << "\tAngle: " - << g_PlayerYaw - << "," << g_PlayerPitch << std::endl; - m_display->SetPlayerPos(g_PlayerX, g_PlayerY, g_PlayerZ); - gameStartWaiter.notify_all(); - break; - case 0x1A: - json = nlohmann::json::parse(packet.GetField(0).GetString()); - std::cout << "Disconnect reason: " << json["text"].get() << std::endl; - throw 119; - break; - case 0x20: - m_world.ParseChunkData(packet); - { - std::vectorvec; - for (auto &it:m_world.m_sections) { - for (auto& it2:vec){ - if (it2==it.first) - std::cout< delta = clock.now() - timeOfPreviousSendedPpalPacket; - if (delta.count() >= 50) { - m_nc->AddPacketToQueue( - PacketBuilder::CPlay0x0D(g_PlayerX, g_PlayerY, g_PlayerZ, g_PlayerYaw, g_PlayerPitch, true)); - timeOfPreviousSendedPpalPacket = clock.now(); - /*std::cout << "PlayerPos is " << g_PlayerX << "," << g_PlayerY << "," << g_PlayerZ << " " << g_PlayerYaw - << "," << g_PlayerPitch << std::endl;*/ - } - } -} - -void Game::Exec() { - m_gameThread = std::thread(&Game::MainLoop, this); - m_display->MainLoop(); -} -- cgit v1.2.3