Commit Graph
58 Commits
Author SHA1 Message Date
Dmitry Orlov f4816b0824 Mod system improvement Part I : Special buildings should work in the modders towns 2020-10-07 12:35:11 +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
DydzioandArseniyShestakov 61ae6ce286 Remove useless and wrong recruit conditions 2019-06-01 20:29:49 +03:00
AlexVinS 614cde4a55 Fixed two memory leaks 2018-11-14 20:58:37 +03:00
Dydzio 22ce535a2a Fix not responding statusbar 2018-10-29 14:12:07 +01:00
KasyanDiGrisandAlexander Shishkin fa5a14e2d8 Stabilize vcmi (#488)
* Shared statusbar
* Fixed server fails on client disconnected
2018-08-26 19:09:56 +03:00
Alexander ShishkinandArseniyShestakov 75f8c8b29a Gui cleanup4 (#446)
* use smart pointers for almost all widget fields
* use SDL2 texture for cursor
* a lot af small tweaks and formatting
* removed CompImage class, it is actually useless as long as regular SDLImage support margins
* CGuiHandler: use smart pointers for [push|pop]Int
2018-07-25 01:36:48 +03:00
Alexander ShishkinandArseniyShestakov 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
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
RaphnalorandArseniyShestakov 0f00dbf8cf Fix highlighting of a selected bonus for campaign. (#432) 2018-03-17 12:23:22 +08:00
Arseniy Shestakov 8bbe747e8e Cleanup undef for min / max. NOMINMAX is already in Global.h 2018-02-11 05:42:49 +03:00
FeniksFire a4f701014b Quick Army Purhase in Town Screen
Mouse click on castle icon (it is now clickable) - quick recruit of all
available creatures.
2017-11-12 17:37:08 +01:00
Henning Koehler abdca71828 skill names and descriptions are fully managed by CSkillHandler 2017-08-30 22:35:23 +12:00
Henning Koehler 0357a4fe3b enabled config of skill descriptions 2017-08-26 10:08:06 +12:00
ArseniyShestakovandGitHub cb40c093f8 Avoid boost::optional assignment for Boost 1.64 compatibility (#360)
Two options here: to use emplace from 1.56 or boost::make_optional.
Unfortunately Ubuntu 14.04 is using 1.54 and I'd rather not to break it.
2017-08-05 16:09:29 +03:00
Arseniy Shestakov 6d9f99d4de Code style: and one more pass on lambda expressions parameter list 2017-07-19 02:11:17 +03:00
Arseniy Shestakov b540ab73ed Code style: add empty parameters list to more lambda expressions 2017-07-19 01:39:38 +03:00
Arseniy Shestakov 2da3d8a563 Code style: remove senseless comments 2017-07-18 00:04:00 +03:00
ArseniyShestakovandGitHub b2f74a93cf Code style: add empty parameter list to all lambda expressions (#345) 2017-07-17 15:35:57 +03:00
ArseniyShestakovandGitHub 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
AlexVinS dbaf3cb023 Cleanup & formatting 2017-07-04 01:32:40 +03:00
AlexVinS a65befaa08 Moved town portal logic to mechanics class 2017-07-03 21:43:04 +03:00
AlexVinS 3d1a84875e Queries refactoring
* Moved SUMMON_BOAT special case to mechanics
* Partially moved Town portal logic to mechanics class
* Added generic query reply to CCallback
* Redesigned Queries so that base API do not depends on CGameHandler
* Got rid of CGameHandler::castSpellRequest
* Removed CGameHandler::castSpell
* Added new Query type for town portal dialog (not used yet)
2017-07-03 21:43:04 +03:00
AlexVinS a31c28ec33 Unified war machine mechanics.
* it is possible to define new war machines
* added warMachine field to artifact configuration
2017-06-06 19:18:26 +03:00
FeniksFire 3de891b4b4 Moving/dividing classes from BattleState to separate files. 2017-03-17 16:48:44 +01:00
AlexVinS 2dd6a47764 try to plug a few coverity false positives 2016-11-28 02:50:41 +03:00
AlexVinS 6196ae7fca Fixed a few CWE-457 2016-11-27 19:00:16 +03:00
AlexVinS 8b6543bef2 Fixed CID 1366365, CID 1288839 2016-11-25 19:58:52 +03:00
AlexVinS 63cbf960df cleaned up spell window creation 2016-10-16 09:27:22 +03:00
AlexVinS 5506ae036a Reworked CHillFortWindow
* fixed displaying free upgrades
* do not try to print 3rd or more resource in slot cost (in theory possible with mods)
** we need dynamic gui for that
* CDefEssential--
2016-10-16 08:03:52 +03:00
Arseniy Shestakov 0236309d25 CArtifactsOfHero: use shared_ptr for SCommonPart 2016-08-30 07:05:31 +03:00
ArseniyShestakov 03e9dd3bab Add hero gold cost to GameConstants 2015-12-07 00:13:58 +03:00
ArseniyShestakov 2a63ba148a Thieves Guild: fix tavern map object, lvl 0 when no taverns owned
We also now check not number of towns, but only towns that has tavern built. Also according to original mechanics all taverns always display information based on your number of taverns and not number of taverns of object owner.
2015-12-04 18:38:57 +03:00
ArseniyShestakov 6704ea0cff Rumors: rename getTavernGossip to getTavernRumor for consistency
Original game used "Rumors" and not "Gossips" and we already using rumor in CMap.
2015-11-30 17:51:28 +03:00
Sandy Carter bf353a4f5b windows: Replace CToggleGroup volume widget with CVolumeSlider 2015-08-22 12:40:14 -04:00
AlexVinS a8c45df732 Merge branch 'SDL1Wipe' into develop 2015-06-22 14:24:00 +03:00
AlexVinS f81116e04d Fix mantiss #2208 2015-06-21 20:30:19 +03:00
AlexVinS b6a2323e01 SDL1 wipe, part 2. Untested. 2015-06-21 01:59:31 +03: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
ArseniyShestakov c865055803 Hero Exchange: fix quest log button 2015-02-16 01:33:05 +03:00
Fay 97d89d1d6c World view mode drawing: refactoring, part 1 (merged main drawing method); 2015-01-18 18:53:40 +01:00
Fay 103f2ed627 (auto whitespace fix) 2015-01-18 18:23:23 +01:00
ArseniyShestakov af8b030810 Fix skills learning in Universities
This one fixes 1945 and 1991
2015-01-07 18:33:09 +03:00
ArseniyShestakov 3466457d69 Fix crash on opening of Hill Fort window and attempt to upgrade one stack
This one fixes issue 1899
2015-01-07 13:10:48 +03:00
ArseniyShestakov 94d0e5486a CSplitWindow: added input check
This one fixes issue 1952
2014-12-23 07:38:58 +03:00
Ivan Savenko dce9880d16 Minor refactoring of FunctionList using variadic templates.
Please make sure that all supported compilers are OK with this code
2014-11-12 22:46:37 +02:00
DjWarmonger 530a3e69bf Option to allow / ban certain types of town in a template. 2014-10-30 10:00:29 +01:00
AlexVinS 54453aee73 get rid of boost::assign 2014-10-04 00:34:13 +04:00
Ivan Savenko e692f3f520 Implemnted enemy turn speed selection:
- implemented switch in settings screen
- implemented "0 speed", animation-free. *may* also work for player-owned heroes
- removed no longer used creature window switch
2014-08-11 19:16:39 +03:00