Commit Graph
100 Commits
Author SHA1 Message Date
Ivan Savenko 085abb9e32 Fix compilation on Windows 2022-12-06 12:46:10 +02:00
Ivan Savenko 09ac2421b9 Fix Windows single-app build 2022-12-06 01:53:19 +02:00
Ivan Savenko 2a492261e1 Fix building with cmake older than 3.12 2022-12-06 01:33:00 +02:00
Ivan Savenko bc1ba2135d TEST COMMIT, will be reverted after successful Github Action run 2022-12-06 00:02:14 +02:00
Ivan Savenko fa23965d0b Renamed for consistency BUILD_SINGLE_APP -> ENABLE_SINGLE_APP_BUILD 2022-12-06 00:00:56 +02:00
Ivan Savenko d2702a8fcd Removed old definitions from Global.h 2022-12-05 23:09:22 +02:00
Ivan Savenko 5e37ad6836 Changes to single-app build
- client version of library is now always called vcmi, like in regular
builds (e.g. libvcmi.so)
- server version of library keeps its separate name
2022-12-05 22:57:43 +02:00
Ivan Savenko 538c6e39f9 Split VCMIDirs::developmentMode to handle data & binaries separately 2022-12-05 22:56:10 +02:00
Ivan Savenko b8a3bcc8f1 Map editor can be built during single-app build
Editor remains as separate .exe in such build, but it won't break
compilation
2022-12-05 22:28:01 +02:00
Ivan Savenko d13bbabf08 Made copying of config & mods directories on build optional
Added option COPY_CONFIG_ON_BUILD, if set to OFF then post-process
command that copies config & mods directories to build destination will
be disabled.

This command may be convenient in most cases, but when only config file is
edited CMake won't trigger this command since lib was not changed.

