- C 97%
- Java 2.8%
- CMake 0.2%
| .github/workflows | ||
| android | ||
| first_party | ||
| ios | ||
| macos | ||
| src | ||
| third_party | ||
| .clang-format | ||
| .editorconfig | ||
| .gitattributes | ||
| .gitignore | ||
| CMakeLists.txt | ||
| CMakePresets.json | ||
| LICENSE.md | ||
| README.md | ||
Arcanum Community Edition
Important
This is a beta, technology preview, or whatever other label you have in mind for a pre-release software.
Status
The game is ready, but I haven't tested everything - just the speedrun - and that was about three months ago, so things might have changed since then.
Regarding the source code, about half of the modules (not half of the code) are in good shape. All APIs have meaningful names, along with brief documentation, annotations, and explanations (see skill.c and quest.c as examples). The other half may have cryptic names, little to no symbols , and no documentation at all (anim.c is extremely large and hard to understand).
Installation
You must own the game to play. Purchase your copy on GOG or Steam.
Minimum installation
```
.
├── arcanum1.dat
├── arcanum2.dat
├── arcanum3.dat
├── arcanum4.dat
├── modules
│ ├── Arcanum
│ │ ├── movies
│ │ │ ├── 00069.bik
│ │ │ ├── 01138.bik
│ │ │ ├── 02112.bik
│ │ │ ├── 50000.bik
│ │ │ ├── 51169.bik
│ │ │ ├── 91568.bik
│ │ │ ├── A0021.bik
│ │ │ ├── G0021.bik
│ │ │ └── movies.mes
│ │ └── sound
│ │ └── music
│ │ ├── Arcanum.mp3
│ │ ├── Caladon.mp3
│ │ ├── Caladon_Catacombs.mp3
│ │ ├── Cities.mp3
│ │ ├── Combat 1.mp3
│ │ ├── Combat 2.mp3
│ │ ├── Combat 3.mp3
│ │ ├── Combat 4.mp3
│ │ ├── Combat 5.mp3
│ │ ├── Combat 6.mp3
│ │ ├── CombatMusic.mp3
│ │ ├── Dungeons.mp3
│ │ ├── DwarvenMusic.mp3
│ │ ├── Interlude.mp3
│ │ ├── Isle_of_Despair.mp3
│ │ ├── Kerghan.mp3
│ │ ├── Mines.mp3
│ │ ├── Qintara.mp3
│ │ ├── Tarant.mp3
│ │ ├── Tarant_Sewers.mp3
│ │ ├── Towns.mp3
│ │ ├── Tulla.mp3
│ │ ├── Vendegoth.mp3
│ │ ├── Villages.mp3
│ │ ├── Void.mp3
│ │ └── Wilderness.mp3
│ ├── Arcanum.PATCH0
│ ├── Arcanum.dat
│ └── Vormantown.dat
└── tig.dat
```
Windows
Download and copy arcanum-ce.exe to your Arcanum folder. It serves as a drop-in replacement for arcanum.exe.
Linux
-
Use the Windows installation as a base - it contains the data assets needed to play. Copy the
Arcanumfolder somewhere, for example/home/john/Desktop/Arcanum. -
Alternatively, you can extract the required files from the GOG installer:
$ sudo apt install innoextract
$ innoextract ~/Downloads/setup_arcanum.exe -I app
$ mv app Arcanum
-
Download and copy
arcanum-ceto this folder. -
Run
./arcanum-ce.
macOS
Note
macOS 10.13 (High Sierra) or higher is required. Runs natively on Intel-based Macs and Apple Silicon.
-
Use the Windows installation as a base - it contains the data assets needed to play. Copy the
Arcanumfolder somewhere, for example/Applications/Arcanum. -
Alternatively, if you have Homebrew installed, you can extract the required files from the GOG installer:
$ brew install innoextract
$ innoextract ~/Downloads/setup_arcanum.exe -I app
$ mv app /Applications/Arcanum
-
Download and copy
Arcanum Community Edition.appto this folder. -
Run
Arcanum Community Edition.app.
Android & iOS
These ports are not currently intended for players. Touch controls are not yet implemented, and window management is subpar. No further instructions will be provided until these issues are resolved (but you can easily figure it out, it's not rocket science).
Building from source
Check ci-build.yml for details on how the project is compiled.
Configuration
Several configuration options are available as command-line switches (admittedly not very user-friendly):
-
-4637: Enable cheat level 3 -
-window: Run in windowed mode (default is fullscreen) -
-geometry=1280x720: Set window size (default is 800x600)
When HighRes/config.ini from the Unofficial Arcanum Patch is present in the game directory, Community Edition also imports Width, Height, Windowed, ShowFPS, ScrollFPS, ScrollDist, Logos, and Intro at startup.
Contributing
Play the game and file bugs if any (there are likely many). Attach a save game for investigation. Suggestions for quality of life improvements are also welcome. The major objective for 25H2 is to clarify remaining functions.
License
The source code is this repository is available under the Sustainable Use License.