28 Commits
Author SHA1 Message Date
Gleb Mazovetskiy bd0986ee73 Update NDK to v26
This version of NDK finally comes with updated libc++.
The last update to libc++ in NDK was in early 2020.

This update brings lots of improvements and bugfixes from upstream
libc++.

NDK 26 only support SDK 21+, so we bump `minSdkVersion` as well.
2023-09-20 02:04:50 +01:00
Gleb Mazovetskiy a95bcc10f6 Windows 9x MinGW build (#6619) 2023-09-19 03:59:40 +00:00
Anders Jenbo 15ed246239 Merge branch 'master' of github.com:diasurgical/devilutionX into development 2023-08-26 01:09:03 +02:00
Anders Jenbo 02ca96ba67 Bump Android build chain to the latest from Google to not upset them 2023-08-19 21:41:23 +02:00
Gleb Mazovetskiy 8c1a847f41 Remove utils/stdcompat/string_view.hpp 2023-08-14 09:59:14 +01:00
Gleb Mazovetskiy e9b5ec77f9 Remove AppendStrView 2023-08-14 01:54:29 +01:00
Gleb Mazovetskiy c19bfe87fa Remove utils/stdcompat/algorithm.hpp 2023-08-14 01:54:29 +01:00
Gleb Mazovetskiy 5cc1f98b8d Remove utils/stdcompat/invoke_result_t.hpp 2023-08-14 01:54:29 +01:00
Gleb Mazovetskiy 14540164a7 Remove utils/stdcompat/optional.hpp 2023-08-14 01:54:29 +01:00
Gleb Mazovetskiy 62d067b653 Remove utils/stdcompat/abs.hpp 2023-08-14 01:54:29 +01:00
Gleb Mazovetskiy 74755c8be7 Remove utils/stdcompat/cstddef.hpp 2023-08-14 01:54:29 +01:00
Gleb Mazovetskiy 2f1290c5d2 Remove C++11 compatibility code 2023-08-12 18:23:52 +02:00
Gleb Mazovetskiy 8fe8023542 Create save and config directories
If a config directory did not exist, the ini file was
not saved at all.

Only implemented for targets that support `std::filesystem` or `std::experimental::filesystem`.
These are all the targets except nxdk and iOS (only supported on iOS 13+).
2023-01-12 03:28:28 +00:00
Gleb Mazovetskiy 4063afb792 Xbox NXDK platform 2022-07-09 18:50:53 +01:00
Vladimir Olteanu bed5bd9ec1 Eliminate CrawlTable 2022-07-07 18:55:34 +02:00
Gleb Mazovetskiy 21dc7f553d Add OptionalCelSprite: smaller than std::optional
`CelSprite` data pointer can never be `nullptr`.

We implement a smaller `optional` for it by taking advantage of that.
2022-07-03 12:26:39 +01:00
Gleb Mazovetskiy 779ccaca17 Overhaul translation fetching
1. Do not modify the map after loading. Instead, return string views
   (guaranteed to be null-terminated) from look up functions and return
   the key directly if not found.
2. Use an `unorded_map` instead of `map` where available (C++20).
   Saves a bit of RAM (~50 KiB) and improves lookup performance.
2022-06-14 12:46:36 +01:00
Felipe Wannmacher 8efbcf2058 Xbox One/Series support (#3946) 2022-01-17 12:37:29 +01:00
Gleb Mazovetskiy f9f301b054 🚚 engine.h: Extract Point, Direction, clamp
`engine.h` is getting quite bloated. Moves this code to their own files.
2021-06-21 01:36:20 -07:00
Vladimir Olteanu 02ffada9b8 constexpr version of abs 2021-06-02 13:36:17 +02:00
Kalebe Alves 49b21afb73 Clean up cstddef.hpp 2021-05-27 21:29:41 +02:00
Kalebe Alves 0461529176 Move byte from engine.h 2021-05-27 16:04:27 +02:00
Anders Jenbo 4a7ba94702 🎨 Run clang-format 2021-05-07 23:26:39 +02:00
Anders Jenbo c11945e62b 🎨 Fix line endings 2021-05-07 23:22:51 +02:00
Vladimir Olteanu d9a4ff8729 Use std::string_view for towners' names (#1750) 2021-05-02 06:51:32 +02:00
Gleb Mazovetskiy 7bdfb0655c 🐞 Support multiple playback of the same sound 2021-05-02 00:36:36 +02:00
Gleb Mazovetskiy acee2ef14c 🎉 Switch from SDL_mixer to SDL_audiolib
SDL_mixer can only stream a single music track
SDL_audiolib has unlimited streams.

With this change, we finally have streaming sounds (respecting
sfx_STREAM).

Audio options can now also be set via diablo.ini, which should help us
better diagnose the static noise issues.
2021-04-27 00:54:50 +01:00
Jmgr 2b672289e1 Fix optional being in experimental/ with some compilers 2021-04-25 22:26:37 +02:00