ContentPackRuntime + refactor
This commit is contained in:
@@ -110,6 +110,7 @@ public:
|
||||
|
||||
Block(std::string name);
|
||||
Block(std::string name, std::string texture);
|
||||
Block(const Block&) = delete;
|
||||
};
|
||||
|
||||
#endif /* VOXELS_BLOCK_H_ */
|
||||
|
||||
@@ -93,7 +93,7 @@ ubyte* Chunk::encode() const {
|
||||
return buffer;
|
||||
}
|
||||
|
||||
bool Chunk::decode(ubyte* data) {
|
||||
bool Chunk::decode(const ubyte* data) {
|
||||
for (uint i = 0; i < CHUNK_VOL; i++) {
|
||||
voxel& vox = voxels[i];
|
||||
|
||||
|
||||
+2
-2
@@ -17,7 +17,7 @@ struct ChunkFlag {
|
||||
static const int UNSAVED = 0x10;
|
||||
static const int LOADED_LIGHTS = 0x20;
|
||||
};
|
||||
#define CHUNK_DATA_LEN (CHUNK_VOL*4)
|
||||
constexpr int CHUNK_DATA_LEN = CHUNK_VOL*4;
|
||||
|
||||
class Lightmap;
|
||||
class ContentLUT;
|
||||
@@ -88,7 +88,7 @@ public:
|
||||
/**
|
||||
* @return true if all is fine
|
||||
**/
|
||||
bool decode(ubyte* data);
|
||||
bool decode(const ubyte* data);
|
||||
|
||||
static void convert(ubyte* data, const ContentLUT* lut);
|
||||
};
|
||||
|
||||
@@ -21,8 +21,7 @@ Chunks::Chunks(int w, int d,
|
||||
WorldFiles* wfile,
|
||||
LevelEvents* events,
|
||||
const Content* content)
|
||||
: content(content),
|
||||
contentIds(content->getIndices()),
|
||||
: contentIds(content->getIndices()),
|
||||
chunks(w*d),
|
||||
chunksSecond(w*d),
|
||||
w(w), d(d), ox(ox), oz(oz),
|
||||
|
||||
@@ -19,7 +19,6 @@ class LevelEvents;
|
||||
|
||||
/* Player-centred chunks matrix */
|
||||
class Chunks {
|
||||
const Content* const content;
|
||||
const ContentIndices* const contentIds;
|
||||
public:
|
||||
std::vector<std::shared_ptr<Chunk>> chunks;
|
||||
|
||||
@@ -110,16 +110,16 @@ float calc_height(fnl_state *noise, int cur_x, int cur_z){
|
||||
}
|
||||
|
||||
WorldGenerator::WorldGenerator(const Content* content)
|
||||
: idStone(content->requireBlock("base:stone")->rt.id),
|
||||
idDirt(content->requireBlock("base:dirt")->rt.id),
|
||||
idGrassBlock(content->requireBlock("base:grass_block")->rt.id),
|
||||
idSand(content->requireBlock("base:sand")->rt.id),
|
||||
idWater(content->requireBlock("base:water")->rt.id),
|
||||
idWood(content->requireBlock("base:wood")->rt.id),
|
||||
idLeaves(content->requireBlock("base:leaves")->rt.id),
|
||||
idGrass(content->requireBlock("base:grass")->rt.id),
|
||||
idFlower(content->requireBlock("base:flower")->rt.id),
|
||||
idBazalt(content->requireBlock("base:bazalt")->rt.id) {}
|
||||
: idStone(content->requireBlock("base:stone").rt.id),
|
||||
idDirt(content->requireBlock("base:dirt").rt.id),
|
||||
idGrassBlock(content->requireBlock("base:grass_block").rt.id),
|
||||
idSand(content->requireBlock("base:sand").rt.id),
|
||||
idWater(content->requireBlock("base:water").rt.id),
|
||||
idWood(content->requireBlock("base:wood").rt.id),
|
||||
idLeaves(content->requireBlock("base:leaves").rt.id),
|
||||
idGrass(content->requireBlock("base:grass").rt.id),
|
||||
idFlower(content->requireBlock("base:flower").rt.id),
|
||||
idBazalt(content->requireBlock("base:bazalt").rt.id) {}
|
||||
|
||||
int generate_tree(fnl_state *noise,
|
||||
PseudoRandom* random,
|
||||
|
||||
Reference in New Issue
Block a user