obligaron
31b0f2147a
Multiplayer: Enable Gharbad the Week Quest
3 years ago
obligaron
475f1d67fb
Spawn Fungal Tome during level generation to avoid desyncs
3 years ago
obligaron
5e9801f0cf
Sync Quest._qmsg
3 years ago
KPhoenix
8db521727d
`enum missile_id` -> `enum class MissileID`
...
Changes `enum missile_id` to `enum class MissileID`
3 years ago
obligaron
9948bc3477
Multiplayer: Fix Poisoned Water Supply purify
3 years ago
obligaron
0aa3831e32
Multiplayer: Enable Ogden's Sign Quest
3 years ago
obligaron
0711e6af4d
Sync SpawnQuestItem (multiplayer quest items)
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
0c13f88694
Ensure questmap changes are synced between clients
3 years ago
obligaron
5fe20e3d32
Make Lazarus quest map multiplayer compatible
3 years ago
obligaron
57a3ede76a
Introduce UseMultiplayerQuests
3 years ago
obligaron
17712562c8
Sync Quest._qvar2
3 years ago
obligaron
0de0894ad5
Enable sync of all quests
3 years ago
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).
3 years ago
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`.
3 years ago
obligaron
795a43dd89
Add Arena Support
3 years ago
obligaron
7ad5a45905
Fix warp position offset and adjust some spawn positions ( #5364 )
4 years ago
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).
4 years ago
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.
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
Anders Jenbo
d1189388f5
Use user by reference
4 years ago
ephphatha
1337ff6ea2
Add check if a monster potentially has leashed minions
4 years ago
ephphatha
7c54066f31
Use PickRandomlyAmong when choosing between two options
4 years ago
ephphatha
bc0a058350
Invert FlipCoin
4 years ago
Cesar Canassa
bb3fb36ddc
✨ Introduces FlipCoin() ( #4908 )
4 years ago
Mikołaj Piróg
15989609a8
Members' name changes and comments in Monster struct ( #4861 )
4 years ago
Gleb Mazovetskiy
6949a6f418
Monster: Remove MType/MData pointers
...
These pointers are redundant, replaces them with methods.
4 years ago
Gleb Mazovetskiy
d152d2c0fb
Add OptionalOwnedCelSprite
4 years ago
Mikołaj Piróg
7cab074aa5
Correct members' names in monster.h ( #4850 )
...
* Fix case in AnimStruct
* Rename CMonster members
4 years ago
ephphatha
c68fcf3cb1
Apply MethodCase config to Rectangle::Contains
...
Also included Circle and VirtualButton classes due to the shared use.
4 years ago
Anders Jenbo
6d56058708
Move level generation to subfolder
4 years ago
Andrew James
f846263462
Restore change to trigger position when advancing betrayer quest ( #4752 )
4 years ago
Gleb Mazovetskiy
8e9c9e0238
Reduced the size of `OwnedCelSprite*` by 8 bytes
...
`OwnedCelSpriteWithFrameHeight`: 40 -> 32
4 years ago
Anders Jenbo
4cc3a5264c
Make dPiece zero-indexed
4 years ago
Anders Jenbo
d17d7e018d
Use common function for loading .dun tile data
4 years ago
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.
4 years ago
Andrew James
4bd1e06336
Point mega <-> world conversion helpers
4 years ago
ephphatha
c859ec57d0
Dedupe SP/MP logic when killing archbishop lazarus
4 years ago
Anders Jenbo
6962fcd63e
Clean up PlaceMiniSet()
4 years ago
Anders Jenbo
50a222f1a2
Test generating a level for the butcher quests
4 years ago
qndel
354e329644
Players[MyPlayerId] -> MyPlayer
4 years ago
Anders Jenbo
457f804f10
[vanilla] Fix missing tource light in Lazarus' chamber
4 years ago
galaxyhaxz
157adc7e11
Lazarus level reset bugfix
4 years ago
Gleb Mazovetskiy
a66ca44695
Zero-based frame indexing
...
Index frames starting at 0 instead of 1.
4 years ago
Gleb Mazovetskiy
ade8aba822
Fix some more warnings
4 years ago
Anders Jenbo
3c54925a84
Fix cow quest getting stuck in multiplayer
4 years ago
Anders Jenbo
6d28810dc7
Change infostr from char[128] to std::string
4 years ago
Anders Jenbo
1409e604f5
Reduce string conversions
4 years ago
Anders Jenbo
be57d62684
Use UTF8 aware string copying
4 years ago