Commit Graph
100 Commits
Author SHA1 Message Date
Ivan Savenko 2b2d522d72 Merge pull request #6934 from IvanSavenko/ai_freeze_fix
Try to fix possible freezes on AI actions
2026-02-20 20:56:22 +02:00
Ivan Savenko a3a0134d4e Merge pull request #6932 from IvanSavenko/crashfix
[1.7.3] Crashfixes
2026-02-20 19:50:18 +02:00
Ivan Savenko 6d1b263c17 Merge pull request #6917 from GeorgeK1ng/uninstall_confirm
[1.7.3] Add mod uninstall confirmation
2026-02-20 18:42:22 +02:00
Ivan Savenko 8aa835d48b Merge pull request #6910 from vcmi/kambala-decapitator-patch-1
[cmake][client][discord] don't search for libs in system locations when using Conan
2026-02-20 18:41:29 +02:00
Ivan Savenko 8ef5809408 Merge pull request #6900 from kambala-decapitator/macos-fix-adhoc-signing
[macOS] revert to old params for adhoc codesigning
2026-02-20 18:41:12 +02:00
Ivan Savenko efc049a89e Merge pull request #6832 from kambala-decapitator/chronicles-error-gui-thread
show Chronicles install error on GUI (main) thread
2026-02-20 18:39:59 +02:00
Ivan Savenko af801c1824 Try to fix possible freezes on AI actions
While I am not 100% sure about the cause, it seems that following
scenarios might happen right now:

- Network thread is shut down due to catching
TerminationRequestedException that was intended to only terminate AI
turn
- throwing an exception in AI thread may lead to a freeze (and not to a
crash) since TBB catches all crashes to later re-throw them in caller
thread (which does not happens in VCMI due to way AI logic is set up)
- Also, AI makeTurn thread right now has catch-all block in it, meaning
that any bugs caused by unexpected exception throw are silenced

List of changes

- functions that are passed to TBB in AI are now marked as `noexcept`.
So any exception not caught and not processed by our code will cause
std::terminate and not be lost inside TBB
- separate TerminationRequestedException which now only requests app
termination, and InterruptionRequestedException that requests AI to
terminate its turn

Expected results:
- Network thread should no longer unexpectedly terminate due to AI
logic. Instead it might result in a crash, but with correct call stack
- Any exception thrown by AI should now result in a clean crash and not
in AI freeze

