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

688 Commits

Author SHA1 Message Date
Alexander Shishkin
f563712782
fix formatting
Co-Authored-By: godric3 <godric3@users.noreply.github.com>
2018-10-28 16:36:11 +01:00
godric3
7ded9dbda8 Fix crash when generating random map with random number of players 2018-10-27 18:18:08 +02:00
DJWarmonger
273802c92c I have no idea what I'm doing 2018-07-26 12:14:29 +02:00
Johannes 'josch' Schauer
95bec98936
lib/rmg/CRmgTemplateZone.cpp: Remove a variable that was introduced in 2016 but never used 2018-04-19 15:07:21 +02:00
Johannes 'josch' Schauer
56fefca806
lib/rmg/CRmgTemplateZone.cpp: Add parenthesis to make operator precedence unambiguous 2018-04-19 15:06:26 +02:00
Arseniy Shestakov
ac66fc7f42 Full rework of pre-game interface and networking
New features for players:
* Loading for multiplayer. Any save could be used for multiplayer.
* Restart for multiplayer. All clients will restart together.
* Loading from single save.
* Hotseat mixed with network game. Multiple players per client.
* Now connection to server could be cancelled.
* Return to menu on disconnections instead of crashes.
* Restoring of last selected map, save or campaign on next run.

TLDR on important changes in engine code:
* UI: work with server separated from UI
* UI: all explitic blitting replaced with IntObject's
* UI: all new code use smart pointers instead of DISPOSE
* Gameplay always start through lobby controlled by server.
* Threads receiving netpacks now shared for lobby and gameplay.
* Campaigns: heroes for crossover now serialized as JsonNode.
2018-04-04 14:24:26 +07:00
AlexVinS
9d108d59db Redone RMG template serialization using JSON serializer, added tests 2018-03-10 19:36:19 +03:00
AlexVinS
26aad17295 Actually copy zone data from map generator template
* fixes https://bugs.vcmi.eu/view.php?id=2482
2018-03-05 17:05:48 +03:00
Nikolay Shalakin
3795985de9 Eliminate warnings / errors. Pull request #388 2018-02-11 15:17:14 +03:00
Michał Kalinowski
26a222ac62 Change JsonType to enum class (#393)
Change enum JsonType to enum class JsonType
2017-11-27 00:18:18 +03:00
DJWarmonger
8f42cdea67 Refactoring: use private pointer to CMapGenerator 2017-11-03 21:03:51 +01:00
AlexVinS
0868164147 (int) -> static_cast<int> 2017-08-12 15:43:41 +03:00
AlexVinS
15138c23de Finished conversion to new logging API
* removed logger streams
* (float3|int3)::operator() -> (float3|int3)::toString(), it was too ugly and confusing.
2017-08-11 23:06:27 +03:00
AlexVinS
143ff682bc Logging cleanup 2017-08-10 21:59:55 +03:00
AlexVinS
85e952f25f Logging cleanup 3 2017-08-10 20:17:10 +03:00
AlexVinS
61e241308d Logging cleanup 2017-08-10 19:52:05 +03:00
ArseniyShestakov
9d9c026c85 Code style: serialize everything on own lines for easier debugging (#357) 2017-07-31 16:35:42 +03:00
Arseniy Shestakov
cdd9dbc7f1 Code style: avoid some ambiguous else if indentation
If some code intentionally want to break else if to achieve specific indentation there must be braces.
2017-07-19 03:42:26 +03:00
ArseniyShestakov
a4c0ad94b1 Code style: remove default value hints in definitions (#342)
Some are outdated and this is something IDE are useful for.
2017-07-15 14:08:20 +03:00
Arseniy Shestakov
f1e5797834 Code style: move or add licensing information on top of every file 2017-07-14 01:26:03 +03:00
Arseniy Shestakov
dbcd79c48a Code cleanup: remove double and unneded semicolons 2017-07-12 22:01:10 +03:00
DJWarmonger
4d1fb67594 Sanity check for Coverity #1366290.
(Vector should never be empty, especially for chosen zone).
2017-05-27 21:37:05 +02:00
DJWarmonger
346d2ac588 Possible fix for #2681. 2017-05-27 14:57:45 +02:00
AlexVinS
a85b4cf2a5 * WIP on event condition format
* Hero portrait serialization
* Fix town spells serialization

* Added support for float exponential part in Json
* Added support for int64 in Json
* Added basic Hero definitions serialization
* Added rumors serialization
* Advanced player info serialization.
* Added Disposed heroes serialization, (!) not covered with tests yet
* Added Local event serialization
* Added Pandoras box serialization
* Added Seer hut reward serialization
* Added CQuest serialization
* Added API for map object instance names serialization.
* Added random dwelling options serialization
* Advanced town options serialization
* Advanced hero options serialization
* More map format tests
* A lot of fixes, cleanup and refactoring
2017-05-27 00:23:19 +03:00
DjWarmonger
73c62f1b4c Restore cut ring around main town. 2016-12-21 22:23:55 +01:00
DjWarmonger
4b3a878c00 Fix for passability. 2016-12-21 13:37:19 +01:00
DjWarmonger
a0596ebecf Add clearance under town to ensure passability. 2016-12-21 10:43:24 +01:00
DjWarmonger
cc452bdfa9 Improved road routing so they can go under any passable object. 2016-12-21 10:10:37 +01:00
DjWarmonger
f78b524731 - Remove obstacle in front of player-owned towns
- Allow obstacles to touch town object
2016-12-20 15:23:47 +01:00
DjWarmonger
e37c35e439 Zone guard will cause object be placed as far away from it as possible in both zones. 2016-12-20 11:58:39 +01:00
DjWarmonger
ee3aec55f2 Correct implementations of A* algorithm. Seemingly fixes #2496, it's also faster. 2016-12-15 16:29:23 +01:00
DjWarmonger
63d33a1e7c Extract priority queue construction for reuse. 2016-12-15 12:58:16 +01:00
DjWarmonger
4102546977 Corrected road generation - they will be straight whenever possible. 2016-12-15 12:36:47 +01:00
AlexVinS
609c6f81bd Fixed a few CWE-457 2016-11-27 22:37:41 +03:00
DjWarmonger
56b201e7e8 Fixed CID 1366289 and 1366290. 2016-11-25 19:32:54 +01:00
AlexVinS
5a3854a8de Fixed CID 1288852, CID 1243202 2016-11-25 16:51:31 +03:00
AlexVinS
db40e125eb Fixed CID 1243181, CID 1197449, CID 1366374, CID 1366377, CID 1366359 2016-11-24 21:56:30 +03:00
dydzio
5c07e1c432 Minor typo fixes 2016-11-10 11:51:47 +01:00
Vadim Markovtsev
c696746017 Fix some compilation warnings 2016-10-28 08:07:05 +02:00
AlexVinS
42e7128acc Fixed possible use-after-free crash with artifacts registration in RMG. 2016-09-08 14:48:48 +03:00
AlexVinS
6dc47a2de0 Fixed use-after-free crash with quests registration in RMG.
* code taken from PR #200
2016-09-08 14:48:46 +03:00
Arseniy Shestakov
452e28d183 Remove some useless includes found by cppclean
This of course was tested and shouldn't break anything
2016-08-26 04:42:16 +03:00
DjWarmonger
dea39b8497 Complete solution for Subterranean Gate placement. 2016-08-15 21:37:38 +02:00
DjWarmonger
7600f8cf08 Quick fix - stop spawning Subterranean Gates at the edge of the map. 2016-08-14 08:36:15 +02:00
DjWarmonger
f995756973 First part of Subterranean Gates rework. Fixes #http://bugs.vcmi.eu/view.php?id=2450 2016-08-13 19:48:44 +02:00
DjWarmonger
8186fcae99 Removed some legacy code, work in progress. 2016-08-13 12:42:45 +02:00
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
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