Ivan Savenko
6a46138617
Moved current selection to local state class
2023-04-20 22:04:24 +03:00
Ivan Savenko
f6d480cbb2
Moved player-specific heroes & towns information to new class
2023-04-20 22:04:24 +03:00
Ivan Savenko
4a169972f0
Further refactoring to cleanup code of advmap and locplint
2023-04-20 22:04:24 +03:00
Ivan Savenko
20de44d4a5
Reodered methods in file to group similar code
2023-04-20 22:04:24 +03:00
Ivan Savenko
7db67a3101
int3 now has proper hasher function
2023-04-20 22:04:24 +03:00
Ivan Savenko
4ec32e4dcd
Renamed CAdvMapInt to its proper full name
2023-04-20 22:04:24 +03:00
Ivan Savenko
f1902ab247
Initial refactoring to encapsulate adventure map
2023-04-20 22:03:28 +03:00
Konstantin
54eb550eb9
vcmi: remove unused functions now
2023-04-17 00:43:13 +03:00
Konstantin
7a5775a9f9
vcmi: use std::optional
2023-04-17 00:43:13 +03:00
Konstantin
0d35606a44
vcmi: use std::variant
2023-04-17 00:43:13 +03:00
Nordsoft91
3951bbb395
Merge pull request #1108 from Nordsoft91/battle-dialog
...
[HDMod features] Quick combat
2023-04-11 21:18:04 +04:00
Ivan Savenko
dfa2e2a349
Merge beta into develop
2023-04-11 19:37:35 +03:00
nordsoft
bfc75ccd39
Merge remote-tracking branch 'upstream/develop' into battle-dialog
2023-04-11 02:22:42 +04:00
Ivan Savenko
e2d0cd37e4
Merge pull request #1910 from IvanSavenko/beta_fixes
...
Fixes for 1.2 branch
2023-04-09 20:09:03 +03:00
Adriankhl
1d6192ca62
Shut down the thread for tactic phase properly
2023-04-08 22:52:46 +04:00
nordsoft
50115c3113
Rename variables
2023-04-08 20:56:05 +04:00
Ivan Savenko
3dedc963f7
Fix double-playing of battle effects
2023-04-08 18:53:28 +03:00
SoundSSGood
e58be8e7f7
vcmiartifacts fixed
2023-04-08 12:28:53 +03:00
nordsoft
e85593dbb3
Save & restore mana
2023-04-06 21:19:46 +04:00
nordsoft
ce3028bd73
Intermediate commit
2023-04-06 19:34:07 +04:00
Ivan Savenko
307065a633
Merge beta into develop
2023-04-04 16:06:20 +03:00
Ivan Savenko
c661419897
Merge pull request #1700 from rilian-la-te/resource-array
...
Modernize resourceSet.
2023-04-02 20:12:45 +03:00
Konstantin
eff41f66ed
vcmi: now obstacles can have disappearing anim
...
It is a reverse version of appearingAnimation.
2023-03-31 01:01:25 +03:00
Ivan Savenko
0c023347dd
Fix potential nullptr dereference
2023-03-28 23:50:57 +03:00
Ivan Savenko
b875da108b
Merge pull request #1717 from SoundSSGood/backpack-limit-size
...
Introducing backpack size limit functionality
2023-03-27 17:17:49 +03:00
Ivan Savenko
8af76947cb
Do not cache hovered tile and always update state
2023-03-22 19:49:57 +02:00
Ivan Savenko
fa9abf6adc
Lock UI while adventure map has animations
2023-03-22 19:49:24 +02:00
Ivan Savenko
c81d57ab8c
Remove excessive totalRedraw's
2023-03-22 00:57:08 +02:00
SoundSSGood
19096f39f0
Backpack limit. Amount of fixes.
2023-03-21 22:11:42 +02:00
Ivan Savenko
bb03abdce6
Fix crash on switching players in hotseat
2023-03-21 19:06:38 +02:00
SoundSSGood
96e8a1f21c
Backpack limit part1 (move, disassemble)
2023-03-21 12:14:33 +02:00
Konstantin
bbbbfe00f0
Modernize resourceSet
2023-03-17 02:26:54 +03:00
Ivan Savenko
39f2bef1ab
Update town visual on capturing
2023-03-15 00:30:58 +02:00
Ivan Savenko
844bf9b9ab
Do not play embark/disembar sound during enemy turn
2023-03-15 00:30:19 +02:00
Ivan Savenko
f988a67fbf
Fix movement animation on revealing FoW
2023-03-15 00:29:12 +02:00
Konstantin
b4940ee247
vcmi: allow showing no more than 8 components
...
In InfoWindow there is no place for more than 8 components.
Better to have more annoying windows than window which cannot be closed
Slider may be better of course, but I cannot do it for now.
2023-03-13 00:24:26 +03:00
Konstantin
4df4a872c0
showInfoDialog: fix waitWhileDialog regression
2023-03-12 15:01:48 +03:00
Konstantin
3d33da0a9e
vcmi: request pop all when hero is moved
...
This way new pickup will show immidately.
2023-03-11 21:41:57 +03:00
Konstantin
bc228a938a
vcmi: use enum class for EComponentType
...
There is really no reason not to use it
2023-03-11 21:41:57 +03:00
Konstantin
a6cb7fd192
vcmi: allows to more than 8 components in infobar
2023-03-11 21:41:57 +03:00
Konstantin
a0c644a0e5
vcmi: actually implement AUTO for CInfoWindow
...
This is possible to use infobar interactions now.
2023-03-11 21:41:57 +03:00
Konstantin
4617ce10e5
vcmi: allow showing more than one components in infobar
...
Up to 8, AFAIK. So, we can show multi-reward in infobox now.
One issue remain - cannot dynamically choose components size
based on text size.
2023-03-11 21:41:57 +03:00
Konstantin
2fb2a79ca4
vcmi: fix components other than resources in infobar
...
Do not redraw infobar when components shows and
we request to show current adventure hero.
Player already knows which hero he used to pick up
components.
2023-03-11 21:41:57 +03:00
Konstantin
5366f9190e
vcmi: reduce boost::lexical_cast usage
2023-03-09 16:36:46 +03:00
Ivan Savenko
df4fe33c3a
Do not switch InfoBar to hero during another player turn
2023-03-07 00:06:58 +02:00
Ivan Savenko
30911eb593
Lock UI during movement animation
2023-03-05 18:02:59 +02:00
Ivan Savenko
b57a07b10f
Restored ambient sounds functionality
2023-03-05 18:02:59 +02:00
Ivan Savenko
cdcd5a29dd
Updated path to renamed directory
2023-03-05 18:02:59 +02:00
Ivan Savenko
387a7b421a
Refactoring of new code, multiple functionality changes:
...
- Implemented separate Map View contexts for different map modes
- Puzzle map now works
- Enemy movement now works as in H3
- Removed no longer used code
- Implemented missing embark/disembark sounds
- Fixed view focusing on embarking/disembarking
- Fixed focusing on movement near edge of terra incognita
- Fixed sea movement sound
2023-03-05 18:02:58 +02:00
Ivan Savenko
46200b133f
Remove default parameter
2023-03-05 17:57:36 +02:00
Ivan Savenko
45e2875342
Completely removed old TerrainRect class
2023-03-05 17:57:36 +02:00
Ivan Savenko
fbb8c18c23
Improved map view selection tracking
2023-03-05 17:57:36 +02:00
Ivan Savenko
5905dd6111
Grail digging check is now in library
2023-03-05 17:48:02 +02:00
Ivan Savenko
11e4d84749
Implemented View Earth / View Air spells
2023-03-05 17:48:02 +02:00
Ivan Savenko
ec6f19ea18
Code reorganization, no changes to functionality
2023-03-05 17:48:02 +02:00
Ivan Savenko
ca13e7dedf
Implemented terrain palette animatiions. Removed old code
2023-03-05 17:48:02 +02:00
Ivan Savenko
7cf00ba87d
Implemented basic hero movement animation & object fade-out
2023-03-05 17:48:02 +02:00
Ivan Savenko
4501036a04
Basic version of hero movement on map. Removed old code.
2023-03-05 17:48:02 +02:00
Ivan Savenko
d46687a9c8
Partial implementation of world view mode
2023-03-05 17:48:02 +02:00
Ivan Savenko
600054e001
Refactored access to hero paths in CPlayerInterface
2023-03-05 17:48:01 +02:00
Ivan Savenko
bb6e1f7ee1
Initial WIP of adventure map rendering rewrite
2023-03-05 17:47:12 +02:00
Ivan Savenko
476e60c753
Merge pull request #1615 from SoundSSGood/CArtifactsOfHero-refactoring
...
Optimization and cleanup CArtifactHolder
2023-03-05 17:28:36 +02:00
SoundSSGood
a1dbbe2d86
redraw optimization
2023-03-03 10:17:31 +02:00
Ivan Savenko
195eac3375
Merge pull request #1545 from dydzio0614/town-panel-number-formatting
...
Improve creature numbers handling in castle interface bottom left part
2023-02-26 22:56:54 +02:00
Ivan Savenko
72fe1fcfa9
Fix minimap updating on hero loss
2023-02-14 11:32:19 +02:00
Ivan Savenko
91b17bed79
Partial encapsulation of AdvMapInt
2023-02-14 11:18:42 +02:00
Ivan Savenko
cc0c3e5bc9
All adventure map components now use shared_ptr
2023-02-14 11:18:41 +02:00
Ivan Savenko
f8c1c46562
removed CAdvMapInt::handleRightClick method
2023-02-14 11:18:41 +02:00
Ivan Savenko
9833edcf73
Removed using namespace SDL_Ext
2023-02-03 11:39:40 +02:00
Ivan Savenko
3fef2a5e1f
Moved Colors to a separate file, updated includes
2023-02-03 11:39:40 +02:00
Ivan Savenko
594b7614cf
Fix CI build
2023-02-03 11:39:40 +02:00
Ivan Savenko
e1bd0d2a04
API for custom events no longer requires SDL access
2023-02-03 11:39:40 +02:00
Ivan Savenko
d4fba3787c
Removed usage of SDL_KeyboardEvent from UI code
2023-02-03 11:39:40 +02:00
Ivan Savenko
6669ffd4b3
Moved input-related code from SDL_Extensions to GuiHandler
2023-02-03 11:39:40 +02:00
Dydzio
e7a774c465
Improve creature numbers handling in castle interface bottom left part
2023-02-02 20:54:47 +01:00
Ivan Savenko
108a42e4ba
Reorganized includes for new layout. New class - IImageLoader
2023-02-01 20:42:06 +02:00
Ivan Savenko
9c3030603d
Removed most SDL includes from headers, removed SDL int's
2023-01-30 19:55:32 +02:00
Ivan Savenko
42df5626d9
Added Color class to replace SDL_Color
2023-01-30 00:12:43 +02:00
Ivan Savenko
fc0f5a9fb3
Reduced SDL includes
2023-01-20 16:11:43 +02:00
Ivan Savenko
388ed88b5d
All artifact strings now pass through translator
2023-01-20 15:18:36 +02:00
Ivan Savenko
fa6f7513e8
All heroes-related strings are passed through translator
2023-01-20 15:18:36 +02:00
Ivan Savenko
05ac217b0f
Merge with vcmi/develop
2023-01-17 23:02:25 +02:00
Ivan Savenko
0e8ee929df
Renamed CCursorHandler -> CursorHandler
2023-01-15 21:18:34 +02:00
Ivan Savenko
246281e62a
Merged vcmi/beta with vcmi/develop
2023-01-15 17:46:42 +02:00
Andrey Filipenkov
2f14914120
fix Boost deprecation warnings
...
warnings introduced in v1.81
# Conflicts:
# mapeditor/resourceExtractor/ResourceConverter.cpp
2023-01-15 17:28:09 +02:00
Ivan Savenko
e48bd39b9c
Moved road & river handlers into a separate file
2023-01-11 15:17:24 +02:00
Ivan Savenko
1e37e66e6c
Replaced Terrain::BORDER and WRONG with NONE
2023-01-10 20:09:09 +02:00
Ivan Savenko
4f3ea0d1d9
Renamed Terrain.h/cpp -> TerrainHandler.h/cpp
2023-01-10 00:01:35 +02:00
Ivan Savenko
f51b3bca57
use JsonKey or NameTranslated instead of ambiguos Name
2023-01-10 00:01:35 +02:00
Ivan Savenko
7c7ae26e67
Map/Road/River identifiers are now private members
2023-01-10 00:01:35 +02:00
Ivan Savenko
f3985d205b
Added horseSoundPenalty for terrains (for movement outside of roads)
2023-01-10 00:01:35 +02:00
Ivan Savenko
64885bdf6b
Better names for terrain parameters. Support for new movement sounds.
2023-01-10 00:01:35 +02:00
Ivan Savenko
e1799379dd
Terrain/Road/River handler are now in compileable state
2023-01-10 00:01:35 +02:00
Ivan Savenko
1468f6aded
Converted terrainTypeHandler into proper handler class
2023-01-10 00:01:35 +02:00
Ivan Savenko
1fece0ce18
Merge pull request #1229 from IvanSavenko/battle_improvements
...
Battle: Fixing bugs & Implementation of missing features
2023-01-09 22:07:13 +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
bdb8e0ee5c
Introduced string identifiers for H3 texts, still WIP
2023-01-01 14:56:44 +02:00
Ivan Savenko
81164100da
Fix crash on exiting game during battle
2022-12-30 11:54:37 +02:00
Ivan Savenko
5d80457eda
Merge with vcmi/develop branch
2022-12-30 00:52:23 +02:00
Ivan Savenko
b275d9de72
merge beta branch into develop
2022-12-29 22:08:53 +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
c906b27859
Formatting
2022-12-25 17:42:54 +02:00
Ivan Savenko
eb20a4b208
Merge remote-tracking branch 'vcmi/develop' into warnings_fix
2022-12-23 14:40:45 +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
e9e549148d
Implemented teleportation animation effect
2022-12-18 18:26:43 +02:00
Ivan Savenko
deffba01b9
All battle effects are now fully client sided
2022-12-17 17:35:15 +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
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
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
5094fab4d9
Refactoring of spell animations, multiple fixes for spell visuals
2022-12-01 22:06:42 +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
cb6fe1eedf
Moved battle effects into a new class
2022-11-24 16:30:04 +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
b01737daf2
Moved stacks & animations handling into a separate class
2022-11-20 19:11:34 +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
Ivan Savenko
3c5858f01e
Separated battlefield background&hexes handling into a new class
2022-11-17 23:57:51 +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
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
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
SoundSSGood
6e5932c016
Apply suggested changes next part
2022-11-10 21:02:06 +02:00
SoundSSGood
0032947735
regression fixed. Artifact assemble dialog shows multiple times.
2022-11-07 00:36:13 +02:00
SoundSSGood
95ab343116
Net Packs BulkMoveArtifacts structure and BulkMoveArtifacts::applyCl
2022-11-06 23:54:50 +02:00
nordsoft
52b3b329a4
Fix [965]
2022-11-01 19:16:45 +04:00
Andrey Filipenkov
4de0300c76
unlock adventure map UI after closing battle result dialog
2022-09-30 15:06:50 +03:00
Andrii Danylchenko
dae726b82d
Merge pull request #1005 from kambala-decapitator/ios-min-12
...
raise iOS deployment target to 12.0
2022-09-29 19:57:04 +03:00
DjWarmonger
58a3abb643
Merge pull request #963 from vcmi/terrain-rewrite
...
Terrain rewrite
2022-09-29 18:24:05 +02:00
Tomasz Zieliński
20c102e648
Remove T prefix from new typedefs
2022-09-29 11:44:46 +02:00
Andrey Filipenkov
1dc7ccb7d0
remove declaration of non-existent function
2022-09-27 07:06:17 +03:00
Tomasz Zieliński
4ea57ea7fc
A variety of suggested style tweaks
2022-09-25 09:33:56 +02:00
Andrey Filipenkov
72feb538ce
add explicit null pointer checks
2022-09-25 10:05:16 +03:00
Tomasz Zieliński
11e1bb44a2
Load sounds for new terrains later
2022-09-21 13:43:00 +02:00
Tomasz Zieliński
494b0f0226
First version that compiles
2022-09-21 11:34:23 +02:00
DjWarmonger
7ba271edf1
Rotation rebase2 ( #912 )
...
* Instead of [x][y][z] coordinates, map will be stored as [z][x][y].
* Nullkiller AI can get it too.
* Use boost::multi_array instead of nested vectors
* In MapHandler too
* Rotate foreach algorithms, too
* VCAI gets rotated, too
2022-09-18 17:39:10 +03:00
Nordsoft91
aaa07e4d2e
New terrain support - part 1 ( #755 )
...
Initial support of new terrains
2022-09-11 11:31:26 +03:00
nordsoft
53b9434a22
Fix crash
2022-07-29 11:08:38 +03:00
Andrii Danylchenko
c4dec67acc
Fix movement freeze after battle in teleport
2022-06-20 09:05:05 +03:00