Sure, this means introduction of potential crashes, but tracking them
down should be easier since they are now detected in place, not at some
point later. iOS/macOS crash reports and Google Play reports should help
with tracking them down (if any such crashes do appear)
2026-02-20 14:16:43 +02:00
Ivan Savenko 73fa2fd557 Fix regression 2026-02-20 14:02:12 +02:00
Ivan Savenko 59079ed640 Merge pull request #6929 from Karyoplasma/cursed_ground_morale
Fix negative morale on Cursed Ground
2026-02-20 13:07:31 +02:00
Ivan Savenko 576173f65b Merge pull request #6915 from GeorgeK1ng/small_tweaks
[1.7.3] Search button hover and dialog tip
2026-02-20 13:04:40 +02:00
Ivan Savenko e700f48ab3 Fix crash on starting HotA campaign scenario with invalid header data 2026-02-20 12:57:29 +02:00
Ivan Savenko 6443ac4e69 Hide boat of heroes that start in water in line with other such logic 2026-02-20 12:56:35 +02:00
Ivan Savenko 47cdcb6f28 Restore save compatibility with 1.6 saves that have quests 2026-02-20 12:55:52 +02:00
Ivan Savenko f24fdb6779 Added mutex to prevent thread races on filesystem update 2026-02-20 12:54:40 +02:00
Ivan Savenko 10e9d8e3ef Fix loading of spell mastery for combat trigger bonus 2026-02-20 12:53:58 +02:00
Ivan Savenko 9ca62a10ea Merge pull request #6914 from IvanSavenko/bugfixing
[1.7.3] Fixes for crashes in 1.7.2
2026-02-17 15:28:27 +02:00
Ivan Savenko 2a9d46bd8c Fix loading of hordes as starting bonus in campaigns 2026-02-17 13:48:04 +02:00
Ivan Savenko 69396cf42a Fix crash on invalid string in creature recruitment window title 2026-02-17 13:48:04 +02:00
Ivan Savenko f6ad86c0d4 Fix crash on switching resolution while rebinding quick spell 2026-02-17 13:48:04 +02:00
Ivan Savenko a58dc606a7 Try to avoid crash on minimap updating 2026-02-17 13:48:04 +02:00
Ivan Savenko d754aedb16 Fix crash on mod conflict detection, add tests 2026-02-17 13:48:04 +02:00
Ivan Savenko ee5ae84479 Fix possible use-after-free crash 2026-02-17 13:48:04 +02:00
Ivan Savenko 103664f377 Merge pull request #6906 from Karyoplasma/object-descriptions
Fixed xtrainfo indices for rewardableBonusing objects
2026-02-17 11:32:34 +02:00
Ivan Savenko 8cb8b2078d Merge pull request #6902 from Laserlicht/appi
[1.7.3] add appimage
2026-02-17 11:20:46 +02:00
Ivan Savenko a8aeb93f2a Merge pull request #6904 from GeorgeK1ng/text_window_fix
[1.7.3] Fix mod description and changelog position
2026-02-17 11:19:50 +02:00
Ivan Savenko 4d70dee5c8 Merge pull request #6894 from IvanSavenko/hotfix
[1.7.3] Changes for hotfix
2026-02-16 11:49:30 +02:00
Ivan Savenko 124f3e6234 Merge pull request #6903 from GeorgeK1ng/import_fix
[1.7.3] Fix GOG import
2026-02-16 11:48:51 +02:00
Ivan Savenko a82dea124e Merge pull request #6886 from Laserlicht/bonus_sel
[1.7.3] bonus selection: add amount
2026-02-16 11:46:46 +02:00
Ivan Savenko c5836cc4c8 Merge pull request #6891 from vcmi/ubuntu26-04
Fix .deb packaging for Ubuntu 26.04
2026-02-16 11:44:34 +02:00
Ivan Savenko c21480ef43 Merge pull request #6887 from Karyoplasma/tp-movecost-fix
Fix movement point cost of Advanced Town Portal
2026-02-16 11:44:18 +02:00
Ivan Savenko 456c461438 Merge pull request #6895 from IvanSavenko/version_bump_173
Bump version to 1.7.3
2026-02-16 11:41:21 +02:00
Ivan Savenko 4eb4eab995 Bump version to 1.7.3 2026-02-15 13:07:01 +02:00
Ivan Savenko 1ef1c5fe6c Do not report adventure map .def's as missing if .json exists 2026-02-15 12:56:45 +02:00
Ivan Savenko 73dc1c54a8 Allow bypassing dependencies for mines in RMG zones 2026-02-15 12:56:22 +02:00
Ivan Savenko b0de4d172b Do not report files used by submod-of-submod if they are in parent mod 2026-02-15 12:55:31 +02:00
Ivan Savenko bd60bc8233 Add workaround for crash on loading hota 1.8 map without hota 1.8 2026-02-15 12:54:32 +02:00
Ivan Savenko a71c554a2f Fix crash on Genie spellcasting 2026-02-15 12:54:06 +02:00
Ivan Savenko fdb78682fb Remove unstable code due to numerous crashes 2026-02-15 12:53:51 +02:00
Ivan Savenko 60702e4a1b Fix .deb packaging for Ubuntu 26.04 2026-02-14 10:20:59 +02:00
Ivan Savenko f295921b46 Merge pull request #6879 from IvanSavenko/discord_fix
Fix crash on start on macOS
2026-02-13 15:37:32 +02:00
Ivan Savenko 7ea7503792 Fix crash on start on macOS 2026-02-13 14:11:56 +02:00
Ivan Savenko 95a8a81e19 Merge pull request #6870 from IvanSavenko/release_172
Preparation for 1.7.2 release
2026-02-12 16:32:30 +02:00
Ivan Savenko eb7f7b5f62 Fix possible crash on spell before/after attack bonus 2026-02-12 13:20:48 +02:00
Ivan Savenko f32e255a7d Prepare 1.7.2 release 2026-02-12 12:07:13 +02:00
Ivan Savenko 189a293127 Update changelog 2026-02-12 12:07:00 +02:00
Ivan Savenko a6ceeec859 Update Ukrainian translation 2026-02-12 12:06:50 +02:00
Ivan Savenko 9f94d5b120 Merge pull request #6865 from GeorgeK1ng/update_button
[1.7.2] Update button postion
2026-02-12 02:14:57 +02:00
Ivan Savenko b9090a4b0e Merge pull request #6801 from Fabrice-TIERCELIN/dutch_filipino_serbian
Dutch, Filipino and Serbian translations
2026-02-12 01:15:18 +02:00
Ivan Savenko 3689274a57 Merge pull request #6849 from vcmi/macos-sign
[macOS] sign & notarize builds
2026-02-12 00:38:45 +02:00
Ivan Savenko 118b5760cc Merge pull request #6854 from Laserlicht/boost-fix
[1.7.2] fix for newer boost
2026-02-12 00:38:13 +02:00
Ivan Savenko 29a32d815d Merge pull request #6863 from Laserlicht/fix_name
[1.7.2] Fix VMAP hero name
2026-02-12 00:38:04 +02:00
Ivan Savenko 4e2acc8e07 Merge pull request #6853 from IvanSavenko/bugfixing
[1.7.2] Fixes for reported issues
2026-02-09 21:52:34 +02:00
Ivan Savenko 03041199ee Merge pull request #6788 from Laserlicht/server_discovery
[1.7.2] Server discovery
2026-02-09 21:27:50 +02:00
Ivan Savenko b1a14436e5 Fix crash on deleting map with combined artifacts 2026-02-09 17:47:06 +02:00
Ivan Savenko 7ac619dfba Fix crashes on accessing bonus addInfo/parameters 2026-02-09 17:46:40 +02:00
Ivan Savenko e51e3f61a3 Fix animation of Mana Whirlpool to account for Mage Guild presence 2026-02-09 17:46:05 +02:00
Ivan Savenko ab80f2243f Disable save before visit by default to avoid freezes 2026-02-09 17:45:19 +02:00
Ivan Savenko cbba83d039 Fix possible crash on accessing renderhandler state without mutex 2026-02-09 17:44:56 +02:00
Ivan Savenko d89ca14c9e Add quick removal of map objects from UI. Fixes freezes on hero moveemnt 2026-02-09 17:44:30 +02:00
Ivan Savenko a9aa4012f9 Remove excessive logging in RMG 2026-02-09 17:43:46 +02:00
Ivan Savenko b798eb589b Merge pull request #6850 from IvanSavenko/runefix
Fixes for support of Runes skill
2026-02-09 03:14:51 +02:00
Ivan Savenko 80c1d44b7d Merge pull request #6831 from Laserlicht/ger
[1.7.2] Fixes and german update
2026-02-09 01:31:00 +02:00
Ivan Savenko 17a46aabfc Merge pull request #6848 from Laserlicht/tpl
[1.7.2] template editor fixes
2026-02-09 01:26:24 +02:00
Ivan Savenko 20946247cf Add validation of bonus addInfo via schema 2026-02-09 01:19:47 +02:00
Ivan Savenko 6fb321eec6 Merge pull request #6845 from Laserlicht/discord_bump
[1.7.2] only use cpm if not found libs on system
2026-02-08 14:14:04 +02:00
Ivan Savenko a267952e42 Fixes for support of Runes skill
- Fixed typo in HAS_ANOTHER_BONUS limiter
- Creature window now displays all bonuses and not only permanent ones.
Not yet sure about side effects.
2026-02-08 01:03:00 +02:00
Ivan Savenko 96221527ba Merge pull request #6846 from GeorgeK1ng/actions
[1.7.2] Implement concurrency for pull request workflows
2026-02-07 20:45:41 +02:00
Ivan Savenko 4560e4344a Merge pull request #6843 from GeorgeK1ng/docs_update
[1.7.2] Update installation instructions
2026-02-07 20:43:13 +02:00
Ivan Savenko bf672bbfe5 Merge pull request #6834 from kdmcser/chinese
update Chinese translation
2026-02-07 20:42:02 +02:00
Ivan Savenko 19868d88f2 Merge pull request #6833 from vcmi/ios-docs-gdrive-tf
[docs][iOS] document Google Drive workaround and TestFlight
2026-02-07 20:41:51 +02:00
Ivan Savenko 6f9ce92242 Merge pull request #6830 from GeorgeK1ng/czech_update
Czech translation update
2026-02-07 20:40:24 +02:00
Ivan Savenko 3fceb7a3d6 Merge pull request #6827 from IvanSavenko/bugfixing
[1.7.2] Minor fixes for recently reported issues
2026-02-02 18:56:17 +02:00
Ivan Savenko eac93ff7ea Try to fix strange freeze on AI receiving turn pause query 2026-02-01 17:37:49 +02:00
Ivan Savenko 79e4cd0cee Fix crash on accessing non-existing bonus parameters 2026-02-01 17:37:49 +02:00
Ivan Savenko 4eaee3ad65 Fix duplicated element 2026-02-01 17:37:49 +02:00
Ivan Savenko 86c8c4c2b4 Show message with location of extracted translation for convenience 2026-02-01 17:37:49 +02:00
Ivan Savenko cab43826f3 Merge pull request #6826 from IvanSavenko/sonar
[1.7.2] Fixes for issues reported by Sonar
2026-02-01 17:17:47 +02:00
Ivan Savenko 20a379f740 Fixes for issues reported by Sonar 2026-02-01 15:31:36 +02:00
Ivan Savenko 5655469c1e Merge pull request #6697 from IvanSavenko/changelog_172
Changelog for 1.7.2
2026-02-01 15:31:13 +02:00
Ivan Savenko f024f97bdb Changelog for 1.7.2 2026-02-01 15:29:07 +02:00
Ivan Savenko 350648956e Merge pull request #6825 from vcmi/bot/qt-translation-refresh/beta
Auto-update Qt translation files
2026-02-01 14:44:39 +02:00
Ivan Savenko 8937b3cb4f Merge pull request #6807 from mrhaandi/feature/rmg-force-objects
Add requiredObjects to rmg zone configuration
2026-02-01 14:40:34 +02:00
Ivan Savenko 2539e2f83a Merge pull request #6824 from IvanSavenko/translation_update
[1.7.2] Fix Qt translations update action
2026-02-01 14:19:04 +02:00
Ivan Savenko 515e690960 [1.7.2] Fix Qt translations update action 2026-02-01 13:57:28 +02:00
Ivan Savenko 99873dd549 Update lib/rmg/ObjectConfig.cpp 2026-02-01 13:46:59 +02:00
Ivan Savenko 09b144d383 Merge pull request #6802 from IvanSavenko/bonus_trigger
Support for executing actions on combat events (aka hota runes support)
2026-02-01 13:03:53 +02:00
Ivan Savenko 80b7a9b5e1 Merge pull request #6814 from IvanSavenko/compat_id
Allow mods to provide save and map compatibilty
2026-02-01 12:55:13 +02:00
Ivan Savenko df43655590 Merge pull request #6792 from Laserlicht/discord
[1.7.2] discord integration
2026-02-01 12:54:50 +02:00
Ivan Savenko 8e71d54c63 Allow mods to provide save and map compatibilty
Now `compatibilityIdentifers` field is supported for all game entities.
As result it is now possible for mods to provide compatibility support
for loading mods and saves made with older version of the mod.

