Commit Graph
963 Commits
Author SHA1 Message Date
Anders Jenbo 625333dfb1 ♻️Clean up items 2021-06-24 10:45:50 -07:00
Andrew James 60a47caf1b Refactor Draw* functions to use Rectangle and Point types
Added overload for DrawString taking a Point to avoid creating a rect for callers which only use position. This also documents the way DrawString operates when passed a clipping rectangle with a dimension of 0.
As part of this overload removed the logic for 0 width regions from DrawString. This does change the behaviour of the Rectangle version if called with a rect with width 0, all callers using that behaviour have been updated in this commit.

Using Rectangle/Size allowed simplifying the logic for certain calls where they could use DrawText alignment flags, previously this was manually aligning by calculating dimensions and offsetting the position. This also fixes #2169

Also includes a few instances where a temporary buffer was used to set the text to be drawn with unbounded sprintf calls, replaced those with snprintf as is recommended in modern C applications. Moving to C++ strings would be good in a future refactor.
2021-06-24 01:36:06 +02:00
Anders Jenbo ee7b32d8f6 Player by reference part 3 2021-06-24 00:53:09 +02:00
qndel 92d1006134 Use std::move for premiumitems shift 2021-06-23 12:46:03 -07:00
Juliano Leal Goncalves 604b72bb12 Reword potion effect descriptions for consistency 2021-06-22 13:09:05 -07:00
Gleb Mazovetskiy e40b1963f9 🚚 engine.h: Extract CelSprite and file loading 2021-06-21 01:36:20 -07:00
Gleb Mazovetskiy dcf3397139 🚚 engine.h: Extract ActorPosition 2021-06-21 01:36:20 -07:00
Juliano Leal Goncalves d47fc924f3 ♻️ Use '_item_indexes' instead of 'int' for 'ItemStruct.IDidx' field 2021-06-14 02:07:06 +02:00
obligaron ab3f3f3ee7 Introduce ItemStruct.SetNewAnimation(bool) to start Animations only at one location 2021-06-08 10:12:09 +02:00
obligaron 6d5291b17d Enable ADL for Items 2021-06-08 10:12:09 +02:00
obligaron ccc1ccf9c3 Introduce ItemStruct.AnimInfo 2021-06-08 10:12:09 +02:00
Anders Jenbo 27591cc29f Fix spawn save game compatability 2021-06-06 04:51:43 +02:00
Juliano Leal Goncalves e67683e5be ♻️ Simplify 'GetSuperItemLoc' logic using 'Point'. 2021-05-31 06:05:35 +02:00
Juliano Leal Goncalves b0584f1925 ♻️ Simplify 'GetSuperItemSpace' logic using 'Point'. 2021-05-31 06:05:35 +02:00
Juliano Leal Goncalves 1cc121e95c ♻️ Simplify 'SpawnRock' logic using 'Point'. 2021-05-31 06:05:35 +02:00
Juliano Leal Goncalves 1bf319bc11 ♻️ Leverage 'Point' struct on 'ItemPlace' 2021-05-31 06:05:35 +02:00
Juliano Leal Goncalves 6aa6efb720 ♻️ Extract item position generation logic to common function 2021-05-31 06:05:35 +02:00
Juliano Leal Goncalves b04047ba4d ♻️ Leverage 'Point' struct on 'SpawnUnique' 2021-05-31 06:05:35 +02:00
Juliano Leal Goncalves 9c85e61025 ♻️ Leverage 'Point' struct on 'ItemSpaceOk' 2021-05-31 06:05:35 +02:00
qndel ab0478319c assign seed to quest items + rng cleanup 2021-05-28 20:02:58 +02:00
Kalebe Alves 118efe8e6d Use Point/SDL_Rect for control functions coordinate system 2021-05-28 19:57:16 +02:00
Gleb Mazovetskiy dd3ea66fa2 ♻️ Split getTextColor(bool) into 2 functions
This is a bit more readable than using a bool argument.
2021-05-28 13:38:36 +02:00
qndel 2f3cf65b27 cleanup getTextColor 2021-05-26 15:58:14 +02:00
qndel b1d74d2791 alt highlighting (#2060) 2021-05-25 23:47:29 +02:00
Anders Jenbo 68249d07e3 Correct false positives translation warnings
Fixes #2053
2021-05-25 01:29:05 +02:00
Anders Jenbo 8a7ec56d3a Player by reference part 2
This mostly change player to be by reference instead of by index.
But additionally it does stript checks for gold in the belt, move some
value types to the initialization and short circute a few functiongs.
2021-05-24 21:00:32 +02:00
obligaron d97131349e Unify player_graphic memory handling 2021-05-24 20:12:43 +02:00
obligaron 61ba5009ac Convert to CelSprite 2021-05-24 20:12:43 +02:00
obligaron 3067aeacb8 Remove PlayerStruct._pXYZWidth and replace it with calls to GetAnimationWidth 2021-05-24 20:12:43 +02:00
obligaron c424f601ec Change LoadPlrGFX from pnum to PlayerStruct 2021-05-24 20:12:43 +02:00
Jmgr 0e7ada15fc Apply new format to ngexttext translations 2021-05-21 01:02:45 +02:00
Jmgr bbd39aa513 Replace sprintfs with strcpy for translatable strings 2021-05-21 01:02:45 +02:00
Jmgr 6e85cde978 Update format strings 2021-05-21 01:02:45 +02:00
Jmgr 0c27e756f7 Add fmt::format 2021-05-21 01:02:45 +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
Vladimir Olteanu 0c7c71d579 Cleanup of items.cpp (#1967)
- Apply Point where applicable
- Deduplicate vendor logic
- Add comment about unhanded edge case in GetSuperItemLoc
- Initialize some variables at deceleration
2021-05-17 00:12:53 +02:00
obligaron 55fa72d138 When changing items hot-swap the hero animation data and don't start a new animation 2021-05-16 21:25:14 +02:00
arcas 6502a3ca4d Adding resources for translation (#1973) 2021-05-15 14:12:28 +02:00
obligaron 1385e47518 Fix UnitTests in DEBUG (Accessed not initialized ItemAnimations) 2021-05-15 02:08:26 +02:00
Anders Jenbo 6c8b116f6c 🐛 Evaluate item names the same as the original 2021-05-13 22:09:27 +02:00
Anders Jenbo 0c2042fa52 ♻️ Player by reference
Update Source/items.cpp
Update Source/lighting.cpp
Update Source/pack.cpp
asd


ads


as
2021-05-13 01:47:46 +02:00
Anders Jenbo 68e73c0dfe 🐛 Fix infopanel text color 2021-05-12 11:40:31 +02:00
Anders Jenbo e665a0c4b0 ♻️Draw info box text using DrawString 2021-05-10 22:28:21 +02:00
Anders Jenbo c5f0d1dbdd ♻️Use DrawString for rendering the unique item box 2021-05-08 18:48:19 +02:00
Anders Jenbo 68923c6c33 ✨ Generic game text render function
This should gradually replace all the direct rendering of game texts
throughout the code. The interface is made to closly mirror that of the
art fonts as that is what will eventually be used for rendering Unicode
fonts both in the menus and ingame.

fixup! ✨ Generic game text render function
2021-05-08 18:48:19 +02:00
Anders Jenbo 6321bf04d5 ♻️Pass player to towner by reference instead of index 2021-05-07 00:29:46 +02:00
Anders Jenbo c98a1409f9 ♻️Pass towners by reference instead of index 2021-05-07 00:29:46 +02:00
Gleb Mazovetskiy 0edfa3de66 🚚 Move CEL rendering to engine/render/cel_render.cpp 2021-05-07 00:16:40 +02:00
Juliano Leal Goncalves 39736e2538 ♻️ Pass 'PlayerStruct' pointer to 'ClrPlrPath' 2021-05-05 00:38:58 +02:00
thebigMuh 8e19ef5460 - Fixed outline drawing for item on cursor to match rest of game
- Made GetOutlineColor const
- Made gold outline golden again... because the white outline made me sad
2021-05-04 06:09:05 +02:00