Anders Jenbo
15ed246239
Merge branch 'master' of github.com:diasurgical/devilutionX into development
2023-08-26 01:09:03 +02:00
staphen
ab1af87bc9
Fix issues with light offset calculation
2023-08-17 11:07:28 +02:00
Gleb Mazovetskiy
c19bfe87fa
Remove utils/stdcompat/algorithm.hpp
2023-08-14 01:54:29 +01:00
Gleb Mazovetskiy
5bf0b8bc96
Add more missing <cstdint> includes
...
https://github.com/diasurgical/devilutionX/pull/6095 only added includes
for `uint32_t`, this PR also adds the includes for the remaining
integral types.
2023-05-10 16:29:27 +01:00
qndel
efaf334965
typos and code cleanup
2022-12-19 17:34:15 +01:00
KPhoenix
75d785a5f0
Bugfix: AnimationInfo integer division by 0
2022-12-19 01:32:37 +00:00
obligaron
5b11dfa2ed
Fix preview frame shown fragment overflow
2022-12-17 10:30:36 +00:00
obligaron
eca1a68bec
AnimationInfo: Use fixed point math for fractions
2022-11-06 12:31:40 +00:00
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.
2022-08-03 02:38:55 +02:00
obligaron
3c571bf64b
Avoid overflow of tickCounterOfCurrentFrame ( #4893 )
...
* When MFLAG_ALLOW_SPECIAL is set, don't call processAnimation (avoid overflow of tickCounterOfCurrentFrame)
2022-07-05 19:23:32 +02:00
k-bar
26de74f4a2
AnimationInfo class correct style ( #4870 )
...
* AnimationInfo class correct case-style for private members
clang-tidy warnings:
readability-identifier-naming invalid case style for private member
* AnimationInfo class correct case-style for members
clang-tidy warnings:
readability-identifier-naming invalid case style for member
* AnimationInfo class correct case-style for methods
clang-tidy warnings:
readability-identifier-naming invalid case style for method
* AnimationInfo class use nodiscard
clang-tidy warnings:
modernize-use-nodiscard function should be marked [[nodiscard]]
2022-07-03 16:55:37 +02:00
Gleb Mazovetskiy
21dc7f553d
Add OptionalCelSprite: smaller than std::optional
...
`CelSprite` data pointer can never be `nullptr`.
We implement a smaller `optional` for it by taking advantage of that.
2022-07-03 12:26:39 +01:00
obligaron
e87aca38bb
Change animation frames and tick per frame to int8_t
2022-07-03 10:20:42 +01:00
Gleb Mazovetskiy
a66ca44695
Zero-based frame indexing
...
Index frames starting at 0 instead of 1.
2022-04-14 04:39:26 +01:00
Gleb Mazovetskiy
7fede6c4cb
Clean up owned/unowned CelSprite ambiguity
...
Makes `CelSprite` unowned and adds a new `OwnedCelSprite` class for
owned sprites.
This clarifies ownership and makes the code cleaner in a number of
places.
Additionally, because the `CelSprite` class is now tiny (1 less
pointer), we can pass it by-value instead of by-reference, removing a
pointer indirection in the rendering functions.
2022-03-06 04:49:13 +01:00
obligaron
2843d99485
Fix walk stuttering with Preview Frame
2022-01-15 14:40:35 +01:00
obligaron
75760382ef
Regard preview frame in AnimationInfo
2022-01-12 12:26:39 +01:00
obligaron
a7f361de41
AnimationInfo: Change TicksSinceSequenceStarted and relevantAnimationTicksWithSkipping to float
2022-01-12 12:26:39 +01:00
Andrew James
949206424e
Enable clang-tidy in Visual Studio projects ( #3101 )
2021-10-12 00:32:57 +00:00
ephphatha
b15e08fc3f
Deduplicate logic in GetAnimationProgress
2021-10-11 18:59:02 +02:00
obligaron
e67ea3639f
Fix AnimationInfo::GetAnimationProgress() when normal animation logic is used (for example loaded save games)
2021-09-16 19:22:24 +02:00
ephphatha
67ecea1a42
Always set the monster animation when ChangeAnimationData is called
...
Required updating AnimationInfo to handle being passed 0 for the total framecount, previously it would call clamp with min > max which was invalid.
2021-09-12 02:27:47 +02:00
ephphatha
8e155e011f
Rename helpers on Monster to match AnimationInfo
2021-09-12 02:27:47 +02:00
Anders Jenbo
d523fc1e81
Cleanups
2021-08-02 10:12:40 +02:00
obligaron
551645060b
Fix item swapping and AnimationInfo::ChangeAnimationData
2021-07-26 22:46:16 +02:00
obligaron
54d63e2edd
Change AnimationInfo.pCelSprite to const
2021-07-12 07:40:38 -07:00
Anders Jenbo
2ca6e37c46
Clean up sub folders using clang-tidy/Android Studio
2021-07-08 03:30:25 -07:00
ephphatha
3520dc4201
Update numeric literals to use appropriate suffix
...
Mainly things like .F for floats instead of doubles in float context.
2021-07-05 08:52:05 -07:00
obligaron
3a9cc631c7
Rename DelayLen -> TicksPerFrame
...
Rename DelayCounter -> TickCounterOfCurrentFrame
2021-06-27 01:26:49 -07:00
obligaron
3ba4bac5e2
Harmonize DelayLen for Player and Monster (was 1-based on monseter (>= DelayLen) and 0-based on player (> DelayLen). Now both are 1-based (>= DelayLen)
2021-06-27 01:26:49 -07:00
Anders Jenbo
fa54499aeb
Clang-tidy: readability-uppercase-literal-suffix
...
Strip suffixes
2021-06-27 03:17:36 +02:00
Anders Jenbo
ec8d7bebe2
Clang-tidy: modernize-use-auto
2021-06-27 01:18:31 +02:00
obligaron
d4bda3c13e
ADL: correct comment typo
2021-06-26 13:30:36 -07:00
obligaron
801207a8ac
ADL: Handle incorrect TicksSinceSequenceStarted better
2021-06-26 13:30:36 -07:00
obligaron
fb23521288
Introduce AnimationInfo.IsPetrified to handle Stone Curse Spell
2021-06-25 11:52:12 -07:00
obligaron
a4cacfbcbe
Enable ADL for Monsters
2021-06-25 11:52:12 -07:00
Anders Jenbo
af254601d6
♻️ Apply clang-tidy to engine
2021-06-25 13:22:08 +02:00
qndel
6931c438d3
fix typo ( #2150 )
2021-06-13 20:15:23 +02:00
obligaron
61ba5009ac
Convert to CelSprite
2021-05-24 20:12:43 +02:00
qndel
69b903743a
fix typos
2021-05-23 05:52:52 +02:00
obligaron
a295586636
Support changing animation data on-the-fly even if the number of frames differ
2021-05-19 21:16:19 +02:00
obligaron
19615c6976
AnimationInfo: Add GetAnimationProgress()
2021-05-16 21:24:36 +02:00
obligaron
b94e599f5e
ADL: Advance skipped Frames in SetNewAnimation and remove logic from PM_XYZ
2021-05-09 09:53:53 +02:00
Anders Jenbo
c11945e62b
🎨 Fix line endings
2021-05-07 23:22:51 +02:00
Anders Jenbo
f579b2f287
Handle cel/cl2 files as byte arrays
2021-05-06 13:17:54 +02:00
obligaron
cb7819a75c
Introduce AnimationDistributionFlags::RepeatedAction
2021-05-06 07:52:17 +02:00
obligaron
b5954eb34b
Change AnimationDistributionParams to AnimationDistributionFlags
2021-05-06 07:52:17 +02:00
obligaron
b08e0c20dc
In repeated Animations show skipped Frames from previous Animation (repeated Attack/RangeAttack/Spell)
2021-05-06 07:52:17 +02:00
obligaron
401a820998
Rename GameTick to Tick (for variables)
2021-04-29 04:33:51 +02:00
obligaron
26601c98dc
Simplify GetFrameToUseForRendering (remove local variables and use member variables)
2021-04-29 04:33:51 +02:00