the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 62 lines 1.2 kB view raw
1#include "stdafx.h" 2#include "DataLayer.h" 3 4DataLayer::DataLayer(int length, int depthBits) : depthBits(depthBits), depthBitsPlusFour(depthBits + 4) 5{ 6 data = byteArray(length >> 1); 7} 8 9DataLayer::DataLayer(byteArray data, int depthBits) : depthBits(depthBits), depthBitsPlusFour(depthBits + 4) 10{ 11 this->data = data; 12} 13 14DataLayer::~DataLayer() 15{ 16 delete[] data.data; 17} 18 19int DataLayer::get(int x, int y, int z) 20{ 21 int pos = (x << depthBitsPlusFour | z << depthBits | y); 22 int slot = pos >> 1; 23 int part = pos & 1; 24 25 if (part == 0) 26 { 27 return data[slot] & 0xf; 28 } else 29 { 30 return (data[slot] >> 4) & 0xf; 31 } 32} 33 34void DataLayer::set(int x, int y, int z, int val) 35{ 36 int pos = (x << depthBitsPlusFour | z << depthBits | y); 37 38 int slot = pos >> 1; 39 int part = pos & 1; 40 41 if (part == 0) 42 { 43 data[slot] = (byte) ((data[slot] & 0xf0) | (val & 0xf)); 44 } else 45 { 46 data[slot] = (byte) ((data[slot] & 0x0f) | ((val & 0xf) << 4)); 47 } 48} 49 50bool DataLayer::isValid() 51{ 52 return data.data != NULL; 53} 54 55void DataLayer::setAll(int br) 56{ 57 byte val = (byte) (br & (br << 4)); 58 for (unsigned int i = 0; i < data.length; i++) 59 { 60 data[i] = val; 61 } 62}