def repackStatsVectors(): # remove disconnected players cleanoutStatsVector() cleanoutMedalsVector() # repack stats and medal vector so there are no holes. gamespy doesnt like holes. medalMap = getMedalMap() statsMap = getStatsMap() playerOrderIt = getPlayerConnectionOrderIterator() newOrderIterator = 0 newStatsMap = {} newMedalMap = {} highestId = 0 for id, statsItem in statsMap.iteritems(): newStatsMap[newOrderIterator] = statsItem if id in medalMap: newMedalMap[newOrderIterator] = medalMap[id] statsItem.connectionOrderNr = newOrderIterator newOrderIterator += 1 print "Repacked stats map. Stats map size=%d. OrderIt changed from %d to %d" % (len(statsMap), playerOrderIt, newOrderIterator) setPlayerConnectionOrderIterator(newOrderIterator) setStatsMap(newStatsMap) setMedalMap(newMedalMap)
def repackStatsVectors(): # remove disconnected players cleanoutStatsVector() cleanoutMedalsVector() # repack stats and medal vector so there are no holes. gamespy doesnt like holes. medalMap = getMedalMap() statsMap = getStatsMap() playerOrderIt = getPlayerConnectionOrderIterator() newOrderIterator = 0 newStatsMap = {} newMedalMap = {} highestId = 0 for id, statsItem in statsMap.iteritems(): newStatsMap[newOrderIterator] = statsItem if id in medalMap: newMedalMap[newOrderIterator] = medalMap[id] statsItem.connectionOrderNr = newOrderIterator newOrderIterator += 1 print "Repacked stats map. Stats map size=%d. OrderIt changed from %d to %d" % ( len(statsMap), playerOrderIt, newOrderIterator) setPlayerConnectionOrderIterator(newOrderIterator) setStatsMap(newStatsMap) setMedalMap(newMedalMap)
def cleanoutMedalsVector(): print "snapshot.py: Cleaning out unconnected players from medal map" medalMap = getMedalMap() # remove disconnected players after snapshot was sent removeList = [] for pid in medalMap: foundPlayer = False for p in bf2.playerManager.getPlayers(): if p.medals == medalMap[pid]: foundPlayer = True break if not foundPlayer: removeList += [pid] for pid in removeList: if g_debug: print "snapshot.py: Removed player %d from medals." % pid del medalMap[pid]