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
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
Tomasz Zieliński
aa16f57b8a
Remove unused variables
2023-05-20 14:28:18 +02:00
Tomasz Zieliński
a8b882e5bb
Remove another pragma
2023-05-20 14:16:18 +02:00
Tomasz Zieliński
e25448e7cd
Fix build on macos
2023-05-20 14:00:03 +02:00
Warzyw647
5363fd5db3
Changing other enums to enum classes and adding comments with reasons for why some enums stay as enum-in-namespace.
2023-05-20 13:29:55 +02:00
Tomasz Zieliński
91baa65c8c
Remove no longer needed synchronization that also fails to compile.
2023-05-20 13:15:46 +02:00
Tomasz Zieliński
219e897db0
Added missing files.
2023-05-20 12:02:30 +02:00
Tomasz Zieliński
67c0fbc240
Merge remote-tracking branch 'origin/develop' into parellel_rmg
...
# Conflicts:
# lib/rmg/modificators/WaterProxy.cpp
2023-05-20 11:59:39 +02:00
Tomasz Zieliński
15b254fded
Give every Zone its own RNG
2023-05-20 11:46:32 +02:00
Tomasz Zieliński
5da8c96214
Fix include paths
2023-05-20 11:45:08 +02:00
Tomasz Zieliński
cf0515dcd3
Moved Modificators to separate folder
2023-05-20 10:17:37 +02:00
Tomasz Zieliński
5f99facd8f
Optimization - don't add multiple copies of Modificators which only need one instance.
2023-05-20 09:58:08 +02:00
Tomasz Zieliński
71f882d5ba
Refactored Functions.cpp, removed unused function.
2023-05-20 07:55:28 +02:00
Tomasz Zieliński
c27b8383e7
Cleanup
2023-05-20 07:23:00 +02:00
Tomasz Zieliński
02586214a1
Synchronize ConnectionPlacers
2023-05-20 07:06:27 +02:00
Tomasz Zieliński
72f8facc82
Fixed deadlock in WaterAdopter
2023-05-19 20:49:01 +02:00
Tomasz Zieliński
73d9f5bd0a
Parallel RMG works fine for maps without water.
2023-05-19 20:30:15 +02:00
SoundSSGood
021f94a579
artifact utils
2023-05-17 17:00:31 +03:00
Ivan Savenko
cb8201876b
Merge pull request #1822 from rilian-la-te/spell-mechanics-v3
...
Bonus refactoring, part3 (save-incompatible)
2023-05-09 13:10:04 +03:00
Konstantin P
057a33c508
SpellSchool: use identifier instead of int
...
Needs redifinition of MAGIC_SCHOOL_SKILL in all mods
2023-05-07 20:37:32 +03:00
Tomasz Zieliński
19010dd834
Not needed
2023-05-07 09:15:20 +02:00
Tomasz Zieliński
966a24d27e
Protect public access to Modificators with another mutex.
2023-05-07 08:24:08 +02:00
Tomasz Zieliński
a58094aefe
Thread pool kinda works.
2023-05-07 07:48:12 +02:00
nordsoft
58aed364bf
Don't place non-sailing boats in RMG
2023-05-07 03:24:52 +04:00
Tomasz Zieliński
3d25c2c6dc
Fix thread pool closing
2023-05-06 19:47:28 +02:00
Tomasz Zieliński
a8545935c3
ThreadPool implementation. It runs, but dies from race conditions.
2023-05-06 18:54:19 +02:00
Tomasz Zieliński
a952a9e279
Remove unused code
2023-05-06 12:22:01 +02:00
Warzyw647
d74fdad432
Renamed enum EMonsterStrength to EGlobalMonsterStrength. Enum EZoneMonsterStrength unchanged.
2023-05-06 12:18:53 +02:00
Tomasz Zieliński
d22ec0ee0c
Move Modificator to separate file.
2023-05-06 10:49:18 +02:00
Tomasz Zieliński
eb50ae3aa7
- Pre-distribute max number of Prisons
...
- Minor refactor for artifact and hero pool management
2023-05-05 10:30:36 +02:00
Tomasz Zieliński
d137f7157c
Merge remote-tracking branch 'origin/develop' into parellel_rmg
...
# Conflicts:
# lib/rmg/CZonePlacer.h
# lib/rmg/TreasurePlacer.h
2023-05-05 09:00:44 +02:00
Tomasz Zieliński
35ec720555
Forget objects that were already replaced iwth an artifact.
2023-05-05 07:16:38 +02:00
Warzyw647
7f180b6e81
Split enum EMonsterStrength into EMonsterStrength and EZoneMonsterStrength.
...
Removed obsolete ZONE_ and GLOBAL_ from enum item names.
Simplified serialization of zone monster strength in preparation for adding zone monster strength: none.
2023-05-04 21:43:31 +02:00
Warzyw647
05e72e2e7f
Don't remove zone guards in a zone with monsters: none, remove extra parentheses and add comments
2023-05-04 18:40:04 +02:00
Warzyw647
8ebaa3fd6b
Adding zoneMonserStrength: none
2023-05-03 12:07:00 +02:00
Konstantin
86f5d6de69
vcmi: modernize headers
2023-04-30 13:35:54 +03:00
Tomasz Zieliński
d325051213
Some working version, needs corrections still.
2023-04-29 11:46:03 +02:00
Tomasz Zieliński
3c9599657b
Use new artifact interface
2023-04-25 16:20:36 +02:00
Tomasz Zieliński
208adf1dd6
Don't use boost::format
2023-04-25 16:14:09 +02:00
Tomasz Zieliński
a9a3c456f1
Add new files
2023-04-23 10:12:53 +02:00
Tomasz Zieliński
bc4d6bb7ee
Remove unused code.
2023-04-23 10:08:30 +02:00
Tomasz Zieliński
80b5c53815
Place quest artifacts after all the treasures are already created.
2023-04-23 10:08:16 +02:00
Tomasz Zieliński
88c436691d
Simplify logs
2023-04-20 16:26:06 +02:00
Tomasz Zieliński
09b493681b
More iterations, higher gravity constant for better results.
2023-04-20 16:13:30 +02:00
Tomasz Zieliński
55d7d7b9b5
Fix coefficients to make dead code actually be used sometimes.
2023-04-20 12:44:32 +02:00
Tomasz Zieliński
00d7901e59
Add another placement technique - swap two misplaced zones. Don't move same zones in consecutive iterations.
2023-04-20 12:24:57 +02:00
Tomasz Zieliński
c34b1cd713
Fix warning-as-errors.
2023-04-19 08:45:23 +02:00
Tomasz Zieliński
d841655c1d
Scale fuzzy edges with map size.
2023-04-18 22:34:26 +02:00
Tomasz Zieliński
15592c3aff
Change metric to create more interesting zone shapes.
2023-04-18 22:01:51 +02:00
Tomasz Zieliński
39154737a5
Use std::optional instead of boost::optional.
2023-04-18 19:34:54 +02:00
Tomasz Zieliński
6551585f96
Start with low stifness to let zones pass through each other - typical temperature fall.
...
(cherry picked from commit 435b9f7881
)
2023-04-18 19:21:33 +02:00
Tomasz Zieliński
8d5cd6d072
Randomize starting positions a bit so zones don't fall exactly on the grid.
...
(cherry picked from commit 33eb28b570
)
2023-04-18 19:21:28 +02:00
Tomasz Zieliński
fc91152da7
Fixed zones getting actually randomized after construction. Tweaks to algorithm, now it's considerably better.
...
(cherry picked from commit c13019059f
)
2023-04-18 19:21:19 +02:00
Tomasz Zieliński
2d7a819939
Parameters which work well for Jebus - accessible desert and Blue placed away from Red
...
(cherry picked from commit 42c6127c79
)
2023-04-18 19:21:13 +02:00
Tomasz Zieliński
494f4eaa3f
Simple solution that works - by ChatGPT :)
...
(cherry picked from commit 7c6e4bc2fe
)
2023-04-18 19:21:06 +02:00
Tomasz Zieliński
a1f094776f
Use fixed starting positions for now.
...
(cherry picked from commit 43c51805f5
)
2023-04-18 19:20:57 +02:00
Tomasz Zieliński
7d2745fda6
Simplified target function comparison.
...
(cherry picked from commit 809f6344ff
)
2023-04-18 19:20:50 +02:00
Tomasz Zieliński
48c11f661b
Fix zone attraction
...
(cherry picked from commit 164ecaea60
)
2023-04-18 19:20:40 +02:00
Tomasz Zieliński
3f83eaafc4
Fix distance check
...
(cherry picked from commit 319f289dc4
)
2023-04-18 19:20:32 +02:00
Tomasz Zieliński
64adc9983d
- Fixes for corectness
...
- Space apart starting zones of players
(cherry picked from commit 80be12ac68
)
2023-04-18 19:20:23 +02:00
Tomasz Zieliński
09d50a5e9f
First draft that kinda works.
...
(cherry picked from commit 7dd5a9c15d
)
2023-04-18 19:20:12 +02:00
Konstantin
7a5775a9f9
vcmi: use std::optional
2023-04-17 00:43:13 +03:00
Ivan Savenko
b354f99cc3
Merge pull request #1936 from IvanSavenko/cpp_17_upgrade
...
Upgrade c++ standard to c++17
2023-04-14 19:21:17 +03:00
Ivan Savenko
44b83b2e11
Merge master -> develop
2023-04-14 16:51:35 +03:00
Tomasz Zieliński
74d028d951
Use product instead of distance sum for Subterranean Gate placement.
2023-04-12 09:31:09 +02:00
Tomasz Zieliński
e6eafca2d0
Place Mines after Monoliths.
2023-04-12 07:48:44 +02:00
Ivan Savenko
644f0f4b32
Removed ARRAY_COUNT in favor of std::size
2023-04-12 01:04:26 +03:00
Ivan Savenko
63b197b78a
Converted attributes to use c++17 functionality
2023-04-12 01:03:14 +03:00
Ivan Savenko
dfa2e2a349
Merge beta into develop
2023-04-11 19:37:35 +03:00
DjWarmonger
d9a2621231
Merge pull request #1939 from vcmi/fix_top_of_map_objects
...
Merging after positive review.
2023-04-11 10:40:18 +02:00
Tomasz Zieliński
3c87b3934d
Do not place object visible tiles over the top of the map.
2023-04-10 19:26:53 +02:00
Konstantin
fedf7d377c
vcmi: remove TFaction
...
This is a huge change and will break save compatibility
2023-04-10 19:28:16 +03:00
Tomasz Zieliński
cf1f9c456b
Removed unrelated comment
2023-04-07 21:40:47 +02:00
Tomasz Zieliński
37f1bf9d78
Merge remote-tracking branch 'origin/beta' into fix_pandora_amounts
2023-04-07 21:26:36 +02:00
Tomasz Zieliński
f1c52f501d
Fix Pandora Box creature amounts to match OH3 exactly.
2023-04-07 21:23:34 +02:00
Ivan Savenko
1590c710dd
Merge pull request #1886 from rilian-la-te/fix-rmg-levels
...
vcmi: fix rmg header levels
2023-04-07 12:43:34 +03:00