// // Okzoniom::RPG // Copyright (C) 2010 - 2013 // // - Louis SCHNELLBACH // #ifndef VOXEL_H_INCLUDED #define VOXEL_H_INCLUDED class Voxel { protected: uint8_t data = 0; /** * Bits and usages * 7 : * 6 : * 5 : * 4 : * 3 : Type * 2 : Type * 1 : Type * 0 : Active / Inactive **/ /** * Type value * 0 : None (Whatever color / information it can take) * 1 : Water * 2 : Sand * 3 : Grass * 4 : Rock * 5 : * 6 : **/ public: enum Modifier { GET = 0, SET = 1 }; bool active(Modifier m = GET, bool value = false) { if(m == SET) data = (0xFE | value); return data & 0x1; } uint8_t type(Modifier m = GET, uint8_t value = 0x7) { if(m == SET) data = (0xF1 | (value << 1)); return (data & 0xE) >> 1; } }; #endif