about summary refs log tree commit diff
path: root/src/engine/shared/datafile.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/shared/datafile.cpp')
-rw-r--r--src/engine/shared/datafile.cpp114
1 files changed, 57 insertions, 57 deletions
diff --git a/src/engine/shared/datafile.cpp b/src/engine/shared/datafile.cpp
index 74936ea0..3a5a4b1d 100644
--- a/src/engine/shared/datafile.cpp
+++ b/src/engine/shared/datafile.cpp
@@ -75,9 +75,9 @@ bool CDataFileReader::Open(class IStorage *pStorage, const char *pFilename, int
 	{
 		dbg_msg("datafile", "could not open '%s'", pFilename);
 		return false;
-	}	
-	
-	
+	}
+
+
 	// take the CRC of the file and store it
 	unsigned Crc = 0;
 	{
@@ -85,9 +85,9 @@ bool CDataFileReader::Open(class IStorage *pStorage, const char *pFilename, int
 		{
 			BUFFER_SIZE = 64*1024
 		};
-		
+
 		unsigned char aBuffer[BUFFER_SIZE];
-		
+
 		while(1)
 		{
 			unsigned Bytes = io_read(File, aBuffer, BUFFER_SIZE);
@@ -95,11 +95,11 @@ bool CDataFileReader::Open(class IStorage *pStorage, const char *pFilename, int
 				break;
 			Crc = crc32(Crc, aBuffer, Bytes); // ignore_convention
 		}
-		
+
 		io_seek(File, 0, IOSEEK_START);
 	}
-	
-	
+
+
 	// TODO: change this header
 	CDatafileHeader Header;
 	io_read(File, &Header, sizeof(Header));
@@ -113,14 +113,14 @@ bool CDataFileReader::Open(class IStorage *pStorage, const char *pFilename, int
 	}
 
 #if defined(CONF_ARCH_ENDIAN_BIG)
-	swap_endian(&Header, sizeof(int), sizeof(Header)/sizeof(int));	
+	swap_endian(&Header, sizeof(int), sizeof(Header)/sizeof(int));
 #endif
 	if(Header.m_Version != 3 && Header.m_Version != 4)
 	{
 		dbg_msg("datafile", "wrong version. version=%x", Header.m_Version);
 		return 0;
 	}
-	
+
 	// read in the rest except the data
 	unsigned Size = 0;
 	Size += Header.m_NumItemTypes*sizeof(CDatafileItemType);
@@ -128,7 +128,7 @@ bool CDataFileReader::Open(class IStorage *pStorage, const char *pFilename, int
 	if(Header.m_Version == 4)
 		Size += Header.m_NumRawData*sizeof(int); // v4 has uncompressed data sizes aswell
 	Size += Header.m_ItemSize;
-	
+
 	unsigned AllocSize = Size;
 	AllocSize += sizeof(CDatafile); // add space for info structure
 	AllocSize += Header.m_NumRawData*sizeof(void*); // add space for data pointers
@@ -140,10 +140,10 @@ bool CDataFileReader::Open(class IStorage *pStorage, const char *pFilename, int
 	pTmpDataFile->m_pData = (char *)(pTmpDataFile+1)+Header.m_NumRawData*sizeof(char *);
 	pTmpDataFile->m_File = File;
 	pTmpDataFile->m_Crc = Crc;
-	
+
 	// clear the data pointers
 	mem_zero(pTmpDataFile->m_ppDataPtrs, Header.m_NumRawData*sizeof(void*));
-	
+
 	// read types, offsets, sizes and item data
 	unsigned ReadSize = io_read(File, pTmpDataFile->m_pData, Size);
 	if(ReadSize != Size)
@@ -169,12 +169,12 @@ bool CDataFileReader::Open(class IStorage *pStorage, const char *pFilename, int
 		dbg_msg("datafile", "swaplen=%d", Header.m_Swaplen);
 		dbg_msg("datafile", "item_size=%d", m_pDataFile->m_Header.m_ItemSize);
 	}
-	
+
 	m_pDataFile->m_Info.m_pItemTypes = (CDatafileItemType *)m_pDataFile->m_pData;
 	m_pDataFile->m_Info.m_pItemOffsets = (int *)&m_pDataFile->m_Info.m_pItemTypes[m_pDataFile->m_Header.m_NumItemTypes];
 	m_pDataFile->m_Info.m_pDataOffsets = (int *)&m_pDataFile->m_Info.m_pItemOffsets[m_pDataFile->m_Header.m_NumItems];
 	m_pDataFile->m_Info.m_pDataSizes = (int *)&m_pDataFile->m_Info.m_pDataOffsets[m_pDataFile->m_Header.m_NumRawData];
-	
+
 	if(Header.m_Version == 4)
 		m_pDataFile->m_Info.m_pItemStart = (char *)&m_pDataFile->m_Info.m_pDataSizes[m_pDataFile->m_Header.m_NumRawData];
 	else
@@ -191,7 +191,7 @@ bool CDataFileReader::Open(class IStorage *pStorage, const char *pFilename, int
 			void *p = datafile_get_data(df, i);
 			dbg_msg("datafile", "%d %d", (int)((char*)p - (char*)(&m_pDataFile->data)), size);
 		}
-			
+
 		for(int i = 0; i < datafile_num_items(df); i++)
 		{
 			int type, id;
@@ -218,7 +218,7 @@ bool CDataFileReader::Open(class IStorage *pStorage, const char *pFilename, int
 		}
 		*/
 	}
-		
+
 	return true;
 }
 
@@ -227,7 +227,7 @@ bool CDataFileReader::GetCrcSize(class IStorage *pStorage, const char *pFilename
 	IOHANDLE File = pStorage->OpenFile(pFilename, IOFLAG_READ, StorageType);
 	if(!File)
 		return false;
-	
+
 	// get crc and size
 	unsigned Crc = 0;
 	unsigned Size = 0;
@@ -240,7 +240,7 @@ bool CDataFileReader::GetCrcSize(class IStorage *pStorage, const char *pFilename
 		Crc = crc32(Crc, aBuffer, Bytes); // ignore_convention
 		Size += Bytes;
 	}
-	
+
 	io_close(File);
 
 	*pCrc = Crc;
@@ -258,23 +258,23 @@ int CDataFileReader::NumData()
 int CDataFileReader::GetDataSize(int Index)
 {
 	if(!m_pDataFile) { return 0; }
-	
+
 	if(Index == m_pDataFile->m_Header.m_NumRawData-1)
 		return m_pDataFile->m_Header.m_DataSize-m_pDataFile->m_Info.m_pDataOffsets[Index];
-	return  m_pDataFile->m_Info.m_pDataOffsets[Index+1]-m_pDataFile->m_Info.m_pDataOffsets[Index];
+	return m_pDataFile->m_Info.m_pDataOffsets[Index+1]-m_pDataFile->m_Info.m_pDataOffsets[Index];
 }
 
 void *CDataFileReader::GetDataImpl(int Index, int Swap)
 {
 	if(!m_pDataFile) { return 0; }
-	
+
 	// load it if needed
 	if(!m_pDataFile->m_ppDataPtrs[Index])
 	{
 		// fetch the data size
 		int DataSize = GetDataSize(Index);
 		int SwapSize = DataSize;
-		
+
 		if(m_pDataFile->m_Header.m_Version == 4)
 		{
 			// v4 has compressed data
@@ -284,7 +284,7 @@ void *CDataFileReader::GetDataImpl(int Index, int Swap)
 
 			dbg_msg("datafile", "loading data index=%d size=%d uncompressed=%d", Index, DataSize, UncompressedSize);
 			m_pDataFile->m_ppDataPtrs[Index] = (char *)mem_alloc(UncompressedSize, 1);
-			
+
 			// read the compressed data
 			io_seek(m_pDataFile->m_File, m_pDataFile->m_DataStartOffset+m_pDataFile->m_Info.m_pDataOffsets[Index], IOSEEK_START);
 			io_read(m_pDataFile->m_File, pTemp, DataSize);
@@ -311,7 +311,7 @@ void *CDataFileReader::GetDataImpl(int Index, int Swap)
 			swap_endian(m_pDataFile->m_ppDataPtrs[Index], sizeof(int), SwapSize/sizeof(int));
 #endif
 	}
-	
+
 	return m_pDataFile->m_ppDataPtrs[Index];
 }
 
@@ -329,7 +329,7 @@ void CDataFileReader::UnloadData(int Index)
 {
 	if(Index < 0)
 		return;
-		
+
 	//
 	mem_free(m_pDataFile->m_ppDataPtrs[Index]);
 	m_pDataFile->m_ppDataPtrs[Index] = 0x0;
@@ -340,13 +340,13 @@ int CDataFileReader::GetItemSize(int Index)
 	if(!m_pDataFile) { return 0; }
 	if(Index == m_pDataFile->m_Header.m_NumItems-1)
 		return m_pDataFile->m_Header.m_ItemSize-m_pDataFile->m_Info.m_pItemOffsets[Index];
-	return  m_pDataFile->m_Info.m_pItemOffsets[Index+1]-m_pDataFile->m_Info.m_pItemOffsets[Index];
+	return m_pDataFile->m_Info.m_pItemOffsets[Index+1]-m_pDataFile->m_Info.m_pItemOffsets[Index];
 }
 
 void *CDataFileReader::GetItem(int Index, int *pType, int *pID)
 {
 	if(!m_pDataFile) { if(pType) *pType = 0; if(pID) *pID = 0; return 0; }
-	
+
 	CDatafileItem *i = (CDatafileItem *)(m_pDataFile->m_Info.m_pItemStart+m_pDataFile->m_Info.m_pItemOffsets[Index]);
 	if(pType)
 		*pType = (i->m_TypeAndID>>16)&0xffff; // remove sign extention
@@ -362,7 +362,7 @@ void CDataFileReader::GetType(int Type, int *pStart, int *pNum)
 
 	if(!m_pDataFile)
 		return;
-	
+
 	for(int i = 0; i < m_pDataFile->m_Header.m_NumItemTypes; i++)
 	{
 		if(m_pDataFile->m_Info.m_pItemTypes[i].m_Type == Type)
@@ -377,7 +377,7 @@ void CDataFileReader::GetType(int Type, int *pStart, int *pNum)
 void *CDataFileReader::FindItem(int Type, int ID)
 {
 	if(!m_pDataFile) return 0;
-	
+
 	int Start, Num;
 	GetType(Type, &Start, &Num);
 	for(int i = 0; i < Num; i++)
@@ -400,12 +400,12 @@ bool CDataFileReader::Close()
 {
 	if(!m_pDataFile)
 		return true;
-	
+
 	// free the data that is loaded
 	int i;
 	for(i = 0; i < m_pDataFile->m_Header.m_NumRawData; i++)
 		mem_free(m_pDataFile->m_ppDataPtrs[i]);
-	
+
 	io_close(m_pDataFile->m_File);
 	mem_free(m_pDataFile);
 	m_pDataFile = 0;
@@ -424,7 +424,7 @@ bool CDataFileWriter::Open(class IStorage *pStorage, const char *pFilename)
 	m_File = pStorage->OpenFile(pFilename, IOFLAG_WRITE, IStorage::TYPE_SAVE);
 	if(!m_File)
 		return false;
-	
+
 	m_NumItems = 0;
 	m_NumDatas = 0;
 	m_NumItemTypes = 0;
@@ -435,7 +435,7 @@ bool CDataFileWriter::Open(class IStorage *pStorage, const char *pFilename)
 		m_aItemTypes[i].m_First = -1;
 		m_aItemTypes[i].m_Last = -1;
 	}
-	
+
 	return true;
 }
 
@@ -450,7 +450,7 @@ int CDataFileWriter::AddItem(int Type, int ID, int Size, void *pData)
 	m_aItems[m_NumItems].m_Type = Type;
 	m_aItems[m_NumItems].m_ID = ID;
 	m_aItems[m_NumItems].m_Size = Size;
-	
+
 	// copy data
 	m_aItems[m_NumItems].m_pData = mem_alloc(Size, 1);
 	mem_copy(m_aItems[m_NumItems].m_pData, pData, Size);
@@ -461,16 +461,16 @@ int CDataFileWriter::AddItem(int Type, int ID, int Size, void *pData)
 	// link
 	m_aItems[m_NumItems].m_Prev = m_aItemTypes[Type].m_Last;
 	m_aItems[m_NumItems].m_Next = -1;
-	
+
 	if(m_aItemTypes[Type].m_Last != -1)
 		m_aItems[m_aItemTypes[Type].m_Last].m_Next = m_NumItems;
 	m_aItemTypes[Type].m_Last = m_NumItems;
-	
+
 	if(m_aItemTypes[Type].m_First == -1)
 		m_aItemTypes[Type].m_First = m_NumItems;
-	
+
 	m_aItemTypes[Type].m_Num++;
-		
+
 	m_NumItems++;
 	return m_NumItems-1;
 }
@@ -491,7 +491,7 @@ int CDataFileWriter::AddData(int Size, void *pData)
 		dbg_msg("datafile", "compression error %d", Result);
 		dbg_assert(0, "zlib error");
 	}
-		
+
 	pInfo->m_UncompressedSize = Size;
 	pInfo->m_CompressedSize = (int)s;
 	pInfo->m_pCompressedData = mem_alloc(pInfo->m_CompressedSize, 1);
@@ -539,23 +539,23 @@ int CDataFileWriter::Finish()
 			dbg_msg("datafile", "item=%d size=%d (%d)", i, m_aItems[i].m_Size, m_aItems[i].m_Size+sizeof(CDatafileItem));
 		ItemSize += m_aItems[i].m_Size + sizeof(CDatafileItem);
 	}
-	
-	
+
+
 	for(int i = 0; i < m_NumDatas; i++)
 		DataSize += m_aDatas[i].m_CompressedSize;
-	
+
 	// calculate the complete size
 	TypesSize = m_NumItemTypes*sizeof(CDatafileItemType);
 	HeaderSize = sizeof(CDatafileHeader);
 	OffsetSize = (m_NumItems + m_NumDatas + m_NumDatas) * sizeof(int); // ItemOffsets, DataOffsets, DataUncompressedSizes
 	FileSize = HeaderSize + TypesSize + OffsetSize + ItemSize + DataSize;
 	SwapSize = FileSize - DataSize;
-	
+
 	(void)SwapSize;
-	
+
 	if(DEBUG)
 		dbg_msg("datafile", "num_m_aItemTypes=%d TypesSize=%d m_aItemsize=%d DataSize=%d", m_NumItemTypes, TypesSize, ItemSize, DataSize);
-	
+
 	// construct Header
 	{
 		Header.m_aID[0] = 'D';
@@ -570,7 +570,7 @@ int CDataFileWriter::Finish()
 		Header.m_NumRawData = m_NumDatas;
 		Header.m_ItemSize = ItemSize;
 		Header.m_DataSize = DataSize;
-		
+
 		// write Header
 		if(DEBUG)
 			dbg_msg("datafile", "HeaderSize=%d", sizeof(Header));
@@ -579,7 +579,7 @@ int CDataFileWriter::Finish()
 #endif
 		io_write(m_File, &Header, sizeof(Header));
 	}
-	
+
 	// write types
 	for(int i = 0, Count = 0; i < 0xffff; i++)
 	{
@@ -599,7 +599,7 @@ int CDataFileWriter::Finish()
 			Count += m_aItemTypes[i].m_Num;
 		}
 	}
-	
+
 	// write item offsets
 	for(int i = 0, Offset = 0; i < 0xffff; i++)
 	{
@@ -617,13 +617,13 @@ int CDataFileWriter::Finish()
 #endif
 				io_write(m_File, &Temp, sizeof(Temp));
 				Offset += m_aItems[k].m_Size + sizeof(CDatafileItem);
-				
+
 				// next
 				k = m_aItems[k].m_Next;
 			}
 		}
 	}
-	
+
 	// write data offsets
 	for(int i = 0, Offset = 0; i < m_NumDatas; i++)
 	{
@@ -648,7 +648,7 @@ int CDataFileWriter::Finish()
 #endif
 		io_write(m_File, &UncompressedSize, sizeof(UncompressedSize));
 	}
-	
+
 	// write m_aItems
 	for(int i = 0; i < 0xffff; i++)
 	{
@@ -663,20 +663,20 @@ int CDataFileWriter::Finish()
 				Item.m_Size = m_aItems[k].m_Size;
 				if(DEBUG)
 					dbg_msg("datafile", "writing item type=%x idx=%d id=%d size=%d", i, k, m_aItems[k].m_ID, m_aItems[k].m_Size);
-				
+
 #if defined(CONF_ARCH_ENDIAN_BIG)
 				swap_endian(&Item, sizeof(int), sizeof(Item)/sizeof(int));
 				swap_endian(m_aItems[k].m_pData, sizeof(int), m_aItems[k].m_Size/sizeof(int));
 #endif
 				io_write(m_File, &Item, sizeof(Item));
 				io_write(m_File, m_aItems[k].m_pData, m_aItems[k].m_Size);
-				
+
 				// next
 				k = m_aItems[k].m_Next;
 			}
 		}
 	}
-	
+
 	// write data
 	for(int i = 0; i < m_NumDatas; i++)
 	{
@@ -690,10 +690,10 @@ int CDataFileWriter::Finish()
 		mem_free(m_aItems[i].m_pData);
 	for(int i = 0; i < m_NumDatas; ++i)
 		mem_free(m_aDatas[i].m_pCompressedData);
-	
+
 	io_close(m_File);
 	m_File = 0;
-	
+
 	if(DEBUG)
 		dbg_msg("datafile", "done");
 	return 0;