Commit Graph

32 Commits

Author SHA1 Message Date
Andrettin d7404c070c Simplified ParseMonsterId() by using the magic_enum library 2025-08-13 00:43:44 +02:00
Oleksandr Kalko b821b5ebe5 General upgrades
* Upgrade SDL2 to 2.32.8
* Upgrade VCPKG commit which upgrades some dependencies
* Upgrade Gradle and Gradle plugin
2025-07-20 15:27:43 +01:00
Oleksandr Kalko a644342370 Actualize version in vcpkg
We're not on 1.4.0 anymore :)
2025-04-25 23:23:07 +02:00
Oleksandr Kalko 3d7a8e8f48 Upgrade SDL2 to 2.23.4
Upgrade includes build-from source, Android and VCPKG
2025-04-03 12:26:35 +02:00
Oleksandr Kalko 7a2f226f69 Upgrade vcpkg baseline commit
This upgrades the following MSVC dependencies:

* Google Benchmark to 1.9.2
* SDL2 to 2.32.2
* SDL2-image to 2.8.8
2025-03-31 14:06:50 +02:00
Oleksandr Kalko 0c38179808 Upgrade VCPKG commit for SDL2 2.32.0
This catches up SDL version for MSVC
2025-02-21 14:22:16 +01:00
Oleksandr Kalko d7e2288964 Upgrade SDL2 for MSVC 2025-02-08 17:35:41 +01:00
Oleksandr Kalko 9a9a9c195e Upgrade vcpkg baseline commit 2024-12-28 14:38:49 +01:00
Oleksandr Kalko b50949a8d1 Upgrade vcpkg baseline commit 2024-11-10 16:44:29 +00:00
Gleb Mazovetskiy b8ab6d2faa Migrate from SimpleIni to our own implementation
Our implementation has a more modern interface and only
supports the features that we care about.

It always outputs `\n` as newlines and does not output BOM.

The modern interface eliminates awkward `c_str()/data()` conversions.

This implementation preserves comments and the file order of sections
and keys. New keys are written in insertion order.

We now also support modifying and adding default comments,
which may be a useful thing to do for the especially tricky
ini options (this PR doesn't add any but adds the ability to do so).

Sadly, this increases the RG99 binary size by 24 KiB.
I'm guessing this is because the map implementation generates
quite a bit of code.

Note that while it might seem that using `std::string` for every key and
value would do a lot of allocations, most of these strings are
small and thus benefit from Small String Optimization (= no allocations).
2024-11-05 10:12:24 +00:00
Oleksandr Kalko b6dee54cc1 Upgrade SDL to 2.30.7 2024-09-13 21:15:58 +02:00
Gleb Mazovetskiy 4aa9d37f0f Add google-benchmark 2024-08-07 02:01:23 +01:00
Gleb Mazovetskiy d415c44cd0 Bump vcpkg baseline 2024-07-17 10:06:40 +01:00
staphen 7a12080f7e Update vcpkg baseline to get libsodium 1.0.20 2024-05-29 02:43:23 +02:00
Oleksandr Kalko 57b494a727 Upgrade vcpkg commit
This upgrades libsodium to 1.0.19 and SDL-image to 2.8.2 for MSVC builds
2024-02-27 12:10:18 +00:00
Oleksandr Kalko c19a7049ee Upgrade vcpkg to include SDL 2.30.0 2024-02-14 17:39:46 +00:00
Oleksandr Kalko 6cf85aed55 Upgrade vcpkg commit 2023-12-03 16:50:47 +01:00
Oleksandr Kalko 8b1ca4d457 Upgrade vcpkg baseline commit
Upgrades fmt to 10.1.1 and SDL2 to 2.28.4
2023-10-16 14:51:35 +02:00
Anders Jenbo 706010ee45 Add Lua support 2023-10-08 21:33:51 +02:00
Oleksandr Kalko 3aadfb7c17 Upgrade vcpkg baseline commit 2023-09-18 00:15:54 +02:00
Oleksandr Kalko e9de3cc820 Upgrade vcpkg baseline commit (#6528) 2023-08-29 13:28:26 +02:00
Gleb Mazovetskiy 52e55b43be vcpkg.json: Update builtin-baseline
This is the version that is currently installed on GitHub Actions.
2023-08-13 21:38:19 +02:00
Gleb Mazovetskiy 4bdc61dd30 vcpkg.json: Add builtin-baseline
This field is now required, otherwise we get this error:

> error: this vcpkg instance requires a manifest with a specified baseline in order to interact with ports.
> Please add 'builtin-baseline' to the manifest or add a 'vcpkg-configuration.json' that redefines the default registry.

The hash here is a commit hash from https://github.com/microsoft/vcpkg/commits/master
2023-06-03 11:04:45 +01:00
Anders Jenbo 78dafb5088 Update vcpkg.json 2023-02-05 04:21:04 +01:00
Yuvraj Tetarwal 8a3b81cd7b Check for system version of simpleini. (#4751) 2022-06-20 12:45:40 +02:00
Gleb Mazovetskiy 3d308983a8 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.
2021-11-06 23:51:42 +00:00
staphen b5d96665c9 Enable SDL1 build option for Windows 2021-11-05 10:34:51 +01:00
staphen 4e5899120e Remove libpng from vcpkg dependencies 2021-11-04 19:18:14 +01:00
staphen 41ff03e94c Add CMake option to use system SDL_image 2021-11-04 10:10:42 +00:00
staphen ffbbcc6d62 Support unencrypted multiplayer games with no password 2021-10-25 01:14:37 +02:00
Anders Jenbo 4dd8b121ec Replace TTF with PCX font 2021-09-29 18:13:48 +02:00
staphen a3effd5e82 Add vcpkg.json to the project 2021-09-25 09:07:08 +02:00