Exemplo n.º 1
0
//------------------------------------------------------------------------
bool PresetFile::writeChunkList ()
{
	// Update list offset
	TSize pos = 0;
	stream->tell (&pos);
	if (!(seekTo (kListOffsetPos) &&
		 writeSize (pos) &&
		 seekTo (pos)))
		return false;

	// Write list
	if (!writeID (getChunkID (kChunkList)))
		return false;
	if (!writeInt32 (entryCount))
		return false;

	for (int32 i = 0; i < entryCount; i++)
	{
		Entry& e = entries[i];
		if (!(writeID (e.id) &&
			 writeSize (e.offset) &&
			 writeSize (e.size)))
			 return false;
	}
	return true;
}
Exemplo n.º 2
0
			QueryWriter* writeDevice(const Char* name, UShort id)
			{
				xthrow(status != Device, error::IllegalCall, "A illegal calling is to write device.");
				if (!flags_.has(QueryFlags::IsAllDevice))
				{
					writeID(name, id);
				}
				else
				{
					xassert(true, "Can't to write the device, because the flags was defined to used to the all device.")
				}
			};
Exemplo n.º 3
0
//------------------------------------------------------------------------
bool PresetFile::writeHeader ()
{
	// header id + version + class id + list offset (unknown yet)

	char8 classString[kClassIDSize + 1] = {0};
	classID.toString (classString);

	return	seekTo (0) &&
			writeID (getChunkID (kHeader)) && 
			writeInt32 (kFormatVersion) && 
			verify (stream->write (classString, kClassIDSize)) &&
			writeSize (0);
}
Exemplo n.º 4
0
			QueryWriter* writeGroup(const Char* name, UShort id)
			{
				xthrow(status != Group, error::IllegalCall, "A illegal calling is to write group.");
				if (!flags_.has(QueryFlags::IsAllGroup))
				{
					writeID(name, id);
				}
				else
				{
					xassert(true, "Can't to write the group, because the flags to defined to used the all group.")
				}
				return this;
			};
Exemplo n.º 5
0
void tileReference::save(fstream& file){
    file << "<tileReference>\n";
    file << "<id>" << writeID(false) << "\n";
    file << "<palette>" << writePalette() << "\n";
    file << "<endTileReference>\n";
}