1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-01-12 02:28:11 +02:00
Commit Graph

7099 Commits

Author SHA1 Message Date
Laserlicht
0e500efe5a extract lod 2024-08-31 00:44:20 +02: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
01697e4387 Fix player not being marked as defeated on losing all heroes and towns 2024-08-30 12:25:34 +00: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
Laserlicht
f327224d45 remove original resource functionality 2024-08-28 23:44:31 +02: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
8ef8ffa5c4 Implemented configurable blacksmith. Deprecated ballistaYard type 2024-08-28 13:49:42 +00: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
e5f1d60298 Add save compatibility 2024-08-28 13:03:44 +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
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
8371232d29
Merge pull request #4504 from Laserlicht/hota_bonus
disintegrate bonus
2024-08-28 14:00:11 +03:00
Laserlicht
70190ea1fe
Merge branch 'develop' into resource_generation 2024-08-28 00:03:46 +02: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
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
11e8b04ac5
Merge pull request #4463 from SoundSSGood/IMarket-refactoring
IMarket refactoring
2024-08-26 22:48:23 +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
3d39963a1c Merge branch 'master' into 'develop' 2024-08-26 14:01:00 +00:00
K
462c79e190 remove never used code in CBonusSystemNode
Method CBonusSystemNode::getAllBonuses have 'root' parameter which is never
set to anythig else than nullptr. This patch removes the parameter and all
code that depends on it as preparatory work for further bonus system
optimization.
2024-08-25 14:15:21 +02: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
51fafe66cb
Merge pull request #4485 from kaja47/opto-isinthemap
Optimize CMap::isInTheMap
2024-08-24 16:06:44 +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
SoundSSGood
4035ab1550 added CMarketWindow::getMarketTitle() 2024-08-24 13:52:54 +03:00
SoundSSGood
0c5022cae8 Loading market modes from json 2024-08-24 11:51:57 +03:00
Laserlicht
9c4d4e89d6 disintegrate 2024-08-24 00:29:36 +02:00
MichalZr6
0d5a9b8e3b Refactor for previous fix in CSpellHandler 2024-08-23 09:43:41 +02:00
MichalZr6
a82ce2f96a Fix negative QColor values 2024-08-23 09:43:40 +02:00
MichalZr6
568a792f88 Refactor containers names in CObjectClassesHandler 2024-08-23 09:43:40 +02:00
Ivan Savenko
d1aa55de91 Fix rewards not rerolling correctly on reset due to cached variables 2024-08-22 16:38:53 +00:00
K
18a69dfeb5 move CMap::isInTheMap to the header file and make it inline 2024-08-22 14:27:01 +02:00
K
3a27725fcb Optimize CMap::isInTheMap
replace x >= 0 && x < size by (unsigned)x < size

By converting signed coordinate to unsigned number, negative values became
very large positive ones, larger than every positive signed number and
therefore also bigger than the map size. As a result check against size
also implicitly checks if coordinate is negative.

Compiler cannot do this transformation automatically because it doesn't
know that map dimensions are always positive.

The change shrinks isInTheMap from 19 instructions to 11 on x86.
2024-08-22 11:39:24 +02:00
Laserlicht
c2290f5f6e fix 2024-08-21 23:01:32 +02:00
Andrii Danylchenko
ff8a745a50 BattleAI: optional simulation depth 2024-08-21 23:27:42 +03:00
Laserlicht
02002ce69d
Merge branch 'develop' into resource_generation 2024-08-21 21:52:08 +02:00
Laserlicht
43fc741a15 cleaner 2024-08-21 21:24:06 +02:00
Andrii Danylchenko
8cdfa26fb5 BattleAI: fix bait for archers when need to go long way 2024-08-21 22:18:40 +03:00