At least on Linux, symlinks are more reliable alternative
2022-12-05 22:26:59 +02:00
Ivan Savenko 98f6173516 BUILD_SINGLE_APP is now CMake option 2022-12-05 22:21:21 +02:00
Ivan Savenko 6463e906d5 vcmi can be compiled as single app on Linux
TODO: check compilation on Win/Mac using Github Actions
2022-12-05 21:36:02 +02:00
Ivan Savenko 7c410ab5ce Fix potential crash due to iterator invalidation 2022-11-30 18:07:21 +02:00
Ivan Savenko 5cd405bce8 Fixed meta field handling in JsonUtils::inherit function, removed
workarounds
2022-11-30 17:38:53 +02:00
Ivan Savenko 79c96e94fa Cleared up comments 2022-11-30 17:37:36 +02:00
Ivan Savenko 36ae26bc37 Fixed several scenarios which could lead to json with incorrectly set
mod origin info, leading to non-resolving identifiers
2022-11-29 22:34:32 +02:00
Ivan Savenko abe11aaf54 Introduced "map" scope for accessing identifier on map loading.
Currently it allows access to all mods, should be restricted to mods
that map depends on
2022-11-29 22:33:08 +02:00
Ivan Savenko 4a42ef29d9 VCMI mod version bump 2022-11-29 19:07:21 +02:00
Ivan SavenkoandNordsoft91 c233e57079 Apply suggestions from code review
Co-authored-by: Nordsoft91 <nordsoft@yahoo.com>
2022-11-29 18:24:03 +02:00
Ivan Savenko 26a2ac72b8 Added default tower shooter icons to all standard factions 2022-11-29 15:14:57 +02:00
Ivan Savenko 8b7ca176f8 Updated schema 2022-11-29 15:14:10 +02:00
Ivan Savenko 178cd0226f Show town-specific tower icon in battle queue, if such icon exists 2022-11-29 14:59:50 +02:00
Ivan Savenko 861a6849f9 Added possibility to define per-town tower icon for battle queue in siege 2022-11-29 14:47:51 +02:00
Ivan Savenko 3d1f6df0e2 Added simple icon for tower shooter creature, fixes #791 2022-11-29 12:18:27 +02:00
Ivan Savenko e70b2e7793 Merge pull request #1145 from vcmi/master_debian_build
Fixes building .deb packages on Launchpad PPA
2022-11-21 20:24:13 +04:00
Ivan Savenko 8e6193ad6e Actually use new locale for filesystem access 2022-11-21 16:58:36 +02:00
Ivan Savenko e6afd8621c Minor improvements & fixes to music player
- music will be selected correctly after rapid leaving and reentering
town screen
- music sets are now store as single std::map instead of unnecessary
"map of maps"
- fixed computation of resume time for restarted/looped music tracks
- updated & clarified some comments
- converted C functions for SDL_Mixer callbacks into lambdas
- formatting fixes
2022-11-21 16:20:20 +02:00
Ivan Savenko 61eca7e3be Hotfix: erase stored music position once it has been used
Fixes infinite loop on attempts to resume music track from position
larger than music duration
2022-11-20 23:42:50 +02:00
Ivan Savenko 0b7edd471c Merge pull request #1128 from IvanSavenko/movement_fix
Fix #1088 - Refactoring of hero movement animation code
2022-11-17 13:05:15 +02:00
Ivan Savenko b3067c0e3f Attemts to improve timing of ranged attacks:
- when computing number of steps/frames to display projectile round to
nearest instead of rounding down
- end projectile animation only *after* last step was shown
2022-11-16 17:53:40 +02:00
Ivan Savenko 3771080a45 Merge pull request #1145 from vcmi/master_debian_build
Fixes building .deb packages on Launchpad PPA
2022-11-16 12:32:16 +02:00
Ivan Savenko d1c95204c5 Code formatting 2022-11-16 12:29:07 +02:00
Ivan Savenko 48be492517 Fix parameter order in case of right-to-left lines, formatting 2022-11-16 12:28:07 +02:00
Ivan Savenko 9afc1eed49 Expanded schema to validate ray configuration 2022-11-16 12:26:56 +02:00
Ivan Savenko 1bdc4240d1 Remove unused include 2022-11-16 12:16:23 +02:00
Ivan Savenko 6678a747bb Implemented ray-like projectiles for shooters
- Added missing support for ray-like projectiles
- Archmages, Evil Eyes and Beholders now use ray for shooting
- New method to draw 1 pixel-wide line with color gradient at arbitrary
angle
- fixed incorrect attackClimaxFrame field for Archmages
2022-11-15 21:42:16 +02:00
Ivan Savenko 729357824b Added common method for secondary skill availability checks 2022-11-14 19:08:49 +02:00
Ivan Savenko e06db2365d Fixes #1096 - do not propose banned skills on levelup
Remove possibility to get banned skill on levelup as "obligatory skill"
if all other such skills have been learned before.

