//////////////////////////////////////////////////////////////////////////
//																		//
//																		//
//////////////////////////////////////////////////////////////////////////
BOOL CImageColourNormal::Load(CFileReader* pcFile)
{
	ReturnOnFalse(pcFile->ReadFloat(&x));
	ReturnOnFalse(pcFile->ReadFloat(&y));
	ReturnOnFalse(pcFile->ReadFloat(&z));
	return TRUE;
}
//////////////////////////////////////////////////////////////////////////
//																		//
//																		//
//////////////////////////////////////////////////////////////////////////
BOOL CImageColourNormal::Save(CFileWriter* pcFile)
{
	ReturnOnFalse(pcFile->WriteFloat(x));
	ReturnOnFalse(pcFile->WriteFloat(y));
	ReturnOnFalse(pcFile->WriteFloat(z));
	return TRUE;
}
Пример #3
0
BOOL CMeshColours::Save(CFileWriter* pcFile)
{
	ReturnOnFalse(SaveMeshDetail(pcFile));
	ReturnOnFalse(mcFaces.Write(pcFile));
	ReturnOnFalse(mcColours.Write(pcFile));
	return TRUE;
}
//////////////////////////////////////////////////////////////////////////
//																		//
//																		//
//////////////////////////////////////////////////////////////////////////
BOOL CImageColourRGB::Save(CFileWriter* pcFile)
{
	ReturnOnFalse(pcFile->WriteFloat(r));
	ReturnOnFalse(pcFile->WriteFloat(g));
	ReturnOnFalse(pcFile->WriteFloat(b));
	return TRUE;
}
BOOL CMeshSelections::Save(CFileWriter* pcFile)
{
	ReturnOnFalse(mcVerts.Write(pcFile));
	ReturnOnFalse(mcEdges.Write(pcFile));
	ReturnOnFalse(mcFaces.Write(pcFile));
	return TRUE;
}
//////////////////////////////////////////////////////////////////////////
//																		//
//																		//
//////////////////////////////////////////////////////////////////////////
BOOL SInt3::Save(CFileWriter* pcFile)
{
	ReturnOnFalse(pcFile->WriteInt(x));
	ReturnOnFalse(pcFile->WriteInt(y));
	ReturnOnFalse(pcFile->WriteInt(z));
	return TRUE;
}
BOOL CObjectWriterChunked::Write(CSerialisedObject* pcSerialised)
{
	CChars	szChunkName;

	if (pcSerialised->IsNamed())
	{
		ReturnOnFalse(ObjectStartsWithBase(pcSerialised->GetName()));
		RemainingName(&szChunkName, pcSerialised->GetName());
	}
	else if (pcSerialised->IsIndexed())
	{
		Unnamed(pcSerialised, &szChunkName);
	}
	else
	{
		return FALSE;
	}

	ReturnOnFalse(mcChunkFile.WriteChunkBegin(szChunkName.Text()));
	ReturnOnFalse(mcChunkFile.WriteData(pcSerialised, pcSerialised->GetLength()));
	ReturnOnFalse(mcChunkFile.WriteChunkEnd());

	szChunkName.Kill();
	return TRUE;
}
BOOL CTestNamedObject::Save(CObjectSerialiser* pcFile)
{
	ReturnOnFalse(pcFile->WritePointer(mpNamedTest1));
	ReturnOnFalse(pcFile->WritePointer(mpNamedTest2));
	ReturnOnFalse(pcFile->WriteInt(miNum));
	return TRUE;
}
//////////////////////////////////////////////////////////////////////////
//																		//
//																		//
//////////////////////////////////////////////////////////////////////////
BOOL SInt3::Load(CFileReader* pcFile)
{
	ReturnOnFalse(pcFile->ReadInt(&x));
	ReturnOnFalse(pcFile->ReadInt(&y));
	ReturnOnFalse(pcFile->ReadInt(&z));
	return TRUE;
}
Пример #10
0
BOOL CAnimation::Save(CFileWriter* pcFile)
{
	ReturnOnFalse(pcFile->WriteBool(mbEnabled));
	ReturnOnFalse(pcFile->WriteInt(miCurrentCel));
	ReturnOnFalse(maCelIndices.Write(pcFile));
	return TRUE;
}
BOOL CTestNamedObject::Load(CObjectDeserialiser* pcFile)
{
	ReturnOnFalse(pcFile->ReadPointer(mpNamedTest1.This()));
	ReturnOnFalse(pcFile->ReadPointer(mpNamedTest2.This()));
	ReturnOnFalse(pcFile->ReadInt(&miNum));
	return TRUE;
}
Пример #12
0
BOOL CMeshColours::Load(CFileReader* pcFile)
{
	ReturnOnFalse(LoadMeshDetail(pcFile));
	ReturnOnFalse(mcFaces.Read(pcFile));
	ReturnOnFalse(mcColours.Read(pcFile));
	return TRUE;
}
BOOL CMeshSelections::Load(CFileReader* pcFile)
{
	ReturnOnFalse(mcVerts.Read(pcFile));
	ReturnOnFalse(mcEdges.Read(pcFile));
	ReturnOnFalse(mcFaces.Read(pcFile));
	return TRUE;
}
//////////////////////////////////////////////////////////////////////////
//																		//
//																		//
//////////////////////////////////////////////////////////////////////////
BOOL CImageColourARGB::Load(CFileReader* pcFile)
{
	ReturnOnFalse(pcFile->ReadFloat(&a));
	ReturnOnFalse(pcFile->ReadFloat(&r));
	ReturnOnFalse(pcFile->ReadFloat(&g));
	ReturnOnFalse(pcFile->ReadFloat(&b));
	return TRUE;
}
Пример #15
0
BOOL CAnimation::Load(CFileReader* pcFile)
{
	Init();
	ReturnOnFalse(pcFile->ReadBool(&mbEnabled));
	ReturnOnFalse(pcFile->ReadInt(&miCurrentCel));
	ReturnOnFalse(maCelIndices.Read(pcFile));
	return TRUE;
}
Пример #16
0
//////////////////////////////////////////////////////////////////////////
//																		//
//																		//
//////////////////////////////////////////////////////////////////////////
BOOL SFloat4::Load(CFileReader* pcFile)
{
	ReturnOnFalse(pcFile->ReadFloat(&x));
	ReturnOnFalse(pcFile->ReadFloat(&y));
	ReturnOnFalse(pcFile->ReadFloat(&z));
	ReturnOnFalse(pcFile->ReadFloat(&w));
	return TRUE;
}
Пример #17
0
//////////////////////////////////////////////////////////////////////////
//																		//
//																		//
//////////////////////////////////////////////////////////////////////////
BOOL SFloat4::Save(CFileWriter* pcFile)
{
	ReturnOnFalse(pcFile->WriteFloat(x));
	ReturnOnFalse(pcFile->WriteFloat(y));
	ReturnOnFalse(pcFile->WriteFloat(z));
	ReturnOnFalse(pcFile->WriteFloat(w));
	return TRUE;

}
Пример #18
0
BOOL CPackFiles::WriteHeader(void)
{
	CFileHeader	cFileHeader;

	ReturnOnFalse(cFileHeader.Save(&mcFile, PACK_FILE_WRITER, PACK_FILE_VERSION));
	ReturnOnFalse(mcFile.Write(&miNodes, sizeof(filePos), 1));

	miPosition = mcFile.GetFilePos();
	miNextNodesPtr = miPosition - sizeof(filePos);
	return TRUE;
}
Пример #19
0
BOOL CPackFiles::BeginRead(void)
{
	maReads.Init();

	ReturnOnFalse(mcFile.Open(EFM_Read));

	ReturnOnFalse(ReadHeader());
	ReturnOnFalse(ReadNodes());
	
	return TRUE;
}
Пример #20
0
BOOL CPackFiles::ReadHeader(void)
{
	CFileHeader	cFileHeader;

	ReturnOnFalse(cFileHeader.Load(&mcFile, PACK_FILE_WRITER, PACK_FILE_VERSION));
	ReturnOnFalse(mcFile.ReadLong(&miNodes));

	miPosition = mcFile.GetFilePos();
	miNextNodesPtr = miPosition - sizeof(filePos);
	
	return TRUE;
}
Пример #21
0
//////////////////////////////////////////////////////////////////////////
//																		//
//																		//
//////////////////////////////////////////////////////////////////////////
BOOL CMaterial::Load(CObjectDeserialiser* pcFile)
{
	ReturnOnFalse(msProperties.Load(pcFile));
	ReturnOnFalse(msDiffuse.Load(pcFile));
	ReturnOnFalse(msDiffuseLevel.Load(pcFile));
	ReturnOnFalse(msSpecular.Load(pcFile));
	ReturnOnFalse(msIllumination.Load(pcFile));
	ReturnOnFalse(msOpacity.Load(pcFile));
	ReturnOnFalse(msBump.Load(pcFile));
	ReturnOnFalse(msDetail.Load(pcFile));
	ReturnOnFalse(msDecal.Load(pcFile));
	ReturnOnFalse(msReflection.Load(pcFile));
	return TRUE;
}
Пример #22
0
//////////////////////////////////////////////////////////////////////////
//																		//
//																		//
//////////////////////////////////////////////////////////////////////////
BOOL CMaterial::Save(CObjectSerialiser* pcFile)
{
	ReturnOnFalse(msProperties.Save(pcFile));
	ReturnOnFalse(msDiffuse.Save(pcFile));
	ReturnOnFalse(msDiffuseLevel.Save(pcFile));
	ReturnOnFalse(msSpecular.Save(pcFile));
	ReturnOnFalse(msIllumination.Save(pcFile));
	ReturnOnFalse(msOpacity.Save(pcFile));
	ReturnOnFalse(msBump.Save(pcFile));
	ReturnOnFalse(msDetail.Save(pcFile));
	ReturnOnFalse(msDecal.Save(pcFile));
	ReturnOnFalse(msReflection.Save(pcFile));
	return TRUE;
}
BOOL CConvexHullIndexed::Load(CFileReader* pcFile)
{
	CPolygonIndexed*	pcPolygon;
	int					i;


	ReturnOnFalse(mcPolygons.ReadAllocatorAndHeader(pcFile));
	for (i = 0; i < mcPolygons.NumElements(); i++)
	{
		pcPolygon = mcPolygons.Get(i);
		ReturnOnFalse(pcPolygon->Load(pcFile));
	}

	return TRUE;
}
BOOL CObjectGraphSerialiser::Write(CBaseObject* pcObject)
{
	CBaseObject*	pcUnwritten;
	BOOL			bResult;

	ReturnOnFalse(mpcWriter->Begin());

	AddDependent(pcObject);

	for (;;)
	{
		pcUnwritten = mcDependentObjects.GetUnwritten();
		if (pcUnwritten)
		{
			bResult = WriteUnwritten(pcUnwritten);
			if (!bResult)
			{
				return FALSE;
			}
		}
		else
		{
			break;
		}
	}

	return mpcWriter->End();
}
Пример #25
0
BOOL CPackFiles::ReadNode(void)
{
	CChars			sz;
	CFileNodePackFileNode*	pcNode;

	sz.Init();

	if (!sz.ReadString(&mcFile))
	{
		return FALSE;
	}

	pcNode = AddFile(sz.Text());
	sz.Kill();

	if (!((pcNode) && (pcNode->IsFile())))
	{
		return FALSE;
	}

	ReturnOnFalse(pcNode->File()->Load(&mcFile));

	miPosition = mcFile.GetFilePos();
	return TRUE;
}
Пример #26
0
BOOL CPackFiles::BeginWrite(void)
{
	ReturnOnFalse(mcFile.Open(EFM_ReadWrite_Create));

	if (mcFile.GetFileSize() > 0)
	{
		ReturnOnFalse(ReadHeader());
		ReturnOnFalse(ReadNodes());

		return TRUE;
	}
	else
	{
		return WriteHeader();
	}
}
Пример #27
0
BOOL CLogFile::Begin(void)
{
	BOOL	bMustOpen;

	macCommands.ReInit();

	miPosition = 0;

	if (mpcBackingFile)
	{
		bMustOpen = !mpcBackingFile->IsOpen();
		if (bMustOpen)
		{
			ReturnOnFalse(mpcBackingFile->Open(EFM_Read));
			mbOpenedBackingFile = TRUE;
		}
		miFileLength = mpcBackingFile->Size();
	}
	else
	{
		mbOpenedBackingFile = FALSE;
		miFileLength = 0;
	}
	miLength = miFileLength;
	return TRUE;
}
Пример #28
0
BOOL CMesh::Save(CObjectSerialiser* pcFile)
{
	ReturnOnFalse(mcPositions.Save(pcFile));
	ReturnOnFalse(mcConnectivity.Save(pcFile));
	ReturnOnFalse(mcNormals.Save(pcFile));
	ReturnOnFalse(mcUVs.Save(pcFile));
	ReturnOnFalse(mcSkin.Save(pcFile));
	ReturnOnFalse(mcMaterials.Save(pcFile));
	ReturnOnFalse(mcColours.Save(pcFile));
	ReturnOnFalse(mcFaceTypes.Save(pcFile));
	ReturnOnFalse(mcCache.Save(pcFile));
	return TRUE;
}
Пример #29
0
BOOL CLogFile::Commit(CAbstractFile* pcFile)
{
	int							i;
	void*						pvData;
	CLogFileCommand*			psCommand;
	CLogFileCommandWrite*		psWrite;
	CLogFileCommandOpen*		psOpen;
	CLogFileCommandClose*		psClose;
	CLogFileCommandDelete*		psDelete;

	if (mbOpenedBackingFile)
	{
		mpcBackingFile->Close();
	}

	for (i = 0; i < macCommands.NumElements(); i++)
	{
		macCommands.Get(i, &pvData);
		psCommand = (CLogFileCommand*)pvData;
		if (psCommand->IsWrite())
		{
			psWrite = (CLogFileCommandWrite*)psCommand;
			ReturnOnFalse(psWrite->Write(pcFile));
		}
		else if (psCommand->IsOpen())
		{
			psOpen = (CLogFileCommandOpen*)psCommand;
			ReturnOnFalse(psOpen->Open(pcFile));
		}
		else if (psCommand->IsClose())
		{
			psClose = (CLogFileCommandClose*)psCommand;
			ReturnOnFalse(psClose->Close(pcFile));
		}
		else if (psCommand->IsDelete())
		{
			psDelete = (CLogFileCommandDelete*)psCommand;
			ReturnOnFalse(psDelete->Delete(pcFile));
		}
	}
	return TRUE;
}
//////////////////////////////////////////////////////////////////////////
//																		//
//																		//
//////////////////////////////////////////////////////////////////////////
BOOL CConnection::Save(CObjectSerialiser* pcFile)
{
	//Write out the actual matrix.
	if (!msWorldMatrix.Save(pcFile))
	{
		gcUserError.Set("Could not write connection world matrix.");
		return FALSE;
	}

	if (!msLocalMatrix.Save(pcFile))
	{
		gcUserError.Set("Could not write connection local matrix.");
		return FALSE;
	}

	ReturnOnFalse(pcFile->WriteInt(mbSelected));
	ReturnOnFalse(pcFile->WriteInt(mbTopLevel));
	ReturnOnFalse(pcFile->WriteInt(mbParity));
	return TRUE;
}