Saved searches

Use saved searches to filter your results more quickly

Cancel Create saved search Sign up Reseting focus

You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.

Cross-platform port of Arx Fatalis, a first-person role-playing game

License

GPL-3.0 and 4 other licenses found

Licenses found

LICENSE.DejaVu LICENSE.fast_float LICENSE.stb

Notifications You must be signed in to change notification settings

arx/ArxLibertatis

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Go to file

Folders and files

Last commit message Last commit date

Latest commit

History

View all files

Repository files navigation

 _______________________ /\ \ \_| Arx | | Libertatis | | __________________|__ \_/____________________/ 

Cross-platform port of Arx Fatalis, a first-person role-playing game Arx Libertatis is based on the publicly released Arx Fatalis source code. The source code is available under the GPLv3+ license with some additional terms - see the COPYING and LICENSE files for details.

Contact

Dependencies

  1. Systems without Win32 or POSIX filesystem support will also need the filesystem and system libraries from Boost.

Renderer

There is currently a single rendering backend for OpenGL:

Crash Reporter

Arx Libertatis comes with an optional gui crash reporter which has additional dependencies:

  1. Qt 5 only

While the crash reporter can be run without GDB, it's main usefulness comes from generating and submitting detailed back-traces in the event of a crash. On non-Windows systems we use GDB, the GNU Debugger, to accomplish that. If you want to help out the arx project, please install GDB before running arx. GDB is however purely a run-time dependency and is not needed when building the crash reporter.

Tests

Building and running tests has additional dependencies:

Git Build Dependencies

Building checkouts from git on their own requires additional dependencies:

These are needed to render and scale the SVG icons, which currently only render correctly in Inkscape. Release and development snapshot source tarballs include pre-built icon files and do not need these dependencies to build.

To avoid the Inkscape (as well as ImageMagick and OptiPNG) dependency for git builds, pre-built icons can be downloaded from https://arx-libertatis.org/files/data/ or the ArxLibertatisData repository. The required data version is listed in the VERSION file. Place arx-libertatis-data-$version directory into the build directory or tell the build system about it's location using the DATA_FILES CMake variable ( -DDATA_FILES=… on the command-line).

Alternatively, icons can be disabled by setting the ICON_TYPE CMake variable to none . See OPTIONS.md for other supported icon type values.

Compile and install

$ mkdir build && cd build $ cmake .. $ make 

The default build settings are tuned for users - if you plan to make changes to Arx Libertatis you should append the -DDEVELOPER=1 option to the cmake command to enable tests, debug checks and fast incremental builds.

To install the binaries system-wide, run as root:

# make install 

Alternatively you can run the game by specifying the full path to the arx binary in the build directory.

The wiki has more detailed instructions on compiling under Linux.

Getting all the dependencies set up for Windows is more tricky. Pre-built dependencies are available in the ArxWindows repository and instructions on how to use them are available on the wiki.

Build options:

  1. Enabled automatically if BUILD_ALL or BUILD_PROFILER_INSTRUMENT is enabled
  2. Enabled automatically if BUILD_ALL or DEVELOPER is enabled
  3. Enabled automatically if CMAKE_BUILD_TYPE is set to Debug or if DEVELOPER is enabled.
  4. Enabled automatically if DEBUG is enabled. If disabled, OpenGL debug output can be enabled at run-time using the --debug-gl command-line option.
  5. Enabled automatically if DEVELOPER is enabled unless cross-compiling without RUN_TARGET set
  6. Currently this disables UNITY_BUILD and enables DEBUG , BUILD_TESTS , RUN_TESTS and FASTLINK for faster incremental builds and improved debug checks, unless those options have been explicitly specified by the user.

Set options by passing -D= to cmake .

Backends that are not available are disabled by default. The cmake run should display a summary of the enabled backends at the end.

Advanced options not listed here are documented in OPTIONS.md.

Data file, config and savegame locations

Where arx will look for data files and write config and save files depends on the operating system and environment - the wiki has a page detailing the full data directory detection algorithm.

For Unix-like systems: The game will try to rename all used files in the user directory (but not the data directory) to lowercase on the first run. System-wide installations with case-sensitive filesystems always need to manually rename the files to lowercase. The arx-install-data script can be used to install the data files, convert them to lowercase and verify that all required files are present.

To print all directories searched by arx, run

$ arx --list-dirs 

By default, user, config and data files will be loaded from and saved to standard system locations depending on the OS:

Windows:

macOS:

Linux and others:

Arx will also try to load data files from the directory containing the game executable.

To use the current working directory for user, config and data files (e.g. for a portable install) run the game as

$ arx --no-data-dir --user-dir=. --config-dir=. 

Run

Provided the data files are installed at the correct location, you can simply play the game using the installed shortcut or by running

See the arx --help and man arx output for more details.

Tools