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
e9e67b3971
Load combined missile CLX in UNPACKED_MPQS mode
...
Companion PR:
https://github.com/diasurgical/devilutionx-mpq-tools/pull/8
2023-02-14 09:45:33 +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
e46d262c52
Fix length of Guardian idle animation
2023-02-06 01:19:54 +01:00
Gleb Mazovetskiy
64730bd0bd
Optimize MissileFileData size: 80 bytes -> 32
2023-02-03 19:00:17 +00:00
Gleb Mazovetskiy
25e9b7320d
Remove unused self-ID from Missile(File)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
DakkJaniels
d2134f93cd
MI_Firebolt -> MI_Projectile. Calculate damage when missile is added.
2023-01-30 19:01:18 +01:00
Gleb Mazovetskiy
7c53a5d5b3
Reduce ObjectData size: 24 bytes -> 11 bytes
...
1. Reduces sizes of integral fields.
2. Merges boolean flags into a single field.
2023-01-25 09:32:50 +00: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
Gleb Mazovetskiy
b281f0afac
Run tools/cpp_format_struct_table.py
2023-01-15 14:57:17 +01:00
Anders Jenbo
0c5fd01067
Change missile_resistance into class DamageType
2023-01-12 11:03:07 +01:00
Gleb Mazovetskiy
41f43ea3f5
Support unpacked MPQs from devilutionx-mpq-tools
...
https://github.com/diasurgical/devilutionx-mpq-tools produces an unpacked MPQ
with all the graphics converted to CLX and the unused files removed.
This is primarily useful on RAM-constrained platforms, such as PS2,
because it eliminates the MPQ overhead.
Adds a build option to load from such unpacked directories instead of the MPQ.
These directories are searched for in the same locations
where the MPQs would be searched for otherwise.
Example directory layout:
* /usr/local/share/diasurgical/devilutionx/diabdat/ -- unpacked and converted diabdat.mpq
* /usr/local/share/diasurgical/devilutionx/hellfire/ -- unpacked and converted hellfire MPQs (all of them merged into 1 directory)
* /usr/local/share/diasurgical/devilutionx/fonts/ -- unpacked fonts.mpq
* /usr/local/share/diasurgical/devilutionx/pl/ -- unpacked pl.mpq
These directory structure is produced by calling `unpack_and_minify_mpq`
2022-10-11 18:00:57 +01:00
Gleb Mazovetskiy
6327e713e0
Lowercase all file paths
...
We want to be able to use unpacked MPQs on low-end platforms
(PS2/rg99/etc).
This is tricky on case-sensitive filesystems. Avoids case issues by
lowercasing all paths in the code (then we'll just need lowercased
listfiles).
2022-08-20 23:49:23 +01:00
obligaron
68891a8df1
Rename MissileMovementDistrubution => MissileMovementDistribution
2022-08-20 23:41:40 +02:00
obligaron
044f900c60
Fix draw flag for MIS_HORKDMN (set to no drawing)
2022-08-06 08:21:04 +02: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
ac2bf9aaac
Limit what gets called in headless mode
2022-07-13 18:54:36 +02:00
Mikołaj Piróg
15989609a8
Members' name changes and comments in Monster struct ( #4861 )
2022-07-06 10:21:22 +02:00
DakkJaniels
46dcaf91af
fix comment labels in misdat
...
swap mlSFX and miSFX to match structure definition.
2022-03-28 03:08:35 +02:00
Gleb Mazovetskiy
f4bce38875
Use uint16_t for sprite widths
2022-03-06 04:49:13 +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
Gleb Mazovetskiy and Anders Jenbo
7e1fea6f76
clang-format all files in {Source,test}/
...
Also includes a few manual tweaks to comments and newlines for better results.
Co-authored-by: Anders Jenbo <[email protected] >
2021-11-24 23:44:12 +01:00
ephphatha
6fa3018f05
Move Init/FreeMissileGFX functions alongside MissileSpriteData array definition
...
Also combined the two free missile graphics functions as they were always called together (just slightly out of order previously).
2021-09-07 01:09:51 +02:00
Juliano Leal Goncalves
d82b3b542f
🚚 Rename 'MissileDataStruct' struct to 'MissileData' (#2803 )
...
* 🚚 Rename 'MissileDataStruct' struct to 'MissileData'
* 🚚 Rename 'MissileData' global array to 'MissilesData'
2021-09-06 12:59:43 +02:00
Anders Jenbo
9a6820493f
No missile golem
...
Simplify spawning golem, the golem will now spawn in the same tick
instead of next tick
2021-08-25 20:24:45 +02:00
qndel
3d92b6eea5
Rewrite manashield into not using a missile
2021-08-25 19:32:10 +02:00
qndel
d76158ca03
reflect without missile! ( #2659 )
2021-08-22 01:32:41 +02:00
staphen
c356db7d9f
Fix uninitialized variable exception raised in Visual Studio debugger
2021-08-13 18:19:12 +02:00
Anders Jenbo
c5e0966190
Clean up golem code
2021-08-13 03:59:29 +02:00
Anders Jenbo
fa7f3442e4
Fix loading monster missiles
2021-08-13 03:59:29 +02:00
Anders Jenbo
f289fbcec5
Remove dead missile code
2021-08-13 03:59:29 +02:00
Vladimir Olteanu
a437cb1af9
Fix MissileFileData arrays not getting properly filled
2021-08-13 00:07:46 +02:00
Anders Jenbo
ffc9b0e6a8
Apply clang-format
2021-08-12 00:22:30 +02:00
Vladimir Olteanu
b76e8c060b
Introduce MissileDataFlags
2021-08-12 00:19:09 +02:00
Vladimir Olteanu
4253ea7a39
Rename MisFileData to MissileFileData
2021-08-12 00:19:09 +02:00
Vladimir Olteanu
040ca7b1e9
Remove logic related to unused MFLAG_ALLOW_SPECIAL
2021-08-12 00:19:09 +02:00
Vladimir Olteanu
7482b23473
MissileSpriteData: move checks for hidden sprites to class members
2021-08-12 00:19:09 +02:00
Vladimir Olteanu
b5d6758295
Introduce AutofillArray
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
obligaron
5ed79c38ef
Introduce MissilePosition.StopMissile
2021-07-16 02:15:36 +02:00
Anders Jenbo
9ae908f947
Rename missile globals
2021-07-08 02:01:14 -07:00
obligaron
be53349c2d
Decouple missile movement from game logic ( #2322 )
2021-07-08 10:19:52 +02:00
Anders Jenbo
7e737cfa96
Merge remote-tracking branch 'refs/remotes/devilution/master'
2021-07-03 01:44:45 +02:00
obligaron
86e1d488e6
Draw Reflect Icon similiar to Manashield
2021-05-21 13:27:57 +02:00
obligaron
a3229741d1
🖌️ Refurbish tables in source code (clang-format off)
2021-04-25 23:48:25 +02:00
Anders Jenbo
b69d18f12d
🌐 Enable translation of all remaning strings
2021-04-25 21:32:41 +02:00
John Törnblom
e0dddf508a
Add automatically translated string literals ( #1694 )
2021-04-25 18:14:58 +02:00
Anders Jenbo
f004c78824
🧹 performance-unnecessary-value-param
2021-04-22 00:08:19 +02:00