OpenSource-Reimplementação do zEngine, utilizado pelo jogo "Gothic" e "Gothic II".
O projeto foi reiniciado. Aqui está o novo repositório: https://github.com/REGoth-project/REGoth-bs
Não se esqueça de conferir o REGoth-Wiki para mais informações sobre o projeto!
Uma lista mostrando o estado atual do motor pode ser encontrada aqui.
Versão 0.4 (Windows) : https://github.com/REGoth-project/REGoth/releases/tag/0.4
Versão 0.4 (Android) : https://github.com/REGoth-project/REGoth/releases/tag/0.4-android
Compilações noturnas automatizadas: https://github.com/degenerated1123/REGoth/releases
Certifique-se de clonar este repositório com o sinalizador --recursive
:
git clone --recursive [email protected]:degenerated1123/REGoth.git
git clone --recursive https://github.com/degenerated1123/REGoth.git
Para atualizar o repositório, você precisa atualizar também os submódulos. Em vez de simplesmente extrair o repositório, você pode fazer:
git pull --recurse-submodules
Nota: Se estiver faltando pacotes ou tendo problemas para construir em sua plataforma, você pode conferir esta página wiki, que pode conter instruções mais detalhadas. Se você não encontrar sua plataforma lá, peço a gentileza de adicionar algumas instruções para outras pessoas nessa página wiki!
Você precisará do CMake (3.1 ou mais recente) e de um compilador compatível com C++ 14. Atualmente suportados/testados são:
Você também precisará de uma cópia do libsndfile
instalada em seu computador.
libsndfile
e libxinerama
Na maioria dos sistemas *nix, isso pode ser obtido usando um gerenciador de pacotes, por exemplo no Debian/Ubuntu:
$ sudo apt install libsndfile1-dev libasound2-dev
$ sudo apt install libxinerama-dev
Ou no macOS
$ brew install libsndfile # Needs Homebrew
libsndfile
precisará ser compilado separadamente. Crie um diretório em algum lugar do seu sistema para armazenar os arquivos compilados e execute
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
Então:
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
Se o CMake reclamar de algumas pastas sem CMakeLists.txt, você provavelmente se esqueceu de clonar com o
--recursive
-flag! Simples, façagit submodule update --init --recursive
e deve funcionar.
Em seguida, escolha dependendo do seu sistema operacional:
make -j4
A partir do Visual Studio 2017, você pode usar a funcionalidade cmake integrada para abrir a pasta clonada.
Confira como construir a página wiki para obter detalhes sobre isso.
Para versões anteriores do Visual Studio, abra o REGoth.sln
gerado e crie normalmente.
Alternativamente, você pode executar este comando dentro da pasta build:
cmake --build . --config release
Os arquivos compilados estão dentro do diretório build/bin
.
Certifique-se de copiar a pasta content/shaders
para o diretório de trabalho do REGoth
-Executable compilado. Em seguida, execute o programa com os seguintes sinalizadores:
REGoth -g " path/to/gothic1or2 " -w startworld.zen
Onde path/to/gothic1or2
aponta para a raiz de uma instalação Gothic I ou II e startworld.zen
é um dos arquivos Zen encontrados em arquivos .vdf
no diretório data/
dos jogos. Por exemplo: newworld.zen
ou addonworld.zen
para Gothic II.
É recomendado executá-lo na linha de comando para ver a saída de depuração do programa.
Além disso, para obter uma lista de comandos possíveis, execute REGoth --help
.
tp [<teleporter:default=player>] <target>
: Teletransporta teleporter
NPC (= jogador se nenhum for fornecido) para target
NPCgoto waypoint <waypoint>
: Teleporta o jogador para waypoint
kill [<npc>]
: Mate npc
ou um NPC próximo se nenhum for fornecidoknockout [<npc>]
: Nocauteia npc
ou um NPC próximo se nenhum for dadosave <slotindex>
: Salva o jogo no slot determinadoload <slotindex>
: Carrega o jogo do slot fornecidoswitchlevel <zenfile>
: Muda para outro nível na sessão atualusemana <amount>
: Use manahurtself <amount>
: machucar-seset clock <hour> [<min:default=0>]
: definir hora do dia para hour
: min
control <npc>
: Assuma o controle do npc
Se você quiser ajudar e não sabe por onde começar, sugiro a leitura da página wiki, que contém informações sobre o layout do motor e listas de quais recursos estão faltando (embora ainda não!).
Gótico 1 - Mundo superior: REGoth -g "path/to/gothic1" -w world.zen
Gótico 1 - Oldmine: REGoth -g "path/to/gothic1" -w oldmine.zen
Gótico 1 - Freemine: REGoth -g "path/to/gothic1" -w freemine.zen
Gótico 1 - Cemitério de Orcs: REGoth -g "path/to/gothic1" -w orcgraveyard.zen
Gótico 1 - Templo adormecido: REGoth -g "path/to/gothic1" -w orctempel.zen
Gótico 2 - Mundo superior: REGoth -g "path/to/gothic2" -w newworld.zen
Gótico 2 - Vale das minas: REGoth -g "path/to/gothic2" -w oldworld.zen
Gótico 2 - Addonworld: REGoth -g "path/to/gothic2" -w addonworld.zen
Gótico 2 - Dragonisland: REGoth -g "path/to/gothic2" -w dragonisland.zen