DjWarmonger
7f0b852449
Huge optimization based on profiling - cut generation time by almost half (Jebus XL+U).
2016-08-09 10:12:13 +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
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
AlexVinS
0c21efb202
Start integration of map format into engine
2016-02-09 20:20:03 +03: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
8c5f93dd8f
Little refactoring for object placement.
2016-01-13 19:17:12 +01: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
DjWarmonger
6b45f323ea
Fixed logic regression from previous commit.
2015-09-23 21:38:16 +02:00
DjWarmonger
237d3f2624
Refactoring: random spells
2015-08-12 16:40:08 +02:00
DjWarmonger
927dfa5565
Added correct connections for Subterranean Gates
2015-06-04 09:02:56 +02:00
DjWarmonger
55c1a7eade
Clear unused tiles to make more space for roads.
2015-06-03 15:16:11 +02:00
DjWarmonger
a68b58d969
- Use straight paths for some connections
...
- More fixes for template schema
2015-06-02 16:40:32 +02:00
DjWarmonger
c6f714db9c
Fixed generation of CPU teams.
2015-06-01 21:57:43 +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
6d502ef1a1
Implemented A* algorithm to draw shortest roads - but not correct roads yet.
2015-05-25 16:37:57 +02: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
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
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
9453250e0f
Spawn quest arts in nearby zones.
2015-03-01 10:20:49 +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
8deee7610c
CMapGenerator.cpp: remove unused variables
2015-01-03 01:04:42 +03:00
DjWarmonger
cb5a3c0f73
Fixed shortage of Prisons on random maps.
2014-12-19 14:04:59 +01:00
DjWarmonger
7ac3713d32
Significantly improved zone graph placement.
2014-10-31 12:58:55 +01:00
DjWarmonger
697e42dd24
- Fixed several legacy issues with map templates
...
- Added Clash of Dragons 1.2 template
- Temporarily disabled exception when RMG runs out of two-way monoliths (exception was not handled anyway)
2014-10-30 21:23:25 +01:00
DjWarmonger
e3d968e284
Generate Grail to not crash at Obelisks.
2014-09-21 21:51:51 +02:00
DjWarmonger
495c39304d
Fixed crash due to incorrect RMG options.
2014-09-18 14:29:57 +02:00
DjWarmonger
0edaf4fa8a
Merge pull request #26 from vcmi/FFMpeg
...
Let's do this, way too many branches running now.
2014-09-01 10:35:30 +02:00
DjWarmonger
8b10f70afd
Migrating to MSVS 2013, which allows to delete inttypes.h file.
2014-08-31 19:08:39 +02:00
beegee1
5139378319
- migrated boost::function/ref/bind to std:: variants
2014-08-04 20:33:59 +02:00
DjWarmonger
3acbda75ef
Restored old function signature for sanity.
2014-07-27 13:59:53 +02:00
AlexVinS
b654ea831b
[RMG] Fix mingw build, fix some warnings
2014-07-26 10:12:45 +04:00
DjWarmonger
67d8a24f0b
Experiments with object distance.
2014-07-25 17:10:16 +02:00
DjWarmonger
e65b85873c
Added prisons. hero experience is set to zero due to problem with leveling http://bugs.vcmi.eu/view.php?id=1804
2014-07-25 10:44:17 +02:00
DjWarmonger
156e19cdf6
Various optimizations based on RMG profiling.
2014-07-24 19:16:49 +02:00
DjWarmonger
4b28afcaa4
Fixed counting of faction-aligned zones.
2014-07-23 19:17:07 +02:00
DjWarmonger
be8c9c8378
Correct strength of zone guards. Logs for guard strength.
2014-07-15 14:38:05 +02:00
DjWarmonger
966873181f
Do not let monsters or treasures spawn near already placed monsters.
2014-07-09 22:09:06 +02:00
DjWarmonger
22d26db694
Correct placement of non-overlapping objects.
2014-07-08 20:13:51 +02:00
DjWarmonger
ced3d32f3f
Scale dwelling / pandora with creatures value according to number of native zones.
2014-07-07 16:20:48 +02:00
DjWarmonger
d942858ef9
Throw exception when there are not enough two-way monoliths available.
2014-07-04 14:46:02 +02:00
DjWarmonger
05c2a4e716
Better gravity-based algorithm.
2014-07-04 11:51:28 +02:00
DjWarmonger
5fb07ded38
Correct underground terrains. More improvements for connection placement.
2014-07-04 10:45:00 +02:00
DjWarmonger
d4d3f1a568
More tweaks.
2014-07-04 09:54:55 +02:00
DjWarmonger
ab748ae221
Somewhat better gate placement, attempt to add rocky tiles to underground zones.
2014-07-03 23:11:24 +02:00
DjWarmonger
d118fbffe8
Correct placement of subterranean gates.
2014-07-03 17:24:28 +02:00
DjWarmonger
bae9f2083f
Workaround for hero & town issue. Game still crashes elsewhere, though.
2014-07-01 12:07:53 +02:00
DjWarmonger
e51e2190fd
Merge branch 'develop' of https://github.com/vcmi/vcmi into RMG
2014-06-26 20:12:37 +02:00
Ivan Savenko
c605e2d10c
Gcc compile & warning fixes
2014-06-22 17:26:08 +03:00
DjWarmonger
901188e2e1
Merge branch 'develop' of https://github.com/vcmi/vcmi into RMG
2014-06-22 14:53:51 +02:00
DjWarmonger
3ac306f501
Merge pull request #19 from vcmi/feature/mapObjects
...
Feature/map objects
2014-06-22 14:49:42 +02:00
DjWarmonger
f84e25fa78
Somewhat better algorithm for paths, helps balance object distribution.
2014-06-18 09:57:36 +02:00
DjWarmonger
aa54803c50
Refactoring, clearing logs.
2014-06-15 08:48:46 +02:00
DjWarmonger
236b3ec807
Zones will get random network of passable paths inside them. Treasures will try to fill all remaining fields.
2014-06-12 21:10:43 +02:00
DjWarmonger
b3a39f4920
Misc improvements & tests.
2014-06-07 14:02:57 +02:00
Ivan Savenko
b2e8c92383
Cleanup:
...
- removed commented-out #includ'es
- renamed some files to match name of class
2014-06-05 20:26:50 +03:00
Ivan Savenko
652ceb2bde
Finally shattered CObjectHandler.cpp into tiny bits
...
- This file is now split into multiple smaller files in mapObjects
directory
- CObjectHandler itself now contains only core classes (Handler itself,
CGObject and interfaces)
- Cleaned up excessive #include's through whole project
2014-06-05 19:52:14 +03:00
Ivan Savenko
0afdfa529c
Moved all object-related files to lib/mapObjects directory.
...
Renamed some classes to more readable names
2014-06-05 14:19:47 +03:00
DjWarmonger
62e9f13b08
- Implemented guard generation formula following this post http://forum.vcmi.eu/viewtopic.php?p=12426&sid=09f5fac8992dc880eb6a720615787ca0#12426
...
- Some primitive way to randomize treasures
2014-06-04 10:16:08 +02:00
Ivan Savenko
32b6568b65
Merged changes from upstream and fixed compilation caused by API changes
2014-06-03 22:45:18 +03:00
DjWarmonger
7db06e6bd0
Merge branch 'develop' of https://github.com/vcmi/vcmi into RMG
2014-06-01 21:53:00 +02:00
DjWarmonger
7f31b7dddb
- Zone guards will now match template settings.
...
- Added guards for monoliths.
2014-06-01 16:31:49 +02:00
DjWarmonger
aee748d8d6
- Added monoliths between remote zones
...
- Fixed land connections between zones, now they're generated correctly.
2014-06-01 12:02:43 +02:00
AlexVinS
f212c8221d
[RMG]Fix gcc build, remove some unused variables
2014-05-31 16:11:20 +04:00
DjWarmonger
8e8b27087a
Ground connections between adjacent zones.
2014-05-31 10:56:14 +02:00
DjWarmonger
8ab2a8df86
Zone borders.
2014-05-30 21:23:41 +02:00
DjWarmonger
8c24ea0bfb
Introduced 3-value logic for free, blocked and possibly occupied tiles. Refactoring.
2014-05-30 16:50:06 +02:00
beegee1
72b2e1b8fe
- fixed bug when generating random map and adding player info data
2014-05-29 17:34:46 +02:00
DjWarmonger
b9de3875d9
- Attempt to move zones away from map boundaries
...
- Tweaking algorithm parameters
- Refactorings
2014-05-24 18:39:58 +02:00
DjWarmonger
d2fd71d087
Zone shapes & terrains work nicely.
2014-05-24 14:06:08 +02:00
DjWarmonger
27dcf70b1a
Randomized center positions of zones.
2014-05-24 12:42:06 +02:00
Ivan Savenko
7f276185bd
Moving files:
...
- new config for objects (config/objects/generic.json)
- renamed lib/CDefObjectHandler to lib/CObjectClassesHandler
2014-05-24 02:07:54 +03:00
Ivan Savenko
6bd6be0835
Object class handler is now a proper "handler"
...
- Some changes in interfaces
- Fixed some missing fields in serialization
- Moved object names to new handler
2014-05-24 01:56:51 +03:00
DjWarmonger
75cea9206d
- Fixed uninitialized guarding creature positions
...
- Fix for guard placement
2014-05-23 19:45:17 +02:00
DjWarmonger
35d6215b7b
jfhs patch integration is now complete:
...
Lots of fixes for object placement.
Fixed blocked paths on generated maps.
2014-05-23 19:14:33 +02:00
DjWarmonger
4ea9810831
First version that works:
...
- Covered RMG with exceptions
- Fixes for object randomization & placement
2014-05-23 17:12:31 +02:00
DjWarmonger
342aec0700
More rollback.
2014-05-23 13:23:03 +02:00
DjWarmonger
5b0b152aa3
Trying to restore recent type of mapGenOptions.
2014-05-23 11:56:51 +02:00
DjWarmonger
67793a2db4
Some more.
2014-05-22 21:40:34 +02:00
DjWarmonger
1e1dce20a8
Something that compiles, but crashes when launching RMG map.
2014-05-22 19:25:17 +02:00
DjWarmonger
88f962d6d5
Taken jfhs code as it is.
...
http://forum.vcmi.eu/viewtopic.php?p=10040#10040
2014-05-22 16:27:13 +02:00
Ivan Savenko
b5160acbac
Finalization of object type handler interface
...
- updated code to use new interface
- removed old DefObjHandler (todo - rename file)
Summary:
- most code but loading is now in place
- type names may deserve improvements (some of them are too similar)
- still barely compiles and not tested
2014-05-16 23:50:02 +03:00
beegee1
fe1b16a7ec
Some preparation towards mantis #1743 :
...
- refactored CRandomGenerator (added util methods, improved method names)
- usages of std::minstd_ran are replaced by CRandomGenerator (not in entire code base, C rand() usages are still not replaced)
- refactored getArtSync method of CArtHandler -> now named pickRandomArtifact
- fixed some compiler warnings
- updated source code URL in VCMI spec
2014-03-17 19:51:07 +00:00
Ivan Savenko
2c4c964a45
Large rewrite of adventure map objects:
...
- replaced CDefObjInfo with ObjectTemplate class
- ObjectTempate is a direct member of objects instead of pointer with
shared ownership across CMap, handler and game objects
- simplified handling of objects that can change appearance (e.g. towns)
- all object queries regarding object appearance/blockmaps use h3m pos
instead of relative positions
- removed need of modhandler::reload
- cleanup of some old code
2014-01-02 23:48:38 +00:00
beegee1
d6dfd8bfbc
- Fixed a bug when starting a random map with a town added by a mod
2013-08-22 18:08:42 +00:00
beegee1
fd9995ff82
- Missing thing to previous commit...
2013-08-19 18:46:30 +00:00
beegee1
a13d72b636
- Fixed GCC warning
...
- Small refactoring
- Added RPM spec to SVN again (it's better to keep it there :) )
2013-08-19 18:20:11 +00:00
beegee1
1ac328635a
- Added handler classes CRmgTemplateStorage and CTerrainViewPatternConfig to LibClasses
...
- Re-organized CMapGenerator
- Created CZone and CTemplate objects in the heap and used pointers
- Added stub classes CZoneGraphGenerator and CZonePlacer (include warnings of unused variables, please ignore them)
- Fixed CRandomGenerator bug that always the same number was produced
- Better structure of Visual Studio project files with using filters
- Updated project files (VS, CMake)
- Excluded compiler warning mismatched-tags (false positive)
- Fixed a bug when compiling with unit tests enabled
2013-08-17 12:46:48 +00:00
Ivan Savenko
b87897096c
Filesystem handling is now more flexible
...
- removed CResourceLoader class in favor of one that implements resource loader interface
- removed global pool of files, in favour of more dynamic approach
- renamed some files to match current situation
All these changes are needed mostly for future mod manager + .zip support
2013-07-28 14:49:50 +00:00
Ivan Savenko
f82122d9be
second part of c++11 update. gcc 4.5 and VS 2010 are no longer supported
...
- BOOST_FOREACH -> for
- replaced several boost classes with std (e.g. unordered)
- removed gcc-4.5 workarounds
- ran clang c++11 migration tool to detect some cases:
- - pointer initialized with "0" to nullptr
- - replace for with iterators with range-based for
- - use auto in some situations (type name specified twice, avoid long iterators type names)
2013-06-29 13:05:48 +00:00
beegee1
5328beb8e7
- Fixed some bugs when starting a RMG map - Checks if there is a template for the chosen options(rejects if not) - Added a few templates for development(2 to 4 players, medium maps are supported) - Refactoring
2013-05-21 19:08:06 +00:00