Migrate to libmpq

libmpq is a much simpler alternative to StormLib for reading MPQ archives.

We use our own fork of libmpq: https://github.com/diasurgical/libmpq

Impact:

* DevilutionX is now a lot more portable. Unlike StormLib, libmpq only
  needs platform-specific code for Windows.
* Locks around file access **removed** (instead we duplicate the file descriptor for streamed audio only).
* RAM usage is **300 KiB** lower than StormLib.
* Stripped release linux_x86_64 binary is **32 KiB** smaller.
* Amiga build now hangs instead of crashing.
This commit is contained in:
Gleb Mazovetskiy 2021-10-23 11:19:49 +01:00
commit 3d308983a8
64 changed files with 1230 additions and 1074 deletions

View file

@ -3,6 +3,7 @@ set(ASAN OFF)
set(UBSAN OFF)
set(DEVILUTIONX_SYSTEM_LIBSODIUM OFF)
set(DEVILUTIONX_SYSTEM_LIBPNG OFF)
set(DEVILUTIONX_SYSTEM_BZIP2 OFF)
set(VIRTUAL_GAMEPAD ON)
if(BINARY_RELEASE OR CMAKE_BUILD_TYPE STREQUAL "Release")