OpenSource - zEngine 的重新实现,由游戏“Gothic”和“Gothic II”使用。
该项目已重新启动。这是新的存储库:https://github.com/REGoth-project/REGoth-bs
不要忘记查看 REGoth-Wiki 以获取有关该项目的更多信息!
可以在此处找到显示引擎当前状态的列表。
版本 0.4(Windows) :https://github.com/REGoth-project/REGoth/releases/tag/0.4
版本 0.4(Android) :https://github.com/REGoth-project/REGoth/releases/tag/0.4-android
每晚自动构建:https://github.com/degenerate1123/REGoth/releases
确保使用--recursive
标志克隆此存储库:
git clone --recursive [email protected]:degenerated1123/REGoth.git
git clone --recursive https://github.com/degenerated1123/REGoth.git
要更新存储库,您需要确保也更新子模块。您可以执行以下操作,而不是简单地拉取存储库:
git pull --recurse-submodules
注意:如果您缺少软件包或在平台上构建时遇到问题,您可以查看此 wiki 页面,其中可能包含更详细的说明。如果您在那里找不到您的平台,我恳请您向该维基页面添加一些供其他人使用的说明!
您将需要 CMake(3.1 或更高版本)和支持 C++14 的编译器。目前支持/测试的是:
您还需要在计算机上安装libsndfile
的副本。
libsndfile
和libxinerama
在大多数 *nix 系统上,可以使用包管理器获取此信息,例如在 Debian/Ubuntu 上:
$ sudo apt install libsndfile1-dev libasound2-dev
$ sudo apt install libxinerama-dev
或者在 macOS 上
$ brew install libsndfile # Needs Homebrew
libsndfile
需要单独编译。在系统上的某个位置创建一个目录来存储编译后的文件,然后运行
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
然后:
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
如果 CMake 抱怨某些文件夹缺少 CMakeLists.txt,您很可能忘记使用
--recursive
-flag 进行克隆!简单地执行git submodule update --init --recursive
,它应该可以工作。
然后,根据您的操作系统进行选择:
make -j4
启动 Visual Studio 2017,您可以使用集成的 cmake 功能打开克隆的文件夹。
查看如何构建 wiki 页面以获取有关此内容的详细信息。
对于以前版本的 Visual Studio,打开生成的REGoth.sln
并照常构建。
或者,您可以在构建文件夹内运行此命令:
cmake --build . --config release
编译后的文件位于build/bin
目录中。
确保将content/shaders
文件夹复制到已编译的REGoth
-Executable 的工作目录中。然后,使用以下标志运行该程序:
REGoth -g " path/to/gothic1or2 " -w startworld.zen
其中path/to/gothic1or2
指向 Gothic I 或 II 安装的根目录, startworld.zen
是在 games data/
目录中的.vdf
文件中找到的 Zen 文件之一。例如:哥特 II 的newworld.zen
或addonworld.zen
。
建议从命令行运行它,以查看程序的调试输出。
此外,要获取可能的命令列表,请运行REGoth --help
。
tp [<teleporter:default=player>] <target>
:将 NPC teleporter
(= 玩家,如果没有给出)传送到 NPC target
goto waypoint <waypoint>
:将玩家传送到waypoint
kill [<npc>]
:杀死npc
或附近的 NPC(如果没有给出)knockout [<npc>]
:如果没有给出,则击倒npc
或附近的 NPCsave <slotindex>
:将游戏保存到给定的插槽load <slotindex>
:从给定的插槽加载游戏switchlevel <zenfile>
: 切换到当前会话中的其他级别usemana <amount>
: 使用法力hurtself <amount>
:伤害自己set clock <hour> [<min:default=0>]
:将一天中的时间设置为hour
: min
control <npc>
: 控制npc
如果您想提供帮助但不知道从哪里开始,我建议您阅读 wiki 页面,其中包含有关引擎布局的信息以及缺少哪些功能的列表(不过还没有!)。
哥特式 1 - 主世界: REGoth -g "path/to/gothic1" -w world.zen
哥特式 1 - Oldmine: REGoth -g "path/to/gothic1" -w oldmine.zen
哥特式 1 - Freemine: REGoth -g "path/to/gothic1" -w freemine.zen
哥特式 1 - 兽人墓地: REGoth -g "path/to/gothic1" -w orcgraveyard.zen
哥特式 1 - 沉睡者神庙: REGoth -g "path/to/gothic1" -w orctempel.zen
哥特 2 - 主世界: REGoth -g "path/to/gothic2" -w newworld.zen
哥特式 2 - 矿井谷: REGoth -g "path/to/gothic2" -w oldworld.zen
哥特式 2 - Addonworld: REGoth -g "path/to/gothic2" -w addonworld.zen
哥特式 2 - Dragonisland: REGoth -g "path/to/gothic2" -w dragonisland.zen