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
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
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
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