Ivan Savenko
789c96d9b0
Fixed binding lambda to a reference to a temporary on stack
2024-01-19 16:17:59 +02:00
Ivan Savenko
e50f586d8b
Stabilization
2024-01-19 14:21:13 +02:00
Ivan Savenko
60ffb81b33
Replaced remaining placeholder code with callbacks
2024-01-19 13:55:22 +02:00
Ivan Savenko
e67e4430ba
Removed most of non-const static fields in lib. Reduced header includes.
2024-01-19 13:55:22 +02:00
Ivan Savenko
a15366f5a5
Make IObjectInterface::cb non-static
2024-01-19 13:55:21 +02:00
Ivan Savenko
d5c4478816
Remove most of non-const access to VLC entities
2024-01-19 13:54:49 +02:00
Ivan Savenko
bd5682ecc3
Merge remote-tracking branch 'vcmi/master' into develop
2024-01-19 13:49:54 +02:00
Ivan Savenko
b698b6e79d
Merge pull request #3512 from Alexander-Wilms/use-auto-with-template-factory-functions-for-smart-pointers
...
Use auto with template factory functions for smart pointers
2024-01-18 16:05:05 +02:00
Ivan Savenko
9025744cc5
Merge pull request #3510 from Alexander-Wilms/remove-semicolons-from-macros
...
Remove trailing semicolons from more macros
2024-01-18 16:03:55 +02: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
DjWarmonger
4f28cd42b7
Update lib/rmg/modificators/PrisonHeroPlacer.h
...
Co-authored-by: Alexander Wilms <Alexander-Wilms@users.noreply.github.com>
2024-01-17 10:11:55 +01:00
DjWarmonger
91a20c2bfd
Update lib/rmg/CMapGenerator.h
...
Co-authored-by: Alexander Wilms <Alexander-Wilms@users.noreply.github.com>
2024-01-17 10:11:50 +01:00
Tomasz Zieliński
66efb07e52
More
2024-01-17 07:45:53 +01:00
Tomasz Zieliński
a568a9b3fb
Fix lambda capture
2024-01-17 07:26:51 +01:00
Tomasz Zieliński
253f1dc7e6
Refactor duplicated code as suggested by SonarCloud
2024-01-17 07:18:14 +01:00
Alexander Wilms
ccac73fb69
Remove trailing semicolons from more macros
2024-01-16 19:46:21 +00:00
Alexander Wilms
cca08e29da
Remove duplicate semicolons
2024-01-16 19:02:39 +00:00
Tomasz Zieliński
afc9bd908c
Unused capture
2024-01-16 17:38:36 +01:00
Tomasz Zieliński
aa5bb27d20
Style
2024-01-16 17:16:15 +01:00
Tomasz Zieliński
71844d4d92
Unban artifacts if RMG fails to place Seer Hut (unlikely)
2024-01-16 17:15:35 +01:00
Tomasz Zieliński
0273d9c36b
Remove unused variable
2024-01-15 07:59:50 +01:00
Tomasz Zieliński
285bafdbf4
Do not ban heroes in Prisons, they might be rehired after they are defeated.
...
Restore hero to pool if Prison fails to be placed.
2024-01-15 07:41:29 +01:00
Tomasz Zieliński
ee6c331bad
Merge remote-tracking branch 'origin/beta' into random_prison_distributor
2024-01-14 21:56:49 +01:00
Ivan Savenko
fd499e318d
Review suggestion
2024-01-14 15:36:29 +02:00
Tomasz Zieliński
3e623565a2
Fix redundant class
2024-01-13 21:39:17 +01:00
Ivan Savenko
ca2df49fbb
Block usage of preselected starting heroes for prisons in RMG
2024-01-13 14:08:36 +02:00
Alexander Wilms
f3277b7953
Define each identifier in a dedicated statement
2024-01-10 00:22:23 +00:00
Tomasz Zieliński
ebf2055afc
- Unban hero if related Prison is destroyed during map generation
...
- Move prison counter to PrisonHeroPlacer
2023-12-24 09:36:26 +01:00
Tomasz Zieliński
b0f0e9caa8
Merge remote-tracking branch 'origin/beta' into random_prison_distributor
2023-12-24 06:46:18 +01:00
Ivan Savenko
20ede710c2
Merge pull request #3362 from IvanSavenko/terrain_decorations
...
Terrain decorations level
2023-12-22 23:39:32 +02:00
Ivan Savenko
bbbf676d38
spaces -> tabs
2023-12-22 23:22:33 +02:00
Ivan Savenko
8916ae7bcd
Fix water generation, try to improve decoration level a bit
2023-12-22 18:35:38 +02:00
Ivan Savenko
19e851ddff
Implemented configurable level of decorations for terrains
2023-12-22 17:41:30 +02:00
Tomasz Zieliński
f9e5d73014
Missed optimization case
2023-12-21 17:56:21 +01:00
Tomasz Zieliński
d6336d7c45
Reverted change that seems to cause regression
2023-12-21 17:55:08 +01:00
Tomasz Zieliński
d4216a9191
Fixed routing roads behind Sub Gates, Monoliths and Mines
2023-12-21 13:22:23 +01:00
Tomasz Zieliński
d5f9de5beb
Definitive solution for Corpse
2023-12-21 12:29:45 +01:00
Tomasz Zieliński
e22f6dd07e
Fix for choosing most specific templates. Also seems to fix the Prisons.
2023-12-21 09:58:39 +01:00
Tomasz Zieliński
ad82eff225
Final and perfect treasue nd obstacle density
2023-12-19 09:24:43 +01:00
Tomasz Zieliński
916aedb13c
Obvious fix
2023-12-19 09:24:01 +01:00
Tomasz Zieliński
bbb3e701ab
Reverted incorrect logic. Likely the fix for hota Prison.
2023-12-18 17:18:13 +01:00
Tomasz Zieliński
9b12f54972
Compile fix
2023-12-18 14:49:05 +01:00
Tomasz Zieliński
7f7df93e12
Style fix
2023-12-18 14:25:07 +01:00
Tomasz Zieliński
c701d42781
Multiple optimizations to avoid copying and allocating tiles for rmg::Area
2023-12-18 13:52:03 +01:00
Tomasz Zieliński
985a2682ae
Place Monoliths at max distance in Junction zone
2023-12-18 11:12:52 +01:00
Tomasz Zieliński
bd5361a108
Possible fix to https://github.com/vcmi/vcmi/issues/3334
2023-12-18 10:55:40 +01:00
Tomasz Zieliński
24f74875ef
Do not fractalize tiles near the edge of the map to avoid paths adjacent to map edge
2023-12-18 08:14:48 +01:00
Tomasz Zieliński
339627731c
Fixes
2023-12-15 18:26:59 +01:00
Tomasz Zieliński
99870be24c
Tiny optimizations to avoid copies
2023-12-13 22:20:23 +01:00
Tomasz Zieliński
d31789e745
Extra cache for search area
2023-12-13 22:13:42 +01:00
Tomasz Zieliński
bfea30e318
Optimization tweaks
2023-12-13 22:12:16 +01:00
Tomasz Zieliński
8602a14e6f
Minor optimizations
2023-12-13 22:10:39 +01:00
Tomasz Zieliński
2d3b8ee866
Increased amount of generated treasure piles without increasing density
2023-12-12 12:50:27 +01:00
Tomasz Zieliński
e5f60f063c
- Check full object area for minimum distance requirement
...
- Add option to optimize both for max distance and custom weight
2023-12-12 07:40:54 +01:00
Tomasz Zieliński
109139c913
Build fix
2023-12-11 08:27:57 +01:00
Tomasz Zieliński
8a93b1083f
Merge remote-tracking branch 'origin/beta' into random_prison_distributor
2023-12-11 07:49:43 +01:00
Tomasz Zieliński
8fe6a103cd
- Move Hero / Prison distribution to separate modificator
...
- Protect rolling and banning hero with mutex
2023-12-11 07:37:23 +01:00
Ivan Savenko
6fe8ed7a03
Merge pull request #3127 from vcmi/fix_random_object_templates
...
Use the object templates with least terrains allowed
2023-12-10 23:11:20 +02:00
Tomasz Zieliński
d0e100c1bb
Fix unused variable
2023-12-10 09:50:25 +01:00
Tomasz Zieliński
91ebac3c2e
Fix incorrect check
2023-12-10 09:46:20 +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
c316087950
Distribute objects among zones in random order
2023-12-07 17:41:41 +01:00
Tomasz Zieliński
7fa01a3497
Fix for randomly banning or exceeding limits of zone objects
2023-12-07 17:41:09 +01:00
Tomasz Zieliński
f17d8babc5
Do not route road through the Corpse
2023-12-07 12:57:39 +01:00
Tomasz Zieliński
5ad682048f
Fix
2023-12-06 21:47:20 +01:00
Tomasz Zieliński
69ff1734b0
Use reference
2023-12-06 21:05:27 +01: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
Tomasz Zieliński
03fa75c51e
Some refactoring, commiting current state after tests
2023-12-06 09:49:41 +01:00
Ivan Savenko
0d6bd0c60a
Fix assertion failure in RMG
2023-11-28 16:37:21 +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
0842f5afee
Removed remaining usages of std::vector<bool>
2023-11-15 15:55:18 +02:00
DjWarmonger
ad9acd4b5e
Merge pull request #3131 from vcmi/improve_subterranean_gates
...
More tolerance for Subterranean Gates placement
2023-11-15 09:23:21 +01:00
Tomasz Zieliński
01f70475ad
Missing change
2023-11-07 20:58:22 +01:00
Tomasz Zieliński
c909bd766e
Merge remote-tracking branch 'origin/develop' into fix_rmg_teams
...
# Conflicts:
# lib/rmg/CMapGenOptions.cpp
# lib/rmg/CMapGenOptions.h
2023-11-07 20:54:04 +01:00
Ivan Savenko
2bf599bbee
Merge pull request #3119 from Nordsoft91/rmg-fix
...
Fix crash caused by duplicated delete
2023-11-05 17:09:52 +02:00
Ivan Savenko
04aeea9b68
use toEnum instead of getNum for switch'es
2023-11-03 19:20:25 +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
2b9c362d5b
Explicitly convert identifier to underlying enumeration
2023-11-03 16:03:29 +02:00
Ivan Savenko
8346d71c98
Remove more subID access
2023-11-01 14:44:05 +02:00
Ivan Savenko
03e1169781
Reduced number of accesses to CGObjectInstance::subID
2023-11-01 14:43:20 +02:00
Tomasz Zieliński
29f023eaa5
More tolerance for Subterranean Gates placement
2023-10-31 16:04:21 +01:00
Tomasz Zieliński
6625831cf6
Use the object templates with least terrains allowed.
2023-10-31 09:07:53 +01:00
Tomasz Zieliński
6e7b68d0e6
Unused variable, unused code
2023-10-30 21:33:49 +01:00
Tomasz Zieliński
80198f21d8
Revert "Fix unused variable"
...
This reverts commit c753a1fdf7
.
2023-10-30 21:07:50 +01:00
Tomasz Zieliński
3b7b21bcc8
Fix unused variable
2023-10-30 21:07:14 +01:00
Tomasz Zieliński
c753a1fdf7
Fix unused variable
2023-10-30 20:59:13 +01:00
Tomasz Zieliński
e105b23a37
Merge remote-tracking branch 'origin/develop' into fix_rmg_teams
...
# Conflicts:
# Mods/vcmi/config/vcmi/rmg/heroes3/newcomers.JSON
# Mods/vcmi/config/vcmi/rmg/heroes3/southOfHell.JSON
# Mods/vcmi/config/vcmi/rmg/symmetric/2sm0k.JSON
# Mods/vcmi/config/vcmi/rmg/symmetric/2sm2i(2).JSON
# Mods/vcmi/config/vcmi/rmg/symmetric/3sb0b.JSON
# Mods/vcmi/config/vcmi/rmg/symmetric/3sb0c.JSON
# Mods/vcmi/config/vcmi/rmg/symmetric/5sb0a.JSON
# Mods/vcmi/config/vcmi/rmg/symmetric/5sb0b.JSON
# Mods/vcmi/config/vcmi/rmg/symmetric/7sb0b.JSON
# Mods/vcmi/config/vcmi/rmg/symmetric/7sb0c.JSON
# client/lobby/RandomMapTab.cpp
2023-10-30 20:08:13 +01:00
Tomasz Zieliński
5962e5c0e0
Fix infinite loop
2023-10-30 19:47:59 +01:00
Tomasz Zieliński
ec0bf05163
Rename "cpu" parameter to correct "humans"
2023-10-30 17:21:03 +01:00
Tomasz Zieliński
f39edf9413
Update ally and enemy flags when selecting new template
2023-10-30 07:48:51 +01:00
Tomasz Zieliński
4f2cde018c
Fixed most of reported issues, removed unused code.
2023-10-29 21:25:39 +01:00
Tomasz Zieliński
368a185008
Cleaning up the code
2023-10-29 10:05:24 +01:00
nordsoft
35e7fbb366
Fix crash cause by duplicated delete
2023-10-28 22:22:30 +02:00
Tomasz Zieliński
07dac8b6d4
Works more or less
2023-10-28 20:30:38 +02:00
Alexander Wilms
2b21001743
lib/rmg/RoadPlacer.cpp: Remove "e" from this "throw" statement to rethrow the original exception.
...
The original exception object should be rethrown
2023-10-27 14:35:03 +00:00
Tomasz Zieliński
36911d1e0a
Merge remote-tracking branch 'origin/develop' into fix_rmg_teams
...
# Conflicts:
# client/lobby/RandomMapTab.cpp
2023-10-26 10:31:41 +02:00
nordsoft
5b10b457cf
Fix code review suggestions
2023-10-11 00:47:19 +02:00
nordsoft
bb238f9b72
New quests work
2023-10-10 23:44:29 +02:00
nordsoft
1460541ee5
New limiter based quests
2023-10-10 23:44:29 +02:00
Nordsoft91
80be1e9f4c
Merge pull request #2981 from Nordsoft91/rmg-template
...
Select random object template instead of first
2023-10-02 20:42:39 +02:00
nordsoft
3ea7988883
Treasure placement uses random templates now
2023-09-30 23:06:38 +02:00
nordsoft
ce62ab3e66
Select random object template instead of first
2023-09-30 01:19:18 +02:00
nordsoft
03c099d4fd
First steps
2023-09-27 22:53:13 +02:00
nordsoft
c1c13cfafb
Pandora and events work as rewardable object
2023-09-15 15:29:41 +02:00
nordsoft
ef3f0174dd
Rewardable seer hut and quest gate
2023-09-13 01:40:07 +02:00
Ivan Savenko
f39fbe5151
Merge pull request #2757 from IvanSavenko/filesystem_refactor
...
Filesystem refactor - part 1
2023-09-07 10:51:02 +03:00
Ivan Savenko
1a82280cb2
Fix build
2023-09-05 13:16:08 +03:00
Ivan Savenko
b6a1a8f0da
Json Serializer should now use identifers storage properly
2023-09-04 22:23:20 +03:00
Ivan Savenko
9735fa6d06
Fix regresssion - crash
2023-09-04 22:22:45 +03:00
Ivan Savenko
82989e6302
Use pointers in containers to guaranteed fixed address
2023-09-04 18:56:16 +03:00
Ivan Savenko
6f0108e462
Use ResourcePath for referencing texts and json's
2023-09-04 18:22:34 +03:00
Ivan Savenko
823ffa7a07
Always use ResourcePath for referencing images and animations
2023-09-04 18:22:34 +03:00
Ivan Savenko
e54287ea5d
Converted remaining identifier to new system
2023-08-25 13:38:02 +03:00
Ivan Savenko
0240ee886d
Converted (almost) all namespace enum's to enum classes
2023-08-25 13:38:02 +03:00
Ivan Savenko
17d3d663ee
Converted creature ID and spell ID to new form
2023-08-25 13:38:02 +03:00
Ivan Savenko
ec8d31bbfc
First step at unifying game identifiers code
2023-08-25 13:38:01 +03:00
Konstantin
344593e891
vcmi: made some CSpell properties private
...
There are getters for it.
2023-08-23 17:53:08 +03:00
Ivan Savenko
44d16b32fe
Use API identical to std classes where possible
2023-08-23 16:32:29 +03:00
Ivan Savenko
d0b3319f6a
Merge remote-tracking branch 'vcmi/beta' into develop
2023-08-18 15:08:23 +03:00
Tomasz Zieliński
c59014ce18
Merge remote-tracking branch 'origin/beta' into fix_rmg_teams
2023-08-14 18:59:45 +02:00
Ivan Savenko
f13a53c1d9
Merge remote-tracking branch 'vcmi/beta' into develop
2023-08-12 17:28:47 +03:00
Tomasz Zieliński
abacb5f0ea
Fix resources placed behind mines
2023-08-12 10:53:25 +02:00
DjWarmonger
917f846a3a
Merge pull request #2562 from vcmi/fix_artifact_replacement
...
Fix regression with replacing quest artifact
2023-08-12 09:14:21 +02:00
Tomasz Zieliński
4741bd546f
Fix regression
2023-08-11 20:13:25 +02:00
Tomasz Zieliński
8f450cf253
Fix for monsters spawning at left side of the map
2023-08-11 18:43:22 +02:00
Tomasz Zieliński
0252d0f986
Fix hota offset + 2 possible crashes
2023-08-11 07:45:24 +02:00
Tomasz Zieliński
c089e55893
Fix placing road inside underground rock
2023-08-06 21:14:16 +02:00
Ivan Savenko
537f9fa048
Merged master into develop
2023-08-03 23:38:32 +03:00
Tomasz Zieliński
44fae4945d
Update distances in all zones adjacent to object
2023-08-02 20:41:29 +02:00
Tomasz Zieliński
69abfda981
stash
2023-08-01 08:23:09 +02:00
Ivan Savenko
62fddca21e
Split massive CModHandler class/file into multiple parts:
...
- IdentifierStorage is now a separate handler in VLC
- Renamed ModHandler::Incompatibility exception to ModIncompatibility
- Extracted ModScope namespace from ModHandler
- Extracted ModUtilities namespace from ModHandler
- Split CModHandler.cpp on per-class basis
- Replaced some direct members with unique_ptr to reduce header includes
2023-07-30 22:17:47 +03:00
Ivan Savenko
593b82d178
Removed all references to boost::interprocess library
2023-07-30 20:14:57 +03:00
DjWarmonger
71fe5c556f
Merge pull request #2203 from vcmi/remove_seed_info
...
Remove random seed from map description
2023-07-25 10:36:32 +02:00
Tomasz Zieliński
6522cec969
Just the notes
2023-07-24 08:44:37 +02:00
DjWarmonger
bf7b77600a
Merge pull request #2375 from vcmi/fix_roads
...
Fix RMG failing to place roads sometimes
2023-07-22 15:56:25 +02:00
DjWarmonger
0be3d6911c
Merge pull request #2236 from vcmi/limit_seer_huts
...
Create only a single seer hut for every artifact we have
2023-07-22 08:17:03 +02:00
Tomasz Zieliński
1762df2b77
Formatting
2023-07-21 14:55:49 +02:00
Tomasz Zieliński
8bfa34e97b
Allow routing road behind objects not visitable from top if that's absolutely neccessary.
2023-07-21 14:55:34 +02:00
Tomasz Zieliński
ad5081f9fe
Merge remote-tracking branch 'origin/develop' into ban_stuff_on_water_maps
2023-07-19 12:05:30 +02:00
Tomasz Zieliński
e2940d2b0c
Fix Subterranean Gates incorrectly placed outside the map
...
(cherry picked from commit acf455a1c3b02c0f8d5085c23fe2230779b7560b)
2023-07-18 19:28:36 +02:00
Tomasz Zieliński
545f047cae
Fix HoTA guard once again
...
(cherry picked from commit 138a7c8024573f46962ad0f6e8e03ba53fa56076)
2023-07-18 19:28:20 +02:00
Tomasz Zieliński
025b0814c8
+ Handled banning spells and artifacts
...
+ Rename allowedSpell => allowedSpells
2023-07-17 17:21:28 +02:00
Tomasz Zieliński
fbd1d728ec
Water heroes will now be correctly banned on random maps.
2023-07-17 16:23:34 +02:00
Tomasz Zieliński
bda126a1fd
Merge remote-tracking branch 'origin/develop' into ban_stuff_on_water_maps
2023-07-16 18:54:50 +02:00
Tomasz Zieliński
a200e87640
Merge remote-tracking branch 'origin/develop' into ban_stuff_on_water_maps
2023-07-15 14:36:32 +02:00
Tomasz Zieliński
a968903c51
Fix HoTA guard offset in RMG
2023-07-14 16:45:13 +02:00
Ivan Savenko
9acab48bc3
Merge pull request #2268 from SoundSSGood/CArtifactInstance-rework
...
CArtifact CArtifactInstance refactoring
2023-07-11 14:36:08 +03:00