Ivan Savenko
bd5682ecc3
Merge remote-tracking branch 'vcmi/master' into develop
2024-01-19 13:49:54 +02:00
Alexander Wilms
f08c6d1ce9
Fix issues created by type replacement script
2024-01-17 14:33:02 +00:00
Alexander Wilms
73019c204d
Replace redundant types with auto
for the lvalues of template factory functions for smart pointers
...
grep -r --include \*.h --include \*.cpp "= std::" * | grep -v auto | grep -Po ".*[^ ]+ [^ ]+ [^ ]*[ ]*=.*;" | grep -v "auto\|int\|char\|bool\|float|\double\|for\|if\|googletest\|fuzzylite\|size_t\|using\|return" | grep -v double | grep -v si64 | grep -v si32 | grep -v ui32 | grep \< | grep -v float | tr -d '\t' | grep -v assert > redundant_types.txt
import re
with open("redundant_types.txt") as f:
for line in f:
line = line.strip()
path = line.split(":", 1)[0]
original_code = ":".join(line.split(":")[1:]).strip()
print()
print(path)
print(original_code)
prefix = "auto "
if original_code.startswith("static"):
static = True
else:
static = False
cpp_type = " ".join(original_code.split("=")[0].strip().split(" ")[0:-1])
print(cpp_type)
if static:
new_code = "static auto "+ " ".join(original_code.split(" ")[2:])
else:
new_code = "auto "+ " ".join(original_code.split(" ")[1:])
print(new_code)
if True:
with open(path, "r") as f:
filedata = f.read()
filedata = filedata.replace(original_code, new_code)
with open(path, "w") as f:
f.write(filedata)
2024-01-17 12:50:00 +00:00
Ivan Savenko
c21913f661
Fixed initialization of move points and mana for dismissed heroes
2024-01-15 23:16:48 +02:00
Ivan Savenko
2265890f69
Better detection of invalid mod data to avoid crash and notify modders
2024-01-15 18:19:21 +02:00
Ivan Savenko
cf47fbb729
Merge pull request #3435 from IvanSavenko/bugfixing
...
[1.4.3] Bugfixing
2024-01-06 13:06:07 +02:00
Ivan Savenko
51b7de4b98
Fix double off-by-one bug with CREATURE_GROWTH bonus
2024-01-05 16:57:44 +02:00
Ivan Savenko
edb2ecd751
Fix possible overflow errors on leveling up beyond int64_t limit
...
- added separate giveExperience method instead of weird changePrimSkill
- experience is now always used in form of int64_t
- max supported level reduced from 201 to 197 to fit into int64_t
- fixed undefined behavior in experience calculation
2024-01-04 23:57:36 +02:00
Joakim Thorén
01f602ab92
Fixes warning about usage of unused variable
2023-12-27 22:25:29 +01:00
Ivan Savenko
4835a1f695
Fix possible crash on abandoned mine with no valid resources
2023-12-24 22:05:47 +02:00
Ivan Savenko
ec5fcb3e7c
Do not ignore 'canRefuse' flag for select mode 'first' and 'random'
2023-12-23 00:35:51 +02:00
Dydzio
39c3db04f3
Add missing antimagic functionality to antimagic garrisons
2023-12-21 18:09:33 +01:00
Ivan Savenko
acc09ee51a
Merge pull request #3266 from Laserlicht/puzzle_cheat
...
implement missing OH3/HDmod cheats
2023-12-17 22:16:22 +02:00
Ivan Savenko
d187309eed
Fixed typo - different type was used to select ID and subID
2023-12-16 13:46:29 +02:00
Ivan Savenko
664da58d4f
Use MetaString in place of boost::format to avoid exceptions
2023-12-13 17:23:40 +02:00
Ivan Savenko
9385ae76c2
Fix reading of dimensions of h3 map objects
2023-12-11 21:15:46 +02:00
Ivan Savenko
543ee597b8
Fix localization-related error messages
2023-12-11 18:23:52 +02:00
Ivan Savenko
933598dd91
Merge pull request #3273 from vcmi/fix_passable_hero
...
Fix passable hero
2023-12-10 22:45:33 +02:00
Ivan Savenko
7187ba2d79
Fix crash on visiting Seer Hut with no reward
2023-12-10 19:48:44 +02:00
Ivan Savenko
999db2ed78
Avoid boost::format that throws exception on invalid format string
2023-12-10 16:37:58 +02:00
Ivan Savenko
2de7a3939a
Fix text identifier for generic signs without custom text
2023-12-09 18:09:57 +02:00
Tomasz Zieliński
134f78113e
Remove unneccessary code
2023-12-09 15:20:11 +01:00
Tomasz Zieliński
cef25cca03
Fix for starting hero being passable
2023-12-09 14:59:09 +01:00
Laserlicht
a24e78a210
real unlimited movement (like in OH3)
2023-12-09 13:42:09 +01:00
Ivan Savenko
c9de10ea74
Merge pull request #3259 from vcmi/fix_corpse
...
Fix corpse
2023-12-07 23:55:07 +02:00
Tomasz Zieliński
6cd19b81dd
Working fir for Corpse issue:
...
- Do not place guard next to blockVis object, if possible
- Do not place two blockVis objects next to each other
2023-12-06 20:49:28 +01:00
Ivan Savenko
be9c7f2099
Merge pull request #3239 from IvanSavenko/pathfinder_fixes
...
Pathfinder fixes
2023-12-02 12:20:44 +02:00
Ivan Savenko
37d81e916e
Fix creature appearance on hota maps
2023-11-28 19:31:38 +02:00
Ivan Savenko
9277761da5
Do not allow building boat if there is already boat with hero in it
2023-11-28 15:49:03 +02:00
Ivan Savenko
2c8d0338ba
Fix error messages in log on map start
2023-11-27 14:08:49 +02:00
Ivan Savenko
6730ec64d5
Fix loading of preset artifacts and creatures on some custom maps
2023-11-26 00:41:49 +02:00
Ivan Savenko
3f60c1b0b3
Remove excessive logging
2023-11-26 00:41:15 +02:00
Ivan Savenko
364977ef40
More meaningful exception messages
2023-11-22 19:11:40 +02:00
Ivan Savenko
f643fff5eb
Merge pull request #3214 from IvanSavenko/bugfixing2
...
Bugfixing
2023-11-21 22:51:31 +02:00
Ivan Savenko
d3d5b67b22
Merge pull request #3207 from IvanSavenko/skill_selection_fix
...
Reworked and fixed selection of secondary skills on levelup
2023-11-21 21:35:06 +02:00
Ivan Savenko
d58ea6f28d
Fix keymaster visitation status tracking
2023-11-21 16:38:09 +02:00
Ivan Savenko
71825fcc4e
Fix crash on artifact movement
2023-11-20 19:56:55 +02:00
Ivan Savenko
e9ac8c67c1
Reworked and fixed selection of secondary skills:
...
- Fixed off-by-one error when checking for obligatory skills
- If both wisdom and magic school must be offered in the same slot, magic
school will be correctly offered on next levelup
- Obligatory skill can now be proposed for upgrade
- Obligatory skills are now offered using hero class weight instead of
simple random
- If hero has multiple skills not available to his class game will
select random skill instead of first one
- Moved storage of random seed to server instead of mutable member
2023-11-20 18:46:24 +02:00
Ivan Savenko
c872f8418f
Implemented serialization of MapObjectSubID, refactoring of related code
2023-11-17 21:18:34 +02:00
Ivan Savenko
9f906ff1d2
Remove pointer to CGObjectInstance from map header
2023-11-17 16:39:15 +02:00
Ivan Savenko
d71b0b6952
Merge pull request #3179 from vcmi/fix-3173
...
#3173 - fix trap crash on random hero
2023-11-16 17:27:13 +02:00
Ivan Savenko
76956cfe3a
Merge pull request #3188 from IvanSavenko/remove_identifier_implicit_int_conversion2
...
Remove implicit conversion of identifier to integer
2023-11-16 17:26:32 +02:00
Ivan Savenko
59b2cbe4d2
Fix regressions
2023-11-15 15:57:03 +02:00
Ivan Savenko
6cb1f6ff11
Remove all remaining implicit conversion in lib
2023-11-15 15:55:19 +02:00
Ivan Savenko
96c81be68e
Win/loss conditions now use VariantIdentifier. Removed non-implemented
...
options
2023-11-15 15:55:19 +02:00
Ivan Savenko
13763cad8e
Remove few more implicit conversions
2023-11-15 15:55:19 +02:00
Ivan Savenko
34338f4eaa
Remove few more implicit conversions
2023-11-15 15:55:19 +02:00
Ivan Savenko
abad4b01ce
Remove explicit convesion to int in operators
2023-11-15 15:55:19 +02:00
Ivan Savenko
10e110320b
Remove std::vector<boo> from Json Serializer, simplify affected code
2023-11-15 15:55:18 +02:00
Ivan Savenko
0842f5afee
Removed remaining usages of std::vector<bool>
2023-11-15 15:55:18 +02:00
Ivan Savenko
301ac2457a
Cleanup
2023-11-13 17:48:55 +02:00
Ivan Savenko
20ef3a69e7
Fix most of memleaks discovered by valgrind
2023-11-13 16:27:15 +02:00
Ivan Savenko
1192dbff15
Merge pull request #3180 from IvanSavenko/bugfixing
...
Fixes for miscellaneous accumulated issues
2023-11-13 16:26:33 +02:00
Ivan Savenko
c6f9434c8e
Merge pull request #3170 from gamestales/gamestales/2903-morale-description-1442
...
#2903-morale-description-#1442
2023-11-13 01:53:29 +02:00
Ivan Savenko
9c9127be7d
Fix tooltip for spell scrolls on adventure map
2023-11-13 00:08:14 +02:00
Ivan Savenko
bc51d9c772
Merge pull request #3161 from SoundSSGood/art-swap-optimization
...
Artifacts swap optimization
2023-11-12 19:37:25 +02:00
Ivan Savenko
1d430d0328
Fix initialization order of Seer Huts and Creatures - Seer Hut might be
...
initialized before creature that its quest is linked to
2023-11-12 19:18:00 +02:00
Ivan Savenko
071fb97b33
Fix tooltip of visited banks after leaving some troops for banks with
...
creatures as reward
2023-11-12 17:50:52 +02:00
Ivan Savenko
7b92e23f3f
Fix crash on right-clicking some visited configurable objects
2023-11-12 16:55:42 +02:00
Andrii Danylchenko
142d0083d5
#3173 - fix trap crash on random hero
2023-11-12 16:14:06 +02:00
gamestales-com
a574f18e69
#2903-morale-description-#1442
2023-11-10 15:58:19 +01:00
SoundSSGood
57e3abc548
ask assemble regression fixed
2023-11-08 21:59:55 +02:00
Ivan Savenko
ed66fc2fb3
Minor optimization of map startup time
2023-11-08 21:27:05 +02:00
Ivan Savenko
0691dfef3b
Moved stateful artifact randomization logic to gamestate from handler
2023-11-08 21:27:05 +02:00
Ivan Savenko
2cc8b5baeb
Fix map startup
2023-11-08 21:27:05 +02:00
Ivan Savenko
54103813dd
Remove no longer used serialization methods
2023-11-08 21:27:05 +02:00
Ivan Savenko
6b81012f31
Use variant identifier in netpacks where applicable
2023-11-08 14:00:23 +02:00
Ivan Savenko
0acf8890ef
Merge pull request #3143 from IvanSavenko/metastring_refactor
...
Metastring refactor
2023-11-07 23:36:20 +02:00
Ivan Savenko
2835044282
Merge pull request #3159 from IvanSavenko/beta
...
Merge beta -> develop (rebased)
2023-11-07 22:49:29 +02:00
Ivan Savenko
86a3806bec
MetaString refactor to eliminate integer usage for identifiers
...
- entity names are now stored and serialized as text ID's
- added helper methods for convenience to get entities names to
metastring
2023-11-07 22:47:10 +02:00
nordsoft
870aeddad5
Serialize owner for abandoned mine
2023-11-07 20:11:24 +02:00
Ivan Savenko
2f3d14da5c
Show quest description only after visit
2023-11-06 20:37:17 +02:00
Ivan Savenko
d7d8177390
Show artifact description and icon on right click if UI tweaks are on
2023-11-06 20:37:17 +02:00
Ivan Savenko
c1c2119f3d
Show Seer Hut quest icon on right click. Fix broken tooltip.
2023-11-06 20:37:07 +02:00
Ivan Savenko
1ebb151b41
Show available creatures in owned dwellings on right-click
2023-11-06 20:37:07 +02:00
Ivan Savenko
f039b20653
Improvement for wandering monster tooltip/hover text:
...
- show Visions information only on right-click (H3 logic)
- show threat level only on right-click and only if UI tweaks are on
2023-11-06 20:37:07 +02:00
Andrii Danylchenko
0927d3e3e8
Merge pull request #3145 from vcmi/fix-3142
...
#3142 - fi custom campaign selection screen
2023-11-05 11:12:58 +02:00
Ivan Savenko
5487f07d3b
added toEntity overload that accepts generic Services class
2023-11-04 17:04:53 +02:00
Andrii Danylchenko
d50ebd7d58
#3142 - fi custom campaign selection screen
2023-11-04 14:34:18 +02:00
Ivan Savenko
184f5a72cc
Use toEntity/toXXX methods in Identifier instead VLC objects access
2023-11-03 16:03:29 +02:00
Ivan Savenko
8d5fa41a19
Minor fixes
2023-11-03 16:03:29 +02:00
Ivan Savenko
3634fb2158
Remove int <=> Identifier comparisons
2023-11-03 16:03:29 +02:00
Ivan Savenko
885dce0c27
Replace static_cast's of Identifiers with getNum call
2023-11-03 16:03:29 +02:00
Ivan Savenko
8f25f1fd4b
Serialize identifiers without implicit conversion to int
2023-11-03 16:03:29 +02:00
Ivan Savenko
2b9c362d5b
Explicitly convert identifier to underlying enumeration
2023-11-03 16:03:29 +02:00
Ivan Savenko
056ef00f74
Bugfixing
2023-11-02 13:52:58 +02:00
Ivan Savenko
10e50548e7
Converted Component class to use VariantIdentifier instead of int
2023-11-02 12:00:04 +02:00
Ivan Savenko
b42f073f0c
Stabilization
2023-11-01 18:26:57 +02:00
Ivan Savenko
8346d71c98
Remove more subID access
2023-11-01 14:44:05 +02:00
Ivan Savenko
5cdbf408c7
Slightly simplified heroes initialization
2023-11-01 14:43:20 +02:00
Ivan Savenko
461c481ef3
Fix game startup
2023-11-01 14:43:20 +02:00
Ivan Savenko
7a09646009
Cleaned up dwelling randomization
2023-11-01 14:43:20 +02:00
Ivan Savenko
dcb8f4fc7b
Moved object type randomization to object class
2023-11-01 14:43:20 +02:00
Ivan Savenko
03e1169781
Reduced number of accesses to CGObjectInstance::subID
2023-11-01 14:43:20 +02:00
Ivan Savenko
7107b3202f
Merge pull request #3069 from SoundSSGood/artifact-location-id
...
ArtifactLocation now use ID for artHolder identification
2023-11-01 14:41:36 +02:00
Tomasz Zieliński
5e36ef92c7
Support for "selectAll" reward
2023-10-31 18:21:50 +01:00
Ivan Savenko
29a78c14a2
Merge pull request #3113 from Alexander-Wilms/develop
...
Fix small issues
2023-10-30 11:02:28 +02:00
Andrii Danylchenko
1418e6884e
Merge pull request #2847 from vcmi/trap-1912
...
#1912 trap, exception on adding duplicating hero
2023-10-29 19:24:47 +02:00
SoundSSGood
ab2f6abb87
ArtifactLocation now use ID for artHolder identification part2
2023-10-29 17:46:13 +02:00
Ivan Savenko
207968ced3
Merge pull request #3116 from IvanSavenko/bonus_fixes
...
Bonuses fixes
2023-10-29 16:32:48 +02:00