Commit Graph
38 Commits
Author SHA1 Message Date
ephphatha 9e76cd4ab7 Use object pointer for pcursobj 2022-07-19 13:20:24 +02:00
Gleb Mazovetskiy 8ca71272b8 Load all CEL as CL2
Convert CEL files to CL2 at load time. CL2 format is more efficient and is about as fast to render.

CEL vs CL2 sizes, on dLvl 5: https://gist.github.com/glebm/9bbdd76962abcd4fd2405ecd3379af97

Memory:

* Peak memory (while loading): -300 KiB
* Memory in-game (dLvl5): -700 KiB
* RG99 binary size: -15 KiB (1333096 -> 1317192)

Performance on rg99:

* On average, -1 FPS in town.
* Same FPS in dungeon (20 FPS on dLvl 1).
2022-07-19 10:59:35 +02:00
Anders Jenbo a7be622aa3 Clean up naming of event handler 2022-07-10 21:13:39 +02:00
Mikołaj Piróg 15989609a8 Members' name changes and comments in Monster struct (#4861) 2022-07-06 10:21:22 +02:00
ephphatha c68fcf3cb1 Apply MethodCase config to Rectangle::Contains
Also included Circle and VirtualButton classes due to the shared use.
2022-06-24 00:39:55 +02:00
Anders Jenbo 6d56058708 Move level generation to subfolder 2022-06-23 09:21:58 +02:00
Gleb Mazovetskiy 8e9c9e0238 Reduced the size of OwnedCelSprite* by 8 bytes
`OwnedCelSpriteWithFrameHeight`: 40 -> 32
2022-06-20 01:11:22 +02:00
Gleb Mazovetskiy 2386fd12a9 Fix a few warnings 2022-06-15 13:01:20 +02:00
staphen b349e29058 Correctly indicate when scroll can be used on virtual gamepad 2022-06-07 01:35:20 +02:00
qndel 354e329644 Players[MyPlayerId] -> MyPlayer 2022-05-31 05:35:52 +02:00
staphen ef9ae41f6a Fix item graphics on potion buttons for virtual gamepad 2022-04-24 19:22:59 +02:00
ephphatha 64a2c41b2c Set clang-tidy config for MethodCase option
Previously this was falling back to FunctionCase, leading to inconsistent casing of class methods throughout the codebase. Applied to Item as an example.
2022-04-20 13:50:57 +02:00
Anders Jenbo dc706e8ed5 Use HoldItem for determining if an item is held
This cleans up a bit of code and solves a few edge cases where an item
could be lost, the game be unresponsive, or miss fire an event during
lag cause of the cursor not reflecting the currently held item.
2022-04-18 11:27:07 +02:00
staphen 6a30cd3950 Add gamepad support for stash 2022-03-30 23:12:09 +02:00
Anders Jenbo 9226f1435c Clean up PotionButtonRenderer 2022-03-30 22:46:10 +02:00
Anders Jenbo a48f89007d Implement stash 2022-03-18 06:01:53 +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
obligaron 234a053863 Change Missiles Array to std::list 2022-01-20 23:12:48 +01:00
Anders Jenbo 2e0a73e967 Disable stand button when in town
Fixes #3290
2022-01-03 23:26:33 +01:00
Anders Jenbo 6b2481a76c Touch support on all SDL2 platforms 2022-01-02 11:37:38 +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
staphen e2408bc6bc [Virtual Gamepad] Set primary action button graphic to apply in char panel when applying stat points for level up 2021-10-28 08:36:19 +02:00
staphen 85f0e7b8c3 Add button for standing still to attack 2021-10-26 07:54:51 +02:00
Anders Jenbo 609414fd69 [touch] Indicate level up in a touch friendly way 2021-10-26 07:52:06 +02:00
staphen ccd8f114f8 [Virtual Gamepad] Add menu panel to top-right corner 2021-10-26 05:14:46 +02:00
Anders Jenbo 396aa449d2 [touch] Update button faces 2021-10-26 05:02:10 +02:00
Anders Jenbo 488acf0eba [touch] Fix some button faces 2021-10-25 08:05:07 +02:00
Anders Jenbo 284f0347cc [touch] Add additional button faces
Apply color correciton
2021-10-25 05:49:53 +02:00
Anders Jenbo 8042bf1ab9 [gamepad] Render joystick on top of buttons 2021-10-19 22:10:05 +02:00
staphen 06801789e2 Move potion buttons to the left side 2021-10-11 11:32:05 +02:00
staphen 271740a2bc Fix case for blank virtual gamepad potion buttons 2021-09-26 01:52:19 +02:00
staphen d220129ddc Only render the virtual gamepad when the game is running 2021-09-26 01:52:19 +02:00
staphen b8950877c5 Add buttons for using potions from belt 2021-09-25 23:21:25 +02:00
staphen 1142d2ee7b Hardware rendering for the virtual gamepad 2021-09-22 00:32:17 +02:00
staphen 471a435209 Organize virtual gamepad button graphics into frames 2021-09-21 05:19:46 +02:00
staphen 60492ef954 Add proper graphics for gamepad 2021-09-16 19:25:31 +02:00
staphen 599b29d825 Add renderer for displaying virtual gamepad on screen 2021-09-16 19:25:31 +02:00