about summary refs log tree commit diff
diff options
context:
space:
mode:
authoroy <Tom_Adams@web.de>2012-01-09 02:02:02 +0100
committeroy <Tom_Adams@web.de>2012-01-09 02:02:02 +0100
commit590dbac239768d9ddb8712111b60c783431021d5 (patch)
tree9c45e132f349ca9ccb240084a2a62fe7ee1c41ab
parent40735202143f8c4d2a539d1d81362c0c22e9324b (diff)
downloadzcatch-590dbac239768d9ddb8712111b60c783431021d5.tar.gz
zcatch-590dbac239768d9ddb8712111b60c783431021d5.zip
put the game version constants all together in one file. Closes #870
-rw-r--r--src/engine/client/client.cpp19
-rw-r--r--src/game/version.h1
-rw-r--r--src/versionsrv/versionsrv.cpp6
-rw-r--r--src/versionsrv/versionsrv.h2
4 files changed, 17 insertions, 11 deletions
diff --git a/src/engine/client/client.cpp b/src/engine/client/client.cpp
index 0e380e40..b115a9ac 100644
--- a/src/engine/client/client.cpp
+++ b/src/engine/client/client.cpp
@@ -36,6 +36,8 @@
 #include <engine/shared/ringbuffer.h>
 #include <engine/shared/snapshot.h>
 
+#include <game/version.h>
+
 #include <mastersrv/mastersrv.h>
 #include <versionsrv/versionsrv.h>
 
@@ -859,23 +861,26 @@ void CClient::ProcessConnlessPacket(CNetChunk *pPacket)
 	if(m_VersionInfo.m_State == CVersionInfo::STATE_READY && net_addr_comp(&pPacket->m_Address, &m_VersionInfo.m_VersionServeraddr.m_Addr) == 0)
 	{
 		// version info
-		if(pPacket->m_DataSize == (int)(sizeof(VERSIONSRV_VERSION) + sizeof(VERSION_DATA)) &&
+		if(pPacket->m_DataSize == (int)(sizeof(VERSIONSRV_VERSION) + sizeof(GAME_RELEASE_VERSION)) &&
 			mem_comp(pPacket->m_pData, VERSIONSRV_VERSION, sizeof(VERSIONSRV_VERSION)) == 0)
 
 		{
-			unsigned char *pVersionData = (unsigned char*)pPacket->m_pData + sizeof(VERSIONSRV_VERSION);
-			int VersionMatch = !mem_comp(pVersionData, VERSION_DATA, sizeof(VERSION_DATA));
+			char *pVersionData = (char*)pPacket->m_pData + sizeof(VERSIONSRV_VERSION);
+			int VersionMatch = !mem_comp(pVersionData, GAME_RELEASE_VERSION, sizeof(GAME_RELEASE_VERSION));
+
+			char aVersion[sizeof(GAME_RELEASE_VERSION)];
+			str_copy(aVersion, pVersionData, sizeof(aVersion));
 
 			char aBuf[256];
-			str_format(aBuf, sizeof(aBuf), "version does %s (%d.%d.%d)",
+			str_format(aBuf, sizeof(aBuf), "version does %s (%s)",
 				VersionMatch ? "match" : "NOT match",
-				pVersionData[1], pVersionData[2], pVersionData[3]);
+				aVersion);
 			m_pConsole->Print(IConsole::OUTPUT_LEVEL_ADDINFO, "client/version", aBuf);
 
 			// assume version is out of date when version-data doesn't match
-			if (!VersionMatch)
+			if(!VersionMatch)
 			{
-				str_format(m_aVersionStr, sizeof(m_aVersionStr), "%d.%d.%d", pVersionData[1], pVersionData[2], pVersionData[3]);
+				str_copy(m_aVersionStr, aVersion, sizeof(m_aVersionStr));
 			}
 
 			// request the map version list now
diff --git a/src/game/version.h b/src/game/version.h
index c7f04b75..3d909e36 100644
--- a/src/game/version.h
+++ b/src/game/version.h
@@ -5,4 +5,5 @@
 #include "generated/nethash.cpp"
 #define GAME_VERSION "0.6 trunk"
 #define GAME_NETVERSION "0.6 " GAME_NETVERSION_HASH
+static const char GAME_RELEASE_VERSION[8] = {'0', '.', '6', '1', 0};
 #endif
diff --git a/src/versionsrv/versionsrv.cpp b/src/versionsrv/versionsrv.cpp
index ac5883f9..da55e717 100644
--- a/src/versionsrv/versionsrv.cpp
+++ b/src/versionsrv/versionsrv.cpp
@@ -4,6 +4,8 @@
 
 #include <engine/shared/network.h>
 
+#include <game/version.h>
+
 #include "versionsrv.h"
 
 enum {
@@ -57,10 +59,10 @@ void BuildPackets()
 void SendVer(NETADDR *pAddr)
 {
 	CNetChunk p;
-	unsigned char aData[sizeof(VERSIONSRV_VERSION) + sizeof(VERSION_DATA)];
+	unsigned char aData[sizeof(VERSIONSRV_VERSION) + sizeof(GAME_RELEASE_VERSION)];
 
 	mem_copy(aData, VERSIONSRV_VERSION, sizeof(VERSIONSRV_VERSION));
-	mem_copy(aData + sizeof(VERSIONSRV_VERSION), VERSION_DATA, sizeof(VERSION_DATA));
+	mem_copy(aData + sizeof(VERSIONSRV_VERSION), GAME_RELEASE_VERSION, sizeof(GAME_RELEASE_VERSION));
 
 	p.m_ClientID = -1;
 	p.m_Address = *pAddr;
diff --git a/src/versionsrv/versionsrv.h b/src/versionsrv/versionsrv.h
index 006a8e4d..383f1ac4 100644
--- a/src/versionsrv/versionsrv.h
+++ b/src/versionsrv/versionsrv.h
@@ -28,8 +28,6 @@ static CMapVersion s_aMapVersionList[] = {
 };
 static const int s_NumMapVersionItems = sizeof(s_aMapVersionList)/sizeof(CMapVersion);
 
-static const unsigned char VERSION_DATA[] = {0x00, 0, 6, 0};
-
 static const unsigned char VERSIONSRV_GETVERSION[] = {255, 255, 255, 255, 'v', 'e', 'r', 'g'};
 static const unsigned char VERSIONSRV_VERSION[] = {255, 255, 255, 255, 'v', 'e', 'r', 's'};