Beispiel #1
0
int IndexRow::writeBuffer(char* pageBuffer,int offset)
{
	assert(pageBuffer);
	///////////KEY/////////////////
	pageBuffer[offset]=(uint8_t)this->getKeySize();
	offset+=1;//keySize
	memcpy((void*)(pageBuffer[offset]),this->getKey(),this->getKeySize());
	offset+=this->getKeySize();//key
	///////////PAGE/////////////////
	setU32(pageBuffer,offset,this->pageNo);
	offset+=4;

	return 1;
}
Beispiel #2
0
void MappedValues::fromJson(const Json::Value& root)
{
	

	Json::Value floats = root["Floats"], ints = root["Ints"], uints = root["Uints"], strings = root["Strings"], vector2s = root["Vector2s"], vector3s = root["Vector3s"], vector4s = root["Vector4s"],
		matrix2s = root["Matrix2s"], matrix3s = root["Matrix3s"], matrix4s = root["Matrix4s"], textures = root["Textures"];

	for (auto i = floats.begin(); i != floats.end(); i++) {
		setFloat(i.name(), (*i).asFloat());
	}

	for (auto i = ints.begin(); i != ints.end(); i++) {
		setI32(i.name(), (*i).asInt());
	}

	for (auto i = uints.begin(); i != uints.end(); i++) {
		setU32(i.name(), (*i).asUInt());
	}

	for (auto i = strings.begin(); i != strings.end(); i++) {
		setString(i.name(), (*i).asString());
	}

	for (auto i = vector2s.begin(); i != vector2s.end(); i++) {
		Vector2 vec((*i)[0].asFloat(), (*i)[1].asFloat());
		setVector2(i.name(), vec);
	}

	for (auto i = vector3s.begin(); i != vector3s.end(); i++) {
		Vector3 vec((*i)[0].asFloat(), (*i)[1].asFloat(), (*i)[2].asFloat());
		setVector3(i.name(), vec);
	}

	for (auto i = vector4s.begin(); i != vector4s.end(); i++) {
		Vector4 vec((*i)[0].asFloat(), (*i)[1].asFloat(), (*i)[2].asFloat(), (*i)[3].asFloat());
		setVector4(i.name(), vec);
	}

	for (auto i = matrix2s.begin(); i != matrix2s.end(); i++) {
		Matrix2 mat((*i)[0].asFloat(), (*i)[1].asFloat(), (*i)[2].asFloat(), (*i)[3].asFloat());
		setMatrix2(i.name(), mat);
	}

	for (auto i = matrix3s.begin(); i != matrix3s.end(); i++) {
		Matrix3 mat((*i)[0].asFloat(), (*i)[1].asFloat(), (*i)[2].asFloat(), (*i)[3].asFloat(), (*i)[4].asFloat(), (*i)[5].asFloat(), (*i)[6].asFloat(), (*i)[7].asFloat(), (*i)[8].asFloat());
		setMatrix3(i.name(), mat);
	}

	for (auto i = matrix4s.begin(); i != matrix4s.end(); i++) {
		Matrix4 mat((*i)[0].asFloat(), (*i)[1].asFloat(), (*i)[2].asFloat(), (*i)[3].asFloat(), (*i)[4].asFloat(), (*i)[5].asFloat(), (*i)[6].asFloat(), (*i)[7].asFloat(), (*i)[8].asFloat(), (*i)[9].asFloat(),
			(*i)[10].asFloat(), (*i)[11].asFloat(), (*i)[12].asFloat(), (*i)[13].asFloat(), (*i)[14].asFloat(), (*i)[15].asFloat());
		setMatrix4(i.name(), mat);
	}

	for (auto i = textures.begin(); i != textures.end(); i++) {
		setTexture(i.name(), resourceManager->fetchTextureLoad((*i).asString()));

	}







}
Beispiel #3
0
	void setExtLen(uint32_t len)
	{
		setU32(4, len);
	}