Commit Graph
836 Commits
Author SHA1 Message Date
Gleb Mazovetskiy 703f3c2e6b Clean up IsAreaOk
Follow-up to #6403
2023-08-13 19:28:00 +01:00
Anders Jenbo 28b26da7fa Fix spawning shrines on custom levels 2023-08-12 17:44:52 +02:00
qndel 384a303afa add IsAreaOk function instead of multiple manual checks 2023-08-12 17:25:34 +02:00
KPhoenix 9dcf264d65 Fix Book requirements not updating from Objects #2 2023-07-08 19:38:39 +02:00
Eric Robinson 5ebedafd83 Fix Book requirements not updating from Objects (#6316) 2023-07-07 01:46:17 +02:00
Anders Jenbo 13e3217578 Only play the dialogs for the initating player (#6173)
* Only play the The Chamber of Bone lore for the reader

* Only play dialog for the player who is having the conversation

* Allow rock quest when skipping to level 5
2023-06-03 01:37:37 +02:00
obligaron c8f1804d04 Spawn Optic Amulet and Arkaine's Valor always at the same tile (#6167)
* Spawn Optic Amulet and Arkaine's Valor always at the same tile

* Multiplayer: To complete Halls of Blind and Arkaine's Valor also check drop position, because quest rewards items can be randomized
2023-06-02 20:12:39 +02:00
qndel 5e47dd57db refresh staff after using stone shrine 2023-05-28 12:32:52 +02:00
obligaron d2cf2083a2 Sync Na-Krul Quest 2023-05-28 01:51:56 +02:00
obligaron d055aa5cbd Sync break crux correctly 2023-05-22 22:41:43 +02:00
ephphatha 3bbb80d849 Introduce temporary function to advance the global rng state and discard results 2023-05-07 16:35:03 +02:00
staphen 9c3b005c2c Sync multiplayer door state in ObjChangeMap 2023-05-07 05:20:47 +02:00
Stephen C. Wills acae4d0ee9 Fix state of doors after ObjChangeMapResync (#6085) 2023-05-07 01:01:08 +02:00
staphen defc52f9a4 Fixes for book lever synchronization 2023-05-04 04:55:01 +02:00
obligaron bf86114ec3 Sync learned/changed spells 2023-04-24 18:19:27 +02:00
Anders Jenbo 124cc71800 Update realtime lighting when static lights are changed 2023-04-24 17:20:17 +02:00
Anders Jenbo c3fafa1aff Move list of lightemitting objects to AddObjectLight() 2023-04-24 17:20:17 +02:00
Anders Jenbo 2f908277a8 Apply pre calculated lighting for quest levels 2023-04-24 17:20:17 +02:00
Anders Jenbo d8b5c3a970 Fix light brightness pop on load 2023-04-22 11:32:26 -04:00
Anders Jenbo 0f7713bad8 Fix lighting when debugging 2023-04-22 11:32:26 -04:00
Anders Jenbo 828a52dc6d Clean up ProcessLightsList() 2023-04-22 17:14:19 +02:00
Anders Jenbo e969a8ad01 Invert player to vision relation 2023-04-21 21:25:19 +02:00
Anders Jenbo 382212b98c Remove DisableLighting from release builds 2023-04-21 21:25:19 +02:00
obligaron 2e7125fe65 Multiplayer: Sync Lazarus stand 2023-04-20 22:34:49 +02:00
Anders Jenbo ec9d1b5550 Rename _oLight to applyLighting 2023-04-19 19:41:10 +02:00
obligaron 40bb3aeb45 Replace earflag with DeathReason 2023-04-14 23:34:54 +02:00
obligaron 0e663a8d64 Multiplayer: Sync circles in Lazarus' Lair 2023-04-10 15:07:43 +02:00
obligaron cb5e2b252c Multiplayer: Enable Slain Hero 2023-04-08 12:46:13 +02:00
Łukasz 2ec0603896 use Points instead of x, ys in GetRndObjLoc (objects.cpp) and portal-related functions (portal.cpp) (#5897)
Nice cleanup, thanks.
2023-03-18 21:46:00 +01:00
Gleb Mazovetskiy f34dbf2aa9 Fix a libfmt compilation error on master
`InfoString` is a `StringOrView` and libfmt does not know how to print
that. Pass it a `string_view` instead.
2023-03-12 14:54:14 +00:00
staphen 9af5bf84ba Arkaine's Valor: Don't check player inventory when processing CMD_OPERATEOBJ 2023-03-05 17:55:26 +01:00
obligaron 55bf5348c4 Multiplayer: Prevent trapped doors to fire twice 2023-02-27 05:03:57 +01:00
obligaron cd89372512 Introduce Object::name() 2023-02-26 04:40:31 +01:00
staphen f6fd519561 Remove references to Bard-specific speech IDs 2023-02-25 07:54:11 +01:00
obligaronandqndel 3a31539c7e Multiplayer: Enable Warlord of Blood Quest
Update Source/quests.h

Co-authored-by: qndel <[email protected]>
2023-02-20 21:30:50 +01:00
Gleb Mazovetskiy e67ea9b006 Make MissilesData const
Instead of temporarily modifying `MissileData` around certain calls,
pass the arguments from the outside.
2023-02-15 10:47:08 +00:00
obligaron 023134ef91 Multiplayer: Enable The Chamber of Bone Quest 2023-02-11 18:22:05 +01:00
obligaron 2d4e84c561 Multiplayer: Enable Black Mushroom Quest 2023-02-07 08:02:38 +01:00
KPhoenix d813f13700 enum spell_id -> enum class SpellID 2023-02-05 10:24:58 +00:00
Gleb Mazovetskiy 7c53a5d5b3 Reduce ObjectData size: 24 bytes -> 11 bytes
1. Reduces sizes of integral fields.
2. Merges boolean flags into a single field.
2023-01-25 09:32:50 +00:00
c99f7cf644 Floating numbers (#5639)
Co-authored-by: qndel <[email protected]>
Co-authored-by: Stephen C. Wills <[email protected]>
2023-01-22 07:20:10 +01:00
KPhoenix 8db521727d enum missile_id -> enum class MissileID
Changes `enum missile_id` to `enum class MissileID`
2023-01-18 17:17:25 +00:00
obligaron a935066180 Multiplayer: Enable Halls of the Blind Quest 2022-12-28 10:05:45 +01:00
obligaron 600cb656fb Multiplayer: Enable Arkaine's Valor Quest 2022-11-27 18:27:06 +01:00
obligaron f34cfeb565 Sync sign chest 2022-11-22 15:29:04 +01:00
obligaron 610e80f098 Sync break crux 2022-11-14 06:58:56 +01:00
obligaron 0711e6af4d Sync SpawnQuestItem (multiplayer quest items) 2022-11-12 19:27:36 +01:00
obligaron 5fe20e3d32 Make Lazarus quest map multiplayer compatible 2022-11-11 03:27:37 +01:00
Gleb Mazovetskiy 680ab5ec40 Overhaul backbuffer state handling
When rendering directly to the output buffer, we need to maintain the
state of what has been drawn and what needs redrawing per-buffer.

We previously tried to do it implicitly by checking `SDL_DOUBLEBUF` and
other flags. The previous implementation was broken in several
ways, resulting in rendering issues on devices that support 8-bit output
directly.

Changes this mechanism to explicitly maintain buffer state per output
buffer. The new mechanism doesn't require knowledge of the number of
buffers, and thus also works correctly with triple-buffering.

Fixes #5447
2022-11-01 02:43:24 +00:00
Gleb Mazovetskiy 759ca7f055 WorldTileRectangle/Size
Adds a custom sized type for the world tile rectagle.

This allows us to better express intent.
It also allows us to make certain globals smaller, e.g. `THEME_LOC`.
2022-10-16 03:53:26 +01:00