OpenSource-Reimplementierung der zEngine, die von den Spielen „Gothic“ und „Gothic II“ verwendet wird.
Das Projekt wurde neu gestartet. Hier ist das neue Repository: https://github.com/REGoth-project/REGoth-bs
Vergessen Sie nicht, im REGoth-Wiki nach weiteren Informationen zum Projekt zu suchen!
Eine Liste mit dem aktuellen Zustand des Motors finden Sie hier.
Version 0.4 (Windows) : https://github.com/REGoth-project/REGoth/releases/tag/0.4
Version 0.4 (Android) : https://github.com/REGoth-project/REGoth/releases/tag/0.4-android
Automatisierte nächtliche Builds: https://github.com/degenerated1123/REGoth/releases
Stellen Sie sicher, dass Sie dieses Repository mit dem Flag --recursive
klonen:
git clone --recursive [email protected]:degenerated1123/REGoth.git
git clone --recursive https://github.com/degenerated1123/REGoth.git
Um das Repo zu aktualisieren, müssen Sie sicherstellen, dass auch die Submodule aktualisiert werden. Anstatt einfach das Repository abzurufen, können Sie Folgendes tun:
git pull --recurse-submodules
Hinweis: Wenn Ihnen Pakete fehlen oder Sie Probleme beim Erstellen auf Ihrer Plattform haben, können Sie sich diese Wiki-Seite ansehen, die möglicherweise detailliertere Anweisungen enthält. Wenn Sie Ihre Plattform dort nicht finden, würde ich Sie freundlich bitten, dieser Wiki-Seite einige Anweisungen für andere Leute hinzuzufügen!
Sie benötigen CMake (3.1 oder neuer) und einen C++14-fähigen Compiler. Derzeit unterstützt/getestet sind:
Sie benötigen außerdem eine Kopie von libsndfile
die auf Ihrem Computer installiert ist.
libsndfile
und libxinerama
Auf den meisten *nix-Systemen kann dies über einen Paketmanager abgerufen werden, beispielsweise auf Debian/Ubuntu:
$ sudo apt install libsndfile1-dev libasound2-dev
$ sudo apt install libxinerama-dev
Oder auf macOS
$ brew install libsndfile # Needs Homebrew
libsndfile
muss separat kompiliert werden. Erstellen Sie irgendwo auf Ihrem System ein Verzeichnis zum Speichern der kompilierten Dateien und führen Sie es dann aus
mkdir build-libsndfile
cd build-libsndfile
cmake -D CMAKE_INSTALL_PREFIX=compiled/files/folder path/to/REGoth/lib/libdmusic/utils/dls2sf/lib/libsndfile
cmake --build . --target install --config Release
Dann:
cd path/to/REGoth
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release .. # On *nix systems this is sufficient
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=compiled/files/folder .. # On Windows
Wenn sich CMake darüber beschwert, dass in einigen Ordnern eine CMakeLists.txt fehlt, haben Sie höchstwahrscheinlich vergessen, mit dem Flag
--recursive
- zu klonen! Führen Sie einfachgit submodule update --init --recursive
aus und es sollte funktionieren.
Wählen Sie dann je nach Betriebssystem:
make -j4
Ab Visual Studio 2017 können Sie die integrierte cmake-Funktionalität verwenden, um den geklonten Ordner zu öffnen.
Weitere Informationen hierzu finden Sie auf der Seite „Wiki erstellen“.
Öffnen Sie für frühere Versionen von Visual Studio die generierte REGoth.sln
und erstellen Sie sie wie gewohnt.
Alternativ können Sie diesen Befehl im Build-Ordner ausführen:
cmake --build . --config release
Die kompilierten Dateien befinden sich im Verzeichnis build/bin
.
Stellen Sie sicher, dass Sie den Ordner content/shaders
in das Arbeitsverzeichnis der kompilierten REGoth
-Executable kopieren. Führen Sie dann das Programm mit den folgenden Flags aus:
REGoth -g " path/to/gothic1or2 " -w startworld.zen
Wobei path/to/gothic1or2
auf das Stammverzeichnis einer Gothic I- oder II-Installation verweist und startworld.zen
eine der Zen-Dateien ist, die in einer .vdf
-Datei im data/
-Verzeichnis des Spiels zu finden sind. Zum Beispiel: newworld.zen
oder addonworld.zen
für Gothic II.
Es wird empfohlen, dies über die Befehlszeile auszuführen, um die Debug-Ausgabe des Programms anzuzeigen.
Führen Sie außerdem REGoth --help
aus, um eine Liste möglicher Befehle zu erhalten.
tp [<teleporter:default=player>] <target>
: NPC teleporter
(= Spieler, wenn keiner angegeben ist) zum NPC- target
teleportierengoto waypoint <waypoint>
: Teleportiere den Spieler zum waypoint
kill [<npc>]
: Töte npc
oder einen NPC in der Nähe, wenn keiner angegeben istknockout [<npc>]
: Knockout npc
oder einen NPC in der Nähe, wenn keiner angegeben istsave <slotindex>
: Speichern Sie das Spiel im angegebenen Slotload <slotindex>
: Laden Sie das Spiel aus dem angegebenen Slotswitchlevel <zenfile>
: Wechseln Sie in der aktuellen Sitzung zu einer anderen Ebeneusemana <amount>
: Mana verwendenhurtself <amount>
: Verletze dich selbstset clock <hour> [<min:default=0>]
: Tageszeit auf hour
setzen: min
control <npc>
: Übernimm die Kontrolle über npc
Wenn Sie helfen möchten und nicht wissen, wo Sie anfangen sollen, empfehle ich Ihnen, die Wiki-Seite zu lesen, die Informationen zum Engine-Layout und Listen der fehlenden Funktionen enthält (allerdings noch nicht!).
Gothic 1 – Overworld: REGoth -g "path/to/gothic1" -w world.zen
Gothic 1 – Oldmine: REGoth -g "path/to/gothic1" -w oldmine.zen
Gothic 1 – Freemine: REGoth -g "path/to/gothic1" -w freemine.zen
Gothic 1 – Orkfriedhof: REGoth -g "path/to/gothic1" -w orcgraveyard.zen
Gothic 1 – Schläfertempel: REGoth -g "path/to/gothic1" -w orctempel.zen
Gothic 2 – Overworld: REGoth -g "path/to/gothic2" -w newworld.zen
Gothic 2 – Tal der Minen: REGoth -g "path/to/gothic2" -w oldworld.zen
Gothic 2 – Addonworld: REGoth -g "path/to/gothic2" -w addonworld.zen
Gothic 2 – Dragonisland: REGoth -g "path/to/gothic2" -w dragonisland.zen