1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-06-17 00:07:41 +02:00
Commit Graph

200 Commits

Author SHA1 Message Date
1b6f4a5cf3 Rebase on develop 2022-09-17 17:43:59 +04:00
ad01c7ffce Vlc obstacles [part 1] (#888)
* obstacles content handler, entity service and VLC integration
2022-09-15 11:06:54 +03:00
4b4cc3cf4b battlefields in VLC and custom bonuses for terrain patches 2022-09-11 11:31:27 +03:00
d98f240164 Fix: Crash on startup when mod dependency is not found 2022-03-21 09:43:06 +02:00
9c8d776398 Merge branch 'develop' into handlersAbstraction
# Conflicts:
#	CI/linux/before_install.sh
#	CI/mac/before_install.sh
#	CI/mxe/before_install.sh
#	lib/CModHandler.cpp
#	lib/mapObjects/CObjectClassesHandler.cpp
#	lib/mapObjects/CObjectClassesHandler.h
#	lib/mapObjects/CommonConstructors.cpp
#	server/CGameHandler.cpp
#	test/CMakeLists.txt
#	test/spells/effects/TeleportTest.cpp
2021-07-16 00:32:13 +03:00
10dc6922de refactor code: change code style and add some comments 2021-04-10 23:23:58 +08:00
3049c4b70e fix bug: may load mod before dependeny 2021-04-04 21:54:00 +08:00
483a4689ce Fixes for code review issues 2021-02-20 04:57:50 +03:00
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
2afdd4ed4c Fix: error in mods resolving routine 2021-02-09 23:14:42 +03:00
98fdf909e8 Fix: Hanging on start up if mod dependency is not resolved' 2021-01-20 11:23:58 +03:00
ef6220ebec Fix: Creature resolution failed when mod is in the custom directory 2020-12-13 03:33:28 +03:00
195fb8ff41 Mod system improvement Part I : Fix content losing after deserialization 2020-10-10 00:31:23 +03:00
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
905d31b8d7 CModHandler: remove hardcoded wog mod integrity check
Now we have unpacked WoG mod version that dont need specific data files.
As far as I can tell only texts for commanders not going through proper mod system
2020-01-15 18:20:51 +00:00
36cb9f11c4 Hardcoded feature: no random week/month effects 2019-03-17 18:27:05 +01:00
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
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
26a222ac62 Change JsonType to enum class (#393)
Change enum JsonType to enum class JsonType
2017-11-27 00:18:18 +03:00
37df5c9d88 reworked mod loading to follow standard approach 2017-09-03 23:49:36 +12:00
03b7da93e2 use logMod for all mod-related logging 2017-08-31 09:23:19 +12:00
c9ef773da0 fixed logging after rebase 2017-08-26 14:06:47 +12:00
3cc84e5975 moved contains functions for multimap to Globals.h 2017-08-26 10:08:06 +12:00
c0740e3623 fixed crash when loading neutral faction; skills.json no longer requires index values 2017-08-26 10:08:06 +12:00
0357a4fe3b enabled config of skill descriptions 2017-08-26 10:08:06 +12:00
8c7895239e always load objects with index at specified position 2017-08-26 10:08:06 +12:00
64e2db6a0f added sufficient debug to diagnose - problem is with lack of original data 2017-08-26 10:08:06 +12:00
05cf95400c loading secondary skill bonuses from config/skills.json works (kind of) 2017-08-26 09:33:08 +12:00
0868164147 (int) -> static_cast<int> 2017-08-12 15:43:41 +03:00
8c0fab1dcf fixes 2017-08-12 14:36:37 +03:00
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
046e1a7c29 Prepared JsonNode for new logging API. 2017-08-11 16:27:42 +03:00
61e241308d Logging cleanup 2017-08-10 19:52:05 +03:00
98140aab6b Add option to toggle monthly artifact change in black market (#341)
* Add black market art change as hardcodedFeature
2017-07-15 00:46:18 +03:00
f1e5797834 Code style: move or add licensing information on top of every file 2017-07-14 01:26:03 +03:00
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
3216422307 Fixed a few CWE-457 2016-11-27 22:07:01 +03:00
bd4040245f Fixed CID 1288859 2016-11-24 22:34:42 +03:00
baa7a84db3 Fix memory corruption during loading artifacts from mods 2016-10-22 10:00:55 +02:00
cf1d5d0bc9 tweaks 2016-08-30 11:45:05 +03:00
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
10dbbead2d Fix indentation of logging code and around it
That wouldn't be as big issue if problem affected few files, but it everywhere in codebase.
Fixed it everywhere since in most files that is the only code with wrong indentation.
2016-03-12 04:46:21 +03:00
53b5587c2e Advance map header serialization 2016-02-21 21:21:22 +03:00
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
1bc41b3ba3 Merge commit '3c844002626f48007a888d4dd8b0b45ec867fc9a' into feature/VCMIMapFormat1
Conflicts:
	lib/mapObjects/CGHeroInstance.cpp
2016-02-03 05:04:44 +03:00
048e22dbe6 Fix build. 2016-01-27 19:32:59 +03:00
d7c0c3759a Merge branch 'Zyx-develop' into develop
Conflicts:
	lib/filesystem/AdapterLoaders.h
2016-01-27 18:53:41 +03:00
36eaa399e7 Add hardcodedFeature to switch winner's retreating with no troops 2016-01-27 16:42:17 +03:00
cf61837ced replaced std::string with boost::filesystem::path in several places 2016-01-16 16:36:16 +01:00
3f79d001c1 Fix subObject identification 2015-12-05 12:38:36 +03:00