Commit Graph
100 Commits
Author SHA1 Message Date
Ivan Savenko e1be9af5e6 Merge pull request #5602 from IvanSavenko/fuzzy_bump
Bump fuzzylite submodule to latest commit
2025-04-02 16:01:34 +03:00
Ivan Savenko f2ffe32d5c Merge pull request #5597 from BenFradet/fix-dwellings
Fix dwellings recruitment text
2025-04-02 13:57:12 +03:00
Ivan Savenko 549a729e20 Merge pull request #5591 from IvanSavenko/vector_replace
Support for replacement of individual entries in json lists
2025-04-02 13:55:19 +03:00
Ivan Savenko dd823d1681 Merge pull request #5560 from GeorgeK1ng/campaigns
[1.7] Campaigns configurations improvements
2025-04-02 13:54:50 +03:00
Ivan Savenko 40870d8f64 Bump fuzzylite submodule to latest commit 2025-04-01 17:58:21 +03:00
Ivan Savenko efe2f4e0ba Merge pull request #5596 from BenFradet/fix-fedora-building
Fix fedora building instructions
2025-03-30 21:24:36 +03:00
Ivan Savenko 58a6aabd4c Switch list patching to more user-friendly 1-based indexing 2025-03-30 17:18:47 +03:00
Ivan Savenko 4dc82284b4 Add docs 2025-03-30 17:12:42 +03:00
Ivan Savenko aeb6c0be26 Support for replacement of individual entries in json lists
It is now possible for mods to modify json lists precisely, without full
replacement. Supported options:
- `append`: appends a single item to end of list
- `appendItems`: appends multiple items to end of list
- `insert@NUM`: inserts a single item *before* item NUM (item counting
is 0-based)
- `modify@NUM`: allows editing of a single item NUM (item counting is 0-
based)

Example - addition of a new item into town hall slots:
```json
"hallSlots":
{
	"modify@4" : {
		"append" : [ "dwellingLvl7B", "dwellingUpLvl7B" ]
	}
},
```
This would modify 4th element (last row) by appending new entry to the
end of last row

