Arseniy Shestakov
56f89270db
macOS: full rework of Mac packaging process
...
- Most of outdated CMakeLists code removed.
- All Mac-specific code is removed include Sparkle support and vcmibuilder app.
- DMG buidling reimplemented using macdeployqt command.
2017-08-16 16:10:07 +03:00
Arseniy Shestakov
193f492b99
CMake: cleanup, project generation and other improvements
...
- Use EXCLUDE_FROM_ALL for FuzzyLite and GoogleTest to avoid inclusion of unneded headers and libraries into installers.
- Set minimum CMake version only in main CMakeLists.txt
- Set project name only in main CMakeLists.txt
- Visual Studio: add assign_source_group function to generate proper filesystem tree
- Visual Studio: set PROJECT_LABEL so generated projects have same names binaries on Windows
- Visual Studio: enabled USE_FOLDERS for projects grouping. This also possibly affect other IDEs.
- Added add_subdirectory_with_folder function to make sure 3rd-party libraries are affected by USE_FOLDERS.
2017-08-16 16:10:07 +03:00
Arseniy Shestakov
b3b29cfda9
CMake: update cotire to 516d78476f
2017-08-16 16:10:07 +03:00
Arseniy Shestakov
7daaa604cc
AppVeyor: add scripts for Coverity Scan build submission
...
I thought we could use AppVeyor due to it's higher timeout of 1 hour, but it's stuck on lib compilation.
I'll still keep scripts in place so we can use them in future in case something changed
2017-08-16 16:10:07 +03:00
Arseniy Shestakov
caf0edf618
AppVeyor: change config to use Vcpkg-generated deps
...
There also extended build matrix for toolchain_test branch.
2017-08-16 16:10:07 +03:00
Arseniy Shestakov
440226f7af
CMake: use dynamic linking for Boost
2017-08-16 16:10:07 +03:00
Arseniy Shestakov
82d107b934
Merge branch 'jcrada-develop' into develop
2017-08-15 18:28:08 +03:00
Arseniy Shestakov
c3e6195cc9
CServerHandler: one more small fix when server is crashed
2017-08-13 23:17:56 +03:00
Arseniy Shestakov
9c7c47c754
CServerHandler: for now don't stop client if server crashed
...
Currently server stable enough and only crash on shutdown.
It's certainly more annoying to crash on end of game than get freeze.
Unfortunately it's crash on shutdown almost every time on macOS.
2017-08-13 23:09:23 +03:00
Arseniy Shestakov
1a1d7c27cb
Travis CI: download MXE packages with -q --yes instead of -qq
...
MXE server is slow and downloads could take more than 10 minutes.
2017-08-13 22:22:57 +03:00
Arseniy Shestakov
fad2a0a3fb
Fix memory leak and remove some garbage files added in last commit
2017-08-13 22:15:25 +03:00
Arseniy Shestakov
cd98dd0b89
CGuiHandler: make terminate_cond non-static
...
Static variable might be not yet initialized by the time it's used inside CGuiHandler constructor.
This fix let us avoid crash that occur when built with Xcode 8.2.1
2017-08-13 21:54:07 +03:00
Arseniy Shestakov
21074e13c3
macOS: always change working directory for launcher and server
...
This make relative paths work properly when launched from DMG or from different directory.
2017-08-09 01:33:12 +03:00
ArseniyShestakov and GitHub
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
ArseniyShestakov and GitHub
4388e12a3a
Merge pull request #358 from Chocimier/altar
...
Fixed bugs in Altar
2017-08-05 02:25:41 +03:00
ArseniyShestakov and GitHub
9d9c026c85
Code style: serialize everything on own lines for easier debugging ( #357 )
2017-07-31 16:35:42 +03:00
Arseniy Shestakov
1b9daecd27
CMake: remove Boost.Test requirement
2017-07-22 03:19:17 +03:00
Arseniy Shestakov
df82380d93
AUTHORS: add FeniksFire. Again
...
Let's hope Warmonger won't remove him on merge ;-)
2017-07-20 19:00:02 +03:00
Arseniy Shestakov
cdd9dbc7f1
Code style: avoid some ambiguous else if indentation
...
If some code intentionally want to break else if to achieve specific indentation there must be braces.
2017-07-19 03:42:26 +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
ArseniyShestakov and GitHub
b2f74a93cf
Code style: add empty parameter list to all lambda expressions ( #345 )
2017-07-17 15:35:57 +03:00
ArseniyShestakov and GitHub
b52cfe5283
Code style: use parentheses for creating heap-based objects ( #344 )
2017-07-16 12:58:05 +03:00
ArseniyShestakov and GitHub
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
ArseniyShestakov and GitHub
ea0ceb1805
Merge pull request #323 from vcmi/CStackTweaks
...
CStack tweaks
2017-07-15 00:42:08 +03:00
ArseniyShestakov and GitHub
006fa6c6df
Merge pull request #332 from FeniksFire/SmallBugFix
...
Fix handling damage from obstacles
2017-07-15 00:09:37 +03:00
Arseniy Shestakov
6abc88c2bf
CMake: set _WIN32_WINNT to 0x0600 for FuzzyLite 6
...
Now CMake builds will require Windows Vista or newer
2017-07-14 21:35:49 +03:00
Arseniy Shestakov
98406d127d
CGMonolith: fix crash on initialization here too
2017-07-14 16:50:29 +03:00
ArseniyShestakov and GitHub
77ca27b90b
Merge pull request #340 from dydzio0614/navalbattlefieldfix2
...
Add proper handling for ship-to-ship battlefield
2017-07-14 16:30:40 +03:00
Arseniy Shestakov
4bf1c9a9a3
Campaigns: fix crash on CMap::instanceNames serialization
2017-07-14 15:37:40 +03:00
Arseniy Shestakov
ee7862b12f
CGSubterraneanGate: fix crash on initialization
...
There is some reason it's appear in campaign maps.
2017-07-14 15:03:55 +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
ArseniyShestakov and GitHub
564cf05117
Merge pull request #339 from dydzio0614/vscleanup
...
Visual Studio project files tweaks
2017-07-13 21:16:23 +03:00
Arseniy Shestakov
99d3b9e37a
CMake: add all launcher headers to CMakeLists.txt
2017-07-13 02:44:58 +03:00
Arseniy Shestakov
dbcd79c48a
Code cleanup: remove double and unneded semicolons
2017-07-12 22:01:10 +03:00
ArseniyShestakov and GitHub
a9c10633ab
Merge pull request #336 from dydzio0614/blackmarketfix
...
Fix black market behavior to match H3
2017-07-12 15:08:42 +03:00
ArseniyShestakov and GitHub
2cf7c7b234
Merge pull request #335 from dydzio0614/bug2476_fix2
...
Fix #2 for bug #2476
2017-07-11 15:40:35 +03:00
Arseniy Shestakov
7e9b9ccad8
AppVeyor: build all branches
2017-07-10 22:41:17 +03:00
ArseniyShestakov and GitHub
fcd63cd982
Merge pull request #333 from dydzio0614/RealFullscreen
...
Add optional real fullscreen mode support
2017-07-10 21:04:24 +03:00
ArseniyShestakov and GitHub
3634af10ba
Merge pull request #330 from dydzio0614/AmountBoxTweaks
...
Tweak battle creatures amount box hiding
2017-07-08 15:54:18 +03:00
ArseniyShestakov and GitHub
d0e603a418
Merge pull request #329 from viciious/cmake_msvc
...
Change output path for cmake builds
2017-07-08 12:31:46 +03:00
Arseniy Shestakov
fab6f409f6
Fix
2017-07-04 22:07:24 +03:00
Arseniy Shestakov
6084950f31
CMake: restore Android build
2017-07-04 22:06:00 +03:00
Arseniy Shestakov
e024c4f7b1
AppVeyor: add notifications to Slack #notifications channel
2017-07-04 04:30:37 +03:00
Arseniy Shestakov
cb669dcca4
AppVeyor: add status badge README.md
2017-07-04 04:08:13 +03:00
Arseniy Shestakov
823e28fe69
AppVeyor CI: small path fix
2017-07-04 03:46:15 +03:00
Arseniy Shestakov
eed36c3b7c
Merge pull request #320 from viciious/msvc
...
AppVeyor integration
2017-07-04 03:41:18 +03:00
ArseniyShestakov and GitHub
b670bcb46f
Merge pull request #313 from vcmi/spellCastQuery
...
Spell cast query
2017-07-04 02:43:22 +03:00
Arseniy Shestakov
01a1353fe1
Cleanup: remove old editor code and adjust related project files
...
It's useless and will fail build if accidentally enabled in CMake.
For anyone interested it's always available in git history.
2017-07-03 21:59:57 +03:00
ArseniyShestakov and GitHub
5dfb7a5771
Merge pull request #317 from vcmi/attackerOwned
...
Refactored CStack::attackerOwned to CStack::side
2017-07-03 16:19:54 +03:00
Arseniy Shestakov
c059f95e2e
CClient::loadGame: pass correct save version for BinaryDeserializer
...
Fix loading crashes that appear after duel mode removal.
2017-07-03 05:11:58 +03:00
Arseniy Shestakov
a1c2307f61
README: add link to Slack invite page
2017-07-02 18:09:33 +03:00
ArseniyShestakov and GitHub
b9112b82a0
Merge pull request #319 from dydzio0614/vsfix
...
Improve VS build filters file + precompiled header path fix
2017-07-02 13:45:27 +03:00
ArseniyShestakov and GitHub
2f305cc68d
Remove code related to duel mode ( #312 )
...
Remove code related to duel mode
2017-07-01 16:30:13 +03:00
Arseniy Shestakov
29e50cc21c
Fix include for SiegeInfo / SideInBattle. Lost them on rebase
2017-06-29 02:27:41 +03:00
Arseniy Shestakov
fb19a3a068
CMake: update all CMakeLists to include actual sources and headers
...
This make it easier to use project with newer CMake and Qt Creator.
I decided against using GLOB since we don't rename files that much.
2017-06-29 02:03:37 +03:00
Arseniy Shestakov
2ce02202c1
Fix more includes and move SideInBattle / SiegeInfo into battle
2017-06-29 02:02:05 +03:00
ArseniyShestakov and GitHub
bd27636cd9
Merge pull request #316 from FeniksFire/improvingTheBattle
...
Refactoring.
2017-06-28 19:55:03 +03:00
Arseniy Shestakov
0fd775151f
Travis CI: disable package upload for external PR
2017-06-28 02:46:56 +03:00
Arseniy Shestakov
eeff7ee315
Few minor code improvements
...
* All command line options now case insensetive.
* SDL_VIDEO_X11_DGAMOUS unused in SDL2 so it's removed.
* Added current year into the --help output for client and server.
* Moved DO_NOT_START_SERVER into session settings.
2017-06-26 04:56:28 +03:00
Arseniy Shestakov
6c8192956e
PreGame: implement campaign saves list and improve filtering
...
There no campaign info screen, but dedicated list for campaign saves.
2017-06-24 03:14:32 +03:00
Arseniy Shestakov
fa02900e91
Travis CI: disable cache for Mac build
...
Usual install via brew takes 800-900 seconds, but cache doesn't help much.
Sadly cache not shared between branches and it's initial upload takes too long.
2017-06-14 19:56:07 +03:00
Arseniy Shestakov
41bb47ca0d
Travis CI: fix coverity branch build and improve formatting
...
Also try to cache /usr/local/Cellar for OS X builds.
2017-06-14 15:22:55 +03:00
ArseniyShestakov and GitHub
872c2363be
Merge pull request #250 from vcmi/spellsImprovements
...
Cumulative spell effects
2017-06-13 23:54:35 +03:00
Arseniy Shestakov
0c7eeeaa5c
Travis CI: update config and upload artifacts after build
2017-06-13 20:32:43 +03:00
Arseniy Shestakov
859c8ede8a
Update Travis CI configuration
...
* Remove Clang 3.5 since compilation with 3.4 and 3.6 is enough.
* Building for Coverity Scan with 3 threads and without launcher since it's timeout otherwise.
* Add Slack notifications to #notifications channel.
* Direct email notifications to noreply at vcmi.eu. We can later add redirection to those who want them.
2017-06-09 15:06:31 +03:00
ArseniyShestakov and GitHub
64531e060d
Merge pull request #310 from Fayth/feature/swipe-support
...
Adventure map swipe support for non-android platforms
2017-06-09 10:38:21 +03:00
ArseniyShestakov and GitHub
1f9c154ec2
Merge pull request #306 from vcmi/feature/debugOptions
...
Debug features: auto tests, headless and spectator modes
2017-06-06 10:34:06 +03:00
Arseniy Shestakov
1a60c1a94b
Shared memory refactoring and command line control options
...
Now client accept following options:
--disable-shm - disable shared memory usage
--enable-shm-uuid - use UUID for shared memory identifier
UUID is useful when a lot of clients starting simultaneously.
Needed for testing and was easier to implement than alternatives.
2017-06-06 07:30:16 +03:00
Arseniy Shestakov
a2284c3209
Automated testing: graceful shutdown for when game is ended
...
Before when CloseServer / LeaveGame applied there was no thread sync on server.
Now server use std::atomic bool for synchronization and graceful shutdown.
2017-06-06 07:30:16 +03:00
Arseniy Shestakov
3f7cb9f893
Client: add some shortcuts for spectator mode
...
Following mode only work when client is started in spectator mode:
F5 - Pause / resume game by locking of pim
F6 - Toggle spectate-ignore-hero
F7 - Toggle spectate-skip-battle
F8 - Toggle spectate-skip-battle-result
F9 - Skip current battle
2017-06-06 07:30:16 +03:00
Arseniy Shestakov
18161d3688
Client: implement spectator mode via command-line options
...
If running with --spectate/-s CPlayerInterface will appear even without human players.
Following command-line options also available:
--spectate-ignore-hero
--spectate-hero-speed=N
--spectate-battle-speed=N
--spectate-skip-battle
--spectate-skip-battle-result
Boolean options can also be changed in runtime via client console:
set spectate-ignore-hero on / off
Spectator mode also:
- Work with --onlyAI option when starting game or loading saves.
- Allow to use any cheat codes.
- Give recon on towns and heroes.
2017-06-06 07:30:16 +03:00
Arseniy Shestakov
d95c74941b
Client: add onlyAI option support for saved games
...
When --onlyAI option used all human players will be replaced with AIs during loading.
2017-06-06 07:30:16 +03:00
Arseniy Shestakov
f7f7fe1d32
Client: fix headless mode and add automated testing mode
...
Command-line option --noGUI replaced with --headless.
Added option --testmap that will run specified map with AI players
2017-06-06 07:30:16 +03:00
Arseniy Shestakov
d84f61fc96
CConnection: use std::static for port conversion
...
Apperantly boost::lexical on Windows will add commas into output.
2017-06-04 16:48:04 +03:00
Arseniy Shestakov
6642816b1e
Client: server port and testing options cleanup
...
Now we only pass port as ui16 instead of std::string
2017-06-04 08:49:23 +03:00
Arseniy Shestakov
4a302d4fe5
CBattleHero::clickRight: more elegant code for side detection
2017-06-03 04:28:03 +03:00
ArseniyShestakov and GitHub
5b0a0d5959
Merge pull request #305 from vcmi/networkImprovements
...
Network and multiplayer improvements
2017-06-02 15:27:08 +03:00
Arseniy Shestakov
bc6f65af04
PlayerCheated: new netpack to apply losing / winning cheat code
2017-06-02 03:34:50 +03:00
Arseniy Shestakov
4b0f702e7e
Add LeaveGame netpack and avoid replying on it and CloseServer
2017-06-02 02:51:44 +03:00
Arseniy Shestakov
c7e7a4d7be
Make usage of boost::interprocess optional
...
If shared memory allocation failed on client server will be started without shared memory option.
Only downside of this is that server wouldn't be able to fallback to random port if default is busy.
2017-06-02 02:44:41 +03:00
Arseniy Shestakov
cc163c4e05
Refactoring of networking code on server and client
...
* Avoid server crash on dummy connect / disconnect.
* Avoid server crash when host left from PreGame.
* Server print it's state with name when it's waiting for connection or in pregame.
* Server will use random port if specified port is busy.
2017-06-02 02:44:39 +03:00
Arseniy Shestakov
9b867808a7
Multiplayer: threat disconnected player just like if he lost
...
Now even if player disconnected on it's own turn game will continue.
2017-05-31 08:04:31 +03:00
Arseniy Shestakov
db5a52a0f8
Multiplayer: gracefully handle player loss unless it's a host
...
We don't want server to shutdown after just one of players lost the game.
2017-05-31 08:04:26 +03:00
Arseniy Shestakov
5d8e943787
Launcher: add sanity checks for QDir::removeRecursively. Issue 2673
...
I'm not always fail to uninstall mod, but when I do I remove $HOME
Bumblebee developers should be proud of us...
2017-05-25 03:03:02 +03:00
ArseniyShestakov and GitHub
bdb0db819d
Merge pull request #300 from Chocimier/iss1761
...
Correctly display visiting army in kingdom overview, fixes #1761
2017-05-23 03:53:11 +03:00
Arseniy Shestakov
09d593e59b
CBattleInterface: avoid freezes on end of battle. Fix issue 1897
2017-03-19 05:15:31 +03:00
Arseniy Shestakov
d4091db172
CInfoBar: only pop up when adventure map interface is on top
2017-03-14 00:03:15 +03:00
Arseniy Shestakov
d0f6ad6e66
Travis CI: disable tests for Coverity Scan builds too
2017-03-09 22:08:56 +03:00
Arseniy Shestakov
98ab9821a5
Travis CI: for now disable tests for Linux
...
Tests we have now depend on Boost 1.59+ features not available in 14.04.
There is no alive PPA for Boost / Trusty I can find.
Xenial support might arrive to Travis or we'll rework config.
2017-03-09 02:52:13 +03:00
Arseniy Shestakov
48f4f42fff
Travis CI: update Qt PPA name
2017-03-09 01:44:38 +03:00
ArseniyShestakov and GitHub
75461cfa0f
Merge pull request #262 from dydzio0614/patch-2
...
Further fix for mantis #2599
2016-12-11 22:12:33 +04:00
Arseniy Shestakov
fd3992ddc9
GatherTroops: avoid crash if nearest dwelling wasn't found. Issue 2624
2016-11-29 21:57:00 +03:00
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