Commit graph

197 commits

Author SHA1 Message Date
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
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
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 135f5e03c7,
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
Anders Jenbo
d526840fd5 🎨 Remove hardcoded version number 2021-04-01 04:43:16 +02:00
Anders Jenbo
7c2f96f668 🐛 Always save MP games when quitting 2021-04-01 04:04:07 +02:00
Anders Jenbo
a2656637e4 🎨 Format source 2021-03-31 00:52:47 +02:00
Gleb Mazovetskiy
41f7162e98 Hellfire: Better error if some MPQs are missing
Makes the issue more obvious.
2021-03-20 17:10:19 +01:00
Gleb Mazovetskiy
415bea0efe Look for all MPQs in PWD and global share
Follow-up to #1196
2021-03-18 10:05:48 +01:00
Gleb Mazovetskiy
c52505388b Install devilutionx.mpq on Linux
1. Installs devilutionx.mpq on Linux.
2. Falls back to finding it in the install location.
2021-03-15 10:49:22 +01:00
Gleb Mazovetskiy
e4212a0de9
Try uppercase DIABDAT.MPQ (#1184)
It's uppercase in GOG and on the retail CD.
Other MPQs are not known to be uppercase.
2021-03-14 12:45:13 +01:00
Xadhoom
12c7b715cd Add test for vanilla pfile_write_hero() 2021-03-08 18:32:25 +01:00
Gleb Mazovetskiy
21bb021641 Clean up gpBufEnd initialization
Initialization of `gpBufEnd` was done in a convoluted way
that only happened to work.

Cleans up initialization and moves it to dx.cpp.
2021-03-01 12:08:37 +01:00