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
Anders Jenbo
997c1dba55
🚚 Split up all.h in to proper header relations
2021-04-16 01:04:54 +02:00
Anders Jenbo
f450d6a125
🚚 Move defines to there proper files
2021-04-16 01:04:54 +02:00
qndel
2677cc14dc
fix loading golem
2021-04-14 19:28:20 +02:00
Juliano Leal Goncalves
28ad9d43c5
🎨 Rename 'plr_class' enum to 'HeroClass'
...
Members were renamed as well for readability.
2021-04-12 20:00:53 +02:00
Juliano Leal Goncalves
7d95bfed39
♻️ Convert 'plr_class' to a scoped enumeration
2021-04-12 20:00:53 +02:00
Gleb Mazovetskiy
135f5e03c7
Only write to the file once when saving
2021-04-12 10:44:36 +02:00
Stephen C. Wills
a80aa286d3
Fixed data type of quest _qmsg in save files. ( #1475 )
2021-04-11 09:39:46 +02:00
Anders Jenbo
e7ae8ddd04
🚚 Move all enums to there respective headers
2021-04-10 16:30:00 +02:00
Anders Jenbo
2732aea1b2
♻️ Use GameInfo instead of individual globals
2021-04-10 07:30:12 +02:00
Anders Jenbo
61244c4d93
♻️ Rearange and apply more enums
2021-04-10 05:24:01 +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
cc75b7a948
loadsave: Fix off-by-one in RemoveEmptyLevelItems
...
Refs #1367
2021-04-09 07:28:51 +02:00
qndel
7a9aaed4b4
proper heroitems size
2021-04-08 22:10:32 +02:00
Gleb Mazovetskiy
7fd79c5c40
SaveLoad/Helper: Rename member fields
2021-04-08 21:51: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
Juliano Leal Goncalves
9021f8daa5
♻️ Pluralize global 'item' array variable
2021-04-06 11:45:28 +02:00
Anders Jenbo
28bb003601
🐛 use exact size of save format struct
2021-04-06 05:34:21 +02:00
Anders Jenbo
bba73ea20f
✨ Handle mixed item origins in multiplayer
2021-04-01 14:52:44 +02:00
Anders Jenbo
c221cdfeb1
🐛 Correct sinage on level load/save
2021-04-01 06:43:33 +02:00
Anders Jenbo
a69a76941e
♻️ Clean up InitCutscene
2021-03-24 21:50:19 +01:00
Anders Jenbo
8f09cc3034
[diablo] 🐛 Correct spelling of Sorcerer
...
Fixes #1074
2021-03-21 12:18:10 +01:00
Anders Jenbo
17803d5923
♻️ Apply proper types to PlayerStruct
2021-03-14 15:38:23 +01:00
Anders Jenbo
def2253386
♻️ Move monster.h related structs and enums and apply propper types
2021-03-11 03:36:32 +01:00
Anders Jenbo
d6ec6395e0
♻️ change QuestTalkData in to an array of _speech_id
...
This gets rid of casting QuestTalkData to DWORD/int in various parts of
the code.
2021-03-11 01:40:13 +01:00
alanbirtles
d0c675b426
fix #1155
2021-03-10 20:50:21 +01:00
Anders Jenbo
1284333765
♻️ Use explicit types and remove globals from save file logic
2021-03-09 22:27:11 +01:00
Anders Jenbo
a827420070
🐛 Stable "hotkeys" size calculation
2021-03-08 02:50:14 +01:00
qndel
12dddc4e8f
✨ Preserve active spell and hotkeys across games
2021-03-07 17:30:03 +01:00
Anders Jenbo
e8fb559e53
🐛 Correct saving/loading of enums
2021-03-06 17:35:19 +01:00
Anders Jenbo
783e4a70b1
♻️ Strongly type items structures
2021-03-06 10:04:07 +01:00
Anders Jenbo
d37fb68809
Make header checks portable
2021-03-02 12:17:13 +01:00
Anders Jenbo
886ed4803a
Do not try to convert levels for non avalible quests
...
Apparently previous saves can leave behind some quest levels in junk
states
2021-03-02 08:22:48 +01:00
Anders Jenbo
3593266ef7
Converte all Levels when cross loading saves
2021-02-27 14:51:37 +01:00
Anders Jenbo
5035ac8062
Strip Hellfire items in Diablo sessions
2021-02-27 14:51:37 +01:00
Anders Jenbo
7cf40d3c7c
Clean up missile function names
2021-02-25 11:52:19 +01:00
qndel
ba37c8618f
fixtypos ( #1053 )
2021-02-25 10:14:02 +01:00
Anders Jenbo
b4e78c5e79
Remove some unused junk
2021-02-25 05:37:17 +01:00
Anders Jenbo
a5ca521f0d
Fix item morphing in Hellfire
2021-02-22 00:12:23 +01:00
qndel
c0f5749728
Fix RNG diverging during level generation depending on the code path
...
The consequences has mostly mitigated after wards, but this will make things make more sens when analysing the state of the code.
2021-02-01 06:44:16 +01:00
Anders Jenbo
b69952d918
Correct monster light when loading old saves
2021-02-01 05:38:34 +01:00
qndel
7f42d0dd64
Fix vision staying behind from where you eited the level
...
This could be either the stairs one tile next to where you enter. Or a
compleatly different posistion if using a different entry point.
2021-01-31 17:46:15 +01:00
Anders Jenbo
06b7c78406
Notes of untimly header cleanups
2021-01-26 03:12:58 +01:00
Anders Jenbo
244c5437b4
Fix saving items
2021-01-17 15:03:34 +01:00
Anders Jenbo
d68c8c1cc8
Fix issues related to cross loading save games
2021-01-17 04:49:23 +01:00
Anders Jenbo
ccd0e7fd23
Merge branch 'master' of github.com:diasurgical/devilution
2021-01-16 02:10:25 +01:00
Anders Jenbo
4ffbb32952
[hellfire] Allow continuing Diablo saves in Hellfire and vice versa
2021-01-13 16:10:21 +01:00