|
@@ -5,14 +5,14 @@
|
|
World::World(const BlockRegistry& blockRegistry) : blockRegistry(blockRegistry) {
|
|
World::World(const BlockRegistry& blockRegistry) : blockRegistry(blockRegistry) {
|
|
Block air = blockRegistry.getBlock("air");
|
|
Block air = blockRegistry.getBlock("air");
|
|
Block stone = blockRegistry.getBlock("stone");
|
|
Block stone = blockRegistry.getBlock("stone");
|
|
- HighMap<WORLD_SIZE, WORLD_SIZE> map;
|
|
+ HighMap<32, 32> map;
|
|
- for(int x = 0; x < WORLD_SIZE; x++) {
|
|
+ for(int x = 0; x < 32; x++) {
|
|
- for(int z = 0; z < WORLD_SIZE; z++) {
|
|
+ for(int z = 0; z < 32; z++) {
|
|
- int height = map.getHeight(x, z, WORLD_SIZE);
|
|
+ int height = map.getHeight(x, z, 32);
|
|
for(int y = 0; y < height; y++) {
|
|
for(int y = 0; y < height; y++) {
|
|
setBlock(x, y, z, stone);
|
|
setBlock(x, y, z, stone);
|
|
}
|
|
}
|
|
- for(int y = height; y < WORLD_SIZE; y++) {
|
|
+ for(int y = height; y < 32; y++) {
|
|
setBlock(x, y, z, air);
|
|
setBlock(x, y, z, air);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -20,9 +20,17 @@ World::World(const BlockRegistry& blockRegistry) : blockRegistry(blockRegistry)
|
|
}
|
|
}
|
|
|
|
|
|
void World::setBlock(int x, int y, int z, const Block& block) {
|
|
void World::setBlock(int x, int y, int z, const Block& block) {
|
|
- blocks[x & BITMASK][y & BITMASK][z & BITMASK] = block.getId();
|
|
+ blocks.set(x, y, z, block.getId());
|
|
}
|
|
}
|
|
|
|
|
|
const Block& World::getBlock(int x, int y, int z) const {
|
|
const Block& World::getBlock(int x, int y, int z) const {
|
|
- return blockRegistry.getBlock(blocks[x & BITMASK][y & BITMASK][z & BITMASK]);
|
|
+ return blockRegistry.getBlock(blocks.get(x, y, z));
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+int World::getSize() const {
|
|
|
|
+ return blocks.getSize();
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+int World::getHeight() const {
|
|
|
|
+ return blocks.getHeight();
|
|
}
|
|
}
|