1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-11-24 08:32:34 +02:00
Commit Graph

3545 Commits

Author SHA1 Message Date
Ivan Savenko
b275d9de72 merge beta branch into develop 2022-12-29 22:08:53 +02:00
Ivan Savenko
7a35bcc812
Merge pull request #1221 from IvanSavenko/warnings_fix
Fix remaining compiler warnings
2022-12-29 21:51:55 +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
b6735618f5 Formatting 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
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
7a5258853a Fix potential access violation due to iterator invalidation 2022-12-29 14:28:38 +02:00
Ivan Savenko
da7766e90b Fix battle start with disabled opening sounds 2022-12-28 16:51:44 +02:00
Ivan Savenko
fa355c3356 Fix build 2022-12-26 01:38:25 +02:00
Ivan Savenko
bb65246aa3 Merge remote-tracking branch 'vcmi/develop' into battle_improvements 2022-12-26 01:15:44 +02:00
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
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
405b2976d5 Renamed getUpgradeInfo -> fillUpgradeInfo 2022-12-25 14:03:43 +02:00
Andrii Danylchenko
33602c879d #1286 - use iOS flow for Android resolutions management 2022-12-25 13:39:27 +02:00
Nordsoft91
785787e454
Merge branch 'develop' into interface-builder 2022-12-24 21:56:29 +04:00
Ivan Savenko
325c29da0d Merge remote-tracking branch 'vcmi/develop' into battle_improvements 2022-12-23 14:51:34 +02:00
Ivan Savenko
eb20a4b208 Merge remote-tracking branch 'vcmi/develop' into warnings_fix 2022-12-23 14:40:45 +02:00
Ivan Savenko
f073c676f9 Merge 1.1 release into develop 2022-12-23 14:17:18 +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
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
bab5922951 Spells can now define color muxer effect (e.g. Bloodlust & Petrify) 2022-12-22 00:25:35 +02:00
nordsoft
ad5bf2ac4f Fix msvc build 2022-12-22 02:10:56 +04:00
nordsoft
cb76cc54ac Move logging to debug level 2022-12-22 02:08:26 +04:00
nordsoft
e245dbaf9d Use kind-of-factory approach for widget builders 2022-12-22 02:05:29 +04:00
Ivan Savenko
4fa01c4c7e Fix potential overflow/underflow 2022-12-21 23:39:54 +02:00
nordsoft
8f7025328f Read default template from config, named custom types 2022-12-22 01:37:33 +04: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
nordsoft
7e7071fc95 Merge remote-tracking branch 'upstream/develop' into interface-builder 2022-12-22 01:24:29 +04:00
nordsoft
c7f430f051 Added debug lines 2022-12-22 01:13:32 +04:00
nordsoft
521328addd Adding macros for targeted object binding 2022-12-22 00:54:06 +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
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
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
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
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
nordsoft
d7b0770b71 Remove excessive code 2022-12-17 20:50:33 +04:00
nordsoft
9b76a8000f Making team alignments widget customizable 2022-12-17 20:38:16 +04:00
Ivan Savenko
deffba01b9 All battle effects are now fully client sided 2022-12-17 17:35:15 +02:00
nordsoft
b590e4a0e4 Fixes for multiplyer 2022-12-17 08:38:33 +04:00
nordsoft
b1f2c7aed4 Team alignments implemented 2022-12-17 08:19:16 +04:00
nordsoft
4f5fab702e Support roads selection in random map tab 2022-12-17 04:54:37 +04:00
nordsoft
42281f51e8 Revert "Remove uncompleted code"
This reverts commit 0c41787ca5.
2022-12-17 03:53:26 +04:00
nordsoft
bcf95c32e9 Merge branch 'fix-cmake' into interface-builder 2022-12-17 03:09:41 +04: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
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
nordsoft
268b87052b Fix for hint 2022-12-16 02:49:52 +04:00
nordsoft
1d59dfecef Support translations 2022-12-16 02:48:07 +04:00
nordsoft
8f089b3302 Rename folder 2022-12-16 02:19:23 +04:00
nordsoft
0c41787ca5 Remove uncompleted code 2022-12-16 02:17:10 +04:00
nordsoft
d3c3feb037 Configurable template selection 2022-12-16 02:15:53 +04: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
nordsoft
1d4209d97e Continue refactoring 2022-12-16 00:57:10 +04:00
nordsoft
2371e3e9a2 Interface builder refactored 2022-12-16 00:46:36 +04:00
Hennadii Chernyshchyk
eec7d91f2c Remove unused forward declaration 2022-12-15 15:33:30 +04:00
Hennadii Chernyshchyk
8de6c4a704 Fix SharedMemory declaration
Should be under VCMI_LIB_NAMESPACE_BEGIN
2022-12-15 15:33:30 +04:00
Andrii Danylchenko
8c07ddbae0
Merge pull request #1204 from IvanSavenko/single_process_app_upgrade
[1.2] Single process app support for platforms other than ios
2022-12-15 12:22:24 +02:00
nordsoft
2fe951f819 Merge remote-tracking branch 'upstream/develop' into interface-builder
# Conflicts:
#	client/lobby/RandomMapTab.cpp
2022-12-15 04:47:11 +04:00
Hennadii Chernyshchyk
37068a75b3
Make ENABLE_NULLKILLER_AI top level option 2022-12-15 02:18:17 +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
nordsoft
4c3288dd61 Fix teams 2022-12-14 05:45:50 +04:00
nordsoft
fc7f1dbc5a Fix template selection 2022-12-14 05:23:21 +04:00
nordsoft
53b2f68560 Serialize template 2022-12-14 04:37:11 +04: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
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
Hennadii Chernyshchyk
de33eb44f9
Port to OpenDingux handhelds 2022-12-13 03:55:54 +02:00
nordsoft
1e2abae62b Template selections works 2022-12-13 04:38:18 +04:00
nordsoft
f90cb1be90 Template list prototype looks fine 2022-12-13 03:47:29 +04: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
nordsoft
690ff773f4 Remove files 2022-12-12 11:53:23 +04:00
nordsoft
cd58e8a860 Rename InterfaceBuilder 2022-12-12 11:48:39 +04:00
nordsoft
34bf741936 Fix compilation error 2022-12-12 11:43:54 +04:00
nordsoft
5e3504f578 Add improvements 2022-12-12 11:38:27 +04:00
nordsoft
8dbc5c1c1f Make each windows coniguration in separate file 2022-12-12 04:52:44 +04:00
nordsoft
b3d60ec418 Add new map sizes 2022-12-12 04:46:42 +04:00
nordsoft
3be9969154 Prevent crashes for custom config 2022-12-12 03:58:39 +04:00
nordsoft
0104c77d61 Interface builder for random map tab 2022-12-12 03:27:59 +04: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
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
25bceda4ea Added convertToVisitablePos/convertFromVisitablePos to CGHeroInstance
This method replaces old convertPosition, but with more clear names and
without hardcoded magic constants.
2022-12-09 14:42:47 +02:00
Ivan Savenko
c855823528 Renamed files in client/battle to match new names of classes 2022-12-09 13:38:46 +02:00
Ivan Savenko
3f9a0a855e Renamed most of classes in client/battle directory to match current code
style
2022-12-09 13:26:17 +02:00
Ivan Savenko
db2a40600d Fixed some of the warnings detected by CI run 2022-12-08 23:20:42 +02:00
Ivan Savenko
facf77b3ae vstd::unique -> std::unique 2022-12-07 23:36:20 +02:00
Ivan Savenko
d85ee019ec Removed CGHeroInstance::convertPosition method 2022-12-07 22:51:32 +02:00
Ivan Savenko
49cbd5adc9 CGHeroInstance::convertPosition is no longer static method 2022-12-07 22:34:08 +02:00
Ivan Savenko
908e6892f3 Removed CGHeroInstance::getPosition pseudo-override
Now access to hero visible position is always done via visitablePos
2022-12-07 22:10:08 +02:00
Ivan Savenko
2855606a88 Enabled & fixed -Woverloaded-virtual warning from gcc/cland
- fixed almost all instances of overloaded-virtual warning
- cleared up inheritance & method overrides in code affected by warning
2022-12-07 21:50:45 +02:00
Ivan Savenko
65802d958b Integrated valid fixes from PR #1143 2022-12-07 18:13:54 +02:00
Ivan Savenko
fb6b3c31e8 Renamed UNUSED -> MAYBE_UNUSED macro to match c++17 attribute name 2022-12-07 18:06:47 +02:00
Andrii Danylchenko
061a4ef2d8
Merge pull request #1215 from IvanSavenko/tower_icon_fix
Do not show destroyed towers in battle results window
2022-12-07 17:35:34 +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
a06d7ec80e Fix Armaggeddon visual effect 2022-12-06 14:29:31 +02:00
Ivan Savenko
3c037ed620 Fix spellcaster animations 2022-12-06 14:12:13 +02:00
Ivan Savenko
f247a98373 Fix non-siege battles 2022-12-06 14:11:37 +02:00
Ivan Savenko
2c05f588fd Moved CBattleRenderer into a separate file 2022-12-06 13:41:29 +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
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
Andrii Danylchenko
a72d1270cd #1186 - disable status bar with other advmap controls 2022-12-03 21:32:47 +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
1b4c5be4de Implemented proper rendering order generation for battlefield objects 2022-12-02 17:49:38 +02:00
Ivan Savenko
90a25cb28d Fix tower shooter rendering 2022-12-02 02:13:02 +02:00
Ivan Savenko
58ba5f1aee Fixes to effects of earthquake, obstacle-creating and offensive spells 2022-12-02 01:55:09 +02:00
Ivan Savenko
215932b520 Fix compile after merge 2022-12-02 00:06:57 +02:00
Ivan Savenko
495e0b3657 Merge remote-tracking branch 'vcmi/develop' into battleint_refactor 2022-12-01 23:58:01 +02:00
Ivan Savenko
2442d38b9a Fix ranged attack animations 2022-12-01 23:40:03 +02:00
Ivan Savenko
bbd4d361e4 Send hover event to buttons in battle UI 2022-12-01 23:39:43 +02:00
Ivan Savenko
c721d7c4f3 Fix overwriting of hover text of buttons in combat 2022-12-01 23:36:41 +02:00
Ivan Savenko
5094fab4d9 Refactoring of spell animations, multiple fixes for spell visuals 2022-12-01 22:06:42 +02:00
Nordsoft91
2a857cf0b9
Merge pull request #1179 from Nordsoft91/ios-files-browser 2022-12-01 16:43:42 +04:00
nordsoft
632ffb4462 Alphabetical order for parameters 2022-12-01 14:56:42 +04:00
Andrii Danylchenko
82179a9cdb
Merge pull request #1176 from IvanSavenko/tower_shooter_icons
Tower shooter icons fix
2022-12-01 12:30:24 +02:00
nordsoft
09c681ca64 Implement browsing data 2022-12-01 00:24:09 +04:00
Ivan Savenko
92ca0d9877 cleared up rendering of tower shooters 2022-11-30 22:05:25 +02:00
SoundSSGood
3bf0cfe4fa
Merge branch 'vcmi:develop' into refactoring-art 2022-11-29 22:34:08 +02:00
Nordsoft91
c6d317e409
Merge pull request #1119 from krs0/feature/H3_original_files_extractor
VCMI H3 original archives extractor #1118
2022-11-29 21:54:57 +04:00
Nordsoft91
89b8b87a6b
Merge pull request #1156 from vcmi/features/online
Online mode
2022-11-29 20:43:39 +04:00
Ivan Savenko
c233e57079
Apply suggestions from code review
Co-authored-by: Nordsoft91 <nordsoft@yahoo.com>
2022-11-29 18:24:03 +02:00
Ivan Savenko
6d4bcba842 Fix moat rendering position 2022-11-29 17:18:43 +02:00
Ivan Savenko
de5616bb3b Fix combat log position 2022-11-29 17:18:30 +02:00
Ivan Savenko
a512e0d58f Fixed ugly solid-white status bars in pregame, removed operator* from
CPicture
2022-11-29 17:07:21 +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
Andrii Danylchenko
d6ca8017bf Clickable status bar to send messages with on mobile 2022-11-29 08:05:54 +02:00
Ivan Savenko
88d8655f01 Fix forward declarations for ios single-app build 2022-11-29 02:00:08 +02:00
SoundSSGood
909dcb82fa use ArtifactID 2022-11-29 00:32:18 +02:00
Ivan Savenko
86616a5a3b Fix visibility of stack amount box on start of combat 2022-11-28 22:47:28 +02:00
Ivan Savenko
9e11b8f38a Fixes for creature rendering order 2022-11-28 22:35:38 +02:00
Ivan Savenko
95e6035a23 Attempt to fix MSVC compilation 2022-11-28 21:44:16 +02:00
Ivan Savenko
a0157d6117 replaced C array with std::array 2022-11-28 21:20:46 +02:00
Ivan Savenko
6f6d350228 Formatting cleanup 2022-11-28 16:43:38 +02:00
Ivan Savenko
3e58d1e3c5 Merge remote-tracking branch 'refs/remotes/vcmi/develop' into battleint_refactor 2022-11-28 16:10:13 +02:00
Ivan Savenko
7c4e04c1ec Refactoring/cleanup of classes in CBattleAnimations.cpp 2022-11-28 16:02:46 +02:00
Ivan Savenko
8a059301d2 Fix blitting order of battlefield objects 2022-11-27 23:42:18 +02:00
Ivan Savenko
055824654e (partially) fix catapult explosion effect 2022-11-27 23:26:28 +02:00
Ivan Savenko
9f21569a79 Next batch of siege fixes 2022-11-27 22:50:18 +02:00
Ivan Savenko
35576834c9 Fixing sieges, part 1 2022-11-27 20:21:51 +02:00
krs
9b3cab1181 IVCMIDirs::userExtractedPath() created 2022-11-27 19:35:11 +02:00
krs
cbd3dffb7c Reverted changes in CAnimation.h and .cpp 2022-11-27 19:35:11 +02:00
krs
75b4b64b6f Final checks according to review 2022-11-27 19:35:11 +02:00
krs
f0b66b6192 Animation.cpp fixes after review 2022-11-27 19:35:10 +02:00
krs
d1cdd7d59f Reverted changes made in client for Extractor 2022-11-27 19:35:10 +02:00
krs
10ec486251 Extractor moved to Editor 2022-11-27 19:35:10 +02:00
krs
93cf2682f3 Working Extractor, DefSplitter and pcx convertor 2022-11-27 19:35:10 +02:00
Ivan Savenko
b5d1cb4996 Fixes for projectile playback. TODO: check catapult projectile 2022-11-27 17:24:45 +02:00
Ivan Savenko
15b588b164 Fix stack reactivation leading to broken spellcasting 2022-11-27 15:10:27 +02:00
Andrii Danylchenko
dfee2eda68
Merge pull request #1148 from SoundSSGood/ask-assemble
Feature to assemble/disassemble arts in backpack
2022-11-27 09:48:57 +02:00
Ivan Savenko
e76cd1b6a7 Bugfixing: fix crashes on battle start & most noticeable glitches 2022-11-27 02:26:02 +02:00
Ivan Savenko
0cae259f53 Most of rendering in BattleInt is done via canvas
- refactoring of CBattleStacksController.cpp
- moved EAlignment enum to Geometries.h from CIntObject
- renamed EAlignment to ETextAlignment, to avoid conflict with good/evil
alignemt
- ETextAlignment is now enum class
2022-11-26 23:12:20 +02:00
Ivan Savenko
4f91b062db Refactoring of projectile controller
- projectiles now separated based on type
- each type has its own rendering method
- refactoring of CShootingAnimation
2022-11-25 16:32:23 +02:00
nordsoft
41e652dad2 Move buttons blocks at proper place 2022-11-25 14:36:17 +04:00
nordsoft
ebb65b5d0e Prevent multiple clicks 2022-11-25 14:26:59 +04:00
Ivan Savenko
abb553d975 Next step of code refactoring:
- refactoring of CBattleFieldController code (except for 2 arcane
methods)
- introduced class CCanvas for encapsulated rendering surface
- battleint rendering is now partially done with CCanvas
- removed unused includes of CBitmapHandler
2022-11-25 11:46:47 +02:00
Andrii Danylchenko
0ccb706782
Merge pull request #1155 from Nordsoft91/fix-camp-919
Fix for #919
2022-11-25 11:43:25 +02:00
Ivan Savenko
6b3beb05e5 BattleInt split is finished, start of refactoring:
- Refactoring of siege controller code
- Replaced some usages of C struct SDL_Surface with proper c++ class
IImage
- Refactoring of rendering of battlefield objects (WIP)
2022-11-25 00:26:14 +02:00
Ivan Savenko
cb6fe1eedf Moved battle effects into a new class 2022-11-24 16:30:04 +02:00
nordsoft
aead3854b9 Fix for campaign advance 2022-11-23 02:06:43 +04:00
nordsoft
2de168b3fe Do not reconnect for lobby mode 2022-11-22 03:36:50 +04:00
Nordsoft91
3133c238b8 Merge pull request #1146 from IvanSavenko/ray_projectile
Implemented ray-like projectiles for shooters
2022-11-22 03:36:50 +04: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
02fe0425c7 Moved battle actions handling into a separate class 2022-11-20 22:56:42 +02:00
Ivan Savenko
b01737daf2 Moved stacks & animations handling into a separate class 2022-11-20 19:11:34 +02:00
SoundSSGood
e6e669d024 ArtifactUtils::isSlotBackpack() func + refactoring 2022-11-18 23:13:44 +02:00
SoundSSGood
30bbb57619
Apply suggestions from code review
Co-authored-by: Nordsoft91 <nordsoft@yahoo.com>
2022-11-18 22:15:03 +02:00
Ivan Savenko
7a6ad671ab Separated battle control panel into new class, refactoring of
CGStatusBar to allow shared API with battle console
2022-11-18 17:54:10 +02:00
nordsoft
625c18a889 Fix #3234 2022-11-18 04:05:35 +04:00
SoundSSGood
e9ab894638 backpack assemble 2022-11-18 01:55:29 +02:00
SoundSSGood
16b650136a backpack disassemble 2022-11-18 01:27:39 +02:00
Ivan Savenko
3c5858f01e Separated battlefield background&hexes handling into a new class 2022-11-17 23:57:51 +02:00
SoundSSGood
2d078132bf assemble in backpack initial 2022-11-17 19:43:54 +02:00
Ivan Savenko
9c2a6dc9fc moved battle obstacle handling into separate class 2022-11-17 19:36:25 +02:00
Ivan Savenko
a65dd0726d Separated siege-related part of BattleInterface into separate class
- added constants for BattleHex'es of castle towers
2022-11-17 18:50:12 +02:00
Ivan Savenko
bd1b2e4977 Battle Interface refactoring: separated projectile handling into a
separate class (untested)
2022-11-17 13:21:03 +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
Nordsoft91
1893212abb
Merge pull request #1146 from IvanSavenko/ray_projectile
Implemented ray-like projectiles for shooters
2022-11-16 22:45:00 +04: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
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
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
nordsoft
915d215076 Fix connections amount problem 2022-11-15 22:09:47 +04:00
nordsoft
e7a8466e2b Merge remote-tracking branch 'upstream/develop' into lobby 2022-11-15 22:09:46 +04:00
Andrii Danylchenko
6974d4ea53
Merge pull request #1130 from IvanSavenko/banned_skills_fix
Fixes #1096 - do not propose banned skills on levelup
2022-11-15 09:32:12 +02:00
Andrii Danylchenko
8b964be71f
Merge pull request #1111 from GermanAizek/develop
Code refactor and fix condition bug
2022-11-15 09:23:16 +02:00
lainon
7fdad4e0f6 Code refactor following C++ standard and condition fixes 2022-11-15 03:20:55 +03:00
Ivan Savenko
729357824b Added common method for secondary skill availability checks 2022-11-14 19:08:49 +02:00
Andrii Danylchenko
b6bcfec329
Merge pull request #1129 from IvanSavenko/new_day_sound_fix
Fixes #825 - do not wait for new week dialog in single-player
2022-11-14 17:45:57 +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
Andrii Danylchenko
86972d7164
Merge pull request #1112 from SoundSSGood/bulk-move-swap-artifacts-rev2
Bulk move and swap artifacts rev2
2022-11-14 08:31:48 +02:00
Andrii Danylchenko
38f36fa720
Merge pull request #1127 from IvanSavenko/resume_music
Fix #985 - resume town & terrain themes
2022-11-13 21:18:46 +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
Andrii Danylchenko
41825e8c92
Merge pull request #1125 from GermanAizek/fix-3144
Fix [3144]
2022-11-13 09:00:03 +02:00
lainon
79bc82af63 Fix [3144] 2022-11-13 05:35:16 +03:00