Commit Graph
219 Commits
Author SHA1 Message Date
Felipe Wannmacher 8efbcf2058 Xbox One/Series support (#3946) 2022-01-17 12:37:29 +01:00
Andrew James d3aedf5df1 Split loading of MPQs to handle translations and voice packs (#3922) 2022-01-08 09:15:39 +01:00
Gleb Mazovetskiy 0f924528ba macOS/iOS: Add resources to the bundle 2021-12-05 20:33:24 +01:00
obligaron 945ee04f62 Add OptionEntry Language 2021-11-28 19:08:10 +01:00
obligaron b3740012b0 Add init_language_archives() to reinitalize lang_mpq 2021-11-28 19:08:10 +01:00
Gleb MazovetskiyandAnders Jenbo 7e1fea6f76 clang-format all files in {Source,test}/
Also includes a few manual tweaks to comments and newlines for better results.

Co-authored-by: Anders Jenbo <[email protected]>
2021-11-24 23:44:12 +01:00
Anders Jenbo 799f1763af Performce UTF8 aware limited string copies 2021-11-22 03:28:51 +01:00
Gleb Mazovetskiy fa90679416 game_assets.* -> assets.* 2021-11-17 11:49:57 +01:00
Gleb Mazovetskiy 720d210d95 utils/mpq* -> mpq/* 2021-11-17 11:49:57 +01: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
Anders Jenbo fa4321adcc Do not probe for devilutionx.mpq on Android
Android loads the assets from the APK instead
2021-10-26 01:18:41 +02:00
Anders Jenbo ac18696af6 Fix loading translation packs 2021-10-26 00:46:06 +02:00
Gleb Mazovetskiy 7e230df94a Allow forcing Hellfire with command-line flags
This is useful for systems such as batocera.linux that have dynamic
launcher items that depend on the presence of the appropriate MPQ files.
2021-10-25 13:52:14 +01:00
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 5d53910127 Verbose log base/pref/config/assets paths 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
obligaron a0b14e43fe Ensure SFileSetAssetsPath is called before InsertCDDlg is called 2021-10-21 18:39:20 +02:00
Anders Jenbo e69853487d Correct name of font mpq 2021-10-21 13:14:25 +02:00
Anders Jenbo 508cfabcdb Load langauge specific mpq files 2021-10-21 03:56:21 +02:00
Anders Jenbo 8df5912dc6 Always use SDL wrapper for file access 2021-10-20 21:52:59 +02:00
obligaron 8dd5fcfc8f Search app assets folder in SFileOpenFile 2021-10-10 00:51:45 +02:00
staphen e5d32da8a2 Load font file from devilutionx.mpq 2021-09-30 09:48:15 +02:00
Cong 6091c3f3c2 Add GOG installation paths to game data search paths (fixes #2709) (#2748) 2021-08-30 12:00:21 +00:00
Vladimir Olteanu f1490b7826 Fix mem leak in storm.cpp 2021-08-17 17:49:08 +02:00
ephphatha aec1491c98 Close devilutionx_mpq instead of trying to close patch_rt_mpq twice 2021-08-08 16:19:31 +02:00
Anders Jenbo 9818ad4891 [Android] Locate external App data path and migrate data files 2021-07-26 02:50:30 +02:00
Anders Jenbo 4eabc6024b Apply various cleanups via Android Studio 2021-07-03 18:27:17 -07:00
Anders Jenbo a7c7fa0030 Fully apply clang-tidy/format to all files 2021-07-03 16:41:43 -07:00
Anders Jenbo ecea12fc15 Clang-tidy: ParameterCase 2021-07-03 15:46:39 -07:00
Anders Jenbo a350fb0b15 Clang-tidy: FunctionCase part 1 2021-07-03 03:45:33 +02:00
Anders Jenbo e2ead2cc5e Port engine to Android
Set the font path for Android

Do not check for FileExists on CharisSILB.ttf for Android, FileExists
will always fail as it doesn't detect files located in the APK

port
2021-06-15 00:23:35 +02:00
Gleb Mazovetskiy a3423cbc92 🧹 Move Storm code out of file_util 2021-05-10 12:35:37 +02:00
obligaron 60bfd5db34 Move SFileOpenArchive calls to new helper SFileOpenArchiveDiablo 2021-05-10 08:34:12 +02:00
staphen c49dad9023 3DS: Add devilutionx.mpq to romfs. 2021-05-09 02:48:42 +01:00
staphen 3e5e5b2696 Synchronize SFileCloseFile() access 2021-05-08 04:01:07 +02:00
Gleb Mazovetskiy 47c93c2f9c 🧹 Fix more -Wformat warnings 2021-05-01 22:19:27 +02:00
Anders Jenbo 38d7b1e3c8 🐛 Do not utilize translations till after it has been initialize 2021-05-01 19:27:55 +02:00
Anders Jenbo 3b04f67194 🔥 Remove a chunk of miniwin types 2021-04-29 23:04:56 +02:00
Jmgr 17c85814bf Fix a few remaining C-style format in Log calls 2021-04-26 23:11:15 +01:00
JmgrandGleb Mazovetskiy 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 <[email protected]>

Use std::optional to allow setting empty paths

Apply clang-format

Temporary commit
2021-04-25 22:26:37 +02:00
Anders Jenbo b69d18f12d 🌐 Enable translation of all remaning strings 2021-04-25 21:32:41 +02:00
Jmgr 1b7e0d2cb3 Migrate existing log entries 2021-04-25 02:39:42 +02:00
Jmgr af0ea6fdfc Set Application as the default log category
Remove example of logging a container
2021-04-25 02:39:42 +02:00
Jmgr f3a401b5f6 Add the fmt library as a dependency and add some examples
Attempt at fixing missing functions on some platforms
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 cc164985a3 🎨 Correct type checks in src sub-folder 2021-04-22 20:33:24 +02:00
Anders Jenbo 7c054bc005 🎨 push_back -> emplace_back 2021-04-22 00:16:54 +02:00
Anders Jenbo f004c78824 🧹 performance-unnecessary-value-param 2021-04-22 00:08:19 +02:00
Anders Jenbo b978d80119 🎨 llvm-include-order 2021-04-19 20:11:20 +02:00
Anders Jenbo bb4e1960e7 🎨 modernize-use-nullptr 2021-04-19 16:02:05 +02:00