Gleb Mazovetskiy
27348b49b8
Do not load unused sfx_MISC sound effects
...
There are 40 unused sfx_MISC sound effects.
All sfx_MISC sound effects are loaded into RAM by default.
Avoid loading these unused ones.
3 years ago
Gleb Mazovetskiy
a596c8223d
Reformat sound effects table
3 years ago
Gleb Mazovetskiy
3ab2f49a92
Audio: Avoid creating same-rate resamplers
...
Each resampler allocates an input buffer and an output buffer.
Since we create ~100 audio stream objects (1 per `sfx_MISC` effect),
the memory cost of these buffers adds up.
Avoids creating a resampler when the audio sampler rate matches the
output sample rate. This is mostly the case when the output sample
rate is 22050.
3 years ago
Gleb Mazovetskiy
6b338eac9f
Display path in `LoadAudioFile` error dialog
3 years ago
Gleb Mazovetskiy
6d274c9547
`UNPACKED_SAVES`: Saves without MPQs
...
Reduces rg99 binary size by ~70 KiB.
3 years ago
KPhoenix
8db521727d
`enum missile_id` -> `enum class MissileID`
...
Changes `enum missile_id` to `enum class MissileID`
3 years ago
Gleb Mazovetskiy
f20c58c8a0
SoundSample::SetChunkStream: Log filename on error
3 years ago
Gleb Mazovetskiy
590e354030
Reduce the size of SpellData
...
56 bytes -> 40 bytes
Can be optimized further by reordering the fields and merging some
flags.
3 years ago
KPhoenix
3eed9228ab
Fix alignment
3 years ago
KPhoenix
f52b2cb71f
Enum Class: MagicType
...
Changes enum magic_type to enum class MagicType
3 years ago
KPhoenix
12fc02f7f5
Fix redundancy in AddBoneSpirit function
3 years ago
Gleb Mazovetskiy
b281f0afac
Run tools/cpp_format_struct_table.py
3 years ago
Gleb Mazovetskiy
ae0297006e
A tool to format a struct table
...
Does not support subobjects, i.e. it treats them as a single value.
3 years ago
staphen
0d43f468e5
Improve missile collision interpolation logic
3 years ago
DakkJaniels
e5d96b2242
Removed ability to try and join incompatible ZeroTier games ( #5648 )
3 years ago
Anders Jenbo
e50e21e0e4
Use outline for spell icon texts
3 years ago
Anders Jenbo
0c5fd01067
Change missile_resistance into class DamageType
3 years ago
Anders Jenbo
bb2463862c
Use Position in AddItemToLabelQueue()
3 years ago
Anders Jenbo
a29fc3a074
Correct casing for Player::isWalking()
3 years ago
Anders Jenbo
1a633c5627
Reject games info of unexpected size ( #5646 )
3 years ago
Gleb Mazovetskiy
f085af70ca
Add `paths::ConfigPath` to the MPQ search list
...
This mitigates the situation where providing `--save-dir`
result in no ~/.local/share/diasurgical/devilutionx in the search path
3 years ago
Gleb Mazovetskiy
5bf9dfd7ee
Demo mode: Force resolution to that of the demo
3 years ago
Gleb Mazovetskiy
8fe8023542
Create save and config directories
...
If a config directory did not exist, the ini file was
not saved at all.
Only implemented for targets that support `std::filesystem` or `std::experimental::filesystem`.
These are all the targets except nxdk and iOS (only supported on iOS 13+).
3 years ago
obligaron
7a1f962e33
Settingsmenu: Create submenus for each category
3 years ago
staphen
0c4015869c
Remove unused _mdir variable from monster deltas
3 years ago
ephphatha
9da76e0003
Update CheckReflect to return applied damage
...
Instead of modifying the damage value by reference
3 years ago
KPhoenix
a22389613d
Remove No Monster Heal from Fire Arrows
3 years ago
Trihedraf
42e502e108
Add key for using potions from belt
...
Add key for using potions from belt like controller and virtual controller
3 years ago
obligaron
9948bc3477
Multiplayer: Fix Poisoned Water Supply purify
3 years ago
obligaron
a935066180
Multiplayer: Enable Halls of the Blind Quest
3 years ago
Gleb Mazovetskiy
56cd425396
Fix switching locale from English
...
The locale code used the `forceLocale = "en"` fallback when
the locale was set to English, so switching from English
did not actually change the language.
3 years ago
qndel
efaf334965
typos and code cleanup
3 years ago
KPhoenix
75d785a5f0
Bugfix: AnimationInfo integer division by 0
3 years ago
Gleb Mazovetskiy
4f9e9e04b1
Fix ConsumeScroll
...
Fixes #5617
3 years ago
obligaron
0c3b434d76
Make debug command restart compatible with multiplayer
3 years ago
Gleb Mazovetskiy
624589b3ec
Fix cursor glitch after playing an in-game movie
...
Clears backbuffer state after a movie has been played.
3 years ago
Gleb Mazovetskiy
bf2e6cd262
Fix disappearing portal
...
Fixes a regression introduced in ca69237d59 .
Fixes #5609
3 years ago
obligaron
5b11dfa2ed
Fix preview frame shown fragment overflow
3 years ago
Gleb Mazovetskiy
36c4a89f3e
Clean up a few position types
3 years ago
Gleb Mazovetskiy
fab6f362c3
Point: Avoid construction in distance functions
...
This reduces the runtime of timedemo_test by 25% in debug mode.
Makes no difference to optimized mode of course.
3 years ago
Gleb Mazovetskiy
6654a26345
IsPlayerMinion: Faster check
...
Debug profile cost: 2.5% -> 1.5%
This should be as robust as the other check. If not, we have a bug
elsewhere.
3 years ago
Gleb Mazovetskiy
3910c2e56a
UpdateEnemy: Swap the M_Talker check
...
The `otherMonster.talkMsg != TEXT_NONE` check is a lot cheaper and is
almost always false.
This eliminates the M_Talker cost from the debug profile.
3 years ago
Gleb Mazovetskiy
4b5c853896
Use fold expressions for IsAny/NoneOf on C++17
...
This is much faster in debug mode than the non-C++17 version.
For example, with timedemo_test in debug mode, `M_Talker` goes from 11%
of the total time to just 3.5%.
3 years ago
Gleb Mazovetskiy
ca69237d59
Big-endian support for multiplayer
...
Not sure if this works but it's a start
3 years ago
Gleb Mazovetskiy
9b1ff3d50b
demomode.cpp: Fix creating a bogus event
...
The `eof()` does not return true until a failed read attempt.
> Note that the value returned by this function depends on the last operation performed on the stream (and not on the next).
3 years ago
Gleb Mazovetskiy
ef4a547954
msg.cpp: Log received commands debug define
3 years ago
Gleb Mazovetskiy
45757856c1
DemoMode: Add a debug define to log events
3 years ago
obligaron
b3a9968c90
Timedemo: Support switching player equipment
3 years ago
obligaron
5180bd02b4
Timedemo: don't update ProgressToNextGameTick in pause menu
3 years ago
obligaron
028f630848
Timedemo: don't play and record messages in loading screens
3 years ago