Also, added docs to specify what exactly breaks saves with mods updates
and ways to avoid that
2026-02-01 12:27:00 +02:00
Ivan Savenko 4155e9f968 Merge pull request #6741 from molind/ios-docs
TLDR in iOS docs.
2026-02-01 11:27:41 +02:00
Ivan Savenko 8052dd97c6 Merge pull request #6822 from Laserlicht/vmap_fix
[1.7.2] fix vmap translation
2026-02-01 11:20:27 +02:00
Ivan Savenko 909debaaa4 Merge pull request #6808 from Karyoplasma/combo-artifacts-value
Combination artifacts value
2026-02-01 10:52:24 +02:00
Ivan Savenko a5209ab027 Merge pull request #6823 from Opuszek/fix_TIMES_STACK_SIZE_updater
Fixes TIMES_STACK_SIZE updater
2026-02-01 10:51:39 +02:00
Ivan Savenko 88b55d1170 Merge pull request #6805 from Karyoplasma/creatureBanks-bugfixes
Fixed crypt, derelict ship and shipwreck
2026-01-28 17:32:31 +02:00
Ivan Savenko 82c38a4324 Fix build and tests, code review 2026-01-28 10:26:39 +00:00
Ivan Savenko b194856dad Implemented ON_COMBAT_EVENT bonus
Bonus allows giving unit bonuses or casting spells on multiple events in
battle, such as waiting, defending, before or after attac, etc
2026-01-27 18:25:33 +00:00
Ivan Savenko bdebf6ab8b Reworked bonus addInfo into more extensible and type-safe form
- addInfo is now named parameters internally
- CAddInfo class renamed to BonusParameters
- parameters are now stored as const shared_ptr in bonus
- parameters now contain variant of all possible types instead of just
integer array
- no changes to existing mods
2026-01-27 18:25:33 +00:00
Ivan Savenko e96fa4b9f1 Add support for testing bonus value via has another bonus limiter 2026-01-27 18:25:07 +00:00
Ivan Savenko d439da322a Merge pull request #6779 from IvanSavenko/rewardable_movement
Add movement points limiter to rewardable objects
2026-01-27 20:23:58 +02:00
Ivan Savenko d6fcf691eb Merge pull request #6797 from IvanSavenko/bugfixing
[1.7.2] Fixes and improvements to bonus system
2026-01-27 20:23:42 +02:00