Anders Jenbo
2cb1ef8d03
Try using a 16bit texture for better performance
3 years ago
GaryOderNichts
9f1dafe6a5
wiiu: don't init virual gamepad gfx
...
This is mainly just a workaround due to a crash while PNG loading.
TODO fix this properly
3 years ago
GaryOderNichts
8372e3e323
wiiu: don't seek beyond EOF
3 years ago
Anders Jenbo
290e486150
Add Wii and Wii U builds
3 years ago
Anders Jenbo
5a1f0f4280
Add widscreen load background for Hell
3 years ago
Gleb Mazovetskiy
c71eb0ff54
Add support for new SDL 2.24.0 gamepad types
...
Fixes #5878
3 years ago
Gleb Mazovetskiy
8408743eed
Draw item labels before the monster health bar
...
Fixes #5867
3 years ago
ephphatha
94c646ef8f
Use rectangles for inventory/belt hit areas
3 years ago
Anders Jenbo
839690a74f
Add cutttw widescreen load screen ( #5923 )
3 years ago
Gleb Mazovetskiy
3f0d089928
Blitter: Minor optimization
...
`src < end - 3` is one more instruction than `src + 3 < end`.
Godbolt: https://godbolt.org/z/PPfhYYWG8
RG-99 binary becomes 224 bytes smaller.
3 years ago
Gleb Mazovetskiy
e81f8affba
Fix rendering issues introduced by #5913
...
Fixes #5914
3 years ago
Gleb Mazovetskiy
774993c6d0
dun_renderer: Avoid calling 0-width `Blit*`
...
A slight optimization to avoid calling blit functions entirely
when the width is zero.
3 years ago
Anders Jenbo
4bd0148f49
Add cave widescreen
3 years ago
obligaron
2296bf5625
Use StashStruct::EmptyCell instead for empty stash item check
3 years ago
Gleb Mazovetskiy
c5e6bf630f
demomode.cpp: Set `mouse.*.which` to 0
...
Otherwise it can end up as `-1`, triggering the `VirtualGamepad` input
type (-1 is `SDL_TOUCH_MOUSEID`).
3 years ago
staphen
132d911a41
Fix year in screenshot file names
3 years ago
Gleb Mazovetskiy
397529bf0f
Rendering: Unify and optimize pixel blitters
...
1. Unifies the underlying CLX and dun_render blitters.
2. Optimizes them by unrolling loops and using pointer comparison rather
than length comparison (saves a length decrement).
3. In `dun_render`, extracts `RenderLineTransparent/Opaque` branches into
functions via explicit template specialization.
Example RG-99 FPS (non-PGO'd): 17.4->18.4
3 years ago
obligaron
4826e5819e
Multiplayer: Fix desync when teleporting
3 years ago
Łukasz
2ec0603896
use `Point`s instead of `x, y`s in GetRndObjLoc (objects.cpp) and portal-related functions (portal.cpp) ( #5897 )
...
Nice cleanup, thanks.
3 years ago
Gleb Mazovetskiy
6bbe9e5ce8
CMake: Cleanup no-mpq config
...
Introduce a `SUPPORTS_MPQ` variable and use it throughout.
Also disables fetching bzip2 when MPQ support is disabled.
3 years ago
Łukasz Łapiński
243c3ffcd4
items.cpp: fix inconsistent localization for miscellanous items ( #5890 )
...
* Update line 'Right-click to read, then left-click to target'
* Update line 'Select from spell book, then\n cast spell to read' across languages
3 years ago
Anders Jenbo
20eb12570f
Add catacombs widescreen ( #5889 )
3 years ago
Anders Jenbo
28ea755e32
Add churche widescreen
3 years ago
Gleb Mazovetskiy
e35595a1eb
StrCat improvements
...
1. Use `fmt::format_int` directly instead of parsing a format string.
2. Use `AppendStrView`.
3. Define the varargs versions using fold expressions when available.
4. Add tests.
3 years ago
obligaron
36ecc50fcb
Always use infravision in Arenas
3 years ago
Gleb Mazovetskiy
0950750ed9
Avoid dependency on fmt/chrono
...
We only used it in one place and it doesn't work on Amiga GCC-6 with the
latest libfmt.
Also handles the case where `localtime` returns `nullptr`.
3 years ago
obligaron
4cdd7ff2d9
Replace ReturnLevel/LevelTyp/LvlPosition
3 years ago
obligaron
f4b2fee532
Transform Lazarus portal position to world space earlier
3 years ago
obligaron
b3a3d520dd
When using a portal to a setmap also set setlvltype, cause it's needed to load areana correctly
3 years ago
Gleb Mazovetskiy
957bd03b98
Remove `FMT_COMPILE` in "cold" places
...
Removes most `FMT_COMPILE` calls.
`FMT_COMPILE` results in better performance but larger code size.
Removes `FMT_COMPILE` calls for places that are called infrequently,
i.e. not on every frame.
RG-99 binary size reduced by ~4 KiB.
3 years ago
obligaron
e64270bfc6
Fix Flash hits north east direction
3 years ago
Gleb Mazovetskiy
f34dbf2aa9
Fix a libfmt compilation error on master
...
`InfoString` is a `StringOrView` and libfmt does not know how to print
that. Pass it a `string_view` instead.
3 years ago
Gleb Mazovetskiy
c858ab4d2c
Fix some compilation warnings
...
also removes a couple of unused filesystem includes
3 years ago
Gleb Mazovetskiy
f2cb9f0fa0
file_util: Implement `RecursivelyCreateDir`
...
With this, we no longer require `std::filesystem` support to create the
save file directory when it does not exist.
Note that by default the save file directory exists because it is
created by SDL, so this is mostly useful on platforms that override the
save directory or use `UNPACKED_SAVES`.
3 years ago
staphen
a55728848e
Fix transcript of Warlord of Blood lore for Monk and Bard
3 years ago
staphen
27dfaeb9dc
Use herosounds for class-specific quest speech IDs
3 years ago
staphen
695949d901
Sync staff charges after recharging
3 years ago
staphen
9af5bf84ba
Arkaine's Valor: Don't check player inventory when processing CMD_OPERATEOBJ
3 years ago
obligaron
63b04045f2
MP: Send delta message for lachdanans death
3 years ago
staphen
d18c75bd05
Don't send monster data while warping
3 years ago
obligaron
6e364f2167
Telekenisis respects Disable Crippling Shrines Setting
3 years ago
obligaron
a629aa9153
Disable corner stone of the world in multiplayer
3 years ago
obligaron
44de539afb
Introduce CronerStoneStruct::isAvailable()
3 years ago
obligaron
55bf5348c4
Multiplayer: Prevent trapped doors to fire twice
3 years ago
obligaron
adeeae2c52
Add option to enable singleplayer quests in multiplayer
3 years ago
obligaron
0d2e43daa8
Add search monster/item/object debug commands
3 years ago
obligaron
cd89372512
Introduce Object::name()
3 years ago
obligaron
60d9f35d5a
Make SearchAutomapItem parameterizable
3 years ago
staphen
c7766cfc96
Fix the path used for streaming in LoadAudioFile()
3 years ago
staphen
02694d27bb
Remove extra spaces from Monk/Bard quest text to match other classes
3 years ago