Commit Graph
100 Commits
Author SHA1 Message Date
Ivan Savenko ae3f6c5e79 Renamed PointEffectAnimation -> EffectAnimation 2022-12-25 21:39:55 +02:00
Ivan Savenko 5b41ced427 Removed sound playback from PointEffectAnimation 2022-12-25 21:35:13 +02:00
Ivan Savenko 7e3cd7db51 Fix for missing Death Blow sound 2022-12-25 20:11:22 +02:00
Ivan Savenko 063b8732ff Save compatibility with main branch 2022-12-25 18:07:08 +02:00
Ivan Savenko 5a7eed01da Made BattleInterface class less friendly 2022-12-25 17:44:40 +02:00
Ivan Savenko d1244e3714 Fix ios compile 2022-12-25 17:44:13 +02:00
Ivan Savenko 4b3d93f378 Minor cleanup 2022-12-25 17:43:55 +02:00
Ivan Savenko c906b27859 Formatting 2022-12-25 17:42:54 +02:00
Ivan Savenko a0ab760249 Removed debug code 2022-12-25 16:53:40 +02:00
Ivan Savenko 325c29da0d Merge remote-tracking branch 'vcmi/develop' into battle_improvements 2022-12-23 14:51:34 +02:00
Ivan Savenko f073c676f9 Merge 1.1 release into develop 2022-12-23 14:17:18 +02:00
Ivan Savenko b84e0775b3 Updated release date for Linux packaging 2022-12-23 10:41:59 +04:00
Ivan Savenko 9248e06ae0 Demon summon is now a spell. DEMON_SUMMONING bonus has been removed 2022-12-22 23:11:55 +02:00
Ivan Savenko b2279484fc Merge pull request #1227 from Shatur/opendingux
Port to OpenDingux handhelds
2022-12-22 16:56:55 +02:00
Ivan Savenko 5b453bf530 Stack amount boxes visibility now follows H3 rules 2022-12-22 11:49:40 +02:00
Ivan Savenko 8b207fae63 ECreatureAnimType enum -> enum class 2022-12-22 01:04:58 +02:00
Ivan Savenko 4e190b95cc Slighty better color effect for Bloodlust 2022-12-22 00:40:24 +02:00
Ivan Savenko bab5922951 Spells can now define color muxer effect (e.g. Bloodlust & Petrify) 2022-12-22 00:25:35 +02:00
Ivan Savenko 4fa01c4c7e Fix potential overflow/underflow 2022-12-21 23:39:54 +02:00
Ivan Savenko 41b87088d5 Color muxer effects can now be (partially) configured by user.
TODO: move color muxer effects from spells into spell config
2022-12-21 23:29:56 +02: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 8a9a7b9650 Fix UI on battle start if hero has tactics 2022-12-21 20:01:50 +02:00
Ivan Savenko b423b3fa6b Fix dragon breath & fire shield 2022-12-21 18:04:54 +02:00
Ivan Savenko d0f259bbf7 Fix battle shutdown 2022-12-21 18:04:19 +02:00
Ivan Savenko 541d98143b Renamed BattleControlPanel -> BattleWindow 2022-12-21 17:06:47 +02:00
Ivan Savenko c835a84051 Moved all GUI handling from BattleInterface to BattleControlPanel 2022-12-21 17:02:53 +02:00
Ivan Savenko 6a23587716 Merge pull request #1250 from IvanSavenko/battle_regressions_fix
Battle regressions fix
2022-12-21 13:59:31 +02:00
Ivan Savenko 822df113f3 Fix formatting 2022-12-21 13:18:16 +02:00
Ivan Savenko 6138ff1670 Minor refactoring of BattleHero class 2022-12-21 01:08:56 +02: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 b5925995b1 Fix transparency checks that were broken for palette images with alpha 2022-12-19 22:57:58 +02:00
Ivan Savenko b373c4a2b6 Fix Status Bar & In-game console activation 2022-12-19 22:53:31 +02:00
Ivan Savenko a75b437fef Disable text input on window deactivation 2022-12-19 22:06:01 +02:00
Ivan Savenko d29c9d6445 Fortify CLabel interface to prevent unchecked access 2022-12-19 22:04:50 +02:00
Ivan Savenko a57eec23e6 Refactoring of setBattleCursor & fromWhichHexAttack methods 2022-12-19 01:12:26 +02:00
Ivan Savenko e2cc73d67b Fix fire shield sounds 2022-12-18 22:43:13 +02:00
Ivan Savenko 16c4851d3b Animated cursor for spell selection, removed hardcoded cursor ID's 2022-12-18 22:32:07 +02:00
Ivan Savenko 53f6b7bd32 Fix Ice Ring target selection 2022-12-18 20:23:19 +02:00
Ivan Savenko e9e549148d Implemented teleportation animation effect 2022-12-18 18:26:43 +02:00
Ivan Savenko a6622b5896 Fixed clone damage 2022-12-18 17:38:14 +02:00
Ivan Savenko ba200fb079 Added enum's for rest of cursor types 2022-12-18 17:13:34 +02: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 45aa841fb6 Stack reversing logic now matches H3 2022-12-18 11:42:02 +02:00
Ivan Savenko 52fc5b3c39 Exploded mines now send ACTIVATE flag to client to play effect 2022-12-17 19:37:00 +02:00
Ivan Savenko deffba01b9 All battle effects are now fully client sided 2022-12-17 17:35:15 +02:00
Ivan Savenko ced2ece954 Fixes #809 - do not print error message after stepping onto mine 2022-12-17 14:40:54 +02:00
Ivan Savenko 2e22b04c4a Fixes #1045 - Berserk now lasts until attack 2022-12-17 12:55:34 +02:00
Ivan Savenko 70eac47f08 Fixes #1051, #1042 - highlight creatures that will be affected by spell 2022-12-17 00:10:12 +02:00
Ivan Savenko 4d5311789e Fixes #831 - do not process any incoming Packs until opening is over 2022-12-16 23:22:04 +02:00
Ivan Savenko 9e5f72166b Fix animation ordering for moving with rotation 2022-12-16 22:38:14 +02:00
Ivan Savenko bbabc991ee Clean up logging 2022-12-16 22:37:44 +02:00
Ivan Savenko 6c04581655 Fix stack rendering order during movement 2022-12-16 22:07:46 +02:00
Ivan Savenko a1ab90fb05 Creatures with double strike will not hit 2nd time after blinding 2022-12-16 21:52:46 +02:00
Ivan Savenko 39a54ff8ff Fixes #1139 - Unicorns now cast blind at expert level 2022-12-16 21:46:52 +02:00
Ivan Savenko 733f21f8dc Petrify will freeze stack animations 2022-12-16 18:34:35 +02:00
Ivan Savenko 8665f36778 Fix another case of assertion failure on exit 2022-12-16 16:53:21 +02:00
Ivan Savenko 39367473d2 Removed no longer used code 2022-12-16 16:23:50 +02:00
Ivan Savenko 3403b42cd8 Fix transparency checks that were broken for palette images with alpha 2022-12-16 16:23:07 +02:00
Ivan Savenko 4d628a8ba1 Fixed several assertion failures on shutting down game 2022-12-16 16:19:57 +02:00
Ivan Savenko 291bb9b204 Expanded cursors enum to include all possible values 2022-12-16 11:22:58 +02:00
Ivan Savenko 864990db13 Implemented Bloodlust & Petrification effect
- ColorFilter is now in separate file
- Moved lerp function into global.h
- Bloodlust visuals mostly matches H3
- Petrify visual matches H3
- TODO: Adjust timing of all ColorFilter efects to match H3
- TODO: Petrify should pause stack animations
- TODO: ColorFilter-powered effects should be configurable in Spell system
2022-12-15 23:24:03 +02:00
Ivan Savenko 7e35a96055 Changed ColorPutter in preparation for Bloodlust & Petrify effects 2022-12-14 15:17:38 +02:00
Ivan Savenko 3693184e51 Fix cast animation for Genie and heroes 2022-12-14 14:48:02 +02:00
Ivan Savenko 7857668158 Implemented group attack animations for dragons/Hydras/etc 2022-12-14 14:21:58 +02:00
Ivan Savenko 814f6ed684 Made Clone color filter identical to H3 2022-12-14 13:00:40 +02:00
Ivan Savenko fb3a08e0a6 Added fading animation for fade-in effect for summons 2022-12-14 12:04:37 +02:00
Ivan Savenko b2f5a87a0f Spell animation will now wait for hero animation before playing 2022-12-13 21:31:49 +02:00
Ivan Savenko e7206cb759 Cleaned up BattleHero class 2022-12-13 21:31:49 +02:00
Ivan Savenko c172e3c8e0 Cleaned up BattleAnimationClasses file 2022-12-13 21:31:49 +02:00
Ivan Savenko 776d00d901 Cleaned up UI blocking conditions 2022-12-13 21:31:49 +02:00
Ivan Savenko e791323502 Implemented placement sound for obstacles 2022-12-13 21:31:49 +02:00
Ivan Savenko 2148b76911 Fix lambda captures lifetime 2022-12-13 21:31:49 +02:00
Ivan Savenko 60a00b450e Multiple fixes & improvements to animation ordering 2022-12-13 21:31:49 +02:00
Ivan Savenko 0020d76d1d Introduced animation phases for beter ordering of visuals in battles 2022-12-13 21:31:49 +02:00
Ivan Savenko c79634b6a7 Moved all animation ordering logic to callers
Previously, CBattleAnimation & inheritors were controlling animation
ordering - e.g. which animations should play after which.
Now, this is controlled by caller, e.g. BattleInterface & its
controllers.
H3 animations are fairly linear and can be split in stages which are
already somewhat implemented via waitForAnims
2022-12-13 21:31:49 +02:00
Ivan Savenko e750bd2713 Reverse death animation for resurrection spells 2022-12-13 21:31:49 +02:00
Ivan Savenko 1dea1854ae Moved battle animation enum's into new file 2022-12-13 21:31:49 +02:00
Ivan Savenko b3deea24e0 Earthquake spell: do not target already destroyed sections 2022-12-13 21:31:49 +02:00
Ivan Savenko 155f776ae8 Merge pull request #1172 from IvanSavenko/battleint_refactor
[1.2] Refactoring of BattleInterface class
2022-12-13 21:31:18 +02:00
Ivan Savenko d94076c618 Fix msvc build 2022-12-13 16:54:49 +02:00
Ivan Savenko 55d0f0ad9f Fixed infinite loop 2022-12-13 15:17:42 +02:00
Ivan Savenko 99e5569ab5 Changes according to review 2022-12-13 15:10:31 +02:00
Ivan Savenko 264f5c91e8 Applied suggestions from review 2022-12-13 13:58:16 +02:00
Ivan Savenko f97d4c3630 Removed commented-out code 2022-12-12 18:50:14 +02:00
Ivan Savenko 602e52127b Cleaned up forward declarations 2022-12-12 18:26:04 +02:00
Ivan Savenko d40d5250b7 changes to status bar according to review comments:
- renamed IStatusBar API to more clear names
- removed "locking" of status bar
- added comments for IStatusBar API
- removed dynamic_casts to CGStatusBar, now IStatusBar API is fully
sufficient
2022-12-12 18:23:41 +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 1558c28c0a Fix obstacle rendering 2022-12-12 00:05:00 +02:00
Ivan Savenko c302efd315 Fix crash on accessing not yet created object 2022-12-12 00:04:46 +02:00
Ivan Savenko ac839ad26a Changes to rest of the code according to review:
- renamed status bar method clearMatching -> clearIfMatching
- renamed class ColorShifterAddMul -> ColorShifterMultiplyAndAdd
- fixed missing return from function
- fixed potential access to deleted object
2022-12-11 23:43:43 +02:00
Ivan Savenko 49a6d056d9 Changes for BattleInterface classes according to code review:
- added documentation comments for classes, members and methods
- added const specifier to methods where applicable
- renamed some methods with more clear name
- removed some commented-out or unused code
2022-12-11 23:16:23 +02:00