obligaron
4cdd7ff2d9
Replace ReturnLevel/LevelTyp/LvlPosition
2023-03-12 19:30:57 +01:00
obligaron
f4b2fee532
Transform Lazarus portal position to world space earlier
2023-03-12 19:30:57 +01:00
obligaron
adeeae2c52
Add option to enable singleplayer quests in multiplayer
2023-02-27 05:00:07 +01:00
obligaron
6a5210e14a
Multiplayer: Enable Lachdanan Quest
2023-02-25 02:48:58 +01:00
obligaron and qndel
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
obligaron
76528246d7
Multiplayer: Enable Zhar the Mad Quest ( #5823 )
2023-02-19 22:06:08 +01:00
obligaron
31b0f2147a
Multiplayer: Enable Gharbad the Week Quest
2023-02-19 14:13:06 +01:00
obligaron
475f1d67fb
Spawn Fungal Tome during level generation to avoid desyncs
2023-02-07 08:02:38 +01:00
obligaron
5e9801f0cf
Sync Quest._qmsg
2023-02-07 08:02:38 +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
9948bc3477
Multiplayer: Fix Poisoned Water Supply purify
2022-12-28 21:03:09 +01:00
obligaron
0aa3831e32
Multiplayer: Enable Ogden's Sign Quest
2022-11-22 15:29:04 +01:00
obligaron
0711e6af4d
Sync SpawnQuestItem (multiplayer quest items)
2022-11-12 19:27:36 +01:00
obligaron
d0978672e9
Make Poisoned Water Supply quest multiplayer compatible
2022-11-11 03:27:37 +01:00
obligaron
5a45ee4eba
Update diablo pentagram when quest state changes
2022-11-11 03:27:37 +01:00
obligaron
0c13f88694
Ensure questmap changes are synced between clients
2022-11-11 03:27:37 +01:00
obligaron
5fe20e3d32
Make Lazarus quest map multiplayer compatible
2022-11-11 03:27:37 +01:00
obligaron
57a3ede76a
Introduce UseMultiplayerQuests
2022-11-11 03:27:37 +01:00
obligaron
17712562c8
Sync Quest._qvar2
2022-11-11 03:27:37 +01:00
obligaron
0de0894ad5
Enable sync of all quests
2022-11-11 03:27:37 +01:00
Gleb Mazovetskiy
b5f788cb33
trigs.cpp: Optimize & clean up the data structures
...
1. Use appropriate types.
2. Do not use an end marker for static arrays (their length is known).
2022-10-16 03:53:26 +01: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
obligaron
795a43dd89
Add Arena Support
2022-10-14 16:25:30 +02:00
obligaron
7ad5a45905
Fix warp position offset and adjust some spawn positions ( #5364 )
2022-09-25 02:20:35 +02:00
Gleb Mazovetskiy
6327e713e0
Lowercase all file paths
...
We want to be able to use unpacked MPQs on low-end platforms
(PS2/rg99/etc).
This is tricky on case-sensitive filesystems. Avoids case issues by
lowercasing all paths in the code (then we'll just need lowercased
listfiles).
2022-08-20 23:49:23 +01:00
Gleb Mazovetskiy
961866e1c4
CLX: A new graphics format
...
The format is almost identical to CL2, except it uses the frame header
to store frame width and height instead of 5 32-line offsets.
This means we always have access to frame dimensions, so we can use it
as an on-disk format for our graphics as well.
Additionally, we may be able to optimize the rendering even more
in the future now that we have guaranteed knowledge of frame dimensions.
2022-08-03 02:38:55 +02:00
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).
2022-07-19 10:59:35 +02:00
Anders Jenbo
d1189388f5
Use user by reference
2022-07-17 18:41:05 +02:00
ephphatha
1337ff6ea2
Add check if a monster potentially has leashed minions
2022-07-13 07:13:34 +02:00
ephphatha
7c54066f31
Use PickRandomlyAmong when choosing between two options
2022-07-10 02:37:33 +02:00
ephphatha
bc0a058350
Invert FlipCoin
2022-07-10 02:37:33 +02:00
Cesar Canassa
bb3fb36ddc
✨ Introduces FlipCoin() (#4908 )
2022-07-07 20:57:03 +02:00
Mikołaj Piróg
15989609a8
Members' name changes and comments in Monster struct ( #4861 )
2022-07-06 10:21:22 +02:00
Gleb Mazovetskiy
6949a6f418
Monster: Remove MType/MData pointers
...
These pointers are redundant, replaces them with methods.
2022-07-03 13:21:11 +01:00
Gleb Mazovetskiy
d152d2c0fb
Add OptionalOwnedCelSprite
2022-07-03 12:26:39 +01:00
Mikołaj Piróg
7cab074aa5
Correct members' names in monster.h ( #4850 )
...
* Fix case in AnimStruct
* Rename CMonster members
2022-07-01 23:34:32 +02:00
ephphatha
c68fcf3cb1
Apply MethodCase config to Rectangle::Contains
...
Also included Circle and VirtualButton classes due to the shared use.
2022-06-24 00:39:55 +02:00
Anders Jenbo
6d56058708
Move level generation to subfolder
2022-06-23 09:21:58 +02:00
Andrew James
f846263462
Restore change to trigger position when advancing betrayer quest ( #4752 )
2022-06-20 10:15:10 +02:00
Gleb Mazovetskiy
8e9c9e0238
Reduced the size of OwnedCelSprite* by 8 bytes
...
`OwnedCelSpriteWithFrameHeight`: 40 -> 32
2022-06-20 01:11:22 +02:00
Anders Jenbo
4cc3a5264c
Make dPiece zero-indexed
2022-06-19 09:57:30 +02:00
Anders Jenbo
d17d7e018d
Use common function for loading .dun tile data
2022-06-15 14:18:06 +02:00
Gleb Mazovetskiy
1fc8ecb6f6
Add fmt::runtime annotations for C++20 support
...
`fmt` requires non-contexpr format string arguments to be wrapped in
`fmt::runtime` in C++20.
2022-06-14 12:46:36 +01:00
Andrew James
4bd1e06336
Point mega <-> world conversion helpers
2022-06-13 00:27:57 +02:00
ephphatha
c859ec57d0
Dedupe SP/MP logic when killing archbishop lazarus
2022-06-12 03:44:24 +02:00
Anders Jenbo
6962fcd63e
Clean up PlaceMiniSet()
2022-06-11 09:26:06 +02:00
Anders Jenbo
50a222f1a2
Test generating a level for the butcher quests
2022-06-06 14:10:58 +02:00
qndel
354e329644
Players[MyPlayerId] -> MyPlayer
2022-05-31 05:35:52 +02:00
Anders Jenbo
457f804f10
[vanilla] Fix missing tource light in Lazarus' chamber
2022-05-12 21:39:00 +02:00
galaxyhaxz
157adc7e11
Lazarus level reset bugfix
2022-05-08 12:15:32 +02:00