OpenSource-Réimplémentation du zEngine, utilisé par les jeux "Gothic" et "Gothic II".
Le projet a été relancé. Voici le nouveau référentiel : https://github.com/REGoth-project/REGoth-bs
N'oubliez pas de consulter le REGoth-Wiki pour plus d'informations sur le projet !
Une liste montrant l’état actuel du moteur peut être trouvée ici.
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
Constructions nocturnes automatisées : https://github.com/degenerated1123/REGoth/releases
Assurez-vous de cloner ce référentiel avec l'indicateur --recursive
:
git clone --recursive [email protected]:degenerated1123/REGoth.git
git clone --recursive https://github.com/degenerated1123/REGoth.git
Pour mettre à jour le dépôt, vous devez également vous assurer de mettre à jour les sous-modules. Au lieu de simplement extraire le référentiel, vous pouvez faire :
git pull --recurse-submodules
Remarque : s'il vous manque des packages ou si vous rencontrez des difficultés pour créer sur votre plateforme, vous pouvez consulter cette page wiki, qui peut contenir des instructions plus détaillées. Si vous n'y trouvez pas votre plateforme, je vous demanderais de bien vouloir ajouter quelques instructions pour d'autres personnes sur cette page wiki !
Vous aurez besoin de CMake (3.1 ou plus récent) et d'un compilateur compatible C++14. Actuellement pris en charge/testés sont :
Vous aurez également besoin d'une copie de libsndfile
installée sur votre ordinateur.
libsndfile
et libxinerama
Sur la plupart des systèmes *nix, cela peut être obtenu à l'aide d'un gestionnaire de paquets, par exemple sur Debian/Ubuntu :
$ sudo apt install libsndfile1-dev libasound2-dev
$ sudo apt install libxinerama-dev
Ou sur macOS
$ brew install libsndfile # Needs Homebrew
libsndfile
devra être compilé séparément. Créez un répertoire quelque part sur votre système pour stocker les fichiers compilés, puis exécutez
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
Alors:
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
Si CMake se plaint de l'absence d'un fichier CMakeLists.txt dans certains dossiers, vous avez probablement oublié de cloner avec le drapeau
--recursive
! Faites simplementgit submodule update --init --recursive
et cela devrait fonctionner.
Ensuite, choisissez en fonction de votre OS :
make -j4
À partir de Visual Studio 2017, vous pouvez utiliser la fonctionnalité cmake intégrée pour ouvrir le dossier cloné.
Consultez la page Comment créer un wiki pour plus de détails à ce sujet.
Pour les versions précédentes de Visual Studio, ouvrez le REGoth.sln
généré et créez comme d'habitude.
Alternativement, vous pouvez exécuter cette commande dans le dossier build :
cmake --build . --config release
Les fichiers compilés se trouvent dans le répertoire build/bin
.
Assurez-vous de copier le dossier content/shaders
dans le répertoire de travail du REGoth
-Executable compilé. Ensuite, exécutez le programme avec les indicateurs suivants :
REGoth -g " path/to/gothic1or2 " -w startworld.zen
Où path/to/gothic1or2
pointe vers la racine d'une installation Gothic I ou II et startworld.zen
est l'un des fichiers Zen trouvés dans un fichier .vdf
dans le répertoire data/
du jeu. Par exemple : newworld.zen
ou addonworld.zen
pour Gothic II.
Il est recommandé de l'exécuter à partir de la ligne de commande, pour voir la sortie de débogage du programme.
De plus, pour obtenir une liste des commandes possibles, exécutez REGoth --help
.
tp [<teleporter:default=player>] <target>
: Téléporter teleporter
PNJ (= joueur si aucun n'est donné) vers target
PNJgoto waypoint <waypoint>
: Téléporter le joueur au waypoint
kill [<npc>]
: Tuez npc
ou un PNJ à proximité si aucun n'est donnéknockout [<npc>]
: npc
KO ou un PNJ proche si aucun n'est donnésave <slotindex>
: Sauvegarde le jeu dans l'emplacement donnéload <slotindex>
: Charge le jeu depuis le slot donnéswitchlevel <zenfile>
: Passer à un autre niveau dans la session en coursusemana <amount>
: Utiliser le manahurtself <amount>
: se faire du malset clock <hour> [<min:default=0>]
: Régler l'heure du jour en hour
: min
control <npc>
: Prendre le contrôle de npc
Si vous souhaitez aider et ne savez pas par où commencer, je vous suggère de lire la page wiki, qui contient des informations sur la configuration du moteur et des listes des fonctionnalités manquantes (pas encore, cependant !).
Gothic 1 - Overworld : REGoth -g "path/to/gothic1" -w world.zen
Gothique 1 - Oldmine : REGoth -g "path/to/gothic1" -w oldmine.zen
Gothique 1 - Freemine : REGoth -g "path/to/gothic1" -w freemine.zen
Gothic 1 - Cimetière Orc : REGoth -g "path/to/gothic1" -w orcgraveyard.zen
Gothique 1 - Temple dormant : REGoth -g "path/to/gothic1" -w orctempel.zen
Gothic 2 - Overworld : REGoth -g "path/to/gothic2" -w newworld.zen
Gothic 2 - Vallée des mines : 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