Commit Graph
100 Commits
Author SHA1 Message Date
Ivan Savenko 9658ffba99 Allow disabling & deleting local mods other than vcmi mod 2023-01-12 16:29:01 +02:00
Ivan Savenko e188060480 Fix server shutdown on transferring artifact to commander 2023-01-12 16:27:59 +02:00
Ivan Savenko 6379c5f6fa Install additional dll on Windows to get better style for Qt 2023-01-09 18:35:14 +02:00
Ivan Savenko 9308319ac7 Added workaround for ~200 ms lag occuring after hero move 2023-01-09 13:05:28 +02:00
Ivan Savenko 8526eba6fa Added checks to music player to detect potential freezes 2023-01-09 13:05:15 +02:00
Ivan Savenko 7e8516f927 Changed Sirens behavior to match H3 logic 2023-01-09 13:04:56 +02:00
Ivan Savenko b1082aa621 Do not attempt to display multiple assembly dialogs at once 2022-12-29 21:50:25 +02:00
Ivan Savenko 90b669f507 Fix order of dialogs on assembling artefacts after battle 2022-12-29 21:50:25 +02:00
Ivan Savenko d3d8a6de1b Fix directory test 2022-12-29 21:50:04 +02:00
Ivan Savenko b6735618f5 Formatting 2022-12-29 21:50:04 +02:00
Ivan Savenko ce76696af4 Detect slightly different gog.com installer file layout 2022-12-29 21:50:04 +02:00
Ivan Savenko 986c0c534d Main menu buttons are now defined using position of their center
Fixes positioning of main menu buttons in localized versions of the game
2022-12-29 21:50:04 +02:00
Ivan Savenko e19dc41295 Support Polish version of H3 data files 2022-12-29 21:50:04 +02:00
Ivan Savenko 61ed408f61 Fix typo 2022-12-29 21:49:20 +02:00
Ivan Savenko 588b635d1c Workaround for a potential deadlock in MusicHandler 2022-12-29 21:49:20 +02:00
Ivan Savenko d6674e73cd Explicitly define build type to add NDEBUG flag 2022-12-29 19:49:06 +02:00
Ivan Savenko b84e0775b3 Updated release date for Linux packaging 2022-12-23 10:41:59 +04:00
Ivan Savenko 26985600b2 Fixed several more cases of incorrect scope for identifiers resolving 2022-12-21 23:02:19 +04:00
Ivan Savenko 23cb47b457 Fixed several scenarios with incorrect scope for requesting identifiers 2022-12-21 23:02:19 +04:00
Ivan Savenko 5f8cfadc4d Better formatting for not found terrains ID's 2022-12-20 01:55:59 +04:00
Ivan Savenko 3cf1e3b4d4 Restored neutral faction ID, changed warnings related to H3 ID's 2022-12-20 01:55:59 +04:00
Ivan Savenko 01e8a83c56 Expanded schema accoring to Nordsoft info 2022-12-20 01:55:59 +04:00
Ivan Savenko e8daf4033f Added missing files 2022-12-20 01:55:59 +04:00
Ivan Savenko b13723305d Better error reporting for usages of invalid terrain in mods
TODO: switch to proper mechanism via identifier requests
2022-12-20 01:55:59 +04:00
Ivan Savenko 5ae17cb1ff Moved tower shooters info to "vcmi" mod
Required for file presence validation checks to pass since tower shooter
icons reside in vcmi mod
2022-12-20 01:55:59 +04:00
Ivan Savenko fc4d2a31b4 Fix redrawing of hero exchange window on artifact (de)assembly 2022-12-18 15:09:33 +02:00
Ivan Savenko 57dba9433c Correctly update drag-and-drop cursor if our window gets deactivated 2022-12-18 14:34:38 +02:00
Ivan Savenko 526a6e4fe7 Fix incorrect assertions 2022-12-18 14:33:59 +02:00
Ivan Savenko f3e27e7974 Merge pull request #1217 from IvanSavenko/linux_rpath_fix
[1.1] Linux: Add path to libvcmi.so into RPATH
2022-12-12 00:15:39 +02:00
Ivan Savenko 4e41544818 Merge pull request #1201 from IvanSavenko/vcmibuilder_fix
[1.1] vcmibuilder script fixes
2022-12-12 00:15:32 +02:00
Ivan Savenko 48ec21f648 Do not allow attacking from inaccessible tiles 2022-12-08 16:14:33 +02:00
Ivan Savenko 31ac1e4ab2 Add path to libvcmi.so into RPATH so dynamic linker can find it 2022-12-08 12:46:40 +02:00
Ivan Savenko 7007b86737 Do not show destroyed towers in battle results window 2022-12-07 15:57:17 +02:00
Ivan Savenko 2cbe6bcb47 Added common method to get names of hardcoded mod scopes 2022-12-07 15:18:19 +02:00
Ivan Savenko 17f9c3af23 Library of Enlightenment fix
Do not offer choice between multiple identical option if hero is qualified
to receive multiple of them due to diplomacy skill
2022-12-06 18:08:10 +02:00
Ivan Savenko 65f9a1ffd2 Fixes identifiers resolving for json serialization 2022-12-06 16:26:32 +02:00
Ivan Savenko 96caceba79 Fixed validation of extracted data 2022-12-05 17:34:05 +02:00
Ivan Savenko 68cbac96af Fixed data extraction from gog.com installer 2022-12-05 17:24:11 +02:00
Ivan Savenko 46b8709712 Adjust positions of heroes in towns earlier
fixes crash due to accessing tile that is outside of map bonds
2022-12-05 13:02:55 +02:00
Ivan Savenko 2cc4f59699 Update map properly on hero position change 2022-12-04 22:03:25 +02:00
Ivan Savenko b6b6063505 Fix positioning of heroes after release from prisons 2022-12-04 22:00:33 +02:00
Ivan Savenko fa3a05a074 Removed hardcoded constants in hero placement code for more robust
solution
2022-12-04 21:23:47 +02:00
Ivan Savenko 848454d48a Check for end-of-battle after opening spells are cast, fixes potentially
infinite battle
2022-12-02 21:38:59 +02:00
Ivan Savenko 1248292503 Fixed access violation - do NOT return address to temporary created on
stack
2022-12-02 21:37:58 +02:00
Ivan Savenko 397371b969 HoMM3 bug workaround: fixes missing slot on artifact merchant background
image
2022-12-02 18:52:05 +02:00
Ivan Savenko d7cf5a0479 Version bump for Appstream metadata 2022-12-02 12:57:36 +02:00
Ivan Savenko 0fcfb95d6b Version bump to 1.1.0 for .deb packages 2022-12-02 12:55:48 +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