```json
{
	"modify@4" : {
		"insert@1" : [ "dwellingLvl5B", "dwellingUpLvl5B" ]
	}
},
```
This would add new slot not in the end of last row, but before 1st item
(between 5th and 6th dwellings)
2025-03-27 19:22:50 +00:00
Ivan Savenko 4df4438f59 Merge pull request #5588 from IvanSavenko/ci_fix
Fix CI failure in develop branch
2025-03-26 22:33:09 +02:00
Ivan Savenko c6a541752e Fix unused variable on serialization 2025-03-26 19:55:56 +00:00
Ivan Savenko 1c96489721 Merge pull request #5569 from Laserlicht/configeditor
Editor for JSON config in launcher
2025-03-26 17:28:26 +02:00
Ivan Savenko 0197d226c9 Merge pull request #5565 from kdmcser/new_morale_luck
support setting dice molecule for rolling morale and luck
2025-03-26 16:53:13 +02:00
Ivan Savenko 33f708c744 Merge pull request #5577 from GeorgeK1ng/skill_removal
Skill removal as reward
2025-03-26 16:47:37 +02:00
Ivan Savenko dfbe6d1965 Merge pull request #5572 from IvanSavenko/old_banks_remove
Remove deprecated support for banks in 1.5 format
2025-03-26 16:45:56 +02:00
Ivan Savenko bc07fa2fa3 Merge pull request #5571 from IvanSavenko/boost_old_remove
Remove old boost includes and defines
2025-03-26 16:45:39 +02:00
Ivan Savenko c73116a010 Reduce boost includes further 2025-03-19 08:03:56 +00:00
Ivan Savenko 7a3e1409d0 Remove old boost includes and defines 2025-03-19 08:03:56 +00:00
Ivan Savenko 2b286378e8 Remove logic for banks in 1.5 format 2025-03-19 08:02:39 +00:00
Ivan Savenko 8e1bd64799 Merge pull request #5570 from IvanSavenko/savecompat_150
Remove save compatibility with 1.5.X
2025-03-19 10:01:57 +02:00
Ivan Savenko ca8dcf30ed Fix build 2025-03-18 11:56:22 +00:00
Ivan Savenko eb3b51a6cf Remove save compatibility with 1.5.X 2025-03-18 11:35:15 +00:00
Ivan Savenko 81759143f4 Merge pull request #5436 from MichalZr6/fix_map_sorting
Small improvements to map sorting and search mapobjects feature
2025-03-16 19:19:44 +02:00
Ivan Savenko 860f65ea62 Merge branch 'develop' into fix_map_sorting 2025-03-16 19:19:27 +02:00
Ivan Savenko 134535ee15 Merge pull request #5562 from kambala-decapitator/editorconfig
add EditorConfig configuration
2025-03-16 19:09:37 +02:00
Ivan Savenko 64aaaf68d5 Merge pull request #5549 from MichalZr6/BattleHexArray_update
Fix BattleHexArray::contains() and fix no damage chance for catapult
2025-03-16 19:09:28 +02:00
Ivan Savenko 8ed3126a36 Merge pull request #5547 from kambala-decapitator/ios-mute-switch
[iOS] add setting to honor mute switch
2025-03-16 19:09:06 +02:00
Ivan Savenko 6ed1aad11b Merge pull request #5545 from Laserlicht/video_skip_harominize
optimize skip video keys
2025-03-16 19:08:57 +02:00
Ivan Savenko cb7c2d2f07 Merge pull request #5544 from IvanSavenko/fix_shutdown
Fix shutdown
2025-03-16 19:08:41 +02:00
Ivan Savenko ed4079e83b Code cleanup, add comments where relevant 2025-03-12 15:57:06 +00:00
Ivan Savenko 6877bbfe3a Fix issues found by Valgrind 2025-03-12 15:56:52 +00:00
Ivan Savenko 96d691b40c Fix crash on closing game during background image upscaling 2025-03-12 14:18:44 +00:00
Ivan Savenko 6855b895a0 Fix possible crashes on audio shutdown 2025-03-12 13:33:12 +00:00
Ivan Savenko 4684756c49 Do not create ENGINE in headless mode 2025-03-12 13:33:12 +00:00
Ivan Savenko eaad6f9ce0 Fix crash on trasferring to next scenario in campaign 2025-03-12 13:33:12 +00:00
Ivan Savenko e73d05933d Quick shutdown of ConsoleHandler thread 2025-03-12 13:33:12 +00:00
Ivan Savenko 8204990fa6 Fix crashes on app shutdown 2025-03-12 13:33:12 +00:00
Ivan Savenko 4d383d5880 Fix build 2025-03-12 13:33:12 +00:00
Ivan Savenko a474803aaf Use exception throwing to shutdown main thread 2025-03-12 13:33:12 +00:00
Ivan Savenko 9732d39c70 Moved shutdown request dialog handling to GameInstance 2025-03-12 13:33:12 +00:00
Ivan Savenko f8c1d217d4 Moved main loop to game engine class 2025-03-12 13:33:12 +00:00
Ivan Savenko 222b73bbcd Simplify library initialization 2025-03-12 13:33:12 +00:00
Ivan Savenko f7305fd1c2 Merge pull request #5540 from GeorgeK1ng/campaign_sets
Make campaign sets modable
2025-03-12 14:56:10 +02:00
Ivan Savenko e5d476d9c4 Merge pull request #5538 from IvanSavenko/fix_cannonyard
Fixes for crashes
2025-03-12 14:55:42 +02:00
Ivan Savenko a0e4db98b0 Merge pull request #5533 from Laserlicht/fixes_dev
multiple fixes
2025-03-12 14:55:12 +02:00
Ivan Savenko d870a7b742 Merge pull request #5527 from Laserlicht/subtitle_disable
setting to disable subtitle
2025-03-12 14:53:59 +02:00
Ivan Savenko e96ca4363b Merge pull request #5521 from XCOM-HUB/patch-1
Update swedish.json (develop)
2025-03-12 14:52:26 +02:00
Ivan Savenko ccfd99b316 Merge pull request #5520 from heroesiiifan/_translate_add
add romanian and bulgarian
2025-03-12 14:52:04 +02:00
Ivan Savenko 4df077ca1b Merge pull request #5513 from AlexSnowLeo/develop
Update Mods/vcmi/Content/config/russian.json
2025-03-12 14:51:26 +02:00
Ivan Savenko 4e440e19a7 Fix build 2025-03-11 19:23:56 +00:00
Ivan Savenko ee39aebdaa Try to fix remaining crashes with innoextract on Android 2025-03-11 16:22:41 +00:00
Ivan Savenko dff37ce81f Fix freeze if AI initiates large number of async requests during turn 2025-03-11 14:58:26 +00:00
Ivan Savenko e273263334 Fix possible crash on accessing Cannon Yard from HotA 2025-03-11 13:41:14 +00:00
Ivan Savenko ee5cddb52c Merge pull request #5518 from Laserlicht/fix_upgrade_all
[develop] fix crash, when no cost for upgrade
2025-03-08 19:21:13 +02:00
Ivan Savenko eba3a26fca Merge pull request #5357 from GeorgeK1ng/main_menu_1.7
[1.7] Main menu improvements
2025-03-08 19:20:55 +02:00
Ivan Savenko 1594be94ef Merge pull request #5499 from IvanSavenko/lib_ptr
Remove most of usages of ConstTransitivePtr
2025-03-08 19:20:43 +02:00
Ivan Savenko 99c6ca7e70 Fix build 2025-03-08 16:11:59 +00:00
Ivan Savenko 62cb5412ff CGameState::map is now a private, unique_ptr with accessors 2025-03-08 14:05:14 +00:00
Ivan Savenko b6026084ea StartInfo in gamestate now use unique_ptr 2025-03-08 14:04:51 +00:00
Ivan Savenko 82506d5eff Removed ConstTransitivePtr from StackLocation 2025-03-08 14:04:51 +00:00
Ivan Savenko a061ed04de Remove usage of ConstTransitivePtr from CTown 2025-03-08 14:04:51 +00:00
Ivan Savenko 4a6a8f9496 Merge pull request #5496 from IvanSavenko/std_thread
Replace boost::thread with std::thread
2025-03-08 16:03:55 +02:00
Ivan Savenko 04f690b951 Merge pull request #5498 from IvanSavenko/netlag_prep
Minor refactoring of GameHandler to help with antilag support
2025-03-08 16:03:29 +02:00
Ivan Savenko 62165bd378 Merge pull request #5506 from IvanSavenko/regressions
Fix bonus icon loading
2025-03-08 16:03:14 +02:00
Ivan Savenko d023a8af68 Merge pull request #5514 from Laserlicht/text_overflow
[develop] fix text overflow
2025-03-08 16:02:32 +02:00
Ivan Savenko 9b2fdd433e Update swedish.ts (develop) (#5458) 2025-03-08 16:01:05 +02:00
Ivan Savenko 9b30016e92 Merge pull request #5507 from Laserlicht/fix_rightButtonDrag
[develop] fix rightButtonDrag edge case
2025-03-08 15:59:30 +02:00
Ivan Savenko bbbfb59a71 Merge pull request #5515 from kdmcser/chinese
update Chinese translation
2025-03-08 15:59:11 +02:00
Ivan Savenko 9160f564bf Fix loading of new format of mod repository 2025-03-05 13:42:36 +00:00
Ivan Savenko 9ed41d3d5c Add schema for validation of bonus type defininitions 2025-03-05 13:42:18 +00:00
Ivan Savenko 6a828e09b9 Rename bonus instance schema to prevent name clash 2025-03-05 13:05:44 +00:00
Ivan Savenko 2fdf40e7a9 Remove connection pointer from CPack 2025-03-03 10:46:00 +00:00
Ivan Savenko 9f713a0914 Rename int3::valid to isValid for consistency 2025-03-03 10:46:00 +00:00
Ivan Savenko 0ead6a50b5 Clarify TryMoveHero netpack fields 2025-03-03 10:46:00 +00:00
Ivan Savenko 0200e871c3 Code cleanup 2025-03-02 20:39:41 +00:00
Ivan Savenko a31788b874 Replace thread spawning with tbb pool for adventure AI 2025-03-02 19:24:24 +00:00
Ivan Savenko 219eea86ff Better handling of AI shutdown 2025-03-02 14:33:11 +00:00
Ivan Savenko 5f052165fe Fix missing names for some threads 2025-03-02 14:33:11 +00:00
Ivan Savenko dda48b3693 Fix build 2025-03-02 14:33:11 +00:00
Ivan Savenko 64ac14fa06 Remove boost::thread from cmakelists 2025-03-02 14:33:11 +00:00
Ivan Savenko 948abfb04c AI now uses std::thread, added custom thread interruption logic 2025-03-02 14:33:11 +00:00
Ivan Savenko 844dfb1604 Removed usage of boost::thread from vcmi, except for AI 2025-03-02 14:33:11 +00:00
Ivan Savenko 3d205e0291 Remove CThreadHelper class, final usage replaced with tbb 2025-03-02 14:33:11 +00:00
Ivan Savenko 0536c55b9d Merge pull request #5494 from IvanSavenko/cpp_compat
Fix potential compatibility with C++20 / C++23 mode
2025-03-02 16:32:43 +02:00
Ivan Savenko a8a6be7ac1 Fix potential compatibility with C++20 / C++23 mode
This fixes several issues with compatibility with C++20. C++23 was also
tested, but apparently it does not have any additional breaking changes
compared to C++20 (or we don't have those).

VCMI still uses C++17 as before - goal is only to make potential
transition easier.

There were 2 cases that are deprecated in C++20 that we use:
- Floating point operations on enums are deprecated
- `this` can no longer be captured when using default capture by value
`[=]`

Both of those should now be replaced with code that works fine in both C+
+17 and in C++20 mode
2025-03-02 14:11:48 +00:00
Ivan Savenko f348e20a63 Merge pull request #5487 from IvanSavenko/game_engine_2
Reduce number of global variables
2025-03-02 12:43:16 +02:00
Ivan Savenko 272943f38a Merge pull request #5491 from IvanSavenko/threading
Use tbb thread pool instead of custom one for RMG
2025-03-02 12:42:54 +02:00
Ivan Savenko 06be6b909c Fix build, reduce includes of CConsoleHandler 2025-03-01 21:16:41 +00:00
Ivan Savenko dd1b877449 Replace several more globals with locals 2025-03-01 21:16:41 +00:00
Ivan Savenko 782362e5ce Remove console global 2025-03-01 21:16:41 +00:00
Ivan Savenko e5a095a237 Remove main menu global. Now accessed via GameInstance 2025-03-01 21:16:41 +00:00
Ivan Savenko d3de0d525f Removed GameEngine::curInt member
- event processing is now initiated by GameEngine instead of weird chain
engine -> player interface -> engine
- introduced GameEngineUser interface (implemented by GameInstance) to
remove mutual depedency between GameEngine and GameInstance (some
technically still remains for now, in form of some free functions)
2025-03-01 21:16:40 +00:00
Ivan Savenko a4587c0e65 Add basic docs on vcmi threads 2025-03-01 21:16:03 +00:00
Ivan Savenko 33468f21ff Remove custom implementation of threadpool from rmg in favor of TBB 2025-03-01 21:16:03 +00:00
Ivan Savenko f06e707108 Merge pull request #5488 from Laserlicht/boost
replace some boost functions with std
2025-03-01 23:15:01 +02:00
Ivan Savenko b0de99fe89 Merge pull request #5478 from heroesiiifan/translation
develop - add greek, japanese, norwegian; harmonize
2025-03-01 23:14:28 +02:00
Ivan Savenko 0d4d004516 Merge pull request #5489 from IvanSavenko/changelog_february
Initial changelog for 1.7.0
2025-03-01 23:13:51 +02:00
Ivan Savenko 924c1cb3f5 Initial changelog for 1.7.0 2025-02-28 16:31:20 +00:00
Ivan Savenko 1097a80c1e Merge pull request #5414 from IvanSavenko/bonus_icons
[1.7] Configurable icons for bonuses
2025-02-28 17:58:02 +02:00
Ivan Savenko a3dbb5748c Fix build 2025-02-28 14:59:00 +00:00