Anders Jenbo
f73707df4f
Implement streaming
3 years ago
Anders Jenbo
39af36496b
Only open one file at a time
3 years ago
Anders Jenbo
246c6f9e66
Implement PS2 audio via SPU
...
This give us 2MB of dedicated audio memory and support for compressed
audio at runtime which is a huge boost to the already limited system
memory
3 years ago
Anders Jenbo
12d8ce6b18
Fix upscaling on PS2
3 years ago
Anders Jenbo
a8f2708847
Build for PS2
3 years ago
Anders Jenbo
e0ef01b4e0
Disable unused sounds
3 years ago
Gleb Mazovetskiy
64730bd0bd
Optimize `MissileFileData` size: 80 bytes -> 32
3 years ago
Gleb Mazovetskiy
25e9b7320d
Remove unused self-ID from `Missile(File)Data`
3 years ago
Gleb Mazovetskiy
0a6a8e8aa0
Clean up missile data access
...
Replace enum static casts with `GetMissile(Sprite)Data`.
3 years ago
KPhoenix
c534e0e93c
Refactor
3 years ago
KPhoenix
99a37a4113
Fine -> Sturdy
3 years ago
KPhoenix
34ac4ec707
Fix duplicate affix name (Crimson)
...
Reverts Affix name for Crimson back to Burgundy (Taken from Diablo 1 Beta)
3 years ago
KPhoenix
7947b99511
Implement new enum class
3 years ago
Eric Robinson
d7b6c7dca8
Refactor Missile Function Names ( #5733 )
3 years ago
staphen
620a86b007
Change default monster missile damage to zero
3 years ago
Gleb Mazovetskiy
1788d2f8ec
Remove miniwin
...
Event handling code moved to `engine/events.{hpp,cpp}`.
3 years ago
staphen
ed02eb58d4
Don't consume mana when Mana Shield is already active
3 years ago
DakkJaniels
fa56ae31ea
move damage formula for guardian firebolt to GuardianTryFireAt so each firebolt damage is randomized
3 years ago
Trihedraf
624d5be3d2
make Floating Numbers an enum for random, vertical or off
3 years ago
ikonomov
d05992da75
Remove "Zen" hit recovery ( #5724 )
...
The description of Harmony says "Fastest", clearly implying that this is the fastest recovery bonus that is attainable for a given character and also an indication that the bonus is not cumulative with other items.
3 years ago
Eric Robinson
93a145608e
Optimize AddPlrExperience() ( #5737 )
3 years ago
DakkJaniels
fb420b1473
Consistency: use damage formulas if missile damage has not already been assigned
3 years ago
DakkJaniels
f750e77476
remove commented out code
3 years ago
DakkJaniels
48e562e875
clean up MI_Projectile
3 years ago
DakkJaniels
d2134f93cd
MI_Firebolt -> MI_Projectile. Calculate damage when missile is added.
3 years ago
staphen
dd6ce177f7
Derive viewport geometry from player position
3 years ago
DakkJaniels
0c1c8d0aa0
fix speedbook crash ( #5730 )
3 years ago
Eric Robinson
049f75515b
Fix bug in ef3a57b7 ( #5732 )
3 years ago
Eric Robinson
ef3a57b7d9
`enum spell_type` -> `enum class SpellType` ( #5674 )
3 years ago
Eric Robinson
30c1991039
`enum _mai_id` -> `enum class MonsterAIID` ( #5683 )
3 years ago
DakkJaniels
d683039bdd
stop shaking camera if dead diablo loaded from save. ( #4149 )
3 years ago
staphen
c857b7c7e4
Update frame skip logic for attacks after movement to match vanilla behavior
3 years ago
Gleb Mazovetskiy
7c53a5d5b3
Reduce `ObjectData` size: 24 bytes -> 11 bytes
...
1. Reduces sizes of integral fields.
2. Merges boolean flags into a single field.
3 years ago
Gleb Mazovetskiy
2bc4aaebae
Format tables in Source/objdat.cpp
3 years ago
Gleb Mazovetskiy
5d35b289bb
Skip creating half-size sprites for 1x1 items
...
We never use these anyway
3 years ago
Gleb Mazovetskiy
37f4d0cb97
`CreateHalfSizeItemSprites`: Reuse surfaces
...
Rather than allocating surfaces on every loop iteration, reuse the same
2 surfaces.
3 years ago
Eric Robinson
3642904a4c
Fix Resurrect Crash ( #5718 )
3 years ago
Bubio
81c7d0618d
Fixed spelling errors ( #5714 )
...
Corrected a spelling error in the "Show Item Graphics in Stores" description
(desription -> description)
3 years ago
Gleb Mazovetskiy
f9f61fcb0c
Do not try to create Hellfire sprites in Diablo
...
Fixes #5709
3 years ago
Gleb Mazovetskiy
1401e130ce
Store items: Render 1x1 items at full size
3 years ago
Gleb Mazovetskiy
67bb0e10fd
Store items: Draw unusable items in red
...
We generate separate downscaled sprites for the red versions
because simply applying TRN after downscaling leads to some
non-red pixels (because of blending during downscaling).
3 years ago
Gleb Mazovetskiy
068fdac7c1
Do not use PKWare with no MPQs + NONET
...
Reduces RG99 binary size by 12 KiB
3 years ago
Gleb Mazovetskiy
0fb9599e66
`StaticVector`: Replace `std::aligned_storage_t`
...
`std::aligned_*` are deprecated in C++23 per
https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2021/p1413r3.pdf
3 years ago
Gleb Mazovetskiy
beb6fc2aaf
`CreateAulibResampler`: Check the real sample rate
...
The requested sample rate is merely preferred and the actual rate may be
different.
3 years ago
Gleb Mazovetskiy
16f7d7e9d6
Support mouse back button in stores/dialogues
3 years ago
Gleb Mazovetskiy
0e0cc9d1b0
Reduce to just `STREAM_ALL_AUDIO_MIN_FILE_SIZE`
...
This does result in a bit more code and RAM usage for soundsample when
`STREAM_ALL_AUDIO` is on, but not by much.
3 years ago
Gleb Mazovetskiy
0dd95adcd1
Add a minimum threshold for STREAM_ALL_AUDIO
3 years ago
Gleb Mazovetskiy
527e876fff
Disable item labels when in store
...
Also disable ground item outlines on hover when in store.
3 years ago
Gleb Mazovetskiy
c5369f4b2b
Store graphics: Scale sprites only once
...
Prepare downscaled sprites once instead of doing it on every frame.
Note that we do this lazily in `StartStore` rather than
`SetupTownStores` because we need the palette blending table to be
available when downscaling.
3 years ago
obligaron
b7e2c649cf
Recalculate cursor position after level change
3 years ago