Eric Robinson
5937734b85
Move *dat files to tables dir
2026-01-05 20:14:23 +01:00
Gleb Mazovetskiy
a7651f15d9
Extract HeadlessMode from diablo.h
...
Untangles some dependencies.
Many places that use `HeadlessMode` do not need all of `diablo.h`.
2025-01-09 12:21:26 +00: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
staphen
45da8b2295
Remove unique monster's light when no corpse is left behind
2023-04-25 19:16:44 +02: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
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
Anders Jenbo
16b65120ea
Clean up LevelMonsterTypes related code
2022-07-15 19:36:47 +02:00
ephphatha
1337ff6ea2
Add check if a monster potentially has leashed minions
2022-07-13 07:13:34 +02:00
Gleb Mazovetskiy
33ac2cca8e
♻️ Make Monster counters size_t
2022-07-12 03:04:53 +01:00
Mikołaj Piróg
15989609a8
Members' name changes and comments in Monster struct ( #4861 )
2022-07-06 10:21:22 +02:00
Gleb Mazovetskiy
6949a6f418
Monster: Remove MType/MData pointers
...
These pointers are redundant, replaces them with methods.
2022-07-03 13:21:11 +01:00
Mikołaj Piróg
7cab074aa5
Correct members' names in monster.h ( #4850 )
...
* Fix case in AnimStruct
* Rename CMonster members
2022-07-01 23:34:32 +02:00
Mikołaj Piróg
2e7ff45fbf
Monster global constants cleanup ( #4827 )
...
* Change #defines to constexpr const, add constexpr where applicable, fix typos
2022-07-01 00:43:03 +02:00
Anders Jenbo
6d56058708
Move level generation to subfolder
2022-06-23 09:21:58 +02: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
qndel
9ba64ad08b
TRN rewrite + bugfix ( #4056 )
...
* working new TRN system
* apply TRNs to all unique missiles
2022-02-20 14:28:51 +01:00
Gleb Mazovetskiy
a5e1fa5bbe
Load missile frames into a single buffer
...
Previously, the memory for each frame was allocated separately.
Changes it to allocate a single buffer for all the frames.
This has the following advantages:
1. Less bookkeeping overhead in the allocator.
2. Less alignment overhead (allocator results are max-aligned by default).
We can follow this up with a similar treatment for other multi-file
animations.
2022-02-01 04:04:59 +00:00
ephphatha and Anders Jenbo
b12de6fe12
Use scoped enum for Direction
...
Identified and removed an instance of Direction being used as an argument for a bool parameter
Removed a single-use temporary variable being cast from sprite frame to direction to size_t
Co-authored-by: Anders Jenbo <[email protected] >
Fix alignment of WalkSettings array
2021-09-12 02:27:47 +02:00
Juliano Leal Goncalves
0d3d4c14f6
🚚 Rename 'Dead' concept to 'Corpse' everywhere ( #2808 )
2021-09-06 12:49:00 +02:00
qndel
e355d03019
Rename SetDead
2021-08-21 02:11:41 +02:00
vlad
a07ea153ae
load animation into correct Dead slot - fixes crash on killing petrified monsters -
...
fixes https://github.com/diasurgical/devilutionX/issues/2633
2021-08-20 00:47:45 +02:00
Anders Jenbo
e9f1d6ad88
Fix crash on monster death with existing saves
...
fixes #2603
2021-08-15 04:08:05 +02:00
Anders Jenbo
f289fbcec5
Remove dead missile code
2021-08-13 03:59:29 +02:00
Vladimir Olteanu
040ca7b1e9
Remove logic related to unused MFLAG_ALLOW_SPECIAL
2021-08-12 00:19:09 +02:00
Vladimir Olteanu
3364a4e00c
Refactor MisFileData
...
MisFileData: make pinnedMem private
2021-08-12 00:19:09 +02:00
Anders Jenbo
77b72da276
♻️ Use monster by reference when possible
2021-07-14 20:22:35 -07:00
Anders Jenbo
ef6275caac
Clean up private function names
2021-07-12 17:59:22 -07:00
obligaron
54d63e2edd
Change AnimationInfo.pCelSprite to const
2021-07-12 07:40:38 -07:00
obligaron
3e57d0d69b
Introduce MonsterGraphic enum class
2021-07-12 07:40:38 -07:00
obligaron
5f7a2803fc
Introduce CMonster::GetAnimData
2021-07-12 07:40:38 -07:00
Anders Jenbo
9ae908f947
Rename missile globals
2021-07-08 02:01:14 -07:00
Anders Jenbo
07ad083fda
Rename monster globals
2021-07-08 02:01:14 -07:00
Anders Jenbo
cb564a2d54
Clean up A-D
2021-07-04 05:25:37 -07:00
Anders Jenbo
4eabc6024b
Apply various cleanups via Android Studio
2021-07-03 18:27:17 -07:00
Anders Jenbo
e11b86b6f1
Clang-tidy: llvm-namespace-comment
2021-06-27 01:44:20 +02:00
Anders Jenbo
de4ced7e4f
Clang-tidy: readability-qualified-auto
2021-06-27 00:56:08 +02:00
obligaron
b5ad92eb2c
Convert _mAnimData to CelSprite
2021-06-18 21:47:19 +02:00
obligaron
ceda0b46ce
Introduce InitDeadAnimationFromMonster
2021-06-18 21:47:19 +02:00
Juliano Leal Goncalves
b3ec79af4f
Leverage 'Point' in Lighting and Player functions ( #2048 )
2021-05-24 17:28:52 +02:00
Juliano Leal Goncalves
d55cd99dd5
🚚 Rename 'direction' enum to 'Direction'
2021-05-24 04:46:08 +02:00
Gleb Mazovetskiy
28182ca5e3
🧹 Fix a couple more compilation warnings
2021-05-01 23:55:45 +02:00
Vladimir Olteanu
4d5b9ac023
Coding style changes for dead.h, dead.cpp
2021-04-28 12:56:00 +02:00
Vladimir Olteanu
2a3cf98850
Slight cleanup of dead{.h,.cpp}
2021-04-28 12:56:00 +02:00
obligaron
239a43cc1c
Remove "AnimWidth2" expect for missiles ( #1680 )
2021-04-25 13:32:33 +02:00
Anders Jenbo
61d15e23db
🎨 Apply direction enum to monsters and relations
...
Missiles _mimfnum is being used for a lot more then just directions and
can also be a 16 degree direction so can't apply enum verbs and
restricitons to it in most cases. This in turns also affects SetMissDir
and some other functions that have to stay int.
2021-04-18 23:13:03 +02:00
Anders Jenbo
b238d320c2
🎨 Clean up dead.cpp
2021-04-18 21:21:51 +02:00
Anders Jenbo
01afe7c997
🎨 clang-tidy iterators
2021-04-18 21:21:51 +02:00
Anders Jenbo
d9c2108513
🎨 clang-tidy type definition
2021-04-18 21:21:51 +02:00