1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-16 10:19:47 +02:00
Commit Graph

6835 Commits

Author SHA1 Message Date
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