obligaron
610e80f098
Sync break crux
3 years ago
Gleb Mazovetskiy
6dca019de2
Use `function_ref` instead of `function`
...
`function_ref` is a lightweight function pointer,
whereas `std::function` always involves a heap allocation.
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
702fedbc54
Remove ConsumeSpell() from AddMissile() functions
3 years ago
Gleb Mazovetskiy
759ca7f055
`WorldTileRectangle/Size`
...
Adds a custom sized type for the world tile rectagle.
This allows us to better express intent.
It also allows us to make certain globals smaller, e.g. `THEME_LOC`.
3 years ago
obligaron
795a43dd89
Add Arena Support
3 years ago
ephphatha
ea3ecbd619
Use _item_indexes type where appropriate
3 years ago
ephphatha
28d685ea85
Save and restore item seed when downgrading potions from steal trap
3 years ago
obligaron
7ad5a45905
Fix warp position offset and adjust some spawn positions ( #5364 )
4 years ago
Mikołaj Piróg
5e340d3261
Replace level member with a member function in monster ( #5336 )
4 years ago
obligaron
72dc999aba
Fix cathedral warp for upstairs
4 years ago
obligaron
948e74c539
Fix crypt warp
4 years ago
obligaron
9c97b302cd
Simplify AddWarp
4 years ago
zaid-ismail031
af32a42e53
Added clang formatting to missiles.cpp.
4 years ago
zaid-ismail031
b0c9a8024e
Refactor missiles.cpp to use Direction enum instead of magic Point/Displacement constants.
4 years ago
obligaron
deb0d6d9e1
Use missile helpers in MoveMissile/UpdateMissileRendererData ( #5291 )
4 years ago
obligaron
68891a8df1
Rename MissileMovementDistrubution => MissileMovementDistribution
4 years ago
obligaron
4b93249eee
Use MoveMissile in SpawnLightning to correctly check walls
4 years ago
obligaron
9d68478cb4
Split MoveMissile out of MoveMissileAndCheckMissileCol
4 years ago
obligaron
4dc0666b12
Resurrect SyncPositionWithParent
4 years ago
Vladimir Olteanu
58ae9169f1
Item effect cleanup ( #5229 )
4 years ago
staphen
f9e01f25c4
Consistently send network messages when monsters are damaged
4 years ago
obligaron
a410e989bf
Remove ScrollInfo
4 years ago
Gleb Mazovetskiy
961866e1c4
CLX: A new graphics format
...
The format is almost identical to CL2, except it uses the frame header
to store frame width and height instead of 5 32-line offsets.
This means we always have access to frame dimensions, so we can use it
as an on-disk format for our graphics as well.
Additionally, we may be able to optimize the rendering even more
in the future now that we have guaranteed knowledge of frame dimensions.
4 years ago
obligaron
439a9926e5
Clean up spell usage function names
...
Rename UseMana -> ConsumeSpell
Rename RemoveCurrentSpellScroll -> ConsumeScroll and remove unused return value
Rename UseStaffCharge -> ConsumeStaffCharge
Rename UseScroll -> CanUseScroll
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
ephphatha
9309f2fe4f
Add enum to represent monster sound effects
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
102f4abe9b
♻️ Remove _misource access from AddLightningWall ( #5098 )
4 years ago
ephphatha
975eb3674b
Add helper to check if a monster belongs to a player
...
Co-authored-by: Anders Jenbo <anders@jenbo.dk>
4 years ago
Cesar Canassa
0ce0f5b7b4
♻️ Remove _misource access from AddSpecArrow
4 years ago
Cesar Canassa
f5af1fa49c
♻️ Remove _misource access from AddRuneExplosion
4 years ago
Cesar Canassa
71edcbed12
♻️ Remove _misource access from AddWarp
4 years ago
Cesar Canassa
020ce5eb2b
♻️ Automatically dereference sourcePlayer on AddFlash
4 years ago
Cesar Canassa
98023a822e
♻️ Automatically dereference sourceX on MI_Arrow
4 years ago
Cesar Canassa
582e2b4e12
♻️ Automatically dereference sourceX on MI_Firebolt
4 years ago
Cesar Canassa
2b19cae569
♻️ Remove _misource access from AddBerserk
4 years ago
Cesar Canassa
fcdab7f56f
✅ Add test for RotateBlockedMissile ( #5069 )
4 years ago
ephphatha
9e76cd4ab7
Use object pointer for pcursobj
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
Cesar Canassa
7db99c2a26
♻️ Remove _misource access from AddReflection ( #5053 )
4 years ago
Cesar Canassa
2665aa61f3
PR feedback
4 years ago
Cesar Canassa
831796fcd4
♻️ Remove _misource access from SpawnLightning
4 years ago
Cesar Canassa
28f12be8de
PR feedback
4 years ago
Cesar Canassa
1f798bcec5
♻️ Remove _misource access from AddLightningRune
4 years ago
Cesar Canassa
8f73844a3b
♻️ Remove _misource access from GuardianTryFireAt
4 years ago
Cesar Canassa
94e15b3a11
♻️ Remove _misource access from AddTown
4 years ago
Cesar Canassa
b415474cf5
♻️ Remove _misource access from InitMissiles
4 years ago