Commit Graph
100 Commits
Author SHA1 Message Date
Arseniy ShestakovandDJWarmonger f15cadc87b Implement configurable object sounds: ambient, visit and removal
* If there more than one sound for visit or removal random is played
* At moment only the first ambient sound will be used
2018-01-02 09:49:03 +01:00
Arseniy ShestakovandDJWarmonger e9bfbb70c1 Ambient sounds: implement chebyshev distance for getTilesInRange 2018-01-02 09:48:17 +01:00
Arseniy ShestakovandDJWarmonger e7fa9f8cd6 config: add ambient, visit and removal sounds to schemas / objects 2018-01-02 09:48:17 +01:00
Arseniy Shestakov 75c3e30404 CMake: further improvements for generated VS solutions
* Set vcmiclient as VS_STARTUP_PROJECT so it's will be default debug target instead of ALL_BUILD.
* Add AIs and server as dependencies for client so VS will suggest to rebuild them before debugging.
2017-10-31 09:30:58 +03:00
Arseniy Shestakov 719587b091 Travis CI: avoid probolems with brew for with macOS builds
Also remove Sparkle since it's no longer used
2017-10-29 23:02:37 +03:00
ArseniyShestakovandGitHub 4149662845 Merge pull request #376 from vcmi/newAnimations
New animations
2017-10-11 16:18:06 +03:00
ArseniyShestakovandGitHub 185631e94a Merge pull request #383 from godric3/text_fixes
Text fixes
2017-10-06 17:20:55 +03:00
Arseniy Shestakov ec2bef40fb CServerHandler: avoid crash without interprocess memory
Even if shared memory wasn't disabled we shouldn't crash without it.
It's important because Snap packages don't have access to /dev/shm.
2017-09-18 10:46:58 +03:00
Arseniy Shestakov ae13123129 CPlayerInterface: don't stop hero movement on embark / disembark
When hero have free boarding bonus there no reason to stop movement.
2017-09-16 10:42:27 +03:00
Arseniy Shestakov 494872937a CGuiHandler: use std:atomic to sync breaks in event handling 2017-09-11 12:18:16 +03:00
Arseniy Shestakov 986fc08b1e CGuiHandler: use SDL_PushEvent in fakeMouseMove to avoid crashes
Somehow this worked on other platforms, but on macOS it's cause constant crashes.
2017-09-11 12:18:16 +03:00
Arseniy Shestakov 940c8a0b82 CMake: add $ORIGIN into RPATH for single-directory installation
End up that single-directory installation is useful for Snap package.
2017-09-08 03:43:44 +03:00
ArseniyShestakovandGitHub d01ecbba90 Merge pull request #372 from vcmi/guiCleanup2
Gui cleanup2
2017-09-07 02:46:54 +03:00
Arseniy Shestakov 610740011c CMake: print useful debug information on every build
That way we don't need to ask more questions regarding system where build failed.
2017-09-06 13:15:49 +03:00
ArseniyShestakovandGitHub ca066841f1 Merge pull request #370 from vcmi/issue/2780
Issue/2780
2017-09-05 01:21:58 +03:00
ArseniyShestakovandGitHub 898f2908d8 Merge pull request #369 from henningkoehlernz/skill_mod
Allow modding of secondary skills via skills.json
2017-09-05 00:20:40 +03:00
Arseniy Shestakov d7f76fc433 README: add more text and provide links to instructions on wiki 2017-09-02 16:25:42 +03:00
Arseniy Shestakov 8180e4d5c5 VCMIDirs: improvements for development on Mac and Linux
Also added /usr/share/games in VCMIDirsXDG::dataPaths for mantis#2189.
2017-08-25 08:43:27 +03:00
Arseniy Shestakov 1110dd27d1 Launcher: use QDesktopWidget to get display list instead of SDL2
First of all SDL2 trying to use dbus and this conflict with Qt. Check mantis#2704.
And there no reason to use SDL2 in launcher when Qt can do the same thing as well.
2017-08-24 04:55:44 +03:00
Arseniy Shestakov c6ff28936d Client: change intro video position 2017-08-24 03:29:37 +03:00
Arseniy Shestakov 525ee8771a Launcher: avoid menu items not overlap so it's look slightly better
It's still very ugly, but less ugly than it's was.
2017-08-24 03:04:40 +03:00
Arseniy Shestakov dfe781945b CMake: try to enable automated DS_Store generation for Mac
We should see in AppleScript from CMake would work on Travis CI.
Also use VCMI as volume name of DMG for now and update pre-generated DS_Store for it.
2017-08-21 17:04:53 +03:00
Arseniy Shestakov 97db21043d Documentation: remove README.linux. Information moved to wiki
https://wiki.vcmi.eu/index.php?title=How_to_build_VCMI_(Linux)

