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.gitgit 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 Homebrewlibsndfile需要单独编译。在系统上的某个位置创建一个目录来存储编译后的文件,然后运行
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 targetgoto waypoint <waypoint> :将玩家传送到waypointkill [<npc>] :杀死npc或附近的 NPC(如果没有给出)knockout [<npc>] :如果没有给出,则击倒npc或附近的 NPCsave <slotindex> :将游戏保存到给定的插槽load <slotindex> :从给定的插槽加载游戏switchlevel <zenfile> : 切换到当前会话中的其他级别usemana <amount> : 使用法力hurtself <amount> :伤害自己set clock <hour> [<min:default=0>] :将一天中的时间设置为hour : mincontrol <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