obligaron
e64270bfc6
Fix Flash hits north east direction
3 years ago
Gleb Mazovetskiy
e67ea9b006
Make `MissilesData` const
...
Instead of temporarily modifying `MissileData` around certain calls,
pass the arguments from the outside.
3 years ago
Gleb Mazovetskiy
98294e0ad5
Optimize `MissileData`: 32 bytes -> 24
...
23 bytes used, 1 spare byte in the padding.
3 years ago
staphen
72585098e4
Adjust position of Flame Wave missiles before processing
3 years ago
KPhoenix
d813f13700
`enum spell_id` -> `enum class SpellID`
3 years ago
Gleb Mazovetskiy
64730bd0bd
Optimize `MissileFileData` size: 80 bytes -> 32
3 years ago
Gleb Mazovetskiy
0a6a8e8aa0
Clean up missile data access
...
Replace enum static casts with `GetMissile(Sprite)Data`.
3 years ago
KPhoenix
7947b99511
Implement new enum class
3 years ago
Eric Robinson
d7b6c7dca8
Refactor Missile Function Names ( #5733 )
3 years ago
staphen
ed02eb58d4
Don't consume mana when Mana Shield is already active
3 years ago
DakkJaniels
fa56ae31ea
move damage formula for guardian firebolt to GuardianTryFireAt so each firebolt damage is randomized
3 years ago
DakkJaniels
fb420b1473
Consistency: use damage formulas if missile damage has not already been assigned
3 years ago
DakkJaniels
f750e77476
remove commented out code
3 years ago
DakkJaniels
48e562e875
clean up MI_Projectile
3 years ago
DakkJaniels
d2134f93cd
MI_Firebolt -> MI_Projectile. Calculate damage when missile is added.
3 years ago
Eric Robinson
30c1991039
`enum _mai_id` -> `enum class MonsterAIID` ( #5683 )
3 years ago
Anders Jenbo
c99f7cf644
Floating numbers ( #5639 )
...
Co-authored-by: qndel <stefan551@o2.pl>
Co-authored-by: Stephen C. Wills <staphen@gmail.com>
3 years ago
KPhoenix
8db521727d
`enum missile_id` -> `enum class MissileID`
...
Changes `enum missile_id` to `enum class MissileID`
3 years ago
KPhoenix
12fc02f7f5
Fix redundancy in AddBoneSpirit function
3 years ago
staphen
0d43f468e5
Improve missile collision interpolation logic
3 years ago
Anders Jenbo
0c5fd01067
Change missile_resistance into class DamageType
3 years ago
KPhoenix
a22389613d
Remove No Monster Heal from Fire Arrows
3 years ago
Gleb Mazovetskiy
09d7f99c32
Optimize IsTileSafe
...
Add dungeon flags for Fire/Lightning Wall and use them to check if the
monster considers the tile safe.
3 years ago
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