Gleb Mazovetskiy
f7335e9df7
Xbox nxdk: Set gamepad type
...
Set the gamepad type to Xbox for the original Xbox.
3 years ago
Gleb Mazovetskiy
12c7dab3f3
Define gamepad type for SDL1 handhelds
3 years ago
Gleb Mazovetskiy
6150973c1b
Clean up gamepad icons code
...
1. Correctly defined button strings.
2. Clean up the printing code.
3. Use translatable strings for the generic gamepad type.
3 years ago
Nicholas Calaway
eb45857422
Gamepad icons ( #5357 )
3 years ago
staphen
8b6db3a678
Get rid of panelstr, pnumlines, and ClearPanel()
4 years ago
staphen
c90d884597
Fix skipping intro using gamepad
4 years ago
Anders Jenbo
872456ae5d
Use size_t for a select few pnum variables
4 years ago
Gleb Mazovetskiy
188dc79f6e
Make `Players` a vector
4 years ago
Nicholas Calaway
cf33230293
#3380 Use appropriate terms for mouse/gamepad/touch #5234 ( #5235 )
4 years ago
Gleb Mazovetskiy
4cf0053ece
Set underlying type for all the enums
...
Reduces rg99 binary size by 3 KiB.
4 years ago
Gleb Mazovetskiy
580d3cb6ee
touch/renderers: Migrate away from Art
4 years ago
Gleb Mazovetskiy
d741018fee
Remove more redundant `devilutionx.mpq` checks
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
ephphatha
0ce76a3f13
Add Object lookup method to mimic map::at()
4 years ago
ephphatha
975eb3674b
Add helper to check if a monster belongs to a player
...
Co-authored-by: Anders Jenbo <anders@jenbo.dk>
4 years ago
Anders Jenbo
046f826931
[gamepad/touch] Fix targeting berserked
4 years ago
ephphatha
9e76cd4ab7
Use object pointer for pcursobj
4 years ago
ephphatha
3a7fd8da2d
Only send and consume object location for location based messages
...
Co-authored-by: Anders Jenbo <anders@jenbo.dk>
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
Anders Jenbo
d1189388f5
Use user by reference
4 years ago
Gleb Mazovetskiy
a4ac41cece
Replace `DVL_VK` virtual key codes with `SDLK`
4 years ago
Gleb Mazovetskiy
33ac2cca8e
♻️ Make Monster counters `size_t`
4 years ago
Nicholas Calaway
67aaced610
Fix bad interaction between hold to attack and quick cast ( #4965 )
4 years ago
Anders Jenbo
3ae834148a
Split event handeling from general miniwin features
4 years ago
Anders Jenbo
a7be622aa3
Clean up naming of event handler
4 years ago
Anders Jenbo
2d21fc372e
Remove more miniwin code
4 years ago
Trihedraf
5ee6e5dd3a
Make zoom a setting in the menu ( #4931 )
4 years ago
Anders Jenbo
6a8fd04067
Use player by references ( #4938 )
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
staphen
cab75ded6b
Check both SPL_NULL and SPL_INVALID to determine spell validity
4 years ago
Cesar Canassa
e538acb248
📝 Fixes Doxygen warnings ( #4904 )
4 years ago
Mikołaj Piróg
15989609a8
Members' name changes and comments in Monster struct ( #4861 )
4 years ago
Mikołaj Piróg
dda0b96ea5
Remove #defines in player.h and add constexpr where applicable ( #4896 )
...
* Change defines to constexpr int in player.h
* Add const or constexpr to player.h/cpp where applicable
* Update tests with changed names of player constatns
* remove unecessary variable
4 years ago
Gleb Mazovetskiy
d152d2c0fb
Add OptionalOwnedCelSprite
4 years ago
Anders Jenbo
99181fd709
Move more files to the engine folder
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
Anders Jenbo
6d56058708
Move level generation to subfolder
4 years ago
ephphatha
3af11ad355
Use the same function when checking and actually dropping an item
4 years ago
Gleb Mazovetskiy
01ad1814ea
Make path finding index-based
...
Reduces the size of the `PathNodes` array from 28 KiB to just 8 KiB.
Also reduces the size of `pnode_tblptr` from `300 * sizeof(void *)` to
`300 * 2` bytes.
4 years ago
Gleb Mazovetskiy
8e9c9e0238
Reduced the size of `OwnedCelSprite*` by 8 bytes
...
`OwnedCelSpriteWithFrameHeight`: 40 -> 32
4 years ago
Andrew James
0add7a8af6
Define sizes using Size type in control.cpp/stash.cpp ( #4737 )
...
* Use appropriate types for size constants in control.cpp
* Declare constexpr value for iterating over the cells in a stash grid
* Use appropriate type for UIRectangle dimensions
4 years ago
Gleb Mazovetskiy
2386fd12a9
Fix a few warnings
4 years ago
Gleb Mazovetskiy
779ccaca17
Overhaul translation fetching
...
1. Do not modify the map after loading. Instead, return string views
(guaranteed to be null-terminated) from look up functions and return
the key directly if not found.
2. Use an `unorded_map` instead of `map` where available (C++20).
Saves a bit of RAM (~50 KiB) and improves lookup performance.
4 years ago
staphen
128f5098e0
Check player hitpoints in InGameMenu()
4 years ago
Anders Jenbo
1203514383
Clean up use of currlevel
4 years ago
staphen
b349e29058
Correctly indicate when scroll can be used on virtual gamepad
4 years ago
qndel
354e329644
Players[MyPlayerId] -> MyPlayer
4 years ago
obligaron
bc15bdf3a9
Remove PANEL_ defines and replace them with GetMainPanel()
4 years ago
staphen
0c4940fc00
Skip touch interactions with stash when stash is not open
4 years ago