Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 23

Thema: [TUT] Erstellen der CvGameCoreDLL.dll (3.19)

  1. #1
    verschollen Avatar von deepwater
    Registriert seit
    23.04.11
    Beiträge
    1.580

    Idee [TUT] Erstellen der CvGameCoreDLL.dll (3.19)

    Hi,
    auf Anregung Monaldinios (beschwert euch bei ihm ) schreibe ich hier nun mein eigenes Tutorial zum Kompilieren der Beyond the Sword CvGameCoreDLL. Ich weiß, es gibt schon viele Tutorials dazu (auch eins hier auf deutsch), aber erstens wollte Monaldinio eine Anleitung auf deutsch, stark bebildert, und auch für blutige Anfänger geeignet haben, und zweitens ist die Anleitung von Thomas für 3.13 und er benutzt Codeblocks. (sorry ) In manchen Fällen bevorzuge ich die Microsoft Originalprodukte.

    Dieses Tutorial ist Plattform unabhängig, das heißt es funktioniert auf jeden Fall mit allen Windowsversionen. Weitere Betriebssysteme (Mac, Linux, ...) weiß ich nicht. Mit Emulator dürfte es aber eigetnlich kein Problem darstellen.
    Wir werden hier Microsoft Visual C++ 2008 Express Edition verwenden. Die Hauptfunktion diese Programmes liegt im sogenanten Kompilieren von C++-Sourcedateien. Im folgenden eine kleine Einführung, die du gerne Üerspringen kannst.
    Achtung Spoiler:

    Dieser Spoiler ist vor allem für Neulinge gedacht, die von der ganzen Geschichte noch nichts gehört haben. Klären wir also zunächst ein paar grundlegene Begriffe.
    Was ist das, Kompilieren?
    Nun, Kompilieren ist das Umwandeln von von Menschenhand geschriebenen Quellcode in Maschinencode, also Einsen und Nullen, der direkt vom Prozessor ausgeführt werden kann. Dieses Kompilieren erledigt der Kompiler, in unserem Fall VC 2008 EE. Dabei ist das Kompilieren eigentlich nur ein Teil des ganzen Vorgangs. Das eigentliche Kompilieren findet zuerst statt, dabei wird unser Quellcode (C++, das ist eine sogenannte Hochsprache) in die maschinennahen Assembler-Code 'übersetzt'. Danach tritt der Linker in Aktion und vollendet den Vorgang des 'Kompilierens'. Unser Kompiler hat aber noch eine ganze Menge mehr auf dem Kasten. Mit ihm können wir zum Beispiel die Quelldateien, die dann später kompiliert werden, direkt schreiben, editieren, etc. (Dazu gehört auch noch die IntelliSense-Datenbank, die ich später noch behandeln werde. )
    Eine weitere sehr wichtige Funktion des Kompilers ist die Debug-Funktion. Ein Bug ist ein im Programm versteckter Fehler, "De-Bug" bezeichnet nun sozusagen das "ent-buggen" unseres Quellcodes. Auf die Funktion komme ich später noch.
    Noch ein paar Worte zum Kompiler seien mir gestattet. Microsoft Visual Studio ist eine Programmreihe von Microsoft. Die ExpressEdition (EE) ist die kostenlose Variante des Visual Studios. Dieses Visual Studio ist für mehrere Programmiersprachen ausgelegt. Wir benutzen logischerweise die für C++. Doch nun wollen wir erst mal anfangen.


    Hinweis: Dies ist keine Anleitung, wie man den Sourcecode verändert, das müsst ihr schon selber. Aber zum Glück gibts ja auch dafür hübsche Anleitungen, siehe z.B. hier. (leider keine auf deutsch gefunden) Einfach posten, falls ihr meint, es gäbe eine bessere, oder eine auf deutsch.
    Alle benötigten Programme, Dateien, etc. pp sind kostenlos und stehen ohne Anmeldung, Registrierung, o.ä. zur Verfügung.

    Als erstes eine Liste der benötigten Dateien:
    1. Wie schon angedeutet arbeiten wir mit einem Microsoft Compiler, nämlich Visual C++ 2008 Express Edition. Klicke auf Visual C++. Damit downloadest du einen Downloader, d.h. zum installieren brauchts du immernoch eine Internetverbindung! Diese VC 2008 ExpressEdition ist eine 30 Tage Test-Version, die man halt (kostenlos) registrieren muss.
      Embryodead bei den Fanatics hat herausgefunden, dass man den Compiler auch länger als 30 Tage ohne Registrierung benutzen kann, indem man temporär die Systemzeit auf 2009 ändert.
      .
    2. Als nächstes brauchen wir das Visual C++ Toolkit 2003. Das Toolkit kannst du an einen beliebigen Ort entzippen, ich empfehle allerdings alles an einer Stelle zu lassen. (Bei mir ist alles in C:/Programme/2K Games/Firaxis Games/XXXCompiling CvGameCoreDLL.)
      .
    3. Als nächstes benötigst du das Windows Platform SDK v6.0. Darin sind wichtige Resourcen für die DLL enthalten. Auch das kann an eine beliebige Stelle entzippt werden.
      .
    4. Dann zuletzt das Archiv mit den Projektdateien und dem Makefile. Dieses musst du in dein Projektverzeichnis extrahieren und nicht in das Civ-Verzeichnis, vielleicht braucht man die Originaldateien ja mal noch. Du solltest ein Projektverzeichnis auf dem Desktop oder an beliebiger Stelle erstellen, wo sich alle Quelldateien befinden.
      Dieses Archiv beinhaltet nicht die eigentlichen Quellcodedateien! Es befinden sich nur die Solutiondatei, die eigentlichen Projektdateien darin und das Makefile.
      .
    5. Wessen Quellcodedateien hops gegangen sind, der kann hier die originalen Quellcodedateien downloaden, sie gehören zu den anderen Projektdateien.
    So, alles gedownloaded, dann weiter zum nächsten Abschnitt.



    OK, alles ist gedownloaded, die Sourcedateien stehen im Projektverzeichnis bereit, und wir können starten. --Schön wärs , eine Sache haben wir noch vergessen, das Makefile! Denn das muss noch deinem Computer angepasst werden. Dort werden unter anderem die Pfade zu den oben gedownloadeten Dateien bereitgestellt. Nagut, verändern wir es halt entsprechend.Bild
    Eigentlich nicht weiter schwer, wir müssen nur ein paar Pfade angeben.
    Unter Toolkit= den Pfad wohin du das Toolkit extrahiert hast, in diesem Verzeichnis muss der Compiler folgende Ordner finden: include, lib, samples und verschieden Dateien.
    Dasselbe bei PSDK=. Dort muss der Compiler nur drei Ordner finden: bin, include und lib. Als letztes noch unter CIVINSTALL= dein Beyond the Sword Verzeichnis.

    Der Rest ist relativ uninteressant, wenn du in Zeile 12 das <#> entfernst, dann wird die fertige DLL direkt in dein Modverzeichnis kopiert.
    Aber jetzt können wir endlich starten.


    Das Starten des Kompiliervorgangs an sich ist schnell erledigt, der Vorgang allerdings geht etwas länger, je nach Hardwarekonfiguration.
    Zuerst musst du mit dem Visual C++ Studio die CvGameCoreDLL.sln Datei öffnen. Das sieht dann so aus.

    Bild

    Am linken Rand befindet sich der Projektmappen-Explorer. Hier können alle zum Projekt gehörenden Dateien eingesehen werden. Um nun unseren Code zu kompilieren wählen wir zunächst die Build-Konfiguration Release und klicken dann auf den grünen Pfeil links daneben. Dadurch wird er Kompiliervorgang gestartet.

    Bild

    Unten im Ausgabefenster sehen wir das BuildLog. Am Schluss müsste genau eine Warnung aufgetreten sein. (s. Bild) Das ist normal und kein Anlass für Sorge.

    Bild

    Die fertige Datei (CVGameCoreDLL.dll) findest du in deinem Projektverzeichnis in dem Ordner Release. Dort ist auch das BuildLog (BuildLog.html) gespeichert. Die CvGameCoreDLL.dll-Datei musst du in den Assets-Ordner deiner Mod verschieben. Schon fertig.




    Credits:
    Die Dateien sind alle von Asaf bei den CivFanatics, nach dessen Tutorial ich mich an mancher Stelle gerichtet habe, vielen Dank.
    Das Makefile ist nicht das Originale von Firaxis, sondern ein von Danny Daemonic 2010 überarbeitetes, vielen Dank.




    .
    Angehängte Grafiken Angehängte Grafiken

  2. #2
    verschollen Avatar von deepwater
    Registriert seit
    23.04.11
    Beiträge
    1.580
    (reserviert) -->Wie arbeitet man mit dem Visual Studio C++ EE?

    ...too old...

  3. #3
    Registrierter Benutzer Avatar von Monaldinio
    Registriert seit
    10.11.09
    Ort
    HRO
    Beiträge
    7.650
    Wobei ich aber sagen muss das ich mit dem fanaticstutorial kompliert habe!^^
    Aber ich weiß das sicher der eine oder andere auch kompilieren möchte, das fanaticstutorial aber nicht versteht, so habe ich mir gedacht, verdonner mal D...der ist momentan voll im stoff, und ich kann so schelcht erklären.^^

    Danke D!
    Conflict on Chiron - Sid Meier's Alpha Centauri vs. Call to Power!

    Neu Version Conflict on Chiron v3.4 BETA - 16.01.16

    Patch1 - 07.04.16

    Die deutschen Sounds und Wunderfilme sind bereits in der MainFile integriert!
    Ihr könnt sofort loslegen.

    Über Feedback würde ich mich freuen...

  4. #4
    Registrierter Benutzer Avatar von Monaldinio
    Registriert seit
    10.11.09
    Ort
    HRO
    Beiträge
    7.650
    Alles klar D?!?!
    Conflict on Chiron - Sid Meier's Alpha Centauri vs. Call to Power!

    Neu Version Conflict on Chiron v3.4 BETA - 16.01.16

    Patch1 - 07.04.16

    Die deutschen Sounds und Wunderfilme sind bereits in der MainFile integriert!
    Ihr könnt sofort loslegen.

    Über Feedback würde ich mich freuen...

  5. #5
    Basteler Avatar von Kermit87
    Registriert seit
    18.02.11
    Ort
    bei Bonn
    Beiträge
    108
    Hallo,

    ich wollte mich für dieses Tutorial bedanken! Ich habe gerade mit dessen Hilfe meiner erste "CvGameCoreDLL" kompiliert. Vielen Dank Community!

  6. #6
    verschollen Avatar von deepwater
    Registriert seit
    23.04.11
    Beiträge
    1.580
    freut mich

    ...too old...

  7. #7
    Moderator Avatar von Kathy
    Registriert seit
    11.10.07
    Beiträge
    16.917
    Mod-Aktion: Den ganzen Themenkomplex, der mehr mit meinem Mod als mit diesem Tutorial zu tun hatte, habe ich aus Gründen der Übersichtlichkeit dorthin verschoben, wo er eigentlich hingehört

  8. #8
    Registrierter Benutzer Avatar von Monaldinio
    Registriert seit
    10.11.09
    Ort
    HRO
    Beiträge
    7.650
    Frage, die oben genannten Programme gibt es nur noch in neueren Versionen, ist der Vorgang bzw die nutzung gleich, kann ich nach beschreibung vorgehen??!
    Conflict on Chiron - Sid Meier's Alpha Centauri vs. Call to Power!

    Neu Version Conflict on Chiron v3.4 BETA - 16.01.16

    Patch1 - 07.04.16

    Die deutschen Sounds und Wunderfilme sind bereits in der MainFile integriert!
    Ihr könnt sofort loslegen.

    Über Feedback würde ich mich freuen...

  9. #9
    Civ4 BASE Coder Avatar von rucivfan
    Registriert seit
    10.07.11
    Ort
    Antarktika
    Beiträge
    19.015
    Du meinst wohl visual Studio 2010 statt 2008? Dort gilt das gleiche. VS 2012? hatte ich bisher nicht genutzt.

  10. #10
    Registrierter Benutzer Avatar von Monaldinio
    Registriert seit
    10.11.09
    Ort
    HRO
    Beiträge
    7.650
    ich habe jetzt die visual studio 2008 version gefunden...ich hoffe sie läuft unter win7 64bit???

    Laufen alle Programme generell unter win7 64bit?!?!
    Geändert von Monaldinio (19. August 2013 um 13:27 Uhr)
    Conflict on Chiron - Sid Meier's Alpha Centauri vs. Call to Power!

    Neu Version Conflict on Chiron v3.4 BETA - 16.01.16

    Patch1 - 07.04.16

    Die deutschen Sounds und Wunderfilme sind bereits in der MainFile integriert!
    Ihr könnt sofort loslegen.

    Über Feedback würde ich mich freuen...

  11. #11
    Civ4 BASE Coder Avatar von rucivfan
    Registriert seit
    10.07.11
    Ort
    Antarktika
    Beiträge
    19.015
    Die Programme werden als 32bit ausgeführt. Ja, sie sollten laufen. Gegebenfalls muss man die Kombatiblitätseinstellung ausprobieren.

  12. #12
    ... Avatar von X-Terminator
    Registriert seit
    29.03.13
    Beiträge
    118
    Ich habe da so ein Problem die DLL zu kompilieren. Bei mir macht er das nicht, weil angegeblich gewisse Dateien fehlen, die aber alle da sind.

  13. #13
    Registrierter Benutzer Avatar von Monaldinio
    Registriert seit
    10.11.09
    Ort
    HRO
    Beiträge
    7.650
    Also bei mir funzt es...wenn ich es mit Sourcedateien mache die fehlerfrei sind!:-)

    Edit: ich habe mich aber an die Beschreibung gehalten die ich bei den fanatics fand!
    Geändert von Monaldinio (19. August 2013 um 19:00 Uhr)
    Conflict on Chiron - Sid Meier's Alpha Centauri vs. Call to Power!

    Neu Version Conflict on Chiron v3.4 BETA - 16.01.16

    Patch1 - 07.04.16

    Die deutschen Sounds und Wunderfilme sind bereits in der MainFile integriert!
    Ihr könnt sofort loslegen.

    Über Feedback würde ich mich freuen...

  14. #14
    Civ4 BASE Coder Avatar von rucivfan
    Registriert seit
    10.07.11
    Ort
    Antarktika
    Beiträge
    19.015
    Ich konnte keinen Unterschied zwischen der Beschreibung oben und der von den Fanatics jemals feststellen.

  15. #15
    Registrierter Benutzer
    Registriert seit
    21.03.12
    Beiträge
    22.397
    €: falscher Thread, kann weg
    Geändert von Flunky (26. Februar 2014 um 03:40 Uhr)

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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