Andrew James
b56907672f
Add Bitset2d::count() and use it when counting set Dungeonmask tiles ( #5083 )
...
Added comments and renamed other functions to give context why this is different to the use in drlg_l1
4 years ago
Andrew James
2786a65e7b
Tidy up ActivateSkeleton and take monster by reference ( #5080 )
...
* Take reference in OperateSarcophagus
* Use monster reference instead of pointer in ActivateSkeleton
* Clean up ActivateSkeleton
4 years ago
Cesar Canassa
82caea1ca4
♻️ Remove monsterId from RoundWalk
4 years ago
Cesar Canassa
a0cd65e082
♻️ Remove monsterId from M_SyncStartKill
4 years ago
Cesar Canassa
fcdab7f56f
✅ Add test for RotateBlockedMissile ( #5069 )
4 years ago
Gleb Mazovetskiy
1cdd76b617
Remove PCX rendering code
...
We no longer render PCX
4 years ago
Gleb Mazovetskiy
0cd035ef61
Load PCX as CL2
...
Similar to #5059 , which converted CEL to CL2 at load time,
we now do the same for PCX.
Some size stats: https://gist.github.com/glebm/067bf1ec73f9d14514932cfe237e4e8e
Notably, fonts RAM usage is decreased by ~35%.
4 years ago
Andrew James
a075e5fe05
Take Object by reference in OperateContainer methods ( #5079 )
4 years ago
Cesar Canassa
c6561596b5
♻️ Remove monsterId from CheckReflect ( #5071 )
4 years ago
Cesar Canassa
f4fd4b1644
♻️ Remove monsterId from AiPlanWalk ( #5073 )
4 years ago
ephphatha
6097a8a90a
Deduplicate operate object command handlers
4 years ago
ephphatha
de83d9440e
Use position for break object network messages
4 years ago
ephphatha
4d730b5e5d
Take object reference in DeltaSyncObject
...
Delta object records are only laid out in the same order as object instances by convention, document this relationship and use the explicit offset instead of "network id"
4 years ago
Andrew James
986650afc8
Take Object by reference when operating quest objects ( #5066 )
4 years ago
ephphatha
9e76cd4ab7
Use object pointer for pcursobj
4 years ago
ephphatha
0c08980c71
Combine Telekinesis with other object network commands
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
43a5d91074
Remove CEL rendering code
...
We no longer render CEL
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
Cesar Canassa
7db99c2a26
♻️ Remove _misource access from AddReflection ( #5053 )
4 years ago
Cesar Canassa
2665aa61f3
PR feedback
4 years ago
Cesar Canassa
831796fcd4
♻️ Remove _misource access from SpawnLightning
4 years ago
Cesar Canassa
28f12be8de
PR feedback
4 years ago
Cesar Canassa
1f798bcec5
♻️ Remove _misource access from AddLightningRune
4 years ago
Gleb Mazovetskiy
465ee78afe
Fix `DVL_WM_RBUTTONUP`
...
Missed one case in #5047
4 years ago
Cesar Canassa
8f73844a3b
♻️ Remove _misource access from GuardianTryFireAt
4 years ago
Gleb Mazovetskiy
adf40f5c80
misc_msg: Always use `lParam` for mod state
...
Previously, keyboard events used `lParam` for modifier key state,
while mouse events used `wParam`.
Changes the mouse events to use `lParam`, which allows us to
change `lParam` to `uint16_t`.
Demo migrated with a script.
4 years ago
Anders Jenbo
7fede33416
Remove leftover assert code
4 years ago
Gleb Mazovetskiy
4c1dbaba72
Demo mode: Handle endianness
4 years ago
Anders Jenbo
56915974d6
Minimize passing of player indexes
4 years ago
qndel
25dc9a61ff
fix wrong condition in OnSetStrength
4 years ago
Gleb Mazovetskiy
e5e8ba07c2
Hellfire spell book: Set button widths correctly
...
The hellfire spell book buttons CEL only has 5 frames, all of the
same widths.
4 years ago
Gleb Mazovetskiy
f9b9a7de9d
CL2 render: `Point` position argument
...
Bring the CL2 API closer to CEL and PCX.
4 years ago
Cesar Canassa
94e15b3a11
♻️ Remove _misource access from AddTown
4 years ago
Cesar Canassa
b415474cf5
♻️ Remove _misource access from InitMissiles
4 years ago
Cesar Canassa
7fc08e183d
♻️ Remove _misource access from MoveMissilePos
4 years ago
Cesar Canassa
ac583cbb2d
✨ Adds isSameSource Missile method ( #5036 )
4 years ago
Cesar Canassa
c89b67a4d5
♻️ Remove _misource access from MI_Arrow
4 years ago
Cesar Canassa
95589ebf94
♻️ Remove _misource access from MI_Firebolt
4 years ago
Vladimir Olteanu
8fd3be67b5
Refactor VisionCrawlTable
4 years ago
Anders Jenbo
a45a96fb88
Fix opening crypt and hive
4 years ago
Gleb Mazovetskiy
c30e36d8d2
Fix discord.cpp on macOS
...
Accidentally broken in #5029
4 years ago
Gleb Mazovetskiy
ea1087dfeb
Use `StrCat` in a few more places
...
Now `fmt` is only used for more complex formatting and for translations.
4 years ago
Gleb Mazovetskiy
6f01fb6b79
Unify CEL/PCX/CL2 render functions
...
Except for the outline rendering.
4 years ago
Gleb Mazovetskiy
79e23f26f2
misc_msg: Encode keyboard mod state directly
...
`demo_0.dmo` migrated with a script
4 years ago
Cesar Canassa
aa6ea3907e
♻️ Adds Missile::SourcePlayer and Missile::SourceMonster ( #4999 )
4 years ago
Anders Jenbo
d1189388f5
Use user by reference
4 years ago
Gleb Mazovetskiy
303a6cf5ea
Fix next debug monster key
...
Accidentally changed to ALT+m from SHIFT+m in #5023
4 years ago
Gleb Mazovetskiy
fae441e75f
Remove `DVL_WM_SYSKEYDOWN`, `DVL_WM_SYSKEYCOMMAND`
...
These events were no longer used
4 years ago
Gleb Mazovetskiy
3d4f0b48b8
Remove `TranslateMessage`
...
It has become entirely redundant.
4 years ago