1
0
mirror of https://github.com/vcmi/vcmi.git synced 2026-04-26 20:02:20 +02:00

7980 Commits

Author SHA1 Message Date
Ivan Savenko c7a3247965 Merge pull request #7180 from Laserlicht/demo
[1.8.0] Demo support
2026-04-19 20:33:12 +03:00
Laserlicht a3800ac8ae Merge remote-tracking branch 'origin/develop' into demo 2026-04-19 15:36:41 +02:00
Aleksander Gosk c45025b50e Fix duplicated Mystic Pond description on building click
When the clicked building has no upgrade chain (e.g. vanilla Rampart's
Mystic Pond), buildingClicked() passes the same BuildingID as both the
buildingToTest and buildingTarget arguments down to enterFountain().
The `upgrades != BuildingID::NONE` check then always passed, appending
the building's own description to itself.

Skip the extra append when `upgrades` points to the same building we're
already describing. When a mod actually upgrades Mystic Pond into a
separate building, the two IDs differ and the intended behavior of
showing both descriptions is preserved.

Fixes #7142
2026-04-18 23:33:36 +02:00
Laserlicht 4aa7bb2b11 code review part 1 2026-04-11 15:48:05 +02:00
Ivan Savenko 58214ebddc Merge pull request #7177 from upperpalaeolithic/fix/highscore-freeze
Fix highscore screen freeze when entering player name
2026-04-05 07:09:01 +03:00
Laserlicht 9d8f0a8cef fix exchange; artfiacts; online lobby for demo 2026-04-04 14:39:34 +02:00
Laserlicht 63a7f164c3 war machines and ui 2026-04-03 22:25:35 +02:00
Laserlicht ba313e9b5e mod change 2026-04-03 21:16:32 +02:00
Laserlicht 9105bfd697 applied old demo patches to current beta 2026-04-03 17:29:24 +02:00
Tom 620e7bfdbd Fix highscore screen freeze when entering player name
waitForServerShutdown() was blocking on serverRunner->wait() while
holding interfaceMutex, preventing the GUI thread from processing
events or rendering frames. This caused the highscore name entry
screen to freeze after winning a game.

Release interfaceMutex during the blocking wait using makeUnlockGuard,
matching the existing pattern in endNetwork().

Also fix [&] lambda capture in the highscore input callback to [this]
to avoid a dangling reference to a stack variable (cursorPosition).
2026-04-01 13:53:04 -04:00
Ivan Savenko 1a0c8bf8d9 Merge branch 'vcmi/beta' into 'vcmi/develop' 2026-03-31 23:05:13 +03:00
Ivan Savenko 37af8a1cbe Merge pull request #7158 from Opuszek/fixes_targeting_of_power_liches
Fixes targeting of undead units by power liches
2026-03-30 14:48:11 +03:00
Opuszek 13473c4e2f Fixes targeting of undead units by power liches 2026-03-29 19:46:30 +02:00
Ivan Savenko 5d6cfc366b Fix crash on accessing VCMI campaign inside .zip archive
Fixes cases where game would try to access file on real filesystem for
VCMI campaigns files that are actually located inside .zip archive.

Made search for other usages of last_write_time access, don't see any
other similar cases left
2026-03-28 20:51:27 +02:00
Boris Nagaev b05c0f8e6d Normalize local relative include directives
Normalize quoted local relative include directives to remove redundant
path segments while preserving relative includes.

