Konstantin
bc1aad3b26
vcmi: remove deprecated CStack::getCreature()
...
Function battle::Unit::unitType() does the same.
2023-04-13 11:24:19 +03:00
Konstantin
11b237a23c
vcmi: massive refactoring v1
2023-04-05 22:33:12 +03:00
Ivan Savenko
e9aed2761c
Fix target selection for teleport
2023-03-31 23:18:45 +03:00
Ivan Savenko
1fcaeba8e0
Fix stack amount boxes flickering between actions
2023-03-29 13:21:43 +03:00
Ivan Savenko
3af829e6af
Fix stack label position updates
2023-03-29 13:03:40 +03:00
Ivan Savenko
0ce06e0f30
Improved rendering of stack amount boxes
2023-03-28 23:50:22 +03:00
Ivan Savenko
4eed0b2c9e
Added workaround for Dungeon towers
2023-03-25 23:54:51 +02:00
Ivan Savenko
49fa628e9b
Turret creature cutoff position should match H3
2023-03-25 23:54:51 +02:00
Ivan Savenko
dcff463d36
Fixed handling of special palette colors in palette transformations
...
Fixes black color turning semi-transparent in some creatures from mods
2023-03-25 23:54:51 +02:00
Ivan Savenko
5288e3761e
Merge pull request #1764 from IvanSavenko/selectable_spellcaster
...
Implemented support for multi-spell casters
2023-03-25 20:08:47 +02:00
Ivan Savenko
dc099b2a35
Implemented support for multi-spell casters
2023-03-25 00:48:14 +02:00
Adriankhl
76a71226a2
Deactivate activeStack during spellCast
2023-03-24 22:43:41 +01:00
Ivan Savenko
31b718898a
Fix playback of shooter animations at max speed
2023-03-20 20:19:05 +02:00
Ivan Savenko
688b8db3eb
Removed delays due to thread waits from battle animations
2023-03-20 20:19:05 +02:00
Ivan Savenko
7ef5163d9d
Merge pull request #1581 from IvanSavenko/map_render_rewrite
...
Adventure Map - rendering rewrite
2023-03-05 19:51:07 +02:00
Ivan Savenko
7df5c612f7
Fix battle rendering
2023-03-05 17:48:02 +02:00
Ivan Savenko
acdb8d6e06
renamed Unicode -> TextOperations, to use for all text processing
2023-03-05 17:39:23 +02:00
Ivan Savenko
34dcb4127a
Removed text utilities from SDL_Extensions
2023-02-03 18:55:25 +02:00
Ivan Savenko
3fef2a5e1f
Moved Colors to a separate file, updated includes
2023-02-03 11:39:40 +02:00
Ivan Savenko
64faa13b6d
Merge pull request #1487 from IvanSavenko/battle_actions_refactoring
...
Battle actions refactoring
2023-02-03 11:28:14 +02:00
Dydzio
2ef33d54ab
Merge branch 'develop' into battle-queue-improvement
2023-02-02 18:26:31 +01:00
Ivan Savenko
c3b79c786b
Spellcasters UI now shares handling with hero spellcasting
2023-02-02 13:25:55 +02:00
Ivan Savenko
55a58596bc
Mostly finished refactoring of BattleActionsController
...
TODO: test actions
TODO: test casters
TODO: fix random casters
2023-02-02 13:25:55 +02:00
Ivan Savenko
108a42e4ba
Reorganized includes for new layout. New class - IImageLoader
2023-02-01 20:42:06 +02:00
Ivan Savenko
e14290fde0
Removed loading of images from file into SDL_Surface
2023-01-30 18:25:47 +02:00
Dydzio
68be7643f1
Remove redundant method - code review suggestion
2023-01-25 13:06:13 +01:00
Dydzio
4a23f93754
Give thicker frame to highlighted queue boxes
2023-01-23 12:32:20 +01:00
Dydzio
bd1bd5064a
Highlight logic for queue icon on stack hover, lacks visual representation
2023-01-22 20:06:10 +01:00
Dydzio
92754e22f0
Highlight stack on queue icon hovered
2023-01-22 20:03:11 +01:00
Andrey Filipenkov
6f0cd37e8f
limit displayed units number to 4 digits in battle
...
- unit box
- turn queue
2023-01-20 20:38:54 +03:00
Ivan Savenko
ee7a573cb8
Refactoring of SDL API usage:
...
- Rect no longer inherits from SDL_Rect
- renamed vcmi functions that used SDL naming format
- moved all functions in SDL_Extensions file into CSDL_Ext namespace
- SDL_Rect is now used only by SDL_Extensions, all other code uses Rect
2023-01-20 16:11:43 +02:00
Ivan Savenko
b8c5a32b9b
Fix attack targeting selection for double-wide units
2023-01-20 15:15:44 +02:00
Ivan Savenko
0a858d9a7c
Upgrade msvc to include enet and qt translator ( #1436 )
...
- Updated MSVC prebuilt package
- Fixed build warnings
2023-01-15 23:55:24 +02:00
Ivan Savenko
205beb96ed
Fix petrification effect
2023-01-08 16:25:47 +02:00
Ivan Savenko
a25214ae71
Fixes graphical artifacts on toggling stack queue visibility
...
Battlefield rendering now uses local coordinates
2023-01-05 14:16:01 +02:00
Ivan Savenko
d8a70de068
Improved ordering of movement animation, fixes potential visual artifact
2023-01-04 23:04:48 +02:00
Ivan Savenko
e422fcd092
Play spell sound on Lich/Magog attack
2023-01-04 21:55:15 +02:00
Ivan Savenko
21196e822f
Fixed blue tint for clones
2023-01-04 19:36:18 +02:00
Ivan Savenko
d157735846
Initialize new animations if current one is over
2023-01-04 18:15:26 +02:00
Ivan Savenko
397ea90040
Do not show selection highlight during stack teleporting
2023-01-04 17:45:08 +02:00
Ivan Savenko
d712a6b896
Do not play mouse-over animation on petrified creatures
2023-01-04 17:23:13 +02:00
Ivan Savenko
7a5258853a
Fix potential access violation due to iterator invalidation
2022-12-29 14:28:38 +02:00
Ivan Savenko
7e3cd7db51
Fix for missing Death Blow sound
2022-12-25 20:11:22 +02:00
Ivan Savenko
4b3d93f378
Minor cleanup
2022-12-25 17:43:55 +02: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
5b453bf530
Stack amount boxes visibility now follows H3 rules
2022-12-22 11:49:40 +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
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
b423b3fa6b
Fix dragon breath & fire shield
2022-12-21 18:04:54 +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
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
e9e549148d
Implemented teleportation animation effect
2022-12-18 18:26:43 +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
70eac47f08
Fixes #1051 , #1042 - highlight creatures that will be affected by spell
2022-12-17 00:10:12 +02:00
Ivan Savenko
9e5f72166b
Fix animation ordering for moving with rotation
2022-12-16 22:38:14 +02:00
Ivan Savenko
6c04581655
Fix stack rendering order during movement
2022-12-16 22:07:46 +02:00
Ivan Savenko
733f21f8dc
Petrify will freeze stack animations
2022-12-16 18:34:35 +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
7857668158
Implemented group attack animations for dragons/Hydras/etc
2022-12-14 14:21:58 +02:00
Ivan Savenko
fb3a08e0a6
Added fading animation for fade-in effect for summons
2022-12-14 12:04:37 +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
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
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
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
Ivan Savenko
7f5e5259c8
Changes to Canvas class according to review:
...
- renamed CCanvas -> Canvas.cpp
- replaced shared_ptr<Canvas> with Canvas&
- removed getSurface method
2022-12-11 22:09:57 +02:00
Ivan Savenko
c855823528
Renamed files in client/battle to match new names of classes
2022-12-09 13:38:46 +02:00