Commit Graph
10710 Commits
Author SHA1 Message Date
Gleb Mazovetskiy 5b187e63f6 Use C++20 using enum instead of alias enum members manually 2023-09-03 17:52:40 +00:00
staphen a151219b9b Don't validate creation flags on gold 2023-09-03 17:03:25 +02:00
michaelneverwins 5b7865b45b Add "$@" to devilutionx.sh to pass command-line arguments to devilutionx executable 2023-09-03 07:51:59 +01:00
Gleb Mazovetskiy 9bbc138b0f Simplify ColumnDefinition using C++20 features
1. Default comparison: https://en.cppreference.com/w/cpp/language/default_comparisons
2. Parentheses initialization for aggregate types
2023-09-03 01:13:48 +01:00
Gleb Mazovetskiy c2ad6da733 Add DEVILUTIONX_DISPLAY_TEXTURE_FORMAT
Some platforms, such as PS2, can benefit from a different texture
format. Makes the texture format a CMake setting.
2023-09-03 00:48:06 +01:00
Vinícius Ferrão 2644ec73af Add Crippling Shrines from Hellfire (#6273) 2023-09-03 01:42:59 +02:00
Gleb Mazovetskiy affae57254 RG99: Run from disk rather than from /opk squashfs
Turns out the squashfs mount has some non-trivial RAM overhead.

Copy the game to local storage and run from there to avoid the overhead.
This completely eliminates long 0 FPS periods when running the demo for PGO.

It may be possible to reduce the overhead by setting
CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE kernel setting to 1.
2023-09-03 00:40:53 +01:00
Gleb Mazovetskiy 70ff515f48 Stream demo messages
This entirely eliminates the demo memory overhead.
2023-09-02 20:54:24 +01:00
Gleb Mazovetskiy 65e0ad88d2 Further reduce demo file size
The vast majority of events are rendering events:

 Type        | Count
-------------|------:
 Rendering   | 58,971
 MouseMotion | 19,651
 GameTick    |  6,414
 MouseButton |    516
 Key         |      7
 Custom      |      1

Encodes Rendering events in a single byte when possible.

Demo file size: 253,410 bytes -> 194,439 bytes
2023-09-02 16:43:59 +01:00
Gleb Mazovetskiy 31234149a9 Fix Linux_aarch64 build 2023-09-02 15:05:49 +01:00
Gleb Mazovetskiy b5cf2a3505 Bump zlib to 1.3 2023-09-02 15:56:31 +02:00
DakkJaniels ef87664403 refactor cleaving: added in player method to determine if character can cleave and if an item is equipped. 2023-09-02 06:51:15 +02:00
Anders Jenbo df416dd46f Merge remote-tracking branch 'origin/development' 2023-09-02 06:40:51 +02:00
Gleb Mazovetskiy d31a7b5c2c Log Demo settings 2023-09-01 21:59:20 +01:00
Gleb Mazovetskiy 9701101634 Switch to C++20
glibc compatibility remains the same.

We now use Clang 18 and static libc++ for the Aarch64 build.
Linux x86 and x86_64 builds now use GCC 13.
2023-09-01 21:56:59 +01:00
Anders Jenbo 1616318bb1 Bump version to 1.5.1 1.5.1 2023-09-01 22:54:19 +02:00
Anders Jenbo 2b79ddb649 Add gamepad hint for Android TV 2023-09-01 22:06:07 +02:00
Gleb Mazovetskiy af869ac732 Merge branch 'master' into dev-merged 2023-09-01 20:49:34 +01:00
ephphatha bd8aab0aff handle stash item swapping using the gamepad a bit better 2023-09-01 15:26:52 +02:00
ephphatha c85fcbdfb1 fix cursor alignment following gamepad movement in stash
align the cursor to the middle of the cell/region when moving through the stash to match the way we simulate mouse movement for inventory cells
2023-09-01 15:26:52 +02:00
Anders Jenbo 52b806c6a0 Update CHANGELOG.md 2023-08-31 22:30:44 +02:00
ephphatha 0d292b10c4 Move to the first inventory column from the left hand while holding wide items 2023-08-31 15:53:43 +02:00
ephphatha 070a11901f Fix handling of gamepad cursor movement following item cursor change 2023-08-31 15:53:43 +02:00
Anders Jenbo 26977f37c5 Update 1.5.1 release notes in metainfo 2023-08-31 10:32:23 +02:00
Anders Jenbo 24b3455738 Update CHANGELOG.md (#6531) 2023-08-31 08:05:11 +02:00
Eric Robinson d4682082e2 Add duration parameter to InitDiabloMsg() (#6514) 2023-08-31 08:03:46 +02:00
Anders Jenbo c0caedcd96 Delete .bettercodehub.yml 2023-08-31 03:58:07 +02:00
Andrew James ed9bdd7ae5 Remove duplicated HeadlessMode check in LoadPlrGfx
Already checked at the start of the function, none of the sprite data lookups change that global.
2023-08-30 13:25:26 +02:00
Gleb Mazovetskiy 62e9aa0448 MissilePosition: Use WorldTilePosition
Reduces struct size and makes the types of coordinates more obvious.
2023-08-29 20:00:54 +01:00
ephphatha 5f6e5ae9fb Refactor iterator parsing to allow more reuse 2023-08-29 15:17:54 +02:00
KPhoenix cf4d88936b Change InitMissileGFX() 2023-08-29 14:26:17 +02:00
Mr-Bajs 37614c496f Small changes to swedish translation (#6397) 2023-08-29 14:02:35 +02:00
Gleb Mazovetskiy 5355146d51 Use structured bindings 2023-08-29 12:56:49 +01:00
Oleksandr Kalko 3411bd08b3 Fix typo in changelog 2023-08-29 13:53:53 +02:00
Oleksandr Kalko 6cfa1cc752 Add draft for 1.5.1 release notes in metainfo 2023-08-29 13:53:53 +02:00
Stephen C. Wills 5e778431c3 Deterministic timer simulation for shrine messages in demo mode (#6516) 2023-08-29 13:46:49 +02:00
Eric Robinson e3d79ae1c1 Fix automap (#6513) 2023-08-29 13:43:13 +02:00
Oleksandr Kalko e9de3cc820 Upgrade vcpkg baseline commit (#6528) 2023-08-29 13:28:26 +02:00
staphen 4deae11871 Fix PlayerNetPack validation and tests 2023-08-27 21:34:38 +02:00
Eric Robinson 9995c00323 Validate Item Locations (#6427) 2023-08-27 18:22:24 +02:00
qndel be1d87fd29 fix selecting monsters outside of vision range 2023-08-27 18:20:07 +02:00
ephphatha fb97eb7114 Clean up hit detection for inventory slots when pasting large items 2023-08-27 18:16:04 +02:00
ephphatha dd296d25e0 Find the closest point when pasting items on the edge of the stash 2023-08-27 18:11:44 +02:00
Gleb Mazovetskiy eb51a8beb3 Reduce demo message size
`DemoMsg` struct and event data are now kept separately.

RAM usage for the timedemo messages: -85% (1.8 MiB -> 261 KiB)

Demo (`.dmo`) file size: -57% (590,790 bytes -> 253,410 bytes)
2023-08-27 16:49:13 +01:00
Gleb Mazovetskiy a3bf01f57b LoggedFread: Do not log EOF as an error
Usually we call fread in a loop until reaching EOF.
Reaching EOF is not an error, so we should not log it as such.

The error message was previously seen when loading demo files.
2023-08-27 15:59:03 +01:00
staphen 0e00f21676 Change cache version in Android CI script 2023-08-27 03:30:47 +02:00
Stephen C. Wills 45dbe6aa61 Shift software cursor graphic and remove special casing (#6512) 2023-08-26 16:45:36 +02:00
Anders Jenbo c91e69384a Revert "Fix cursor jitter when clicking inv items (#6510)"
This reverts commit 2a393397a1.
2023-08-26 04:00:38 +02:00
Anders Jenboandstaphen bf7135dd11 Adjust tests to work with data driven levels (#6509)
Co-authored-by: staphen <[email protected]>
2023-08-26 02:06:45 +02:00
Eric Robinson 2a393397a1 Fix cursor jitter when clicking inv items (#6510) 2023-08-26 01:27:48 +02:00