From 8ac4fe6d5ba5091923c7fdf1fa88724d827706fa Mon Sep 17 00:00:00 2001 From: LaG1924 <12997935+LaG1924@users.noreply.github.com> Date: Fri, 26 May 2017 19:11:17 +0500 Subject: 2017-05-26 --- src/world/Block.cpp | 17 +++++++++++++---- src/world/Block.hpp | 10 ++++++---- src/world/Section.cpp | 1 - src/world/World.cpp | 17 +++++------------ 4 files changed, 24 insertions(+), 21 deletions(-) (limited to 'src/world') diff --git a/src/world/Block.cpp b/src/world/Block.cpp index 64e5330..3cf09db 100644 --- a/src/world/Block.cpp +++ b/src/world/Block.cpp @@ -2,9 +2,18 @@ Block::~Block() {} -Block::Block(unsigned short idAndState, unsigned char light) : id(idAndState >> 4), state(idAndState & 0x0F), - light(light) {} +Block::Block(unsigned short idAndState, unsigned char light) : id(idAndState >> 4), state(idAndState & 0x0F) {} -Block::Block(unsigned short id, unsigned char state, unsigned char light) : id(id), state(state), light(light) {} +Block::Block(unsigned short id, unsigned char state, unsigned char light) : id(id), state(state) {} -Block::Block() : id(0), state(0), light(0) {} +Block::Block() : id(0), state(0) {} + +bool operator<(const Block &lhs, const Block &rhs) { + if (lhs.id < rhs.id) + return true; + if (lhs.id == rhs.id) { + if (lhs.state != rhs.state) + return lhs.state < rhs.state; + } + return false; +} diff --git a/src/world/Block.hpp b/src/world/Block.hpp index 7c780c1..ae952c9 100644 --- a/src/world/Block.hpp +++ b/src/world/Block.hpp @@ -1,15 +1,17 @@ #pragma once struct Block { + Block(); + Block(unsigned short idAndState, unsigned char light); Block(unsigned short id, unsigned char state, unsigned char light); - Block(); - ~Block(); unsigned short id:13; unsigned char state:4; - unsigned char light:4; -}; \ No newline at end of file + //unsigned char light:4; +}; + +bool operator<(const Block &lhs, const Block &rhs); \ No newline at end of file diff --git a/src/world/Section.cpp b/src/world/Section.cpp index f53c987..ac34fba 100644 --- a/src/world/Section.cpp +++ b/src/world/Section.cpp @@ -1,4 +1,3 @@ -#include #include "Section.hpp" Section::Section(byte *dataBlocks, size_t dataBlocksLength, byte *dataLight, byte *dataSky, byte bitsPerBlock, diff --git a/src/world/World.cpp b/src/world/World.cpp index adbb3e1..af76fd5 100644 --- a/src/world/World.cpp +++ b/src/world/World.cpp @@ -1,5 +1,5 @@ -#include #include +#include #include "World.hpp" void World::ParseChunkData(Packet packet) { @@ -22,22 +22,17 @@ void World::ParseChunkData(Packet packet) { if (bitmask[i]) { size_t len = 0; Vector chunkPosition = Vector(chunkX, i, chunkZ); - if (!m_sections.insert(std::make_pair(chunkPosition,ParseSection(content,len))).second) - std::cout<<"Chunk not created: "<second.Parse(); - /*m_sections[chunkPosition] = ParseSection(content, len); - m_sections[chunkPosition].Parse();*/ - /*m_sectionToParse.push(m_sections.find(Vector(chunkX, i, chunkZ))); - m_parseSectionWaiter.notify_one();*/ content += len; } } delete[] contentOrigPtr; - //std::cout<second.Parse(); - /*std::cout << "Parsed chunk" << it->first.GetX() << "x" << it->first.GetY() << "x" << it->first.GetZ() - << std::endl;*/ } } } -- cgit v1.2.3