Laserlicht
9c1ce214fc
thievesGuild support
2024-05-30 21:58:35 +02:00
Laserlicht
3f9e53acc8
fix typo
2024-05-30 21:57:58 +02:00
Ivan Savenko
888149c6f6
Implemented simple versioning system for multiplayer
2024-05-29 20:08:32 +00:00
Ivan Savenko
5c2ca380ab
Merge pull request #4052 from vcmi/bank_battle
...
Config option for regular unit placement in Black Tower
2024-05-29 22:55:22 +03:00
Tomasz Zieliński
098c88eff4
Update serialization version
2024-05-29 20:52:59 +02:00
Tomasz Zieliński
3ac603767d
Basic config for regular unit placement in Black Tower
2024-05-29 20:20:33 +02:00
Ivan Savenko
dd2d0e285d
Merge pull request #4038 from IvanSavenko/pathfinder_fixes
...
[1.5.2] Pathfinder fixes
2024-05-29 18:15:51 +03:00
Ivan Savenko
df81c1d61a
Merge pull request #4050 from IvanSavenko/bonus_fix
...
[1.5.2] Bonus updaters fix
2024-05-29 18:14:14 +03:00
Ivan Savenko
2fcbfd978a
Merge pull request #4049 from IvanSavenko/campaign_fix
...
[1.5.2] Campaign fixes
2024-05-29 18:14:04 +03:00
Ivan Savenko
2ff28f6957
Merge pull request #4018 from IvanSavenko/voting
...
[1.5.2?] Multiplayer voting
2024-05-29 18:13:42 +03:00
Ivan Savenko
49138e3de9
Fixes Adrienne starting without Inferno spell in campaign
2024-05-29 14:28:36 +00:00
Ivan Savenko
d8f48f2c59
Merge pull request #4035 from IvanSavenko/stabilization
...
[1.5.2] Fixes for crashes in 1.5.1
2024-05-28 22:59:55 +03:00
Ivan Savenko
58b1e74342
Workaround - check also for valueType when updating bonuses
...
We should not assume that spells always have a single bonus with same
type/subtype
2024-05-28 17:01:30 +00:00
Ivan Savenko
28081085a8
Create separate instance of updater for every bonus
2024-05-28 16:43:28 +00:00
Ivan Savenko
520f690d35
Fix transfer of non-first artifacts in backpack if hero does not
...
transfers as well
2024-05-28 14:21:29 +00:00
Ivan Savenko
3847e3e2b4
Better comments, remove dead code
2024-05-28 13:43:16 +00:00
SoundSSGood
07239dcfb5
artifact parts calc
2024-05-24 21:22:08 +02:00
Ivan Savenko
f7989f6dcb
Allow landing on guarded tiles when flying in from guarded tile
2024-05-23 19:01:30 +00:00
Ivan Savenko
ac047d0d6d
Fixed handling of original game rules pathfinding
2024-05-23 19:01:30 +00:00
Ivan Savenko
0a3cfea017
Simplify code
2024-05-23 19:01:30 +00:00
Ivan Savenko
d7f5d24b99
If original movement rules are on, it is not possible to attack guards
...
from visitable object directly
2024-05-23 19:01:30 +00:00
Ivan Savenko
ef29c47408
Added GUARDED state to distinguish from blocked visitable
2024-05-23 19:01:30 +00:00
Ivan Savenko
c27dd04a1e
Abort game loading if corrupted mod is found and show explanation
2024-05-23 12:46:28 +00:00
Ivan Savenko
45bb6ada3d
Add compatibility for 64-bit 1.5.1 vs any 1.5.2 MP game
2024-05-23 12:46:28 +00:00
Ivan Savenko
f8a206b0c6
Fix serialization of size_t breaking 32<->64 bit compatibility
2024-05-23 12:46:28 +00:00
Ivan Savenko
c85ea98519
Merge pull request #4019 from IvanSavenko/simturn_tweaks
...
[1.5.2] Simturn tweaks
2024-05-21 14:18:42 +03:00
Ivan Savenko
ffe14fc1fc
Merge pull request #4022 from vcmi/master
...
Merge master -> beta
2024-05-20 18:09:51 +03:00
Ivan Savenko
52840afb24
Try to detect corrupted mod earlier
2024-05-20 11:00:35 +00:00
Ivan Savenko
215b279ea8
Contact between allies will no longer break simturns
2024-05-19 20:18:14 +00:00
Ivan Savenko
10b50cd905
It is now possible to vote for simturns and turn timer changes
2024-05-19 18:31:32 +00:00
Ivan Savenko
6f6555d19c
Downgrade fatal exception to disconnection message
2024-05-19 12:54:51 +00:00
Ivan Savenko
d5f32c27b0
Merge pull request #3996 from IvanSavenko/retaliation_tweaks
...
[1.5.2] Retaliation preview tweaks
2024-05-19 15:44:16 +03:00
Ivan Savenko
692cbfb7e2
Merge pull request #3992 from IvanSavenko/mod_validation_fix
...
Tweaks to modding docs
2024-05-19 15:43:16 +03:00
Ivan Savenko
9bfe000724
Added semi-workaround method for network thread shutdown:
...
Currently closing game while network thread is waiting for something is
very bug-prone, since network thread may resume during shutdown and
access partially destroyed client state.
Now if exit has been requested, the very first step would be semi-
graceful shutdown of network thread (via exception throwing). This may
in theory skip some cleanup in non-RAII code, but since game is shutting
down this does not matters much.
This logic applies to:
- shutting down while network thread is waiting for dialogs
- shuttind down while network thread waiting for animations in combat
2024-05-18 11:04:10 +00:00
Ivan Savenko
0dfa781655
Add mutex as a quick fix for concurrent access to text handler by client
...
and server
2024-05-18 09:02:21 +00:00
Ivan Savenko
7f9df2ef6f
Tweaks to retaliation damage calculation:
...
- method now uses early returns to avoid deeply nested if's
- assume that retaliation damage is zero if target will die from attack
- account for BLOCKS_RETALIATION bonus when computing whether target
will retaliate
2024-05-17 12:23:51 +00:00
Ivan Savenko
65f63e862c
Tweaks to modding docs & error reporting based on discovered issues
2024-05-16 15:14:36 +00:00
Ivan Savenko
f309a4eb82
Exclude some AB creatures from randomization picks
...
This changes handling of several campaign-only creatures to be in line
with H3 - Sharpshooters, Enchanters and Azure/Rust/Faerie/Crystal
dragons.
Now these creatures will not be picked for
- random creatures in Refugee Camp
- as replacement for Random Monster object from map editor
Random map generator is not affected and can still pick this creatures
(confirmed to be same in H3)
2024-05-16 09:53:37 +00:00
Ivan Savenko
f963b827e9
Add more descriptive error messages
2024-05-16 08:03:06 +00:00
Ivan Savenko
1b1f724de1
Merge pull request #3970 from Laserlicht/extra
...
ExtraOptions improvements
2024-05-15 15:20:59 +03:00
Ivan Savenko
35954dc41b
Simple workaround to fix vcmiserver shutdown procedure
...
At the moment, vcmilobby *requires* async writes in order to handle
multiple connections with different speeds and at optimal performance,
without hanging if one player is too slow and can't eat all data server
sent to him at once.
However server (and potentially - client) can not handle this mode and
may shutdown either socket or entire asio service too early, before all
writes are performed, leading to weird freeze on ending scenario where
client would not receive notifications about end of game.
2024-05-14 19:40:20 +00:00
Ivan Savenko
da9d82b697
Merge pull request #3973 from vcmi/master
...
Merge master -> beta
2024-05-14 16:59:10 +03:00
Ivan Savenko
00728ded88
Report more information on exception
2024-05-14 12:48:19 +00:00
Ivan Savenko
c92a5bbbab
Attempt to track crashes with unclear cause
2024-05-14 09:44:40 +00:00
Ivan Savenko
bb5627e98c
Merge pull request #3954 from IvanSavenko/fix_compile
...
Fix compilation issues
2024-05-14 12:16:27 +03:00
Laserlicht
941c1576c5
improve extraoptions
2024-05-14 00:33:30 +02:00
Ivan Savenko
c786354af3
Add better crash message for zero-length battlefield list
2024-05-13 21:03:06 +00:00
Ivan Savenko
62b564650d
Fix possibly hanging pointer to deleted CGObjectInstance
...
Was stored by CRemoveObjectOperation and accessed on destruction even
though it has been removed by the game
2024-05-13 16:19:14 +00:00
Ivan Savenko
93da58beed
Do not use locks on single-threaded server.
...
Especially since this lock is global and is shared between client and
server for no reason
2024-05-13 15:42:33 +00:00
Ivan Savenko
95d761bbb8
Handle corrupted H3 data - show message box instead of silent crash
2024-05-13 15:41:47 +00:00