Time is limited and duplication not make it any easier to maintain documentation.
Since we have wiki already we must move all important information here and keep it up to date.
2017-08-21 02:45:50 +03:00
ArseniyShestakovandGitHub 2f65e27464 Merge pull request #368 from dydzio0614/vstweak
Visual Studio files tweaks
2017-08-19 18:07:25 +03:00
Arseniy Shestakov c7fbbb1248 Travis CI: improve package name generation script 2017-08-17 12:01:03 +03:00
ArseniyShestakovandGitHub d0bd4efbc7 Merge pull request #362 from vcmi/appveyor/vcpkg
AppVeyor builds with Vcpkg and CMake improvements
2017-08-17 01:47:43 +03:00
Arseniy Shestakov 5fce56d23e CMake: add ENABLE_DEBUG_CONSOLE option for Windows enabled by default
For now we'll keep console, but in future we need a way to toggle it at runtime.
2017-08-16 23:45:38 +03:00
Arseniy Shestakov 03c7bf5ee6 CMake: installer building improvements for Windows
- Implement support for BundleUtilities when Vcpkg is used
- Add some hacky code to copy Qt plugins install directory
- Use same icon for launcher as used for VCMI, launcher one is ugly
2017-08-16 18:34:46 +03:00
Arseniy Shestakov adbfa09e31 CMake: restore some of old MinGW code and improve ENABLE_PCH option
- MinGW: restore DLL deploy for MXE builds
- MinGW: restore linking options for: dbghelp, mswsock, iconv, etc
- MinGW: build with -Og when Debug is used to avoid crashes / freezes
- Cotire: when ENABLE_PCH is OFF we won't include Cotire at all
- FuzzyLite: enable FORCE_BUNDLED_FL by default for Linux to avoid FL5 usage
- Remove Version.cpp from lib source list so it's won't appear in projects
- Add option ENABLE_GITVERSION to disable Version.cpp usage
2017-08-16 16:12:36 +03:00
Arseniy Shestakov 2b3a467728 CMake: structure changes and other small improvements
- Now cmake_minimum_required used properly and set to 2.8.12
- cmake_modules/CMakeCPackOptions.cmake.in is removed
2017-08-16 16:10:08 +03:00
Arseniy Shestakov fee999300e VCMIDirs: add hack to run from single directory on Mac and Linux
Also change working directory to where binary is on all platforms except Android
2017-08-16 16:10:08 +03:00
Arseniy Shestakov 40af43c46e CMake: massive rework for Mac build and other improvements
- macOS: RPATH-related code all removed or disabled
- macOS: new osx/CMakeLists.txt to run some install-code running after all subdirectories
- Assets copying into the runtime output directory implemented for Mac and Linux development
2017-08-16 16:10:07 +03:00
Arseniy Shestakov 7dca95c8cc CMake: multiple improvements for builds and project generation
- Change default build output directory name from "build" to "bin"
- Implement new function vcmi_get_cmake_debug_info
- Link client with SDL2main on Windows and disable debug console
- Remove all old MinGW-specific options since they outdated and MXE work fine
- Set AUTOGEN_TARGETS_FOLDER for better Xcode and Visual Studio projects
- Remove useless vcmitestFiles custom target for less garbage in project files
2017-08-16 16:10:07 +03:00
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
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
ArseniyShestakovandGitHub 4388e12a3a Merge pull request #358 from Chocimier/altar
Fixed bugs in Altar
2017-08-05 02:25:41 +03:00
ArseniyShestakovandGitHub 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
ArseniyShestakovandGitHub b2f74a93cf Code style: add empty parameter list to all lambda expressions (#345) 2017-07-17 15:35:57 +03:00
ArseniyShestakovandGitHub b52cfe5283 Code style: use parentheses for creating heap-based objects (#344) 2017-07-16 12:58:05 +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
ArseniyShestakovandGitHub ea0ceb1805 Merge pull request #323 from vcmi/CStackTweaks
CStack tweaks
2017-07-15 00:42:08 +03:00
ArseniyShestakovandGitHub 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
ArseniyShestakovandGitHub 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
ArseniyShestakovandGitHub 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
ArseniyShestakovandGitHub a9c10633ab Merge pull request #336 from dydzio0614/blackmarketfix
Fix black market behavior to match H3
2017-07-12 15:08:42 +03:00
ArseniyShestakovandGitHub 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
ArseniyShestakovandGitHub fcd63cd982 Merge pull request #333 from dydzio0614/RealFullscreen
Add optional real fullscreen mode support
2017-07-10 21:04:24 +03:00
ArseniyShestakovandGitHub 3634af10ba Merge pull request #330 from dydzio0614/AmountBoxTweaks
Tweak battle creatures amount box hiding
2017-07-08 15:54:18 +03:00
ArseniyShestakovandGitHub 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
ArseniyShestakovandGitHub 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
ArseniyShestakovandGitHub 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
ArseniyShestakovandGitHub 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
ArseniyShestakovandGitHub 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
ArseniyShestakovandGitHub 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
ArseniyShestakovandGitHub 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