_______________________
/\ \
\_| Arx |
| Libertatis |
| __________________|__
\_/____________________/
Cross-platform port of Arx Fatalis
Arx Libertatisis based on the publicly released Arx Fatalis source code. GPLv3 - read ARX_PUBLIC_LICENSE.txt
Website: http://arx-libertatis.org
Bug Tracker: https://bugs.arx-libertatis.org/
IRC: #arxfatalis on irc.freenode.net
Wiki: http://wiki.arx-libertatis.org/
Reddit: http://www.reddit.com/r/ArxFatalis/
- CMake 2.8+ (compile-time only, 2.8.5+ under Windows)
- DevIL 1.7+ with
BMP
,JPEG
andTGA
support enabled - zlib
- Boost 1.39+ (headers,
program_options
library) - Freetype
- OpenAL 1.1+ and/or DirectSound 9
Systems without Win32 or POSIX filesystem support will also need Boost 1.44 or newer including the filesystem
and system
libraries.
There are rendering backends for both OpenGL and Direct3D. You need either:
- SDL 1.2
- OpenGL 1.5+ (OpenGL 2.1 or newer is recommended)
- GLEW 1.5.2+
and/or
- DirectInput 8 (included in the DirectX 9 SDK)
- Direct3D 9
Both OpenGL and Direct3D backends can be built at the same time.
Arx Libertatis comes with an optional gui crash reporter which has additional dependencies:
- Qt 4 (
QtCore
,QtGui
andQtNetwork
libraries) - GDB (Linux-only, optional, run-time only)
- DbgHelp (Windows-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-window 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.
For Linux run:
$ mkdir build && cd build && cmake ..
$ make
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-build dependencies are available in the ArxWindows repository and instructions on how to use them are available on the wiki.
BUILD_TOOLS
(default=ON): Build toolsBUILD_CRASHREPORTER
(default=ON): Build the Qt crash reporter gui (default OFF for Mac)UNITY_BUILD
(default=OFF): Unity build (faster build, better optimizations but no incremental build)CMAKE_BUILD_TYPE
(default=Release): Set toDebug
for debug binariesDEBUG_EXTRA
(default=OFF): Expensive debug optionsUSE_OPENAL
(default=ON): Build the OpenAL audio backendUSE_OPENGL
(default=ON): Build the OpenGL renderer backendUSE_SDL
(default=ON): Build the SDL windowing and input backendsUSE_NATIVE_FS
(default=ON): Use the native filesystem backend (POSIX / Win32) if available and not boost::filesystem.
Windows-only options (always OFF for non-windows platforms):
USE_DSOUND
(default=ON): Build the DirectSound audio backendUSE_D3D9
(default=ON): Build the Direct3D 9 renderer backendUSE_DINPUT8
(default=ON): Build the DirectInput 8 input backend
Install options:
CMAKE_INSTALL_PREFIX
(default:/usr/local
on UNIX andC:/Program Files
on Windows): Where to install Arx Libertatis
Linux-only install options (absolute or relative to CMAKE_INSTALL_PREFIX
):
CMAKE_INSTALL_DATAROOTDIR
(default:share
): Where to install data filesICONDIR
(default:DATAROOTDIR/pixmaps
): Where to install iconsAPPDIR
(default:DATAROOTDIR/applications
): Where to install .desktop filesCMAKE_INSTALL_MANDIR
(default:DATAROOTDIR/man
): Where to install man pagesCMAKE_INSTALL_BINDIR
(default:bin
): Where to install user executablesGAMESBINDIR
(default: BINDIR): Where to install game executablesCMAKE_INSTALL_LIBEXECDIR
(default:libexec
): Where to install non-user executables
Set options by passing -D<option>=<value>
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.
You will need to get either the full game or demo data of Arx Fatalis.
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.
To print all directories considered by arx, run
$ arx --list-dirs
If you don't have a system-wide installation of the Arx Fatalis data files, you can just run arx from the directory containing the .pak files:
$ arx
Arx Libertatis will then put the config and save files in the same directory. If you have a system-wide installation, but still want to run from the current directory, use the --no-data-dir --user-dir=. --config-dir=.
command-line options.
Where arx will look for a system-wide installation depends on the OS:
Under Windows, the locations for data and user (config and savegame) files can be set by the {HKCU,HKLM}\Software\ArxLibertatis\DataDir
and {HKCU,HKLM}\Software\ArxLibertatis\UserDir
registry keys. If not specified by a registry key, the user files are stored at %USERPROFILE%\My Documents\My Games\Arx Libertatis
on XP and %USERPROFILE%\Saved Games\Arx Libertatis
on Vista and up.
Under Mac OS X, the system-wide data files should be stored in /Applications/ArxLibertatis/
. Config, save and per-user data files are located in ~/Library/Application Support/ArxLibertatis/
.
For other systems like Linux, the data files can be in /usr/local/share/games/arx
and /usr/share/games/arx
as well as other locations depending on your Linux distribution. Config files are normally located in ~/.config/arx
while save files are stored in ~/.local/share/arx
.
Run from the directory containing the .pak files (or from anywhere in case of a system-wide installation):
$ arx
The game will try to automatically rename all used files in the user directory (but not the data directory) to lowercase on the first run if possible. System-wide installations always need to manually rename the files to lowercase - you can use the install-copy script.
You can close it with Alt + F4
or killall arx
-
arxunpak <pakfile> [<pakfile>...]
- Extracts the .pak files containing the game assets. -
arxsavetool <command> <savefile> [<options>...]
- commands are:extract <savefile>
- Extract the contents of the given savefile to the current directly.add <savefile> [<files>...]
- Add files to a savefile, create it if needed.fix <savefile>
- Fix savegame issues created by previous builds of Arx Libertatisview <savefile> <ident>
- Print savegame information.
The scripts
directory contains shell scripts that allow to extract/install the game data under Linux without Wine from the CD, demo, GOG.com installer or any fully patched Arx Fatalis install respectively. Also see the wiki page on installing the game data under Linux.
-
scripts/install-cd path/to/cd path/to/ArxFatalis_1.21_MULTILANG.exe [output_dir]
requires cabextract and innoextract
ArxFatalis_1.21_MULTILANG.exe
can be downloaded from the official Arx Fatalis website. -
scripts/install-demo path/to/arx_demo_english.zip [output_dir]
requires unzip and cabextract -
scripts/install-gog path/to/setup_arx_fatalis.exe [output_dir]
requires innoextract
setup_arx_fatalis.exe
can be downloaded from your GOG.com account after buying Arx Fatalis -
scripts/install-copy path/to/ArxFatalis/ [output_dir]
path/to/ArxFatalis/
should point to a fully pached (1.21) Arx Fatalis installation, such as the one from Steam
To build developer documentation (doxygen), run this from the build directory:
$ make doc