Dydzio
615df6203d
Oprator overload correction...
2018-07-26 16:43:40 +02:00
DJWarmonger
273802c92c
I have no idea what I'm doing
2018-07-26 12:14:29 +02:00
Dydzio
21c1f47a78
Fixes
2018-07-22 19:12:11 +02:00
Dydzio
2c1d91e2ff
Move object ID struct to lib
2018-07-22 18:38:45 +02:00
Alexander Shishkin
9bd662b2f3
Merge pull request #459 from vcmi/issue2969
...
Fix for isuue 2969
2018-07-17 04:28:59 +03:00
Dydzio
6174df0a72
Revert only launcher saving to settings.json from PR441
2018-07-16 22:05:42 +02:00
AlexVinS
d6f889f08a
Setup town`s war machine in finalization step
...
* fixes https://bugs.vcmi.eu/view.php?id=2969
2018-07-16 15:16:55 +03:00
Dydzio
260981d586
Update project files to match vcmi code changes
2018-07-06 18:52:51 +02:00
Andrii Danylchenko
dcbcff41dc
apply review comments for CAndroidVMHelper
2018-05-26 14:50:49 +03:00
Andrii Danylchenko
ee033e9c9c
fix android build
2018-05-25 22:57:29 +03:00
Karlis Senko
224ea28433
Fix various memory errors related to server and connections.
...
* keep connection when restarting scenario
* wrong double free in Connection
* multiple use after free when stopping server
* double free of StartInfo
2018-05-01 00:04:20 +03:00
Karlis Senko
69330de89c
Avoid integer overflow and conversion related UB.
2018-05-01 00:02:07 +03:00
Karlis Senko
40e6292ed2
Fix memory leaks in launcher.
2018-05-01 00:01:20 +03:00
Johannes 'josch' Schauer
8ead3e3b91
lib/CGeneralTextHandler.cpp: fix misleading indentation
2018-04-19 15:12:18 +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
godric3
d9d01f0b68
Exposed more of existing limiters for modders ( #449 )
...
* Exposed alignment, faction and terrain limiters
* Limiters toString() use now boost:format
2018-04-17 19:59:30 +07:00
AlexVinS
d9d5b7b6e5
[c::b] update projects
2018-04-08 18:37:54 +03:00
Henning Koehler
2ede3783dd
Settings: savefrequency is now configurable in launcher
...
* Client command-line can modify arbitrary settings now
* Only launcher auto-saves to settings.json
2018-04-08 17:12:29 +07:00
Alexander Shishkin
5c09f751b3
Gui cleanup3 - UI refactoring to use smart pointers ( #440 )
...
* Changed most gui classes to use shared pointers
* Store and use IImage as shared_ptr
* CSpellWindow redesign
* AdventureMapClasses cleanup
* CLabel: store background as smart pointer
* Store CObjectList items as smart pointers
* Removed destroy function of list item
* Store toggle buttons as smart pointers
* Use CComponent as smart pointer
* Attempt to fix artifact merchant drawing
2018-04-07 18:34:11 +07:00
AlexVinS
a8e1c51c36
[c::b] projects update
2018-04-05 21:12:21 +03:00
ArseniyShestakov
1a6f456ac0
Merge pull request #402 from vcmi/feature/multiplayer
...
Refactoring of all pre-gameplay UI and networking code.
This will break some things, but I'll be able to fix them without constant rebasing.
2018-04-05 23:29:27 +07:00
Arseniy Shestakov
f5d8e5b0cc
Move Boost Asio compatibility code to Global.h. Fix by @dydzio06143
2018-04-05 19:35:08 +07:00
Arseniy Shestakov
74e5c5bf05
CGameHandler: rename CPackForClient argument and add network logging
2018-04-04 14:24:32 +07: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
1fb25c46d3
cleanup
2018-04-03 21:46:12 +03:00
Henning Koehler
82f334b503
Enable Limiter nesting with AllOf, AnyOf, NoneOf ( #439 )
...
* Renamed LimiterList to AllOfLimiter and added AnyOfLimiter, NoneOfLimiter
* Updated bonus schema to new limiter format
2018-04-01 18:17:34 +07: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
Henning Koehler
02b5a5e830
Make bonus stacking configurable + fix duplicate propagation/inheritance ( #433 )
...
Addresses several related problems:
* Propagation / unpropagation of duplicate bonuses is inconsistent, causing bugs
* Duplicate bonuses never stack, which is not always intended behaviour (e.g. multiple copies of resource generating artifacts)
* Different bonuses always stack, which is not always intended behaviour (e.g. Angel + Archangel morale bonuses)
This is addressed as follows:
* Duplicate bonuses are never eliminated during propagation/inheritance.
* Unpropagation eliminates only a single copy of duplicated bonus
* Bonus receives a new field stacking that determines stacking behaviour:
* * empty string = no stacking with duplicates (default)
* * "ALWAYS" = stacks with duplicates & everything else
* * some other value = no stacking with bonuses with same stacking value
Also Morale/Luck window now hides non-stacking bonuses.
2018-03-27 14:54:58 +07:00
Henning Koehler
2b64bf29ed
Fix Issue 2214 ( #437 )
...
CGameInfoCallback::getAvailableHeroes: add checks for tavern
2018-03-22 18:14:43 +07:00
Henning Koehler
591928fc4b
fixed bug introduced in last CAddInfo fix
2018-03-20 12:58:02 +13:00
Henning Koehler
1685641357
Flexible necromancy ( #430 )
...
* made IMPROVED_NECROMANCY bonus configurable
* updated cloak of the undead king
2018-03-17 16:46:16 +08:00
AlexVinS
e666b2740c
Do not use CCreature in CSimpleArmy
2018-03-17 13:24:12 +08:00
AlexVinS
03cfd2cb78
Do not use StackLocation in netpacks
2018-03-17 13:24:12 +08:00
AlexVinS
8cec07afbd
Replaced CGHeroInstance and CGObjectInstance with ObjectInstanceID in NetPacks
2018-03-17 13:24:12 +08:00
Henning Koehler
8e7aa910cb
spacing fix
2018-03-17 11:32:30 +13:00
Henning Koehler
68b757eb53
fixed CAddInfo::operator[] (mutable version)
2018-03-17 11:03:02 +13:00
Henning Koehler
7f76648a7c
Extend Bonus.addInfo to integer vector ( #427 )
...
* changed Bonus::additionalInfo to integer vector
* fixed deserialization for old savegames
* removed newline from JsonNode::toJson()
* updated bonus schema; SPELL_AFTER_ATTACK and SPELL_BEFORE_ATTACK use new addInfo format
* removed unnecessary init in Bonus constructor
2018-03-12 08:20:18 +03:00
Raphnalor
83c6ffbda0
Reflect changes in boost::asio released in Boost 1.66. ( #428 )
...
The service template parameters are disabled by default for now.
Use BOOST_ASIO_ENABLE_OLD_SERVICES macro to enable the old interface.
2018-03-11 21:02:20 +08:00
AlexVinS
9d108d59db
Redone RMG template serialization using JSON serializer, added tests
2018-03-10 19:36:19 +03:00
AlexVinS
7d27d144a5
Possible fix for https://bugs.vcmi.eu/view.php?id=2913
2018-03-10 19:35:20 +03:00
ArseniyShestakov
079cd470c2
Merge pull request #425 from vcmi/CatapultRework
...
Catapult rework
2018-03-06 01:16:53 +08:00
Henning Koehler
e455d97fc7
cleanup of CBonusSystemNode::removeBonusesRecursive
2018-03-05 22:13:23 +08:00
Henning Koehler
6263c4c3eb
renamed CGHeroInstance::updateSkill to updateSkillBonus
2018-03-05 22:13:23 +08:00
Henning Koehler
d3e4fc6e7a
renamed CBonusSystemNode::popBonuses to removeBonusesRecursive
2018-03-05 22:13:23 +08:00
Henning Koehler
4c0a67041b
secondary skill bonuses get updated via replacement (issue 2796)
2018-03-05 22:13:23 +08: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
Dydzio
07cf59592b
Updated catapult spell effect to match new code
2018-03-05 12:55:44 +01:00
Henning Koehler
4ee9d7f65a
Configure JSON merge behaviour via #override flag ( #423 )
...
* added json flags; override flag affects how structs are merged
2018-03-05 11:30:10 +08:00
AlexVinS
f126a34a5e
Fixed https://bugs.vcmi.eu/view.php?id=2904
2018-03-04 11:15:24 +03:00
AlexVinS
5ea1888a14
Summon effect fixes.
2018-03-03 20:37:49 +03:00
Dydzio
44d653b835
Update VS files to match latest develop ( #424 )
2018-03-02 14:32:00 +03:00
Alexander Shishkin
8b002ad774
Issue2888 ( #421 )
...
Fixed issue 2888
* Merged AFTER_ATTACK & BEFORE_ATTACK cast modes.
* Introduced new caster class for creature ability usage
* Added few tests
2018-03-02 13:22:51 +03:00
ArseniyShestakov
7fd090786c
Merge pull request #379 from henningkoehlernz/hero_specialty_scaling
...
Hero specialty scaling
2018-02-28 15:03:24 +08:00
AlexVinS
f917ec5254
Revert "Fixed ancient backward compatibility regression"
...
This reverts commit 3c67e12620
.
2018-02-28 15:00:38 +08:00
AlexVinS
166c04e2e0
Hack fixed serializer assertion by completely disabling AI goals serialization
2018-02-28 15:00:38 +08:00
AlexVinS
3c67e12620
Fixed ancient backward compatibility regression
2018-02-24 19:48:49 +03:00
AlexVinS
080a81db3a
Fixed summoned units not being removed after battle
2018-02-23 21:58:05 +03:00
Henning Koehler
6c443d7094
SPECIAL_SPELL_LEV and SPECIAL_BLESS_DAMAGE no longer scale with hero level
2018-02-21 09:56:20 +13:00
AlexVinS
6d8536b12a
Fixed https://bugs.vcmi.eu/view.php?id=2882
2018-02-20 14:29:06 +03:00
Henning Koehler
89cb7b2780
formatting fix and code simplification in HeroBonus
2018-02-20 23:36:00 +13:00
AlexVinS
2b49df2cab
[Spells] Do not use Unit State in heal effect
2018-02-20 13:19:01 +03:00
AlexVinS
2add0e443e
[Spells] Added "summonByHealth" option to Summon effect
...
* with summonByHealth on, effect power (levelPower * SP) treated as HP
* default behavior (effect power = amount) not changed
* tests included
2018-02-20 08:08:34 +03:00
Henning Koehler
9850e7254e
updated serialization version to 781
2018-02-18 23:32:52 +13:00
Henning Koehler
e2f2568221
added extra debug info for Json parsing
2018-02-18 20:59:05 +13:00
Henning Koehler
6442842731
added one-line option for standard creature specialty; also fixes bug for creatures where upgrades have different attack/defense
2018-02-18 20:59:05 +13:00
Henning Koehler
95e2b44319
added TimesStackLevelUpdater
2018-02-18 20:36:24 +13:00
Henning Koehler
552bad08b3
added TimesHeroLevelUpdater; renamed ScalingUpdater to GrowsWithLevelUpdater
2018-02-18 20:36:24 +13:00
Henning Koehler
f9a8cb2876
fixed formatting and other small issues
2018-02-18 20:22:23 +13:00
Henning Koehler
73f782aa39
fixed various specialty bugs retained during conversion
2018-02-18 20:22:23 +13:00
Henning Koehler
2b8f111a81
converted special.json; fixed bugs in specialty json construction
2018-02-18 20:22:23 +13:00
Henning Koehler
dc7132d8b7
converted castle.json; fixed bugs in Bonus::toJsonNode()
2018-02-18 20:22:23 +13:00
Henning Koehler
00f51e0f98
Updaters replace bonuses during inheritance
2018-02-18 20:22:23 +13:00
Henning Koehler
ad5a9f7205
made HeroSpecial public again
2018-02-18 20:08:34 +13:00
Henning Koehler
20172dba7c
indentation fix
2018-02-18 20:08:34 +13:00
Henning Koehler
ee46862784
replaced JsonNode::isEmpty() with JsonNode::containsBaseData()
2018-02-18 20:08:34 +13:00
Henning Koehler
6414cd18e8
fixed bug with old specialty conversion
2018-02-18 20:08:34 +13:00
Henning Koehler
de6d4d8367
fixed indentation for switch statements
2018-02-18 20:08:34 +13:00
Henning Koehler
6037c19b9a
removed specialtyDeprecated from CGHeroInstance; improved savegame compatibility
2018-02-18 19:47:38 +13:00
Henning Koehler
81c44dac41
minor fixes
2018-02-18 19:47:38 +13:00
Henning Koehler
ab7ce6625e
moved nameForBonus into Bonus class
2018-02-18 19:47:37 +13:00
Henning Koehler
ba7709da50
middle-aged specialty format is converted properly and logged
2018-02-18 19:27:24 +13:00
Henning Koehler
16f59fb213
fixed base merging and limiter creation
2018-02-18 19:27:24 +13:00
Henning Koehler
6ae103dd63
print json in compact format
2018-02-18 19:27:24 +13:00
Henning Koehler
a002df399e
updated json loading and schema to fit new specialty format
2018-02-18 19:27:24 +13:00
Henning Koehler
038cb4bf19
remove base json from specialty bonuses
2018-02-18 19:27:24 +13:00
Henning Koehler
eb02ce0f31
changed specialty json format to struct with base (WIP)
2018-02-18 19:27:24 +13:00
Henning Koehler
d7942fd929
fixed typo in specialty log
2018-02-18 18:53:01 +13:00
Henning Koehler
c31950612c
convert spec format in afterLoadFinalization
2018-02-18 18:53:01 +13:00
Henning Koehler
26862b4c51
improved/fixed specialty json encoding
2018-02-18 18:25:49 +13:00
Henning Koehler
05838b3827
Bonuse::toJsonNode uses string constants for type/subtype
2018-02-18 17:33:23 +13:00
Henning Koehler
c79b776f3c
Limiters (at least creature type limiters) are printed as well
2018-02-18 17:33:23 +13:00
Henning Koehler
89b1ba7538
added basics for specialty format updating
2018-02-18 17:33:23 +13:00
Henning Koehler
5d3f6c3b91
removed CHeroInstance::specialty
2018-02-18 17:33:23 +13:00
Henning Koehler
2703b035a6
added updater to Bonus json format
2018-02-18 17:33:23 +13:00
Henning Koehler
f8a8f6ac72
re-fixed type registration bug properly
2018-02-18 17:33:23 +13:00
Henning Koehler
9a335cdb59
fixed type registration bug (order matters\!)
2018-02-18 17:33:23 +13:00
Henning Koehler
ef7900d0a2
added support for older saves (fails)
2018-02-18 17:33:23 +13:00
Henning Koehler
d594845c32
fixed serialization issues
2018-02-18 17:33:23 +13:00
Henning Koehler
3e0022be27
added support for new specialty json format; old format is converted to bonuses with updaters
2018-02-18 17:33:23 +13:00