DjWarmonger
452027cd8d
Handle ObjectInfo via pointer to avoid expensive copy.
2016-08-11 10:49:19 +02:00
DjWarmonger
2410f0af61
- WeightedRule optimization - part 1
...
- comments, style
2016-08-11 07:49:08 +02:00
DjWarmonger
2bffd4e5c1
Moar optimization!
2016-08-09 13:40:46 +02:00
DjWarmonger
7f0b852449
Huge optimization based on profiling - cut generation time by almost half (Jebus XL+U).
2016-08-09 10:12:13 +02:00
DjWarmonger
08dccb4cc3
Use binary search for roulette wheel. TODO: implement in other places.
2016-08-08 22:16:31 +02:00
DjWarmonger
7db2fc6d25
Fixes. Works correctly only for player factions configured in RMG options.
2016-08-06 12:16:13 +02:00
DjWarmonger
f980de7107
Place starting zones on surface/underground depending on player faction - first draft.
2016-08-06 10:04:03 +02:00
AlexVinS
57e588cba1
attempt to fix travis build
2016-07-28 13:15:19 +03:00
DjWarmonger
5a1383fea8
Correct implementation for previous fix.
2016-07-25 18:37:42 +02:00
DjWarmonger
d9556332e1
Hopefully fixed zone guards misplaced due to paths connecting at acute angles.
2016-07-24 18:15:23 +02:00
DjWarmonger
40f28778c2
Minor optimization, saves few seconds.
2016-07-14 14:24:11 +02:00
DjWarmonger
7d7b51d0db
Generated zones can now have different sizes depending on template.
2016-07-13 10:35:31 +02:00
DjWarmonger
1d8fb01f46
More even distribution of surface / underground zones + refactoring.
2016-07-13 07:54:52 +02:00
DjWarmonger
ac68dca328
Fixed zone placer so it now correctly evaluates found solution.
2016-07-12 21:23:45 +02:00
DjWarmonger
aecf834cc1
Fixed placing of close objects #2447 . Some additional refactoring.
2016-07-12 11:42:03 +02:00
DjWarmonger
e1e520f0a2
Removed "growing" zones which don't fit the rest of algorithm. Zones are now better connected on complex maps.
2016-07-11 15:44:24 +02:00
DjWarmonger
c3cbe89e2a
Last improvement: attract zones and push them bakc in separate steps.
2016-07-10 18:16:32 +02:00
DjWarmonger
87ef3701aa
Probably better fitness function.
2016-07-10 16:37:54 +02:00
DjWarmonger
8ceceb897e
Fixed zones falling into negative cordinates. Should fix "assert(size)" crashes.
2016-07-10 14:32:45 +02:00
DjWarmonger
fb3adf762a
Improved zone placer - zones on different levels are allowed to overlap completely.
2016-07-10 13:32:33 +02:00
DjWarmonger
f139b70279
Changed Subterranean Gate placement algorithm - now they are meant to be equidistant from both zone centers.
2016-07-10 12:29:48 +02:00
DjWarmonger
a66893af28
Fixed bug with Subterranean Gates:
...
Failed to connect (-1,-1,-1) with center of teh zone.
2016-07-10 10:11:29 +02:00
DjWarmonger
cfacd1adc3
Random template format change:
...
Tempaltes now can have optional "name" parameter for different names than identifier.
2016-06-06 11:30:51 +02:00
DjWarmonger
4101cabc22
Hidden unnecessary log.
2016-06-05 10:25:52 +02:00
DjWarmonger
053b342721
Minor optimization for object selection.
2016-06-05 10:18:10 +02:00
DjWarmonger
8f1fba9551
Merge pull request #146 from vcmi/feature/VCMIMapFormat1
...
Ok let's try it.
2016-03-01 07:49:54 +01:00
DjWarmonger
fba1e86091
An experiment - instead of hard limit function use modulo wrap-around for zone placement. Should be more logical and give zones more space.
2016-02-23 12:11:25 +01:00
AlexVinS
150fcc9422
Merge remote-tracking branch 'remotes/origin/develop' into feature/VCMIMapFormat1
2016-02-15 13:39:00 +03:00
AlexVinS
4d9058e412
Whitespace cleanup. (No code changes.)
2016-02-15 13:34:37 +03:00
AlexVinS
800f32c4cb
Fix few cases of tempOwner initialization.
2016-02-14 12:13:30 +03:00
AlexVinS
0c21efb202
Start integration of map format into engine
2016-02-09 20:20:03 +03:00
AlexVinS
a00dbd3dd1
Merge remote-tracking branch 'remotes/origin/develop' into feature/VCMIMapFormat1
...
Conflicts:
lib/CMakeLists.txt
lib/VCMI_lib.cbp
lib/filesystem/CFileInputStream.cpp
lib/filesystem/CZipLoader.cpp
lib/rmg/CRmgTemplateZone.cpp
vcmi.workspace
2016-02-08 10:17:25 +03:00
DjWarmonger
441c94d56c
Remove log for Seer Huts.
2016-02-06 15:11:56 +01:00
AlexVinS
6e205a58b4
Merge remote-tracking branch 'remotes/origin/develop' into feature/VCMIMapFormat1
...
Conflicts:
lib/VCMI_lib.cbp
lib/filesystem/CZipLoader.cpp
lib/filesystem/CZipLoader.h
lib/mapObjects/CGTownInstance.cpp
2016-02-04 10:27:51 +03:00
DjWarmonger
327e95407e
- Compile fixes part 1
...
- Project settings for MSVS
2016-01-27 21:08:08 +01:00
AlexVinS
89d986fc6a
Merge remote-tracking branch 'remotes/origin/develop' into feature/VCMIMapFormat1
...
Conflicts:
lib/CArtHandler.h
lib/mapObjects/MiscObjects.cpp
2016-01-24 15:39:41 +03:00
DjWarmonger
ac730a591c
Fixed large treasure piles sometimes being uncovered.
2016-01-13 20:03:25 +01:00
DjWarmonger
8c5f93dd8f
Little refactoring for object placement.
2016-01-13 19:17:12 +01:00
DjWarmonger
dd1fc47c93
Workaround for Seer Hut offset. They seem to work fine now.
2016-01-08 21:51:55 +01:00
DjWarmonger
d840fb40eb
Fixed crashes with RMG Seer Huts. Now they are functional.
2016-01-08 21:14:57 +01:00
AlexVinS
37d0dad70a
Merge branch 'develop' into feature/VCMIMapFormat1
...
Conflicts:
lib/CArtHandler.cpp
2016-01-01 20:28:52 +03:00
Arseniy Shestakov
9fd1cff090
Refactoring: always use std prefix for shared_ptr, unique_ptr and make_shared
...
Long time ago it's was used without prefix to make future switch from boost to std version easier.
I discusses this with Ivan and decide to drop these using from Global.h now.
This change wouldn't break anything because there was already code with prefix for each of three cases.
2015-12-29 05:43:33 +03:00
AlexVinS
2d5a366e6c
Implemented (basic) object construction and placement
...
* contain refactoring of RMG and class handling (will be more)
2015-12-05 12:36:42 +03:00
Ivan Savenko
faa7cbff18
Fixed gcc/clang warnings
2015-12-04 01:17:43 +02:00
Ivan Savenko
c3ce4b25df
Removed all #include's of CMap.h from headers.
...
To all - please, avoid #include's in headers as much as possible
This kills incremental build compile times
2015-12-02 21:05:10 +02:00
Ivan Savenko
f9d9a38e53
Fixed gcc warnings
2015-12-02 20:59:38 +02:00
ArseniyShestakov
2276af70dc
PreGame: avoid crashing on random map options
...
Options is still broken, but at least we shouldn't crash there.
2015-11-25 07:25:44 +03:00
Vadim Markovtsev
e4b1ef1405
Add "override" to virtual overriden methods
2015-10-13 21:05:36 +03:00
DjWarmonger
f81b46088a
Fixed #2218
2015-09-29 11:01:59 +02:00
DjWarmonger
6b45f323ea
Fixed logic regression from previous commit.
2015-09-23 21:38:16 +02:00
AlexVinS
f24f744f4b
Fix a few warnings
2015-08-19 23:02:37 +03:00
DjWarmonger
237d3f2624
Refactoring: random spells
2015-08-12 16:40:08 +02:00
DjWarmonger
e9654ef487
Fixed issue when player starting towns were wiped.
2015-07-18 20:14:45 +02:00
DjWarmonger
f9781ffb47
Creature abilities won't spawn in random Pandora Boxes.
2015-06-10 14:27:53 +02:00
DjWarmonger
3f1bc7e21c
One more case for Subterranean Gates
2015-06-04 09:42:39 +02:00
DjWarmonger
927dfa5565
Added correct connections for Subterranean Gates
2015-06-04 09:02:56 +02:00
DjWarmonger
63d6cf168f
- Solved problems with sealed-off objects for once and all.
...
- Refactoring
2015-06-03 21:57:22 +02:00
DjWarmonger
923437bf76
Corrected offset check for required objects.
2015-06-03 19:38:53 +02:00
DjWarmonger
55c1a7eade
Clear unused tiles to make more space for roads.
2015-06-03 15:16:11 +02:00
DjWarmonger
e21b2d9cbd
Attempt to use A* algorithm for required objects.
2015-06-02 20:29:37 +02:00
DjWarmonger
a68b58d969
- Use straight paths for some connections
...
- More fixes for template schema
2015-06-02 16:40:32 +02:00
DjWarmonger
8b1641d498
Generate main towns for zones with no player present.
2015-06-02 09:30:56 +02:00
DjWarmonger
1389ae0ea3
Fix Travis build
2015-06-02 07:01:38 +02:00
DjWarmonger
c6f714db9c
Fixed generation of CPU teams.
2015-06-01 21:57:43 +02:00
DjWarmonger
34a59a2788
- Fixed issues with number of players selection
...
- Added new template for testing multiple players
2015-05-27 18:58:14 +02:00
DjWarmonger
6890ae9f02
- Fixed improper use of playersCount. Now RMG can generate maps up to 8 players, with CPU players only as well.
...
- Fixes for template scheme
2015-05-27 11:30:46 +02:00
DjWarmonger
4e25d74e74
CRmgTemplateStorage now inherits from IHandlerBase
2015-05-26 15:12:24 +02:00
DjWarmonger
e08a1f32bd
Some more fixes, updated changelog.
2015-05-25 20:04:24 +02:00
DjWarmonger
c6291412d7
Fixed one case of missing roads.
2015-05-25 19:44:03 +02:00
DjWarmonger
a0ed8e0d6d
An attempt to straighten roads.
2015-05-25 19:25:48 +02:00
DjWarmonger
353f6dc32e
Roads are generated between all nodes.
2015-05-25 19:11:44 +02:00
DjWarmonger
3ec91c550e
Correct road nodes iteration
2015-05-25 19:00:00 +02:00
DjWarmonger
fe6fa895c3
More or less working RMG roads.
2015-05-25 18:06:17 +02:00
DjWarmonger
2c88ddf5ed
Something works it seems
2015-05-25 17:47:32 +02:00
DjWarmonger
6d502ef1a1
Implemented A* algorithm to draw shortest roads - but not correct roads yet.
2015-05-25 16:37:57 +02:00
AlexVinS
6448bc6a50
[gcc] fix build
2015-04-12 08:25:53 +03:00
DjWarmonger
a0840100df
Different fractalization algorithm that enforces cycle generation.
2015-04-11 13:46:17 +02:00
DjWarmonger
69c58c6c25
Experiment: fractalize RMG zones before placing important objects. The downside is that it won't be possible to draw road as straight line anymore.
2015-04-11 12:47:41 +02:00
AlexVinS
84a2623c37
more experiments
2015-04-03 07:06:29 +03:00
AlexVinS
27c46c83d6
describe roads placement in log
2015-04-03 05:50:02 +03:00
AlexVinS
76193c4c5c
More experiments WIP.
2015-04-03 05:47:22 +03:00
AlexVinS
eb60d9737f
more sensible road placement
2015-04-03 05:47:20 +03:00
AlexVinS
4c4ad480c5
added experimental usage of roads
2015-04-03 05:47:01 +03:00
Ivan Savenko
eef45b5ae8
Fixed warnings
2015-03-31 00:55:37 +03:00
DjWarmonger
ed33d99ac7
Silenced some more logs.
2015-03-28 22:17:45 +01:00
DjWarmonger
a0f534146c
Fixed underground Lava terrain.
2015-03-28 22:03:38 +01:00
DjWarmonger
999c2a92e0
Inverted approach - first generate rock all over, then free accessible tiles.
2015-03-28 21:13:22 +01:00
DjWarmonger
9515d51bd2
Generate underground tunnels first to get a bit more of them.
2015-03-28 20:09:54 +01:00
DjWarmonger
a0d9ae4849
Refactoring - create underground rock for whole level at once.
2015-03-28 18:56:28 +01:00
beegee1
e9b7044c9b
Fix mantis #1859 , unknown pattern in underground
2015-03-28 16:41:26 +01:00
ArseniyShestakov
783dcfea2e
CMapGenOptions: fix crash when computer only limit is used
...
Currently when there is computer only players set resetPlayersMap may try to change settings for more than 8 players which obviously cause crash.
Now if any of "players and computer limit" or "computer limit" is set to random we automatically set total limit to 8 players.
2015-03-14 22:19:24 +03:00
DjWarmonger
a1da08f802
Disabled Seer Huts for 0.97c.
2015-03-12 10:45:24 +01:00
DjWarmonger
a832b7efee
Fixed #2026
2015-03-12 10:08:10 +01:00
DjWarmonger
f894abe494
Unified interface for object template.
2015-03-12 08:31:30 +01:00
DjWarmonger
cf74969603
Fixes, logging for Seer Huts
2015-03-11 22:17:35 +01:00
DjWarmonger
61071c46e1
Fixed monster amounts in Pandora Box.
2015-03-11 19:21:58 +01:00
DjWarmonger
3cc9705bfe
Minor tweak.
2015-03-11 16:54:42 +01:00
DjWarmonger
01390e0c2c
Optimization for random treasures.
2015-03-11 16:19:03 +01:00
DjWarmonger
ec879046ca
Merge pull request #93 from ArseniyShestakov/feature/pathfindingTeleports
...
Okay let's do this!
2015-03-10 09:04:25 +01:00
DjWarmonger
f32849a73e
Attempt to compile refactored spells in MSVS.
2015-03-09 19:24:45 +01:00
ArseniyShestakov
c9eba40fe6
Updated CGTeleport and new CGMonolith / CGSubterraneanGate / CGWhirlpool
...
Now CGTeleport is not publicly available handler, but generic class for teleport channels usage.
Teleport channels are stored as part of information about the map.
2015-03-08 16:11:23 +03:00
DjWarmonger
6ace53d8b9
Functional RMG Seer Huts, still there are some mysterious bugs.
2015-03-01 13:26:54 +01:00
DjWarmonger
9453250e0f
Spawn quest arts in nearby zones.
2015-03-01 10:20:49 +01:00
DjWarmonger
67ab90616d
Seer Huts with exp / gold rewards.
2015-03-01 09:46:09 +01:00
DjWarmonger
dd887eb929
Fixes for Seer Huts.
2015-03-01 09:07:43 +01:00
DjWarmonger
4f1d96e5e8
Seer Huts part 2.
2015-02-28 22:37:04 +01:00
DjWarmonger
607375a9bc
Generate Seer Huts with creature rewards
2015-02-28 21:14:45 +01:00
AlexVinS
685deddac1
Start spell-relatet files reorganisation
...
* moved existing files to separate directory
-> todo: split mechanics
2015-02-26 08:39:48 +03:00
AlexVinS
a3f2667376
Remove some deprecated fields from CSpell
...
* now only new SpellScholl API is used
(!) untested
2015-02-26 08:39:43 +03:00
DjWarmonger
c5e772eb78
Fixed issue which created large empty areas on two-level maps.
2015-02-25 19:34:02 +01:00
DjWarmonger
0acae7a708
Additional adjustment of zone positions to ensure balanced zone sizes.
2015-01-16 19:28:27 +01:00
DjWarmonger
ba604f4e43
Implemented "junction" zone type.
2015-01-16 17:39:16 +01:00
DjWarmonger
b7386250e9
Fixed fractalized paths inside zones.
2015-01-16 09:40:11 +01:00
DjWarmonger
fe180335de
Important fix that prevents treasures from sealing off, adding too many blocked tiles.
2015-01-15 11:21:29 +01:00
DjWarmonger
9f05f53e65
Corrected monster agressiveness #2034
2015-01-10 10:23:58 +01:00
DjWarmonger
c22c3cdd80
Merge branch 'develop' of https://github.com/vcmi/vcmi into develop
2015-01-08 07:15:26 +01:00
AlexVinS
8deee7610c
CMapGenerator.cpp: remove unused variables
2015-01-03 01:04:42 +03:00
DjWarmonger
7055357996
Fixed spell scroll generation #2024
2015-01-02 23:01:14 +01:00
DjWarmonger
fdd392e47c
Add some space around unguarded treasures.
2014-12-26 21:13:13 +01:00
DjWarmonger
53c39f7d05
Treasure density and quality now matches OH3.
2014-12-26 19:35:45 +01:00
DjWarmonger
f5f0f61076
Density does not depend on zone size.
2014-12-26 17:13:41 +01:00
DjWarmonger
5fbd856a4c
New rule for placement of unguarded treasures
2014-12-26 16:17:39 +01:00
DjWarmonger
121c39a994
Fixed Jebus and CoD templates.
2014-12-26 15:14:22 +01:00
DjWarmonger
51495381ef
Better obstacle shapes inside zones.
2014-12-25 10:24:48 +01:00
DjWarmonger
b208ebbee9
Increase treasure density to match OH3.
2014-12-24 14:01:05 +01:00
DjWarmonger
75d407b59a
Last improvements - zones on simpler maps should not be smashed.
2014-12-23 18:16:53 +01:00
DjWarmonger
53b3ea8d97
Final update for zone placer.
2014-12-23 14:26:14 +01:00
DjWarmonger
0dbfee0edb
Final shape of algorithm
2014-12-23 13:49:07 +01:00
DjWarmonger
990e38e961
Fixes for placement.
2014-12-23 12:42:59 +01:00
DjWarmonger
868d2f61ee
New zone placement algorithm
2014-12-23 11:39:41 +01:00
DjWarmonger
0e34775770
Important fix.
2014-12-23 10:42:01 +01:00
DjWarmonger
875bfb025e
Better fitness function(s)
2014-12-22 23:35:19 +01:00
DjWarmonger
b52eeb2263
Remember "best" placement at right moment.
2014-12-22 21:47:19 +01:00
DjWarmonger
067b56dda4
Zone placer will remember the best solution, not the last generated.
2014-12-22 21:33:37 +01:00
DjWarmonger
fee2184996
Wood & ore mines will be placed close to zone center.
2014-12-20 22:13:10 +01:00
DjWarmonger
50dc22fa1b
Tuned density.
2014-12-20 14:52:01 +01:00
DjWarmonger
3886a19771
More balanced treasure pile distribution.
2014-12-20 14:01:48 +01:00
DjWarmonger
cb5a3c0f73
Fixed shortage of Prisons on random maps.
2014-12-19 14:04:59 +01:00
DjWarmonger
9e5cc2d1b1
Treasure piles will prefer to grow upwards to make space for object accessible from bottom.
2014-11-22 14:17:53 +01:00
DjWarmonger
91d89add7c
Reverted RMG bug introduced in 6da79d01d7
2014-11-22 13:01:28 +01:00
KroArtem
6da79d01d7
reverted changes back
2014-11-20 15:33:22 +03:00
KroArtem
305ce5b53d
fixed else statement
2014-11-20 15:14:16 +03:00
KroArtem
e73c60740c
corrected text in vcmibuilder, corrected errors and warnings from cppcheck
2014-11-16 20:48:29 +03:00
AlexVinS
4e9cff3403
spelling fix
2014-11-06 15:06:16 +03:00
DjWarmonger
d280b0ac9f
Cleaned some logs.
2014-11-01 09:52:56 +01:00
DjWarmonger
b61b79b458
For 0.97 release: generate full underground to avoid many issues
2014-10-31 18:47:10 +01:00
DjWarmonger
dd0033b5a4
Zones will now not bounce off map edges too much, should allow more space in the middle of a map.
2014-10-31 17:55:47 +01:00
DjWarmonger
9eeea7299a
- Removed unecessary includes
...
- Fixed town types configured from RMG templates
2014-10-31 17:09:34 +01:00
DjWarmonger
afaf74a05b
Improved zone sizes for two-level maps.
2014-10-31 13:37:23 +01:00
DjWarmonger
7ac3713d32
Significantly improved zone graph placement.
2014-10-31 12:58:55 +01:00