Andrey Filipenkov
aa217236b3
check amount of artifacts on hero when checking requirements of a quest that requires artifact(s)
...
fixes case when 2 or more identical artifacts are required
2022-10-01 09:28:32 +03:00
Tomasz Zieliński
127d7ec40b
Fixed asserts (only for debug build)
2022-09-29 21:10:44 +02:00
Tomasz Zieliński
20c102e648
Remove T prefix from new typedefs
2022-09-29 11:44:46 +02:00
Tomasz Zieliński
f386f42166
Merge remote-tracking branch 'origin/develop' into terrain-rewrite
...
# Conflicts:
# lib/Terrain.cpp
# lib/Terrain.h
# lib/battle/CBattleInfoEssentials.cpp
# lib/rmg/ObstaclePlacer.cpp
# lib/rmg/RiverPlacer.cpp
2022-09-27 07:50:17 +02:00
Tomasz Zieliński
f804f8a326
Store RiverType by value, handle by reference
2022-09-26 09:51:36 +02:00
Tomasz Zieliński
2bd30556a3
Store TerrainType by havlue and handle by reference
2022-09-26 09:17:55 +02:00
Tomasz Zieliński
4ea57ea7fc
A variety of suggested style tweaks
2022-09-25 09:33:56 +02:00
nordsoft
d32898b39b
Merge remote-tracking branch 'upstream/develop' into cpp-map-editor
...
# Conflicts:
# CMakeLists.txt
2022-09-25 00:58:43 +04:00
Andrey Filipenkov
ff635edc0b
wrap all library code into namespace if VCMI_LIB_NAMESPACE is defined
...
preparation for having client and server in a single process
2022-09-24 15:55:21 +03:00
Tomasz Zieliński
0b56778e00
Fix for compatibility in rewrite
2022-09-23 20:01:54 +02:00
Tomasz Zieliński
a5077245a8
Merge remote-tracking branch 'origin/develop' into terrain-rewrite
...
# Conflicts:
# lib/Terrain.cpp
# lib/Terrain.h
2022-09-23 20:01:13 +02:00
Tomasz Zieliński
ebe45d512d
Moved roads and rivers to TerrainTypeHandler, by analogy to TerrainType.
2022-09-23 16:24:01 +02:00
Tomasz Zieliński
6aaf77812b
Changed logic for zone placement.
...
Now every zone can be surface, underground, or both. This is separate from water <-> land distinction.
Iand type is now a combination of flags and can take multiple values: "type": ["LAND", "WATER", "SURFACE", "SUB", "ROCK"]. In nothing is specified, terrains get LAND | SURFACE flags by default.
Non-surface zones will default to DIRT, and non-underground zones will default to SUBTERRA.
2022-09-22 18:23:31 +02:00
nordsoft
89d0de53da
Merge remote-tracking branch 'upstream/develop' into features/cpp-map-editor
...
# Conflicts:
# .github/workflows/github.yml
# launcher/modManager/cmodlist.cpp
# lib/CModHandler.cpp
# lib/CModHandler.h
2022-09-22 17:09:47 +04:00
Andrii Danylchenko
b4d3445559
Merge pull request #971 from kambala-decapitator/fix-warnings
...
Fix most project warnings
2022-09-22 16:05:32 +03:00
Andrii Danylchenko
3d3c513603
Merge pull request #929 from Nordsoft91/branch-merge-versioning
...
Mods versioning [part 3]
2022-09-22 14:56:20 +03:00
Andrey Filipenkov
c9c79887a7
remove unused variables
2022-09-22 11:54:10 +03:00
Tomasz Zieliński
494b0f0226
First version that compiles
2022-09-21 11:34:23 +02:00
Tomasz Zieliński
b20f649521
stash
2022-09-19 16:13:58 +02:00
nordsoft
c348c1a053
Revert "Load template name from user settings"
...
This reverts commit 73cc606ee2
.
# Conflicts:
# lib/rmg/CRmgTemplateStorage.cpp
# lib/rmg/CRmgTemplateStorage.h
# mapeditor/windownewmap.cpp
2022-09-19 02:46:01 +04:00
Nordsoft91
60264aae29
Apply suggestions from code review
...
Co-authored-by: Andrey Filipenkov <decapitator@ukr.net>
2022-09-19 01:18:17 +04:00
DjWarmonger
7ba271edf1
Rotation rebase2 ( #912 )
...
* Instead of [x][y][z] coordinates, map will be stored as [z][x][y].
* Nullkiller AI can get it too.
* Use boost::multi_array instead of nested vectors
* In MapHandler too
* Rotate foreach algorithms, too
* VCAI gets rotated, too
2022-09-18 17:39:10 +03:00
nordsoft
1b6f4a5cf3
Rebase on develop
2022-09-17 17:43:59 +04:00
Nordsoft91
e4ac0d4370
Editor prerequisites [part 2] ( #889 )
2022-09-17 14:04:01 +03:00
DjWarmonger
3d2dc2335b
Switch ObjectTemplate to shared_ptr<const> ( #870 )
2022-09-11 16:13:53 +03:00
nordsoft
cf9314507b
Fix crash in rmg
2022-09-11 11:31:27 +03:00
DjWarmonger
f81d869b4a
Mine roads ( #808 )
...
* Create dirt roads to mines if there are no roads in a zone.
2022-09-11 11:31:27 +03:00
nordsoft
670bca2fdb
Randomly shuffle required objects to avoid patterns
2022-09-11 11:31:27 +03:00
Nordsoft91
8f0dcf928c
Fix problems with water zone ( #784 )
2022-09-11 11:31:27 +03:00
Nordsoft91
e028875fe3
Fix RMG bug with incorrect town placement ( #779 )
...
* Fix RMG bug with incorrect town placement
* Readability tweak
2022-09-11 11:31:27 +03:00
Nordsoft91
454889598f
Improve treasure placement logic ( #775 )
...
Improve treasure placement logic (#775 )
2022-09-11 11:31:27 +03:00
Nordsoft91
1451385a9b
Fix problem with empty areas ( #772 )
...
* Fixes for obstacles and treasures
2022-09-11 11:31:27 +03:00
Nordsoft91
2edf9ef3a4
Fix for sealed-off treasures ( #771 )
...
Fix for sealer-off treasures
2022-09-11 11:31:27 +03:00
Nordsoft91
4bd0ff680a
Random map generator refactoring ( #762 )
...
random map generator refactoring and improvements
2022-09-11 11:31:27 +03:00
Andrii Danylchenko
4b4cc3cf4b
battlefields in VLC and custom bonuses for terrain patches
2022-09-11 11:31:27 +03:00
Nordsoft91
aaa07e4d2e
New terrain support - part 1 ( #755 )
...
Initial support of new terrains
2022-09-11 11:31:26 +03:00
Nordsoft91
5054ee011a
Rmg water support ( #751 )
...
* Roads added to shipyard
* Load general rmg parameters from config
* Fix issue with default zone guard
* Move magic numbers related to balance to randomMap.json
2022-06-11 18:40:24 +03:00
Nordsoft91
5c1a66ab69
Rmg water support ( #745 )
...
* RMG: water support and refactoring
* Fix seers hut bug
2022-06-11 18:40:24 +03:00
Nordsoft91
9d06e51631
Place proper towns in underground ( #743 )
...
Implement feature of proper town selection in underground and surface
* Some minor refactoring of rmg
2022-05-28 16:03:50 +03:00
Nordsoft91
a8265c7052
[0002285] Implement feature with extra resources near mines ( #742 )
...
* RMG: clear start position
* [0002285] some heaps of resources are placed nearby mines
* Fix leak in case of inability to place resource
* Fix indentation according to vcmi style
* Add constant for random amount of resources
* Code review fixes
2022-05-23 13:08:36 +03:00
Konstantin
c6b198ce14
Warning fix (I moved C++17 and CI to another branch) ( #739 )
...
* clang warning fixes
* use CMake 3.10 due to MXE CI does not have 3.13 yet
Co-authored-by: Konstantin <rilian@niisi.ras.ru>
2022-05-19 15:14:50 +03:00
Andrii Danylchenko
8b11b42aaf
Fix RMG to place special dwellings like elemental conflux
2022-04-09 10:57:24 +03:00
AlexVinS
ecaa9f5d0b
Entities redesign and a few ERM features
...
* Made most Handlers derived from CHandlerBase and moved service API there.
* Declared existing Entity APIs.
* Added basic script context caching
* Started Lua script module
* Started Lua spell effect API
* Started script state persistence
* Started battle info callback binding
* CommitPackage removed
* Extracted spells::Caster to own header; Expanded Spell API.
* implemented !!MC:S, !!FU:E, !!FU:P, !!MA, !!VR:H, !!VR:C
* !!BU:C, !!BU:E, !!BU:G, !!BU:M implemented
* Allow use of "MC:S@varName@" to declare normal variable (technically v-variable with string key)
* Re-enabled VERM macros.
* !?GM0 added
* !?TM implemented
* Added !!MF:N
* Started !?OB, !!BM, !!HE, !!OW, !!UN
* Added basic support of w-variables
* Added support for ERM indirect variables
* Made !?FU regular trigger
* !!re (ERA loop receiver) implemented
* Fixed ERM receivers with zero args.
2021-02-14 19:05:43 +03:00
Dmitry Orlov
55b3f0b24c
Fix: Map objects sometimes do not increment primary skills for some heroes
2021-02-13 00:24:14 +03:00
Dmitry Orlov
3cb0dfb143
Fix: RMG issues: 1) hota 2) assertions
2020-10-25 01:03:32 +03:00
John Bolton
a05ae78e67
Fixed lots of warnings.
...
Disabled the following (for MSVC only) that couldn't (or shouldn't) be fixed.
4003: not enough actual parameters for macro 'identifier'
4250: 'class1' : inherits 'class2::member' via dominance
4251: 'type' : class 'type1' needs to have dll-interface to be used by clients of class 'type2'
4275: non dll-interface class 'type1' used as base for dll-interface class 'type2'
2020-10-04 02:20:18 -07:00
laikh
edc1d06f4e
Random Map Generator Option: Allow having more computer only players than human/computer players
...
Remove unused variable humanPlayersCount and function getHumanOnlyPlayerCount()
2020-07-07 19:45:53 +08:00
Michał Kalinowski
ac6b477aa2
Simplify statements
...
-Simplify return statements across the code
2019-03-31 09:43:14 +03:00
Alexander Shishkin
b00e935e4d
Warnings fixes ( #538 )
...
Warnings fixes
* Suppress `missing-braces` for Clang
* Fixed many C4275 warnings
* Fixed almost all Clang/GCC warnings
* Silence most frequent MSVC warning.
* Fixed some pessimizing-move warnings
* Fixed some unused capture warnings
2019-01-19 13:52:02 +03:00
Michał Janiszewski
7be9aa4868
Prevent shadowing of function arguments by local vars
2018-10-29 16:56:14 +01:00
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