Commit Graph
510 Commits
Author SHA1 Message Date
Anders Jenbo e969a8ad01 Invert player to vision relation 2023-04-21 21:25:19 +02:00
obligaron 1a3e72bf17 Unify normal casting and casting from inventory 2023-04-17 03:22:50 +02:00
obligaron 40bb3aeb45 Replace earflag with DeathReason 2023-04-14 23:34:54 +02:00
staphen 151564f46d Remove optimization that skips quest sync at game start 2023-04-09 20:50:55 +02:00
Łukasz 2ec0603896 use Points instead of x, ys in GetRndObjLoc (objects.cpp) and portal-related functions (portal.cpp) (#5897)
Nice cleanup, thanks.
2023-03-18 21:46:00 +01:00
obligaron 55bf5348c4 Multiplayer: Prevent trapped doors to fire twice 2023-02-27 05:03:57 +01:00
Gleb Mazovetskiy ca3ba14f82 msg.cpp: Always set spellFrom
Note that in a few places it is always being set to 0.

This is probably wrong and should instead be passed in the network
message as a parameter.

For now, this at least fixes the crash observed in #5791.
2023-02-15 21:52:03 +01:00
Gleb Mazovetskiy ebcd6b222d Optimize SpellData size: 40 bytes -> 24 2023-02-10 10:51:06 +00:00
obligaron 5e9801f0cf Sync Quest._qmsg 2023-02-07 08:02:38 +01:00
Gleb Mazovetskiy b61dac853b Add GetSpellData(SpellID) 2023-02-05 12:12:48 +00:00
KPhoenix d813f13700 enum spell_id -> enum class SpellID 2023-02-05 10:24:58 +00:00
Eric Robinson 049f75515b Fix bug in ef3a57b7 (#5732) 2023-01-29 02:59:30 +01:00
Eric Robinson ef3a57b7d9 enum spell_type -> enum class SpellType (#5674) 2023-01-28 22:25:37 +01:00
Eric Robinson 30c1991039 enum _mai_id -> enum class MonsterAIID (#5683) 2023-01-28 00:10:15 +01:00
Gleb Mazovetskiy 068fdac7c1 Do not use PKWare with no MPQs + NONET
Reduces RG99 binary size by 12 KiB
2023-01-23 01:51:16 +00:00
c99f7cf644 Floating numbers (#5639)
Co-authored-by: qndel <[email protected]>
Co-authored-by: Stephen C. Wills <[email protected]>
2023-01-22 07:20:10 +01:00
KPhoenix 8db521727d enum missile_id -> enum class MissileID
Changes `enum missile_id` to `enum class MissileID`
2023-01-18 17:17:25 +00:00
staphen 0c4015869c Remove unused _mdir variable from monster deltas 2023-01-01 22:22:20 +01:00
obligaron 0c3b434d76 Make debug command restart compatible with multiplayer 2022-12-17 19:37:52 +01:00
Gleb Mazovetskiy bf2e6cd262 Fix disappearing portal
Fixes a regression introduced in ca69237d59.

Fixes #5609
2022-12-17 12:06:22 +01:00
Gleb Mazovetskiy ca69237d59 Big-endian support for multiplayer
Not sure if this works but it's a start
2022-12-15 05:59:17 +01:00
Gleb Mazovetskiy ef4a547954 msg.cpp: Log received commands debug define 2022-12-15 05:59:17 +01:00
obligaron b3b62800b5 Initial sync qvar2 2022-11-27 18:27:06 +01:00
obligaron 911ba21e0e Set player old position on level join to prevent a crash when leaving the game 2022-11-24 06:15:48 +01:00
obligaron 50cea20687 Show portal opening animation in town 2022-11-23 03:08:52 +01:00
obligaron 31141ffb4d DeltaLoadLevel: Sync objects before items so that closed areas get opened 2022-11-14 06:58:56 +01:00
obligaron 1999280c7a Fix assert in delta_sync_monster 2022-11-11 03:27:37 +01:00
obligaron 57a3ede76a Introduce UseMultiplayerQuests 2022-11-11 03:27:37 +01:00
obligaron 17712562c8 Sync Quest._qvar2 2022-11-11 03:27:37 +01:00
obligaron 0de0894ad5 Enable sync of all quests 2022-11-11 03:27:37 +01:00
Gleb Mazovetskiy 680ab5ec40 Overhaul backbuffer state handling
When rendering directly to the output buffer, we need to maintain the
state of what has been drawn and what needs redrawing per-buffer.

We previously tried to do it implicitly by checking `SDL_DOUBLEBUF` and
other flags. The previous implementation was broken in several
ways, resulting in rendering issues on devices that support 8-bit output
directly.

Changes this mechanism to explicitly maintain buffer state per output
buffer. The new mechanism doesn't require knowledge of the number of
buffers, and thus also works correctly with triple-buffering.

Fixes #5447
2022-11-01 02:43:24 +00:00
Gleb Mazovetskiy 0498d7d3a7 Fix compilation warnings 2022-10-29 13:41:23 +01:00
staphen 21bd760bfa Bypass CMD_PUTITEM when triggering CMD_OPENHIVE or CMD_OPENGRAVE 2022-10-25 07:14:03 +02:00
obligaron d59a7e2794 Combine SyncDropItem and SyncPutItem 2022-10-23 10:09:54 +02:00
obligaron ba65d5fbff SyncPutItem: Always use passed coordinates for item position 2022-10-23 10:09:54 +02:00
obligaron d0c1aba463 Don't process get request item commands after start changing level 2022-10-23 01:32:53 +02:00
Gleb Mazovetskiy ec12d7ce44 Player: Optimize to save 40 bytes 2022-10-11 10:17:01 +01:00
qndel c05c4c0f55 fix typos 2022-09-17 20:19:05 +02:00
staphen 13db52f4e1 Clean up calls to SyncPutItem() and SyncDropItem() 2022-09-08 06:11:36 +02:00
staphen 116fc6fa40 Add logic to handle ears in DeltaAddItem() and DeltaGetItem() 2022-09-08 06:11:36 +02:00
staphen bfa3ccd90c Clean up code to prep items for the network 2022-09-08 06:11:36 +02:00
staphen 147a13d66c Synchronize gold in player's inventories 2022-09-08 06:11:36 +02:00
staphen 36985295e9 Clean up calls to RecreateItem() in msg.cpp 2022-09-08 06:11:36 +02:00
staphen e28a8065e9 Sync more item data with TCmdChItem 2022-09-08 06:11:36 +02:00
staphen 73028ec04a Define network struct for ears 2022-09-08 06:11:36 +02:00
obligaron 5b6beac375 Introduce Player::getAnimationFramesAndTicksPerFrame 2022-09-04 17:58:18 +02:00
Anders Jenbo f8dca40427 Merge branch 'master' of https://github.com/diasurgical/devilution 2022-08-27 02:41:28 +02:00
obligaron b3aa08589b Don't use MyPlayer in UnPackItem and dependend methods 2022-08-26 18:18:40 +02:00
Anders Jenbo 872456ae5d Use size_t for a select few pnum variables 2022-08-26 13:22:04 +09:00
Gleb Mazovetskiy 188dc79f6e Make Players a vector 2022-08-26 13:22:04 +09:00