예제 #1
0
파일: world.cpp 프로젝트: DZvO/awesome
motor::block_t& motor::World::getBlock(unsigned int x, unsigned int y, unsigned int z)
{
	static block_t outOfBorderBlock = block_t(BLOCK_OOB, 0xFF);
	if((x >= worldDimX * chunkSizeX || y >= worldDimY * chunkSizeY || z >= worldDimZ * chunkSizeZ))
	{
		//cout << "returning early!" << endl;
		outOfBorderBlock = block_t(BLOCK_OOB, 0xFF);
		return outOfBorderBlock;
	}
	//cout << "normal!" << endl;
	//cout << "x / 16:" << " y / 16:" << " z / 16:" << " x - ((x/16)*16):" << " y - ((y/16)*16):" << " z - ((z/16)*16):" << endl;
	//cout <<x / 16 << "  " << y / 16 << "  " << z / 16 << "  " << x - ((x/16)*16) << "  " << y - ((y/16)*16) << "  " << z - ((z/16)*16) << endl;
	
	//return block_t(BLOCK_DIRT, 0);
	return chunks[x / chunkSizeX][y / chunkSizeY][z / chunkSizeZ].get(x - ((x/chunkSizeX)*chunkSizeX), y - ((y/chunkSizeY)*chunkSizeY), z - ((z/chunkSizeZ)*chunkSizeZ));
}
예제 #2
0
파일: stream.cpp 프로젝트: pigoblock/TFYP
 block_t &model_reader::findOrCreateBlock(const std::string &n) {
   block_t *b = findBlock(n);
   if (b == NULL) {
     blocks.push_back(block_t(n));
     b = &blocks.back();
   }
   return *b;
 }
예제 #3
0
파일: stream.cpp 프로젝트: pigoblock/TFYP
 bool model_writer::newBlock(const std::string &name) {
   blocks.push_back(std::make_pair(name, block_t("")));
   return true;
 }