May happen under some conditions, e.g. if hero quickly learns other
magic schools - in witch hut/university, leading to case where banned
skill is the only obligatory skill that can be offered on levelup
2022-11-14 17:16:49 +02:00
Ivan Savenko 4fe8ff9b01 Fixes #825 - do not wait for new week dialog in single-player 2022-11-14 15:53:07 +02:00
Ivan Savenko 153315e8c3 Refactoring of hero movement animation code
Replaced ancient and obscure code that had separate routines for each
possible movement direction with generic version.
Fixes #1088 which apparently was due to bug in one of these routines
2022-11-14 12:32:40 +02:00
Ivan Savenko c5c2f0ffb9 Added Lua library to Debian dependencies 2022-11-14 12:12:03 +02:00
Ivan Savenko 6388b73204 Typo in library name 2022-11-13 20:46:17 +02:00
Ivan Savenko 2f0225600a Update .deb packaging data 2022-11-13 20:46:02 +02:00
Ivan Savenko 2324148187 Fix compilation using older SDL library 2022-11-13 14:59:28 +02:00
Ivan Savenko 38b8fc0af8 Formatting: space -> tabs 2022-11-13 14:24:15 +02:00
Ivan Savenko 4af9bc2461 Music: remember playback position of music tracks
Town & terrain themes will now resume from previously stopped position
instead of playing from start, as it was in original game.
Fixes #965
2022-11-13 14:05:51 +02:00
Ivan Savenko a1cca251ec Possible fix for selection of incorrect method for serialization of vector<bool> 2016-10-30 11:42:53 +02:00
Ivan Savenko 256f43f467 Fixes zero-initialized fileVersion member in deserializer 2016-10-29 19:52:19 +03:00
Ivan Savenko 5b76c3f4eb Rebase of codebase changes for refactored serializer
Some of newer fixes not yet merged there and save compatibility a bit off.
2016-10-27 18:12:20 +03:00
Ivan Savenko 3d1b1f4ba8 Add files for rebased serializer refactoring done by Ivan 2016-10-27 17:26:22 +03:00
Ivan Savenko a051a08a46 Merge remote-tracking branch 'origin/issue/2306' into develop 2015-12-18 22:21:11 +02:00
Ivan Savenko 89bf3592e3 Likely fixed duplicated random heroes 2015-12-05 01:40:23 +02:00
Ivan Savenko 8a3feb1e48 Added assert to hopefully catch invalid GiveBonus package at some point 2015-12-05 01:39:14 +02:00
Ivan Savenko faa7cbff18 Fixed gcc/clang warnings 2015-12-04 01:17:43 +02:00
Ivan Savenko c2f4991e99 Replaced barrier with mutex due to data races:
Destruction of barrier while one of the threads is still in barrier.wait() is illegal. This may happen if caller thread reaches wait() after helper thread and immediately return's from the function destroying barrier which is still in use by helper thread
2015-12-04 00:12:49 +02:00
Ivan Savenko f02e553b70 Fixed another uninitialized field possiblity causing issues with StupidAI 2015-12-04 00:11:44 +02:00
Ivan Savenko 2e56b547ee replaced references to SectorMap with shared_ptr to avoid data races in AI code 2015-12-04 00:10:51 +02:00
Ivan Savenko 73b4188fab Fixed access to unitialized memory causing StupidAI to act stupid 2015-12-03 21:28:01 +02:00
Ivan Savenko 90dfe3e782 reduced visibility for members of Mine and Dwellings 2015-12-02 22:34:13 +02:00
Ivan Savenko 7189a12df2 removed few more includes from headers 2015-12-02 22:10:46 +02:00
Ivan Savenko 7b5a7f43ad Removed includes of CGameState from headers 2015-12-02 21:39:53 +02:00
Ivan Savenko c3ce4b25df Removed all #include's of CMap.h from headers.
To all - please, avoid #include's in headers as much as possible
This kills incremental build compile times
2015-12-02 21:05:10 +02:00
Ivan Savenko bef7048460 minimized visibility of members of teleportation-related classes 2015-12-02 21:01:43 +02:00
Ivan Savenko f9d9a38e53 Fixed gcc warnings 2015-12-02 20:59:38 +02:00
Ivan Savenko 3aa5360ac6 Merge pull request #135 from josch/develop
Replace deprecated FFmpeg API for compatibility with ffmpeg 2.9
2015-11-07 11:23:30 +02:00
Ivan Savenko 86e1ae928e Merge pull request #121 from vmarkovtsev/develop
Fix portability issues with vcmibuilder on MacOSX
2015-10-21 19:45:47 +03:00
Ivan Savenko aefe5923fd update sdl packages for Ubuntu/Debian to 2.0 2015-08-30 00:10:35 +03:00
Ivan Savenko 1066330925 update minimal boost version 2015-08-30 00:01:57 +03:00
Ivan Savenko 90bf1a5a54 Merge branch 'master' of github.com:vcmi/vcmi 2015-05-02 09:02:22 +03:00
Ivan Savenko 78d02cb1eb Linux version bump 2015-05-02 09:01:48 +03:00
Ivan Savenko b55ab61605 Merge pull request #98 from AMDmi3/freebsd-fixes
FreeBSD fixes
2015-04-10 22:12:37 +03:00
Ivan Savenko 376b2436f8 Fixed weird bug in serializer which caused corrupted data in Json map (missing guards entry in banks) 2015-03-31 00:56:33 +03:00
Ivan Savenko eef45b5ae8 Fixed warnings 2015-03-31 00:55:37 +03:00
Ivan Savenko 8139eaf961 Merge pull request #71 from Kedrigern/patch-1
Update F21 dependency
2015-02-20 22:32:11 +02:00
Ivan Savenko 2dd5145796 Merge pull request #61 from ArseniyShestakov/fixMapDescription
Fixes for two visual map description bugs
2014-12-02 22:55:57 +02:00
Ivan Savenko a472199812 Merge pull request #63 from josch/vcmibuilder_case_insensitive
let data, maps and mp3 directory be truly case insensitive
2014-12-02 22:54:27 +02:00
Ivan Savenko 7d429247ab Merge pull request #57 from josch/includeFuzzyliteCPP11Headers
add FL_CPP11 preprocessor define independent of which fuzzylite is used
2014-11-18 19:25:05 +02:00
Ivan Savenko ffd5867913 Merge pull request #58 from josch/kFreeBSDandHurdSupport
FreeBSD and HURD support
2014-11-18 19:24:50 +02:00
Ivan Savenko b73edea856 Merge pull request #59 from adrianlang/patch-1
vcmibuilder: Support another root directory
2014-11-18 19:22:56 +02: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
Ivan Savenko a3d4f9d22f Fixed conversion warnings caused by Qt 2014-11-12 22:46:36 +02:00
Ivan Savenko 356b6ab34a A bit delayed, but still - Linux version bump 2014-11-11 22:59:26 +02:00
Ivan Savenko 2692150efc Merge pull request #52 from josch/launcherNoAutoCheckRepositories
Launcher: do not automatically check remote repositories
2014-11-10 19:51:14 +02:00
Ivan Savenko 176e029cd1 Merge pull request #53 from xyzz/fix_1907
Fixed "Hex grid" button crash, partially fixes 1907.
2014-11-09 16:00:54 +02:00
Ivan Savenko 7eff144a9f Replaced Qt5 PPA
Previous PPA seems to be no longer available. Replacing it with PPA from Canonical.
2014-10-05 11:48:56 +03:00
Ivan Savenko 7c70d2e493 Merge pull request #40 from IlyaPomaskin/patch-1
Fixing Mac OS building issues
2014-10-03 22:02:21 +03:00
Ivan Savenko 6768237aae Disabled build configuration that fail too often
Should be re-enabled once we will fix that huge memory usage.
2014-09-23 18:50:37 +03:00
Ivan Savenko 6aef70eca1 Fixed animation order in lucky attacks. May fix 1891. 2014-09-23 17:30:36 +03:00
Ivan Savenko 84e2f07c18 Disabled monthly reset of banks. Reasoning:
- workaround for 1896 (still needs a fix)
- to match H3 behaviour
2014-09-23 16:06:21 +03:00
Ivan Savenko a5c3ed080f Fixes 1892 - properly handle animation of dying clones 2014-09-23 16:02:30 +03:00
Ivan Savenko bfd3aab78d More precise timings for logs (microsecond resolution) 2014-09-23 16:01:43 +03:00
Ivan Savenko 33c0e24940 Fixes 1895 - Properly select upper army for recruitment 2014-09-23 14:28:55 +03:00
Ivan Savenko fc16c8d207 Merge branch 'optimization/swiftAI' into develop
Conflicts:
	lib/CGameState.cpp
