Commit Graph
138 Commits
Author SHA1 Message Date
Vladimir Olteanu bea21a5e20 Replace LOAD_LE32 & LOAD_BE32 with signedness- and endian-agnostic equivalents 2021-04-28 20:11:51 +02:00
Gleb Mazovetskiy 83292c8e67 ♻️ Fix -Wunused-variable in pfile.cpp 2021-04-26 05:16:59 +02: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
Anders Jenbo 7912e510f0 🎨 Clean up overuse of SDL types 2021-04-24 17:07:07 +02:00
Anders Jenbo 8fa0612433 🐛 Fix loading chosen hero 2021-04-23 04:53:46 +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 f004c78824 🧹 performance-unnecessary-value-param 2021-04-22 00:08:19 +02:00
qndel 7563234ca9 fix saves (#1621) 2021-04-19 23:31:04 +02:00
Anders Jenbo bb4e1960e7 🎨 modernize-use-nullptr 2021-04-19 16:02:05 +02:00
Anders Jenbo c89bd9c001 🚨 Fix remaning warnings for clang and gcc 2021-04-19 02:44:39 +02:00
Gleb Mazovetskiy 95946e3a7c 🧹 Cleanup unused variables (#1584)
Fixes `unused-variable` and `unused-but-set-variable` compiler warnings.
2021-04-18 18:15:47 +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
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 135f5e03c7 Only write to the file once when saving 2021-04-12 10:44:36 +02:00
Anders Jenbo a1dabf3aba 🐛 Fix Hellfire save games corrupting game state in Windows 2021-04-11 15:42:45 +02:00
Anders Jenbo 20186e0370 🎨 Replace TRUE/FALSE with true/false
fix


Fix


fix
2021-04-09 15:13:02 +02:00
Anders Jenbo 93d42b62b8 ♻️ Change BOOL to bool 2021-04-09 15:13:02 +02:00
Gleb Mazovetskiy 642472cce8 pfile: extract pfile_get_password() 2021-04-08 21:51:55 +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 6f1498d315 🚚 Move structures to there respective headers 2021-04-06 12:41:00 +02:00
Anders Jenbo bc3dc545da 🔥 Remove unused parts of game creation logic 2021-04-06 12:41:00 +02:00
Anders Jenbo bba73ea20f ✨ Handle mixed item origins in multiplayer 2021-04-01 14:52:44 +02:00
Anders Jenbo a2656637e4 🎨 Format source 2021-03-31 00:52:47 +02:00
Anders Jenbo 8196bdbd31 ✨ Set the initial ready spell when creating a new hero 2021-03-29 02:19:01 +02:00
Anders Jenbo 1284333765 ♻️ Use explicit types and remove globals from save file logic 2021-03-09 22:27:11 +01:00
Xadhoom 12c7b715cd Add test for vanilla pfile_write_hero() 2021-03-08 18:32:25 +01:00
qndel 12dddc4e8f ✨ Preserve active spell and hotkeys across games 2021-03-07 17:30:03 +01:00
Anders Jenbo c71efb5960 ✅ Better assertions on item generation tests
[Diablo/Hellfire] Also clear PkItemStruct when calling PackItem() to
avoid garbage data ending up in the saves.
2021-03-03 09:30:09 +01:00
Anders Jenbo 8cebb84475 Remove unused function 2021-02-27 15:01:07 +01:00
Anders Jenbo 3593266ef7 Converte all Levels when cross loading saves 2021-02-27 14:51:37 +01:00
Anders Jenbo 4d47d513ce Implement Hellfire multiplayer saves 2021-02-25 05:50:24 +01:00
pionere 97d53ced7e get rid of a few warnings (strncpy) 2021-02-19 22:04:11 +01:00
qndel ab9911064f unify checks for single and multiplayer 2021-02-18 22:32:01 +01:00
Anders Jenbo 4ffbb32952 [hellfire] Allow continuing Diablo saves in Hellfire and vice versa 2021-01-13 16:10:21 +01:00
Anders Jenbo 0c96e32f19 Unify all defines, enums and structs 2021-01-08 20:53:06 +01:00
Anders Jenbo 6f8f4c3293 Unify another chunk of simple Hellfire code paths 2021-01-07 07:19:07 +01:00
Anders Jenbo e609e170d0 Merge a large chunk of Hellfire the code paths 2021-01-06 08:07:20 +01:00
Anders Jenbo a2a3729491 Enable loading hellfire games form main menu 2021-01-02 07:40:05 +01:00
Anders Jenbo 8f0b8b3b51 Clean up pfile.cpp 2021-01-02 03:37:23 +01:00
Anders Jenbo e33914c0c8 Merge branch 'master' of github.com:diasurgical/devilution 2021-01-01 22:57:37 +01:00
Anders Jenbo da908b83f2 [hellfire] pfile_read 2021-01-01 20:43:27 +01:00
Anders Jenbo 87c325ef31 [hellfire] pfile_write_save_file 2021-01-01 19:40:33 +01:00
Anders Jenbo 5169c054b6 [hellfire] pfile_archive_contains_game 2021-01-01 19:14:01 +01:00
Anders Jenbo 5bd15f28db [hellfire] pfile_read_hero 2021-01-01 15:52:54 +01:00