Seite 216 von 293 ErsteErste ... 116166206212213214215216217218219220226266 ... LetzteLetzte
Ergebnis 3.226 bis 3.240 von 4386

Thema: Bugs, Abstürze, Probleme

  1. #3226
    Registrierter Benutzer
    Registriert seit
    28.09.12
    Beiträge
    10.557
    Zitat Zitat von Ramkhamhaeng Beitrag anzeigen
    Davor sollten wir aber zuerst klären ob die Datei so groß ist weil sie immer den gleichen Eintrag enthält, oder ob es einfach so viele unterschiedliche Ereignisse sind. .
    Kleiner Auszug aus der MPLog:
    (diesmal 77MB groß)

    Bild
    Angehängte Grafiken Angehängte Grafiken
    • Dateityp: jpg 01.jpg (344,8 KB, 60x aufgerufen)

  2. #3227
    Registrierter Benutzer
    Registriert seit
    21.03.12
    Beiträge
    22.446
    Jo, da stehen alle Einheitenzüge drin. Auf großen Karten läppert sich das. Davon ist insbesondere das Ende interessant, falls es in einem KI-Zug zum Crash kommt.

    Hier brauchen wir vermutlich die python logs, und im PythonErr.log steht ja auch schon das Problem. Die sind immer fies, die unidentifiable C++ exceptions.

    Ins Blaue geraten: dem hängt ein Sonderzeichen quer. Aber in update time? Probiert mal, die Uhr auszustellen.

  3. #3228
    Registrierter Benutzer
    Registriert seit
    28.09.12
    Beiträge
    10.557
    Zitat Zitat von Flunky Beitrag anzeigen
    Ins Blaue geraten: dem hängt ein Sonderzeichen quer. Aber in update time? Probiert mal, die Uhr auszustellen.
    Die Uhr isses nicht.
    Kann es was mit dem Juli zu tun haben? Der heisst nämlich bei mir Judentum... hat zwar kein Sonderzeichen, aber das seh ich zum ersten Mal (auf nem Bild weiter oben)

    (also wenn man 2 Runden pro Jahr hat gibts ja Januar und Juli normalerweise. Denke Judentum heisst es, weil ich Christ bin, oder so...)
    Geändert von brettschmitt (09. Juni 2020 um 01:11 Uhr)

  4. #3229
    PAE.Macht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.347
    Puh... keine Fehler von meiner Seite
    In der updateTime Funktion steht folgendes:
    g_szTimeText = localText.getText("TXT_KEY_TIME_TURN", (gc.getGame().getGameTurn(), )) + u" - " + unicode(CyGameTextMgr().getInterfaceTimeStr(ePlayer))

    Und ja, das ist im MainInterface und wenns da was hat, dann wird wohl auch nix anderes angezeigt!

    Ich schätze mal, der Fehler liegt bei CyGameTextMgr().getInterfaceTimeStr(ePlayer). Wie kann man das beeinflussen? Im XML?
    Pie's Ancient Europe (PAE)
    Erlebe mit dieser CIV IV Mod(ifikation) hautnah das Zeitalter der Antike bis ins letzte Detail!
    Mit bahnbrechenden Erweiterungen und vielen ein- und erstmaligen Features.


    ... im Übrigen bin ich der Meinung, dass Karthago wieder aufgebaut werden muss!

  5. #3230
    ε•ω=1 Avatar von Ramkhamhaeng
    Registriert seit
    19.07.10
    Ort
    Aralkum
    Beiträge
    9.896
    Zur weiteren Einschränkung kann man es mal mit Englischer Interface-Sprache statt Deutsch probieren
    In der Phase kommt neben Januar und Juli vllt auch noch März (Umlaut!, wobei es ja April sein müsste) und September hinzu.

  6. #3231
    Registrierter Benutzer
    Registriert seit
    28.09.12
    Beiträge
    10.557
    Ich hab jetzt nochmal ALLE Bilder von mir durchgeschaut...

    Es ist IMMER der Sommer, der nicht funktioniert.
    Januar geht und Judentum (Juli) geht nur manchmal (nach neuladen vor allem)



    Versuche es jetzt mal auf Englisch...

  7. #3232
    ε•ω=1 Avatar von Ramkhamhaeng
    Registriert seit
    19.07.10
    Ort
    Aralkum
    Beiträge
    9.896
    Der Code ist etwas verschachtelt. Glaube man kann es auf die fett markierte Zeile eingrenzen. Irgendwie habe ich was ähnliches für einen Civfanatiker (DarkLunaPhantom) schon mal gefixt
    Code:
    void CvGameTextMgr::setDateStr(CvWString& szString, int iGameTurn, bool bSave, CalendarTypes eCalendar, int iStartYear, GameSpeedTypes eSpeed)
    {
    	CvWString szYearBuffer;
    	CvWString szWeekBuffer;
    
    	setYearStr(szYearBuffer, iGameTurn, bSave, eCalendar, iStartYear, eSpeed);
    
    	switch (eCalendar)
    	{
    	case CALENDAR_DEFAULT:
    		if (0 == (getTurnMonthForGame(iGameTurn + 1, iStartYear, eCalendar, eSpeed) - getTurnMonthForGame(iGameTurn, iStartYear, eCalendar, eSpeed)) % GC.getNumMonthInfos())
    		{
    			szString = szYearBuffer;
    		}
    		else
    		{
    			int iMonth = getTurnMonthForGame(iGameTurn, iStartYear, eCalendar, eSpeed);
    			if (bSave)
    			{
    				szString = (szYearBuffer + "-" + GC.getMonthInfo((MonthTypes)(iMonth % GC.getNumMonthInfos())).getDescription());
    			}
    			else
    			{
    				szString = (GC.getMonthInfo((MonthTypes)(iMonth % GC.getNumMonthInfos())).getDescription() + CvString(", ") + szYearBuffer);
    			}
    		}
    		break;
    Edit: Ah, wenn getTurnMonthForGame(...) -1 zurückgibt, dann wird getMonthInfo() auf eine Stelle außerhalb des Vektors zugreifen. Da steht dann manchmal zufällig Judentum und manchmal führt es zum Crash.
    Geändert von Ramkhamhaeng (09. Juni 2020 um 01:49 Uhr)

  8. #3233
    Registrierter Benutzer
    Registriert seit
    28.09.12
    Beiträge
    10.557
    Zitat Zitat von brettschmitt Beitrag anzeigen
    Versuche es jetzt mal auf Englisch...
    No Sir!
    Unfortunatly, it's the same shit as in German!

    January works...

    Bild




    and next turn we got no July...

    Bild



    ___________
    [edit] hab mich immer gefragt, wer der User ist, der hier manchmal angemeldet ist, aber man sieht keinen Namen... Das bist wohl Du, Ramk. Passt zu Dir, Du alter Hacker
    Angehängte Grafiken Angehängte Grafiken
    • Dateityp: jpg 01.jpg (107,4 KB, 60x aufgerufen)
    • Dateityp: jpg 02.jpg (76,5 KB, 61x aufgerufen)
    Geändert von brettschmitt (09. Juni 2020 um 01:52 Uhr)

  9. #3234
    ε•ω=1 Avatar von Ramkhamhaeng
    Registriert seit
    19.07.10
    Ort
    Aralkum
    Beiträge
    9.896
    Ok, dann gilt wohl das aus meinem Edit. Fucking -1 wirds sein

    Wird sind kurz davor, aber ich verabschiede mich dann mal mit dem Codeausschnitt in dem ich die Rückgabe von -1 vermute

    Code:
    int getTurnMonthForGame(int iGameTurn, int iStartYear, CalendarTypes eCalendar, GameSpeedTypes eSpeed)
    {
    	int iTurnMonth;
    	int iTurnCount;
    	int iI;
    
    	iTurnMonth = iStartYear * GC.getNumMonthInfos();
    
    	switch (eCalendar)
    	{
    	case CALENDAR_DEFAULT:
    		iTurnCount = 0;
    
    		for (iI = 0; iI < GC.getGameSpeedInfo(eSpeed).getNumTurnIncrements(); iI++)
    		{
    			if (iGameTurn > (iTurnCount + GC.getGameSpeedInfo(eSpeed).getGameTurnInfo(iI).iNumGameTurnsPerIncrement))
    			{
    				iTurnMonth += (GC.getGameSpeedInfo(eSpeed).getGameTurnInfo(iI).iMonthIncrement * GC.getGameSpeedInfo(eSpeed).getGameTurnInfo(iI).iNumGameTurnsPerIncrement);
    				iTurnCount += GC.getGameSpeedInfo(eSpeed).getGameTurnInfo(iI).iNumGameTurnsPerIncrement;
    			}
    			else
    			{
    				iTurnMonth += (GC.getGameSpeedInfo(eSpeed).getGameTurnInfo(iI).iMonthIncrement * (iGameTurn - iTurnCount));
    				iTurnCount += (iGameTurn - iTurnCount);
    				break;
    			}
    		}
    
    		if (iGameTurn > iTurnCount)
    		{
    			iTurnMonth += (GC.getGameSpeedInfo(eSpeed).getGameTurnInfo(GC.getGameSpeedInfo(eSpeed).getNumTurnIncrements() - 1).iMonthIncrement * (iGameTurn - iTurnCount));
    		}
    		break;

  10. #3235
    Registrierter Benutzer
    Registriert seit
    21.03.12
    Beiträge
    22.446
    PHP-Code:
    case CALENDAR_DEFAULT:         
       if (
    == (getTurnMonthForGame 
    Macht aus == einfach >=, dann sollte die -1 nix mehr tun.

    Ansonsten wird es ein Fehler in deiner Spezialgeschwindigkeit sein, wenn du die benutzt.

  11. #3236
    ε•ω=1 Avatar von Ramkhamhaeng
    Registriert seit
    19.07.10
    Ort
    Aralkum
    Beiträge
    9.896
    Vielleicht reichen die Einträge bei der Spezialgeschwindigkeit nicht aus um alle Runden abzudecken.

  12. #3237
    Registrierter Benutzer
    Registriert seit
    28.09.12
    Beiträge
    10.557
    Mit Spezialgeschwindigkeit meint ihr 2 Runden pro Jahr, oder wie?
    Das hab ich in der alten Gamespeed aber auch gehabt. die letzten 100 Jahre waren schon immer Januar und Juli... ohne Probleme. Diesmal kommt es halt einfach schon 50 v.Chr. (statt 400 n.Chr.)

    Habt ihr denn jetzt ne Lösung für mich, dass mein Spiel weitergehen kann?

  13. #3238
    Registrierter Benutzer
    Registriert seit
    21.03.12
    Beiträge
    22.446
    Januar und Juli sollte funktionieren, sogar Wochenschritte, aber wenn in deiner Gamespeed-Definition ein Fehler drin ist, kanns halt sein, dass das Spiel irgendwann keinen richtigen Monat mehr findet.

    Mein Vorschlag wär eine SDK-Änderung und eh nur ein Workaround, der das zugrundeliegende Problem wegignoriert, also erstmal bitte normale Fehlersuche betreiben

    Häng bitte mal deine Spielgeschwindigkeit an, dann guck ich nachher rein.

  14. #3239
    Registrierter Benutzer
    Registriert seit
    28.09.12
    Beiträge
    10.557
    Eigentlich sollte das passen...
    Hier, so sieht die XXL Gamespeed bei mir im Moment aus:

    Bild



    [edit] hier war es nicht ganz korrekt eingerückt... kann das ein Problem sein?

    Bild



    [edit2] nee. das wars nicht. Habs eingerückt und nochmal versucht... Wär auch zu einfach
    Angehängte Grafiken Angehängte Grafiken
    • Dateityp: jpg 01.jpg (263,2 KB, 48x aufgerufen)
    • Dateityp: jpg 02.jpg (85,2 KB, 49x aufgerufen)
    Geändert von brettschmitt (09. Juni 2020 um 19:02 Uhr)

  15. #3240
    Registrierter Benutzer
    Registriert seit
    21.03.12
    Beiträge
    22.446
    PHP-Code:
    iTurnMonth iStartYear GC.getNumMonthInfos() // was steckt da hinter? Ich finde keine Stelle, an der m_paMonthInfo geschrieben wird. Aber wird wohl 12 sein, entsprechend den Einträgen in Civ4MonthInfos.xml.
    iTurnCount 0;

            for (
    iI 0iI 8iI++)
            {
                if (
    967 > (iTurnCount + [5030030015015010040050]))
                {
                    
    iTurnMonth += [1200036000180003600180060048001200];
                    
    iTurnCount += [5030030015015010040050]
                }
                else 
    //iI = 5, iTurnCount = 1050, iTurnMonth = 72000-5000*12 = 12000
                
    {
                    
    iTurnMonth += (* (967 1050)); = 11502
                    iTurnCount 
    += (967 1050); = 967
                    
    break;
                }
            }

            if (
    iGameTurn iTurnCount)
            {
                
    iTurnMonth += (GC.getGameSpeedInfo(eSpeed).getGameTurnInfo(GC.getGameSpeedInfo(eSpeed).getNumTurnIncrements() - 1).iMonthIncrement * (iGameTurn iTurnCount));
            }
            break; 
    11502%12 = 6 --> Juli

    Es scheint weder am Code noch am XML zu liegen...

Seite 216 von 293 ErsteErste ... 116166206212213214215216217218219220226266 ... LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •