Commit Graph
100 Commits
Author SHA1 Message Date
Ivan Savenko d34b4a141e Split map object visit from town building visit. Removes side effects
from building visit
2024-09-04 14:54:09 +00:00
Ivan Savenko 81af66d35b Move visit query to a separate class, remove no longer needed Cast.h 2024-09-04 14:32:36 +00:00
Ivan Savenko 29f87d6407 pass object/hero parameters directly instead of passing query 2024-09-04 14:17:22 +00:00
Ivan Savenko 327ff01471 Implemented explicitly visitable town buildings, e.g. hota mana vortex
Added flag `manualHeroVisit` flag to town building. If this flag is set,
then building will only be activated on click and will not give its
effect on hero recrutiment, hero visit, or new day.

This allows implementing changes to Mana Vortex from HotA
2024-09-03 16:31:07 +00:00
Ivan Savenko ee64928454 Merge pull request #4448 from smanolloff/split-client+develop
Split vcmiclient in two
2024-09-02 15:34:05 +03:00
Ivan Savenko 39e5ba32f6 Merge pull request #4530 from IvanSavenko/town_fortifications
Support for configurable town fortifications
2024-08-31 13:59:40 +03:00
Ivan Savenko da1f39c6c4 Merge pull request #4541 from kdmcser/develop
update Chinese translation and regenerate translations
2024-08-31 13:53:44 +03:00
Ivan Savenko 71c7beb7a5 Merge pull request #4533 from IvanSavenko/town_growth
Change logic of neutral towns garrisons to match H3
2024-08-31 13:52:36 +03:00
Ivan Savenko 0a72a0a48e Merge pull request #4534 from SoundSSGood/BulkEraseArtifacts
BulkEraseArtifacts network pack
2024-08-31 13:52:26 +03:00
Ivan Savenko 8cfc1c4ee1 Merge pull request #4535 from IvanSavenko/savecompat_bump
Removed save compatibility with 1.4
2024-08-31 13:51:10 +03:00
Ivan Savenko 727cd2e9e1 Merge pull request #4539 from IvanSavenko/crashfix
Crashfixes
2024-08-30 17:19:24 +03:00
Ivan Savenko 7f926fc30e Merge pull request #4478 from Laserlicht/resource_generation
generate assets to file
2024-08-30 15:36:51 +03:00
Ivan Savenko 82afab584c Merge pull request #4526 from vcmi/docs-ios-manual-signing
[docs][iOS] add one more ipa signing option
2024-08-30 15:28:54 +03:00
Ivan Savenko c3e76f19e1 Add workaround for very common crash in BattleAI 2024-08-30 12:25:55 +00:00
Ivan Savenko 01697e4387 Fix player not being marked as defeated on losing all heroes and towns 2024-08-30 12:25:34 +00:00
Ivan Savenko 644d6f4529 Merge pull request #4507 from vcmi/fix-battle-ai
Battle AI: fix firewall, fix haste spellcast evaluation for waits and…
2024-08-30 14:36:05 +03:00
Ivan Savenko 07ce8ae1ab Merge pull request #4538 from kaja47/fix-crash-when-losing
fix crash when computer player loses
2024-08-30 14:16:33 +03:00
Ivan Savenko 82c37573fa Removed save compatibility with 1.4
All save compatibility checks targeting 1.4 saves have now been removed.
Saves from 1.5 can still be loaded in 1.6

Implemeted few TODO's in serialization that were postponed to avoid
breaking save compatibility in MP for 1.5.X releases.

Fixed missed case for loading black market object from 1.5 saves
2024-08-29 18:51:53 +00:00
Ivan Savenko 73459876bf Initial garrison of a town should now match H3 logic 2024-08-29 15:46:22 +00:00
Ivan Savenko 7064374d87 Fix visions not working for towns 2024-08-29 15:46:03 +00:00
Ivan Savenko b436290d16 Fix crash on right-clicking a neutral town 2024-08-29 15:45:46 +00:00
Ivan Savenko 21fc80a315 Growth of town garrison in neutral towns now uses H3 logic 2024-08-29 15:22:31 +00:00
Ivan Savenko 9a5bee1eaf Merge pull request #4532 from IvanSavenko/bugfixing
Fixes for recent regressions
2024-08-29 17:16:31 +03:00
Ivan Savenko d0b3bb95b2 Change gamestate initialization order - list of owned objects must be
initialized before connecting towns with visiting heroes, but after
generateion of starting heroes
2024-08-29 13:18:33 +00:00
Ivan Savenko 32ad9c1902 Change ordering of UI elements in main menu to fix hota 1.7 menu 2024-08-29 13:18:33 +00:00
Ivan Savenko 9a2d918360 Fixed mouse wheel in xbrz mode, use mouse position information if
provided by SDL
2024-08-29 13:18:30 +00:00
Ivan Savenko 36c1ed670f Support for configurable town fortifications
Removed most of hardcoded checks for fort level or for presence of fort/
citadel/castle buildings.

It is now possible to define which parts of town fortifications are
provided by town buildings

Configuration for H3-like fortifications is provided in
buildingsLibrary.json and will be used automatically by mods as long as
mods have buidings named "fort", "citadel" and "castle".

Alternatively, mods can separately define:
- hitpoints of walls (shared value for all sections)
- hitpoints of central, upper and lower towers (separate values)
- presence of moat
- shooters for each tower (separate values)
2024-08-28 19:42:14 +00:00
Ivan Savenko 247be94015 Merge pull request #4502 from IvanSavenko/town_building_config
Moddable town buildings improvements
2024-08-28 17:56:49 +03:00
Ivan Savenko 4c84379110 Open thieves guild if building provides corresponding bonus 2024-08-28 14:04:47 +00:00
Ivan Savenko 408a632002 Deprecate artifact-related building types 2024-08-28 13:50:08 +00:00
Ivan Savenko 55fd7bd7aa Thieves guild information level is now a bonus type 2024-08-28 13:50:07 +00:00
Ivan Savenko a1a194d904 Allow replacing war machine if hero has a different machine in the slot 2024-08-28 13:49:42 +00:00
Ivan Savenko 8ef8ffa5c4 Implemented configurable blacksmith. Deprecated ballistaYard type 2024-08-28 13:49:42 +00:00
Ivan Savenko 175f6716d2 Merge pull request #4518 from IvanSavenko/new_turn_refactor
Refactor new turn processing on server
2024-08-28 16:49:22 +03:00
Ivan Savenko 462aea7e9a Fix build 2024-08-28 13:12:11 +00:00
Ivan Savenko d4ba7e12b0 Fix regressions 2024-08-28 13:03:45 +00:00
Ivan Savenko e90d057296 Tweaks to fow reveal on new turn 2024-08-28 13:03:45 +00:00
Ivan Savenko e5f1d60298 Add save compatibility 2024-08-28 13:03:44 +00:00
Ivan Savenko 37658478fa Move timed events to NewTurnProcessor 2024-08-28 13:03:26 +00:00
Ivan Savenko ce1e0b8875 Moved NewTurn pack generation to NewTurnProcessor 2024-08-28 13:03:24 +00:00
Ivan Savenko 10a9d777c7 Moved mana and movement points refresh to NewTurnProcessor 2024-08-28 13:03:15 +00:00
Ivan Savenko c09c414f5a Moved roll for week type to NewTurnProcessor 2024-08-28 13:03:15 +00:00
Ivan Savenko 020f1d1f46 Moved rumors generation to NewTurnProcessor 2024-08-28 13:03:15 +00:00
Ivan Savenko 691a1a666d Moved most of town growth handling to NewTurnProcessor 2024-08-28 13:03:13 +00:00
Ivan Savenko d49a61645c All objects that can be owned by player now implement IOwnableObject 2024-08-28 12:51:28 +00:00
Ivan Savenko a481f07daf PlayerState now stores all objects owned by player 2024-08-28 12:51:27 +00:00
Ivan Savenko 0fd9dbf240 Unified income handling, added IOwnableObject interface 2024-08-28 12:40:44 +00:00
Ivan Savenko 189cb1c762 Moved most of daily income handling to a separate method 2024-08-28 12:40:44 +00:00
Ivan Savenko 58da447f43 Merge pull request #4523 from IvanSavenko/xbrz_fixes
Xbrz fixes
2024-08-28 15:39:45 +03:00
Ivan Savenko 8371232d29 Merge pull request #4504 from Laserlicht/hota_bonus
disintegrate bonus
2024-08-28 14:00:11 +03:00
Ivan Savenko 536134d396 Merge pull request #4522 from Laserlicht/fix_chart
avoid zero size Y axis
2024-08-28 13:59:30 +03:00
Ivan Savenko a2bac260e7 Fix images with custom scaling in xBRZ mode 2024-08-27 19:49:41 +00:00
Ivan Savenko 0bbc2bce33 Fix handling of transparency in xbrz and in images with non-cyan
transparent color in unscaled mode
2024-08-27 19:44:11 +00:00
Ivan Savenko d3ed18ae2a Merge pull request #4517 from rtissera/fix-debug-non-amd64-build
Fix debug non-amd64 builds with CMake
2024-08-27 20:13:25 +03:00
Ivan Savenko 5da00799c4 Merge pull request #4520 from IvanSavenko/market_fix
Remove marketModes as member
2024-08-27 17:59:47 +03:00
Ivan Savenko 20d5b33ea6 Remove marketModes as member
marketModes are now generated in runtime and are not a member of
IMarket. Was not a bad change, but towns load buildings before town type
is randomized, leading to case where market modes are not actually known
when building is added to town (like random towns with market built)

