{"id":13441479,"url":"https://github.com/arx/ArxLibertatis","last_synced_at":"2025-03-20T12:31:05.112Z","repository":{"id":1317051,"uuid":"1261922","full_name":"arx/ArxLibertatis","owner":"arx","description":"Cross-platform port of Arx Fatalis, a first-person role-playing game","archived":false,"fork":false,"pushed_at":"2024-08-22T17:58:15.000Z","size":49634,"stargazers_count":928,"open_issues_count":64,"forks_count":128,"subscribers_count":63,"default_branch":"master","last_synced_at":"2024-08-22T20:07:26.162Z","etag":null,"topics":["arx-fatalis","c-plus-plus","cmake","cross-platform","dungeon-crawler","game","game-engine-3d","immersive-sim","opengl","role-playing-game"],"latest_commit_sha":null,"homepage":"https://arx-libertatis.org/","language":"C++","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/arx.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":"CONTRIBUTING.md","funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":"AUTHORS","dei":null,"publiccode":null,"codemeta":null}},"created_at":"2011-01-17T00:53:08.000Z","updated_at":"2024-08-22T19:05:12.000Z","dependencies_parsed_at":"2023-01-13T11:45:17.622Z","dependency_job_id":"aa9f62e2-4409-4c8f-8e73-7875253addeb","html_url":"https://github.com/arx/ArxLibertatis","commit_stats":{"total_commits":20889,"total_committers":59,"mean_commits":354.0508474576271,"dds":0.4237637033845565,"last_synced_commit":"68571029637157ce0369d69a9447187137367d0a"},"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arx%2FArxLibertatis","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arx%2FArxLibertatis/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arx%2FArxLibertatis/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/arx%2FArxLibertatis/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/arx","download_url":"https://codeload.github.com/arx/ArxLibertatis/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":221760010,"owners_count":16876334,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arx-fatalis","c-plus-plus","cmake","cross-platform","dungeon-crawler","game","game-engine-3d","immersive-sim","opengl","role-playing-game"],"created_at":"2024-07-31T03:01:34.508Z","updated_at":"2025-03-20T12:31:05.098Z","avatar_url":"https://github.com/arx.png","language":"C++","funding_links":[],"categories":["C++","Legend","Ports and Programs","RPG","Native"],"sub_categories":["Arx Fatalis","Games","RPG"],"readme":"            _______________________\n           /\\                      \\\n           \\_|         Arx         |\n             |      Libertatis     |\n             |   __________________|__\n              \\_/____________________/\n\n\nCross-platform port of Arx Fatalis, a first-person role-playing game\n\nArx Libertatis is based on the publicly released [Arx Fatalis source code](https://web.archive.org/web/20180105233341/https://www.arkane-studios.com/uk/arx_downloads.php).\nThe source code is available under the GPLv3+ license with some additional terms - see the COPYING and LICENSE files for details.\n\n## Contact\n\nWebsite: [arx-libertatis.org](https://arx-libertatis.org/)\n\nBug Tracker: [bugs.arx-libertatis.org](https://bugs.arx-libertatis.org/)\n\nIRC: \\#arx on libera.chat\n\nWiki: [wiki.arx-libertatis.org](https://wiki.arx-libertatis.org/)\n\nReddit: [/r/ArxFatalis/](https://old.reddit.com/r/ArxFatalis/)\n\n## Dependencies\n\n* A **C++ 17** compiler (GCC 7+, Clang 5+, MSVC 19.15+ aka Visual Studio 2017 15.8+)\n* **[CMake](https://cmake.org/) 3.12**+ (compile-time only)\n* **[zlib](https://zlib.net/)**\n* **[Boost](https://www.boost.org/) 1.58**+ (headers only¹)\n* **[GLM](https://glm.g-truc.net/) 0.9.9.7**+\n* **[FreeType](https://freetype.org/) 2.3.0**+\n* **OpenAL 1.1**+ ([OpenAL Soft](https://openal-soft.org/) strongly recommended!)\n* **iconutil** (from Xcode) or **[icnsutil](https://github.com/pornel/libicns)** (macOS only)\n\n1. Systems without Win32 or POSIX filesystem support will also need the `filesystem` and `system` libraries from Boost.\n\n### Renderer\n\nThere is currently a single rendering backend for OpenGL:\n\n* **[SDL](https://libsdl.org/)** **1.2.10**+ *or* **2.0.0**+\n* **OpenGL 1.5**+ (OpenGL 2.1 or newer is recommended) *or* **OpenGL ES-CM 1.x**¹\n* **[libepoxy](https://github.com/anholt/libepoxy) 1.2**+ (recommended) *or* **[GLEW](http://glew.sourceforge.net/) 1.5.2**+\n\n1. OpenGL ES support requires libepoxy\n\n### Crash Reporter\n\nArx Libertatis comes with an optional gui crash reporter which has additional dependencies:\n\n* **[Qt](https://www.qt.io/) 4.7**+, **5** or **6** (`QtCore`, `QtConcurrent`¹, `QtGui` and `QtWidgets`¹ libraries)\n* **[libcurl](https://curl.haxx.se/libcurl/) 7.20.0**+ (not required on Windows)\n* **GDB** (Linux-only, optional, run-time only)\n* **DbgHelp** (Windows-only)\n\n1. Qt 5 only\n\nWhile 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.\n\n### Tests\n\nBuilding and running tests has additional dependencies:\n\n* **[CppUnit](https://freedesktop.org/wiki/Software/cppunit/)**\n\n### Git Build Dependencies\n\nBuilding checkouts from git on their own requires additional dependencies:\n* **[Inkscape](https://inkscape.org/)**\n* **[ImageMagick](https://imagemagick.org/)**\n* **[OptiPNG](http://optipng.sourceforge.net/)**\n\nThese 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.\n\nTo 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](https://github.com/arx/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).\n\nAlternatively, icons can be disabled by setting the `ICON_TYPE` CMake variable to `none`. See **OPTIONS.md** for other supported icon type values.\n\n## Compile and install\n\nFor Linux run:\n\n    $ mkdir build \u0026\u0026 cd build\n    $ cmake ..\n    $ make\n\nThe 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.\n\nTo install the binaries system-wide, run as root:\n\n    # make install\n\nAlternatively you can run the game by specifying the full path to the `arx` binary in the `build` directory.\n\nThe wiki has more detailed instructions on [compiling under Linux](https://wiki.arx-libertatis.org/Downloading_and_Compiling_under_Linux).\n\nGetting all the dependencies set up for Windows is more tricky. Pre-built dependencies are available in the [ArxWindows repository](https://github.com/arx/ArxWindows) and [instructions on how to use them](https://wiki.arx-libertatis.org/Downloading_and_Compiling_under_Windows) are available on the wiki.\n\n### Build options:\n\n* `BUILD_TOOLS` (default: `ON`): Build tools\n* `BUILD_TOOLS_MERGED` (default: `ON`): Merge tools into a single binary\n* `BUILD_IO_LIBRARY` (default: `ON`): Build helper library for the Blender plugin\n* `BUILD_CRASHHANDLER` (default: `ON`): Enable the built-in crash handler (default OFF for macOS)\n* `BUILD_CRASHREPORTER` (default: `ON`): Build the Qt crash reporter gui - requires `BUILD_CRASHHANDLER` (default OFF for macOS)\n* `BUILD_PROFILER` (default: `OFF`¹): Build the profiler GUI\n* `BUILD_TESTS` (default: `OFF`²): Build tests that can be run using `make check`\n* `BUILD_ALL` (default: `OFF`): Enable all the BUILD_* options above by default - they can still be disabled individually\n* `UNITY_BUILD` (default: `ON`): Unity build (faster build, better optimizations but no incremental build)\n* `CMAKE_BUILD_TYPE` (default: `Release`): Set to `Debug` for debug binaries\n* `DEBUG` (default: `OFF`³): Enable debug output and runtime checks\n* `DEBUG_GL` (default: `OFF`⁴): Enable OpenGL debug output by default\n* `DEBUG_EXTRA` (default: `OFF`): Expensive debug options\n* `RUN_TESTS` (default: `OFF`⁵): Automatically run tests\n* `RUN_TARGET` (default: (none): Wrapper to run binaries produced in the build process\n* `DEVELOPER` (default: `OFF`): Enable build options suitable for developers⁶\n* `BUILD_PROFILER_INSTRUMENT` (default: `OFF`): Add profiling instructions to the main arx binary\n\n1. Enabled automatically if `BUILD_ALL` or `BUILD_PROFILER_INSTRUMENT` is enabled\n2. Enabled automatically if `BUILD_ALL` or `DEVELOPER` is enabled\n3. Enabled automatically if `CMAKE_BUILD_TYPE` is set to `Debug` or if `DEVELOPER` is enabled.\n4. Enabled automatically if `DEBUG` is enabled. If disabled, OpenGL debug output can be enabled at run-time using the `--debug-gl` command-line option.\n5. Enabled automatically if `DEVELOPER` is enabled unless cross-compiling without `RUN_TARGET` set\n6. 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.\n\nInstall options:\n\n* `CMAKE_INSTALL_PREFIX` (default: `/usr/local` on UNIX and `C:/Program Files` on Windows): Where to install Arx Libertatis\n\nSet options by passing `-D\u003coption\u003e=\u003cvalue\u003e` to `cmake`.\n\nBackends that are not available are disabled by default. The `cmake` run should display a summary of the enabled backends at the end.\n\nAdvanced options not listed here are documented in **OPTIONS.md**.\n\n## Data file, config and savegame locations\n\nYou will need to [get either the full game or demo data of Arx Fatalis](https://arx.vg/data).\n\nWhere 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](https://arx.vg/paths).\n\n**For Unix-like systems**:\nThe 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.\n\nTo print all directories searched by arx, run\n\n    $ arx --list-dirs\n\nBy default, user, config and data files will be loaded from and saved to standard system locations depending on the OS:\n\n**Windows**:\n* user and config dir:\u003cbr\u003e\n*XP*: `%USERPROFILE%\\My Documents\\My Games\\Arx Libertatis`\u003cbr\u003e\n*Vista* and up: `%USERPROFILE%\\Saved Games\\Arx Libertatis`\n* data dir: location stored in `HKCU\\Software\\ArxLibertatis\\DataDir` or `HKLM\\Software\\ArxLibertatis\\DataDir` registry keys\n\n**macOS**:\n* user and config dir: `~/Library/Application Support/ArxLibertatis/`\n* data dir: `/Applications/ArxLibertatis/`\n\n**Linux** and others:\n* user dir: `~/.local/share/arx/`\n* config dir: `~/.config/arx/`\n* data dir: `/usr/share/games/arx/`, `/usr/local/share/games/arx/` and more\n\nArx will also try to load data files from the directory containing the game executable.\n\nTo use the current working directory for user, config and data files (e.g. for a portable install) run the game as\n\n    $ arx --no-data-dir --user-dir=. --config-dir=.\n\n## Run\n\nProvided the data files are installed at the correct location, you can simply play the game using the installed shortcut or by running\n\n    $ arx\n\nSee the `arx --help` and `man arx` output for more details.\n\n## Tools\n\n* `arxunpak [options] \u003cpakfile\u003e [\u003cpakfile\u003e...]` \u003cbr\u003e\n  Extracts Arx Fatalis .pak files containing the game assets. \u003cbr\u003e\n  See the `arxunpak --help` and `man arxunpak` output for more details.\n\n* `arxunpak [options] [--all]` \u003cbr\u003e\n  Extracts all game assets. \u003cbr\u003e\n  See the `arxunpak --help` and `man arxunpak` output for more details.\n\n* `arxsavetool \u003ccommand\u003e \u003csavefile\u003e [\u003coptions\u003e...]` - commands are:\n  * `extract \u003csavefile\u003e` \u003cbr\u003e\n    Extract the contents of the given savefile to the current directory\n  * `add \u003csavefile\u003e [\u003cfiles\u003e...]` \u003cbr\u003e\n    Add files to a savefile, create it if needed\n  * `fix \u003csavefile\u003e` \u003cbr\u003e\n    Fix savegame issues created by previous builds of Arx Libertatis\n  * `view \u003csavefile\u003e [\u003cident\u003e]` \u003cbr\u003e\n    Print savegame information - leave out `\u003cident\u003e` to list root files\n\n## Scripts\n\nThe `arx-install-data` script can extract and install the game data under Linux and FreeBSD from the CD, demo, [GOG.com](https://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 non-Windows systems](https://arx.vg/install-data).\n\nOr, if you prefer a command-line interface, run it as\n\n    $ arx-install-data --cli\n\nMore options and required tools (depending on the source file) are documented in the help output:\n\n    $ arx-install-data --help\n\n## Developer information\n\nNew contributors should first read the CONTRIBUTING.md file.\n\nTo build developer documentation (doxygen), run this from the build directory:\n\n    $ make doc\n\nTo check for coding style problems, run the following: (requires python)\n\n    $ make style\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farx%2FArxLibertatis","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Farx%2FArxLibertatis","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Farx%2FArxLibertatis/lists"}