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:
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:So, alles gedownloaded, dann weiter zum nächsten Abschnitt.
- 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.
.- 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.)
.- 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.
.- 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.
.- Wessen Quellcodedateien hops gegangen sind, der kann hier die originalen Quellcodedateien downloaden, sie gehören zu den anderen Projektdateien.
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.
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.
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.
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.
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.
.