Seite 346 von 346 ErsteErste ... 246296336342343344345346
Ergebnis 5.176 bis 5.189 von 5189

Thema: Der-kleine-Fragen-zum-Modding-Thread

  1. #5176
    PAE.Sucht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.698
    JA, man muss Schritt für Schritt immer kleine Änderungen machen und jedesmal testen und NIE viel auf einmal machen!
    Pie's Ancient Europe (PAE)
    Erlebe mit dieser CIV IV Mod(ifikation) hautnah das Zeitalter der Antike bis ins allerletzte Detail!
    Mit bahnbrechenden Erweiterungen und vielen ein- und erstmaligen Features, die Spaß machen. Hand drauf!


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

  2. #5177
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    17.888
    Man muss vor allem auch Routineänderungen immer prüfen. Hier hatte ich den SPECIALIST_ENTERTAINER oder SPECIALIST_ARTIST ausgetauscht, welchen genau weil ich nicht mehr - und da ich gerade ziemlich viele Spezis, aber auch viele Units bei der Geburtenrate ersetzt habe, habe ich nicht jedes einzelne Gebäude geprüft, ob ich auch den richtigen Eintrag verwendet hatte. Das rächte sich jetzt.
    That's why I am here: Mein Mod
    Mehr Technologien, mehr Einheiten, mehr Zivilisationen, mehr Gebäude

    Die aktuelle Story zum Mod:
    Die Vereinigten Staaten von Amerika

    Alte Stories zu alten Versionen:
    Alte Storys

  3. #5178
    PAE.Sucht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.698
    Frage zu dem komischen Logging bei CIV:

    PHP-Code:
    int CvGlobals::getInfoTypeForString(const charszTypebool hideAssert) const
        {
        
    FAssertMsg(szType"null info type string");
        
    InfosMap::const_iterator it m_infosMap.find(szType);
        if (
    it!=m_infosMap.end())
        {
            return 
    it->second;
        }

        if(!
    hideAssert)
        {
            if (
    strcmp(szType"NONE")==&& strcmp(szType"")==0)
            {
                
    CvString szError;
                
    szError.Format("info type %s not found, Current XML file is: %s"szTypeGC.getCurrentXMLFile().GetCString());
                
    FAssertMsg(strcmp(szType"NONE")==|| strcmp(szType"")==0szError.c_str());
                
    gDLL->logMsg("xml.log"szError);
            }
        }

        return -
    1;

    Erstens: Wieso kommt man auf die Idee, dass man nicht genutzte XML-Parameter (das hat seinen Grund!) als "Fehler" ausgibt?

    Zweites: Wie kann es sein, dass dies überhaupt ausgegeben wird, denn szType müsste ja wegen if (a && b) beides sein: NONE und "" oder versteh ich da was falsch? das sollte doch nur mit if (a || b) funktionieren....


    Wäre es nicht sinnvoller, dieses Log zeigt nur Elemente, die eben nicht NONE oder "" sind, und die es wirklich nicht gibt ?!

    Wäre es dann so korrekt?: if (strcmp(szType, "NONE")!=0 && strcmp(szType, "")!=0)
    Pie's Ancient Europe (PAE)
    Erlebe mit dieser CIV IV Mod(ifikation) hautnah das Zeitalter der Antike bis ins allerletzte Detail!
    Mit bahnbrechenden Erweiterungen und vielen ein- und erstmaligen Features, die Spaß machen. Hand drauf!


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

  4. #5179
    Registrierter Benutzer
    Registriert seit
    21.03.12
    Beiträge
    23.012
    Ja, das sollte nie auslösen. strcmp == 0 heißt, die Strings sind identisch. szType kann ja nicht gleichzeitig identisch "None" und "" sein.

    Allerdings: ich kenne diese Log-Meldung. Wird die noch irgendwoanders erzeugt?

  5. #5180
    PAE.Sucht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.698
    Im xml.log und da ist sowas total missverständlich... deswegen möcht ich das ändern.
    Pie's Ancient Europe (PAE)
    Erlebe mit dieser CIV IV Mod(ifikation) hautnah das Zeitalter der Antike bis ins allerletzte Detail!
    Mit bahnbrechenden Erweiterungen und vielen ein- und erstmaligen Features, die Spaß machen. Hand drauf!


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

  6. #5181
    Registrierter Benutzer
    Registriert seit
    21.03.12
    Beiträge
    23.012
    Im XML.log kann man sie lesen, klar. Aber wie kommt sie da rein, wenn der gezeigte Code gar nicht ausgeführt werden kann?

  7. #5182
    PAE.Sucht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.698
    Das war ja meine zweite Frage, die ich mir gestellt hab.
    Ich habs aber nun geändert und jetzt ist mein XML.log sauber.
    Pie's Ancient Europe (PAE)
    Erlebe mit dieser CIV IV Mod(ifikation) hautnah das Zeitalter der Antike bis ins allerletzte Detail!
    Mit bahnbrechenden Erweiterungen und vielen ein- und erstmaligen Features, die Spaß machen. Hand drauf!


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

  8. #5183
    ε•ω=1 Avatar von Ramkhamhaeng
    Registriert seit
    19.07.10
    Ort
    Aralkum
    Beiträge
    9.927
    Zitat Zitat von Pie Beitrag anzeigen
    Frage zu dem komischen Logging bei CIV:

    Wäre es dann so korrekt?: if (strcmp(szType, "NONE")!=0 && strcmp(szType, "")!=0)
    Ja, da wurde im If-Statement der logische Ausdruck von der Assert-Message (FAssertMsg(…)) falsch invertiert.

  9. #5184
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    17.888
    Über diese Einträge im Log habe ich mich auch schon oft geärgert, weil es hunderte sind - und man echte Fehler da gar nicht mehr sieht.
    That's why I am here: Mein Mod
    Mehr Technologien, mehr Einheiten, mehr Zivilisationen, mehr Gebäude

    Die aktuelle Story zum Mod:
    Die Vereinigten Staaten von Amerika

    Alte Stories zu alten Versionen:
    Alte Storys

  10. #5185
    PAE.Sucht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.698
    Ja, im FAssertMsg isses ja richtig: FAssertMsg(strcmp(szType, "NONE")==0 || strcmp(szType, "")==0, szError.c_str());

    Aber wir in Gottes Namen(!) kommt der überhaupt da rein mit if (strcmp(szType, "NONE")==0 && strcmp(szType, "")==0) ???

    Aber mir kanns egal sein. Ist nur Kosmetik und ich hab diese Logzeilen jetzt eh nicht mehr.

    @Kathy: kannst du ja ganz leicht in CvGobals.cpp ändern:
    strcmp(szType, "NONE")!=0 && strcmp(szType, "")!=0 (beide Zeilen, beim if und beim FAssert)

    Ich habs aber so gemacht, dass er alles andere als NONE oder "" anzeigen soll. Weil für mich sind NONE und "" ja kein Fehler.
    Geändert von Pie (Gestern um 13:08 Uhr)
    Pie's Ancient Europe (PAE)
    Erlebe mit dieser CIV IV Mod(ifikation) hautnah das Zeitalter der Antike bis ins allerletzte Detail!
    Mit bahnbrechenden Erweiterungen und vielen ein- und erstmaligen Features, die Spaß machen. Hand drauf!


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

  11. #5186
    ε•ω=1 Avatar von Ramkhamhaeng
    Registriert seit
    19.07.10
    Ort
    Aralkum
    Beiträge
    9.927
    Zitat Zitat von Pie Beitrag anzeigen
    Aber wir in Gottes Namen(!) kommt der überhaupt da rein mit if (strcmp(szType, "NONE")==0 && strcmp(szType, "")==0) ???
    Ist denn sicher, dass dieser Code auch in der DLL drin war und gleichzeitig die Log-Nachrichten ausgegeben wurden?
    Ich habe mal in die Funktion im DLL-Code im 'pbmod'-Repo nachgeschaut. Da sieht es nämlich so aus:

    Code:
    int CvGlobals::getInfoTypeForString(const char* szType, bool hideAssert) const
    	{
    	FAssertMsg(szType, "null info type string");
    	InfosMap::const_iterator it = m_infosMap.find(szType);
    	if (it!=m_infosMap.end())
    	{
    		return it->second;
    	}
    
    	if(!hideAssert)
    	{
    		CvString szError;
    		szError.Format("info type %s not found, Current XML file is: %s", szType, GC.getCurrentXMLFile().GetCString());
    		FAssertMsg(strcmp(szType, "NONE")==0 || strcmp(szType, "")==0, szError.c_str());
    		gDLL->logMsg("xml.log", szError);
    	}
    
    	return -1;
    }
    => Kein If-Statement drin und die Version habe ich laut 'git blame' nicht geändert und ist die ursprüngliche von BTS.
    Geändert von Ramkhamhaeng (Gestern um 14:04 Uhr)

  12. #5187
    PAE.Sucht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.698
    Das ist wahr und das klingt auch viel sinnvoller...

    vielleicht von irgendwo falsch und unüberlegt mitübertragen (Unofficial Patch oder BetterAI)...
    denn auch K-Mod hat es anders:

    if (!hideAssert && !(strcmp(szType, "NONE")==0 || strcmp(szType, "")==0)) // K-Mod
    Pie's Ancient Europe (PAE)
    Erlebe mit dieser CIV IV Mod(ifikation) hautnah das Zeitalter der Antike bis ins allerletzte Detail!
    Mit bahnbrechenden Erweiterungen und vielen ein- und erstmaligen Features, die Spaß machen. Hand drauf!


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

  13. #5188
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    17.888
    Bei mir sieht es auch aus wie bei Ramkhamhaeng. Dennoch steht in meinem log oft reihenweise, dass er "NONE" oder "" nicht findet.
    That's why I am here: Mein Mod
    Mehr Technologien, mehr Einheiten, mehr Zivilisationen, mehr Gebäude

    Die aktuelle Story zum Mod:
    Die Vereinigten Staaten von Amerika

    Alte Stories zu alten Versionen:
    Alte Storys

  14. #5189
    PAE.Sucht.Antike! Avatar von Pie
    Registriert seit
    25.01.08
    Ort
    Noricum
    Beiträge
    16.698
    weil bei euch die gDLL->losMsg noch aktiv ist. Deswegen hat K-Mod wohl vorher schon die Überprüfung gemacht und sogar das FAssert auskommentiert.
    Pie's Ancient Europe (PAE)
    Erlebe mit dieser CIV IV Mod(ifikation) hautnah das Zeitalter der Antike bis ins allerletzte Detail!
    Mit bahnbrechenden Erweiterungen und vielen ein- und erstmaligen Features, die Spaß machen. Hand drauf!


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

Seite 346 von 346 ErsteErste ... 246296336342343344345346

Berechtigungen

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