Wegen dem Gegenspionageschirm, ich weiß jetzt, warum der manchmal abstürzt. Das ist sogar sehr offensichtlich.
Ich habe dazu mal das nicht von mir weiter geführte MP Spiel gestartet und mal England genommen. England hat 2 Civs ausgelöscht. Das Problem ist jetzt folgender, es gibt Playerindexe der Lebenden und die internen Playerindexe. Diese sind nicht gleich. Die internen bleiben immer fest, aber die der Lebenden sind variabel und werden kleiner. Die Speicherliste zum Anzeigen der Gegenspionage orientiert sich an den Lebenden, aber es wird mit den internen Index drauf zugegriffen. Allgemein muss man sagen, dass der Gegenspionageschirm dadurch nicht bei jeder Civ die richtigen Werte ausgibt.
edit: Es gibt auch eine Durchbruch wegen dem Anzeigefehler. Ich weiß jetzt, wieso nicht mehr angezeigt wurde. Dafür war ich wohl gestern abend zu müde.
Es wird bei Spieerrundenbeginn die Liste für die Anzeige geupdatet. Das Problem ist jetzt folgendes. Wenn Spieler nach für nach drann kommen, so wurde die Liste schon mit den neuen Wert geupdatet, aber die Liste sollte den alten Wert haben, damit man die Differenz bestimmen kann. Wenn die Liste eben nach Spieler 1 geupdatet wird, gibt es nur eine Differnz 0 und deswegen wird nichts angezeigt. Jetzt wird die Liste nur beim Rundenanfang geupdatet.
edit: Eine Lösung ist sehr kompliziert. Ich habe mir mittlere Weile ein Bild gemacht, aber eine richtige Lösung gibt es noch nicht mal gedanklich.