This applies the normalizer across the tree and updates 108 includes in
64 files, including cases where paths inside lib/* redundantly used
../../lib/... and now correctly use ../... .

These paths compiled before because include resolution normalized them,
but they were longer and harder to audit.
2026-03-26 20:15:25 -05:00
Boris Nagaev 38bfd1c7e5 Fix broken relative local include paths
Many quoted local includes had an incorrect ../ depth and resolved to
non-existent files from the including file's directory.

This was easy to miss because normal target include directories and PCH
usage masked some failures, and several stale paths lived in files that
are only compiled in optional test configurations. As a result, the
problem mostly surfaced in stricter or broader fresh builds.

Audit all C++ and header local includes, keep them relative, and adjust
paths so each include resolves to an existing in-tree header. For
headers that were renamed or moved, update includes to their current
relative location instead of switching to include-root form.

A few legacy ERM tests also used dynamic_ptr_cast at call sites where we
had to replace stale headers. The helper/header path they relied on is
no longer present after 81af66d35b, so
those downcasts are now explicit dynamic_cast calls with the same intent.
2026-03-26 20:14:59 -05:00
Ivan Savenko df3b14d782 Merge pull request #7062 from Opuszek/fix_targeting_for_spell_like_attacks
fix problems with death cloud targeting
2026-03-19 15:21:03 +02:00
Laserlicht 7a02c7acd7 add discord support for all missing systems 2026-03-15 11:36:07 +01:00
Opuszek e82edf18cf Fix INVINCIBLE bonus 2026-03-14 21:42:10 +01:00
Ivan Savenko 583dc441d5 Merge pull request #7036 from Laserlicht/invite
[1.7.4] use CObjectListWindow for hero invite
2026-03-07 10:08:21 +02:00
Laserlicht 5fa09e4d09 fix capture 2026-03-06 21:07:11 +01:00
Laserlicht b1a96acfe0 improve random hero 2026-03-06 21:05:54 +01:00
Laserlicht 043d03e6cf code review; fix 2026-03-06 20:46:03 +01:00
Andrey Filipenkov 38920f128d Merge pull request #7027 from kambala-decapitator/conan-update
[Conan] update dependencies and docs to the latest
2026-03-06 12:47:10 +03:00
Ivan Savenko b512c7c028 Merge pull request #6939 from Laserlicht/configurable_days
[1.7.4] Configurable days
2026-03-05 23:28:59 +02:00
Ivan Savenko 833153bd32 Remove NKAI 1 and fuzzylite from engine
As discussed on Discord:

- NKAI has been removed since it is now superseded by NKAI 2
- fuzzy logic as well as fuzzylite library itself is also removed - it
was disabled in 1.5 release or so, and AI developers have no interest in
using it

Player that use NKAI1 should automatically switch to NKAI2
2026-03-05 15:05:17 +02:00
Laserlicht 3e4e8086ca fix 2026-03-05 00:30:17 +01:00
Laserlicht a243732073 use CObjectListWindowfor hero invite 2026-03-04 21:51:41 +01:00
Andrey Filipenkov d766200201 Revert "[cmake][msvc][discord] prevent warning being an error in fmt build"
This reverts commit 295b880f8a.
2026-03-03 13:15:12 +03:00
Ivan Savenko 930780604b Merge pull request #6977 from kambala-decapitator/msvc-check-cxx23
[cmake][msvc] fix checking for C++23 availability
2026-02-26 17:44:02 +02:00
George King df1eaf791d Merge pull request #6928 from GeorgeK1ng/commander_bonus_desc
[1.7.3] Fix missing commander bonus description
2026-02-26 17:33:45 +02:00
Ivan Savenko d1591a5148 Merge pull request #6981 from Laserlicht/fix_resize
[1.7.3] Fix window resize
2026-02-25 22:47:48 +02:00
Laserlicht 3e1df57a24 fix window resize 2026-02-25 01:36:29 +01:00
Andrey Filipenkov 295b880f8a [cmake][msvc][discord] prevent warning being an error in fmt build 2026-02-24 21:59:58 +03:00
Ivan Savenko a427c4af86 Fix crash on closing game window during commander levelup 2026-02-23 23:33:04 +02:00
Ivan Savenko f6e7960a3c Fix possible crash on shutdown 2026-02-22 14:50:01 +02:00
Laserlicht 8a91fa6e90 animation name fallback 2026-02-22 12:47:43 +01:00
Ivan Savenko e9119d8e96 Merge pull request #6940 from Laserlicht/fast_buy
[1.7.3] fast buy (hd mod)
2026-02-22 10:43:24 +02:00
Laserlicht ff2946c22c code review 2026-02-21 14:40:36 +01:00
Laserlicht e6f158faf2 fast buy (hd mod) 2026-02-21 02:27:32 +01:00
Laserlicht e5eee891ae fix animation and week 2026-02-21 01:37:42 +01:00
Laserlicht 4297425be3 configurable days 2026-02-21 01:11:46 +01:00
Laserlicht b7b235610a fix backpack panning 2026-02-20 21:07:00 +01:00
Ivan Savenko c09996f4ef Merge pull request #6937 from IvanSavenko/spellcaster_fix
Fix SPELLCASTER bonus regressions
2026-02-20 20:56:33 +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 78f34c5a1d Fix SPELLCASTER bonus regressions
Fixed 1.7.2 regression of spellcaster logic when casting non-random
spells.

Slight refactoring of AI code to simplify logic related to SPELLCASTER.
As a side effect - AI should now be better at selecting spells if unit
has multiple spells to cast.
2026-02-20 17:40:27 +02:00
George King f1c0a3e19b Corrent tip in search window 2026-02-17 21:39:57 +01: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