1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-11-24 08:32:34 +02:00
Commit Graph

6186 Commits

Author SHA1 Message Date
Ivan Savenko
6a357aaea6 Fix empty names for mods without set name (e.g. core mod) 2023-12-17 19:44:45 +02:00
Ivan Savenko
84d9078bd9 Throw exception instead of failing with SIGSEGV 2023-12-17 19:44:45 +02:00
Ivan Savenko
dd88220b7c Fixed potentially uninitialized class member 2023-12-17 19:44:45 +02:00
Laserlicht
9299eaed36
code review 2023-12-16 21:10:27 +01:00
Laserlicht
d91aa8baca
fix russia 2023-12-16 19:26:41 +01:00
Laserlicht
56562ad8dc date time format 2023-12-16 18:57:38 +01:00
Ivan Savenko
b6cc26f853 Fix build 2023-12-16 14:29:49 +02:00
Ivan Savenko
d187309eed Fixed typo - different type was used to select ID and subID 2023-12-16 13:46:29 +02:00
Ivan Savenko
1acab80fdc Use unique_ptr instead of raw pointers to attempt to fix crash on free 2023-12-16 13:46:29 +02:00
Ivan Savenko
aadfde27bc Throw exception instead of crash on accessing non-existing setting 2023-12-16 13:46:29 +02:00
Ivan Savenko
9ff00d75dc Do not crash if Scholar is not a rewardable object 2023-12-16 13:46:29 +02:00
Tomasz Zieliński
339627731c Fixes 2023-12-15 18:26:59 +01:00
Tomasz Zieliński
99870be24c Tiny optimizations to avoid copies 2023-12-13 22:20:23 +01:00
Tomasz Zieliński
d31789e745 Extra cache for search area 2023-12-13 22:13:42 +01:00
Tomasz Zieliński
bfea30e318 Optimization tweaks 2023-12-13 22:12:16 +01:00
Tomasz Zieliński
8602a14e6f Minor optimizations 2023-12-13 22:10:39 +01:00
Tomasz Zieliński
b9193ecb73 Do not calculate area for invalid positions 2023-12-13 22:06:47 +01:00
Ivan Savenko
3bd85d417e Avoid crash on invalid building identifier 2023-12-13 17:23:45 +02:00
Ivan Savenko
664da58d4f Use MetaString in place of boost::format to avoid exceptions 2023-12-13 17:23:40 +02:00
Ivan Savenko
337e090ee9 Avoid crash in case if Witch Hut or Shrine is not a rewardable object 2023-12-13 16:52:44 +02:00
Tomasz Zieliński
2d3b8ee866 Increased amount of generated treasure piles without increasing density 2023-12-12 12:50:27 +01:00
Tomasz Zieliński
e5f60f063c - Check full object area for minimum distance requirement
- Add option to optimize both for max distance and custom weight
2023-12-12 07:40:54 +01:00
Ivan Savenko
9385ae76c2 Fix reading of dimensions of h3 map objects 2023-12-11 21:15:46 +02:00
Ivan Savenko
543ee597b8 Fix localization-related error messages 2023-12-11 18:23:52 +02:00
Ivan Savenko
a3786f3357
Merge pull request #3304 from IvanSavenko/handle_unknown_objects
Handle unknown objects
2023-12-11 18:23:28 +02:00
Ivan Savenko
afff10aab0
Merge pull request #3303 from IvanSavenko/artifact_randomization_fix
Remove allowed artifacts list from arthandler
2023-12-11 18:23:19 +02:00
Ivan Savenko
828077c18b Added special object "nothing" to handle unknown map objects on some
custom maps
2023-12-11 17:25:19 +02:00
Ivan Savenko
7ffe014d6b Remove allowed artifacts list from arthandler
1. Handlers should not contain non-const game state data
2. This field was duplicating same field in CMap
3. Due to removal of VLC serialization, this field is not updated on map
load leading to issues with artifact randomization
2023-12-11 15:06:04 +02:00
Tomasz Zieliński
493acd9b75 One little fix for inconsistent indexes 2023-12-11 08:28:53 +01:00
Tomasz Zieliński
109139c913 Build fix 2023-12-11 08:27:57 +01:00
Tomasz Zieliński
8a93b1083f Merge remote-tracking branch 'origin/beta' into random_prison_distributor 2023-12-11 07:49:43 +01:00
Tomasz Zieliński
8fe6a103cd - Move Hero / Prison distribution to separate modificator
- Protect rolling and banning hero with mutex
2023-12-11 07:37:23 +01:00
Ivan Savenko
6fe8ed7a03
Merge pull request #3127 from vcmi/fix_random_object_templates
Use the object templates with least terrains allowed
2023-12-10 23:11:20 +02:00
Ivan Savenko
fa11b52a6c
Merge pull request #3287 from vcmi/fix_template_validation
Fix template validation
2023-12-10 22:47:23 +02:00
Ivan Savenko
933598dd91
Merge pull request #3273 from vcmi/fix_passable_hero
Fix passable hero
2023-12-10 22:45:33 +02:00
Ivan Savenko
8bf05a8f77
Merge pull request #3272 from vcmi/fix_rmg_monoliths
Fix rmg monoliths
2023-12-10 22:44:05 +02:00
Ivan Savenko
a1a317aef4
Merge pull request #3280 from IvanSavenko/hotfix
[1.4.1] Hotfixes
2023-12-10 22:43:05 +02:00
Ivan Savenko
7187ba2d79 Fix crash on visiting Seer Hut with no reward 2023-12-10 19:48:44 +02:00
Ivan Savenko
b62e801530 Fix uninitialized variable in Seer Huts 2023-12-10 19:48:27 +02:00
Ivan Savenko
65721123a1 Partial fix for Coronius specialty bug 2023-12-10 19:17:58 +02:00
Ivan Savenko
c0572b061a Fix compile on FreeBSD 2023-12-10 19:17:24 +02:00
Ivan Savenko
3b6d3dee69 Slayer spell should only affect creatures with KING bonus 2023-12-10 19:17:09 +02:00
Andrii Danylchenko
48f0da1fdc #3290 - skip bad teleports (exit in rocks) 2023-12-10 18:38:54 +02:00
Ivan Savenko
999db2ed78 Avoid boost::format that throws exception on invalid format string 2023-12-10 16:37:58 +02:00
Ivan Savenko
ee7bd87b8d Fix crash on losing mission-critical hero in battle 2023-12-10 16:14:01 +02:00
Tomasz Zieliński
d0e100c1bb Fix unused variable 2023-12-10 09:50:25 +01:00
Tomasz Zieliński
91ebac3c2e Fix incorrect check 2023-12-10 09:46:20 +01:00
Ivan Savenko
2de7a3939a Fix text identifier for generic signs without custom text 2023-12-09 18:09:57 +02:00
Ivan Savenko
2261298d09 Revert U-turns block. Actually possible in H3 and has unintended side
effects
2023-12-09 18:09:38 +02:00
Ivan Savenko
df78c9c6f1 Added workaround for crashes with outdated mods 2023-12-09 18:08:22 +02:00
Tomasz Zieliński
d15e9f886c Cleanup 2023-12-09 15:35:32 +01:00
Tomasz Zieliński
134f78113e Remove unneccessary code 2023-12-09 15:20:11 +01:00
Tomasz Zieliński
cef25cca03 Fix for starting hero being passable 2023-12-09 14:59:09 +01:00
Tomasz Zieliński
0f23dde85d Fixed crash due to incorrect monolith id scopes 2023-12-09 14:25:03 +01:00
Laserlicht
a24e78a210 real unlimited movement (like in OH3) 2023-12-09 13:42:09 +01:00
Laserlicht
4bad88f141
implement luck and morale cheats from OH3 2023-12-08 19:20:53 +01:00
Ivan Savenko
c9de10ea74
Merge pull request #3259 from vcmi/fix_corpse
Fix corpse
2023-12-07 23:55:07 +02:00
Ivan Savenko
500f945222
Update lib/mapObjectConstructors/AObjectTypeHandler.cpp 2023-12-07 22:48:51 +02:00
Tomasz Zieliński
c316087950 Distribute objects among zones in random order 2023-12-07 17:41:41 +01:00
Tomasz Zieliński
7fa01a3497 Fix for randomly banning or exceeding limits of zone objects 2023-12-07 17:41:09 +01:00
Ivan Savenko
edbe25b33a Updated layout and localizations 2023-12-07 16:36:44 +02:00
Tomasz Zieliński
f17d8babc5 Do not route road through the Corpse 2023-12-07 12:57:39 +01:00
Ivan Savenko
653304b004 Implemented accumulating timers, rename creature timer to unit timer 2023-12-07 13:57:16 +02:00
Tomasz Zieliński
5ad682048f Fix 2023-12-06 21:47:20 +01:00
Tomasz Zieliński
69ff1734b0 Use reference 2023-12-06 21:05:27 +01:00
Tomasz Zieliński
6cd19b81dd Working fir for Corpse issue:
- Do not place guard next to blockVis object, if possible
- Do not place two blockVis objects next to each other
2023-12-06 20:49:28 +01:00
Tomasz Zieliński
03fa75c51e Some refactoring, commiting current state after tests 2023-12-06 09:49:41 +01:00
Ivan Savenko
cd5d6a8f77 Fix loading of artifact ID for "transport item" victory condition 2023-12-03 19:45:18 +02:00
Ivan Savenko
a1f4748bbc Fix socket shutdown 2023-12-03 19:44:58 +02:00
Ivan Savenko
773071fee3 Fix AI movement through wandering monsters 2023-12-03 15:58:44 +02:00
Ivan Savenko
be9c7f2099
Merge pull request #3239 from IvanSavenko/pathfinder_fixes
Pathfinder fixes
2023-12-02 12:20:44 +02:00
Ivan Savenko
a7d6068bf6 Do not ignore block-visit objects when computing guardian locations 2023-11-28 19:32:03 +02:00
Ivan Savenko
37d81e916e Fix creature appearance on hota maps 2023-11-28 19:31:38 +02:00
Ivan Savenko
0d6bd0c60a Fix assertion failure in RMG 2023-11-28 16:37:21 +02:00
Ivan Savenko
9277761da5 Do not allow building boat if there is already boat with hero in it 2023-11-28 15:49:03 +02:00
Ivan Savenko
8cbc2c01ad Do not allow moving through most of visitable objects 2023-11-28 12:32:24 +02:00
Ivan Savenko
faead7739a Do not allow U-turns while flying. Works fine, but poor representation in
UI
2023-11-28 12:32:24 +02:00
Ivan Savenko
5d16f035d7 Workaround for crash on winning the game 2023-11-27 14:09:08 +02:00
Ivan Savenko
ee46fc806a Add workaround to loading old map format 2023-11-27 14:09:08 +02:00
Ivan Savenko
f2e7791326 Fix crash on Earthquake cast 2023-11-27 14:09:08 +02:00
Ivan Savenko
0cf490e2c3 Remove custom move constructor. Fixes serialization of visitation status 2023-11-27 14:08:49 +02:00
Ivan Savenko
e00d871082 Fix few more warnings on game start 2023-11-27 14:08:49 +02:00
Ivan Savenko
68de34e508 Workaround for starting map with invalid witch huts 2023-11-27 14:08:49 +02:00
Ivan Savenko
560a1231a6 Fix loading of maps with Grail or Diplomat Suit placed on map 2023-11-27 14:08:49 +02:00
Ivan Savenko
2c8d0338ba Fix error messages in log on map start 2023-11-27 14:08:49 +02:00
Ivan Savenko
6730ec64d5 Fix loading of preset artifacts and creatures on some custom maps 2023-11-26 00:41:49 +02:00
Ivan Savenko
3f60c1b0b3 Remove excessive logging 2023-11-26 00:41:15 +02:00
Ivan Savenko
364977ef40 More meaningful exception messages 2023-11-22 19:11:40 +02:00
Ivan Savenko
e979fb7056 Better fix for allowed heroes in h3m - allow all heroes from mods 2023-11-22 19:11:22 +02:00
Ivan Savenko
f643fff5eb
Merge pull request #3214 from IvanSavenko/bugfixing2
Bugfixing
2023-11-21 22:51:31 +02:00
Ivan Savenko
d3d5b67b22
Merge pull request #3207 from IvanSavenko/skill_selection_fix
Reworked and fixed selection of secondary skills on levelup
2023-11-21 21:35:06 +02:00
Ivan Savenko
9d298f42c3 Do not allow special spells such as Titan Bolt as a reward 2023-11-21 21:22:17 +02:00
Ivan Savenko
07e7d6cc14 Do not allow fleeing from cities without fort 2023-11-21 20:32:07 +02:00
Ivan Savenko
e96cde291a Fix generation of additional monolith types for RMG 2023-11-21 18:32:07 +02:00
Ivan Savenko
d0e320723c Remove no longer relevant assertion 2023-11-21 18:31:43 +02:00
Ivan Savenko
83ca09f483 Fix loading of allowed heroes from h3m maps 2023-11-21 17:23:46 +02:00
Ivan Savenko
d58ea6f28d Fix keymaster visitation status tracking 2023-11-21 16:38:09 +02:00
Ivan Savenko
a4d5c4917b Limit resources to 1000 000 000 to prevent overflow 2023-11-20 20:50:37 +02:00
Ivan Savenko
842d66afbc Fix crash on battlefield deserialization 2023-11-20 19:57:07 +02:00
Ivan Savenko
71825fcc4e Fix crash on artifact movement 2023-11-20 19:56:55 +02:00
Ivan Savenko
e9ac8c67c1 Reworked and fixed selection of secondary skills:
- Fixed off-by-one error when checking for obligatory skills
- If both wisdom and magic school must be offered in the same slot, magic
school will be correctly offered on next levelup
- Obligatory skill can now be proposed for upgrade
- Obligatory skills are now offered using hero class weight instead of
simple random
- If hero has multiple skills not available to his class game will
select random skill instead of first one
- Moved storage of random seed to server instead of mutable member
2023-11-20 18:46:24 +02:00
Ivan Savenko
ff6260e5c5
Merge pull request #3195 from IvanSavenko/identifier_string_serialization
Serialize Identifiers that can be added by mods as strings
2023-11-20 14:07:24 +02:00
Ivan Savenko
aaefc07182
Merge pull request #3198 from IvanSavenko/ai_optimize
AI optimizations
2023-11-20 14:06:25 +02:00
Ivan Savenko
225a1040f4
Merge pull request #3204 from IvanSavenko/fix_campaign_startup
Fix format of custom win/loss conditions for h3 campaigns
2023-11-20 14:06:16 +02:00
Ivan Savenko
a143fa9ac8
Merge pull request #3202 from IvanSavenko/mod_dependencies_check_fix
Always convert mod ID to lower case before using it
2023-11-20 14:06:06 +02:00
Ivan Savenko
07990644b5
Merge pull request #3191 from Laserlicht/touch-introduction
Touch introduction
2023-11-20 14:05:47 +02:00
Ivan Savenko
f7ef474201 Fix format of custom win/loss conditions for h3 campaigns 2023-11-19 23:59:49 +02:00
Ivan Savenko
c717bb5504 Always convert mod ID to lower case before using it 2023-11-19 20:44:28 +02:00
Ivan Savenko
cc71651ee4 Show proper error message if player attempts to load save with missing
identifiers instead of silent crash to main menu
2023-11-19 19:30:55 +02:00
Ivan Savenko
b58301849b Pass functor via reference to avoid costly copies 2023-11-18 19:43:11 +02:00
Ivan Savenko
f5a64a0ac5 Call cheap to compute conditions before costly conditions 2023-11-18 19:42:45 +02:00
Ivan Savenko
3ac80e1f09 Avoid costly std vector construction 2023-11-18 19:42:02 +02:00
Ivan Savenko
54480c6209 Fixed Building ID serialization to use string 2023-11-17 22:12:11 +02:00
Ivan Savenko
c872f8418f Implemented serialization of MapObjectSubID, refactoring of related code 2023-11-17 21:18:34 +02:00
Ivan Savenko
9f906ff1d2 Remove pointer to CGObjectInstance from map header 2023-11-17 16:39:15 +02:00
Ivan Savenko
f53a53051b Fixed map startup 2023-11-17 16:19:07 +02:00
Ivan Savenko
f9e6d1467f Do not select random towns as starting faction for player 2023-11-17 15:57:46 +02:00
Ivan Savenko
843e97349a Identifiers that can be added by mods are now serialized as string 2023-11-17 00:48:55 +02:00
Ivan Savenko
c0e54b338a
Merge pull request #3190 from gamestales/gamestales/962-map-object-morale-description
Use arraytxt for object bonus description
2023-11-16 17:28:09 +02:00
Ivan Savenko
d71b0b6952
Merge pull request #3179 from vcmi/fix-3173
#3173 - fix trap crash on random hero
2023-11-16 17:27:13 +02:00
Ivan Savenko
76956cfe3a
Merge pull request #3188 from IvanSavenko/remove_identifier_implicit_int_conversion2
Remove implicit conversion of identifier to integer
2023-11-16 17:26:32 +02:00
Ivan Savenko
de02507fff
Merge pull request #3193 from IvanSavenko/warn_mod_dependencies
Show message about mods that failed to load on opening main menu
2023-11-16 17:26:19 +02:00
Laserlicht
2cfbcd067b
videos 2023-11-16 02:58:43 +01:00
Ivan Savenko
d1a4e84255 Show message about mods that failed to load on opening main menu 2023-11-15 17:57:40 +02:00
Ivan Savenko
0705604129
Merge pull request #3185 from IvanSavenko/memleak_fix
Memory leak fixes
2023-11-15 16:00:38 +02:00
Ivan Savenko
59b2cbe4d2 Fix regressions 2023-11-15 15:57:03 +02:00
Ivan Savenko
52050d0ef1 Fix build 2023-11-15 15:55:19 +02:00
Ivan Savenko
6cb1f6ff11 Remove all remaining implicit conversion in lib 2023-11-15 15:55:19 +02:00
Ivan Savenko
96c81be68e Win/loss conditions now use VariantIdentifier. Removed non-implemented
options
2023-11-15 15:55:19 +02:00
Ivan Savenko
13763cad8e Remove few more implicit conversions 2023-11-15 15:55:19 +02:00
Ivan Savenko
34338f4eaa Remove few more implicit conversions 2023-11-15 15:55:19 +02:00
Ivan Savenko
abad4b01ce Remove explicit convesion to int in operators 2023-11-15 15:55:19 +02:00
Ivan Savenko
10e110320b Remove std::vector<boo> from Json Serializer, simplify affected code 2023-11-15 15:55:18 +02:00
Ivan Savenko
0842f5afee Removed remaining usages of std::vector<bool> 2023-11-15 15:55:18 +02:00
gamestales-com
faea00a7e1 Use arraytxt for object bonus description 2023-11-15 14:32:40 +01:00
Ivan Savenko
a9f868b379
Merge pull request #3166 from IvanSavenko/simturns_ui
UI for Simturns
2023-11-15 14:10:57 +02:00
DjWarmonger
ad9acd4b5e
Merge pull request #3131 from vcmi/improve_subterranean_gates
More tolerance for Subterranean Gates placement
2023-11-15 09:23:21 +01:00
Ivan Savenko
8392125b04 Disable experimental simturns AI option by default 2023-11-13 19:51:14 +02:00
Ivan Savenko
7d54f6a9c0 Implemented basic support for plural forms in translations 2023-11-13 19:06:56 +02:00
Ivan Savenko
301ac2457a Cleanup 2023-11-13 17:48:55 +02:00
Ivan Savenko
d4496c81f9 Fix memory leaks in library 2023-11-13 16:27:15 +02:00
Ivan Savenko
a6f37b7cd7 Fixed few more memory leaks in client 2023-11-13 16:27:15 +02:00
Ivan Savenko
20ef3a69e7 Fix most of memleaks discovered by valgrind 2023-11-13 16:27:15 +02:00
Ivan Savenko
1192dbff15
Merge pull request #3180 from IvanSavenko/bugfixing
Fixes for miscellaneous accumulated issues
2023-11-13 16:26:33 +02:00
Ivan Savenko
c6f9434c8e
Merge pull request #3170 from gamestales/gamestales/2903-morale-description-1442
#2903-morale-description-#1442
2023-11-13 01:53:29 +02:00
Ivan Savenko
9c9127be7d Fix tooltip for spell scrolls on adventure map 2023-11-13 00:08:14 +02:00
Ivan Savenko
bc51d9c772
Merge pull request #3161 from SoundSSGood/art-swap-optimization
Artifacts swap optimization
2023-11-12 19:37:25 +02:00
Ivan Savenko
35ee8c1397 Only apply normal mana regen for retreated heroes in taverns (h3 logic) 2023-11-12 19:30:33 +02:00
Ivan Savenko
bbd3312705 Fix randomization of heroes in campaigns 2023-11-12 19:18:17 +02:00
Ivan Savenko
1d430d0328 Fix initialization order of Seer Huts and Creatures - Seer Hut might be
initialized before creature that its quest is linked to
2023-11-12 19:18:00 +02:00