Since altar requires CArtifactSet for work, IMarket will now always
contain it, but it will only be accessible if market supports altar
mode.
2024-08-27 14:07:00 +00:00
Ivan Savenko 2ffce4a7c2 Merge pull request #4503 from IvanSavenko/simple_register_types
Simplify logic of types registration for serialization
2024-08-27 00:25:07 +03:00
Ivan Savenko f765f212bb Restore save compatibility 2024-08-26 20:52:37 +00:00
Ivan Savenko ac271c09b9 Add mechanism to provide save compatibility if class is removed or
addded
2024-08-26 20:06:36 +00:00
Ivan Savenko c64dcfaa0f Fix build 2024-08-26 20:06:36 +00:00
Ivan Savenko 77faa14119 Added explicit indexing of type indexes for serialization 2024-08-26 20:06:35 +00:00
Ivan Savenko 01396b62b7 Extracted handling of type ID's from serializer into a separate class 2024-08-26 19:48:46 +00:00
Ivan Savenko 232a759db7 Remove type registration from library pack applying 2024-08-26 19:48:46 +00:00
Ivan Savenko b84af1a6de Significantly simplify packs applying
Apparently our logic for packs applying with types registration is
overcomplicated and by now completely unnecessary - it became redundant
after introduction of visitor pattern.
2024-08-26 19:48:46 +00:00
Ivan Savenko 11e8b04ac5 Merge pull request #4463 from SoundSSGood/IMarket-refactoring
IMarket refactoring
2024-08-26 22:48:23 +03:00
Ivan Savenko 7b746bcaec Merge pull request #4496 from Laserlicht/statistic_improve
Statistics improve
2024-08-26 19:12:56 +03:00
Ivan Savenko 897bc65e64 Merge pull request #4508 from kaja47/dead-code-must-die
remove never used code in CBonusSystemNode
2024-08-26 19:11:03 +03:00
Ivan Savenko e65eaf0e06 Merge pull request #4506 from mikeiit/add_missisng_stack_artifact_description
Added missing stack artifact description
2024-08-26 19:10:48 +03:00
Ivan Savenko 3d39963a1c Merge branch 'master' into 'develop' 2024-08-26 14:01:00 +00:00
Ivan Savenko a3e33215e3 Merge pull request #4510 from vcmi/beta
Merge beta -> master
2024-08-26 00:27:47 +03:00
Ivan Savenko 6fbfcef99e Merge pull request #4509 from IvanSavenko/update_157
Cherry-pick spellcasting fix and bump release date
2024-08-25 23:10:43 +03:00
Ivan Savenko a7d4df9c33 Update release date to monday 2024-08-25 19:42:25 +00:00
Ivan Savenko a819c3fc29 Merge pull request #4482 from MichalZr6/mapeditor_fixes
Mapeditor refactor, fixes and additional validation checks
2024-08-24 16:18:53 +03:00
Ivan Savenko 6d8bc9b859 Merge pull request #4500 from MichalZr6/allow_dialogs_when_in_battle
Allow dialogs when in battle interface but not on the players turn
2024-08-24 16:18:20 +03:00
Ivan Savenko 51fafe66cb Merge pull request #4485 from kaja47/opto-isinthemap
Optimize CMap::isInTheMap
2024-08-24 16:06:44 +03:00
Ivan Savenko c22820f484 Merge pull request #4484 from Laserlicht/text_len
campaign text length
2024-08-24 16:06:31 +03:00
Ivan Savenko 3e605253db Merge pull request #4481 from Laserlicht/fix_hota
fix for 8th creature
2024-08-24 16:06:12 +03:00
Ivan Savenko 9a7a01186b Merge pull request #4477 from kdmcser/develop
update Chinese translation
2024-08-24 16:05:56 +03:00
Ivan Savenko f1be5b0e93 Merge pull request #4499 from vcmi/beta
Merge beta -> master
2024-08-23 18:33:01 +03:00
Ivan Savenko f2592c20db Merge pull request #4497 from IvanSavenko/beta_fix
Add missing changes from master branch to beta
2024-08-23 17:15:11 +03:00
Ivan Savenko 45558552d6 Merge 'vcmi/beta' into beta_fix 2024-08-23 13:18:09 +00:00
Ivan Savenko 457a1bc746 Merge pull request #4494 from IvanSavenko/android_buildid_hack
Android buildid increment hack
2024-08-22 23:48:33 +03:00
Ivan Savenko 9e3c149d6d Add hack to auto-increment build ID for x64 android build 2024-08-22 20:12:42 +00:00
Ivan Savenko fd73116a08 Merge pull request #4491 from IvanSavenko/fixes_157
[1.5.7] Minor fixes
2024-08-22 21:04:03 +03:00
Ivan Savenko 2dd752bbb8 Update changelog 2024-08-22 16:42:59 +00:00
Ivan Savenko b6cc409772 Fix excessive removal of dialogs, e.g. new week or timed events 2024-08-22 16:39:30 +00:00
Ivan Savenko d1aa55de91 Fix rewards not rerolling correctly on reset due to cached variables 2024-08-22 16:38:53 +00:00
Ivan Savenko 33a5e9e05f Merge pull request #4488 from IvanSavenko/release_157
Preparation for release 1.5.7
2024-08-22 17:39:52 +03:00
Ivan Savenko 427a583f1e Preparation for release 1.5.7 2024-08-22 13:27:25 +00:00
Ivan Savenko fb37b9e08b Merge pull request #4454 from IvanSavenko/hotfix
[1.5.X] Changes for a potential hotfix
2024-08-22 16:11:28 +03:00
Ivan Savenko 4386339354 Fix crash on rmg generation (regression from previous commit) 2024-08-21 18:19:58 +00:00
Ivan Savenko 475a20124f Fix crash on right-clicking spell component in some dialogs 2024-08-21 18:19:31 +00:00
Ivan Savenko ff33fbd3a0 Merge pull request #4480 from IvanSavenko/update_prebuilts
Update ffmpeg
2024-08-21 15:57:50 +03:00
Ivan Savenko 2a84627fd2 Merge pull request #4444 from Laserlicht/extended_statistic
Statistics
2024-08-21 15:18:17 +03:00
Ivan Savenko 4ac1b1169a Update developers documentation to point to new prebuilts location 2024-08-21 12:14:08 +00:00
Ivan Savenko e70ab86995 Use .txz archive for dependencies 2024-08-20 20:42:11 +00:00
Ivan Savenko f4547a9434 Add documentation regarding supported by vcmi formats 2024-08-20 19:23:55 +00:00
Ivan Savenko efcf1e1ba9 Add .ogv (HD Edition) as recognized extension for video 2024-08-20 19:23:55 +00:00
Ivan Savenko 1ac63056dc Unify code for conan dependencies installation 2024-08-20 19:23:55 +00:00
Ivan Savenko 50a4e3213d Fix ffmpeg deprecation 2024-08-20 19:23:55 +00:00