Commit Graph
510 Commits
Author SHA1 Message Date
Gleb Mazovetskiy 48ff656dc0 Load monster graphics into a single buffer
Follow-up to a5e1fa5bbe, which loaded
the missiles into a single buffer.
2022-02-17 22:02:41 +00: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
qndel 9536927301 Display hp/mana values on life/mana orbs (#4006) 2022-01-27 12:19:32 +01:00
obligaron 234a053863 Change Missiles Array to std::list 2022-01-20 23:12:48 +01:00
obligaron 35dc64312e Show preview CelSprite for player actions (Introduce PlayerStruct.pPreviewCelSprite and UpdatePreviewFrame) 2022-01-12 12:26:39 +01:00
obligaron ac0bd7bb58 DrawPlayer: Calculate Width2 later 2022-01-12 12:26:39 +01:00
Gleb Mazovetskiy e12adf689e Fix windows build 2022-01-06 13:43:01 +00:00
Anders Jenbo 6b2481a76c Touch support on all SDL2 platforms 2022-01-02 11:37:38 +01:00
Trihedraf bb68c800bc move FPS display down due to new display of difficulty 2022-01-01 09:34:56 +01:00
ephphatha 279fbe32b3 Tidy up checks for missile collision with objects/tiles
This was repeated in multiple places with essentially identical logic. Can expose the existing missiles.cpp function to capture the use in scrollrt.cpp
2021-12-28 16:01:37 +01:00
ephphatha 01ffc2c501 Use ObjectAtPosition helper in DrawObject 2021-12-28 16:01:37 +01:00
Gleb Mazovetskiy c57644970f Move UiFlags and UiPanels into their own files
The first breaks circular dependency between `DiabloUI` and `text_render`.
The latter one moves `UiPanels` to a more appropriate place.
2021-11-25 12:22:27 +01:00
Gleb MazovetskiyandAnders 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
obligaron 677303cba9 Reduce use of view globals in game menu 2021-11-20 21:57:32 +01:00
qndel 4072bd351f fix debug display in town 2021-11-14 19:49:31 +01:00
Anders Jenbo 56170b3372 Clean up id normalization 2021-11-07 23:15:10 +01:00
qndel 53f89fb9d9 debug fps command (#3418) 2021-11-07 11:23:31 +00:00
Andrew James 796e2813cf Use scoped enums for DungeonFlags/BFLAG (#3135) 2021-11-07 03:11:16 +01:00
qndel 46ed79ad42 add megatiles to tiledata (#3211) 2021-11-06 18:53:53 +01:00
ephphatha 782e07d967 Refactor DrawObject to avoid repeated Objects lookup
The check if the object position is offset is not strictly necessary as a displacement of {0, 0} remains the same after the world/screen transform.
2021-10-30 09:08:11 +02:00
Anders Jenbo 609414fd69 [touch] Indicate level up in a touch friendly way 2021-10-26 07:52:06 +02:00
qndel 0ccdf940f7 fix bounds checks (#3237) 2021-10-24 17:20:04 +02:00
Anders Jenbo 1ba7e07b29 Do not show the cursor when using a touch device 2021-10-20 05:08:45 +02:00
obligaron f9b306d24f Change EnableFrameCount() from toggle to enable only 2021-10-14 19:34:59 +02:00
qndel f8cda02456 apply bounds check function 2021-10-12 01:18:28 +02:00
staphen 1142d2ee7b Hardware rendering for the virtual gamepad 2021-09-22 00:32:17 +02:00
obligaron e62aaa562f Fix missiles don't hit horizontal walking players/monsters 2021-09-17 21:03:41 +02:00
staphen 599b29d825 Add renderer for displaying virtual gamepad on screen 2021-09-16 19:25:31 +02:00
obligaron 9678d002d3 Reduce exported functions in debug.h 2021-09-16 19:18:06 +02:00
Vladimir Olteanu d4d89077cd Don't free PalSurface when it was obtained from SDL_GetVideoSurface 2021-09-13 23:07:04 +02:00
qndel a0461bd1c0 stop displaying 0's in tiledata debug command 2021-09-12 18:15:45 +02:00
qndel d05316c67d tiledata debug command 2021-09-12 15:20:27 +02:00
ephphatha 87a33097a0 Rename ScrollDirection enum to follow convention
Pretty sure the backing type can be left to the default as well but I haven't had the time to investigate where it's used fully.
2021-09-12 02:27:47 +02: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
Anders Jenbo 7169882b1f ✨ Implement new font rendering 2021-09-12 01:37:28 +02:00
Siddharth singh chouhan ec1850e295 Move documentation from implementations to declarations #2735 (#2836) 2021-09-10 21:54:22 +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
Juliano Leal Goncalves 32e22a16b3 ♻️ Leverage conversion constructor for 'Direction' to 'Displacement'
This makes code more consistent overall as we use the same pattern for dealing with Sizes.
2021-09-06 12:57:59 +02:00
Juliano Leal Goncalves 0d3d4c14f6 🚚 Rename 'Dead' concept to 'Corpse' everywhere (#2808) 2021-09-06 12:49:00 +02:00
Juliano Leal Goncalves 84ede906a0 ♻️ Replace usages of 'ShiftGrid' against 'Point' values with direct offset/direction-based increments 2021-09-06 00:31:25 +02:00
Juliano Leal Goncalves f5e88b0d9e ♻️ Leverage 'Point' in 'DrawTileContent' function 2021-09-06 00:31:25 +02:00
Juliano Leal Goncalves 5985bf10a0 ♻️ Leverage 'Point' in 'DrawDeadPlayer' function 2021-09-06 00:31:25 +02:00
Juliano Leal Goncalves 184adcefea ♻️ Leverage 'Point' in 'DrawMonster' function 2021-09-06 00:31:25 +02:00
Juliano Leal Goncalves 322d8b340e ♻️ Leverage 'Point' in 'DrawMonsterHelper' function 2021-09-06 00:31:25 +02:00
Juliano Leal Goncalves 11a6be073c ♻️ Leverage 'Point' in 'DrawPlayerIconHelper' function 2021-09-06 00:31:25 +02:00
Juliano Leal Goncalves 66c8bb68af ♻️ Leverage 'Point' in 'DrawPlayerIcons' function 2021-09-06 00:31:25 +02:00
Juliano Leal Goncalves 1f264f7eb4 ♻️ Leverage 'Point' in 'DrawPlayer' function 2021-09-06 00:31:25 +02:00
Juliano Leal Goncalves 3a9b4c02c1 ♻️ Leverage 'Point' in 'DrawPlayerHelper' function 2021-09-06 00:31:25 +02:00
Juliano Leal Goncalves bb093ff3a2 ♻️ Leverage 'Point' in 'DrawItem' function 2021-09-06 00:31:25 +02:00
Juliano Leal Goncalves db3ec3f329 ♻️ Leverage 'Point' in 'DrawObject' function 2021-09-06 00:31:25 +02:00