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
8931121d2e
Merge pull request #3995 from IvanSavenko/old_projects_remove
...
[1.6] Remove old project files
2024-05-19 15:44:32 +03: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
8754e0ebb3
Code formatting and cleanup
2024-05-17 17:10:29 +00:00
Ivan Savenko
f3de2cfe1c
Removed broken & unused serialization of player interface and AI
2024-05-17 16:35:53 +00:00
Ivan Savenko
31349f3052
Fix handling of missing video files
2024-05-17 15:43:21 +00:00
Ivan Savenko
7461df161c
lib now uses shared_ptr for entities. Removed manual memory management.
2024-05-17 15:04:05 +00:00
Ivan Savenko
0d427980bc
Entities are now non-copyable
2024-05-17 14:47:09 +00:00
Ivan Savenko
69e33e406d
Try to minimize dll linkage usage
2024-05-17 13:09:45 +00:00
Ivan Savenko
03054af949
Add description for serialization changes, fix CURRENT value
2024-05-17 13:09:08 +00:00
Ivan Savenko
a688bc6b69
Remove debug code
2024-05-17 13:08:41 +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
SoundSSGood
7abfa7b42a
ArtifactPosition::TRANSITION_POS now is simple ArtSlotInfo
2024-05-17 14:59:51 +03:00
Ivan Savenko
eb67e04ccb
Remove old and unmaintained codeblocks project
2024-05-17 10:44:57 +00:00
Ivan Savenko
3f6eb13ee0
Delete old and unmaintained msvc project files
2024-05-17 10:44:11 +00:00
Ivan Savenko
721b15d9de
Merge branch 'vcmi/master' into 'vcmi/develop'
2024-05-17 08:26:37 +00:00
Ivan Savenko
07813c9a79
Removed non-functional updateEntity in VLC
2024-05-16 22:05:26 +00:00
Ivan Savenko
a0ad810033
Remove old code
2024-05-16 19:11:33 +00:00
Ivan Savenko
2ed355952c
Added proper serialization for unordered_map
2024-05-16 19:03:04 +00:00
Ivan Savenko
42f7a48fa4
Simplified integer serialization code
2024-05-16 18:53:49 +00:00
Ivan Savenko
84bc6c42db
Added 'Serializeable' base class for classes serializeable by pointer
2024-05-16 18:40:59 +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
cce3f1cb2d
Implemented compact serialization of integer numbers
2024-05-15 19:50:01 +00:00
Ivan Savenko
87eac164e6
Implemented string deduplication for serializer
...
Every unique string will now be serialized only once.
Reduces save size by ~20%
2024-05-15 19:49:59 +00:00
Ivan Savenko
5b182c31df
Add 'hasFeature' method for convenience
2024-05-15 19:49:34 +00:00
Ivan Savenko
7ad64207ed
Prefer high-quality bik's to smk's
2024-05-15 17:05:17 +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
Ivan Savenko
93038b791e
Fix connection termination handling
2024-05-13 14:09:59 +00:00
Ivan Savenko
58d1c93c1b
Merge pull request #3931 from IvanSavenko/retaliation_preview
...
[1.5.1] Retaliation preview
2024-05-13 14:40:00 +03:00
Ivan Savenko
6d08ec6323
More robust handling of connection errors
...
Fixes potentially hanging by heartbeat sockets
2024-05-12 19:13:17 +00:00
Ivan Savenko
62c2be160a
Added changing thread name for FreeBSD
2024-05-12 15:10:29 +00:00
Ivan Savenko
06aab2ccbb
Merge pull request #3924 from vcmi/fix_road_routing
...
Route roads away from zone borders
2024-05-12 16:02:38 +03:00
Ivan Savenko
33fd18e828
Merge pull request #3938 from IvanSavenko/lobby_fixes
...
[1.5.1] Fixes for issues with lobby server
2024-05-12 10:13:00 +03:00
Ivan Savenko
9049fb738a
Merge pull request #3946 from dydzio0614/mana-vortex-hero-order
...
Fix "bonusing" town building visiting hero order
2024-05-11 21:58:23 +03:00
Ivan Savenko
0ce78cae06
Merge pull request #3926 from IvanSavenko/optimize_map_list_load
...
[1.5.1] Improve performance of parsing of map headers for map list
2024-05-11 21:56:58 +03:00
Dydzio
f20ef4f1b3
Fix hero order for giving bonuses in town to match H3.
2024-05-11 20:21:02 +02:00
Ivan Savenko
dae3569077
Fix build
2024-05-11 16:18:21 +00:00
Ivan Savenko
0403626c93
Fix excessive calls of steady_timer::async_wait
2024-05-11 16:10:07 +00:00
Ivan Savenko
67604e1e01
Reapply "Simple implementation of heartbeat package"
...
This reverts commit ede92c1a9c
.
2024-05-11 16:10:08 +00:00
Ivan Savenko
4c3aac8f19
Use async_write to prevent locks if receiver is too slow
2024-05-11 16:09:03 +00:00
Ivan Savenko
147db10a28
Avoid crash if configs file is missing, e.g. broken version of mod
2024-05-11 13:19:07 +00:00
Ivan Savenko
1bc7c29111
Add workaround for visiting Altar of Sacrifice on 1.4 saves
2024-05-11 13:19:07 +00:00
Ivan Savenko
16f43254b5
Use async_resolve to avoid crash on resolve error
2024-05-11 13:19:07 +00:00
Ivan Savenko
31401e219f
Fix possible crash on nullptr dereference
2024-05-11 13:19:07 +00:00
Ivan Savenko
ac4204f660
Fixed calculation of retaliation damage
2024-05-10 19:40:14 +00:00
Tomasz Zieliński
5a979e42e2
Satisfy SonarCloud
2024-05-10 21:14:15 +02:00
Tomasz Zieliński
ee27a79aa1
Sonarcloud issues
2024-05-10 17:07:09 +02:00
Ivan Savenko
3acc1f1845
Improve performance of parsing of map headers for map list
2024-05-10 14:30:39 +00:00
Tomasz Zieliński
21bb61fc4d
Unused variable
2024-05-10 15:56:49 +02:00
Tomasz Zieliński
7cb17afe7a
Fix diagonal paths if we need to use them
2024-05-10 15:53:54 +02:00
Ivan Savenko
2521557f68
Fixed some newly reported issues from SonarCloud
2024-05-10 13:40:24 +00:00
Tomasz Zieliński
a6fa6855dc
Route roads away from zone borders
2024-05-10 15:35:33 +02:00
Ivan Savenko
2ddb41e654
Merge branch 'vcmi/master' into 'vcmi/develop'
2024-05-10 08:09:51 +00:00
Ivan Savenko
b4af84a3ce
Merge pull request #3911 from vcmi/penrose_cleanup
...
Clean up excessive operations and logs
2024-05-08 22:43:28 +03:00
Tomasz Zieliński
2297e09fcb
Clean up excessive operations and logs
2024-05-08 15:51:42 +02:00
Ivan Savenko
718d42f0d6
Merge pull request #3910 from vcmi/center_penrose
...
Shift center of tiling to center of the map
2024-05-08 16:40:00 +03:00
Ivan Savenko
72703f89fe
Merge pull request #3909 from IvanSavenko/clean_rmg_crash
...
Disable 'catch everything' block in RMG in favor of clean crash
2024-05-08 16:39:52 +03:00
Tomasz Zieliński
37d062f1eb
Fix incorrect comparison operator
2024-05-08 15:09:11 +02:00
Tomasz Zieliński
eece03d24f
Fix for centering the tiles, extra logs
2024-05-08 13:16:26 +02:00
Tomasz Zieliński
ec20e9e907
Shift center of tiling to center of the map
2024-05-08 12:16:42 +02:00
Ivan Savenko
f5824ccea4
Re-throw exception on RMG failure to prevent weird crashes later
2024-05-08 09:55:34 +00:00
Ivan Savenko
8b861fc58f
Do not check for guards when teleporting using means other than DD
2024-05-07 20:05:23 +00:00
Ivan Savenko
4769c86c82
Merge pull request #3902 from vcmi/underground_biomes
...
Option to define surface or underground level for obstacle set
2024-05-07 16:42:33 +03:00
Ivan Savenko
10a91cb1d8
Merge pull request #3901 from IvanSavenko/sonar_fix
...
[1.6] Fix some new issues reported by Sonar Cloud
2024-05-07 11:59:17 +03:00
Ivan Savenko
66e2e13ba1
Add few more safety checks to network connection logic
2024-05-07 08:34:47 +00:00
Ivan Savenko
ede92c1a9c
Revert "Simple implementation of heartbeat package"
...
This reverts commit 5f344e410a
.
2024-05-07 08:31:08 +00:00
Tomasz Zieliński
9763ea2ecb
Style
2024-05-07 09:14:16 +02:00
DjWarmonger
4949b98ed3
Merge pull request #3759 from Laserlicht/bio
...
Let's try this
2024-05-07 09:05:14 +02:00
Tomasz Zieliński
dd55188b77
Option to define surface or underground level for obstacle set
2024-05-07 07:15:00 +02:00
Ivan Savenko
66f1f48d4c
Merge pull request #3867 from IvanSavenko/heartbeat
...
Simple implementation of heartbeat package
2024-05-06 22:35:58 +03:00
Ivan Savenko
30e0a16ee9
Fix some 'new' issues reported by Sonar Cloud
2024-05-06 15:33:30 +00:00
Andrii Danylchenko
157443c1df
#3876 - allow to embark after battle for AI pathfinder
2024-05-05 13:52:57 +03:00
Ivan Savenko
6ac67775f5
Merge pull request #3861 from Laserlicht/pvp_options
...
Pvp options
2024-05-03 10:38:42 +03:00
Laserlicht
1f209fd94a
use MetaString
2024-05-02 21:03:23 +02:00
Ivan Savenko
47c3e6f4b6
Simplified code
2024-05-02 17:53:36 +03:00
Ivan Savenko
08ce3a8338
Clarified code
2024-05-02 17:32:38 +03:00
Ivan Savenko
f6e5f09d50
Fix possible uninitialized variables
2024-05-02 17:32:27 +03:00
Laserlicht
812e96ebb1
Guest can also use & renaming
2024-05-01 15:58:22 +02:00
Tomasz Zieliński
20176521eb
Actually revert this change, it's not better.
2024-05-01 15:27:19 +02:00
Tomasz Zieliński
4d13c3b94f
Final fixes and tweaks
2024-05-01 13:58:24 +02:00
Tomasz Zieliński
186b6629c7
Do not hide roads behind objects
2024-05-01 12:15:07 +02:00
Tomasz Zieliński
d5b6e31223
Fix guard check
2024-05-01 11:38:44 +02:00
Tomasz Zieliński
5315beec8c
Fixes for guard condition
2024-05-01 11:34:34 +02:00
Tomasz Zieliński
acab1d38cf
Build fix
2024-05-01 10:45:01 +02:00
Tomasz Zieliński
7f3cf607a7
Allow guards not stronger than 1/3 max value next to roads
2024-05-01 10:24:21 +02:00
Tomasz Zieliński
67447acd0e
First implementation that works
2024-05-01 09:16:10 +02:00
Tomasz Zieliński
4d948e8c6d
Also, this
2024-05-01 07:58:47 +02:00
Tomasz Zieliński
9301bb9af5
Do not place guardes treasure on roads. Do not place guards next to roads.
2024-05-01 07:58:17 +02:00
Laserlicht
e505aab29a
scrolling works
2024-05-01 00:49:33 +02:00
Ivan Savenko
5f344e410a
Simple implementation of heartbeat package
2024-04-30 22:44:31 +03:00
Laserlicht
0565c062e5
Server functionality
2024-04-30 01:52:49 +02:00
Ivan Savenko
151075f088
Fix save compatibility with 1.4 that was broken by artifact costumes
2024-04-28 20:54:33 +03:00
Ivan Savenko
c74d728f5a
Merge pull request #3833 from SoundSSGood/artifacts-costumes
...
Artifacts costumes
2024-04-28 16:10:24 +03:00
SoundSSGood
0ac7108293
Update lib/CPlayerState.h
...
Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2024-04-28 13:02:27 +02:00
Ivan Savenko
b0effdbbf4
Merge pull request #3836 from vcmi/unpropagate_bonus
...
Fixes issue of bonuses not correctly removed
2024-04-28 13:10:23 +03:00
SoundSSGood
ce68b3f45d
class CArtifactsOfHeroMain : public CKeyShortcut
2024-04-27 21:35:38 +03:00
SoundSSGood
ce9d2d8ab8
Switching costume
2024-04-27 21:35:37 +03:00
SoundSSGood
25dea7e364
Saving costume
2024-04-27 21:35:37 +03:00
Laserlicht
ab50bf9198
biography to description
2024-04-27 18:41:21 +02:00
Andrii Danylchenko
39e19f79f4
Fix #3754 , #2316
2024-04-27 13:57:50 +03:00
Tomasz Zieliński
914cea5877
Tweaks
2024-04-26 19:33:26 +02:00
Tomasz Zieliński
04691c851f
Fixes issue of bonuses not correctly removed
2024-04-26 19:22:20 +02:00
Ivan Savenko
5010344df0
Added serialization of turn timer handler
2024-04-26 13:16:02 +03:00
Ivan Savenko
75aae66858
Fix off-by-one error - turnLimit 1 should work after 1st turn, not 2nd
2024-04-26 12:44:42 +03:00
Ivan Savenko
01c2814d35
Merge pull request #3821 from SoundSSGood/CWindowWithArtifacts-refactoring
...
CWindowWithArtifacts refactoring
2024-04-26 11:58:38 +03:00
Ivan Savenko
6413747fff
Merge pull request #3828 from IvanSavenko/fix_rewardable
...
Fix crash on visiting misconfigured rewardable object
2024-04-26 11:58:27 +03:00
Ivan Savenko
1dc962804e
Fixed possible crash on having selectable reward with no visual image
2024-04-25 14:04:45 +03:00
Ivan Savenko
428c88d8c1
Merge pull request #3776 from IvanSavenko/lobby_room_compatibility_check
...
Check for game version and mods compatibility in lobby
2024-04-25 11:46:40 +03:00
Ivan Savenko
7f732b6d0a
Fix thrown exception on random monster initialization
2024-04-24 22:57:13 +03:00
SoundSSGood
20471c9c2f
virtual CWindowObject
2024-04-23 18:58:41 +03:00
Ivan Savenko
3e23a55c66
Fix build
2024-04-23 17:15:59 +03:00
Ivan Savenko
526ac9807b
Enabled 'keepalive' option to detect dead connections
2024-04-23 17:15:59 +03:00
Ivan Savenko
1840666327
Implemented join room dialog
2024-04-23 17:15:59 +03:00
Ivan Savenko
e5f8cefa7f
Store and send mod list and game version for game rooms
2024-04-23 17:15:59 +03:00
Ivan Savenko
6ba6e0d55b
Moved serialization of ModCompatibilityInfo from MapFormat
2024-04-23 17:15:59 +03:00
Ivan Savenko
62d15ed23c
Merge pull request #3820 from IvanSavenko/bugfixing
...
Bugfixing
2024-04-23 13:03:36 +03:00
Ivan Savenko
5454d01316
Provide more information in thrown exceptions for unfixed crashes
2024-04-22 16:40:43 +03:00
Ivan Savenko
a6dead7725
Fixed loading of text strings for hota quests
2024-04-22 13:49:17 +03:00
Ivan Savenko
ffec4b9154
Explicitly ban 'large' dwellings from random selection
...
Old code was relying on specific sorting order leading to easy to break
logic
2024-04-22 12:35:55 +03:00
Ivan Savenko
438ec08d72
AI will only ignore garrisons in 'Steadwick Fall' mission (H3 logic)
2024-04-22 11:14:58 +03:00
Ivan Savenko
21dff9413e
Merge pull request #3786 from IvanSavenko/instant_movement
...
Instant movement
2024-04-22 11:08:00 +03:00
Ivan Savenko
55756dbc43
Merge pull request #3785 from dydzio0614/bank-revisit-fix
...
Empty treasure bank does not ask for enter anymore
2024-04-22 11:06:58 +03:00
Ivan Savenko
1b469036a3
Merge pull request #3784 from dydzio0614/quick-dwellings-visit
...
Add handling for yes/no dialogs that can be safely skipped by player
2024-04-22 11:06:40 +03:00
Andrii Danylchenko
ae69311023
#3788 - fix passing wirlpool with only commander alive
2024-04-20 15:28:57 +03:00
Ivan Savenko
d5a2ad1be8
Allow sending requests to move across multiple tiles at once
2024-04-20 12:28:50 +03:00
Ivan Savenko
9353e24fa5
Merge pull request #3792 from IvanSavenko/bugfixing
...
Fixes for minor issues
2024-04-19 12:35:25 +03:00
Ivan Savenko
d8baa3c145
Merge pull request #3789 from dydzio0614/fix-sounds
...
Fix some missing/redundant sounds to match H3
2024-04-18 21:34:53 +03:00
Ivan Savenko
16b73bccba
Merge pull request #3787 from kdmcser/damage_crash_fix
...
Fix creature min damage greater than max will cause game crash. #3780
2024-04-18 21:34:12 +03:00
Ivan Savenko
c87e60740b
Fixes hota prisons replacing every h3 prison on h3m maps
2024-04-18 19:13:32 +03:00
Ivan Savenko
6af2609e0f
Do not write mods that do not affect gameplay to saved games
2024-04-18 19:13:02 +03:00
Ivan Savenko
ecc88fabc1
Disable translation validation due to too many false positives
2024-04-18 19:12:39 +03:00
Ivan Savenko
8b18074e7b
Merge pull request #3773 from dydzio0614/mine-bug-fix
...
Remove redundant double sound play on mine capture
2024-04-18 15:09:43 +03:00
Ivan Savenko
9023af4426
Merge pull request #3772 from dydzio0614/resources-bonus
...
Add some utility bonuses for player resources boosting
2024-04-18 15:09:34 +03:00
kdmcser
c2d76ab95d
accept log text suggestion
...
Co-authored-by: Alexander Wilms <Alexander-Wilms@users.noreply.github.com>
2024-04-18 08:40:25 +08:00
Dydzio
98375cc627
Limit showing empty message instantly to creature banks and dragon utopia
2024-04-17 22:08:17 +02:00
Dydzio
1401211145
Fix missing/redundant sounds to match H3
2024-04-17 21:02:43 +02:00
kdmcser
b61011e8b4
accept get creature name suggestion
...
Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2024-04-18 00:48:51 +08:00
kdmcser
1c6dfb5cc5
Fix creature min damage greater than max will cause game crash. #3780
2024-04-17 23:24:13 +08:00
Dydzio
20eaf17a18
Empty treasure bank does not ask for enter anymore
2024-04-17 01:25:58 +02:00
Dydzio
19453aab41
Add handling for yes/no dialogs that can be safely skipped by player
2024-04-17 01:08:27 +02:00
Ivan Savenko
ea48976fba
Disable failing assertion
2024-04-16 18:54:25 +03:00
Dydzio
f7dd80c732
Remove redundant double sound play on mine capture
2024-04-16 00:01:37 +02:00
Dydzio
b351946afd
Add some utility bonuses for player resources boosting
2024-04-15 21:18:45 +02:00
Ivan Savenko
9390825ee7
Merge pull request #3763 from IvanSavenko/fix_tp
...
Fix regressions
2024-04-14 14:14:23 +03:00
Tomasz Zieliński
d22f42d58a
Tweak numbers to ensure tiling covers entire map
2024-04-14 07:25:52 +02:00
DjWarmonger
0808a8b36f
Merge pull request #3714 from vcmi/biome_system
...
Biome system implementation
2024-04-13 21:32:13 +02:00
Tomasz Zieliński
9305f360d1
Actually, lava will only have 3 obstacle sets without mods
2024-04-13 20:56:05 +02:00
Tomasz Zieliński
50ae067a60
Build fix
2024-04-13 19:33:47 +02:00
Tomasz Zieliński
f491f10d81
Final tweaks
2024-04-13 19:21:01 +02:00
Ivan Savenko
d70914a147
Fixes regression - blocked TP when casting spell on land
2024-04-13 16:56:48 +03:00
Tomasz Zieliński
e28fd869aa
Remove empty obstacle sets, just in case.
2024-04-13 14:53:00 +02:00
Laserlicht
e4b60baa3b
creature/town biography/description
2024-04-12 23:35:39 +02:00
Ivan Savenko
3e0eb3ac02
Merge pull request #3752 from IvanSavenko/fix_spell_reward
...
Do not give spells as reward if hero can't learn them
2024-04-12 16:52:23 +03:00
Tomasz Zieliński
a7d0f0626a
Docs & final touches
2024-04-12 14:53:07 +02:00
Ivan Savenko
e1581087c3
Merge pull request #3750 from IvanSavenko/fix_quest_crash
...
Fix crash on accessing nullptr quest
2024-04-12 15:25:33 +03:00
Tomasz Zieliński
be9813b4fb
Remove temporary workaround
2024-04-12 11:51:15 +02:00
Ivan Savenko
0bd1c3c95d
Merge pull request #3746 from IvanSavenko/fix_undefined_behavior
...
Fix discovered undefined behavior cases
2024-04-12 11:51:13 +03:00
Ivan Savenko
6e9f15c8e6
Merge pull request #3743 from dydzio0614/special-factions
...
Allow factions to be special
2024-04-12 11:49:58 +03:00
Tomasz Zieliński
4fa7f0e93d
Also allow filtering biomes by faction(s)
2024-04-12 10:25:13 +02:00
Ivan Savenko
a7d47cd3d2
Merge pull request #3742 from IvanSavenko/adventure_map_spellcast_fixes
...
Adventure map spellcasting fixes
2024-04-12 11:17:19 +03:00
Ivan Savenko
622e4b059b
Update lib/CTownHandler.cpp
2024-04-12 11:14:35 +03:00
Tomasz Zieliński
6899acc1d7
Fix alignments check
2024-04-12 09:38:45 +02:00
Tomasz Zieliński
1f81ddbac4
Fixes in object loading
2024-04-12 06:29:01 +02:00
Ivan Savenko
9e81c53547
Do not give spells as reward if hero can't learn them
2024-04-12 00:25:02 +03:00
Ivan Savenko
9cf3db4eb5
Completely remove dead quest instead of leaving nullptr
...
All code that uses this container assumes non-null content
2024-04-11 23:56:29 +03:00
Tomasz Zieliński
68bb36f7c7
Compile fixes
2024-04-11 18:38:50 +02:00
Ivan Savenko
53fcd3ad26
Merge pull request #3739 from SoundSSGood/fixes
...
Fixes for found regressions
2024-04-11 19:30:55 +03:00
Tomasz Zieliński
a356fdaf2a
Allow filtering obstacles by faction aligmnment
2024-04-11 18:10:14 +02:00
Ivan Savenko
edcf12a80c
(untested) Attempt to fix crash on moving artifact on Android
2024-04-11 16:21:44 +03:00
Ivan Savenko
c99d4b959e
Fix potentially uninintialized variables
2024-04-11 13:25:54 +03:00
SoundSSGood
738a89bb99
Market fix
2024-04-10 23:30:31 +03:00
SoundSSGood
e8a6308a15
Artifacts swap check
2024-04-10 23:30:31 +03:00
Dydzio
00ebbad622
Ability to make faction not pickable on typical maps
2024-04-10 21:22:29 +02:00
Ivan Savenko
320469d773
Cleanup
2024-04-10 20:04:08 +03:00
Ivan Savenko
3fc4383153
Show popup dialog instead of server error when using TP from water
2024-04-10 20:04:08 +03:00
Ivan Savenko
6c45353aa7
Casting DD or TP will now spend mana before hero movement (and any side
...
effects such as visiting objects)
2024-04-10 20:04:08 +03:00
Ivan Savenko
8353bca34f
Small refactoring of adventure map spell casting:
...
- Removed duplicated checks for DD possibility
- Moved most of spell-specific code from AdventureMapInterface to library
code
- AdventureSpellMechanics class now provides methods to check whether
spellcast is possible, similarly to battle spells
- If it is not possible to cast adventure map spell (e.g. no mana or no
move points) game will show infowindow immediately on clicking spellbook
instead of on cast attempt
- If hero does not have movement points for a DD, game will show correct
error message
- Added game settings 'dimensionDoorFailureSpendsPoints' due to
discovered H3 logic
2024-04-10 20:04:08 +03:00
Ivan Savenko
bcd4a8c961
Merge pull request #3736 from IvanSavenko/fix_server_translations
...
Do not translate strings on server side
2024-04-10 19:12:34 +03:00
Ivan Savenko
5b43720dda
Merge pull request #3686 from dydzio0614/dimension-door-changes
...
Dimension door changes
2024-04-10 11:47:36 +03:00
Tomasz Zieliński
6c9d18a85c
Allow multiple terrains per biome
2024-04-10 09:40:12 +02:00
Tomasz Zieliński
5c4d1703ca
Fix for loading templates from other mods
2024-04-09 22:09:03 +02:00
Dydzio
637270ee36
Minor fixes
2024-04-09 19:59:27 +02:00
Ivan Savenko
510e1023da
Merge pull request #3730 from IvanSavenko/localization_export
...
Better export command for translations
2024-04-09 19:11:10 +03:00
Ivan Savenko
8aaa9e63dd
Fix build
2024-04-09 18:56:28 +03:00
Tomasz Zieliński
8d9489c368
Fix conflicts with templates loaded from mods
2024-04-09 17:29:33 +02:00
Ivan Savenko
50e8d1fd82
Add save compatibility check
2024-04-09 16:42:20 +03:00
Ivan Savenko
42616cf4e8
Fix text formatting, fix todo's
2024-04-09 16:13:30 +03:00
Ivan Savenko
18ece6dcf6
Remove some usages of server-side translations
2024-04-09 16:13:30 +03:00
Ivan Savenko
7a42e21e4d
Fix formatting of luck/morale bonuses
2024-04-09 16:13:30 +03:00
Ivan Savenko
9e49587749
Replace bonus string description with metastring that can properly
...
handle translations
2024-04-09 16:13:30 +03:00
Tomasz Zieliński
bf2c9237b2
Register templates for new objects from mods
2024-04-08 16:39:41 +02:00
Tomasz Zieliński
c7149103ce
Compile fix
2024-04-08 15:24:52 +02:00
Tomasz Zieliński
d9a598ad9c
Merge remote-tracking branch 'origin/develop' into biome_system
2024-04-08 15:01:17 +02:00
Tomasz Zieliński
224e971c4b
Unused variable
2024-04-08 14:56:21 +02:00
Tomasz Zieliński
3e3959d360
Move all OH3 objects and obstacle sets to a mod
2024-04-08 12:50:41 +02:00
Ivan Savenko
050157db9d
Register vcmi-only strings as part of 'vcmi' mod instead of 'core'
2024-04-08 13:16:54 +03:00
Ivan Savenko
4947baebee
Fix crash on loading vmap's
2024-04-08 13:16:34 +03:00
Ivan Savenko
8582bd7d66
Replaced 'convert txt' command with more convenient 'translate' and
...
'translate maps' commands.
2024-04-08 13:16:23 +03:00
Ivan Savenko
5dcef193a3
Block spellcasting if 0 creatures will be raised
2024-04-07 18:50:37 +03:00
Tomasz Zieliński
86cffb3a77
Removed unused variable
2024-04-06 18:12:44 +02:00
Tomasz Zieliński
73ec53a9e0
Fix build
2024-04-06 15:29:15 +02:00
Tomasz Zieliński
b0cff23c37
Cleanup
2024-04-06 15:06:08 +02:00
Ivan Savenko
907438c6f5
Fix crash on attempt to compute movement range for siege tower
2024-04-06 15:59:08 +03:00
Ivan Savenko
1a6aae9363
Fix crash on selecting scenario with "start with strongest hero from
...
scenario X" starting bonus
2024-04-06 15:59:08 +03:00
Andrii Danylchenko
8efceb110b
#3691 - boat attached to hero should not block tiles on its own
2024-04-06 12:30:19 +03:00
Tomasz Zieliński
305e2bdf2f
Load obstacle sets from json in mods
2024-04-05 08:31:05 +02:00
Tomasz Zieliński
b1a5693612
Proof of concept with OH3 obstacles
2024-04-04 21:39:01 +02:00
Tomasz Zieliński
8ed940d538
cleanup
2024-04-03 22:24:19 +02:00
Tomasz Zieliński
9f048888dd
Restore previous removeObject
2024-04-03 22:17:36 +02:00
Tomasz Zieliński
12da0196a0
Restrict reindexing to random maps
2024-04-03 20:05:35 +02:00
Tomasz Zieliński
2a213f2276
Reindex objects to show interactive objects on top
2024-04-03 14:48:04 +02:00
Dydzio
ecb2bcb2db
Fix TODO comments
2024-04-01 21:58:17 +02:00
Dydzio
e5e14adb51
Add setting for HD mod tournament rules dimension door limit
2024-04-01 21:52:11 +02:00
Dydzio
3f94d316cb
Fix cursor & add way to access danger info for HotA-like DD cursor
2024-04-01 20:18:35 +02:00
Dydzio
f51e1a0ba6
Working version of dimension door triggering guards
2024-04-01 19:00:24 +02:00
Dydzio
3bb66de551
Serverside validation, setting for terrain compatibility before cast etc
2024-04-01 18:12:38 +02:00
Dydzio
e69c096f94
Move dimension door FoW limit check to lib
2024-04-01 15:13:18 +02:00
Dydzio
70b86e5a87
Merge remote-tracking branch 'origin/develop' into dimension-door-changes
2024-03-30 10:45:00 +01:00
Ivan Savenko
64ff0e0486
Fix handling of 'developmentMode' for lobby-only builds
2024-03-30 10:24:54 +02:00
Ivan Savenko
acd2352653
Merge pull request #3699 from IvanSavenko/lobby_tweaks
...
Minor tweaks for most noticeable issues with new lobby
2024-03-30 00:13:14 +02:00
Andrii Danylchenko
ca7c91e766
Merge pull request #3677 from vcmi/object-graph
...
Object graph
2024-03-29 20:39:56 +02:00
Ivan Savenko
64a5a355e5
Merge pull request #3698 from 678098/fix_include_guards
...
Fix: include guards, licenses, StdInc
2024-03-29 17:30:38 +02:00
Ivan Savenko
675e7c3110
Move files that are not needed for lobby to main part of vcmi_lib
2024-03-29 15:02:14 +02:00
Evgeny Malygin
ee42527ee1
Fixes
2024-03-29 12:28:14 +02:00
Ivan Savenko
19860de137
Merge pull request #3693 from IvanSavenko/lobby_deploy
...
Preparation for lobby server deployment
2024-03-29 11:33:46 +02:00
Evgeny Malygin
25125f96da
Fix: licenses, pragma guards, StdInc
2024-03-29 07:48:52 +02:00
Dydzio
fe42fab2d6
Merge remote-tracking branch 'origin/develop' into dimension-door-changes
2024-03-28 18:26:21 +01:00
Ivan Savenko
08db09eaff
Merge pull request #3692 from RoboSchmied/RoboSchmied-AGfixT86
...
Fix: 9 typos in serializer and docs
2024-03-28 13:18:12 +02:00
Ivan Savenko
1f487dab49
Merge pull request #3685 from dydzio0614/small-fixes
...
Small fixes
2024-03-28 13:17:57 +02:00
Ivan Savenko
1ef8452370
Merge pull request #3679 from godric3/map-editor-customize-hero-spells
...
map editor: Allow to customize hero spells
2024-03-28 13:17:27 +02:00
DjWarmonger
16bcbc843a
Merge pull request #3689 from vcmi/fix_rmg_race_conditions
...
Fix rmg race conditions
2024-03-28 11:48:04 +01:00
Ivan Savenko
5a54cfbc80
Merge pull request #3687 from Kris-Ja/develop
...
Fix BonusLimitEffect
2024-03-28 12:38:55 +02:00
DjWarmonger
148cfc6cbc
Merge pull request #3674 from 678098/patch-2
...
Fix(minizip/mztools.c): prevent file descriptor leak
2024-03-28 11:33:54 +01:00
DjWarmonger
7d94b5db9f
Merge pull request #3675 from 678098/develop
...
Fix(minizip/minizip.c): fix possibly uninitialized variable usage
2024-03-28 11:33:44 +01:00
Ivan Savenko
39da7b3e32
Added option to build minimal vcmi library as needed by lobby
2024-03-28 12:07:49 +02:00
Ivan Savenko
dd785d71c9
Fix linking when using static libraries without client
2024-03-28 12:07:49 +02:00
RoboSchmied
9c334f54fe
Fix: 9 typos
...
Signed-off-by: RoboSchmied <github@roboschmie.de>
2024-03-28 03:03:44 +01:00
Dydzio
25f9e6a3e9
Add setting to allow previous VCMI mechanics of dimension door
2024-03-27 23:39:08 +01:00
Dydzio
048fb1867d
Merge remote-tracking branch 'origin/develop' into dimension-door-changes
2024-03-27 23:03:33 +01:00
Dydzio
4f0a286167
Fix checks for tile visibility in tile click/hover handlers
2024-03-27 22:06:31 +01:00
Ivan Savenko
671b61c64e
Implement various todo's and review suggestions
2024-03-27 13:10:55 +02:00
Ivan Savenko
df5af589ae
Implemented per-language, player-player and (untested) match channels.
2024-03-27 13:10:55 +02:00
Tomasz Zieliński
a94286c23d
Code cleanup
2024-03-27 08:03:19 +01:00
Tomasz Zieliński
a89abf0289
Another attempt to fix build
2024-03-27 07:18:25 +01:00
Tomasz Zieliński
19633a0f62
Build fixes
2024-03-27 06:48:22 +01:00
Tomasz Zieliński
37f6993402
Clean the comments
2024-03-27 06:24:14 +01:00
Tomasz Zieliński
d8c93cb222
Protect every access to zone tiles with a mutex
2024-03-27 06:16:48 +01:00
DjWarmonger
9214044f80
Merge pull request #3688 from vcmi/fix_penrose_tiling
...
Fix penrose tiling
2024-03-27 06:03:45 +01:00
Tomasz Zieliński
cfc4a26f55
Fix warning
2024-03-26 08:22:57 +01:00
Tomasz Zieliński
9d620b924d
Implement TODO
2024-03-26 07:55:18 +01:00
Kris-Ja
27ba4f10be
Fix BonusLimitEffect #3070
...
Change BonusList::getBonus() to return bonuses with any BonusLimitEffect by default (returned only bonuses with BonusLimitEffect::NO_LIMIT previously)
2024-03-25 23:31:58 +01:00
Ivan Savenko
83984a73c7
Merge pull request #3668 from kambala-decapitator/fix-ios
...
make iOS work again
2024-03-25 15:03:01 +02:00
Dydzio
982e67cea8
Working version of SoD dimension door spell
2024-03-24 23:58:04 +01:00
Ivan Savenko
6a5696604e
Merge pull request #3656 from SoundSSGood/backpack-management
...
Backpack management init
2024-03-24 19:09:32 +02:00
Tomasz Zieliński
0b8dc02d2b
Clean up duplicated code
2024-03-24 18:04:33 +01:00
Tomasz Zieliński
c6a9d94630
Fix crash with empty zone
2024-03-24 17:25:30 +01:00
godric3
acceca0139
map editor: Allow to customize hero spells
2024-03-24 10:01:20 +01:00
Andrii Danylchenko
017fb204a1
NKAI: remove 5th dimension
2024-03-24 09:32:54 +02:00
Tomasz Zieliński
263d439605
Fix uninitialized variable
2024-03-24 07:54:11 +01:00
Evgeny Malygin
b419c70f18
Fix(minizip/minizip.c): fix possibly uninitialized variable
2024-03-24 07:47:37 +02:00
Evgeny Malygin
5e85a4c629
mztools.c: adjust code style
2024-03-24 07:44:33 +02:00
Evgeny Malygin
da3a009cbb
Fix(minizip/mztools.c): prevent file descriptor leak
2024-03-24 07:40:57 +02:00
Kris-Ja
ff35a27176
Fix loading saved games (add ESerializationVersion)
2024-03-23 22:03:06 +01:00
Kris-Ja
05bbb45824
change MANA_PER_KNOWLEGDE to percentage
2024-03-23 20:28:49 +01:00
Tomasz Zieliński
0c0a1bd777
Don't scale distance of large treasures beyond 30K value
2024-03-20 15:35:06 +01:00
Tomasz Zieliński
433765714f
Add less obstacles in zones with low treasure value
2024-03-20 14:42:09 +01:00
Tomasz Zieliński
02fc410a98
Sonarcloud fixes
2024-03-20 13:51:16 +01:00
Tomasz Zieliński
68cdcb893e
Include treasure value in min distance calculation
2024-03-20 12:39:07 +01:00
Tomasz Zieliński
a8d1d72b15
Cleaned logs
2024-03-20 10:12:48 +01:00
Tomasz Zieliński
662bb0d1f6
Cut straight paths for better passability
2024-03-20 10:03:26 +01:00
Tomasz Zieliński
25a62b504f
Perfection achieved?
2024-03-20 09:05:27 +01:00
Tomasz Zieliński
1546a221d1
Best result so far
2024-03-20 08:36:02 +01:00
Andrey Filipenkov
006ec227ce
[iOS] fix crash on starting game
...
apparently iOS can't change socket buffer size
2024-03-20 05:52:25 +03:00
DjWarmonger
3e959f3ad9
Merge pull request #3132 from vcmi/reward_select_all
...
Support for "selectAll" reward
2024-03-14 21:46:02 +01:00
DjWarmonger
306896601a
Merge pull request #3636 from vcmi/rmg_tweaks
...
Rmg tweaks
2024-03-14 19:54:25 +01:00
DjWarmonger
2c9b7089ad
Merge pull request #3645 from vcmi/save_rmg_options
...
Save rmg options
2024-03-14 19:54:08 +01:00
Tomasz Zieliński
a93dd25867
Update docs to be in line with existing code.
2024-03-14 10:22:15 +01:00
Ivan Savenko
94ecef748b
Merge pull request #3654 from IvanSavenko/lobby_protocol
...
Lobby protocol documentation and fixes
2024-03-11 18:07:57 +02:00
Andrii Danylchenko
c9c118cff2
Merge pull request #3595 from vcmi/object-graph
...
NKAI Object graph
2024-03-10 20:26:17 +02:00
Tomasz Zieliński
8ef7daf45a
Missing change
2024-03-09 11:02:43 +01:00
Tomasz Zieliński
69cfc83be3
Fix issue found by Sonarcloud
2024-03-09 08:17:46 +01:00
Tomasz Zieliński
87bf4b752a
Better implementation of granting multiple rewards
2024-03-09 07:38:11 +01:00
Tomasz Zieliński
fe8bcc5758
Merge remote-tracking branch 'origin/develop' into reward_select_all
...
# Conflicts:
# lib/mapObjects/CRewardableObject.cpp
2024-03-09 06:50:56 +01:00
Ivan Savenko
c21e5bb0fb
Always validate messages in debug mode. Fixes for schemas
2024-03-08 16:32:40 +02:00
Ivan Savenko
0946f5e690
Fix file name in header
2024-03-08 16:32:40 +02:00
Ivan Savenko
2c1b142d68
Added support for 'const' field to json validator
2024-03-08 16:32:39 +02:00
SoundSSGood
d7607983fc
sonarcloud warnings
2024-03-08 14:33:03 +02:00
SoundSSGood
9f688e6fb7
MoveArtifact, BulkMoveArtifacts PlayerColor player field
2024-03-07 22:28:56 +02:00
SoundSSGood
b1f52eec41
ManageBackpackArtifacts
2024-03-07 18:16:22 +02:00
SoundSSGood
d143f53d7e
using deque for hero's backpack storage
2024-03-07 18:16:21 +02:00
Andrii Danylchenko
b236384356
NKAI: graph add battle layer
2024-03-02 15:54:05 +02:00
Andrii Danylchenko
047e076d05
NKAI: visual logger
2024-03-02 15:54:05 +02:00
Alexander Wilms
ea48257100
Fix SonarCloud issues
...
Replace the use of "::value" with "std::is_abstract_v" and similar issues
2024-03-02 14:08:03 +01:00
Tomasz Zieliński
28f76b2839
Actually, avoid guarded object altogether
2024-03-01 18:17:17 +01:00
Tomasz Zieliński
4e88290962
Actually avoid only monsters
2024-03-01 18:10:05 +01:00
Tomasz Zieliński
8f1638f78a
Try to not route roads through passable objects
2024-03-01 17:48:07 +01:00
Tomasz Zieliński
d078808c9f
Merge remote-tracking branch 'origin/develop' into rmg_tweaks
2024-03-01 16:55:05 +01:00
Tomasz Zieliński
17fc1604ca
Remove unused file
2024-02-29 20:20:35 +01:00
Ivan Savenko
d5a96a122a
Add additional constructor to JsonNode from const char *
...
Fixes an issue where due to implicit conversion JsonNode(bool) will be
called instead of expected JsonNode(std::string)
2024-02-29 17:33:00 +02:00
Tomasz Zieliński
b7320bbc8a
Cleanup
2024-02-29 13:04:48 +01:00
Tomasz Zieliński
2c32c770f7
First version that works in lobby
2024-02-29 12:45:08 +01:00
Ivan Savenko
57eece233b
Ignore BOM at the start of json file
2024-02-26 12:55:49 +02:00
Ivan Savenko
f86708bf37
Fix json5 parsing
2024-02-26 12:55:49 +02:00
Ivan Savenko
c90fb47c23
Converted json validator into a class
2024-02-26 12:55:49 +02:00
Ivan Savenko
d2844a5eeb
Cleared up code
2024-02-26 12:55:49 +02:00
Ivan Savenko
08deae4186
Moved static methods outside of vcmi namespace
2024-02-26 12:55:49 +02:00
Ivan Savenko
757f77378d
Remove unused code
2024-02-26 12:55:49 +02:00
Ivan Savenko
29860848a5
Cleanup
2024-02-26 12:55:49 +02:00
Ivan Savenko
18bbccd167
Unify formatting
2024-02-26 12:55:49 +02:00
Ivan Savenko
2632ab04f5
Partial support for json5
2024-02-26 12:55:49 +02:00
Ivan Savenko
41493d6f67
Implemented 'strict' json support
2024-02-26 12:55:49 +02:00
Ivan Savenko
d1c274f93f
Replaced vector of strings with simple bool for flag
2024-02-26 12:55:49 +02:00
Ivan Savenko
922966dcf8
Renamed JsonNode::meta to more logical modScope. Member is now private
2024-02-26 12:55:49 +02:00
Ivan Savenko
e73516b7d1
Simplified template magic in JsonNode
2024-02-26 12:55:49 +02:00
Ivan Savenko
08a27663f9
Reworked JsonNode constructors to more logical form
2024-02-26 12:55:49 +02:00
Ivan Savenko
54796c7c56
Rename toJson to toString/toCompactString for consistency
2024-02-26 12:55:49 +02:00
Ivan Savenko
a2b8eaf7fb
Do not escape '/' when writing json
2024-02-26 12:55:49 +02:00
Ivan Savenko
25146bfa93
Replace custom class with string_view
2024-02-26 12:55:49 +02:00
Ivan Savenko
ca9a16e30e
Partially updated schema validation to draft v6
2024-02-26 12:55:49 +02:00
Ivan Savenko
bc9e961252
Better checks for incoming data
2024-02-25 20:05:52 +02:00
Ivan Savenko
6901945b6e
Fix possible thread race on sending packet from two threads
2024-02-25 20:05:28 +02:00
Ivan Savenko
7b6b64894c
Merge pull request #3624 from IvanSavenko/fix_crash
...
Fix crash on using heal in SPELL_AFTER_ATTACK bonus
2024-02-25 15:01:32 +02:00
Ivan Savenko
7c843ff0f7
Merge pull request #3627 from IvanSavenko/random_town_names
...
Town names randomization fix
2024-02-25 15:01:22 +02:00
Tomasz Zieliński
af0207470d
- Increased minimal obstacle density on surface
...
- Decreased minimal obstacle density in the underground
2024-02-25 12:25:23 +01:00
Tomasz Zieliński
2e8801084d
Clean up RMG logs
2024-02-25 11:40:01 +01:00
Ivan Savenko
c513dc1bc7
Fix code style & formatting
2024-02-19 15:59:55 +02:00
Ivan Savenko
779625415f
Guard against concurrent writes on same asio::socket instance
2024-02-19 13:47:06 +02:00
Ivan Savenko
f620a07389
Add protocol validation
2024-02-19 13:46:07 +02:00
Ivan Savenko
81e44711a2
Remove no longer needed workaround
2024-02-19 13:45:50 +02:00
Ivan Savenko
fc252bb9eb
Random town names are now guaranteed to be unique on the map
2024-02-19 00:36:08 +02:00
Ivan Savenko
10b35ceecb
Replaced assertions with exceptions for invalid input in RNG
2024-02-19 00:35:21 +02:00
Ivan Savenko
c0dc1040c2
Fixes crash on attempt to dynamic_cast AbilityCaster to Unit
2024-02-18 20:06:07 +02:00
Alexander Wilms
2ea78a5883
Fix float comparisons
...
Replace this "==" with a more tolerant comparison operation.
Floating point numbers should not be tested for equality cpp:S1244
2024-02-14 23:30:29 +01:00
Ivan Savenko
110ef5f66e
Merge pull request #3614 from IvanSavenko/sonarcloud_fixes_2
...
Sonarcloud fixes 2
2024-02-14 16:44:58 +02:00
Ivan Savenko
3740f8b02f
Moved bonus parsing to a new file
2024-02-14 15:48:06 +02:00
Ivan Savenko
0b7bf56597
Remove old files
2024-02-14 14:02:41 +02:00
Ivan Savenko
c3957c2c2a
Moved json files to new directory, split on per-class basis
2024-02-14 13:08:24 +02:00
Ivan Savenko
c23953eac5
Remove custom casts
2024-02-14 12:56:37 +02:00
Ivan Savenko
0d74959a33
Better float comparison
2024-02-14 12:07:07 +02:00
Ivan Savenko
6d6137accc
Simplified code
2024-02-14 12:07:07 +02:00
Ivan Savenko
45c971a405
Replace throws() with nothrow
2024-02-14 12:07:07 +02:00
Ivan Savenko
7359b66f99
Do not use floating point equality checks
2024-02-14 12:07:07 +02:00
Ivan Savenko
9ebd194ab1
Merge pull request #3609 from IvanSavenko/single_process
...
Allow running server as part of client process
2024-02-14 12:06:22 +02:00
Alexander Wilms
678cacbd25
Remove more redundant virtual
specifiers
...
`grep -nr "virtual " | grep -v googletest | grep " override" | grep -v overriden > ../redundant_virtual.txt`
```python
import os
with open("../redundant_virtual.txt") as f:
for line in f:
print()
line: str = line.strip()
print(line)
tmp = line.split(":",2)
file = tmp[0].strip()
code = tmp[-1].strip()
print(file)
print(code)
new_code = code.replace("virtual ", "", 1)
# https://superuser.com/a/802490/578501
command = f"export FIND='{code}' && export REPLACE='{new_code}' && ruby -p -i -e \"gsub(ENV['FIND'], ENV['REPLACE'])\" {file}"
os.system(command)
```
2024-02-13 15:21:30 +01:00
Ivan Savenko
763e18d202
Fix symlink target - use absolute path
2024-02-12 16:35:18 +02:00
Ivan Savenko
4c70abbeb5
Reduced usage of global variables - removed or made const / constexpr
2024-02-12 13:49:45 +02:00
Ivan Savenko
6e399eb21a
Make some non-const static variables const or constexpr
2024-02-12 13:22:54 +02:00
Ivan Savenko
6db405167d
Clarified some (im)possible null dereferences
2024-02-12 13:05:30 +02:00
Ivan Savenko
392c360f88
Replaced some usages of void * with more clear CPack *
2024-02-12 12:53:10 +02:00
Ivan Savenko
b796ed8626
Fix undefined behavior
2024-02-12 12:33:09 +02:00
Ivan Savenko
c03196257f
Fix "identical expressions on both sides of comparison"
2024-02-12 12:32:35 +02:00
Ivan Savenko
c577ea3e8d
Fix potentially uninitialized values
2024-02-12 12:31:27 +02:00
Ivan Savenko
a909d7ddde
Removed cmake_modules/VCMI_lib macro, use it directly in place
2024-02-11 20:38:24 +02:00
Ivan Savenko
19ccef7131
Fix build
2024-02-11 19:54:30 +02:00
Ivan Savenko
cded8b1999
Show human-readable thread name in log
2024-02-11 17:55:02 +02:00
Ivan Savenko
f08c9f4d59
Renamed ENABLE_STATIC_AI_LIBS option to match its actual effect
2024-02-11 17:55:02 +02:00
Ivan Savenko
0d263c5571
Implemented option to run server as a thread with shared VLC
2024-02-11 17:55:02 +02:00
Ivan Savenko
c2286e5126
Server now consists from library and separate executable projects
2024-02-11 17:55:02 +02:00
Ivan Savenko
ef8eb330d6
Merge branch 'develop' into random_template_description
2024-02-11 17:54:18 +02:00
Ivan Savenko
f1a8e78f0b
Merge pull request #3596 from vcmi/fixes_for_water
...
Fixes for RMG water
2024-02-11 17:53:46 +02:00
Ivan Savenko
7790acae3a
Fix save compatiblity with 1.4
2024-02-11 17:31:30 +02:00
Ivan Savenko
f2ecd4cf11
Merge branch 'develop' into 'lobby'
2024-02-11 16:13:13 +02:00
Ivan Savenko
ad602573ff
Merge pull request #3600 from dydzio0614/sod-fly
...
Fix SoD fly mechanics
2024-02-11 12:26:20 +02:00
Alexander Wilms
54b44aa5e8
Re-add virtual
that was accidentally removed
2024-02-10 20:46:23 +01:00
Alexander Wilms
522cb571b3
Remove redundant virtual
specifiers
...
`grep -nr virtual | grep -v googletest | grep override > ../redundant_virtual.txt`
```python
import os
with open("../redundant_virtual.txt") as f:
for line in f:
print()
line: str = line.strip()
print(line)
tmp = line.split(":")
file = tmp[0].strip()
code = tmp[-1].strip()
print(file)
print(code)
new_code = code.replace("virtual ", "", 1)
# https://superuser.com/a/802490/578501
command = f"export FIND='{code}' && export REPLACE='{new_code}' && ruby -p -i -e \"gsub(ENV['FIND'], ENV['REPLACE'])\" {file}"
os.system(command)
```
2024-02-10 20:46:13 +01:00
Dydzio
4e927d6417
Fix missing gold component in "join for money" dialog
2024-02-07 21:57:25 +01:00
Dydzio
fd9810adf4
Working SoD version of fly
2024-02-07 19:27:02 +01:00
Ivan Savenko
18f9d29fd2
Fix typo
2024-02-07 00:15:20 +02:00
Ivan Savenko
9730b24214
Fix typo
2024-02-06 16:36:57 +02:00
Ivan Savenko
fd17133da3
Fix editor build
2024-02-06 00:40:26 +02:00
Ivan Savenko
1cecaf2bf5
Skip unresolved identifier from list of allowed heroes/artifacts in vmap
2024-02-05 22:26:53 +02:00
Ivan Savenko
a18f9d1e8d
Added workaround for references to old 'torosar ' ID
2024-02-05 21:56:06 +02:00
Ivan Savenko
9e09fe08e1
Fixed duplicated hero check - was used too early, before hero type is
...
loaded
2024-02-05 21:55:48 +02:00
Ivan Savenko
87059be67b
Added range checks to values read from h3m.
...
Fixes reading of morale/luck values (-3..3) as unsigned leading to
overflow.
2024-02-05 21:27:55 +02:00
Ivan Savenko
4af4d1a75e
Remove excessive logging
2024-02-05 21:11:00 +02:00
Ivan Savenko
342e6daebd
Fix copy-paste error
2024-02-05 21:07:50 +02:00
Ivan Savenko
9e5e7d95c3
Workaround for broken save compatibility
2024-02-05 18:46:48 +02:00
Ivan Savenko
b3c5882e11
Workaround for broken save compatibility
2024-02-04 21:22:51 +02:00
Ivan Savenko
d4bedd8d8d
Fixed handling of match server crash
2024-02-04 19:58:09 +02:00
Tomasz Zieliński
af3c6450a7
Update comments
2024-02-04 08:56:45 +01:00
Tomasz Zieliński
7ce3553a6d
Fix race condition when placing object at teh shore
2024-02-04 08:56:21 +01:00
Tomasz Zieliński
6528124c1e
Do not fill water zone with obstacles
2024-02-04 08:55:51 +01:00
Ivan Savenko
7dee24edae
Cleanup
2024-02-03 23:30:16 +02:00
Dydzio
365fedc7e8
Merge branch 'develop' into sod-fly
2024-02-03 20:40:32 +01:00
Ivan Savenko
80fc2bb695
Merge remote-tracking branch 'vcmi/develop' into lobby
2024-02-03 21:11:34 +02:00
DjWarmonger
c09d577a24
Merge pull request #3590 from vcmi/penrose_tiling
...
Positive opionions, no issues found.
2024-02-03 20:00:46 +01:00
Ivan Savenko
bd4c7e3ac0
Added LobbyPrepareStartGame pack to replace old workarounds
2024-02-03 19:57:23 +02:00
Ivan Savenko
2c2bec791c
Fixes and cleanup of game client network shutdown and restart
2024-02-03 19:27:04 +02:00
Tomasz Zieliński
b7df6064cd
Add random map description and display it in RMG menu
2024-02-03 16:23:56 +01:00
Tomasz Zieliński
e6f0afd586
Tweaking parameters, cleanup
2024-02-02 15:50:33 +01:00
Ivan Savenko
f97ffd8e9a
Better handling of disconnects, code cleanup
2024-02-02 15:32:06 +02:00
Tomasz Zieliński
178f960533
First working version
2024-02-02 14:27:32 +01:00
Ivan Savenko
03fcfe3392
Use std::byte in serializer
2024-02-02 13:09:12 +02:00
Tomasz Zieliński
9f7c986621
First version that compiles successfully
2024-02-02 10:37:08 +01:00
Ivan Savenko
29c0989849
Use std::byte to manage network data
2024-02-02 02:02:09 +02:00
Ivan Savenko
58ee72f684
Merge pull request #3588 from IvanSavenko/fix_regressions
...
Fix regressions
2024-02-01 22:27:52 +02:00
Ivan Savenko
7247038458
Merge pull request #3574 from SoundSSGood/altar-fixes
...
Artifacts altar related fixes
2024-02-01 22:27:41 +02:00
Ivan Savenko
b25d4d76a7
Fix Grail digging success message
2024-02-01 18:22:11 +02:00
Ivan Savenko
e66a982c96
Fix backpack availability check in Grail digging
2024-02-01 18:21:54 +02:00
SoundSSGood
a42b60feb9
suggested changes
2024-02-01 13:28:08 +02:00
Ivan Savenko
290cc1510b
Added text container with map translations to campaign state
...
Fixes missing translations for heroes names customized on maps after
their transfer to next scenario
2024-01-31 20:01:24 +02:00
Ivan Savenko
5c5fb523a4
Implemented transfer of artifacts held by non-transferred heroes
2024-01-31 19:32:59 +02:00
Ivan Savenko
6d0803dab6
Fixed decompression of slayer.h3c from french version from gog.com
2024-01-31 16:41:42 +02:00
Ivan Savenko
049c352511
Added loss condition "lose part of Angelic Alliance" to Yog campaign
2024-01-31 12:52:16 +02:00
Ivan Savenko
709d05205d
Yog will now receive Angelic Alliance in his campaign
2024-01-31 12:42:02 +02:00
Ivan Savenko
2e4895766a
Implemented tracking of objects destroyed by players
2024-01-31 01:37:33 +02:00
Ivan Savenko
ccea7fc1fb
Yog will now only get Attack or Defence on leveling up
2024-01-31 00:18:10 +02:00
Ivan Savenko
a9866bb5c6
Added RandomGeneratorUtil::nextItemWeighted convenience method
2024-01-31 00:17:40 +02:00
Ivan Savenko
7992144763
Gem class is now Sorceress
2024-01-30 23:34:27 +02:00
Ivan Savenko
3abc26e789
Moved checks for campaign heroes to CGHeroInstance class
2024-01-30 23:33:58 +02:00
Ivan Savenko
c5c46a7c9a
Implemented connecting to server via proxy
2024-01-30 21:31:41 +02:00
Tomasz Zieliński
c5aa31f46a
First sketch
2024-01-30 18:04:15 +01:00
SoundSSGood
c6ca6ad835
sacrifice routine
2024-01-27 23:01:57 +02:00
SoundSSGood
652f009181
arts altar - arts holder
2024-01-27 15:28:21 +02:00
Ivan Savenko
eaca128c99
Code cleanup
2024-01-26 19:15:57 +02:00
Ivan Savenko
322c5faf63
Merge remote-tracking branch 'vcmi/develop' into lobby
2024-01-26 16:52:23 +02:00
Ivan Savenko
388ca6e776
Added list of active accounts and rooms to UI. Added room creation logic
2024-01-26 16:32:36 +02:00
Ivan Savenko
4d0c0f10a9
Merge pull request #3530 from Laserlicht/tavern
...
Invite hero
2024-01-26 13:12:55 +02:00
Ivan Savenko
2a193effcc
Merge branch 'master' into 'develop'
2024-01-25 16:23:13 +02:00
Tomasz Zieliński
a2e0742ffb
Fix invalid logic which made AI not attack guards
2024-01-24 13:45:05 +02:00
Ivan Savenko
702fc8077d
Fix possible crash on invalid spell
2024-01-24 13:43:35 +02:00
Tomasz Zieliński
dbf53d78ba
Fix invalid logic which made AI not attack guards
2024-01-24 06:20:46 +01:00
Tomasz Zieliński
5836e390f1
Do not place zone guards adjacent to 3rd zone
2024-01-23 13:45:35 +02:00
Ivan Savenko
b51e58cddc
Merge pull request #3544 from vcmi/fix_leaky_connections
...
Do not place zone guards adjacent to 3rd zone
2024-01-23 13:39:11 +02:00
Ivan Savenko
f83a004b54
Added workaround to prevent multithreaded access to bonus system in RMG
2024-01-23 00:49:18 +02:00
Ivan Savenko
284273379e
Merge pull request #3536 from IvanSavenko/serialization_refactor
...
Refactoring of serialization versioning handling
2024-01-22 19:49:24 +02:00
Tomasz Zieliński
b3adb9e554
Do not place zone guards adjacent to 3rd zone
2024-01-22 09:27:30 +01:00
Laserlicht
0a4b5dbe10
code review
2024-01-21 18:12:46 +01:00
Ivan Savenko
9f3655c41b
Minor code cleanup
2024-01-20 23:26:04 +02:00
Ivan Savenko
fc4ae3bd8c
Merge remote-tracking branch 'vcmi/develop' into lobby
2024-01-20 23:01:49 +02:00
Andrii Danylchenko
0c1664dbe7
NKAI: various AI fixes after tests in headless
2024-01-20 22:55:30 +02:00
Ivan Savenko
0c07384293
Refactoring of serialization versioning handling
...
- Removed 'version' field from serialize() method
- Handler classes - Binary(De)Serializer now have 'version' field
- Serialization versioning now uses named enum
Save compatibility with 1.4.X saves should be intact
2024-01-20 20:34:51 +02:00
Ivan Savenko
6b760089a4
Merge pull request #3473 from IvanSavenko/const_lib
...
[1.5] Remove non-const global variables from library
2024-01-20 19:22:46 +02:00
Laserlicht
883ea23495
moved to gameconfig
2024-01-20 17:54:15 +01:00
Ivan Savenko
8e8d42bfa2
Try to simplify / cleanup code to localize crash
2024-01-20 18:40:03 +02:00
Ivan Savenko
912262e826
Avoid crash on invalid artifact in bank config
2024-01-20 18:17:23 +02:00
Ivan Savenko
24d25730ad
Changed checks for null with checks for hasValue
2024-01-20 16:41:10 +02:00
Ivan Savenko
31b04780c9
Added hasValue method to identifiers
2024-01-20 16:40:51 +02:00
Laserlicht
4813179abb
Invite hero setting
2024-01-20 01:24:34 +01:00
Laserlicht
346beea49c
invite hero backend
2024-01-20 01:09:55 +01:00
Ivan Savenko
baa73f5433
Code cleanup
2024-01-20 00:26:25 +02:00
Ivan Savenko
709905b1a0
Simplified networking API
2024-01-19 23:52:28 +02:00
Ivan Savenko
80e960bc8e
Finalized new TCP networking API
2024-01-19 23:52:28 +02:00
Ivan Savenko
47f72af556
Client-side update, adapted and fixed login and chat
2024-01-19 23:49:59 +02:00
Ivan Savenko
4271fb3c95
Extension of lobby server functionality
...
Support for:
- listing of active players
- listing of active rooms
- joining and leaving rooms
- placeholder support for multiple chat rooms
- proxy connections
- invites into private rooms
(only lobby server side for now, client and match server need work)
2024-01-19 23:49:59 +02:00
Ivan Savenko
461bca73f3
Minor cleanup - move reinterpret_cast to jsonNode
2024-01-19 23:49:59 +02:00
Ivan Savenko
55b504792e
Implemented basic version of login window and persistent connection on
...
client
2024-01-19 23:49:59 +02:00
Ivan Savenko
78b7d9e726
Replaced open port check with server crash check
2024-01-19 23:49:59 +02:00
Ivan Savenko
aa7ecea683
Switch turn timers handling to boost asio timer
2024-01-19 23:49:59 +02:00
Ivan Savenko
a50cdbda0c
Added timer functionality to NetworkServer
...
Might not be related to networking strictly speaking, but useful to have
functionality for network thread
2024-01-19 23:49:59 +02:00
Ivan Savenko
c9765a52ff
Do not accept connections into ongoing game
2024-01-19 23:49:59 +02:00
Ivan Savenko
22f0ca67c6
Fix connection to game lobby & map load
2024-01-19 23:49:59 +02:00
Ivan Savenko
0a1153e1c6
Switch client-server communication to new API
2024-01-19 23:49:59 +02:00
Ivan Savenko
de5227142b
Implemented message receiving / broadcasting
2024-01-19 23:49:59 +02:00
Ivan Savenko
07fb313765
Implemented loading of latest messages on joining chat
2024-01-19 23:49:59 +02:00
Ivan Savenko
f10b6df989
Implemented messages sending and storing in database
2024-01-19 23:49:59 +02:00
Ivan Savenko
dff9cf39c0
Implemented connection handling
2024-01-19 23:49:59 +02:00
Ivan Savenko
c2c43602ea
Initial version of global lobby server available in client
2024-01-19 23:49:59 +02:00
Ivan Savenko
d04241b10a
Code cleanup
2024-01-19 23:02:00 +02:00
Ivan Savenko
1f7e53a609
Code style fixes
2024-01-19 21:21:23 +02:00
Ivan Savenko
339fad6e27
Merge pull request #3528 from vcmi/master
...
Merge master -> develop
2024-01-19 21:19:20 +02:00
Ivan Savenko
aa02d5787a
Better solution for rmg crash fix
2024-01-19 17:26:51 +02:00
Ivan Savenko
789c96d9b0
Fixed binding lambda to a reference to a temporary on stack
2024-01-19 16:17:59 +02:00
Ivan Savenko
e50f586d8b
Stabilization
2024-01-19 14:21:13 +02:00
Ivan Savenko
ffd604c114
Removed unnecessary access to IHandler::objects
2024-01-19 13:56:06 +02:00
Ivan Savenko
6e629a6a5f
split getBonusLocalFirst into two distinct method:
...
- const method getFirstBonus that returns single matching bonusToString
- non-const method getLocalBonus that returns bonus from current node
2024-01-19 13:56:06 +02:00
Ivan Savenko
496c13b34a
Stabilization
2024-01-19 13:56:06 +02:00
Ivan Savenko
9af7c63a26
Fix build
2024-01-19 13:56:05 +02:00
Ivan Savenko
ea1f05d15a
Stabilization
2024-01-19 13:55:22 +02:00
Ivan Savenko
60ffb81b33
Replaced remaining placeholder code with callbacks
2024-01-19 13:55:22 +02:00
Ivan Savenko
e67e4430ba
Removed most of non-const static fields in lib. Reduced header includes.
2024-01-19 13:55:22 +02:00
Ivan Savenko
a15366f5a5
Make IObjectInterface::cb non-static
2024-01-19 13:55:21 +02:00
Ivan Savenko
c37ce05d06
Attempt to make constant bonus system nodes (CCreature / CArtifact)
...
fully constant
2024-01-19 13:54:49 +02:00
Ivan Savenko
2c4cad7d9c
Slight simplification of bonus system node class
2024-01-19 13:54:49 +02:00
Ivan Savenko
d5c4478816
Remove most of non-const access to VLC entities
2024-01-19 13:54:49 +02:00
Ivan Savenko
bd5682ecc3
Merge remote-tracking branch 'vcmi/master' into develop
2024-01-19 13:49:54 +02:00
Dydzio
ad8d57f7a4
Merge branch 'beta' into sod-fly
2024-01-18 20:42:22 +01:00
Dydzio
440b468e27
Some partial success on getting fly to work similarly to SoD
2024-01-18 20:42:08 +01:00
Ivan Savenko
c31d52bff6
Added new bonus icon
2024-01-18 17:18:13 +02:00
Ivan Savenko
3e8f110482
Merge pull request #3515 from SoundSSGood/backpack-statusbar
...
Backpack statusbar
2024-01-18 16:05:42 +02:00
Ivan Savenko
b698b6e79d
Merge pull request #3512 from Alexander-Wilms/use-auto-with-template-factory-functions-for-smart-pointers
...
Use auto with template factory functions for smart pointers
2024-01-18 16:05:05 +02:00
Ivan Savenko
9025744cc5
Merge pull request #3510 from Alexander-Wilms/remove-semicolons-from-macros
...
Remove trailing semicolons from more macros
2024-01-18 16:03:55 +02:00
Ivan Savenko
b1bd44de1e
Merge pull request #3298 from vcmi/random_prison_distributor
...
Fixes to hero / prison distribution
2024-01-18 16:03:08 +02:00
SoundSSGood
8d4b74b441
Assembling in backpack fixed
2024-01-18 12:49:08 +02:00
Alexander Wilms
b364f707cd
Fix issues introduced by automated replacement of redundant types
2024-01-17 20:12:57 +00:00
Alexander Wilms
7a1cee1a60
Fix error: 'auto' not allowed in non-static struct member
2024-01-17 14:49:28 +00:00
Alexander Wilms
57c51b62fd
Fix CGameHandler.cpp:1026:4: error: function 'getAllowedSpells' with deduced return type cannot be used before it is defined
2024-01-17 14:41:53 +00:00
Alexander Wilms
271eeca11b
Fix BattleEvaluator.cpp:286:32: error: function 'battleGetAllObstacles' with deduced return type cannot be used before it is defined
2024-01-17 14:41:47 +00:00
Alexander Wilms
f08c6d1ce9
Fix issues created by type replacement script
2024-01-17 14:33:02 +00:00
Alexander Wilms
73019c204d
Replace redundant types with auto
for the lvalues of template factory functions for smart pointers
...
grep -r --include \*.h --include \*.cpp "= std::" * | grep -v auto | grep -Po ".*[^ ]+ [^ ]+ [^ ]*[ ]*=.*;" | grep -v "auto\|int\|char\|bool\|float|\double\|for\|if\|googletest\|fuzzylite\|size_t\|using\|return" | grep -v double | grep -v si64 | grep -v si32 | grep -v ui32 | grep \< | grep -v float | tr -d '\t' | grep -v assert > redundant_types.txt
import re
with open("redundant_types.txt") as f:
for line in f:
line = line.strip()
path = line.split(":", 1)[0]
original_code = ":".join(line.split(":")[1:]).strip()
print()
print(path)
print(original_code)
prefix = "auto "
if original_code.startswith("static"):
static = True
else:
static = False
cpp_type = " ".join(original_code.split("=")[0].strip().split(" ")[0:-1])
print(cpp_type)
if static:
new_code = "static auto "+ " ".join(original_code.split(" ")[2:])
else:
new_code = "auto "+ " ".join(original_code.split(" ")[1:])
print(new_code)
if True:
with open(path, "r") as f:
filedata = f.read()
filedata = filedata.replace(original_code, new_code)
with open(path, "w") as f:
f.write(filedata)
2024-01-17 12:50:00 +00:00
DjWarmonger
4f28cd42b7
Update lib/rmg/modificators/PrisonHeroPlacer.h
...
Co-authored-by: Alexander Wilms <Alexander-Wilms@users.noreply.github.com>
2024-01-17 10:11:55 +01:00
DjWarmonger
91a20c2bfd
Update lib/rmg/CMapGenerator.h
...
Co-authored-by: Alexander Wilms <Alexander-Wilms@users.noreply.github.com>
2024-01-17 10:11:50 +01:00
Tomasz Zieliński
66efb07e52
More
2024-01-17 07:45:53 +01:00
Tomasz Zieliński
a568a9b3fb
Fix lambda capture
2024-01-17 07:26:51 +01:00
Tomasz Zieliński
253f1dc7e6
Refactor duplicated code as suggested by SonarCloud
2024-01-17 07:18:14 +01:00
Alexander Wilms
558ead41fe
Add missing semicolon after macro usage
2024-01-16 20:18:18 +00:00
Ivan Savenko
bf62e47481
Merge pull request #3505 from IvanSavenko/bugfixing
...
[1.4.3] Bugfixing
2024-01-16 22:00:11 +02:00
Alexander Wilms
ccac73fb69
Remove trailing semicolons from more macros
2024-01-16 19:46:21 +00:00
Ivan Savenko
723a95f770
Add assertions to detect invalid calls
2024-01-16 21:12:57 +02:00
Alexander Wilms
cca08e29da
Remove duplicate semicolons
2024-01-16 19:02:39 +00:00
Tomasz Zieliński
afc9bd908c
Unused capture
2024-01-16 17:38:36 +01:00
Tomasz Zieliński
aa5bb27d20
Style
2024-01-16 17:16:15 +01:00
Tomasz Zieliński
71844d4d92
Unban artifacts if RMG fails to place Seer Hut (unlikely)
2024-01-16 17:15:35 +01:00
Ivan Savenko
1194419884
Added option to allow self-casting
2024-01-16 15:13:00 +02:00
Ivan Savenko
c3012105e2
Fix duplicated hero in Song for the Father campaign
2024-01-16 14:45:38 +02:00
Ivan Savenko
bdd649a3be
Merge pull request #3502 from IvanSavenko/campaign_localization_fix
...
Fixed missing translation strings on loading campaign save
2024-01-16 11:49:25 +02:00
Ivan Savenko
c839b397e8
Block self-casting, e.g. Archangels can't resurrect themselves
2024-01-15 23:16:53 +02:00
Ivan Savenko
6e5da6c158
Fixed Coronius specialty applying from two locations in code
2024-01-15 23:16:53 +02:00
Ivan Savenko
c21913f661
Fixed initialization of move points and mana for dismissed heroes
2024-01-15 23:16:48 +02:00
Ivan Savenko
2265890f69
Better detection of invalid mod data to avoid crash and notify modders
2024-01-15 18:19:21 +02:00
Ivan Savenko
a32ef673f7
Merge pull request #3482 from IvanSavenko/extend_hota_bonuses
...
Extend hota bonuses
2024-01-15 13:47:13 +02:00
Ivan Savenko
c7897300c0
Fixed missing translation strings on loading campaign save
...
- campaign header now contains text container and stores campaign texts
- map header now contains text container instead of inheriting it
- moved text container registration logic to a wraper class
- fixed registration of copied text containers (from copied map header)
2024-01-15 13:10:25 +02:00
Ivan Savenko
a582cb554e
Merge pull request #3500 from IvanSavenko/fix_dendroid_bind
...
[1.4.3] Fix handling of Dendroid's Bind ability
2024-01-15 12:02:06 +02:00
Ivan Savenko
b4a1a755a4
Merge pull request #3498 from IvanSavenko/simturns_pathfinder
...
[1.4.3] Fixes for simultaneous turns
2024-01-15 12:00:54 +02:00
Ivan Savenko
8400c27251
Merge pull request #3491 from IvanSavenko/change_default_driver
...
Change default SDL driver name from opengl to empty (autoselection)
2024-01-15 11:57:42 +02:00
Tomasz Zieliński
0273d9c36b
Remove unused variable
2024-01-15 07:59:50 +01:00
Tomasz Zieliński
285bafdbf4
Do not ban heroes in Prisons, they might be rehired after they are defeated.
...
Restore hero to pool if Prison fails to be placed.
2024-01-15 07:41:29 +01:00
Tomasz Zieliński
ee6c331bad
Merge remote-tracking branch 'origin/beta' into random_prison_distributor
2024-01-14 21:56:49 +01:00
DjWarmonger
19765e0e01
Merge pull request #3480 from IvanSavenko/rmg_ban_starting_heroes
...
Ban starting heroes in RMG
2024-01-14 21:56:16 +01:00
Ivan Savenko
0d0d3d8c80
Renamed speed -> getMovementRange, remove misleading default parameter
2024-01-14 17:14:36 +02:00
Ivan Savenko
fd499e318d
Review suggestion
2024-01-14 15:36:29 +02:00
Ivan Savenko
b08462d555
Change default SDL driver name from opengl to empty (autoselection)
2024-01-14 14:29:13 +02:00
Tomasz Zieliński
3e623565a2
Fix redundant class
2024-01-13 21:39:17 +01:00
Tomasz Zieliński
3aa67b3e5f
Merge remote-tracking branch 'origin/beta' into random_prison_distributor
2024-01-13 21:02:08 +01:00
Ivan Savenko
8303ce5d13
Added option to ignore guards in pathfinder
...
Used for simturns contact detection, by default disabled for player
pathfinding
2024-01-13 19:44:37 +02:00
Ivan Savenko
fc6a9924ee
FIRST_STRIKE now supports ranged / melee subtypes, BLOCKS_RETALIATION
...
will properly block FIRST_STRIKE
2024-01-13 16:54:06 +02:00
Ivan Savenko
bb670cfb82
Merged accurate shot bonus into death stare bonus
2024-01-13 15:55:07 +02:00
Ivan Savenko
ca2df49fbb
Block usage of preselected starting heroes for prisons in RMG
2024-01-13 14:08:36 +02:00
Ivan Savenko
f6e0f46040
Merge pull request #3467 from dydzio0614/hota-fixes
...
Fix HotA creature abilities (add bonuses allowing implementing them)
2024-01-12 21:55:18 +02:00
M
9ee526d202
Fixes from code review
2024-01-11 21:10:22 +01:00
Dydzio
250b1b69a8
Update accurate shot translation handling
...
Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2024-01-10 23:57:29 +01:00
M
7bf273e01c
Extract revenge calculation to separate method
2024-01-10 22:56:26 +01:00
M
815fa26fb3
Change nix rounding, revert assert comment
2024-01-10 22:18:53 +01:00
Ivan Savenko
206b4a0588
Merge pull request #3454 from IvanSavenko/mod_debug
...
Better error-reporting for modding system errors
2024-01-10 15:50:17 +02:00
Alexander Wilms
5e9f98b15c
Resolve intentionality issues
2024-01-10 00:23:24 +00:00
Alexander Wilms
f3277b7953
Define each identifier in a dedicated statement
2024-01-10 00:22:23 +00:00
M
67f18729fa
REVENGE bonus that matches HotA haspid ability
2024-01-09 19:10:43 +01:00
Ivan Savenko
eae3d806db
Merge pull request #3460 from Laserlicht/changedate_sort
...
add sort for changedate
2024-01-09 12:43:01 +02:00
Dydzio
dbba1164ef
Fix floating point rounding for 5 attack points and unupgraded nix
2024-01-08 20:50:37 +01:00
Ivan Savenko
6c8a587ac9
Better diagnostics of ID requests that require type, such as addInfo
2024-01-08 21:32:10 +02:00
Dydzio
675f9b11fa
Add ENEMY_ATTACK_REDUCTION bonus - fixes HotA Nix
2024-01-08 19:37:04 +01:00
Ivan Savenko
18227cba00
Implemented better error-reporting for issues commonly encountered by
...
modders
2024-01-07 22:35:22 +02:00
Dydzio
3c95f92c59
Update documentation
2024-01-07 21:22:10 +01:00
Ivan Savenko
ae79c5e953
Merge pull request #3397 from Laserlicht/cheat_allow
...
option for disabling cheats
2024-01-07 21:42:02 +02:00
Laserlicht
8b262e49a6
add sort for changedate
2024-01-07 20:17:44 +01:00
Dydzio
bb925e4cb0
First version of sea witch / sorceress ability
2024-01-07 19:27:32 +01:00
Ivan Savenko
a2f603ac02
Fixed some cases of illegal access to std::array::operator[]
2024-01-07 12:45:02 +02:00
Ivan Savenko
cf47fbb729
Merge pull request #3435 from IvanSavenko/bugfixing
...
[1.4.3] Bugfixing
2024-01-06 13:06:07 +02:00
Ivan Savenko
1519de60bf
Remove excessive logging on using Recanter's Cloak in siege of Tower
2024-01-05 18:31:07 +02:00
Ivan Savenko
51b7de4b98
Fix double off-by-one bug with CREATURE_GROWTH bonus
2024-01-05 16:57:44 +02:00
Ivan Savenko
480a0f19c0
Fix missing modded spells in magic guilds for h3m maps
2024-01-05 16:47:23 +02:00
Ivan Savenko
4b5b99aba3
Fix handling of invalid creature damage range (min > max)
2024-01-05 16:12:02 +02:00
Ivan Savenko
fbdceb4f71
Fix crash on using two mods that add battlefield with same identifier
2024-01-05 15:58:25 +02:00
Ivan Savenko
2d8692c142
Throw "resource not found" instead of crashing on invalid query
2024-01-04 23:58:28 +02:00
Ivan Savenko
edb2ecd751
Fix possible overflow errors on leveling up beyond int64_t limit
...
- added separate giveExperience method instead of weird changePrimSkill
- experience is now always used in form of int64_t
- max supported level reduced from 201 to 197 to fit into int64_t
- fixed undefined behavior in experience calculation
2024-01-04 23:57:36 +02:00
Ivan Savenko
ceea341bb0
Fix crash on attempt to dereference invalid subtype in bonus
2024-01-04 23:54:35 +02:00
Ivan Savenko
63a2ed7cf8
Replace vector[] with range-checking vector.at()
2024-01-04 23:52:57 +02:00
Ivan Savenko
3b66701ffe
Ignore illegal 'index' entries in mods
2024-01-04 23:52:01 +02:00
Ivan Savenko
ef5686634d
Removed no longer used code
2024-01-04 23:48:58 +02:00
Ivan Savenko
55bd164f1c
Unified identifiers to entity conversion code
2024-01-04 23:47:44 +02:00
Dydzio
7283a4861e
Initial version of ACCURATE_SHOT implementation
2024-01-04 22:27:51 +01:00
Joakim Thorén
30b851da7c
Merge branch 'develop' of https://github.com/vcmi/vcmi into windows_mingw_cmake_presets
2024-01-01 22:53:19 +01:00
Dydzio
fbd988df42
Bit better documentation wording
2024-01-01 21:19:25 +01:00
Dydzio
7cf7543747
Configurable ferocity bonus
2024-01-01 21:16:38 +01:00
Dydzio
898b8f3c71
Add initial version of Ferocity ability (for Ayssids)
2024-01-01 19:58:32 +01:00
Joakim Thorén
8846fba1fc
Fixes compilation error "ResourceSet.h:33:21: error: function 'ResourceSet::ResourceSet()' definition is marked dllimport" when building with g++ 12.1.0
2023-12-30 00:29:31 +01:00
Laserlicht
cb9c4bbaf0
unlimited replay option
2023-12-28 20:48:19 +01:00
Laserlicht
a3e27b859e
extra option tab
2023-12-28 19:41:01 +01:00
Joakim Thorén
01f602ab92
Fixes warning about usage of unused variable
2023-12-27 22:25:29 +01:00
Laserlicht
207b5a2ed0
backwards compatibility
2023-12-27 20:44:32 +01:00
Laserlicht
c471b626a2
code review
2023-12-27 15:26:08 +01:00
Laserlicht
fc4827c89c
option for allowing cheats
2023-12-27 14:39:35 +01:00
Ivan Savenko
bb6179d05e
Merge pull request #3391 from vcmi/master
...
Merge master -> develop
2023-12-25 13:00:17 +02:00
Ivan Savenko
4835a1f695
Fix possible crash on abandoned mine with no valid resources
2023-12-24 22:05:47 +02:00
Ivan Savenko
e77651d3f3
Merge pull request #3377 from dydzio0614/commander-skills-fix
...
Commander skills fix
2023-12-24 13:33:48 +02:00
Ivan Savenko
2b495a9679
Merge pull request #3379 from IvanSavenko/fix_genie_spellcasting
...
Fix genie spellcasting
2023-12-24 13:29:05 +02:00
Ivan Savenko
5fe5d81729
Merge pull request #3376 from IvanSavenko/uninitialized_fixes
...
Fix uninitialized memory access
2023-12-24 13:19:17 +02:00
Tomasz Zieliński
ebf2055afc
- Unban hero if related Prison is destroyed during map generation
...
- Move prison counter to PrisonHeroPlacer
2023-12-24 09:36:26 +01:00
Andrey Filipenkov
3074f8cb89
fix typo
2023-12-24 09:58:48 +03:00
Tomasz Zieliński
b0f0e9caa8
Merge remote-tracking branch 'origin/beta' into random_prison_distributor
2023-12-24 06:46:18 +01:00