From be5e19d2bd3011128b12e8dfd4897b3514760941 Mon Sep 17 00:00:00 2001 From: xalduin Date: Mon, 7 Jun 2010 09:38:38 +0800 Subject: Fixed some compiler warnings --- src/game/client/components/menus_demo.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/game/client/components/menus_demo.cpp') diff --git a/src/game/client/components/menus_demo.cpp b/src/game/client/components/menus_demo.cpp index ec1ead8e..fd0caf62 100644 --- a/src/game/client/components/menus_demo.cpp +++ b/src/game/client/components/menus_demo.cpp @@ -519,6 +519,6 @@ void CMenus::DemoSetParentDirectory() for(i = 0; i < 256; i++) { if(i >= Stop) - m_aCurrentDemoFolder[i] = NULL; + m_aCurrentDemoFolder[i] = 0; } } -- cgit 1.4.1 From dc3feaf42cd8bcb22b04fdba17dc10caacc94fef Mon Sep 17 00:00:00 2001 From: xalduin Date: Thu, 10 Jun 2010 00:24:38 +0800 Subject: Fixed remaining compiler warnings for gcc on Linux --- src/engine/client/client.cpp | 11 ++++++----- src/engine/server/server.cpp | 11 ++++++----- src/engine/shared/demorec.cpp | 2 +- src/engine/shared/ringbuffer.cpp | 2 +- src/game/client/components/maplayers.cpp | 2 +- src/game/client/components/menus_demo.cpp | 2 +- src/game/server/entities/character.cpp | 16 ++++++++++++++-- 7 files changed, 30 insertions(+), 16 deletions(-) (limited to 'src/game/client/components/menus_demo.cpp') diff --git a/src/engine/client/client.cpp b/src/engine/client/client.cpp index 613a8137..881f06d8 100644 --- a/src/engine/client/client.cpp +++ b/src/engine/client/client.cpp @@ -1123,6 +1123,7 @@ void CClient::ProcessPacket(CNetChunk *pPacket) int DeltaSize; unsigned char aTmpBuffer2[CSnapshot::MAX_SIZE]; unsigned char aTmpBuffer3[CSnapshot::MAX_SIZE]; + CSnapshot *pTmpBuffer3 = (CSnapshot*)aTmpBuffer3; // Fix compiler warning for strict-aliasing int SnapSize; CompleteSize = (NumParts-1) * MAX_SNAPSHOT_PACKSIZE + PartSize; @@ -1169,19 +1170,19 @@ void CClient::ProcessPacket(CNetChunk *pPacket) // unpack delta PurgeTick = DeltaTick; - SnapSize = m_SnapshotDelta.UnpackDelta(pDeltaShot, (CSnapshot*)aTmpBuffer3, pDeltaData, DeltaSize); + SnapSize = m_SnapshotDelta.UnpackDelta(pDeltaShot, pTmpBuffer3, pDeltaData, DeltaSize); if(SnapSize < 0) { dbg_msg("client", "delta unpack failed!"); return; } - if(Msg != NETMSG_SNAPEMPTY && ((CSnapshot*)aTmpBuffer3)->Crc() != Crc) + if(Msg != NETMSG_SNAPEMPTY && pTmpBuffer3->Crc() != Crc) { if(g_Config.m_Debug) { dbg_msg("client", "snapshot crc error #%d - tick=%d wantedcrc=%d gotcrc=%d compressed_size=%d delta_tick=%d", - m_SnapCrcErrors, GameTick, Crc, ((CSnapshot*)aTmpBuffer3)->Crc(), CompleteSize, DeltaTick); + m_SnapCrcErrors, GameTick, Crc, pTmpBuffer3->Crc(), CompleteSize, DeltaTick); } m_SnapCrcErrors++; @@ -1209,13 +1210,13 @@ void CClient::ProcessPacket(CNetChunk *pPacket) m_SnapshotStorage.PurgeUntil(PurgeTick); // add new - m_SnapshotStorage.Add(GameTick, time_get(), SnapSize, (CSnapshot*)aTmpBuffer3, 1); + m_SnapshotStorage.Add(GameTick, time_get(), SnapSize, pTmpBuffer3, 1); // add snapshot to demo if(m_DemoRecorder.IsRecording()) { // write snapshot - m_DemoRecorder.RecordSnapshot(GameTick, aTmpBuffer3, SnapSize); + m_DemoRecorder.RecordSnapshot(GameTick, pTmpBuffer3, SnapSize); } // apply snapshot, cycle pointers diff --git a/src/engine/server/server.cpp b/src/engine/server/server.cpp index bd5bebe1..7a26704c 100644 --- a/src/engine/server/server.cpp +++ b/src/engine/server/server.cpp @@ -427,6 +427,7 @@ void CServer::DoSnapshot() { char aData[CSnapshot::MAX_SIZE]; + CSnapshot *pData = (CSnapshot*)aData; // Fix compiler warning for strict-aliasing char aDeltaData[CSnapshot::MAX_SIZE]; char aCompData[CSnapshot::MAX_SIZE]; int SnapshotSize; @@ -442,15 +443,15 @@ void CServer::DoSnapshot() GameServer()->OnSnap(i); // finish snapshot - SnapshotSize = m_SnapshotBuilder.Finish(aData); - Crc = ((CSnapshot*)aData)->Crc(); + SnapshotSize = m_SnapshotBuilder.Finish(pData); + Crc = pData->Crc(); // remove old snapshos // keep 3 seconds worth of snapshots m_aClients[i].m_Snapshots.PurgeUntil(m_CurrentGameTick-SERVER_TICK_SPEED*3); // save it the snapshot - m_aClients[i].m_Snapshots.Add(m_CurrentGameTick, time_get(), SnapshotSize, aData, 0); + m_aClients[i].m_Snapshots.Add(m_CurrentGameTick, time_get(), SnapshotSize, pData, 0); // find snapshot that we can preform delta against EmptySnap.Clear(); @@ -468,7 +469,7 @@ void CServer::DoSnapshot() } // create delta - DeltaSize = m_SnapshotDelta.CreateDelta(pDeltashot, (CSnapshot*)aData, aDeltaData); + DeltaSize = m_SnapshotDelta.CreateDelta(pDeltashot, pData, aDeltaData); if(DeltaSize) { @@ -554,7 +555,7 @@ void CServer::SendMap(int ClientId) { //get the name of the map without his path char * pMapShortName = &g_Config.m_SvMap[0]; - for(int i = 0; i < 127; i++) + for(int i = 0; i < str_length(g_Config.m_SvMap)-1; i++) { if(g_Config.m_SvMap[i] == '/' || g_Config.m_SvMap[i] == '\\') pMapShortName = &g_Config.m_SvMap[i+1]; diff --git a/src/engine/shared/demorec.cpp b/src/engine/shared/demorec.cpp index 48b06e9a..6c2ba07d 100644 --- a/src/engine/shared/demorec.cpp +++ b/src/engine/shared/demorec.cpp @@ -335,7 +335,7 @@ void CDemoPlayer::DoTick() static char aDecompressed[CSnapshot::MAX_SIZE]; static char aData[CSnapshot::MAX_SIZE]; int ChunkType, ChunkTick, ChunkSize; - int DataSize; + int DataSize = 0; int GotSnapshot = 0; // update ticks diff --git a/src/engine/shared/ringbuffer.cpp b/src/engine/shared/ringbuffer.cpp index 45a845ee..b84db5a3 100644 --- a/src/engine/shared/ringbuffer.cpp +++ b/src/engine/shared/ringbuffer.cpp @@ -98,7 +98,7 @@ void *CRingBufferBase::Allocate(int Size) // okey, we have our block // split the block if needed - if(pBlock->m_Size > WantedSize+sizeof(CItem)) + if(pBlock->m_Size > WantedSize+(int)sizeof(CItem)) { CItem *pNewItem = (CItem *)((char *)pBlock + WantedSize); pNewItem->m_pPrev = pBlock; diff --git a/src/game/client/components/maplayers.cpp b/src/game/client/components/maplayers.cpp index 202ea2da..62b32a1f 100644 --- a/src/game/client/components/maplayers.cpp +++ b/src/game/client/components/maplayers.cpp @@ -42,7 +42,7 @@ void CMapLayers::EnvelopeEval(float TimeOffset, int Env, float *pChannels, void pChannels[2] = 0; pChannels[3] = 0; - CEnvPoint *pPoints; + CEnvPoint *pPoints = 0; { int Start, Num; diff --git a/src/game/client/components/menus_demo.cpp b/src/game/client/components/menus_demo.cpp index fd0caf62..784212ca 100644 --- a/src/game/client/components/menus_demo.cpp +++ b/src/game/client/components/menus_demo.cpp @@ -475,7 +475,7 @@ void CMenus::RenderDemoList(CUIRect MainView) str_copy(aTitleButton, "Open", sizeof(aTitleButton)); else str_copy(aTitleButton, "Play", sizeof(aTitleButton)); - // /!\ TODO: Add "Open" in Localization /!\ + //TODO: Add "Open" in Localization if(DoButton_Menu(&s_PlayButton, Localize(aTitleButton), 0, &PlayRect) || Activated) { if(s_SelectedItem >= 0 && s_SelectedItem < m_lDemos.size()) diff --git a/src/game/server/entities/character.cpp b/src/game/server/entities/character.cpp index 77d8f462..81d1f85b 100644 --- a/src/game/server/entities/character.cpp +++ b/src/game/server/entities/character.cpp @@ -585,14 +585,26 @@ void CCharacter::TickDefered() if(!StuckBefore && (StuckAfterMove || StuckAfterQuant)) { + // Hackish solution to get rid of strict-aliasing warning + union + { + float f; + unsigned u; + }StartPosX, StartPosY, StartVelX, StartVelY; + + StartPosX.f = StartPos.x; + StartPosY.f = StartPos.y; + StartVelX.f = StartVel.x; + StartVelY.f = StartVel.y; + dbg_msg("char_core", "STUCK!!! %d %d %d %f %f %f %f %x %x %x %x", StuckBefore, StuckAfterMove, StuckAfterQuant, StartPos.x, StartPos.y, StartVel.x, StartVel.y, - *((unsigned *)&StartPos.x), *((unsigned *)&StartPos.y), - *((unsigned *)&StartVel.x), *((unsigned *)&StartVel.y)); + StartPosX.u, StartPosY.u, + StartVelX.u, StartVelY.u); } int Events = m_Core.m_TriggeredEvents; -- cgit 1.4.1 From 8e8cbdb562fd264fa52963a30b03016954268aa4 Mon Sep 17 00:00:00 2001 From: Choupom Date: Mon, 7 Jun 2010 17:27:16 +0800 Subject: fix for folders in demo browser --- src/base/system.c | 3 ++- src/game/client/components/menus.h | 1 - src/game/client/components/menus_demo.cpp | 15 +++++---------- 3 files changed, 7 insertions(+), 12 deletions(-) (limited to 'src/game/client/components/menus_demo.cpp') diff --git a/src/base/system.c b/src/base/system.c index a1a1b33e..47893aa3 100644 --- a/src/base/system.c +++ b/src/base/system.c @@ -863,7 +863,8 @@ int fs_listdir(const char *dir, FS_LISTDIR_CALLBACK cb, void *user) /* add all the entries */ do { - cb(finddata.cFileName, 0, user); + if(finddata.cFileName[0] != '.') + cb(finddata.cFileName, 0, user); } while (FindNextFileA(handle, &finddata)); FindClose(handle); diff --git a/src/game/client/components/menus.h b/src/game/client/components/menus.h index 229fce80..9ea9c6ef 100644 --- a/src/game/client/components/menus.h +++ b/src/game/client/components/menus.h @@ -165,7 +165,6 @@ class CMenus : public CComponent void DemolistPopulate(); static void DemolistCountCallback(const char *pName, int IsDir, void *pUser); static void DemolistFetchCallback(const char *pName, int IsDir, void *pUser); - static void IsDirCallback(const char *pName, int IsDir, void *pUser); void DemoSetParentDirectory(); // found in menus.cpp diff --git a/src/game/client/components/menus_demo.cpp b/src/game/client/components/menus_demo.cpp index 784212ca..272e28c8 100644 --- a/src/game/client/components/menus_demo.cpp +++ b/src/game/client/components/menus_demo.cpp @@ -380,9 +380,9 @@ struct FETCH_CALLBACKINFO void CMenus::DemolistFetchCallback(const char *pName, int IsDir, void *pUser) { - if(IsDir || pName[0] == '.') + if(pName[0] == '.') return; - + FETCH_CALLBACKINFO *pInfo = (FETCH_CALLBACKINFO *)pUser; CDemoItem Item; @@ -391,11 +391,6 @@ void CMenus::DemolistFetchCallback(const char *pName, int IsDir, void *pUser) pInfo->m_pSelf->m_lDemos.add(Item); } -void CMenus::IsDirCallback(const char *pName, int IsDir, void *pUser) -{ - *((bool *)pUser) = true; -} - void CMenus::DemolistPopulate() { m_lDemos.clear(); @@ -413,7 +408,7 @@ void CMenus::DemolistPopulate() char aBuf[512]; str_format(aBuf, sizeof(aBuf), "%s/%s", Client()->UserDirectory(), m_aCurrentDemoFolder); - FETCH_CALLBACKINFO Info = {this, aBuf, 0}; + FETCH_CALLBACKINFO Info = {this, aBuf, m_aCurrentDemoFolder[6]}; //skip "demos/" fs_listdir(aBuf, DemolistFetchCallback, &Info); Info.m_pPrefix = m_aCurrentDemoFolder; fs_listdir(m_aCurrentDemoFolder, DemolistFetchCallback, &Info); @@ -459,8 +454,8 @@ void CMenus::RenderDemoList(CUIRect MainView) bool IsDir = false; if(!strncmp(m_lDemos[s_SelectedItem].m_aName, "..", 256)) //parent folder IsDir = true; - else - fs_listdir(m_lDemos[s_SelectedItem].m_aFilename, IsDirCallback, &IsDir); + else if(fs_is_dir(m_lDemos[s_SelectedItem].m_aFilename)) + IsDir = true; static int s_RefreshButton = 0; -- cgit 1.4.1 From f8b9f342d317a853606aeb6751cc3c6a56e9bdb2 Mon Sep 17 00:00:00 2001 From: Fujnky Date: Fri, 11 Jun 2010 04:26:39 +0800 Subject: Fix for l10n in menus_demo.cpp and sime german l10n tweaks. --- data/languages/german.txt | 4 ++-- src/game/client/components/menus_demo.cpp | 12 ++++++------ 2 files changed, 8 insertions(+), 8 deletions(-) (limited to 'src/game/client/components/menus_demo.cpp') diff --git a/data/languages/german.txt b/data/languages/german.txt index 8bea5723..81fca269 100644 --- a/data/languages/german.txt +++ b/data/languages/german.txt @@ -260,7 +260,7 @@ Pistol == Pistole Play -== Spielen +== Abspielen Player == Spieler @@ -455,7 +455,7 @@ Sudden Death == Noch %ds error loading demo -== Fehler beim Laden der Demo, die Datei ist nicht gültig. +== Fehler beim Laden der Demo, die Datei ist ungültig. Error == Fehlgeschlagen diff --git a/src/game/client/components/menus_demo.cpp b/src/game/client/components/menus_demo.cpp index 272e28c8..38ce7675 100644 --- a/src/game/client/components/menus_demo.cpp +++ b/src/game/client/components/menus_demo.cpp @@ -465,13 +465,13 @@ void CMenus::RenderDemoList(CUIRect MainView) } static int s_PlayButton = 0; - char aTitleButton[8]; + char aTitleButton[10]; if(IsDir) - str_copy(aTitleButton, "Open", sizeof(aTitleButton)); + str_copy(aTitleButton, Localize("Open"), sizeof(aTitleButton)); else - str_copy(aTitleButton, "Play", sizeof(aTitleButton)); - //TODO: Add "Open" in Localization - if(DoButton_Menu(&s_PlayButton, Localize(aTitleButton), 0, &PlayRect) || Activated) + str_copy(aTitleButton, Localize("Play"), sizeof(aTitleButton)); + + if(DoButton_Menu(&s_PlayButton, aTitleButton, 0, &PlayRect) || Activated) { if(s_SelectedItem >= 0 && s_SelectedItem < m_lDemos.size()) { @@ -491,7 +491,7 @@ void CMenus::RenderDemoList(CUIRect MainView) { const char *pError = Client()->DemoPlayer_Play(m_lDemos[s_SelectedItem].m_aFilename); if(pError) - PopupMessage(Localize("Error"), pError, Localize("Ok")); + PopupMessage(Localize("Error"), Localize(pError), Localize("Ok")); } } } -- cgit 1.4.1 From ec334a9d68c71ceb0ae83e7f24e1781545887326 Mon Sep 17 00:00:00 2001 From: oy Date: Fri, 11 Jun 2010 12:34:11 +0200 Subject: small cleanup --- src/game/client/components/menus_demo.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'src/game/client/components/menus_demo.cpp') diff --git a/src/game/client/components/menus_demo.cpp b/src/game/client/components/menus_demo.cpp index 38ce7675..f8cf8e4f 100644 --- a/src/game/client/components/menus_demo.cpp +++ b/src/game/client/components/menus_demo.cpp @@ -1,5 +1,4 @@ -#include #include @@ -396,7 +395,7 @@ void CMenus::DemolistPopulate() m_lDemos.clear(); - if(strncmp(m_aCurrentDemoFolder, "demos", 256)) //add parent folder + if(str_comp_num(m_aCurrentDemoFolder, "demos", 256)) //add parent folder { CDemoItem Item; str_copy(Item.m_aName, "..", sizeof(Item.m_aName)); @@ -452,7 +451,7 @@ void CMenus::RenderDemoList(CUIRect MainView) bool IsDir = false; - if(!strncmp(m_lDemos[s_SelectedItem].m_aName, "..", 256)) //parent folder + if(!str_comp_num(m_lDemos[s_SelectedItem].m_aName, "..", 256)) //parent folder IsDir = true; else if(fs_is_dir(m_lDemos[s_SelectedItem].m_aFilename)) IsDir = true; @@ -475,7 +474,7 @@ void CMenus::RenderDemoList(CUIRect MainView) { if(s_SelectedItem >= 0 && s_SelectedItem < m_lDemos.size()) { - if(!strncmp(m_lDemos[s_SelectedItem].m_aName, "..", 256)) + if(!str_comp_num(m_lDemos[s_SelectedItem].m_aName, "..", 256)) { DemoSetParentDirectory(); DemolistPopulate(); -- cgit 1.4.1