obligaron
17712562c8
Sync Quest._qvar2
3 years ago
obligaron
0de0894ad5
Enable sync of all quests
3 years ago
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
3 years ago
Gleb Mazovetskiy
0498d7d3a7
Fix compilation warnings
3 years ago
staphen
21bd760bfa
Bypass CMD_PUTITEM when triggering CMD_OPENHIVE or CMD_OPENGRAVE
3 years ago
obligaron
d59a7e2794
Combine SyncDropItem and SyncPutItem
3 years ago
obligaron
ba65d5fbff
SyncPutItem: Always use passed coordinates for item position
3 years ago
obligaron
d0c1aba463
Don't process get request item commands after start changing level
3 years ago
Gleb Mazovetskiy
ec12d7ce44
Player: Optimize to save 40 bytes
3 years ago
qndel
c05c4c0f55
fix typos
4 years ago
staphen
13db52f4e1
Clean up calls to SyncPutItem() and SyncDropItem()
4 years ago
staphen
116fc6fa40
Add logic to handle ears in DeltaAddItem() and DeltaGetItem()
4 years ago
staphen
bfa3ccd90c
Clean up code to prep items for the network
4 years ago
staphen
147a13d66c
Synchronize gold in player's inventories
4 years ago
staphen
36985295e9
Clean up calls to RecreateItem() in msg.cpp
4 years ago
staphen
e28a8065e9
Sync more item data with TCmdChItem
4 years ago
staphen
73028ec04a
Define network struct for ears
4 years ago
obligaron
5b6beac375
Introduce Player::getAnimationFramesAndTicksPerFrame
4 years ago
obligaron
b3aa08589b
Don't use MyPlayer in UnPackItem and dependend methods
4 years ago
Anders Jenbo
872456ae5d
Use size_t for a select few pnum variables
4 years ago
Gleb Mazovetskiy
188dc79f6e
Make `Players` a vector
4 years ago
staphen
8503efc1db
Remove pragma pack from DLevel struct
4 years ago
staphen
40546c9f9d
Avoid DLevel copy constructor in GetDeltaLevel()
4 years ago
Stephen C. Wills
a06dd25d17
Synchronize player inventories ( #5217 )
...
* Synchronize item placement in player's backpack
* Synchronize item remove from player's backpack
* Synchronize item placement and removal from player's belt
* Set up loopback network provider for failing tests
4 years ago
ephphatha
81fa45d9d8
Update multiplayer delta when parsing close door command
4 years ago
ephphatha
b4839dadcc
Dedupe operate object network commands
4 years ago
Vladimir Olteanu
9a55b13340
Avoid defensive warning in DeltaImportObjects ( #5181 )
...
GCC emits -Wsequence-point even with c++20 as the language level, apparently just in case the code gets compiled under an older standard.
4 years ago
staphen
748bb1f84d
Split delta trap operation from realtime trap operation
4 years ago
Vladimir Olteanu
74232f13bf
Get rid of dthread
4 years ago
ephphatha
2121d8dc67
Use position for object delta messages
...
Co-authored-by: Stephen C. Wills <swills@gridprotectionalliance.org>
Co-authored-by: Anders Jenbo <anders@jenbo.dk>
4 years ago
obligaron
6804221199
Store scroll/rune location in SpellCastInfo.spellFrom and remove the scroll/rune only after the spell is casted
4 years ago
obligaron
1cfd1ca99d
Fix double casting bug - use separated info for casted and queued spells
4 years ago
Anders Jenbo
b9aa2959a6
Split deleta sync from operate door
4 years ago
Anders Jenbo
e83c55d444
Clean up object references
4 years ago
Stephen C. Wills
e364b7488c
HitMonster() cleanup ( #5147 )
4 years ago
ephphatha
0ce76a3f13
Add Object lookup method to mimic map::at()
4 years ago
Cesar Canassa
75756c518f
♻️ Send the monster reference to the monster AI functions ( #5113 )
4 years ago
ephphatha
4a8f375011
Use position for operate object network commands
...
Only one remaining use of Object::getId for caching the target of a command requiring the player to path to an object.
4 years ago
Cesar Canassa
a0cd65e082
♻️ Remove monsterId from M_SyncStartKill
4 years ago
ephphatha
6097a8a90a
Deduplicate operate object command handlers
4 years ago
ephphatha
de83d9440e
Use position for break object network messages
4 years ago
ephphatha
4d730b5e5d
Take object reference in DeltaSyncObject
...
Delta object records are only laid out in the same order as object instances by convention, document this relationship and use the explicit offset instead of "network id"
4 years ago
ephphatha
0c08980c71
Combine Telekinesis with other object network commands
4 years ago
ephphatha
3a7fd8da2d
Only send and consume object location for location based messages
...
Co-authored-by: Anders Jenbo <anders@jenbo.dk>
4 years ago
Anders Jenbo
56915974d6
Minimize passing of player indexes
4 years ago
qndel
25dc9a61ff
fix wrong condition in OnSetStrength
4 years ago
Anders Jenbo
d1189388f5
Use user by reference
4 years ago
Anders Jenbo
9cae6dad7d
Clean up most usages of DWORD
4 years ago
Cesar Canassa
f0d1d58499
♻️ Remove monsterId from delta_kill_monster
4 years ago
ephphatha
1337ff6ea2
Add check if a monster potentially has leashed minions
4 years ago