Panagiotis Georgiadis
57fbdff0a2
Add Dreamcast platform support
...
Signed-off-by: Panagiotis Georgiadis <pgeorgia@redhat.com>
Made-with: Cursor
2 weeks ago
Eric Robinson
e6032a69a8
Split control.cpp ( #8347 )
3 months ago
Eric Robinson
c26801c8e5
Fix stash text height
3 months ago
Eric Robinson
7e8173e6ff
Add Player hasNoLife helper ( #8302 )
3 months ago
Gleb Mazovetskiy
88f706e0d1
SDL3: Add some backports / compat helpers
5 months ago
Anders Jenbo
1c76897f2c
Apply simple const rules using clang-tidy
7 months ago
Eric Robinson
e303a82b1c
Floating Item Info Box ( #8000 )
7 months ago
Eric Robinson
8eddf55c3f
Stores - IsPlayerInStore() ( #7843 )
1 year ago
Gleb Mazovetskiy
a7651f15d9
Extract `HeadlessMode` from `diablo.h`
...
Untangles some dependencies.
Many places that use `HeadlessMode` do not need all of `diablo.h`.
1 year ago
Andrew James
c7abf2f778
Extract logic from CheckInvCut/AutoPlaceItemInInventory ( #7494 )
...
* Remove unnecessary namespace
* Extract FindSlotUnderCursor
* Split logic for finding a space in the inventory to dedicated functions
1 year ago
Eric Robinson
e90855b3c4
Rename stores.cpp global variables ( #7425 )
2 years ago
Eric Robinson
6396af1ff5
Cleanup panel code (Part 2) ( #7421 )
2 years ago
obligaron
2da492d203
Change some functions to Player reference
2 years ago
Anders Jenbo
bb2e189327
Convert _sfx_id in to class enum
2 years ago
Gleb Mazovetskiy
55b0fc5c26
Text inputs: Selection, copy, cut
...
Adds shift selection, Ctrl+C, and Ctrl+X handling.
Also fixes left-right movement for non-ASCII characters.
2 years ago
Gleb Mazovetskiy
e5881688f4
`text_render`: Replace optional args with struct
...
4 options args are a bit unwieldy, especially when you want
to pass only the first and the last one.
With a struct, there is no need to specify the default values
for the args in between.
2 years ago
Gleb Mazovetskiy
09ab58343c
Migrate gold drop/withdrawal to `text_input`
...
With this, all text input is handled in a unified way.
2 years ago
ephphatha
24a20ce8e2
Extract uses of MyPlayer to prevent future crashes in tests/game init
3 years ago
ephphatha
bd8aab0aff
handle stash item swapping using the gamepad a bit better
3 years ago
Gleb Mazovetskiy
5355146d51
Use structured bindings
3 years ago
ephphatha
dd296d25e0
Find the closest point when pasting items on the edge of the stash
3 years ago
Stephen C. Wills
45dbe6aa61
Shift software cursor graphic and remove special casing ( #6512 )
3 years ago
Gleb Mazovetskiy
9ae72f0269
Remove `PointsInRectangle` factory functions
...
These are no longer needed in C++17 thanks to CTAD.
3 years ago
Gleb Mazovetskiy
8c1a847f41
Remove utils/stdcompat/string_view.hpp
3 years ago
Gleb Mazovetskiy
c19bfe87fa
Remove utils/stdcompat/algorithm.hpp
3 years ago
Gleb Mazovetskiy
5bf0b8bc96
Add more missing <cstdint> includes
...
https://github.com/diasurgical/devilutionX/pull/6095 only added includes
for `uint32_t`, this PR also adds the includes for the remaining
integral types.
3 years ago
obligaron
b87711bc08
Reintroduce Player::spellFrom to seperate teleport cursor from queued spell
3 years ago
obligaron
1522dc7031
Multiplayer: Add arena potions
3 years ago
obligaron
590c990c80
Introduce Item::getName
3 years ago
obligaron
2296bf5625
Use StashStruct::EmptyCell instead for empty stash item check
3 years ago
staphen
58b48e17ea
Fix OOB access when accessing stash
3 years ago
ikonomov
49894785b5
Update stash.cpp
3 years ago
obligaron
715e689ecb
Introduce Item::isUsable()
3 years ago
KPhoenix
a1fbf5253f
`enum talk_id` -> `enum class TalkID`
3 years ago
Gleb Mazovetskiy
1788d2f8ec
Remove miniwin
...
Event handling code moved to `engine/events.{hpp,cpp}`.
3 years ago
Gleb Mazovetskiy
ba56673d55
Only load stash graphics in town
...
Saves 69 KiB in the dungeon
3 years ago
KPhoenix
069ba7f1d4
[QOL] Colored slot backs ( #5266 )
3 years ago
Gleb Mazovetskiy
759ca7f055
`WorldTileRectangle/Size`
...
Adds a custom sized type for the world tile rectagle.
This allows us to better express intent.
It also allows us to make certain globals smaller, e.g. `THEME_LOC`.
3 years ago
staphen
8b6db3a678
Get rid of panelstr, pnumlines, and ClearPanel()
4 years ago
Gleb Mazovetskiy
c351acbf7e
Remove redundant devilutionx.mpq check
...
We now check it only once in `CheckArchivesUpToDate`.
We then use `LoadClx` instead of `LoadOptionalClx` throughout.
4 years ago
Gleb Mazovetskiy
17a97450bc
Convert assets to CLX
...
Converted using the following commands:
```
cd Packaging/resources/assets
pcx2clx --transparent-color 1 --num-sprites 256 fonts/*.pcx && rm fonts/*.pcx
pcx2clx --num-sprites 2 ui_art/dvl_but_sml.pcx && rm ui_art/dvl_but_sml.pcx
pcx2clx --transparent-color 1 data/hintbox.pcx data/hintboxbackground.pcx && rm data/hintbox.pcx data/hintboxbackground.pcx
pcx2clx --transparent-color 1 --num-sprites 6 data/hinticons.pcx && rm data/hinticons.pcx
pcx2clx --num-sprites 2 data/panel8buc.pcx data/dirtybuc.pcx data/dirtybucp.pcx && rm data/panel8buc.pcx data/dirtybuc.pcx data/dirtybucp.pcx
pcx2clx --transparent-color 1 data/healthbox.pcx && rm data/healthbox.pcx
pcx2clx --transparent-color 1 --num-sprites 6 data/resistance.pcx && rm data/resistance.pcx
pcx2clx --transparent-color 1 --num-sprites 5 data/monstertags.pcx && rm data/monstertags.pcx
pcx2clx --transparent-color 1 data/stash.pcx && rm data/stash.pcx
pcx2clx --transparent-color 1 --num-sprites 5 data/stashnavbtns.pcx && rm data/stashnavbtns.pcx
pcx2clx **/*.pcx && rm **/*.pcx
git checkout master -- ui_art/black_diablo.pcx ui_art/black_hellfire.pcx data/charbg.pcx data/talkbutton.pcx data/panel8bucp.pcx
rm ui_art/black_diablo.clx ui_art/black_hellfire.clx data/charbg.clx data/talkbutton.clx data/panel8bucp.clx
```
4 years ago
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.
4 years ago
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).
4 years ago
Gleb Mazovetskiy
a4ac41cece
Replace `DVL_VK` virtual key codes with `SDLK`
4 years ago
Anders Jenbo
3ae834148a
Split event handeling from general miniwin features
4 years ago
Anders Jenbo
2d21fc372e
Remove more miniwin code
4 years ago
Gleb Mazovetskiy
197e1180b2
Add StrCat and StrAppend
...
Adds simple string / integer concatenation functions.
Many of the uses of `fmt::format` are simply concatenation
of a few strings and integers.
`StrCat` is an easier-to-read alternative to such uses of `fmt`.
4 years ago
Cesar Canassa
e538acb248
📝 Fixes Doxygen warnings ( #4904 )
4 years ago
Anders Jenbo
d82f2ebc9e
Pass players by reference instead of an index
4 years ago
ephphatha
c68fcf3cb1
Apply MethodCase config to Rectangle::Contains
...
Also included Circle and VirtualButton classes due to the shared use.
4 years ago