diff --git a/README.md b/README.md
index 96e77781b..9219b4062 100644
--- a/README.md
+++ b/README.md
@@ -18,7 +18,7 @@
*(The health-bar, and XP-bar are off by default, but can be enabled in the [ini-file](https://github.com/diasurgical/devilutionX/wiki/DevilutionX-diablo.ini-configuration-guide). Widescreen and transparency can also be disabled if preferred)*
-# How To Play:
+# How To Install:
- Download [the latest DevilutionX release](https://github.com/diasurgical/devilutionX/releases), or build from source
- Copy diabdat.mpq from your CD or GoG installation (or [extract it from the GoG installer](https://github.com/diasurgical/devilutionX/wiki/Extracting-the-DIABDAT.MPQ-from-the-GoG-installer)) to the DevilutionX install folder or data folder. The DevilutionX install folder is the one that contains the DevilutionX executable. The data folder path may differ depending on OS version and security settings, but will normally be as follows:
- macOS `~/Library/Application Support/diasurgical/devilution`
@@ -28,7 +28,7 @@
- Ubuntu/Debian/Rasbian `sudo apt-get install libsdl2-ttf-2.0-0 libsdl2-mixer-2.0-0`
- Run `./devilutionx`
-# Distro installation
+## Installig on Ubuntu via PPA
- Installing and playing on **Ubuntu**
- Add [DevilutionX stable](https://launchpad.net/~devilutionx/+archive/ubuntu/stable) or [DevilutionX git](https://launchpad.net/~devilutionx/+archive/ubuntu/dev) PPA repository
@@ -50,338 +50,8 @@
- Run **DevilutionX** or **DevilutionX Hellfire** from menu to start game
# Building from Source
-Linux
-
-### Installing dependencies on Debian and Ubuntu
-```
-sudo apt-get install cmake g++ libsdl2-mixer-dev libsdl2-ttf-dev libsodium-dev
-```
-### Installing dependencies on Fedora
-```
-sudo dnf install cmake glibc-devel SDL2-devel SDL2_ttf-devel SDL2_mixer-devel libsodium-devel libasan libubsan
-```
-### Compiling
-```
-cd build
-cmake ..
-make -j$(nproc)
-```
-
-
-macOS
-
-Make sure you have [Homebrew](https://brew.sh/) installed, then run:
-
-```
-brew bundle install
-cd build
-cmake ..
-cmake --build . -j $(sysctl -n hw.physicalcpu)
-```
-
-FreeBSD
-
-### Installing dependencies
-```
-pkg install cmake sdl2_mixer sdl2_ttf libsodium
-```
-### Compiling
-```
-cd build
-cmake ..
-cmake --build . -j $(sysctl -n hw.ncpu)
-```
-
-NetBSD
-
-### Installing dependencies
-```
-pkgin install cmake SDL2_mixer SDL2_ttf libsodium
-```
-### Compiling
-```
-cd build
-cmake ..
-cmake --build . -j $(sysctl -n hw.ncpu)
-```
-
-
-OpenBSD
-
-### Installing dependencies
-```
-pkg_add cmake sdl2-mixer sdl2-ttf libsodium gmake
-```
-### Compiling
-```
-cd build
-cmake -DCMAKE_MAKE_PROGRAM=gmake ..
-cmake --build . -j $(sysctl -n hw.ncpuonline)
-```
-
-
-Windows via MinGW
-
-### Installing dependencies on WSL, Debian and Ubuntu
-
-### 32-bit
-
-Download and place the 32bit MinGW Development Libraries of [SDL2](https://www.libsdl.org/download-2.0.php), [SDL2_mixer](https://www.libsdl.org/projects/SDL_mixer/), [SDL2_ttf](https://www.libsdl.org/projects/SDL_ttf/) and [Libsodium](https://github.com/jedisct1/libsodium/releases) in `/usr/i686-w64-mingw32`. This can be done automatically by running `Packaging/windows/mingw-prep.sh`.
-
-```
-sudo apt-get install cmake gcc-mingw-w64-i686 g++-mingw-w64-i686
-```
-
-### 64-bit
-
-Download and place the 64bit MinGW Development Libraries of [SDL2](https://www.libsdl.org/download-2.0.php), [SDL2_mixer](https://www.libsdl.org/projects/SDL_mixer/), [SDL2_ttf](https://www.libsdl.org/projects/SDL_ttf/) and [Libsodium](https://github.com/jedisct1/libsodium/releases) in `/usr/x86_64-w64-mingw32`. This can be done automatically by running `Packaging/windows/mingw-prep64.sh`.
-
-```
-sudo apt-get install cmake gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64
-```
-### Compiling
-
-### 32-bit
-
-```
-cd build
-cmake -DCMAKE_TOOLCHAIN_FILE=../CMake/mingwcc.cmake ..
-make -j$(nproc)
-```
-
-### 64-bit
-
-```
-cd build
-cmake -DCMAKE_TOOLCHAIN_FILE=../CMake/mingwcc64.cmake ..
-make -j$(nproc)
-```
-
-Windows via Visual Studio
-
-### Installing dependencies
-Make sure to install the `C++ CMake tools for Windows` component for Visual Studio.
-
-* **Using vcpkg (recommended)**
-1. Install vcpkg following the instructions from https://github.com/microsoft/vcpkg#quick-start.
-
- Don't forget to perform _user-wide integration_ step for additional convenience.
-2. Install required dependencies by executing the following command (via cmd or powershell):
-
- For the 64-bit version of the dependencies please run this command:
-
- ```
- vcpkg install sdl2:x64-windows sdl2-mixer:x64-windows sdl2-ttf:x64-windows libsodium:x64-windows
- ```
-
- For the 32-bit version of the dependencies please run this command:
-
- ```
- vcpkg install sdl2:x86-windows sdl2-mixer:x86-windows sdl2-ttf:x86-windows libsodium:x86-windows
- ```
-
-* **Manually**
-1. Download and place the MSVC Development Libraries of [SDL2](https://www.libsdl.org/download-2.0.php), [SDL2_mixer](https://www.libsdl.org/projects/SDL_mixer/), [SDL2_ttf](https://www.libsdl.org/projects/SDL_ttf/) and [Libsodium](https://github.com/jedisct1/libsodium/releases) in `%USERPROFILE%\AppData\Local\Microsoft\WindowsApps\`.
-2. If dependencies are not found or you wish to place them in other location - configure required path variables in _"Manage Configurations..."_ dialog inside Visual Studio or in _cmake-gui_.
-
-### Compiling
-
-* **Through Open->CMake in Visual Studio**
-1. Go to `File -> Open -> CMake`, select `CMakeLists.txt` from the project root.
-2. Select `Build devilution.exe` from the `Build` menu.
-
-* **Through cmake-gui**
-
-1. Input the path to devilutionx source directory at `Where is the source code:` field.
-2. Input the path where the binaries would be placed at `Where to build the binaries:` field. If you want to place them inside source directory it's preferable to do so inside directory called `build` to avoid the binaries being added to the source tree.
-3. It's recommended to input `Win32` in `Optional Platform for Generator`, otherwise it will default to x64 build.
-4. In case you're using `vcpkg` select `Specify toolchain file for cross-compiling` and select the file `scripts/buildsystems/vcpkg.cmake` from `vcpkg` directory otherwise just go with `Use default native compilers`.
-5. In case you need to select any paths to dependencies manually do this right in cmake-gui window.
-6. Press `Generate` and open produced `.sln` file using Visual Studio.
-7. Use build/debug etc. commands inside Visual Studio Solution like with any normal Visual Studio project.
-
-
-Nintendo Switch
-Run:
-
-```
-Packaging/switch/build.sh
-```
-
-This will install the [Switch devkit](https://switchbrew.org/wiki/Setting_up_Development_Environment) and build a DevilutionX Switch package. If you already have the devkit installed, or are on a non-Debian system, pass the the devkit path to the script like this:
-
-```
-DEVKITPRO= Packaging/switch/build.sh
-```
-
-The nro-file will be generated in the build folder. Test with an emulator (RyuJinx) or real hardware.
-
-[Nintendo Switch manual](docs/manual/platforms/switch.md)
-
-
-Nintendo 3DS
-
-### Installing dependencies
-
-https://devkitpro.org/wiki/Getting_Started
-
-
-- Install (dkp-)pacman: https://devkitpro.org/wiki/devkitPro_pacman
-
-- Install required packages with (dkp-)pacman:
-```
-sudo (dkp-)pacman -S devkitARM general-tools 3dstools devkitpro-pkgbuild-helpers \
- libctru citro3d 3ds-sdl 3ds-sdl_ttf 3ds-sdl_mixer \
- 3ds-freetype 3ds-libogg 3ds-libvorbisidec 3ds-mikmod
-```
-- Download or compile [bannertool](https://github.com/Steveice10/bannertool/releases) and [makerom](https://github.com/jakcron/Project_CTR/releases)
- - Copy binaries to: `/opt/devkitpro/tools/bin/`
-### Compiling
-```
-cd build
-cmake .. -DNIGHTLY_BUILD=ON -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/3ds.cmake
-make -j$(nproc)
-```
-The output-files will be generated in the build folder.
-
-[Nintendo 3DS manual](docs/manual/platforms/n3ds.md)
-
-
-PlayStation Vita
-
-### Compiling
-```
-cd build
-cmake -DCMAKE_TOOLCHAIN_FILE=${VITASDK}/share/vita.toolchain.cmake -DCMAKE_BUILD_TYPE=Release ..
-make
-```
-[PlayStation Vita manual](docs/manual/platforms/vita.md)
-
-
-
-Haiku
-
-### Installing dependencies on 32 bit Haiku
-```
-pkgman install cmake_x86 devel:libsdl2_x86 devel:libsdl2_mixer_x86 devel:libsdl2_ttf_x86 devel:libsodium_x86
-```
-### Installing dependencies on 64 bit Haiku
-```
-pkgman install cmake devel:libsdl2 devel:libsdl2_mixer devel:libsdl2_ttf devel:libsodium
-```
-### Compiling on 32 bit Haiku
-```
-cd build
-setarch x86 #Switch to secondary compiler toolchain (GCC8+)
-cmake ..
-cmake --build . -j $(nproc)
-```
-### Compiling on 64 bit Haiku
-No setarch required, as there is no secondary toolchain on x86_64, and the primary is GCC8+
-```
-cd build
-cmake ..
-cmake --build . -j $(nproc)
-```
-
-
-OpenDingux / RetroFW
-
-DevilutionX uses buildroot to build packages for OpenDingux and RetroFW.
-
-The build script does the following:
-
-1. Downloads and configures the buildroot if necessary.
-2. Builds the executable (using CMake).
-3. Packages the executable and all related resources into an `.ipk` or `.opk` package.
-
-The buildroot uses ~2.5 GiB of disk space and can take 20 minutes to build.
-
-For OpenDingux builds `mksquashfs` needs to be installed.
-
-To build, run the following command
-
-~~~ bash
-Packaging/OpenDingux/build.sh
-~~~
-
-Replace `` with one of: `retrofw`, `rg350`, or `gkd350h`.
-
-This prepares and uses the buildroot at `$HOME/buildroot-$PLATFORM-devilutionx`.
-
-End-user manuals are available here:
-
-* [RetroFW manual](docs/manual/platforms/retrofw.md)
-* [RG-350 manual](docs/manual/platforms/rg350.md)
-* [GKD350h manual](docs/manual/platforms/gkd350h.md)
-
-
-
-Clockwork PI GameShell
-
-You can either call
-~~~ bash
-Packaging/cpi-gamesh/build.sh
-~~~
-to install dependencies and build the code.
-
-Or you create a new directory under `/home/cpi/apps/Menu` and copy [the file](Packaging/cpi-gamesh/__init__.py) there. After restarting the UI, you can download and compile the game directly from the device itself. See [the readme](Packaging/cpi-gamesh/readme.md) for more details.
-
-
-Amiga via Docker
-
-### Build the container from the repo root
-
-~~~ bash
-docker build -f Packaging/amiga/Dockerfile -t devilutionx-amiga .
-~~~
-
-### Build DevilutionX Amiga binary
-
-~~~ bash
-docker run --rm -v "${PWD}:/work" devilutionx-amiga
-sudo chown "${USER}:" build-amiga/*
-~~~
-
-The command above builds DevilutionX in release mode.
-For other build options, you can run the container interactively:
-
-~~~ bash
-docker run -ti --rm -v "${PWD}:/work" devilutionx-amiga bash
-~~~
-
-See the `CMD` in `Packaging/amiga/Dockerfile` for reference.
-
-### Copy the necessary files
-
-Outside of the Docker container, from the DevilutionX directory, run:
-
-~~~ bash
-cp Packaging/amiga/devilutionx.info Packaging/amiga/LiberationSerif-Bold.ttf build-amiga/
-sudo chown "${USER}:" build-amiga/*
-~~~
-
-To actually start DevilutionX, increase the stack size to 50KiB in Amiga.
-You can do this by selecting the DevilutionX icon, then hold right mouse button and
-select Icons -> Information in the top menu.
-
-
-CMake build options
-
-### General
-- `-DBINARY_RELEASE=ON` changed build type to release and optimize for distribution.
-- `-DNONET=ON` disable network support, this also removes the need for the ASIO and Sodium.
-- `-DUSE_SDL1=ON` build for SDL v1 instead of v2, not all features are supported under SDL v1, notably upscaling.
-- `-DCMAKE_TOOLCHAIN_FILE=../CMake/32bit.cmake` generate 32bit builds on 64bit platforms (remember to use the `linux32` command if on Linux).
-- `-DCROSS_PREFIX=/path/to/prefix` set the path to the `i686-w64-mingw32` directory.
-
-### Debug builds
-- `-DDEBUG=OFF` disable debug mode of the Diablo engine.
-- `-DASAN=OFF` disable address sanitizer.
-- `-DUBSAN=OFF` disable undefined behavior sanitizer.
-
-
+Want to compile the program by yourself, grate! Simply follow the [build instructions](./docs/building.md);
# Multiplayer
- TCP/IP only requires the host to expose port 6112
@@ -431,6 +101,9 @@ No, you'll need access to the data from the original game. If you don't have an
> What game changes does DevilutionX provide
DevilutionX's main focus is to make the game work on multiple platforms. An additional goal is to make the engine mod friendly. As such, there are no changes to gameplay, but we will be making some enhancments to the engine itself. For example, the engine now has upscaling, unlocked fps, controller support, and multiplayer via TCP.
+
+For a full list of changes see our [changelog](docs/CHANGELOG.md).
+
> Is 1080p supported?
Yes, the game will automatically adjust to your screen. This can be further adjusted in the game ini file.
@@ -448,9 +121,6 @@ Battle.net is a service provided by Blizzard. We are not associated with them, s
- [Nikolay Popov](https://www.instagram.com/nikolaypopovz/) who provided new backgrounds and icons.
- And a thanks to all who support the project, report bugs and help spread the word <3
-# Changelog
-[From the beginning until release](docs/CHANGELOG.md)
-
# Legal
DevilutionX is released to the Public Domain. The documentation and functionality provided by DevilutionX may only be utilized with assets provided by ownership of Diablo.
diff --git a/docs/building.md b/docs/building.md
new file mode 100644
index 000000000..c01397c4f
--- /dev/null
+++ b/docs/building.md
@@ -0,0 +1,333 @@
+# Building from Source
+Linux
+
+### Installing dependencies on Debian and Ubuntu
+```
+sudo apt-get install cmake g++ libsdl2-mixer-dev libsdl2-ttf-dev libsodium-dev
+```
+### Installing dependencies on Fedora
+```
+sudo dnf install cmake glibc-devel SDL2-devel SDL2_ttf-devel SDL2_mixer-devel libsodium-devel libasan libubsan
+```
+### Compiling
+```
+cd build
+cmake ..
+make -j$(nproc)
+```
+
+
+macOS
+
+Make sure you have [Homebrew](https://brew.sh/) installed, then run:
+
+```
+brew bundle install
+cd build
+cmake ..
+cmake --build . -j $(sysctl -n hw.physicalcpu)
+```
+
+FreeBSD
+
+### Installing dependencies
+```
+pkg install cmake sdl2_mixer sdl2_ttf libsodium
+```
+### Compiling
+```
+cd build
+cmake ..
+cmake --build . -j $(sysctl -n hw.ncpu)
+```
+
+NetBSD
+
+### Installing dependencies
+```
+pkgin install cmake SDL2_mixer SDL2_ttf libsodium
+```
+### Compiling
+```
+cd build
+cmake ..
+cmake --build . -j $(sysctl -n hw.ncpu)
+```
+
+
+OpenBSD
+
+### Installing dependencies
+```
+pkg_add cmake sdl2-mixer sdl2-ttf libsodium gmake
+```
+### Compiling
+```
+cd build
+cmake -DCMAKE_MAKE_PROGRAM=gmake ..
+cmake --build . -j $(sysctl -n hw.ncpuonline)
+```
+
+
+Windows via MinGW
+
+### Installing dependencies on WSL, Debian and Ubuntu
+
+### 32-bit
+
+Download and place the 32bit MinGW Development Libraries of [SDL2](https://www.libsdl.org/download-2.0.php), [SDL2_mixer](https://www.libsdl.org/projects/SDL_mixer/), [SDL2_ttf](https://www.libsdl.org/projects/SDL_ttf/) and [Libsodium](https://github.com/jedisct1/libsodium/releases) in `/usr/i686-w64-mingw32`. This can be done automatically by running `Packaging/windows/mingw-prep.sh`.
+
+```
+sudo apt-get install cmake gcc-mingw-w64-i686 g++-mingw-w64-i686
+```
+
+### 64-bit
+
+Download and place the 64bit MinGW Development Libraries of [SDL2](https://www.libsdl.org/download-2.0.php), [SDL2_mixer](https://www.libsdl.org/projects/SDL_mixer/), [SDL2_ttf](https://www.libsdl.org/projects/SDL_ttf/) and [Libsodium](https://github.com/jedisct1/libsodium/releases) in `/usr/x86_64-w64-mingw32`. This can be done automatically by running `Packaging/windows/mingw-prep64.sh`.
+
+```
+sudo apt-get install cmake gcc-mingw-w64-x86-64 g++-mingw-w64-x86-64
+```
+### Compiling
+
+### 32-bit
+
+```
+cd build
+cmake -DCMAKE_TOOLCHAIN_FILE=../CMake/mingwcc.cmake ..
+make -j$(nproc)
+```
+
+### 64-bit
+
+```
+cd build
+cmake -DCMAKE_TOOLCHAIN_FILE=../CMake/mingwcc64.cmake ..
+make -j$(nproc)
+```
+
+Windows via Visual Studio
+
+### Installing dependencies
+Make sure to install the `C++ CMake tools for Windows` component for Visual Studio.
+
+* **Using vcpkg (recommended)**
+1. Install vcpkg following the instructions from https://github.com/microsoft/vcpkg#quick-start.
+
+ Don't forget to perform _user-wide integration_ step for additional convenience.
+2. Install required dependencies by executing the following command (via cmd or powershell):
+
+ For the 64-bit version of the dependencies please run this command:
+
+ ```
+ vcpkg install sdl2:x64-windows sdl2-mixer:x64-windows sdl2-ttf:x64-windows libsodium:x64-windows
+ ```
+
+ For the 32-bit version of the dependencies please run this command:
+
+ ```
+ vcpkg install sdl2:x86-windows sdl2-mixer:x86-windows sdl2-ttf:x86-windows libsodium:x86-windows
+ ```
+
+* **Manually**
+1. Download and place the MSVC Development Libraries of [SDL2](https://www.libsdl.org/download-2.0.php), [SDL2_mixer](https://www.libsdl.org/projects/SDL_mixer/), [SDL2_ttf](https://www.libsdl.org/projects/SDL_ttf/) and [Libsodium](https://github.com/jedisct1/libsodium/releases) in `%USERPROFILE%\AppData\Local\Microsoft\WindowsApps\`.
+2. If dependencies are not found or you wish to place them in other location - configure required path variables in _"Manage Configurations..."_ dialog inside Visual Studio or in _cmake-gui_.
+
+### Compiling
+
+* **Through Open->CMake in Visual Studio**
+1. Go to `File -> Open -> CMake`, select `CMakeLists.txt` from the project root.
+2. Select `Build devilution.exe` from the `Build` menu.
+
+* **Through cmake-gui**
+
+1. Input the path to devilutionx source directory at `Where is the source code:` field.
+2. Input the path where the binaries would be placed at `Where to build the binaries:` field. If you want to place them inside source directory it's preferable to do so inside directory called `build` to avoid the binaries being added to the source tree.
+3. It's recommended to input `Win32` in `Optional Platform for Generator`, otherwise it will default to x64 build.
+4. In case you're using `vcpkg` select `Specify toolchain file for cross-compiling` and select the file `scripts/buildsystems/vcpkg.cmake` from `vcpkg` directory otherwise just go with `Use default native compilers`.
+5. In case you need to select any paths to dependencies manually do this right in cmake-gui window.
+6. Press `Generate` and open produced `.sln` file using Visual Studio.
+7. Use build/debug etc. commands inside Visual Studio Solution like with any normal Visual Studio project.
+
+
+Nintendo Switch
+Run:
+
+```
+Packaging/switch/build.sh
+```
+
+This will install the [Switch devkit](https://switchbrew.org/wiki/Setting_up_Development_Environment) and build a DevilutionX Switch package. If you already have the devkit installed, or are on a non-Debian system, pass the the devkit path to the script like this:
+
+```
+DEVKITPRO= Packaging/switch/build.sh
+```
+
+The nro-file will be generated in the build folder. Test with an emulator (RyuJinx) or real hardware.
+
+[Nintendo Switch manual](docs/manual/platforms/switch.md)
+
+
+Nintendo 3DS
+
+### Installing dependencies
+
+https://devkitpro.org/wiki/Getting_Started
+
+
+- Install (dkp-)pacman: https://devkitpro.org/wiki/devkitPro_pacman
+
+- Install required packages with (dkp-)pacman:
+```
+sudo (dkp-)pacman -S devkitARM general-tools 3dstools devkitpro-pkgbuild-helpers \
+ libctru citro3d 3ds-sdl 3ds-sdl_ttf 3ds-sdl_mixer \
+ 3ds-freetype 3ds-libogg 3ds-libvorbisidec 3ds-mikmod
+```
+- Download or compile [bannertool](https://github.com/Steveice10/bannertool/releases) and [makerom](https://github.com/jakcron/Project_CTR/releases)
+ - Copy binaries to: `/opt/devkitpro/tools/bin/`
+
+### Compiling
+```
+cd build
+cmake .. -DNIGHTLY_BUILD=ON -DCMAKE_TOOLCHAIN_FILE=/opt/devkitpro/3ds.cmake
+make -j$(nproc)
+```
+The output-files will be generated in the build folder.
+
+[Nintendo 3DS manual](docs/manual/platforms/n3ds.md)
+
+
+PlayStation Vita
+
+### Compiling
+```
+cd build
+cmake -DCMAKE_TOOLCHAIN_FILE=${VITASDK}/share/vita.toolchain.cmake -DCMAKE_BUILD_TYPE=Release ..
+make
+```
+[PlayStation Vita manual](docs/manual/platforms/vita.md)
+
+
+
+Haiku
+
+### Installing dependencies on 32 bit Haiku
+```
+pkgman install cmake_x86 devel:libsdl2_x86 devel:libsdl2_mixer_x86 devel:libsdl2_ttf_x86 devel:libsodium_x86
+```
+### Installing dependencies on 64 bit Haiku
+```
+pkgman install cmake devel:libsdl2 devel:libsdl2_mixer devel:libsdl2_ttf devel:libsodium
+```
+### Compiling on 32 bit Haiku
+```
+cd build
+setarch x86 #Switch to secondary compiler toolchain (GCC8+)
+cmake ..
+cmake --build . -j $(nproc)
+```
+### Compiling on 64 bit Haiku
+No setarch required, as there is no secondary toolchain on x86_64, and the primary is GCC8+
+```
+cd build
+cmake ..
+cmake --build . -j $(nproc)
+```
+
+
+OpenDingux / RetroFW
+
+DevilutionX uses buildroot to build packages for OpenDingux and RetroFW.
+
+The build script does the following:
+
+1. Downloads and configures the buildroot if necessary.
+2. Builds the executable (using CMake).
+3. Packages the executable and all related resources into an `.ipk` or `.opk` package.
+
+The buildroot uses ~2.5 GiB of disk space and can take 20 minutes to build.
+
+For OpenDingux builds `mksquashfs` needs to be installed.
+
+To build, run the following command
+
+~~~ bash
+Packaging/OpenDingux/build.sh
+~~~
+
+Replace `` with one of: `retrofw`, `rg350`, or `gkd350h`.
+
+This prepares and uses the buildroot at `$HOME/buildroot-$PLATFORM-devilutionx`.
+
+End-user manuals are available here:
+
+* [RetroFW manual](docs/manual/platforms/retrofw.md)
+* [RG-350 manual](docs/manual/platforms/rg350.md)
+* [GKD350h manual](docs/manual/platforms/gkd350h.md)
+
+
+
+Clockwork PI GameShell
+
+You can either call
+~~~ bash
+Packaging/cpi-gamesh/build.sh
+~~~
+to install dependencies and build the code.
+
+Or you create a new directory under `/home/cpi/apps/Menu` and copy [the file](Packaging/cpi-gamesh/__init__.py) there. After restarting the UI, you can download and compile the game directly from the device itself. See [the readme](Packaging/cpi-gamesh/readme.md) for more details.
+
+
+Amiga via Docker
+
+### Build the container from the repo root
+
+~~~ bash
+docker build -f Packaging/amiga/Dockerfile -t devilutionx-amiga .
+~~~
+
+### Build DevilutionX Amiga binary
+
+~~~ bash
+docker run --rm -v "${PWD}:/work" devilutionx-amiga
+sudo chown "${USER}:" build-amiga/*
+~~~
+
+The command above builds DevilutionX in release mode.
+For other build options, you can run the container interactively:
+
+~~~ bash
+docker run -ti --rm -v "${PWD}:/work" devilutionx-amiga bash
+~~~
+
+See the `CMD` in `Packaging/amiga/Dockerfile` for reference.
+
+### Copy the necessary files
+
+Outside of the Docker container, from the DevilutionX directory, run:
+
+~~~ bash
+cp Packaging/amiga/devilutionx.info Packaging/amiga/LiberationSerif-Bold.ttf build-amiga/
+sudo chown "${USER}:" build-amiga/*
+~~~
+
+To actually start DevilutionX, increase the stack size to 50KiB in Amiga.
+You can do this by selecting the DevilutionX icon, then hold right mouse button and
+select Icons -> Information in the top menu.
+
+
+CMake build options
+
+### General
+- `-DBINARY_RELEASE=ON` changed build type to release and optimize for distribution.
+- `-DNONET=ON` disable network support, this also removes the need for the ASIO and Sodium.
+- `-DUSE_SDL1=ON` build for SDL v1 instead of v2, not all features are supported under SDL v1, notably upscaling.
+- `-DCMAKE_TOOLCHAIN_FILE=../CMake/32bit.cmake` generate 32bit builds on 64bit platforms (remember to use the `linux32` command if on Linux).
+- `-DCROSS_PREFIX=/path/to/prefix` set the path to the `i686-w64-mingw32` directory.
+
+### Debug builds
+- `-DDEBUG=OFF` disable debug mode of the Diablo engine.
+- `-DASAN=OFF` disable address sanitizer.
+- `-DUBSAN=OFF` disable undefined behavior sanitizer.
+
+