1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-22 22:13:35 +02:00
Commit Graph

770 Commits

Author SHA1 Message Date
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