DjWarmonger
e51e2190fd
Merge branch 'develop' of https://github.com/vcmi/vcmi into RMG
2014-06-26 20:12:37 +02:00
DjWarmonger
79036484dd
Trying to sort out project changes and compile issues.
2014-06-23 19:58:19 +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
d3134a1290
Add free tiles around unguarded objects.
2014-06-18 10:31:08 +02:00
DjWarmonger
f84e25fa78
Somewhat better algorithm for paths, helps balance object distribution.
2014-06-18 09:57:36 +02:00
DjWarmonger
60df94a3f5
Placing towns according to template.
2014-06-15 21:23:53 +02:00
DjWarmonger
8e66b7168a
Corrected paths & guard for large objects.
2014-06-15 19:56:58 +02:00
DjWarmonger
01355a77d8
Added "monster strength" info to templates.
2014-06-15 11:08:06 +02:00
DjWarmonger
890f29fa7e
Improved guard placement for large objects.
2014-06-15 09:39:30 +02:00
DjWarmonger
aa54803c50
Refactoring, clearing logs.
2014-06-15 08:48:46 +02:00
DjWarmonger
79da7b92ce
Templates now contain info about mines.
2014-06-14 20:05:19 +02:00
DjWarmonger
93b44de63c
Handling "terrain type" and "match terrain to town" options.
2014-06-14 17:14:59 +02:00
DjWarmonger
6cbcfbf0a9
Sealed-off treasure piles will be discarded and filled with obstacles.
2014-06-13 12:04:17 +02:00
DjWarmonger
edd46d87c1
Treasure pile entrance/guard will always be aimed at the center of the zone.
2014-06-13 08:00:26 +02:00
DjWarmonger
2c1001f8e0
Making sure that treasure piles and other objects will always be accessible from the center of zone.
2014-06-12 21:51:16 +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
1a34297c33
Rearranged treasure pile info.
2014-06-08 14:35:41 +02:00
DjWarmonger
c82bfd0f3e
- Fixed guard generation
...
- Added Jebus template for comparison
2014-06-08 08:42:29 +02:00
DjWarmonger
fed2821a94
Fixed behaviour with extreme treasure values.
2014-06-07 22:27:36 +02:00
DjWarmonger
81a64a8e67
Templates can now use multiple configurations of treasure piles.
2014-06-07 15:51:03 +02:00
DjWarmonger
b3a39f4920
Misc improvements & tests.
2014-06-07 14:02:57 +02:00
DjWarmonger
dd5c94fa1e
Fixed overlaping of treasure piles.
2014-06-07 10:47:38 +02:00
DjWarmonger
b68f16e89e
Make sure that non-removable objects have their visitable tile accessible.
2014-06-07 10:13:59 +02:00
DjWarmonger
743d8dcf9f
Treasure piles won't be placed at free tiles.
2014-06-07 09:09:50 +02:00
DjWarmonger
e4ea6727b7
Treasure piles should always be accessible.
...
Boosted treasure value for better overview.
2014-06-05 21:37:39 +02:00
DjWarmonger
1746ab8c12
Added spell scrolls to the mix.
2014-06-05 20:19:42 +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
DjWarmonger
e54c816c92
Treasure piles can now cover several tiles.
2014-06-05 17:19:11 +02: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
c470b9606b
Obstacles won't be generated around unguarded objects.
2014-06-04 20:59:01 +02:00
DjWarmonger
464ffc4afa
Implemented (hopefully) original treasure randomization algorithm.
2014-06-04 19:08:04 +02:00
DjWarmonger
fe05de9aff
Fixed copying zone settings.
2014-06-04 15:41:32 +02:00
DjWarmonger
fdb81f4d5c
Reading treasure values from config.
2014-06-04 15:16:23 +02: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
6221f4ac2c
- Corrected guard types
...
- Corrected town positions
2014-06-03 08:57:20 +02:00
DjWarmonger
2aa53e9568
Corrected guard calculation to match OH3.
2014-06-02 15:38:42 +02:00
DjWarmonger
7db06e6bd0
Merge branch 'develop' of https://github.com/vcmi/vcmi into RMG
2014-06-01 21:53:00 +02:00
DjWarmonger
37463a3e45
Zone position will be moved to its center of mass.
2014-06-01 21:01:18 +02:00
DjWarmonger
7f31b7dddb
- Zone guards will now match template settings.
...
- Added guards for monoliths.
2014-06-01 16:31:49 +02:00
DjWarmonger
3c5a65af3d
- Random monsters will have proper strength.
...
- Fixed blocking of tiles under objects
2014-06-01 14:10:44 +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
DjWarmonger
e97933035c
Randomized connections placement (?)
2014-06-01 10:15:03 +02:00
AlexVinS
f212c8221d
[RMG]Fix gcc build, remove some unused variables
2014-05-31 16:11:20 +04:00
DjWarmonger
3c6a1fb715
Large objects will not spawn at blocked tiles.
2014-05-31 12:26:59 +02: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
DjWarmonger
8ea175ce95
Merge branch 'develop' of https://github.com/vcmi/vcmi into RMG
2014-05-30 07:33:32 +02:00
beegee1
72b2e1b8fe
- fixed bug when generating random map and adding player info data
2014-05-29 17:34:46 +02:00
Ivan Savenko
1d17d60449
gcc update:
...
- removed support for 4.6
- compilation fixes for 4.7
2014-05-29 13:42:05 +03:00
DjWarmonger
690f4a650a
Even better zone shapes.
2014-05-28 21:11:10 +02:00
DjWarmonger
c627aa608a
Merge branch 'develop' of https://github.com/vcmi/vcmi into RMG
2014-05-28 19:34:12 +02:00
DjWarmonger
8f033a7834
Golden ratio for smoother zone shapes.
2014-05-25 13:30:47 +02:00
AlexVinS
c40c79fa94
Make gcc happy
2014-05-25 13:02:15 +04:00
DjWarmonger
69457dbd75
- Implemented some really nice gravity-based algorithm
...
- Fixed zones placed outside the map (causing various bugs)
2014-05-25 06:20:02 +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
021c6b9af3
All zones will be painted with terrain. Removed unused code.
2014-05-24 14:33:22 +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
3a6f748fb5
Paint native terrain in zones.
2014-05-23 21:43:33 +02: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
eae7e5c51f
Rolled back some incorrect values.
2014-05-23 09:22:22 +02:00
DjWarmonger
67793a2db4
Some more.
2014-05-22 21:40:34 +02:00
DjWarmonger
aead8da54f
Fixed some obvious bugs with random map options.
2014-05-22 20:50:24 +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
39d3102905
- Fixed compilation errors on clang
...
- Removed compiler warnings of unused variables
2013-11-16 09:17:19 +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
beegee1
42c2c29976
- Added support for RMG templates(subset of OH3) - Added template "Small Ring" for testing
2013-05-11 17:36:11 +00:00
beegee1
3358a8efec
- Added terrain & object selection classes - Added CComposedOperation - Refactored clear terrain, it is now an operation - Added rough support for updating terrain type if required
2013-04-29 15:51:39 +00:00
beegee1
7a3f5dc23b
- Replaced exceptions with assert for internal-API code
2013-04-22 16:04:17 +00:00
beegee1
dd78205ce8
-Added test subfolder and updated CMakeLists for unit testing - Added a test case for the DrawTerrainOperation class(does not pass all tests successfully, 6 failures left to fix) - Fixed a few bugs
2013-04-22 14:49:28 +00:00
Ivan Savenko
c6cc6e6301
Large changeset, first part of editing H3 objects via mods feature. Changes:
...
- loading of all objects (including H3 objects) will be directed by mod handlers
- common base for all handlers accessible from mod system (IHanderBase)
- json format changes: use struct with string ID's instead of vector
- fixed some gcc/clang errors and warnings
- fixed several cases of memory leaks and invalid memory access (mostly related to usage of bonus system and/or identifiers resolution)
Note that right now loading is much slower than before due to excessive json validation (or not fast enough validator)
2013-04-21 12:49:26 +00:00
DjWarmonger
87988b0ae7
Compile fixes for MVS2010
2013-04-20 16:01:58 +00:00
Michał W. Urbańczyk
e8354908c3
Big change: Introduced new mechanism to handle queries. It should not cause any visible changes ATM apart from fixing several long-standing bugs realted to handling post-visit/battle/levelup callback, including infamous creature bank issues: #955 , #1053 , #1063 , #1191 . Needs testing.
...
Minor changes:
* default log level set to trace
* LOG_TRACE raii guardian lifetime will last till the end of block
* compile fixes
* minor refactorings
2013-04-20 11:34:01 +00:00
beegee1
03c2aa9153
- Refactored CMapEditManager(added structure for undo functionality) - Refactored CMap(terrain pointer is private, safe access via getTile)
2013-04-19 11:43:11 +00:00
beegee1
45fccfb1a6
- Added new trace macro LOG_TRACE which autom. appends leaving func message - Removed old trace macros - Small refactoring in CMapEditManager - Changed documentation comments to /// style for various mapping header files
2013-04-16 13:16:58 +00:00
beegee1
feea589648
- Bug-fixing for last commit - Moved CMapGenOptions to CMapGenerator
2013-04-15 17:18:04 +00:00
beegee1
44bde4a1d3
- Fixed indentation for various files, sorry...
2013-04-14 19:24:31 +00:00
beegee1
c10266ed97
- Reduced complexity to use the CMapGenerator(simpler interface) - Removed h3m.txt and tchar_amigaos4.h
2013-04-14 18:52:05 +00:00
beegee1
ee51c5beb5
- Renamed /lib subfolders to lowercase
2013-04-07 10:48:07 +00:00