Commit Graph
100 Commits
Author SHA1 Message Date
Ivan Savenko ca03be65fc Merge pull request #7323 from IvanSavenko/scripting
[1.8] Lua scripting support part 2
2026-05-28 22:32:13 +03:00
Ivan Savenko 79fd1f8f4f Merge pull request #7391 from GeorgeK1ng/eagle_eye
[1.8.0] Allow usage of pre battle Eagle Eye
2026-05-28 16:07:37 +03:00
Ivan Savenko 59ebf3c504 Merge pull request #7341 from GeorgeK1ng/native_terrains
Add multiple nativeTerrains support
2026-05-28 03:38:12 +03:00
Ivan Savenko aac1331f9b Merge pull request #7320 from GeorgeK1ng/mines
[1.8.0] Mines improvements
2026-05-27 22:36:11 +03:00
Ivan Savenko 240628d2fb Merge pull request #7390 from IvanSavenko/bugfix
Fix map start & copy-paste in docs
2026-05-27 22:34:11 +03:00
Ivan Savenko e8f4e1041b Add Pavilion Town to translation status 2026-05-27 22:00:38 +03:00
Ivan Savenko 9234b45979 Merge pull request #7389 from GeorgeK1ng/small_fixes
[1.7.5 / 1.8.0 ] Small fixes
2026-05-27 20:23:57 +03:00
Ivan Savenko aae1ac6db2 Merge pull request #7386 from GeorgeK1ng/eagle_eye
[1.8.0] Add ability to extend Eagle eye with pre battle logic
2026-05-27 20:23:06 +03:00
Ivan Savenko dc19e8e814 Fix map start & copy-paste in docs
- Fixed failure to start some maps (regression from my skill tags PR)
- Fixed copy-paste errors in docs
2026-05-27 20:14:46 +03:00
Ivan Savenko 083cc0c669 Fix build, remove unused file 2026-05-27 03:08:11 +03:00
Ivan Savenko 0b3a2f4ef5 Restore spell effect json validation 2026-05-27 02:52:18 +03:00
Ivan Savenko 63df99563a Move base implementations of UnitEffect methods to Lua 2026-05-27 00:32:15 +03:00
Ivan Savenko 654617882d Switch to Lua OOP approach for scripts 2026-05-26 23:34:31 +03:00
Ivan Savenko d1b05ee31d Moved implementation of DemonSummon to new script
- added tests for demon summon logic
- fixed several issues with API affecting summon script
- removed c++ implementation of DemonSummon
2026-05-26 22:55:14 +03:00
Ivan Savenko a5689c8290 Preparation for migration of another effect to Lua 2026-05-26 19:24:57 +03:00
Ivan Savenko 8b948d3b21 Remove EffectTarget alias in favor of real type name 2026-05-26 19:21:12 +03:00
Ivan Savenko 5794a3afc1 Rename methods & simplify code 2026-05-26 19:21:12 +03:00
Ivan Savenko 35fd1d4975 Reorganize lua spell effects in more extensible for
- Added spell effect hanlder instead of global registry
- Removed script handler, in favor of module that injects itself into
the lib
2026-05-26 19:21:12 +03:00
Ivan Savenko 8eb01785cf Move CSpell into a separate file 2026-05-26 19:21:11 +03:00
Ivan Savenko 844de82f82 Remove old code 2026-05-26 19:20:55 +03:00
Ivan Savenko 58020456f5 Partially reorganize Lua API classes to more logical form 2026-05-26 19:20:48 +03:00
Ivan Savenko 16e5fb84a4 WIP - support for script inheritance / extensions 2026-05-26 19:20:48 +03:00
Ivan Savenko cb95d5e654 Lua script now must return a table with provided class 2026-05-26 19:20:48 +03:00
Ivan Savenko 8fbdfac694 Remove undefined-behavior based Lua types registration 2026-05-26 19:20:48 +03:00
Ivan Savenko eaf6449862 Merge pull request #7378 from IvanSavenko/iconv
Replace boost::locale with iconv
2026-05-26 16:40:02 +03:00
Ivan Savenko ade9a9e0db Merge pull request #7379 from IvanSavenko/skilltags
Support for arbitrary tags for skills
2026-05-26 16:39:48 +03:00
Ivan Savenko 951ab4e50f Merge pull request #7381 from IvanSavenko/quicksand_fly
Allow flying units to attack from quicksand/moat hex
2026-05-26 16:39:03 +03:00
Ivan Savenko b14d3410ef Merge pull request #7380 from IvanSavenko/docs_fix
Try to fix macro expansion errors on vcmi.eu
2026-05-26 16:38:45 +03:00
Ivan Savenko e1738a1d0a Merge pull request #7376 from IvanSavenko/github_no_zip
Remove .zip wrapper from Github artifacts
2026-05-26 16:38:08 +03:00
Ivan Savenko 34befc8548 Merge pull request #7360 from smanolloff/fix-fly-and-attack-into-moat
Fix bug where flyers could not fly-and-attack into moat
2026-05-26 16:37:54 +03:00
Ivan Savenko d01b380239 Remove .zip wrapper from Github artifacts
`upload_artifact` and `download_artifact` now support unzipped, single-
file artifacts

