• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

cmake/H17-Oct-2013-1,3491,037

data/H17-Oct-2013-155134

scripts/H17-Oct-2013-8,2085,572

src/H17-Oct-2013-170,124116,001

tests/math/H03-May-2022-4216

tools/H17-Oct-2013-8,0376,040

AUTHORSH A D17-Oct-20131.2 KiB4431

CHANGELOGH A D17-Oct-20139.6 KiB216183

OPTIONS.mdH A D17-Oct-20136.2 KiB8157

README.mdH A D17-Oct-20137.8 KiB192118

VERSIONH A D17-Oct-201379 85

README.md

1            _______________________
2           /\                      \
3           \_|         Arx         |
4             |      Libertatis     |
5             |   __________________|__
6              \_/____________________/
7
8
9Cross-platform port of Arx Fatalis
10
11Arx Libertatis is based on the publicly released [Arx Fatalis source code](http://www.arkane-studios.com/uk/arx_downloads.php).
12GPLv3 - read ARX_PUBLIC_LICENSE.txt
13
14## Contact
15
16Website: [http://arx-libertatis.org/](http://arx-libertatis.org/)
17
18Bug Tracker: [https://bugs.arx-libertatis.org/](https://bugs.arx-libertatis.org/)
19
20IRC: \#arxfatalis on irc.freenode.net
21
22Wiki: [http://wiki.arx-libertatis.org/](http://wiki.arx-libertatis.org/)
23
24Reddit: [http://www.reddit.com/r/ArxFatalis/](http://www.reddit.com/r/ArxFatalis/)
25
26## Dependencies
27
28* **[CMake](http://www.cmake.org/) 2.8**+ (compile-time only, 2.8.5+ under Windows)
29* **[zlib](http://zlib.net/)**
30* **[Boost](http://www.boost.org/) 1.39**+ (headers only)
31* **[Freetype](http://www.freetype.org/)**
32* **OpenAL 1.1**+ ([OpenAL Soft](http://kcat.strangesoft.net/openal.html) strongly recommended!) *and/or* **DirectSound 9**
33
34Systems without Win32 or POSIX filesystem support will also need **Boost 1.44** or newer including the `filesystem` and `system` libraries.
35
36### Renderer
37
38There are rendering backends for both OpenGL and Direct3D. You need either:
39
40* **[SDL](http://www.libsdl.org/) 1.2.10**+
41* **OpenGL 1.5**+ (OpenGL 2.1 or newer is recommended)
42* **[GLEW](http://glew.sourceforge.net/) 1.5.2**+
43
44*and/or*
45
46* **DirectInput 8** (included in the DirectX 9 SDK)
47* **Direct3D 9**
48
49Both OpenGL and Direct3D backends can be built at the same time.
50
51### Crash Reporter
52
53Arx Libertatis comes with an optional gui crash reporter which has additional dependencies:
54
55* **Qt 4** or **5** (`QtCore`, `QtGui`, `QtWidget`^1 and `QtNetwork` libraries)
56* **GDB** (Linux-only, optional, run-time only)
57* **DbgHelp** (Windows-only)
58
591. Qt 5 only
60
61While 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.
62
63## Compile and install
64
65For Linux run:
66
67    $ mkdir build && cd build && cmake ..
68    $ make
69
70To install the binaries system-wide, run as root:
71
72    # make install
73
74Alternatively you can run the game by specifying the full path to the `arx` binary in the `build` directory.
75
76The wiki has more detailed instructions on [compiling under Linux](http://wiki.arx-libertatis.org/Downloading_and_Compiling_under_Linux).
77
78Getting all the dependencies set up for Windows is more tricky. Pre-build dependencies are available in the [ArxWindows repository](https://github.com/arx/ArxWindows) and [instructions on how to use them](http://wiki.arx-libertatis.org/Downloading_and_Compiling_under_Windows) are available on the wiki.
79
80### Build options:
81
82* `BUILD_TOOLS` (default=ON): Build tools
83* `BUILD_CRASHREPORTER` (default=ON): Build the Qt crash reporter gui (default OFF for Mac)
84* `UNITY_BUILD` (default=OFF): Unity build (faster build, better optimizations but no incremental build)
85* `CMAKE_BUILD_TYPE` (default=Release): Set to `Debug` for debug binaries
86* `DEBUG` (default=OFF^1): Enable debug output and runtime checks
87* `DEBUG_EXTRA` (default=OFF): Expensive debug options
88* `USE_OPENAL` (default=ON): Build the OpenAL audio backend
89* `USE_OPENGL` (default=ON): Build the OpenGL renderer backend
90* `USE_SDL` (default=ON): Build the SDL windowing and input backends
91* `USE_NATIVE_FS` (default=ON): Use the native filesystem backend (POSIX / Win32) if available and not boost::filesystem.
92
931. Enabled automatically if `CMAKE_BUILD_TYPE` is set to `Debug`.
94
95Windows-only options (always `OFF` for non-windows platforms):
96
97* `USE_DSOUND` (default=ON): Build the DirectSound audio backend
98* `USE_D3D9` (default=ON): Build the Direct3D 9 renderer backend
99* `USE_DINPUT8` (default=ON): Build the DirectInput 8 input backend
100
101Install options:
102
103* `CMAKE_INSTALL_PREFIX` (default: `/usr/local` on UNIX and `C:/Program Files` on Windows): Where to install Arx Libertatis
104
105Set options by passing `-D<option>=<value>` to cmake.
106
107Backends that are not available are disabled by default. The `cmake` run should display a summary of the enabled backends at the end.
108
109Advanced options not listed here are documented in **OPTIONS.md**.
110
111## Data file, config and savegame locations
112
113You will need to [get either the full game or demo data of Arx Fatalis](http://wiki.arx-libertatis.org/Getting_the_game_data). To install the data files run
114
115    $ arx-install-data
116
117Where 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](http://wiki.arx-libertatis.org/Data_directories).
118
119The 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 - this is done automatically by the `arx-install-data` script.
120
121To print all directories searched by arx, run
122
123    $ arx --list-dirs
124
125By default, user, config and data files will be loaded from and saved to standard system locations depending on the OS:
126
127**Windows**:
128* user and config dir:<br>
129*XP*: `%USERPROFILE%\My Documents\My Games\Arx Libertatis`<br>
130*Vista* and up: `%USERPROFILE%\Saved Games\Arx Libertatis`
131* data dir: location stored in `HKCU\Software\ArxLibertatis\DataDir` or `HKLM\Software\ArxLibertatis\DataDir` registry keys
132
133**Mac OS X**:
134* user and config dir: `~/Library/Application Support/ArxLibertatis/`
135* data dir: `/Applications/ArxLibertatis/`
136
137**Linux** and others:
138* user dir: `~/.local/share/arx/`
139* config dir: `~/.config/arx/`
140* data dir: `/usr/share/games/arx/`, `/usr/local/share/games/arx/` and more
141
142Arx will also try to load data files from the directory containing the game executable.
143
144To use the current working directory for user, config and data files (e.g. for a portable install) run the game as
145
146    $ arx --no-data-dir --user-dir=. --config-dir=.
147
148## Run
149
150Provided the data files are installed at the correct location, you can simply play the game using the installed shortcut or by running
151
152    $ arx
153
154See the `arx --help` and `man arx` output for more details.
155
156## Tools
157
158* `arxunpak <pakfile> [<pakfile>...]` <br>
159  Extracts the .pak files containing the game assets.
160
161* `arxsavetool <command> <savefile> [<options>...]` - commands are:
162  * `extract <savefile>` <br>
163    Extract the contents of the given savefile to the current directory
164  * `add <savefile> [<files>...]` <br>
165    Add files to a savefile, create it if needed
166  * `fix <savefile>` <br>
167    Fix savegame issues created by previous builds of Arx Libertatis
168  * `view <savefile> [<ident>]` <br>
169    Print savegame information - leave out `<ident>` to list root files
170
171## Scripts
172
173The `arx-install-data` script can extract and install the game data under Linux and FreeBSD from the CD, demo, [GOG.com](http://www.gog.com/) installer or any Arx Fatalis install (such as on Steam) - simply run it and follow the GUI dialogs. Also see the [wiki page on installing the game data under Linux](http://wiki.arx-libertatis.org/Installing_the_game_data_under_Linux).
174
175Or, if you prefer a command-line interface, run it as
176
177    $ arx-install-data --cli
178
179More options and required tools (depending on the source file) are documented in the help output:
180
181    $ arx-install-data --help
182
183## Developer information
184
185To build developer documentation (doxygen), run this from the build directory:
186
187    $ make doc
188
189To check for coding style problems, run the following: (requires python)
190
191    $ make style
192