1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-11-30 08:57:00 +02:00
Commit Graph

831 Commits

Author SHA1 Message Date
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
Tomasz Zieliński
700d8459ac Checking flags and conditions 2023-07-09 11:16:36 +02:00
Tomasz Zieliński
b4fcf20b19 Fix 2023-07-08 10:26:10 +02:00
Tomasz Zieliński
fabad20aa1 Compile fixes, cleanup 2023-07-08 10:21:36 +02:00
Tomasz Zieliński
3711ce846e Check road settings for connections 2023-07-08 09:11:20 +02:00
Tomasz Zieliński
730b36612c Respect GUI settings for roads. By default, all road types are enabled. 2023-07-08 08:44:10 +02:00
Tomasz Zieliński
27c4882237 Compile fix 2023-07-07 21:40:55 +02:00
Tomasz Zieliński
7e07ed65c8 - Check road connection for Shipyards 2023-07-07 21:27:24 +02:00
Tomasz Zieliński
1cad64c470 Move road flag to placeObject() method 2023-07-07 20:17:20 +02:00
Tomasz Zieliński
3889193a48 Reorganize namespaces 2023-07-07 16:32:17 +02:00
Tomasz Zieliński
0d3ac4a502 - Add new option for connection
- Store info about objects and roads in RequiredObjectInfo
2023-07-06 22:15:00 +02:00
Tomasz Zieliński
a592f5604b Add "bannedTerrains", "bannedMonsters" options for templates. 2023-07-06 17:30:23 +02:00
Tomasz Zieliński
9f2bfbc1d8 Improve serialization of IDs from mods, so they are resolved correctly after all mods are loaded. 2023-07-05 20:53:00 +02:00
SoundSSGood
fd9c7352a0 suggested changes 2023-07-03 22:54:03 +03:00
Tomasz Zieliński
73b78dd75e Handle "bannedTowns" (alredy used on Jebus). 2023-07-02 11:41:47 +02:00
Tomasz Zieliński
cb4d818241 Inherit terrain types only after all terrain Ids are resolved. 2023-07-02 09:28:51 +02:00
Tomasz Zieliński
04e2cf728e Allow all terrains from mods by default (including Wasteland). 2023-07-02 08:13:06 +02:00
Tomasz Zieliński
dc3dda7676 Fix new factions not appearing in random maps 2023-07-01 15:25:20 +02:00
SoundSSGood
060aecc61c CArtifact refactoring 2023-06-30 19:41:26 +03:00
DjWarmonger
a560eaea51
Merge pull request #2237 from vcmi/fictive_connections
Wide, fictive, repulsive connections
2023-06-25 19:57:08 +02:00
Tomasz Zieliński
43d666a2ff Refactor duplicated code 2023-06-25 18:31:54 +02:00
Tomasz Zieliński
a5ddc225ac Place objects away from connection even if it's empty (not guarded) 2023-06-23 21:43:49 +02:00
Tomasz Zieliński
64e8b9b2b9 Smarter scaling for forces between zones. 2023-06-23 21:43:12 +02:00
Ivan Savenko
6f743916db Moved CGCreature to a new file 2023-06-20 19:37:27 +03:00
Tomasz Zieliński
25707b6d5e Place zones in order given by template. Yields better results in a number of cases. 2023-06-18 20:23:25 +02:00
Tomasz Zieliński
8510af487e Place objects away from wide connection 2023-06-18 19:20:12 +02:00
Tomasz Zieliński
47726625c2 Do not generate passable connections for virtual connections. 2023-06-18 12:03:41 +02:00
Tomasz Zieliński
acc141d626 Fix unused variable 2023-06-17 19:31:16 +02:00
Tomasz Zieliński
65d10cf9f2 + Handle Wide Connections
+ Possibly hide fictive and repulsive connections, needs testing
2023-06-17 19:09:38 +02:00
DjWarmonger
02ea798c97
Merge pull request #2229 from vcmi/zone_placement_improvements
Zone placement improvements
2023-06-17 08:53:08 +02:00
Tomasz Zieliński
30f81297c3 Create only a single seer hut for every artifact we have. 2023-06-17 08:45:10 +02:00
Ivan Savenko
58661fc8ec Moved DwellingInstanceConstructor to a new file 2023-06-16 17:59:50 +03:00
Ivan Savenko
77b58bc66d Cleaned up object constructors to reduce duplicated code 2023-06-16 17:59:50 +03:00
DjWarmonger
c52b5d3bd0
Merge pull request #2216 from vcmi/water_prison_tavern
Water Prison & Tavern
2023-06-16 16:30:05 +02:00
Tomasz Zieliński
f1356dd5bf Merge remote-tracking branch 'origin/develop' into water_prison_tavern 2023-06-14 20:58:02 +02:00
Tomasz Zieliński
ce25ed4de2 Fix crash which coudl occur if we can't add any Seer Hut to RMG pool (Fear template). 2023-06-14 20:50:14 +02:00
Tomasz Zieliński
14d46cbed8 Keep the distance between zone guards and other objects, while trying to place them closer to zone centers at the same time. 2023-06-14 14:12:42 +02:00
Tomasz Zieliński
2603e11f48 Simplify and correct ZonePlacer main loop, make sure to save optimal solution at every step. 2023-06-14 14:07:31 +02:00
Tomasz Zieliński
e1f8ae94ac + Do not limit treasures to make space for more treasures if there are none ;eft
+ Make sure RMG won't get stuck in infinite loop for weird treasure values (eg. 0).
2023-06-12 22:15:59 +02:00
Tomasz Zieliński
3d3c97bf93 Fix potential infinite loop 2023-06-12 20:32:58 +02:00
Tomasz Zieliński
983633d73b Do not decrease the density of obstacles in zones of medium treasure value. For high values, decrease them more rapidly. 2023-06-10 18:02:26 +02:00
Tomasz Zieliński
65a8478b74 Fix override 2023-06-10 15:07:03 +02:00
Tomasz Zieliński
8ef25155df Remove dependencies of surface and underground zones 2023-06-10 14:58:12 +02:00
Tomasz Zieliński
b65870f31e A bunch of magic formulas to assure nice balance of blocked areas and obstacles on every template 2023-06-10 14:57:25 +02:00
Tomasz Zieliński
1bb2b5b571 + Maintain clear perimeter of a treasure pile.
+ Make sure that separate blocked areas remain unconnected so it's possible to pass between them.
2023-06-10 14:56:03 +02:00
Tomasz Zieliński
d5b799278e Allow center Town touch the blocked area, it's no longer a problem with correct pathfinder. 2023-06-09 21:22:44 +02:00
Tomasz Zieliński
682e9ae297 Unused variable 2023-06-08 20:05:51 +02:00
Tomasz Zieliński
52d33fc7a6 Generate all treasures of certain value beforehand and try to place them all, don't interrupt at first failure. 2023-06-08 19:51:21 +02:00
Tomasz Zieliński
66b6fba51f Use all tiles covered by treasure pile to determine distance to other treasures. 2023-06-08 19:31:38 +02:00
Tomasz Zieliński
d92ac6bcbe Do not exceed rolled treasure value - matches OH3. 2023-06-08 19:23:23 +02:00
Tomasz Zieliński
3e9e6aab2b Fix prison distribution 2023-06-07 15:08:50 +02:00
Tomasz Zieliński
7922d8be16 Prison from HoTA will be placed on water. 2023-06-07 13:00:24 +02:00
DjWarmonger
e98a50b45a
Merge pull request #2123 from Warzyw647/rmg-split-enum-monster-strength
Refactor enums and add zone monster strength "none" in rmg
2023-06-06 20:40:35 +02:00
Ivan Savenko
1e9eea30e1 Merge remote-tracking branch 'soundsgood/CArtHandler-rework' into develop 2023-06-05 18:53:17 +03:00
Tomasz Zieliński
cbe1c4a07d Remove random seed from map description. 2023-06-03 08:53:00 +02:00
Ivan Savenko
d6a357fd17 Split some map object files into smaller files. Reduced includes usage. 2023-06-02 21:47:37 +03:00
Ivan Savenko
acac42291e Remove excessive CMap.h includes 2023-05-31 23:18:38 +03:00
Ivan Savenko
62595cb039 Split massive CMap.h a bit 2023-05-31 23:01:57 +03:00
Warzyw647
bc4755a89a Merge branch 'develop' into rmg-split-enum-monster-strength 2023-05-31 19:53:19 +02:00
Warzyw647
4c513e8bb0 Water zones get monster strength ZONE_NONE during their creation instead of a hardcoded check for zone type WATER at guard creation time.
Also preliminary preparations for water zone customization in the template json.
2023-05-31 00:24:52 +02:00
Tomasz Zieliński
cd9bd491e0 Add option for single-thread generation. Still doesn't guarantee excactly identical maps :? 2023-05-24 18:02:11 +02:00
Warzyw647
af3c6abb5e Added zone guard strength "none" 2023-05-21 00:13:45 +02:00
Warzyw647
7afcc3b350 Merge branch 'rmg-split-enum-monster-strength' into rmg-no-monster-zone 2023-05-20 17:29:07 +02:00
Warzyw647
149ae9986c Merge branch 'rmg-refactor-enums' into rmg-no-monster-zone 2023-05-20 17:28:25 +02:00
Tomasz Zieliński
f3c795462f Remove comment which break the build 2023-05-20 17:08:44 +02:00
Tomasz Zieliński
4e927f644d Missing precompiled header 2023-05-20 15:41:03 +02:00
Tomasz Zieliński
b2b2798214 Use boost::thread instead of std::thread 2023-05-20 14:43:05 +02:00