This allows to remove .zip wrapper from our daily builds, including our
zip-in-zip Windows installer-less builds
2026-05-26 00:55:27 +03:00
Ivan Savenko 0001e909c7 Replace boost locale with iconv 2026-05-25 22:02:07 +03:00
Ivan Savenko ed2f15d678 Allow flying units to attack from quicksand hex 2026-05-25 21:27:56 +03:00
Ivan Savenko 7d72571b40 Merge pull request #7365 from lyleunderwood/fix-defender-hero-hittest
Battle: fix defender-hero hit-test using attackingHero->pos
2026-05-25 20:33:52 +03:00
Ivan Savenko e5ed7affce Merge pull request #7366 from IvanSavenko/obstacle_position_fix
[1.8] Battle obstacle positioning fixes
2026-05-25 20:33:16 +03:00
Ivan Savenko da8c8a9c85 Try to fix macro expansion errors on vcmi.eu 2026-05-25 20:22:04 +03:00
Ivan Savenko ef5400d129 Merge pull request #7375 from IvanSavenko/nkai_repro
Deterministic AI - do not rely on pointer ordering
2026-05-25 19:59:22 +03:00
Ivan Savenko 10ef7a829c Support for arbitrary tags for skills
Allows defining custom tags for skills, and testing for them later when
rolling for skills in randomization.

Existing flags were converted to tags.

List of predefined tags:
- `special` - skill is banned by default
- `onlyOnWaterMap` - skill is banned on random maps without water
- `wisdom` - for guaranteed rolls of Wisdom on levelup
- `spellSchool` - for guaranteed rolls of spell schools on levelup
- `bannedForUniversity` - to exclude skill from selection by University
- `bannedForWitchHut` - to exclude skill from selection by Witch Hut
- `bannedForScholar` - to exclude skill from selection by Scholar
(unused in H3)
2026-05-25 19:56:49 +03:00
Ivan Savenko c5bf0c940d Merge pull request #7295 from GeorgeK1ng/center_menu
[1.8.0] Center scenario selection
2026-05-25 18:58:26 +03:00
Ivan Savenko 4ba21c86d8 Merge pull request #7377 from vcmi/beta
Merge beta -> develop
2026-05-25 18:19:43 +03:00
Ivan Savenko 1060a19451 Merge pull request #7359 from smanolloff/fix-gate-not-opening
Fix bug where gate does not open
2026-05-25 17:02:27 +03:00
Ivan Savenko 861a4be471 Deterministic AI - do not rely on pointer ordering
This replaces std::maps that use hero instance pointer as key with
std::maps with custom comparator that guarantees same element order

Should prevent potential non-reproducible behavior in AI
2026-05-24 21:11:36 +03:00
Ivan Savenko c038530928 Battle obstacle positioning fixes
Removed multiple hacks in battle obstacle positioning logic.

Now position of image no longer depends on order of blocked tiles or
relies on image size hacks - instead it depends only on obstacle
`height`.

Also added debug command `/obstacles debug` that exports all in-game
obstacles (non-absolute for now) with overlay that shows how obstacle
will look like in combat - how it will be placed across hexes, and which
hexes will be blocked. NOTE: command is only usable during combat.
2026-05-24 19:42:32 +03:00
Ivan Savenko c12e2ff5fa Merge pull request #7325 from Opuszek/map_editor_add_witch_hut_abilities_widget
[1.8.0] mapeditor: adds a widget for editing witch hut preset abilities
2026-05-23 16:09:14 +03:00
Ivan Savenko 134f8c2f8a Merge pull request #7361 from Opuszek/fixes_includes
fixes local includes
2026-05-23 13:36:28 +03:00
Ivan Savenko 4759d22b06 Merge pull request #7346 from Laserlicht/wiki_
[1.7.5 / 1.8.0] small wiki improvements
2026-05-22 16:26:49 +03:00
Ivan Savenko 6ed3ef6e60 Merge pull request #7321 from IvanSavenko/translate_docs
Add more detailed documentation for translations
2026-05-22 16:26:25 +03:00
Ivan Savenko f92665bf04 Merge pull request #7350 from IvanSavenko/tchinese
[1.7.x?] Added support for Traditional Chinese
2026-05-22 16:26:08 +03:00
Ivan Savenko 086278d5b0 Add more detailed documentation for translations 2026-05-21 21:33:33 +03:00
Ivan Savenko aa96bdc2e0 Added support for Traditional Chinese
Requested via Weblate

