Commit Graph
206 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 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
Gleb Mazovetskiy 91d7be9fa3 Fix init_test_access MPQ flag
`MPQ_FLAG_READ_ONLY` -> `MPQ_OPEN_READ_ONLY`.

The former is a flag that is set on an MPQ that was open in read-only
mode. To request opening in read-only mode, `MPQ_OPEN_READ_ONLY` should
be used instead.
2021-04-19 02:44:23 +02:00
Gleb Mazovetskiy 91f8267db9 🧹 SDL1.2: Remove unimplemented SDL_*Window backports
Guard around SDL version at call site instead.
2021-04-18 20:07:37 +02:00
Gleb Mazovetskiy 2c924e1ab1 🐞 pfile: Fix stale tables after leaving a game
In multiplayer, the hash and block tables are kept around between the
saves (presumably to improve performance).

When leaving the game, they should be cleared.

Clearing of the tables is handled by `Archive::Close` in `mpqapi.cpp`.

After https://github.com/diasurgical/devilutionX/commit/135f5e03c796f7184b52abf1abfba5ac0d525379,
which moved the archive closing inside `pfile_write_hero`, the tables
were no longer cleared on `pfile_flush_W` (because the archive was
already closed when it was called).

To fix the issue, this commit adds a `clear_tables` argument
to `pfile_write_hero` and removes the `pfile_flush_W` method.

Bug reported and root cause found by @Eider-McDuck:

> Example to reproduce: Have 2 vanilla savegames, join a game with the first,
> then leave, then join a game with the second, then drop an item on the floor.
2021-04-16 15:50:13 +02:00
Gleb Mazovetskiy d4ca1e30ce Log MPQs on load (with --verbose)
The log looks like this:

    VERBOSE: MPQ search paths
         1. '/home/gleb/devilutionX/build/'
         2. '/home/gleb/.local/share/diasurgical/devilution/'
         3. '/usr/share/diasurgical/devilutionx/'
         4. '/usr/local/share/diasurgical/devilutionx/'
         5. ''
    VERBOSE: Missing: DIABDAT.MPQ
    VERBOSE:   Found: diabdat.mpq in /home/gleb/.local/share/diasurgical/devilution/
    VERBOSE: Missing: patch_rt.mpq
    VERBOSE: Missing: patch_sh.mpq
    VERBOSE:   Found: hellfire.mpq in /home/gleb/.local/share/diasurgical/devilution/
    VERBOSE:   Found: hfmonk.mpq in /home/gleb/.local/share/diasurgical/devilution/
    VERBOSE: Missing: hfbard.mpq
    VERBOSE: Missing: hfbarb.mpq
    VERBOSE:   Found: hfmusic.mpq in /home/gleb/.local/share/diasurgical/devilution/
    VERBOSE:   Found: hfvoice.mpq in /home/gleb/.local/share/diasurgical/devilution/
    VERBOSE: Missing: hfopt1.mpq
    VERBOSE: Missing: hfopt2.mpq
    VERBOSE:   Found: devilutionx.mpq in /home/gleb/devilutionX/build/
2021-04-16 05:23:35 +02:00
Anders Jenbo 8c821e98d3 🚚 Restructure files 2021-04-16 03:57:22 +02:00
Anders Jenbo 997c1dba55 🚚 Split up all.h in to proper header relations 2021-04-16 01:04:54 +02:00
Anders Jenbo 6e1a106a38 🚚 Move header we implement into the project 2021-04-16 01:04:54 +02:00
Gleb Mazovetskiy 9382153228 init_test_access: Remove platform workarounds
No longer necessary as of https://github.com/diasurgical/devilutionX/pull/1314
2021-04-13 14:41:57 +02:00
Anders Jenbo ebc27082e7 🔥 remove unused parts of init_test_access 2021-04-08 19:20:55 +02:00
Anders Jenbo bfb3c11c2b 🎨 Change namespace to devilution 2021-04-06 15:21:25 +02:00
Anders Jenbo 630e507f63 🚚 Apply namespace 2021-04-06 15:21:25 +02:00
Anders Jenbo bc3dc545da 🔥 Remove unused parts of game creation logic 2021-04-06 12:41:00 +02:00
Anders Jenbo 70776b87c8 🐛 Only save when performing a direct exit from game 2021-04-04 06:18:39 +02:00