Arseniy Shestakov
bf3f94a106
Travis CI: try to use 2 threads for Coverity Scan build
...
With GCC and Coverity together memory usage would be too high, but might work with Clang.
2016-11-28 00:09:51 +03:00
Arseniy Shestakov
2b916189f6
Travis CI: working configuration for Coverity Scan auto submission
...
Even with Clang, Ninja and debug set build takes extremely long and end just minute before timeout.
We should investigate using Gold linker for Linux builds on Travis and check what else can be done to speed up building process.
2016-11-27 07:59:33 +03:00
Arseniy Shestakov
f8ccc27702
Travis CI: add notification email for Coverity
2016-11-25 03:24:14 +03:00
Arseniy Shestakov
b880e2b586
Travis CI: fix
2016-11-24 21:33:06 +03:00
Arseniy Shestakov
438bf68ac7
Travis CI: one more fix
2016-11-24 21:18:41 +03:00
Arseniy Shestakov
7800524b48
Travis CI: fix config parse error
2016-11-24 21:13:50 +03:00
Arseniy Shestakov
880d3e8792
Travis CI: attempt to enable Coverity Scan integration
2016-11-24 21:08:47 +03:00
Arseniy Shestakov
30bc46877a
Add Coverity Scan status badge
2016-11-24 19:53:30 +03:00
ArseniyShestakov and GitHub
6a9d3d07e9
Merge pull request #260 from dalerank/patch-1
...
set correct paths for libraries for game directory
2016-11-15 00:18:03 +03:00
ArseniyShestakov and GitHub
06437aa202
Merge pull request #258 from dydzio0614/spellingfix
...
Minor typo fixes. Fix issue #2596
2016-11-10 13:58:25 +03:00
Arseniy Shestakov
37f68713a7
Merge branch 'p254_4' into develop
2016-11-08 00:12:01 +03:00
ArseniyShestakov and GitHub
4477b7c35d
Merge pull request #255 from vcmi/travisMXE
...
Travis: add Windows build via MXE
2016-11-06 06:36:18 +03:00
Arseniy Shestakov
c7056c0302
Travis: add Windows build via MXE
...
Tests are disabled for MXE since they fail to build. Problem is lack of proper main, but fix might break them on other platforms.
Since we don't have many automated tests anyway better to disable it for now when it's built using MXE.
2016-11-06 05:36:50 +03:00
ArseniyShestakov and GitHub
43ebfe2aa8
Merge pull request #244 from FeniksFire/develop
...
0.99 released so we can now merge this one.
2016-11-01 21:43:36 +03:00
Arseniy Shestakov
99d593172d
RPM: Fix date for 0.99 release
2016-11-01 21:26:09 +03:00
Arseniy Shestakov
6c8aa6e938
Linux version bump for 0.99
2016-11-01 20:45:50 +03:00
ArseniyShestakov and GitHub
b0e78444ec
Merge pull request #247 from vcmi/issue/2585
...
Relaxed cast requirements for Quicksand
2016-10-31 17:28:08 +03:00
Arseniy Shestakov
e79c522c4b
Serializer refactoring: fix FileStream usage for game loading
...
Miss this one rebase. Without this one non-English characters in paths to saves cause issues.
2016-10-30 15:46:44 +03:00
Arseniy Shestakov
e13f98e38e
Compilation fix for VS2015 suggested by Ivan and tested by @dydzio0614
...
It's compiled without it by Clang / GCC, but not MSVC++
2016-10-29 21:29:25 +03:00
Arseniy Shestakov
ba5ad286cd
Serializer refactoring: fix paths to work in Visual Studio
2016-10-28 13:52:42 +03:00
Arseniy Shestakov
ba1929728a
Drop old now unused serializer files
2016-10-27 18:44:00 +03:00
Arseniy Shestakov
5f1254a29e
Apply some of Vadim's changes
...
I intentionally didn't transfer changes in CLoadIntegrityValidator since not really agree with them.
2016-10-27 18:39:17 +03:00
Arseniy Shestakov
15b4774076
Logging: always print version of client and server in the begining
2016-10-27 17:14:20 +03:00
Arseniy Shestakov
cb3d6a24e7
Cmake: cleanup for commit hash in build version
...
Since it's available in lib we don't need to include it everywhere.
2016-10-27 17:01:29 +03:00
ArseniyShestakov and GitHub
eec14028fe
Merge pull request #242 from dydzio0614/MapScrollCursor
...
Implement adventure map scroll cursor change
2016-10-17 16:09:01 +03:00
ArseniyShestakov and GitHub
3cf000572a
Merge pull request #234 from dreamer10/develop
...
Bug fix for berserk:
2016-10-08 17:43:22 +03:00
ArseniyShestakov and GitHub
8af4d97664
Merge pull request #233 from vmarkovtsev/develop
...
Bunch of random stuff
2016-10-03 22:25:39 +03:00
ArseniyShestakov and GitHub
6f82dc3e15
Merge pull request #230 from dydzio0614/CommanderExperience
...
Some repair for WoG commanders
2016-10-02 19:29:55 +03:00
ArseniyShestakov and GitHub
5593eb5769
Merge pull request #232 from vmarkovtsev/develop
...
Add the option to forcefully use bundled fuzzylite
2016-10-02 19:05:47 +03:00
ArseniyShestakov and GitHub
1c2a40592a
Merge pull request #229 from vmarkovtsev/develop
...
Fix freshly recruited hero phantom in castle entrance
2016-10-02 18:26:40 +03:00
Arseniy Shestakov
7b7958c548
Cheat codes: add option to apply cheats on different players
...
All suitable codes can now be used with "ai", "all" color or with object ID:
vcminahar all - will apply cheat to all heroes of all players
vcminahar ai - will apply cheat to all heroes of AI players
vcminahar blue - will apply it to all heroes of blue player
vcminahar 553 - will apply cheat to hero with instance id of 553 if it's exist
Cheats without options work as before.
2016-10-02 16:21:46 +03:00
Arseniy Shestakov
bccb82ffcb
Add important changes to ChangeLog
2016-10-02 11:49:46 +03:00
Arseniy Shestakov
04eb0e3787
CGameState::battleGetBattlefieldType: avoid crash on tile 0,0,0
...
Fix issue 2524
2016-10-02 08:39:01 +03:00
ArseniyShestakov and GitHub
95ee76977f
Merge pull request #225 from dydzio0614/CreatureUpgradeWindow
...
Improve creature upgrade handling. Fix issue #2172
2016-09-30 22:31:07 +03:00
Arseniy Shestakov
84fc8770e9
Disable tests for Deb and RPM packages
2016-09-30 01:16:27 +03:00
Arseniy Shestakov
6e5ad22efc
Revert "CMake: add usage of ccache if it's available"
...
This reverts commit 2576dd4692 .
Unfortunately I didn't manage to fix older combination of CMake+Clang with ccache.
Newer version of Clang that I use can't compile older FuzzyLite from VCMI repository anyway.
2016-09-28 08:26:31 +03:00
Arseniy Shestakov
2576dd4692
CMake: add usage of ccache if it's available
...
ccache obviously don't give any real betefit with PCH, but still nice option to test.
2016-09-27 08:36:52 +03:00
Arseniy Shestakov
99dcb44851
Add option hideSystemMessages to hide server messages on client
...
Use "set hideSystemMessages on" in client console to activate.
2016-09-26 16:05:27 +03:00
ArseniyShestakov and GitHub
6c63041d1a
Merge pull request #198 from vcmi/SpellsRefactoring8
...
No reason to not merge this now.
2016-09-24 05:29:55 +03:00
Arseniy Shestakov
bb05db90e5
CRewardableObject::onHeroVisit: avoid crash on pickable objects
...
Missed this problem when tested #214
2016-09-23 11:47:07 +03:00
ArseniyShestakov and GitHub
50b271393c
Merge pull request #214 from Chocimier/iss1975
...
Properly check if corpse was visited
2016-09-23 06:26:10 +03:00
Arseniy Shestakov
9963b9e02b
New command line option for testing: testingsavefrequency
...
Saving is slowest part of VCMI and for testing purposes like benchmarking it's helpful to create saves less often.
When --testingsavefrequency=N is specified client going to save only once in N days.
Option only active if other testing options are specified too.
2016-09-22 03:43:30 +03:00
Arseniy Shestakov
dba58e5eb1
Faerie Dragon: decrease Magic Mirror cast chance from 30 to 20 percent
...
Povelitel find out it's work too often and FizMiG doc confirms this.
2016-09-21 19:09:02 +03:00
Arseniy Shestakov
58f90b736b
New cheat vcmiungoliant: hide all tiles that out of sight radius
2016-09-20 10:51:57 +03:00
Arseniy Shestakov
f721d22dfb
CClient::loadGame: throw proper error if server save is missing
2016-09-19 04:56:20 +03:00
Arseniy Shestakov
02a45007e7
VCAI::showGarrisonDialog: don't try to pick army from locked garrison
2016-09-19 03:30:55 +03:00
Arseniy Shestakov
75cffa7d0b
CGameHandler::arrangeStacks: honour removableUnits of CGGarrison
...
Now server properly check allowed actions for CGGarrison. Fix issue 2303
Server now allow all stack arrangement as long as troops stay inside garrison.
It's possible to put more troops inside using swap/merge/split, but not take anything out if it.
2016-09-19 03:20:44 +03:00
ArseniyShestakov and GitHub
540d239df6
Merge pull request #217 from dydzio0614/patch-1
...
Block surrender via escape tunnel. Fix issue 2398
2016-09-18 23:59:01 +03:00
Arseniy Shestakov
58d11d6074
donotstartserver: ask for IP and port even for "host" player
...
When "--donotstartserver" option specified client will show dialog to use any IP/port for host player.
2016-09-18 23:24:08 +03:00
Arseniy Shestakov
1d45d214e5
CGameHandler refactoring: when possible only use const data
...
We only change gamestate via netpacks so there is absolutely no reason to use non-const pointers and functions in GH.
2016-09-18 11:53:51 +03:00
Arseniy Shestakov
635c48f889
CGHeroInstance::setType: fix to give proper subID to random heroes
...
Hero class id is used to determine hero object appearance, but after than we use subID to store it's unique id.
This change should fix issues 2127 and 2277 since random heroes not going to override others in heroesPool.
2016-09-18 10:01:09 +03:00
Arseniy Shestakov
f6df107a55
Replace more magic subIDs with readable enums
2016-09-18 00:53:37 +03:00
ArseniyShestakov and GitHub
6ff0c5d58d
Merge pull request #216 from dydzio0614/patch-1
...
Correcting random amount of gold in gold piles
2016-09-18 00:36:01 +03:00
ArseniyShestakov and GitHub
512908b989
Merge pull request #215 from dydzio0614/patch-1
...
Fix for compile error in VS 2015
2016-09-17 14:21:36 +03:00
Arseniy Shestakov
7ae4e70134
CGameHandler: fix player id logging
2016-09-17 00:05:10 +03:00
Arseniy Shestakov
1cbe9e1b8b
Client: add donotstartserver option. Alternative way to start a game
...
Option is useful for server profiling also let me test MP over network and much more.
Also there is issues with boost::interprocess on some systems under Windows and this is the way to bypass them.
2016-09-16 20:01:44 +03:00
Arseniy Shestakov
ea65fb15c2
CVCMIServer: do not crash if port not specified
2016-09-16 20:01:07 +03:00
Arseniy Shestakov
84137dcaa5
Add DLL_LINKAGE to getStr and fix player id logging in VCAI
2016-09-16 05:45:00 +03:00
Arseniy Shestakov
30042cac3d
VCAI::performTypicalActions: always check that hero is still available
...
It's weird why this only appear now so if you have ideas check issue 2479.
2016-09-16 04:52:17 +03:00
Arseniy Shestakov
c8090c78ec
CGameState::updateRumor: fix infinite loop with only one map rumor
2016-09-15 23:22:25 +03:00
Arseniy Shestakov
fdca75b4b0
PlayerColor: add getStr and getStrCap functions with optional L10n
2016-09-15 18:22:54 +03:00
Arseniy Shestakov
ca0fe8fdc4
VCAI: do not attempt artefact and army exchange with ally hero
...
While visits of ally heroes supposedly occur accidentally It's still nice to handle it's gracefully.
No reason to prevent visits completely as they useful if hero have skill like Scholar.
2016-09-14 13:34:22 +03:00
Arseniy Shestakov
7ec9601acd
VCAI: safety checks to avoid crashes with boat objects
...
Probably we should rewrite boat-related code to make AI boat handling easier.
2016-09-14 03:44:35 +03:00
Arseniy Shestakov
f623865991
CCastleBuildings: add dialog for shipyard when there is boat already
2016-09-14 03:32:03 +03:00
ArseniyShestakov and GitHub
b5fa97b697
Merge pull request #211 from Chocimier/iss2321
...
Tested. Everthing looks fine so merging.
2016-09-14 00:37:17 +03:00
ArseniyShestakov and GitHub
fedc4b7295
Merge pull request #213 from Chocimier/shrine
...
Check if hero knows spell even without wisdom
2016-09-14 00:09:11 +03:00
Arseniy Shestakov
6dcb9a6068
VCAI: don't remove flagged objects from visitableObjs
...
This make my new shipyard-related changes work properly and might improve owned dwelling usage.
In case there still some code that might cause useless visits it's better just rewrite it insted of removing objects from visitableObjs.
2016-09-13 23:39:32 +03:00
Arseniy Shestakov
1e60ba6516
Only delete CQuest in CMap destructor and not with IQuestObject
...
Quest information must remain accessible even if map object removed. Fix issue 2472
2016-09-13 01:30:47 +03:00
ArseniyShestakov and GitHub
2543e068ac
Merge pull request #209 from vcmi/fix/saveDesyncs
...
Think I tested it enough to merge it
2016-09-11 21:36:42 +03:00
Arseniy Shestakov
9ab7650746
SetHeroesInTown: properly update all client interfaces in multiplayer
...
All interfaces that hero or town visible for must be updated when hero position in town changes. Fix issue 2089
2016-09-11 13:56:00 +03:00
Arseniy Shestakov
fe6c0cf89b
Use RandomGeneratorUtil::randomShuffle for reproducible gameplay
2016-09-11 00:10:52 +03:00
Arseniy Shestakov
c8faca8f39
Refactoring: only use RNGs explicitly to avoid bug prone code in future
...
Now server-side code should always use CRandomGenerator::getDefault which is serialized in GH.
CGameState::getRandomGenerator should be only used from GS code and CPackForClient-based applyGs.
2016-09-11 00:10:46 +03:00
Arseniy Shestakov
70abae9b51
CGameState::battleGetBattlefieldType: use RNG by ref
...
For now I not sure about proper place for battleGetBattlefieldType so I left it in GS
2016-09-09 23:16:43 +03:00
Arseniy Shestakov
ea63497b19
Move CGameState::setupBattle code to CGameHandler::setupBattle
...
No reason to keep this code in GS.
2016-09-09 23:16:43 +03:00
Arseniy Shestakov
53502e84e3
Add PrepareHeroLevelUp netpack to keep secondary skills RNG in sync
2016-09-09 23:16:43 +03:00
Arseniy Shestakov
ca819b3cda
CGHeroInstance::nextPrimarySkill: don't use GS RNG directly
...
Code used from both GS and CGameHandler.
2016-09-09 23:16:42 +03:00
Arseniy Shestakov
c8bcb14d34
CCallbackBase: add CRandomGenerator to all callbacks
...
This is easiest way to make server RNG available to CBattleInfoCallback.
Now server, client and gamestate have own RNG instance.
Only server and gamestate RNGs are serialized.
2016-09-09 23:16:42 +03:00
Arseniy Shestakov
85f49bc968
CGHeroInstance::initArmy: don't use GS RNG. Get RNG through a ref
...
This function used by both server-side and gamestate so it's must use appropriate random source.
2016-09-09 23:16:42 +03:00
Arseniy Shestakov
2ba3b20928
Multiple changes to RNG usage to both client and server
...
Server should never use RNG from CGameState directly.
Instead server get's own RNG that's state is secret for client.
2016-09-09 23:16:42 +03:00
Arseniy Shestakov
960d93ff5f
CGameState: don't use RNG directly for easier desync debugging
...
Only access random generator via CGameState::getRandomGenerator
2016-09-09 23:16:42 +03:00
Arseniy Shestakov
6747555339
CGameHandler: use ObjProperty enum instead of magic numbers
2016-09-09 17:42:16 +03:00
Arseniy Shestakov
9296382bc6
More fixes for clang warning...
2016-09-08 19:58:01 +03:00
Arseniy Shestakov
02f70464fb
Fix mismatched-tags Clang warnings
...
They're not important at all, but sicne there only few of them left just fix them.
2016-09-08 19:42:59 +03:00
Arseniy Shestakov
d06d07a39b
Add ChangeFormation netpack to avoid MP desyncs
...
Previous code was working fine for single client, but would cause desync in multiplayer. Fix issue 2460.
2016-09-08 19:29:15 +03:00
Arseniy Shestakov
78a560767b
VCAI compareArtifacts: consider that art with highest price is best
...
That is suboptimal way as well, but let us avoid infinite loop there. Fix issue 2461
2016-09-08 04:29:27 +03:00
Arseniy Shestakov
e16552c2c6
Merge branch 'PlayerStateFix' into develop
...
This is additional fix for old saves that were corrupt after PR #202 is fixed. Should probably make them all work properly.
Background: many years ago CBonusSystemNode didn't have proper serialization or at least PlayerState had some nissues with it.
Then bonus system was refactored many times, but that hack was forgotten or everyone just decide to not touch it.
Now it's end up this code wasn't needed probably for long time so we can finally remove it.
2016-09-07 18:18:23 +03:00
Arseniy Shestakov
8e94b1c4d2
VCAI::objectRemoved: handle hero boat removal. Fix issue 2350
...
Avoid situation when AI attempt to visit boat after it's killed hero who used it.
2016-09-04 15:44:42 +03:00
ArseniyShestakov and GitHub
f4f170bf92
Merge pull request #202 from vcmi/noncopyableBonusSystemNode2
...
Didn't manage to find any crashes in newly created games. Merging.
Keep in mind that even if most of old saves will load properly some of them still corrupted beyond repair and after some turns they might eventually crash.
2016-09-04 11:06:05 +03:00
ArseniyShestakov and GitHub
5fc1fd4daf
Merge pull request #206 from Chocimier/fixes
...
genBuildingRequirements is tricky one, but in tests it's seems everything is okay
2016-09-04 09:02:34 +03:00
Arseniy Shestakov
076924166a
CPlayerInterface: always choose hero if there no town. Fix issue 2073
2016-09-01 07:08:37 +03:00
Arseniy Shestakov
0236309d25
CArtifactsOfHero: use shared_ptr for SCommonPart
2016-08-30 07:05:31 +03:00
Arseniy Shestakov
668cd83ee5
More work on static variable desyncs
2016-08-29 23:07:52 +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
Arseniy Shestakov
94bb5b9901
CGKeys::wasMyColorVisited: fix to not change playerKeyMap on client
2016-08-25 16:47:52 +03:00
Arseniy Shestakov
a90b657b86
Add reset to some static variables on client
2016-08-25 15:52:20 +03:00
Arseniy Shestakov
f020fa06fd
CPlayerInterface::buildChanged: fix update of advInt townlist
...
Fix issue when town icon on adventure interface is not updated from village after vcmiarmenelos cheat used.
This didn't occur during normal gameplay since usually castleInt is active when you build something.
2016-08-24 06:19:25 +03:00
Arseniy Shestakov
5a387cdaf1
Town: update appearance in applyGs to avoid desyncs. Fix issue 2464
...
Netpacks NewStructures and RazeStructures
2016-08-24 05:15:04 +03:00
Arseniy Shestakov
25a68c3ca1
Add "citadel" and "fort" to all town templates. Lazy fix for issue 1911
...
Without this capitol appearance tend to be used by default.
HotA mod have all templates and actual different DEFs so it's was never affected.
2016-08-24 05:06:21 +03:00
Arseniy Shestakov
abad3cfb17
PlayerState::daysWithoutCastle: change in netpacks only. Fix issue 2462
...
Moving code from CGameHandler to NetPacksLib without changes.
2016-08-23 08:02:04 +03:00
Arseniy Shestakov
355f0a74ab
CGSeerHut: add initialization to constructor
2016-08-23 01:19:03 +03:00