1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-28 23:06:24 +02:00
Commit Graph

67 Commits

Author SHA1 Message Date
AlexVinS
b3c26615df Fixed map format regression: there is no default difficulty. 2019-01-26 17:05:35 +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
0ff2e1180d Throw std::runtime_exception instead of a pointer to new one
cf. https://isocpp.org/wiki/faq/exceptions#what-to-throw
2018-10-31 07:27:54 +01:00
Henning Koehler
6ddcb079a4 Enabled new secondary skills to be created (#438)
* Universities, Scholars and Witch Huts may offer new skills
* Moved encode/decodeSkill to CSkillHandler
* Refactored CSkill interface and CSkill::LevelInfo image storage
* Legacy game constants renamed to ORIGINAL_XXX_QUANTITY
2018-03-31 12:56:40 +07:00
AlexVinS
0b70baa95e Spells configuration version 2 (effect-based)
* Indirect spell effects loading
* Json serializer improvements
* spell->canBeCastAt do not allow useless cast for any spell
* Added proxy caster class for spell-created obstacles
* Handle damage from spell-created obstacles inside mechanics
* Experimental GameState integration/regression tests
* Ignore mod settings and load only "vcmi" mod when running tests
* fixed https://bugs.vcmi.eu/view.php?id=2765 (with tests)
* Huge improvements of BattleAI regarding spell casts
* AI can cast almost any combat spell except TELEPORT, SACRIFICE and obstacle placement spells.
* Possible fix for https://bugs.vcmi.eu/view.php?id=1811
* CStack factored out to several classes
* [Battle] Allowed RETURN_AFTER_STRIKE effect on server side to be optional
* [Battle] Allowed BattleAction have multiple destinations
* [Spells] Converted limit|immunity to target condition
* [Spells] Use partial configuration reload for backward compatibility handling
* [Tests] Started tests for CUnitState
* Partial fixes of fire shield effect
* [Battle] Do HP calculations in 64 bits
* [BattleAI] Use threading for spell cast evaluation
* [BattleAI] Made AI be able to evaluate modified turn order (on hypothetical battle state)
* Implemented https://bugs.vcmi.eu/view.php?id=2811
* plug rare freeze when hypnotized unit shots vertically
* Correctly apply ONLY_MELEE_FIGHT / ONLY_DISTANCE_FIGHT for unit damage, attack & defense
* [BattleAI] Try to not waste a cast if battle is actually won already
* Extended JsonSerializeFormat API
* fixed https://bugs.vcmi.eu/view.php?id=2847
* Any unit effect can be now chained (not only damage like Chain Lightning)
** only damage effect for now actually uses "chainFactor"
* Possible quick fix for https://bugs.vcmi.eu/view.php?id=2860
2018-02-08 11:37:21 +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
AlexVinS
b8d0dfac5f [Map format] fixed player options "canPlay" field 2017-11-16 00:03:27 +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
046e1a7c29 Prepared JsonNode for new logging API. 2017-08-11 16:27:42 +03:00
AlexVinS
61e241308d Logging cleanup 2017-08-10 19:52:05 +03:00
AlexVinS
12b42f4495 Improved map format tests 2017-08-03 13:50:54 +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
Alexander Shishkin
7e1b0d71c5 Added option for saving generated maps on client side (#307)
* new configuration option 'general.saveRandomMaps'
* maps being saved to 'userCachePath/RandomMaps'
* no deletion of old random maps
* map filename generated based on template name and random seed
2017-06-04 20:33:28 +03:00
AlexVinS
7a1dd7bd7d Fixed CID 1375707 2017-05-28 14:40:34 +03: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
AlexVinS
8e3e574900 Fix map object appearance serialization 2016-02-26 02:03:14 +03:00
AlexVinS
d2f04332d0 Load object appearance and pos before addNewObject call, it is required for block-visit calculation.
Added a test for tile block-visit.
2016-02-24 00:44:17 +03:00
AlexVinS
c3775486db Serizlize main town info 2016-02-23 23:23:39 +03:00
AlexVinS
17e557be17 Advance Logical identifier condition 2016-02-23 16:36:21 +03:00
AlexVinS
8ed6aa762b fix 2016-02-23 01:14:06 +03:00
AlexVinS
4bcfb8c27d Draft of new Event conditions 2016-02-22 23:43:57 +03:00
AlexVinS
dc5ad7d7b3 Make string instance names persistent 2016-02-22 19:26:42 +03:00
AlexVinS
ac281f3fec Tweaks 2016-02-22 04:53:14 +03:00
AlexVinS
51bee1000b Implemented CGWitchHut::serializeJsonOptions 2016-02-22 03:16:33 +03:00
AlexVinS
dd1aabbe23 Use JsonSerializeFormat for map objects 2016-02-22 02:37:19 +03:00
AlexVinS
a4b6d34ebe Advance map header serialization 2016-02-21 22:13:20 +03:00
AlexVinS
53b5587c2e Advance map header serialization 2016-02-21 21:21:22 +03:00
AlexVinS
5a8ee32f89 Tweaks 2016-02-15 18:16:45 +03:00
AlexVinS
ec760632a6 Advance Json serializer
* added bool, numeric and string support
* added some enum support
* PoC implementation of logical id condition
* Refactoring
2016-02-15 12:21:39 +03:00
AlexVinS
e0af4a665a Added hacks fot spell scroll support. 2016-02-13 19:43:05 +03:00
AlexVinS
a59f0c23ce Dedug tweaks 2016-02-13 17:16:00 +03:00
AlexVinS
5a92e0de2b Small redesign 2016-02-13 16:28:07 +03:00
AlexVinS
22b93106c8 Experimental drafts of Json serializer 2016-02-13 15:04:32 +03:00
AlexVinS
a307d3ca40 tweaks 2016-02-10 13:24:03 +03:00
AlexVinS
fb17914ae5 Debug tweaks 2016-02-10 08:59:24 +03:00
AlexVinS
3c78f960cd Complete json map format integration 2016-02-10 07:28:00 +03:00
AlexVinS
0c21efb202 Start integration of map format into engine 2016-02-09 20:20:03 +03:00
AlexVinS
483276b128 Merge fixes 2016-02-04 12:28:12 +03:00
AlexVinS
408f346541 Drafts for hero serialization 2016-01-24 15:35:08 +03:00
AlexVinS
3eb9de0c0b Grail options serialization 2016-01-24 02:26:32 +03:00
AlexVinS
a638d0cd51 Creature set serialization 2016-01-15 20:24:17 +03:00
AlexVinS
f33bcee84c post-merge fixes 2015-12-05 13:56:38 +03:00
AlexVinS
3bf9696b13 Tweaks 2015-12-05 12:38:37 +03:00
AlexVinS
2d777ea676 Small (temp) fix. Prevent nulls from serialization. 2015-12-05 12:36:43 +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
AlexVinS
9cc3dae5fe Started working on objects serialization 2015-12-05 12:36:42 +03:00
AlexVinS
a5b72ce593 Cleanup 2015-12-05 12:36:41 +03:00
AlexVinS
8493d0cded Initial implementation of new team settings format 2015-12-05 12:36:40 +03:00
AlexVinS
60825fbbd3 Start implementing PlayerInfo serialisation 2015-12-05 12:36:37 +03:00
AlexVinS
2f67e015e1 Fix build 2015-12-05 12:36:36 +03:00