1
0
mirror of https://github.com/vcmi/vcmi.git synced 2026-04-24 19:54:52 +02:00

22842 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
Ivan Savenko a2f08cd7d4 Merge pull request #7254 from alekgosk/fix/mystic-pond-description-duplicated
Fix duplicated Mystic Pond description on building click
2026-04-19 19:02:28 +03:00
Laserlicht 8359e393ed fix fuzzy 2026-04-19 14:17:53 +00:00
Laserlicht 3eb4cd85a4 fix 2026-04-19 15:54:41 +02:00
Laserlicht a3800ac8ae Merge remote-tracking branch 'origin/develop' into demo 2026-04-19 15:36:41 +02:00
Laserlicht 600d95a984 code review 2026-04-19 15:21:39 +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
Ivan Savenko 8747d807f6 Merge pull request #7226 from alekgosk/fix/timed-battle-log-translation-plural
Fix battleLogMessage translation and add singular/plural support
2026-04-18 10:38:44 +03:00
Aleksander Gosk a93d3d0db7 Fix battleLogMessage translation and add singular/plural support
Fix two issues with the battleLogMessage feature:

1. Translation not working: string registration now happens in
   CSpellHandler::loadFromJson (before translations are loaded)
   instead of in Timed::serializeJsonUnitEffect (which runs in
   afterLoadFinalization, after translations are already loaded).
   The effect now only generates the text ID without registering.

2. Singular/plural support: battleLogMessage is now an object with
   "singular" and "plural" fields for grammatically correct messages
   based on stack size.
   Example: { "singular": "The %s is petrified.",
              "plural": "The %s are petrified." }

Values starting with @ reference an existing text ID instead of
registering a new string. Core spells now use @core.genrltxt.XXX
to reuse the original H3 translations directly.
2026-04-16 01:35:36 +02:00
Ivan Savenko 8ecb1402f0 Merge pull request #7188 from alekgosk/feature/timed-effect-custom-battle-log-message
Add configurable battle log message for timed spell effects
2026-04-13 17:09:49 +03:00
Aleksander Gosk d6a3541f3a Add configurable battle log message for timed spell effects
Timed spell effects (core:timed) now support an optional
"battleLogMessage" field displayed in the battle log when the effect
is applied. The text should include a %s placeholder for the affected
creature's name.

The field contains the English text directly (same pattern as spell
name/description). A text ID for translation export is auto-generated
at load time as: spell.<scope>.<identifier>.<effectName>.battleLogMessage

String registration happens in the effect itself during deserialization
(Timed::serializeJsonUnitEffect), using spell scope, identifier, and
effect name passed down through the Effects loading chain.

This replaces the previously hardcoded battle log messages for stone
gaze, paralyze, poison, disease, and bind, which are now converted
from the old effects format to the new battleEffects format with
configurable messages. The age ability retains its hardcoded message
because it computes health loss at runtime.

Resolves: https://github.com/vcmi-mods/horn-of-the-abyss/issues/551
2026-04-12 16:20:47 +02:00
Laserlicht 4883ef538d simplify decompression 2026-04-11 20:10:21 +02:00
Laserlicht dfe963ad3f removed warnings and errors in demo mod 2026-04-11 18:57:56 +02:00
Laserlicht 5518d7642d disable heroes with non allowed creatures 2026-04-11 16:08:15 +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 cf9d890b00 add alternative url 2026-04-04 03:38:10 +02:00
Laserlicht e19ffce88e fix 2026-04-04 01:27:10 +02:00
Laserlicht 0fc0b5fd68 compatibility with complete; fix demo detection 2026-04-04 01:03:14 +02:00
Laserlicht 6b2c11f62e launcher demo support 2026-04-03 23:55:14 +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 24227dab65 fix mapping 2026-04-03 18:25:59 +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 2125befb24 Merge pull request #7166 from IvanSavenko/build_upload_fix_beta
[1.7.4] Use new server settings for uploading Windows installers
2026-03-30 20:29:31 +03:00
Ivan Savenko 778fefb410 Use new server settings for uploading Windows installers 2026-03-30 18:49:18 +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
Ivan Savenko b7a027b2f9 Merge pull request #7154 from IvanSavenko/vcmi_campaign_fs
[1.7.4] Fix crash on accessing VCMI campaign inside .zip archive
2026-03-30 14:47:14 +03:00
DjWarmonger cf6934f900 Merge pull request #6677 from vcmi/linear_VCM-40
Improve initial zone placement
2026-03-30 11:33:48 +02:00
DjWarmonger 7a34998a42 Merge pull request #7157 from vcmi/VC-29
Improve visual diversity of biomes
2026-03-30 11:20:56 +02:00
Tomasz Zieliński 42b105eae0 Fix SonarQube warnings 2026-03-30 10:44:05 +02:00
Tomasz Zieliński 1754173ee0 Do not allow multiple structure sets and animal sets in a biome 2026-03-30 10:30:51 +02:00
Tomasz Zieliński 9ac4377402 Reduce max number of sets per biome to 7 2026-03-30 08:25:13 +02:00
Opuszek 13473c4e2f Fixes targeting of undead units by power liches 2026-03-29 19:46:30 +02:00
Tomasz Zieliński 30c9d8551e Do not repeat 10 last obstacle templates 2026-03-29 19:28:13 +02:00
DjWarmonger a69e50d15d Merge pull request #7153 from vcmi/agents_develop
Add Agents to develop
2026-03-29 18:45:24 +02:00
Tomasz Zieliński 6356e66f4e Fix SonarQube warning 2026-03-29 18:42:06 +02:00
Tomasz Zieliński 2881db9962 remove .md from version control 2026-03-29 18:40:14 +02:00
Tomasz Zieliński afea41777e Place zones on multi-level grid 2026-03-29 18:40:14 +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
Tomasz Zieliński 7e0992c622 Add info about config/ folder 2026-03-28 18:08:33 +01:00
Tomasz Zieliński bcd551a5b1 Tweaks from code review 2026-03-28 18:08:33 +01:00
Tomasz Zieliński 1c7ad9889a Fix lint 2026-03-28 18:08:32 +01:00
Tomasz Zieliński a960ca1c19 New AGENTS.md 2026-03-28 18:08:32 +01:00
Tomasz Zieliński eeb5ea8674 Merge branch 'develop' of github.com:vcmi/vcmi into develop 2026-03-28 18:01:52 +01:00
Ivan Savenko 826c614d77 Merge pull request #6748 from Laserlicht/api_lobby
[1.8?] API for lobby
2026-03-28 01:42:16 +02:00
Ivan Savenko e8177799f5 Merge pull request #7145 from IvanSavenko/server_update
Update docs to account for builds migration
2026-03-27 21:04:52 +02:00