1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-24 22:14:36 +02:00
Commit Graph

413 Commits

Author SHA1 Message Date
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
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
ce83db0f43 - Option to configure monster types spawning in a zone
- 25% chance to get neutral faction in zone with no town
2014-10-30 13:03:53 +01:00
DjWarmonger
530a3e69bf Option to allow / ban certain types of town in a template. 2014-10-30 10:00:29 +01:00
DjWarmonger
06983fc346 Fixed issue with empty mage guild on random maps. 2014-10-26 13:09:59 +01:00
AlexVinS
66b022f93e initializer lists part1 2014-10-02 19:43:46 +04:00
DjWarmonger
f7882135e6 More random paths within zones. 2014-10-01 14:56:06 +02:00
DjWarmonger
e40818f2c6 Fixed incorrect treasure distance on underground maps. 2014-09-26 13:19:39 +02:00
DjWarmonger
1f7ce7c1d9 Cut area around towns to prevent sealing off parts of zone. 2014-09-23 21:12:10 +02:00
DjWarmonger
df9d2f8d8f A bit smarter algorithm for cutting paths. 2014-09-23 18:32:32 +02:00
DjWarmonger
87ecd0075e Even tighter obstacles. 2014-09-23 16:53:26 +02:00
DjWarmonger
3e36d0d88b Possible tweak for underground. 2014-09-22 15:27:42 +02:00
DjWarmonger
b96ab55c4d Tighten obstacles to improve map look and feel. It should be now on pair with original maps :) 2014-09-22 14:46:52 +02:00
DjWarmonger
f3d7c658f0 Ensure distance between treasure piles. 2014-09-22 14:18:01 +02:00
DjWarmonger
0f4608ae01 Nicer treasure piles. 2014-09-22 13:36:55 +02:00
DjWarmonger
e3d968e284 Generate Grail to not crash at Obelisks. 2014-09-21 21:51:51 +02:00
DjWarmonger
5cb6eaa252 Fixed major RMG bug. 2014-09-21 20:57:42 +02:00
DjWarmonger
147ca72f65 Fixed RMG Prisons. 2014-09-21 15:59:35 +02:00
DjWarmonger
495c39304d Fixed crash due to incorrect RMG options. 2014-09-18 14:29:57 +02:00
DjWarmonger
3f49860d13 Merge branch 'develop' of https://github.com/vcmi/vcmi into develop 2014-09-05 15:59:29 +02:00
Ivan Savenko
b551bdb725 Final part of the merge
Merging VCMI Dirs refactoring + GUI refactoring with current develop
2014-09-04 20:59:07 +03:00
DjWarmonger
fe922605ce Merge branch 'develop' of https://github.com/vcmi/vcmi into develop 2014-09-01 10:37:03 +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
Karol
3f720901ec Minor fixes.
- Removed unnecessary keywords.
- Inlined some functions.
- Minor coding style fixes.
- Minor fixes.
2014-08-30 18:45:11 +02:00
DjWarmonger
2c91a10dcd Merge branch 'develop' of https://github.com/vcmi/vcmi into develop 2014-08-13 07:50:41 +02:00
beegee1
c1ac95b288 - fixed Clang compiler warnings 2014-08-04 20:36:00 +02:00
beegee1
5139378319 - migrated boost::function/ref/bind to std:: variants 2014-08-04 20:33:59 +02:00
DjWarmonger
2bc762fca8 Increased treasure density a bit. 2014-07-30 15:15:21 +02:00
DjWarmonger
e1936b4b0d Corrected treasure value rounding. 2014-07-30 15:00:44 +02:00
DjWarmonger
e5f3a60c9e Treasure distance now scales depending on zone size. Should be close to OH3 formula. 2014-07-30 13:52:21 +02:00
DjWarmonger
f9245e67e8 Quantize treasure values to let objects at upper bound spawn. 2014-07-30 10:58:45 +02:00
DjWarmonger
5814a057c8 Remove trash treasures from large piles. 2014-07-30 10:21:53 +02:00
DjWarmonger
f8359b4eb5 Randomized shapes for treasure piles. 2014-07-29 19:19:15 +02:00
DjWarmonger
2220786d0c Finally placing objects sparsely. 2014-07-29 19:05:35 +02:00
DjWarmonger
930fa21d38 Tweaked treasure density. 2014-07-29 18:12:27 +02:00
DjWarmonger
3712b9a48b - Fixed treasure zones touching each other, which sometimes resulted in unguarded paths.
- Fixed some object amounts which seemed wrong.
2014-07-29 16:58:08 +02:00
DjWarmonger
dc03a251f6 - Fixed treasure generating formula It should be now identical to OH3.
- Refactorings, tweaks.
2014-07-29 15:58:54 +02:00
DjWarmonger
fe292dfa1d Fixed desync due to uninitialized objects. Added some logging. RMG maps don't work yet, though. 2014-07-27 19:30:17 +02:00
DjWarmonger
3acbda75ef Restored old function signature for sanity. 2014-07-27 13:59:53 +02:00
DjWarmonger
713912574a Fixed duplicated Redwood Observatory on snow and possibly other objects. 2014-07-27 07:37:56 +02:00
DjWarmonger
b97e4b1ab5 Fixed crash when setting players number to 1. 2014-07-26 14:20:33 +02:00
DjWarmonger
b99d6f862d Improved gravity algorithm. Now zones will start as small and inflate until they fill the map. 2014-07-26 10:02:33 +02:00
AlexVinS
b654ea831b [RMG] Fix mingw build, fix some warnings 2014-07-26 10:12:45 +04:00
DjWarmonger
8f946e4add Denser and bigger obstacles. 2014-07-25 18:52:24 +02:00
DjWarmonger
a9ddeb665b Place large obstacles first. 2014-07-25 17:55:48 +02:00
DjWarmonger
67d8a24f0b Experiments with object distance. 2014-07-25 17:10:16 +02:00
DjWarmonger
1dd88d394f All required objects will now constitute main paths of zone (again), which should improve their shape. 2014-07-25 16:26:50 +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
21386081bf Fixed formula for dwellings value. 2014-07-24 12:26:10 +02:00
DjWarmonger
4b28afcaa4 Fixed counting of faction-aligned zones. 2014-07-23 19:17:07 +02:00
DjWarmonger
1cabc8f7f4 - Implemented map object limit which should also distribute the objects evenly
- Fixed Magic Well limit of 1 per zone
2014-07-23 18:02:17 +02:00
DjWarmonger
8471d32334 Fixed not free tiles in front of required objects. 2014-07-23 11:42:05 +02:00
DjWarmonger
eb0ea86ccb Fix for Travis. 2014-07-18 07:40:27 +02:00
DjWarmonger
0763b9a758 - Implemented object per zone limit
- Various tweaks for Travis & repo
2014-07-15 22:33:51 +02:00
DjWarmonger
090abf41e8 Fixed sealing off parts of zones. 2014-07-15 19:52:58 +02:00
DjWarmonger
128b63a285 Fixed tiles around unguarded objects -> denser zones, less misplaced guards. 2014-07-15 19:10:03 +02:00
DjWarmonger
e8580229dc RMG will now actually use all the settings from pregame. Till now it did not. 2014-07-15 16:44:07 +02:00
DjWarmonger
ca7fe822eb Removed treacherous randomized constructor. 2014-07-15 15:41:53 +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
6c0a396094 Corrected y-axis orientation, now object placement is correct. 2014-07-09 16:39:17 +02:00
DjWarmonger
492b866806 - Fixed crash caused by randomShuffle
- Banned Magic Spring as it has 2 visitable positions
2014-07-09 14:27:12 +02:00
DjWarmonger
8d58ce08aa Correct position of blocked tiles. 2014-07-09 12:05:14 +02:00
DjWarmonger
927e16d9f5 Almost correct placement of all objects. 2014-07-09 11:38:16 +02:00
DjWarmonger
2a8ae6310e Better object placement and accessibility. 2014-07-09 09:22:50 +02:00
DjWarmonger
22d26db694 Correct placement of non-overlapping objects. 2014-07-08 20:13:51 +02:00
DjWarmonger
8a8cda950d Fix for previous commit. 2014-07-08 13:17:47 +02:00
DjWarmonger
b9a01fbffe Make sure main town is accessible. 2014-07-08 12:28:50 +02:00
DjWarmonger
d3f97829a1 Prevent RoE elemental dwellings from spawning. 2014-07-08 11:57:02 +02:00
DjWarmonger
82ccf240f0 Fixed fractalize algorithm - better treasure density. 2014-07-08 11:28:55 +02:00
DjWarmonger
3fb498713a Fixed placement of large obstacles. 2014-07-08 08:59:13 +02:00
DjWarmonger
866cd6f540 Allow underground zones to connect more easily. Regression: Obstacles spawn at zone boundaries. 2014-07-07 18:01:15 +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
4cea0a2973 Zone dwellings will now match first town. 2014-07-07 11:29:16 +02:00
DjWarmonger
f65239b51f - Added faction-specific dwellings
- Fixed generation of terrain-specific objects
2014-07-06 22:14:37 +02:00
DjWarmonger
f3ccdc8a21 Even distribution for surface / underground zones. 2014-07-06 10:43:30 +02:00
DjWarmonger
cbd2d74292 Generate random Pandora boxes. 2014-07-06 07:15:52 +02:00
DjWarmonger
0782557814 - Place all standard visitable objects
- Fixed some constructors
2014-07-05 19:36:12 +02:00
DjWarmonger
9cfbbb2048 Merge underground maps with develop. There is a serious issue with rendering rock tiles, which may cause crash. 2014-07-05 15:22:53 +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
60a5c764b8 Correct zone placement & sizing for underground maps. 2014-07-03 12:28:51 +02:00
DjWarmonger
cc8d484775 Refacoring, tweaks. 2014-07-03 09:39:26 +02:00
DjWarmonger
bae9f2083f Workaround for hero & town issue. Game still crashes elsewhere, though. 2014-07-01 12:07:53 +02:00
DjWarmonger
bda71bed83 Uploading misc tweaks. 2014-07-01 07:07:40 +02:00
DjWarmonger
920f56969b Create random obstacles that match terrain. 2014-06-28 09:46:32 +02:00
DjWarmonger
90b72a7856 Workaround with Obelisks. Kill me later. 2014-06-27 20:28:21 +02:00
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