2014-09-21 22:31:29 +03:00
Ivan Savenko 3f7ddd719b Updated changelog to inlude all notable changes 2014-09-21 22:20:39 +03:00
Ivan Savenko 0b6d94f113 Updated vcmibuilder:
- disabled download command (will re-enable near release)
- removed no longer necessary vcmi package handling
- removed wog installation since it can be installed from Launcher
2014-09-21 22:01:07 +03:00
Ivan Savenko aa0433228a Fixed cheats - sendMesssage will also pass current object.
Workaround-ish but should work. Branch should be fixed now.
2014-09-21 20:35:53 +03:00
Ivan Savenko c4fc8f08c0 Moved assertions before variable is used 2014-09-21 18:25:52 +03:00
Ivan Savenko 4bb5784922 Fixing AI - dwelling visitation code should now work properly 2014-09-21 18:08:47 +03:00
Ivan Savenko b67618ab53 First batch of AI fixes:
- wiped not actually used set/get selection
- replaced isReachable with VCAI::isAccessible
2014-09-21 17:03:20 +03:00
Ivan Savenko 380c100783 Disabled Nagle algorithm for net packs.
This should significantly reduce TCP delays. On my systems this is ~120ms for server to reply to ~15ms
Possible downside - increased load on network due to possible increase in number of packages due to disabled batching
2014-09-21 16:43:25 +03:00