- renamed existing "Chinese" to explicit "Simplified Chinese"
- existing `chinese` tag is kept as it - for compatibility with existing
mods
- regenerated launcher and map editor translations
2026-05-21 20:12:10 +03:00
Ivan Savenko e0552e79ae Merge branch 'master' into 'develop' 2026-05-20 17:08:27 +03:00
Ivan Savenko 9949b089a4 Merge pull request #7344 from vcmi/beta
Merge beta -> master
2026-05-19 21:52:27 +03:00
Ivan Savenko aca0036781 Merge pull request #7312 from Laserlicht/qt_stuff
[1.8.0] demo fixes
2026-05-19 20:55:51 +03:00
Ivan Savenko 957acd4e4b Merge pull request #7327 from Opuszek/simplify_int3_hash_function
simplifies hash_value method of int3
2026-05-19 20:54:43 +03:00
Ivan Savenko 79e729a5e9 Merge pull request #7340 from kambala-decapitator/deps-update
update dependencies submodule and docs
2026-05-19 20:39:29 +03:00
Ivan Savenko 8921af860a Merge pull request #7337 from vcmi/beta
Merge beta -> master
2026-05-18 01:05:57 +03:00
Ivan Savenko a332e2c19d Merge pull request #7336 from Laserlicht/fix_tpl
[1.7.4] fix template editor color
2026-05-18 00:42:28 +03:00
Ivan Savenko 9185a516d1 Merge pull request #7334 from IvanSavenko/crashfix
Fixes for crashes in 1.7.4 beta
2026-05-18 00:42:23 +03:00
Ivan Savenko de7bfcaa8d Fixes for crashes in 1.7.4 beta
- Fixed crash in MP between 1.7.3 and 1.7.4 on opening exchange window
- Fixed crash if creature with area attack and death blow attacks empty
space (Magog in WoG)
- Fixed crash on formatting of spell effect preview text
- Fixed crash if hero has invalid path (e.g. blocked by another hero)
and player attempts to end turn
- Try to fix crash on opening battle-only mode in some cases(?)
2026-05-17 22:32:31 +03:00
Ivan Savenko 7f22ac3294 Merge pull request #7329 from vcmi/beta
Merge beta -> master
2026-05-16 17:01:51 +03:00
Ivan Savenko 9907128e1d Merge pull request #7328 from vcmi/weblate
Translations update from Hosted Weblate
2026-05-16 16:09:19 +03:00
Ivan Savenko 52ad52b1cb Translated using Weblate (Korean)
Currently translated at 0.0% (0 of 18 strings)

Translated using Weblate (Portuguese)

Currently translated at 0.0% (0 of 18 strings)

Translated using Weblate (Dutch)

Currently translated at 0.0% (0 of 18 strings)

Translated using Weblate (Greek)

Currently translated at 0.0% (0 of 1206 strings)

Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/vcmi/client/el/
Translate-URL: https://hosted.weblate.org/projects/vcmi/linux/ko/
Translate-URL: https://hosted.weblate.org/projects/vcmi/linux/nl/
Translate-URL: https://hosted.weblate.org/projects/vcmi/linux/pt/
Translation: VCMI/Game client
Translation: VCMI/Linux metadata
2026-05-16 12:58:09 +00:00
Ivan Savenko 0757b125ed Translated using Weblate (Swedish)
Currently translated at 100.0% (18 of 18 strings)

Translated using Weblate (Russian)

Currently translated at 79.4% (958 of 1206 strings)

Translated using Weblate (Bulgarian)

Currently translated at 0.0% (0 of 18 strings)

Translated using Weblate (Belarusian)

