Commit Graph
925 Commits
Author SHA1 Message Date
Anders Jenbo e969a8ad01 Invert player to vision relation 2023-04-21 21:25:19 +02:00
Anders Jenbo 13c5c09990 Clean up Light related naming
A few are left unchanged as they will be removed in a later commit
2023-04-21 21:25:19 +02:00
obligaron 40bb3aeb45 Replace earflag with DeathReason 2023-04-14 23:34:54 +02:00
staphen 57cc5ee73e Fix OOB when triggering a Nova chest 2023-04-08 09:12:06 +02:00
obligaron e64270bfc6 Fix Flash hits north east direction 2023-03-12 16:00:56 +01:00
Gleb Mazovetskiy e67ea9b006 Make MissilesData const
Instead of temporarily modifying `MissileData` around certain calls,
pass the arguments from the outside.
2023-02-15 10:47:08 +00:00
Gleb Mazovetskiy 98294e0ad5 Optimize MissileData: 32 bytes -> 24
23 bytes used, 1 spare byte in the padding.
2023-02-07 08:08:04 +01:00
staphen 72585098e4 Adjust position of Flame Wave missiles before processing 2023-02-06 02:07:42 +01:00
KPhoenix d813f13700 enum spell_id -> enum class SpellID 2023-02-05 10:24:58 +00:00
Gleb Mazovetskiy 64730bd0bd Optimize MissileFileData size: 80 bytes -> 32 2023-02-03 19:00:17 +00:00
Gleb Mazovetskiy 0a6a8e8aa0 Clean up missile data access
Replace enum static casts with `GetMissile(Sprite)Data`.
2023-02-03 14:37:44 +00:00
KPhoenix 7947b99511 Implement new enum class 2023-02-03 05:05:12 +01:00
Eric Robinson d7b6c7dca8 Refactor Missile Function Names (#5733) 2023-02-03 03:27:57 +01:00
staphen ed02eb58d4 Don't consume mana when Mana Shield is already active 2023-02-01 04:04:03 +01:00
DakkJaniels fa56ae31ea move damage formula for guardian firebolt to GuardianTryFireAt so each firebolt damage is randomized 2023-01-30 20:19:39 +01:00
DakkJaniels fb420b1473 Consistency: use damage formulas if missile damage has not already been assigned 2023-01-30 19:01:18 +01:00
DakkJaniels f750e77476 remove commented out code 2023-01-30 19:01:18 +01:00
DakkJaniels 48e562e875 clean up MI_Projectile 2023-01-30 19:01:18 +01:00
DakkJaniels d2134f93cd MI_Firebolt -> MI_Projectile. Calculate damage when missile is added. 2023-01-30 19:01:18 +01:00
Eric Robinson 30c1991039 enum _mai_id -> enum class MonsterAIID (#5683) 2023-01-28 00:10:15 +01: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
KPhoenix 12fc02f7f5 Fix redundancy in AddBoneSpirit function 2023-01-15 14:58:12 +01:00
staphen 0d43f468e5 Improve missile collision interpolation logic 2023-01-12 15:32:08 +01:00
Anders Jenbo 0c5fd01067 Change missile_resistance into class DamageType 2023-01-12 11:03:07 +01:00
KPhoenix a22389613d Remove No Monster Heal from Fire Arrows 2022-12-31 22:13:58 +01:00
Gleb Mazovetskiy 09d7f99c32 Optimize IsTileSafe
Add dungeon flags for Fire/Lightning Wall and use them to check if the
monster considers the tile safe.
2022-12-09 05:00:14 +01:00
obligaron 610e80f098 Sync break crux 2022-11-14 06:58:56 +01:00
Gleb Mazovetskiy 6dca019de2 Use function_ref instead of function
`function_ref` is a lightweight function pointer,
whereas `std::function` always involves a heap allocation.
2022-11-02 11:46:15 +00: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 702fedbc54 Remove ConsumeSpell() from AddMissile() functions 2022-10-23 10:10:57 +02:00
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`.
2022-10-16 03:53:26 +01:00
obligaron 795a43dd89 Add Arena Support 2022-10-14 16:25:30 +02:00
ephphatha ea3ecbd619 Use _item_indexes type where appropriate 2022-10-11 18:51:13 +02:00
ephphatha 28d685ea85 Save and restore item seed when downgrading potions from steal trap 2022-10-11 11:39:47 +02:00
obligaron 7ad5a45905 Fix warp position offset and adjust some spawn positions (#5364) 2022-09-25 02:20:35 +02:00
Mikołaj Piróg 5e340d3261 Replace level member with a member function in monster (#5336) 2022-09-17 11:39:44 +02:00
obligaron 72dc999aba Fix cathedral warp for upstairs 2022-09-10 04:40:00 +02:00
obligaron 948e74c539 Fix crypt warp 2022-09-10 04:40:00 +02:00
obligaron 9c97b302cd Simplify AddWarp 2022-09-10 04:40:00 +02:00
zaid-ismail031 af32a42e53 Added clang formatting to missiles.cpp. 2022-08-30 21:25:44 +02:00
zaid-ismail031 b0c9a8024e Refactor missiles.cpp to use Direction enum instead of magic Point/Displacement constants. 2022-08-30 21:25:44 +02:00
Anders Jenbo f8dca40427 Merge branch 'master' of https://github.com/diasurgical/devilution 2022-08-27 02:41:28 +02:00
obligaron deb0d6d9e1 Use missile helpers in MoveMissile/UpdateMissileRendererData (#5291) 2022-08-26 21:50:42 +02:00
obligaron 68891a8df1 Rename MissileMovementDistrubution => MissileMovementDistribution 2022-08-20 23:41:40 +02:00
obligaron 4b93249eee Use MoveMissile in SpawnLightning to correctly check walls 2022-08-20 23:41:40 +02:00
obligaron 9d68478cb4 Split MoveMissile out of MoveMissileAndCheckMissileCol 2022-08-20 23:41:40 +02:00
obligaron 4dc0666b12 Resurrect SyncPositionWithParent 2022-08-12 23:44:16 +02:00
Vladimir Olteanu 58ae9169f1 Item effect cleanup (#5229) 2022-08-11 01:00:38 +02:00