about summary refs log tree commit diff
path: root/src/engine/shared/snapshot.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/shared/snapshot.cpp')
-rw-r--r--src/engine/shared/snapshot.cpp124
1 files changed, 62 insertions, 62 deletions
diff --git a/src/engine/shared/snapshot.cpp b/src/engine/shared/snapshot.cpp
index fee6afa2..9ef8fdc3 100644
--- a/src/engine/shared/snapshot.cpp
+++ b/src/engine/shared/snapshot.cpp
@@ -12,31 +12,31 @@ CSnapshotItem *CSnapshot::GetItem(int Index)
 
 int CSnapshot::GetItemSize(int Index)
 {
-    if(Index == m_NumItems-1)
-        return (m_DataSize - Offsets()[Index]) - sizeof(CSnapshotItem);
-    return (Offsets()[Index+1] - Offsets()[Index]) - sizeof(CSnapshotItem);
+	if(Index == m_NumItems-1)
+		return (m_DataSize - Offsets()[Index]) - sizeof(CSnapshotItem);
+	return (Offsets()[Index+1] - Offsets()[Index]) - sizeof(CSnapshotItem);
 }
 
 int CSnapshot::GetItemIndex(int Key)
 {
-    // TODO: OPT: this should not be a linear search. very bad
-    for(int i = 0; i < m_NumItems; i++)
-    {
-        if(GetItem(i)->Key() == Key)
-            return i;
-    }
-    return -1;
+	// TODO: OPT: this should not be a linear search. very bad
+	for(int i = 0; i < m_NumItems; i++)
+	{
+		if(GetItem(i)->Key() == Key)
+			return i;
+	}
+	return -1;
 }
 
 int CSnapshot::Crc()
 {
 	int Crc = 0;
-	
+
 	for(int i = 0; i < m_NumItems; i++)
 	{
 		CSnapshotItem *pItem = GetItem(i);
 		int Size = GetItemSize(i);
-		
+
 		for(int b = 0; b < Size/4; b++)
 			Crc += pItem->Data()[b];
 	}
@@ -75,7 +75,7 @@ static void GenerateHash(CItemList *pHashlist, CSnapshot *pSnapshot)
 {
 	for(int i = 0; i < HASHLIST_SIZE; i++)
 		pHashlist[i].m_Num = 0;
-		
+
 	for(int i = 0; i < pSnapshot->NumItems(); i++)
 	{
 		int Key = pSnapshot->GetItem(i)->Key();
@@ -97,7 +97,7 @@ static int GetItemIndexHashed(int Key, const CItemList *pHashlist)
 			if(pHashlist[HashID].m_aKeys[i] == Key)
 				return pHashlist[HashID].m_aIndex[i];
 	}
-	
+
 	return -1;
 }
 
@@ -113,7 +113,7 @@ static int DiffItem(int *pPast, int *pCurrent, int *pOut, int Size)
 		pCurrent++;
 		Size--;
 	}
-	
+
 	return Needed;
 }
 
