Commit Graph
369 Commits
Author SHA1 Message Date
Anders Jenbo 1cc0eb25ca ♻️Use ranges for loops (clang-tidy) 2021-06-25 13:22:08 +02: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
Gleb Mazovetskiy e40b1963f9 🚚 engine.h: Extract CelSprite and file loading 2021-06-21 01:36:20 -07: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
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
Anders Jenbo 6ce8f13751 Apply clang-tidy to more code and do some related cleanups 2021-05-24 05:27:06 +02:00
Gleb Mazovetskiy 8ceb36a4cb ♻️ GetItemTextColor(item) -> item.getTextColor()
This will help with the Alt highlight feature.
2021-05-23 18:45:01 +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
Anders Jenbo 34744c068f ♻️Consitantly use %i and not %d 2021-05-15 14:17:52 +02:00
arcas 6502a3ca4d Adding resources for translation (#1973) 2021-05-15 14:12:28 +02:00
Anders Jenbo 18aa04fa4f ♻️Use common text rendering for store menus 2021-05-14 19:11:43 +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 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 4b577329f4 ♻️Refactor towner initialization 2021-05-07 00:30:23 +02:00
Anders Jenbo 6321bf04d5 ♻️Pass player to towner 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
Gleb Mazovetskiy 1b8b62a8c2 ♻️ Store CEL width with the sprite itself
Instead of passing the CEL sprite width when drawing, store the CEL
width at load time in the new `CelSprite` struct.

Implemented for most sprites except towners, missiles, or monsters.
2021-05-01 20:51:55 +02:00
Anders Jenbo 48dbb47d70 🌐 Apply static translations 2021-04-29 01:21:28 +02:00
thebigMuh ad8f342db0 Adding constness 2021-04-26 23:30:02 +02:00
Anders Jenbo dbfa9c27a5 ✨ Enable translation for all menus 2021-04-25 06:55:11 +02:00
Jmgr ef0ca794bc Use system libfmt by default if version >= 7.0.0
Allow non-strict ansi functions

Cleanup
2021-04-25 02:39:42 +02:00
Jmgr f3a401b5f6 Add the fmt library as a dependency and add some examples
Attempt at fixing missing functions on some platforms
2021-04-25 02:39:42 +02:00
Anders Jenbo 7912e510f0 🎨 Clean up overuse of SDL types 2021-04-24 17:07:07 +02:00
Anders Jenbo 593c6a6f17 🎨 Drop unused param and rename random_ to GenerateRnd 2021-04-22 00:08:19 +02:00
Anders Jenbo d024f79b0e 🧹 performance-unnecessary-value-param 2021-04-22 00:08:19 +02:00
Jmgr 1d84156509 Simplify bitshift divisions/multiplications 2021-04-21 05:31:17 +02:00
Anders Jenbo 9e307a0d4a 🎨 Rename towner[] to towners[] 2021-04-19 22:42:19 +02:00
Anders Jenbo 373f28736f 🎨 Acceptable parts of modernize-* 2021-04-19 22:42:19 +02:00
Anders Jenbo bb4e1960e7 🎨 modernize-use-nullptr 2021-04-19 16:02:05 +02:00
Anders Jenbo c89bd9c001 🚨 Fix remaning warnings for clang and gcc 2021-04-19 02:44:39 +02:00
Gleb Mazovetskiy 95946e3a7c 🧹 Cleanup unused variables (#1584)
Fixes `unused-variable` and `unused-but-set-variable` compiler warnings.
2021-04-18 18:15:47 +02:00
qndel 76b8aca1c4 remove unique item line from shops 2021-04-17 23:42:46 +02:00
qndel 2302ee27aa make unique items display gold in stores 2021-04-16 17:27:51 +02:00
Anders Jenbo 997c1dba55 🚚 Split up all.h in to proper header relations 2021-04-16 01:04:54 +02:00
Austin Wagner c46d31c993 Fix manual gold stacking when max is modified
Affects dragging and dropping gold in inventory and gaining gold via
purchases when the Auric Amulet is equipped
2021-04-12 10:41:11 +02:00
Anders Jenbo 61244c4d93 ♻️ Rearange and apply more enums 2021-04-10 05:24:01 +02:00
Anders Jenbo 20186e0370 🎨 Replace TRUE/FALSE with true/false
fix


Fix


fix
2021-04-09 15:13:02 +02:00
Anders Jenbo 93d42b62b8 ♻️ Change BOOL to bool 2021-04-09 15:13:02 +02:00
Juliano Leal Goncalves 1c1cf41eae 🔥 Remove unnecessary cursor-related logic in StoreAutoPlace 2021-04-07 18:34:02 +02:00
Juliano Leal Goncalves b9e19fe84f ♻️ Simplify adding items to inventory by reusing 'AutoPlaceItemInInventory' 2021-04-07 18:34:02 +02:00
Juliano Leal Goncalves da18b0f97b ♻️ Reuse 'AutoPlaceItemInInventory' inside 'StoreAutoPlace' 2021-04-07 18:34:02 +02:00
Juliano Leal Goncalves bb61dfc68b ♻️ Reuse 'AutoPlaceItemInBelt' inside 'StoreAutoPlace' 2021-04-07 18:34:02 +02:00
Juliano Leal Goncalves cae4461c39 ♻️ Reuse existing functions in place of 'SpecialAutoPlace' 2021-04-07 18:34:02 +02:00
Juliano Leal Goncalves 462acd9422 ♻️ Replace 'BOOL' macro with 'bool' type on 'AutoPlaceItemInInventorySlot' 2021-04-07 18:34:02 +02:00
Juliano Leal Goncalves 1c15e244b2 🚚 Rename 'AutoPlace' to 'AutoPlaceItemInInventorySlot' 2021-04-07 18:34:02 +02:00
Juliano Leal Goncalves 8e22f3a056 ♻️ Pass ItemStruct on inv AutoPlace function 2021-04-07 18:34:02 +02:00
Anders Jenbo bfb3c11c2b 🎨 Change namespace to devilution 2021-04-06 15:21:25 +02:00