- Notifications
You must be signed in to change notification settings - Fork0
OpenSource-Reimplementation of the zEngine, used by the game "Gothic"
License
CheerWizard/REGoth
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
OpenSource-Reimplementation of the zEngine, used by the game "Gothic" and "Gothic II".
The project has been restarted. Here is the new repository:https://github.com/REGoth-project/REGoth-bs
Don't forget to check out theREGoth-Wiki for more information about the project!
A list showing the current state of the engine, can be foundhere.
- Release-Commentary to V0.4:
- Release-Commentary to V0.3:
- Release-Commentary to V0.2:
- Release-Commentary to V0.1.1:
- Dialogs, Audio, NPC script-states:
- Day/Night-Cycle and Fighting-animations:
- First showcase:
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
Automated nightly builds:https://github.com/degenerated1123/REGoth/releases
Make sure to clone this repository with the--recursive
flag:
git clone --recursive git@github.com:degenerated1123/REGoth.git
git clone --recursive https://github.com/degenerated1123/REGoth.git
To update the repo, you need to make sure to update the submodules as well. Instead of simply pulling the repository, you can do:
git pull --recurse-submodules
Note: If you are missing packages or are having trouble building on your platform, you can check out thiswiki-page, which may contain more detailed instructions.If you don't find your platform there, I'd kindly ask you to add some instructions for other people to that wiki-page!
You will need CMake (3.1 or newer) and a C++14-capable compiler.Currently supported/tested are:
- GCC (6.x)
- MinGW
- Visual Studio 2015, 2017
You will also need a copy oflibsndfile
installed on your computer.
On most *nix systems, this can be obtained using a package manager, for example on Debian/Ubuntu:
$ sudo apt install libsndfile1-dev libasound2-dev$ sudo apt install libxinerama-dev
Or on macOS
$ brew install libsndfile# Needs Homebrew
libsndfile
will need to be compiled separately. Create a directory somewhere on your system to store the compiled files, then run
mkdir build-libsndfilecd build-libsndfilecmake -D CMAKE_INSTALL_PREFIX=compiled/files/folder path/to/REGoth/lib/libdmusic/utils/dls2sf/lib/libsndfilecmake --build . --target install --config Release
Then:
cd path/to/REGothmkdir buildcd buildcmake -DCMAKE_BUILD_TYPE=Release ..# On *nix systems this is sufficientcmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=compiled/files/folder ..# On Windows
If CMake complains about some folders missing a CMakeLists.txt, you most likely forgot to clone with the
--recursive
-flag!Simple dogit submodule update --init --recursive
and it should work.
Then, choose depending on your OS:
make -j4
Starting Visual Studio 2017 you can use the integrated cmake functionality to open the cloned folder.
Check out thehow to build wiki page for details on this.
For previous versions of Visual Studio, open the generatedREGoth.sln
and build as usual.
Alternatively, you may run this command inside of the build folder:
cmake --build. --config release
The compiled files are inside thebuild/bin
directory.
Make sure to copy thecontent/shaders
folder to the working directory of the compiledREGoth
-Executable.Then, run the program with the following flags:
REGoth -g"path/to/gothic1or2" -w startworld.zen
Wherepath/to/gothic1or2
points to the root of a Gothic I or II installation andstartworld.zen
is one of the Zen-Files found in a.vdf
-files in the gamesdata/
-directory. For example:newworld.zen
oraddonworld.zen
for Gothic II.
It is recommended to run this from the commandline, to see the debug-output of the program.
Additionally, for a list of possible commands, runREGoth --help
.
- Movement: WASD/QE or arrow-keys (Space or Shift to run faster)
- Actions: Left CTRL for everything
- Menus: B for status-screen
- Console: F10
- Available commands (square brackets mean optional argument):
tp [<teleporter:default=player>] <target>
: Teleport NPCteleporter
(= player if none is given) to NPCtarget
goto waypoint <waypoint>
: Teleport player towaypoint
kill [<npc>]
: Killnpc
or a nearby NPC if none is givenknockout [<npc>]
: Knockoutnpc
or a nearby NPC if none is givensave <slotindex>
: Save the game to the given slotload <slotindex>
: Load the game from the given slotswitchlevel <zenfile>
: Switch to an other level in current sessionusemana <amount>
: Use manahurtself <amount>
: Hurt yourselfset clock <hour> [<min:default=0>]
: Set time of day tohour
:min
control <npc>
: Take control overnpc
- Available commands (square brackets mean optional argument):
If you want to help out and don't know where to start, I suggest reading thewiki-page, which contains information about the engine-layout and lists of which features are missing (Not yet, though!).
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 - Orc graveyard:REGoth -g "path/to/gothic1" -w orcgraveyard.zen
Gothic 1 - Sleeper temple:REGoth -g "path/to/gothic1" -w orctempel.zen
Gothic 2 - Overworld:REGoth -g "path/to/gothic2" -w newworld.zen
Gothic 2 - Valley of 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
About
OpenSource-Reimplementation of the zEngine, used by the game "Gothic"
Resources
License
Stars
Watchers
Forks
Packages0
Languages
- C++92.3%
- CMake3.7%
- C1.8%
- Java0.5%
- Shell0.5%
- Makefile0.4%
- Other0.8%