@@ -122,16 +122,16 @@ void CSnapshotDelta::UndiffItem(int *pPast, int *pDiff, int *pOut, int Size)
 	while(Size)
 	{
 		*pOut = *pPast+*pDiff;
-		
+
 		if(*pDiff == 0)
 			m_aSnapshotDataRate[m_SnapshotCurrent] += 1;
 		else
 		{
 			unsigned char aBuf[16];
-			unsigned char *pEnd = CVariableInt::Pack(aBuf,  *pDiff);
+			unsigned char *pEnd = CVariableInt::Pack(aBuf, *pDiff);
 			m_aSnapshotDataRate[m_SnapshotCurrent] += (int)(pEnd - (unsigned char*)aBuf) * 8;
 		}
-		
+
 		pOut++;
 		pPast++;
 		pDiff++;
@@ -169,11 +169,11 @@ int CSnapshotDelta::CreateDelta(CSnapshot *pFrom, CSnapshot *pTo, void *pDstData
 	CSnapshotItem *pPastItem;
 	int Count = 0;
 	int SizeCount = 0;
-	
+
 	pDelta->m_NumDeletedItems = 0;
 	pDelta->m_NumUpdateItems = 0;
 	pDelta->m_NumTempItems = 0;
-	
+
 	CItemList Hashlist[HASHLIST_SIZE];
 	GenerateHash(Hashlist, pTo);
 
@@ -189,7 +189,7 @@ int CSnapshotDelta::CreateDelta(CSnapshot *pFrom, CSnapshot *pTo, void *pDstData
 			pData++;
 		}
 	}
-	
+
 	GenerateHash(Hashlist, pFrom);
 	int aPastIndecies[1024];
 
@@ -197,29 +197,29 @@ int CSnapshotDelta::CreateDelta(CSnapshot *pFrom, CSnapshot *pTo, void *pDstData
 	// we do this as a separate pass because it helps the cache
 	for(i = 0; i < pTo->NumItems(); i++)
 	{
-		pCurItem = pTo->GetItem(i);  // O(1) .. O(n)
+		pCurItem = pTo->GetItem(i); // O(1) .. O(n)
 		aPastIndecies[i] = GetItemIndexHashed(pCurItem->Key(), Hashlist); // O(n) .. O(n^n)
 	}
-		
+
 	for(i = 0; i < pTo->NumItems(); i++)
 	{
 		// do delta
 		ItemSize = pTo->GetItemSize(i); // O(1) .. O(n)
-		pCurItem = pTo->GetItem(i);  // O(1) .. O(n)
+		pCurItem = pTo->GetItem(i); // O(1) .. O(n)
 		PastIndex = aPastIndecies[i];
-		
+
 		if(PastIndex != -1)
 		{
 			int *pItemDataDst = pData+3;
-	
+
 			pPastItem = pFrom->GetItem(PastIndex);
-			
+
 			if(m_aItemSizes[pCurItem->Type()])
 				pItemDataDst = pData+2;
-			
+
 			if(DiffItem((int*)pPastItem->Data(), (int*)pCurItem->Data(), pItemDataDst, ItemSize/4))
 			{
-				
+
 				*pData++ = pCurItem->Type();
 				*pData++ = pCurItem->ID();
 				if(!m_aItemSizes[pCurItem->Type()])
@@ -234,7 +234,7 @@ int CSnapshotDelta::CreateDelta(CSnapshot *pFrom, CSnapshot *pTo, void *pDstData
 			*pData++ = pCurItem->ID();
 			if(!m_aItemSizes[pCurItem->Type()])
 				*pData++ = ItemSize/4;
-			
+
 			mem_copy(pData, pCurItem->Data(), ItemSize);
 			SizeCount += ItemSize;
 			pData += ItemSize/4;
@@ -242,7 +242,7 @@ int CSnapshotDelta::CreateDelta(CSnapshot *pFrom, CSnapshot *pTo, void *pDstData
 			Count++;
 		}
 	}
-	
+
 	if(0)
 	{
 		dbg_msg("snapshot", "%d %d %d",
@@ -253,7 +253,7 @@ int CSnapshotDelta::CreateDelta(CSnapshot *pFrom, CSnapshot *pTo, void *pDstData
 
 	/*
 	// TODO: pack temp stuff
-	
+
 	// finish
 	//mem_copy(pDelta->offsets, deleted, pDelta->num_deleted_items*sizeof(int));
 	//mem_copy(&(pDelta->offsets[pDelta->num_deleted_items]), update, pDelta->num_update_items*sizeof(int));
@@ -261,10 +261,10 @@ int CSnapshotDelta::CreateDelta(CSnapshot *pFrom, CSnapshot *pTo, void *pDstData
 	//mem_copy(pDelta->data_start(), data, data_size);
 	//pDelta->data_size = data_size;
 	* */
-	
+
 	if(!pDelta->m_NumDeletedItems && !pDelta->m_NumUpdateItems && !pDelta->m_NumTempItems)
 		return 0;
-	
+
 	return (int)((char*)pData-(char*)pDstData);
 }
 
@@ -281,16 +281,16 @@ int CSnapshotDelta::UnpackDelta(CSnapshot *pFrom, CSnapshot *pTo, void *pSrcData
 	CData *pDelta = (CData *)pSrcData;
 	int *pData = (int *)pDelta->m_pData;
 	int *pEnd = (int *)(((char *)pSrcData + DataSize));
-	
+
 	CSnapshotItem *pFromItem;
 	int Keep, ItemSize;
 	int *pDeleted;
 	int ID, Type, Key;
 	int FromIndex;
 	int *pNewData;
-			
+
 	Builder.Init();
-	
+
 	// unpack deleted stuff
 	pDeleted = pData;
 	pData += pDelta->m_NumDeletedItems;
@@ -302,7 +302,7 @@ int CSnapshotDelta::UnpackDelta(CSnapshot *pFrom, CSnapshot *pTo, void *pSrcData
 	{
 		// dbg_assert(0, "fail!");
 		pFromItem = pFrom->GetItem(i);
-		ItemSize = pFrom->GetItemSize(i); 
+		ItemSize = pFrom->GetItemSize(i);
 		Keep = 1;
 		for(int d = 0; d < pDelta->m_NumDeletedItems; d++)
 		{
@@ -312,7 +312,7 @@ int CSnapshotDelta::UnpackDelta(CSnapshot *pFrom, CSnapshot *pTo, void *pSrcData
 				break;
 			}
 		}
-		
+
 		if(Keep)
 		{
 			// keep it
@@ -321,13 +321,13 @@ int CSnapshotDelta::UnpackDelta(CSnapshot *pFrom, CSnapshot *pTo, void *pSrcData
 				pFromItem->Data(), ItemSize);
 		}
 	}
-		
+
 	// unpack updated stuff
 	for(int i = 0; i < pDelta->m_NumUpdateItems; i++)
 	{
 		if(pData+2 > pEnd)
 			return -1;
-		
+
 		Type = *pData++;
 		ID = *pData++;
 		if(m_aItemSizes[Type])
@@ -339,18 +339,18 @@ int CSnapshotDelta::UnpackDelta(CSnapshot *pFrom, CSnapshot *pTo, void *pSrcData
 			ItemSize = (*pData++) * 4;
 		}
 		m_SnapshotCurrent = Type;
-		
+
 		if(RangeCheck(pEnd, pData, ItemSize) || ItemSize < 0) return -3;
-		
+
 		Key = (Type<<16)|ID;
-		
+
 		// create the item if needed
 		pNewData = Builder.GetItemData(Key);
 		if(!pNewData)
 			pNewData = (int *)Builder.NewItem(Key>>16, Key&0xffff, ItemSize);
 
 		//if(range_check(pEnd, pNewData, ItemSize)) return -4;
-			
+
 		FromIndex = pFrom->GetItemIndex(Key);
 		if(FromIndex != -1)
 		{
@@ -364,10 +364,10 @@ int CSnapshotDelta::UnpackDelta(CSnapshot *pFrom, CSnapshot *pTo, void *pSrcData
 			m_aSnapshotDataRate[m_SnapshotCurrent] += ItemSize*8;
 			m_aSnapshotDataUpdates[m_SnapshotCurrent]++;
 		}
-			
+
 		pData += ItemSize/4;
 	}
-	
+
 	// finish up
 	return Builder.Finish(pTo);
 }
@@ -402,24 +402,24 @@ void CSnapshotStorage::PurgeUntil(int Tick)
 {
 	CHolder *pHolder = m_pFirst;
 	CHolder *pNext;
-	
+
 	while(pHolder)
 	{
 		pNext = pHolder->m_pNext;
 		if(pHolder->m_Tick >= Tick)
 			return; // no more to remove
 		mem_free(pHolder);
-		
+
 		// did we come to the end of the list?
-        if (!pNext)
-            break;
+		if (!pNext)
+			break;
 
 		m_pFirst = pNext;
 		pNext->m_pPrev = 0x0;
-		
+
 		pHolder = pNext;
 	}
-	
+
 	// no more snapshots in storage
 	m_pFirst = 0;
 	m_pLast = 0;
@@ -429,12 +429,12 @@ void CSnapshotStorage::Add(int Tick, int64 Tagtime, int DataSize, void *pData, i
 {
 	// allocate memory for holder + snapshot_data
 	int TotalSize = sizeof(CHolder)+DataSize;
-	
+
 	if(CreateAlt)
 		TotalSize += DataSize;
-	
+
 	CHolder *pHolder = (CHolder *)mem_alloc(TotalSize, 1);
-	
+
 	// set data
 	pHolder->m_Tick = Tick;
 	pHolder->m_Tagtime = Tagtime;
@@ -449,8 +449,8 @@ void CSnapshotStorage::Add(int Tick, int64 Tagtime, int DataSize, void *pData, i
 	}
 	else
 		pHolder->m_pAltSnap = 0;
-		
-	
+
+
 	// link
 	pHolder->m_pNext = 0;
 	pHolder->m_pPrev = m_pLast;
@@ -464,7 +464,7 @@ void CSnapshotStorage::Add(int Tick, int64 Tagtime, int DataSize, void *pData, i
 int CSnapshotStorage::Get(int Tick, int64 *pTagtime, CSnapshot **ppData, CSnapshot **ppAltData)
 {
 	CHolder *pHolder = m_pFirst;
-	
+
 	while(pHolder)
 	{
 		if(pHolder->m_Tick == Tick)
@@ -477,10 +477,10 @@ int CSnapshotStorage::Get(int Tick, int64 *pTagtime, CSnapshot **ppData, CSnapsh
 				*ppData = pHolder->m_pAltSnap;
 			return pHolder->m_SnapSize;
 		}
-		
+
 		pHolder = pHolder->m_pNext;
 	}
-	
+
 	return -1;
 }
 
@@ -492,7 +492,7 @@ void CSnapshotBuilder::Init()
 	m_NumItems = 0;
 }
 
-CSnapshotItem *CSnapshotBuilder::GetItem(int Index) 
+CSnapshotItem *CSnapshotBuilder::GetItem(int Index)
 {
 	return (CSnapshotItem *)&(m_aData[m_aOffsets[Index]]);
 }