Commit Graph
71 Commits
Author SHA1 Message Date
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
ephphathaandAnders 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
Anders Jenbo 997c1dba55 🚚 Split up all.h in to proper header relations 2021-04-16 01:04:54 +02:00
Anders Jenbo 61244c4d93 ♻️ Rearange and apply more enums 2021-04-10 05:24:01 +02:00
Anders Jenbo bfb3c11c2b 🎨 Change namespace to devilution 2021-04-06 15:21:25 +02:00
Anders Jenbo 630e507f63 🚚 Apply namespace 2021-04-06 15:21:25 +02:00
pionere f5c1079d6f eliminate unused code 2021-02-19 22:04:11 +01:00
Anders Jenbo 3c5982083f Merge branch 'master' of github.com:diasurgical/devilution 2020-04-06 12:05:13 +02:00
Anders Jenbo f217b14e3e Order variables logically 2020-04-06 05:43:20 +02:00
Anders Jenbo 8f635b779c Correct style of checks 2020-04-06 05:43:20 +02:00
Anders Jenbo c39f668deb Enable some asserts that are helpful for testing 2020-04-06 05:43:20 +02:00
Anders Jenbo 776ab10476 Merge branch 'master' of github.com:diasurgical/devilution 2020-03-29 23:40:05 +02:00
Anders Jenbo 3c276a3cd3 Add documentation
- Add file documentation to about 1/4 of the files in Source
- Copy over a lot of the documentation from the sanctuary/notes repo
- Standardise all the existing documentation
- Create a configuration for Doxygen
- Add more documentation (engine.cpp is now fully documented)
2020-03-01 22:18:00 +01:00
Anders Jenbo 25993b4043 Merge branch 'master' of github.com:diasurgical/devilution 2020-02-14 23:03:31 +01:00
Anders Jenbo 20621a0642 add all.h and use in place of diablo.h (#2005)
Now diablo.h is treated in the same way as all other header files of
Source, as it only contains the declarations of global variables and
functions of diablo.cpp.

Besides consistency, this also enables mods to include diablo.h just
like any other header file without having to include every header file
(and without having to include C++ specific aspects of the now all.h).
2020-02-14 13:12:54 +01:00