From: Andy D. <kha...@us...> - 2005-08-16 17:13:18
|
Update of /cvsroot/planeshift/planeshift/src/common/net In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7793/src/common/net Modified Files: netbase.cpp netbase.h Log Message: Changed psCombatManager::ValidateDistance() so that melee range is more fair for NPCs, this still needs to be changed to use the DB. Added mutex to NetBase::GetRandomID() to solve the occasional server crashes when there is a race condition on it. Elevated the consequences of client map loading failure so that an assertion is tripped rather than an infinite loop. Added console output about which skin is being loaded. Index: netbase.cpp =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/common/net/netbase.cpp,v retrieving revision 1.138 retrieving revision 1.139 diff -C2 -d -r1.138 -r1.139 *** netbase.cpp 24 Jun 2005 22:59:12 -0000 1.138 --- netbase.cpp 16 Aug 2005 17:13:10 -0000 1.139 *************** *** 75,78 **** --- 75,79 ---- timeout.tv_sec = 0; timeout.tv_usec = 100000; + mutex = csMutex::Create(); } *************** *** 730,734 **** if (me->overrun) { ! Bug1("NetBase::SendMessage() Failed to send message in overrun state!\n"); return false; } --- 731,735 ---- if (me->overrun) { ! CS_ASSERT(!"NetBase::SendMessage() Failed to send message in overrun state!\n"); return false; } *************** *** 1066,1069 **** --- 1067,1071 ---- uint32_t NetBase::GetRandomID() { + csScopedMutexLock lock(mutex); return (unsigned) randomgen->Get(0x7fffffff) + 1; } Index: netbase.h =================================================================== RCS file: /cvsroot/planeshift/planeshift/src/common/net/netbase.h,v retrieving revision 1.84 retrieving revision 1.85 diff -C2 -d -r1.84 -r1.85 *** netbase.h 22 Jun 2005 03:38:55 -0000 1.84 --- netbase.h 16 Aug 2005 17:13:10 -0000 1.85 *************** *** 311,314 **** --- 311,317 ---- csRandomGen* randomgen; + /** mutex used for the random generator */ + csRef<csMutex> mutex; + /** network information layer */ psNetInfos netInfos; |