Widelands ist ein kostenloses Open-Source-Echtzeit-Strategiespiel mit Singleplayer-Kampagnen und einem Mehrspielermodus. Das Spiel wurde von Siedler II ™ (© Bluebyte) inspiriert, hat jedoch wesentlich mehr Abwechslung und Tiefe.
GPL V2+. Einige Vermögenswerte werden unter verschiedenen Creative Commons -Lizenzen veröffentlicht - siehe die jeweiligen Ordner.
Informationen zum Herunterladen von Widelands finden Sie unter https://www.widelands.org/wiki/download/
Wir unterstützen die Kompilierung von Widelands für Linux, Windows unter MSYS2 und MSVC und macOS mit GCC> = 8 oder Clang/LLVM> = 7, obwohl es möglicherweise auch mit anderen Compilern funktioniert. Wir haben eine detailliertere Dokumentation unter: https://www.widelands.org/wiki/buildingwidelands/
Sie müssen die folgenden Abhängigkeiten installieren:
Sie können dann kompilieren, indem Sie unser Convenience -Skript ausführen.
| Befehl | Zweck |
|---|---|
./compile.sh | Voller Debugg Build |
./compile.sh -r -w | Release Build |
./compile.sh -e -w | Veröffentlichung von Build mit Debugging -Symbolen |
./compile.sh -h | Listen Sie die verfügbaren Optionen auf |
Wenn das Kompilieren abgeschlossen ist, können Sie Widelands mit anrufen
./widelands
Sie können CMake auch manuell anrufen:
mkdir build
cd build
cmake ..
make
Wenn das Kompilieren abgeschlossen ist, können Sie Widelands mit anrufen
cd ..
mv build/src/widelands .
./widelands
Wir haben verschiedene CMake -Optionen zur Verfügung. Um zum Beispiel einen Release -Build zu erstellen, rufen Sie an
cmake -DCMAKE_BUILD_TYPE=Release ..
Für die Verwendung des Ninja -Build -Systems rufen Sie an
mkdir build
cd build
cmake -G Ninja ..
ninja
Abhängig von der Ninja-Installation kann die letzte Zeile auch ninja-build sein.
Beachten Sie, dass CMake -Optionen mit -D vorangestellt sind. Dies sind die verfügbaren Optionen:
| Name | Werte | Standard | Funktion |
|---|---|---|---|
CMAKE_BUILD_TYPE | Debug / Release / RelWithDebInfo | Debug | Erstellen Sie eine Veröffentlichung oder einen Debugg -Build |
OPTION_ASAN | ON / OFF | ON für Debug -Builds / OFF für Release -Builds | Verwenden Sie Adressanitierer. Wenn Sie dies ausschalten, funktioniert nur einmal. Sie müssen das build -Verzeichnis löschen, wenn Sie dies in einem späteren Build erneut ausschalten möchten. |
OPTION_BUILD_CODECHECK | ON / OFF | ON | Erstellen codecheck. Nur in Debug -Builds erhältlich. |
OPTION_BUILD_WEBSITE_TOOLS | ON / OFF | ON | Erstellen von Tools im Zusammenhang mit Website |
OPTION_BUILD_TESTS | ON / OFF | ON | Einheitstests bauen |
CMAKE_INSTALL_PREFIX | Ein Verzeichnis | Siehe CMAKE -Dokumentation | Definieren Sie das Zielverzeichnis für das Ziel "Installation", z. B. -DCMAKE_INSTALL_PREFIX=~/widelands-install . |
WL_INSTALL_BINDIR | Ein Verzeichnis | ${CMAKE_INSTALL_PREFIX}/games | Definieren Sie das Ziel von ausführbaren Dateien (bei der Installation) |
WL_VERSION | Eine Versionszeichenfolge | Autodetiert aus GIT/BZR oder durch Hinzufügen einer VERSION festgelegt | Definieren Sie die Widelands -Version |
USE_XDG | ON / OFF | ON | Folgen Sie die XDG-basierte Spezifikation. Nur auf Linux erhältlich. |
OPTION_USE_GLBINDING | ON / OFF | OFF | Verwenden Sie Glbinding anstelle von Glew |
OPTION_GLEW_STATIC | ON / OFF | OFF | Verwenden Sie die statische Glew -Bibliothek |
OPTION_FORCE_EMBEDDED_MINIZIP | ON / OFF | OFF | Gebrauchte eingebettete Minizip -Quellen (Überspringen Sie die installierte Minizip -Bibliothek überspringen) |
NEEDS_EXTERNAL_FILESYSTEM | ON / OFF | Autodetiert aus der Compiler -Version | Ob std::filesystem mit einer zusätzlichen Bibliothek verknüpft werden muss |
Sie können dem Befehl make oder ninja Ziele hinzufügen, z. B. make codecheck , um nur die Code -Check -Suite auszuführen. Dies sind die verfügbaren Ziele:
| Name | Funktion |
|---|---|
ALL oder kein Ziel | Kompilieren Sie alles bis zur ausführbaren Datei mit den Einstellungen aus dem cmake -Anruf |
codecheck | Führen Sie die CodestCKs aus |
doc | Generieren Sie die Doxygen -Dokumentation. Derzeit nur mit Build -Typ -Debuggen, aber dies kann bei Bedarf leicht geändert werden. |
install | Installieren Sie in der Ziel -Dire, dies ist /usr/local pro Standard (Sie benötigen Root -Berechtigungen!), Sofern Sie es nicht ändern (siehe CMAKE -Optionen oben) |
Wir haben einige Anweisungen, wie Sie GIT verwenden, um Ihnen zu helfen, wenn Sie neu bei GIT sind: https://www.widelands.org/wiki/gitprimer/
Der Master -Zweig und alle Probleme und Zuganfragen spiegeln bidirektional zwischen unseren Entwicklerumgebungen auf Codeberg und GitHub von Bunnybot wider. Bunnybot formatiert auch den Code (C ++, Lua und Python) in allen gespiegelten Zweigen.
Wir folgen dem Google StyleGuide.
Szenarien finden Sie unter https://www.widelands.org/documentation/lua_index/
Weitere Informationen finden Sie unter https://www.widelands.org/wiki/graphicsdevelopment/
Übersetzungen finden Sie unter https://www.widelands.org/wiki/translatingwidelands/
Weitere Informationen zum Test finden Sie unter https://www.widelands.org/wiki/Testingbranches/
Weitere Informationen finden Sie unter https://www.widelands.org/wiki/Triagingbugs/.
| Verzeichnis | Inhalt |
|---|---|
| cmake | Erstellen Sie System- und Codecheck -Regeln |
| Daten | Die Datendateien des Spiels. Bilder, Klänge, Musik, Skript, Karten, Kampagnen, Stämme, ... |
| Debian | Verpackung für Debian-basierte Linux-Verteilungen |
| Dokument | Sphinx -Dokumentation |
| po | Übersetzungsdateien |
| src | C ++ Quellcode |
| prüfen | Skriptkarten für unsere Regressionstestsuite |
| Utils | Verschiedene Dienstprogramme: Erstellen von Übersetzungen, Codeformatierung, Verpackung von Mac & Windows, ... |
Alle Dränge zum Master werden auf Appveyor aufgebaut. Pull-Anforderungszweige werden mit einer GitHub-Aktion für MS-Windows bereitgestellt. Um MS-Windows-Builds zu erhalten, wenn Sie keine Pull-Anfrage öffnen möchten, fügen Sie den Namen Ihrer Filiale vorübergehend in den branches in appveyor.yml hinzu. Dies funktioniert jedoch nicht, wenn sich der Zweig in einer Gabel befindet.
Alle Pull -Anforderungszweige sowie Master werden zusätzlich für macOS bereitgestellt, und ein Testsuite überprüft sie unter verschiedenen Compilern. Um macOS -Builds oder Testsuitergebnisse zu erhalten, fügen Sie den Abschnitt branches in .github/workflows/build.yaml vorübergehend den Namen Ihres Zweigs hinzu. Dies funktioniert auch für Zweige in Gabeln.