Commit Graph
100 Commits
Author SHA1 Message Date
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
Ivan Savenko 35fc7f7f03 Use new URL for 1.7 mods 2025-02-28 14:51:33 +00:00
Ivan Savenko 07a46ed03b Configurable icons for bonuses
It is now possible for mods (e.g. vcmi extras) to provide custom icons
for bonuses subtypes or for custom bonuses values without requiring
hardcoded check in vcmi.

All existing hardcoded checks have been removed.

Bonuses config json from mods is now actually loaded.
2025-02-28 14:51:32 +00:00
Ivan Savenko 8f074490a7 Merge branch 'master' into 'develop' 2025-02-27 21:15:42 +00:00
Ivan Savenko dfda6d2626 Merge pull request #5484 from vcmi/beta
Merge beta -> master
2025-02-27 16:08:20 +02:00
Ivan Savenko a8d8b64882 Merge pull request #5483 from IvanSavenko/release_167
Preparation for release 1.6.7
2025-02-27 15:11:14 +02:00
Ivan Savenko da0943db99 Download counter for 1.6.7 2025-02-27 10:15:23 +00:00
Ivan Savenko cad6ea5402 Update Ukrainian translation 2025-02-27 10:15:23 +00:00
Ivan Savenko f04cac4101 Fix format string 2025-02-27 10:15:23 +00:00
Ivan Savenko c60954932d Fix build on newest MSVC 2025-02-27 10:15:23 +00:00
Ivan Savenko 0e4a4ae5aa Merge pull request #5482 from IvanSavenko/changelog_167
Changelog for 1.6.7
2025-02-27 12:14:34 +02:00
Ivan Savenko 5a59789371 Changelog for 1.6.7 2025-02-27 09:50:40 +00:00
Ivan Savenko 398c0e318c Merge pull request #5480 from GeorgeK1ng/czech-update
[1.6.7] Czech update + English formatting
2025-02-27 11:39:12 +02:00
Ivan Savenko 5a5ec55dac Merge pull request #5481 from IvanSavenko/ai_crash_fix
[1.6.7] Invalidate pathfinder cache on dismissing a hero
2025-02-27 11:36:53 +02:00
Ivan Savenko a075ac1ad1 Merge pull request #5468 from Laserlicht/lobby_aspect_ratio
[1.6.7] make lobby 4:3 aspect ratio & fixes
2025-02-26 17:20:53 +02:00
Ivan Savenko f4f89d1536 Invalidate pathfinder cache on dismissing a hero 2025-02-26 14:47:00 +00:00
Ivan Savenko 1e020a3b56 Merge pull request #5476 from IvanSavenko/hotfix
[1.6.7] Fixes for reported issues
2025-02-25 19:38:16 +02:00
Ivan Savenko 5a813feaa6 Merge pull request #5475 from IvanSavenko/lobby_fix_2
[1.6.7] Better fix for lobby room crash
2025-02-25 18:56:50 +02:00
Ivan Savenko b67096db82 Merge pull request #5477 from IvanSavenko/version_bump_167
Bump version to 1.6.7
2025-02-25 18:56:15 +02:00
Ivan Savenko e7fbe2d387 Fix build 2025-02-25 16:55:58 +00:00
Ivan Savenko d1b13a0fe4 Add check for mod compatibilty 2025-02-25 16:19:15 +00:00
Ivan Savenko 3d69a35dcb Bump version to 1.6.7 2025-02-25 15:34:22 +00:00
Ivan Savenko 420f358599 Avoid crash on having unsupported campaigns in map list 2025-02-25 15:29:09 +00:00
Ivan Savenko e4a719fb7e Fix corrupted pixels on town building animations in mods 2025-02-25 15:28:45 +00:00
Ivan Savenko e720d06e79 Add logging for failure to extract file from .zip, with check for Windows
260 path length limit
2025-02-25 15:28:07 +00:00
Ivan Savenko b372cc84e9 Avoid crash if object has same name as on provided in compatiblity
identifiers field
2025-02-25 15:26:16 +00:00
Ivan Savenko e2e83b392b Merge pull request #5467 from IvanSavenko/brotherhood_fix
[1.6.7] Fix Brotherhood displaying Thieves Guild UI on click instead of Tavern
2025-02-25 16:50:18 +02:00
Ivan Savenko b304788722 Merge pull request #5464 from Laserlicht/statistic_fixes
[1.6.7?] Statistic window fixes
2025-02-25 16:50:09 +02:00
Ivan Savenko d772521d59 Merge pull request #5460 from Laserlicht/setting
[1.6.7?] Add settings
2025-02-25 16:49:48 +02:00
Ivan Savenko 2a9cd0c0d6 Merge pull request #5470 from kambala-decapitator/fix-android-conan
[conan] fix building libiconv for Android
2025-02-25 16:49:39 +02:00
Ivan Savenko 42878af3a6 Better fix for lobby room crash
Always use TCP connection when connecting to self-hosted lobby room.
Effectively reverts 1.6.6 change for lobby connections. Single-player
connections still use intra-process pseudo connection

Main problem is various side effects caused by changing order of
operations. For example, client may inform lobby about joining the room
before server finishes startup, which was not possible before.
2025-02-25 14:05:56 +00:00
Ivan Savenko a6a929eb95 Revert "Fix crash on attempting to connect newly created lobby room"
This reverts commit f42d4dc758.
2025-02-25 14:01:49 +00:00
Ivan Savenko b6dd4460de Fix Brotherhood displaying Thieves Guild UI on click instead of Tavern 2025-02-23 14:46:04 +00:00
Ivan Savenko bc90f4f4aa Merge pull request #5461 from Laserlicht/touch_improve
[1.6.7?] Improve touch motion
2025-02-22 20:58:28 +02:00
Ivan Savenko 0d6f6a20f0 Merge pull request #5466 from IvanSavenko/sdl_crash_fix
[1.6.7] Possible fix for crash on attempt to free sdl surface in worked thread
2025-02-22 20:57:30 +02:00
Ivan Savenko ebb294e9dd Merge pull request #5465 from IvanSavenko/lobby_connect_fix
[1.6.7] Fix crash on attempting to connect newly created lobby room
2025-02-22 20:51:15 +02:00
Ivan Savenko 10871308cb Merge pull request #5459 from XCOM-HUB/patch-2
Update swedish.ts (beta)
2025-02-22 20:49:56 +02:00
Ivan Savenko 1bc7c13204 Possible fix for crash on attempt to free sdl surface in worked thread 2025-02-22 17:16:18 +00:00
Ivan Savenko f42d4dc758 Fix crash on attempting to connect newly created lobby room 2025-02-22 14:20:45 +00:00
Ivan Savenko 319d90cbb4 Merge pull request #5419 from IvanSavenko/game_engine
[1.7] Rename and reorganize global variables in client
2025-02-21 22:41:54 +02:00
Ivan Savenko cbcd48aabb Fix build 2025-02-21 18:51:27 +00:00