Commit graph

33 commits

Author SHA1 Message Date
Gleb Mazovetskiy
a97ffd1640 Load MPQ file overrides without StormLib
Also logs the overrides in verbose mode.
2021-10-24 16:21:39 +01:00
Gleb Mazovetskiy
7d91bc461a Improve asset file opening
Avoid wrapping asset files via StormLib, open them directly via SDL
instead.
2021-10-24 16:21:39 +01:00
Anders Jenbo
272049380c Fix building on Debian 2021-10-21 23:49:18 +02:00
Anders Jenbo
508cfabcdb Load langauge specific mpq files 2021-10-21 03:56:21 +02:00
Anders Jenbo
2480fbac21 Use correct lenth when forcing lowercase of asset path 2021-10-12 21:05:19 +02:00
obligaron
8dd5fcfc8f Search app assets folder in SFileOpenFile 2021-10-10 00:51:45 +02:00
Vladimir Olteanu
f1490b7826 Fix mem leak in storm.cpp 2021-08-17 17:49:08 +02:00
Anders Jenbo
0889780923 Remove more usage of miniwin types 2021-07-18 02:11:58 +02:00
Anders Jenbo
f167bd4dfb Clang-tidy: llvm-include-order 2021-06-27 01:45:49 +02:00
Anders Jenbo
22b632f04a ♻️Clean up implicit bool conversions 2021-06-26 08:57:59 -07:00
obligaron
27a1a3bbfb Use SimpleIni build-in bool/long/double methods 2021-05-24 15:08:29 +02:00
obligaron
7d5fe022ee Switch ini library from Radon to simpleini 2021-05-24 15:08:29 +02:00
Gleb Mazovetskiy
c79ec673f4 ♻️ Implement std's Lockable for SDL mutex wrapper
Rather than rolling our own lock guard, implement the requirements for
using `std::lock_guard` et al and use that.
2021-05-17 12:00:09 +02:00
Anders Jenbo
34744c068f ♻️Consitantly use %i and not %d 2021-05-15 14:17:52 +02:00
Gleb Mazovetskiy
a3423cbc92 🧹 Move Storm code out of file_util 2021-05-10 12:35:37 +02:00
staphen
3e5e5b2696 Synchronize SFileCloseFile() access 2021-05-08 04:01:07 +02:00
Gleb Mazovetskiy
987ab2533b 🐞 Synchronize SFileReadFile access
StormLib read function is not thread-safe: https://github.com/ladislav-zezula/StormLib/issues/175
2021-05-03 02:35:22 +02:00
Gleb Mazovetskiy
3d03990cb8 ♻️ Replace SBmpLoadImage with a simpler method
The new approach only makes 2 read calls and does not do any seeks.

It is also less general and is internal to `art.cpp`, allowing us to
simplify it somewhat.
2021-05-02 01:28:18 +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
d4f62870b8 Remove globals from paths.h
Fix for Vita

Update to use free functions

Use std::optional to allow setting empty paths

Change header inclusion order

Co-authored-by: Gleb Mazovetskiy <glex.spb@gmail.com>

Use std::optional to allow setting empty paths

Apply clang-format

Temporary commit
2021-04-25 22:26:37 +02:00
Jmgr
1b7e0d2cb3 Migrate existing log entries 2021-04-25 02:39:42 +02:00
Anders Jenbo
a32ac83090 🎨 cleanup trivial trype comparisons 2021-04-23 02:48:25 +02:00
Anders Jenbo
2969b80163 🎨 Run readability-identifier-naming on all src sub-folders 2021-04-22 03:53:35 +02:00
Anders Jenbo
373f28736f 🎨 Acceptable parts of modernize-* 2021-04-19 22:42:19 +02:00
Anders Jenbo
b978d80119 🎨 llvm-include-order 2021-04-19 20:11:20 +02:00
Anders Jenbo
09e0607ddc 🎨 Acceptable part of bugprone-* 2021-04-19 16:09:59 +02:00
Anders Jenbo
bb4e1960e7 🎨 modernize-use-nullptr 2021-04-19 16:02:05 +02:00
Gleb Mazovetskiy
362f24e9a7 🚚 Move SVid code to its own file 2021-04-19 11:53:44 +02:00
Gleb Mazovetskiy
132ff891f0 SVid: More robust and correct scaling
Fixes various scaling formulas and adds checkes for indexed pixel formats.
2021-04-19 02:29:47 +02:00
Gleb Mazovetskiy
7fd088744e SDL1 SVid: Clean up video mode code + add override
1. Cleans up SVidVideoMode detection.
2. For devices where detection is not possible but it is known
   to work, adds an `SDL1_FORCE_SVID_VIDEO_MODE` define.
2021-04-19 02:29:47 +02:00
Anders Jenbo
5fdb9ce459 🎨 Format code 2021-04-19 00:37:33 +02:00
Gleb Mazovetskiy
e1278cba7b Fix SErrGet/SetLastError
SErrGet/SetLastError were not propagating errors from 3rdParty/StormLib
because StormLib uses native Windows functions on Windows and defines
its own on Linux.

Also removes storm_full.h
2021-04-16 04:20:04 +02:00
Anders Jenbo
8c821e98d3 🚚 Restructure files 2021-04-16 03:57:22 +02:00
Renamed from SourceX/storm/storm.cpp (Browse further)