Currently translated at 0.0% (0 of 1206 strings)

Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/vcmi/client/be/
Translate-URL: https://hosted.weblate.org/projects/vcmi/client/ru/
Translate-URL: https://hosted.weblate.org/projects/vcmi/linux/bg/
Translate-URL: https://hosted.weblate.org/projects/vcmi/linux/sv/
Translation: VCMI/Game client
Translation: VCMI/Linux metadata
2026-05-16 12:58:06 +00:00
Ivan Savenko 5614b6a54a Translated using Weblate (Latvian)
Currently translated at 0.0% (0 of 18 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 79.9% (964 of 1206 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 0.0% (0 of 1206 strings)

Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/vcmi/client/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/vcmi/client/zh_Hans/
Translate-URL: https://hosted.weblate.org/projects/vcmi/linux/lv/
Translation: VCMI/Game client
Translation: VCMI/Linux metadata
2026-05-16 12:58:03 +00:00
Ivan Savenko 32ba1e0605 Translated using Weblate (Vietnamese)
Currently translated at 0.0% (0 of 18 strings)

Translated using Weblate (Finnish)

Currently translated at 0.0% (0 of 18 strings)

Translated using Weblate (Filipino)

Currently translated at 0.0% (0 of 18 strings)

Translated using Weblate (Italian)

Currently translated at 45.1% (545 of 1206 strings)

Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/vcmi/client/it/
Translate-URL: https://hosted.weblate.org/projects/vcmi/linux/fi/
Translate-URL: https://hosted.weblate.org/projects/vcmi/linux/fil/
Translate-URL: https://hosted.weblate.org/projects/vcmi/linux/vi/
Translation: VCMI/Game client
Translation: VCMI/Linux metadata
2026-05-16 12:57:59 +00:00
Ivan Savenko a54138c2a6 Translated using Weblate (Hungarian)
Currently translated at 0.0% (0 of 18 strings)

Translated using Weblate (Filipino)

Currently translated at 79.1% (955 of 1206 strings)

Translated using Weblate (Bulgarian)

Currently translated at 0.0% (0 of 1206 strings)

Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/vcmi/client/bg/
Translate-URL: https://hosted.weblate.org/projects/vcmi/client/fil/
Translate-URL: https://hosted.weblate.org/projects/vcmi/linux/hu/
Translation: VCMI/Game client
Translation: VCMI/Linux metadata
2026-05-16 12:57:56 +00:00
Ivan Savenko 8e3262fe70 Translated using Weblate (Serbian)
Currently translated at 79.1% (955 of 1206 strings)

Translated using Weblate (French)

Currently translated at 0.0% (0 of 18 strings)

Translated using Weblate (Greek)

Currently translated at 0.0% (0 of 18 strings)

Translated using Weblate (Portuguese)

Currently translated at 48.0% (579 of 1206 strings)

Translated using Weblate (Romanian)

Currently translated at 0.0% (0 of 18 strings)

Translated using Weblate (Hungarian)

Currently translated at 45.0% (543 of 1206 strings)

Translated using Weblate (Korean)

Currently translated at 0.0% (0 of 1206 strings)

Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/vcmi/client/hu/
Translate-URL: https://hosted.weblate.org/projects/vcmi/client/ko/
Translate-URL: https://hosted.weblate.org/projects/vcmi/client/pt/
Translate-URL: https://hosted.weblate.org/projects/vcmi/client/sr/
Translate-URL: https://hosted.weblate.org/projects/vcmi/linux/el/
Translate-URL: https://hosted.weblate.org/projects/vcmi/linux/fr/
Translate-URL: https://hosted.weblate.org/projects/vcmi/linux/ro/
Translation: VCMI/Game client
Translation: VCMI/Linux metadata
2026-05-16 12:57:52 +00:00
Ivan Savenko d2064cda16 Translated using Weblate (Polish)
Currently translated at 100.0% (18 of 18 strings)

Translated using Weblate (Turkish)

Currently translated at 100.0% (18 of 18 strings)

Translated using Weblate (Japanese)

Currently translated at 0.0% (0 of 18 strings)

Translated using Weblate (Serbian)

Currently translated at 0.0% (0 of 18 strings)

Translated using Weblate (Chinese (Simplified Han script))

Currently translated at 0.0% (0 of 18 strings)

Translated using Weblate (Latvian)

Currently translated at 79.6% (960 of 1206 strings)

Translated using Weblate (Russian)

Currently translated at 0.0% (0 of 18 strings)

Translated using Weblate (Norwegian Bokmål)

Currently translated at 0.0% (0 of 18 strings)

Translated using Weblate (Vietnamese)

Currently translated at 78.6% (949 of 1206 strings)

Translated using Weblate (Italian)

Currently translated at 0.0% (0 of 18 strings)

Translated using Weblate (Finnish)

Currently translated at 0.0% (0 of 1206 strings)

Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/vcmi/client/fi/
Translate-URL: https://hosted.weblate.org/projects/vcmi/client/lv/
Translate-URL: https://hosted.weblate.org/projects/vcmi/client/vi/
Translate-URL: https://hosted.weblate.org/projects/vcmi/linux/it/
Translate-URL: https://hosted.weblate.org/projects/vcmi/linux/ja/
Translate-URL: https://hosted.weblate.org/projects/vcmi/linux/nb_NO/
Translate-URL: https://hosted.weblate.org/projects/vcmi/linux/pl/
Translate-URL: https://hosted.weblate.org/projects/vcmi/linux/ru/
Translate-URL: https://hosted.weblate.org/projects/vcmi/linux/sr/
Translate-URL: https://hosted.weblate.org/projects/vcmi/linux/tr/
Translate-URL: https://hosted.weblate.org/projects/vcmi/linux/zh_Hans/
Translation: VCMI/Game client
Translation: VCMI/Linux metadata
2026-05-16 12:57:47 +00:00
Ivan Savenko d2ec2bf40c Translated using Weblate (Dutch)
Currently translated at 79.1% (955 of 1206 strings)

Translated using Weblate (Romanian)

Currently translated at 74.7% (902 of 1206 strings)

Translated using Weblate (Ukrainian)

Currently translated at 100.0% (18 of 18 strings)

Translated using Weblate (French)

Currently translated at 11.2% (136 of 1206 strings)

Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/vcmi/client/fr/
Translate-URL: https://hosted.weblate.org/projects/vcmi/client/nl/
Translate-URL: https://hosted.weblate.org/projects/vcmi/client/ro/
Translate-URL: https://hosted.weblate.org/projects/vcmi/linux/uk/
Translation: VCMI/Game client
Translation: VCMI/Linux metadata
2026-05-16 12:57:43 +00:00
Ivan Savenko f9b207ba3d Translated using Weblate (Belarusian)
Currently translated at 0.0% (0 of 18 strings)

Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
Translate-URL: https://hosted.weblate.org/projects/vcmi/linux/be/
Translation: VCMI/Linux metadata
2026-05-16 12:57:39 +00:00
Ivan Savenko df6e0243a2 Merge pull request #7316 from IvanSavenko/release_174
Release preparation for 1.7.4
2026-05-16 15:49:15 +03:00
Ivan Savenko 966ac42810 Merge pull request #7322 from Laserlicht/scroll_fix
[1.7.4] fix scrolling on wayland
2026-05-15 19:10:00 +03:00
Ivan Savenko f3f439fc1b Merge pull request #7324 from Laserlicht/fixes_174
[1.7.4] small fixes and improvements for 1.7.4
2026-05-15 19:09:37 +03:00
Ivan Savenko 4d02b8ac45 Release preparation for 1.7.4
- Updated changelog with final changes
- Changed Android build ID to next available
- Updated Readme to include new release counter
- Set release date to 17th May

Changes in code
- Fixed possible crash in high scores on having two creatures with same
ID from different mods
2026-05-13 22:24:55 +03:00
Ivan Savenko ed88184373 Merge pull request #7262 from GeorgeK1ng/game_start
[1.7.4] Various game start improvements
2026-05-12 13:40:45 +03:00
Ivan Savenko 6121d37c76 Merge pull request #7314 from Laserlicht/trans
[1.7.4] added missing translation string
2026-05-12 01:50:33 +03:00
Ivan Savenko 8e056051bf [1.7.4] Wiki improvements (#7305)
* wiki improvements

* remove not needed includes

* more places to open wiki

* fix history
2026-05-11 15:34:29 +03:00
Ivan Savenko 1bb94ce51a Merge pull request #7310 from Laserlicht/button
[1.7.4] add statistic button
2026-05-11 10:43:42 +03:00
Ivan Savenko 48abf966e9 Merge pull request #7307 from IvanSavenko/db_fix
Optimize getActiveGameRooms call
2026-05-10 01:53:36 +03:00
Ivan Savenko fac88f31f4 Merge pull request #7306 from IvanSavenko/vmap_fix
Workaround for loading vmap's with invalid spells
2026-05-10 01:53:26 +03:00
Ivan Savenko 93e7c0aa67 Optimize getActiveGameRooms call
This call currently takes large part of DB access time.

According to EXPLAIN QUERY PLAN it looks like WHERE xxx IN(1,2,3) causes
SQLite to use full table SCAN instead of using available index.

For getActiveGameRooms this change decreases query time from ~60-70 ms
to <1 ms
2026-05-10 01:07:18 +03:00
Ivan Savenko bc35b55b2c Merge pull request #7300 from GeorgeK1ng/exp_fix
[1.7.4] Improve Stack Experience Details
2026-05-09 23:57:53 +03:00
Ivan Savenko 0797024e48 Workaround for loading vmap's with invalid spells 2026-05-09 23:57:24 +03:00
Ivan Savenko cdfdb3b926 Merge pull request #7271 from IvanSavenko/changelog_174
Changelog for 1.7.4
2026-05-09 18:42:51 +03:00
Ivan Savenko 6800f77ae0 Merge pull request #7304 from IvanSavenko/lobby_fix
[1.7.4] Fixes for lobby regressions
2026-05-09 17:22:20 +03:00
Ivan Savenko b0efddf70c Changelog for 1.7.4 2026-05-09 16:50:15 +03:00
Ivan Savenko 64ea676fdb Merge pull request #7301 from Laserlicht/fixes
[1.7.4] small fixes related to scrolling
2026-05-09 15:58:52 +03:00
Ivan Savenko ce672f6e2e Fixes for lobby regressions
- Fixed client not handling updateGameRoom message for new rooms
- Fixed account ID not updating correctly when using account details
from beholder for lobby domain name
- Removed unnecessary sending of all game rooms when server starts
connection. Now list is only send once connection is done
- Reverted some changes for 1.7.3 compatibility
2026-05-09 15:57:36 +03:00
Ivan Savenko ea45786ff2 [1.8.0] Mapeditor android (#7176)
* initial mapeditor fupport for android

* correct scaling

* file dialog; offset fix (mouse, pen)

* fixes

* translation fix

* translation & compile fix

* fix

* cleanup

* cleanup

* cleanup

* code review

* fix

* remaining fix for conflict

* code review

* unify file access

* code review

* code review

* fix translator (merge conflict)

* fix

* fix

* fix lua stuff on android

* revert file stuff
2026-05-08 23:07:17 +03:00
Ivan Savenko e3e5d0de16 Merge pull request #7289 from vcmi/wiki_improve
[1.7.4] Wiki improve
2026-05-07 19:42:45 +03:00
Ivan Savenko 87cc1c8b5c Merge pull request #7279 from GeorgeK1ng/dialog_with_status
[1.7.4] Generate Creature Stack Experience Detail window
2026-05-07 16:47:14 +03:00
Ivan Savenko 37306a5432 Merge pull request #7293 from IvanSavenko/better_translate
[1.7.4?] Better translation exporting for mods
2026-05-06 23:30:15 +03:00
Ivan Savenko 7dc07f1284 Update docs 2026-05-06 21:42:20 +03:00
Ivan Savenko b4c3a6ef69 Add weblate docs 2026-05-06 20:49:22 +03:00
Ivan Savenko a360415079 Export campaigns and maps in mod that added map/campaign 2026-05-06 20:48:00 +03:00
Ivan Savenko c4565dfbbb Use strict json validation for translations 2026-05-06 20:48:00 +03:00
Ivan Savenko 72634ea81a Better translation exporting for mods
Better version of translation exporting logic. Compared to existiing
version it:
- places generated json's in same directory structure as recommended for
mods (`modname/Content/configtranslation/language.json`). Files are
placed in same directory before (`exported`) to reduce chance of
information loss on overwrite
- (mostly) correctly handled mods that overwrite strings from another
submod of the same mod. For now only simple cases are handled (within
same mod, and without long overwrite chains), which seems to be
sufficient for existing mods

New translation is done by server (vcmiserver / VCMI_Server.exe) and not
by client command - this is due to reloading of library in runtime which
at the moment can't be done on client, especially during ongoing game
2026-05-06 20:48:00 +03:00
Ivan Savenko 7082230567 Merge pull request #7149 from IvanSavenko/lobby_upgrade
Lobby server upgrade and migration preparation
2026-05-06 20:47:28 +03:00
Ivan Savenko a65c2383b4 Fix regressions 2026-05-06 18:57:08 +03:00
Ivan Savenko 9d809b1082 Update docs 2026-05-06 18:38:48 +03:00