Gleb Mazovetskiy
aca4aae3c1
dun_render: Remove the use of `LightTableIndex`
...
Replaces the global with an argument.
3 years ago
Gleb Mazovetskiy
3afef6299f
Level renderer: Remove `cel_transparency/foliage_active` globals
3 years ago
Gleb Mazovetskiy
1293dfb86d
Level renderer: Remove `level_piece_id` global
...
`DrawFloor` now passes the piece ID into RenderTile.
Previously, `DrawFloor` did not set `level_piece_id`.
3 years ago
Gleb Mazovetskiy
c616e0d6d2
Level renderer: Remove `arch_draw_type` global
3 years ago
Gleb Mazovetskiy
69c429bb68
Level renderer: Remove `level_cel_block` global
3 years ago
obligaron
911ba21e0e
Set player old position on level join to prevent a crash when leaving the game
3 years ago
Gleb Mazovetskiy
eeaf23168e
control_presskeys: "Handle" some ASCII chars
...
These printable ASCII characters will result in a text input event and
should not be handled further.
Fixes #5505
3 years ago
Gleb Mazovetskiy
ab5733b5e3
Support demo playback in SDL1
...
Useful for measuring performance in SDL1.
The demomode test now passes in SDL1 as well.
3 years ago
KPhoenix
e7ffa882e6
Minor cleanup for MonsterAttackPlayer() ( #5444 )
3 years ago
Andrew James
7d618aac9c
simplify monk damage calculation
...
clang format wants the if conditions all on one line -_-. Not as nice as I was hoping.
3 years ago
obligaron
50cea20687
Show portal opening animation in town
3 years ago
obligaron
0aa3831e32
Multiplayer: Enable Ogden's Sign Quest
3 years ago
obligaron
d2d96f988c
Make TalktoMonster multiplayer compatible
3 years ago
obligaron
2db1830c7e
Let ogden talk about sign quest if player visited level 4
3 years ago
obligaron
f34cfeb565
Sync sign chest
3 years ago
Gleb Mazovetskiy
5ac54027dc
Text rendering: Clip text to the given rect
...
Previously, we only clipped to the given surface, without clipping to the given rect.
3 years ago
Gleb Mazovetskiy
a7324a15c0
Item labels: Clip to viewport
...
Instead of redrawing the panel to avoid item label clipping, clip the labels themselves.
3 years ago
Gleb Mazovetskiy
f9da4e1f66
assets.cpp: Avoid allocs in UNPACKED_MPQS FindFile
3 years ago
Gleb Mazovetskiy
dc3908e360
assets.cpp: Switch to C FILE for UNPACKED_MPQS
...
Eliminates some of the (minor) overhead of fstream.
3 years ago
Gleb Mazovetskiy
9db80ef5d7
Assets: Load files directly for UNPACKED_MPQS
...
When using `UNPACKED_MPQS`, avoid all the SDL machinery for reading
files.
This is beneficial not only due to reduced indirection but also because
we can test for the file's existence and get the file size without
opening it, which is much faster.
3 years ago
Gleb Mazovetskiy
46e755f680
Simplify spell icon handling
...
Hide the internals of spell icon rendering behind simple functions.
3 years ago
Gleb Mazovetskiy
74ca2ab0db
Use no-background spell icons with UNPACKED_MPQS
...
Spell icons size: 200 KiB -> 81 KiB
Fixes #5470
3 years ago
Gleb Mazovetskiy
972ee091a1
qol/itemlabels: Use a flat set for used X coords
...
The set only contains a handful of elements.
It is faster and more space-efficient to store it as a vector.
3 years ago
Gleb Mazovetskiy
3cb24c15f3
Remove SDL_image dep from SDL1 build
...
Fixes #5504
3 years ago
Gleb Mazovetskiy
ba56673d55
Only load stash graphics in town
...
Saves 69 KiB in the dungeon
3 years ago
Gleb Mazovetskiy
4c0b43508a
DoBlitScreen: Fix update rects
...
Fixes chat input at 640x480.
Also fixes the other rects, they were slightly off.
3 years ago
Artur Jarosik
8bee40dca4
Fix amiga build ( #5479 )
3 years ago
obligaron
d912babc91
Multiplayer: Enable Magic Rock Quest
3 years ago
obligaron
c95d7617c8
Gillian: play grave quest text only once
3 years ago
Gleb Mazovetskiy
23f7feba69
BackBufferState: `unordered_map` -> `vector`
...
A vector is a lot more efficient here as we generally
only have a handful (1-3) backbuffers.
Additionally, this avoids a lot of temporary allocations every frame,
which were apparently triggered by `emplace` even if the element
already existed.
3 years ago
obligaron
c8c3f9366c
Play skeleton kings speech only once and also in multiplayer
3 years ago
obligaron
f8705c51a2
Make skeleton king's lair multiplayer compatible
3 years ago
obligaron
610e80f098
Sync break crux
3 years ago
obligaron
31141ffb4d
DeltaLoadLevel: Sync objects before items so that closed areas get opened
3 years ago
Gleb Mazovetskiy
b382700ba8
help.cpp: Fix unused variable warning
3 years ago
obligaron
c18380c2e7
Sync SpawnUnique
3 years ago
obligaron
1b1ea50cba
Refactor SpawnItem
3 years ago
obligaron
0711e6af4d
Sync SpawnQuestItem (multiplayer quest items)
3 years ago
Gleb Mazovetskiy
4f21264a98
Fix compilation error in help.cpp
...
Also fixes a warning in the same function
3 years ago
Raphaël Colin
9ed249bdb9
Add scrollbar to help window ( #5481 )
...
* Add scrollbar to help window. Also reduced the help window's text width to make space for the scrollbar.
3 years ago
obligaron
dc3d797269
GetOffsetForWalking: use uint8_t for animation fraction
3 years ago
obligaron
d0978672e9
Make Poisoned Water Supply quest multiplayer compatible
3 years ago
obligaron
5a45ee4eba
Update diablo pentagram when quest state changes
3 years ago
obligaron
9a1bf42519
Always set lazarus portal position
3 years ago
obligaron
1999280c7a
Fix assert in delta_sync_monster
3 years ago
obligaron
0c13f88694
Ensure questmap changes are synced between clients
3 years ago
obligaron
7980a5a890
Make debug god mode damage multiplayer compatible
3 years ago
obligaron
5fe20e3d32
Make Lazarus quest map multiplayer compatible
3 years ago
obligaron
5f63060c28
Add FindUniqueMonster
3 years ago
obligaron
57a3ede76a
Introduce UseMultiplayerQuests
3 years ago