1
0
mirror of https://github.com/vcmi/vcmi.git synced 2024-12-14 10:12:59 +02:00
Commit Graph

916 Commits

Author SHA1 Message Date
Ivan Savenko
10ad0fc760 Split CHeroHandler.cpp/.h into 1 file per class
All parts of CHeroHandler.cpp are now in lib/entities/hero
Adjusted includes to use new paths
No functionality changes
2024-10-13 14:01:09 +00:00
Ivan Savenko
3dd4fa2528 Reduce usage of pointers to VLC entities
Final goal (of multiple PR's) is to remove all remaining pointers from
serializeable game state, and replace them with either identifiers or
with shared/unique pointers.

CGTownInstance::town and CGHeroInstance::type members have been removed.
Now this data is computed dynamically using subID member.

VLC entity of a town can now be accessed via following methods:
- getFactionID() returns ID of a faction
- getFaction() returns pointer to a faction
- getTown() returns pointer to a town

VLC entity of a hero can now be accessed via following methods:
- getHeroTypeID() returns ID of a hero
- getHeroClassID() returns ID of a hero class
- getHeroType() returns pointer to a hero
- getHeroClass() returns pointer to a hero class
2024-10-10 12:28:08 +00:00
Ivan Savenko
679181c103 Implemented serialization of local player state in json form 2024-10-08 20:04:32 +00:00
Ivan Savenko
654f5a9100
Merge pull request #4691 from PolishUser/hero-recruitment-sound
Add 'newBuilding' sound upon hero recruitment in towns
2024-10-01 15:28:33 +03:00
PolishUser
c2ddf8e06a Add 'newBuilding' sound upon hero recruitment in towns 2024-09-28 23:54:51 +02:00
Dydzio
230893f423 Merge branch 'develop' into any-hex-shooting 2024-09-23 16:57:27 +02:00
Ivan Savenko
e93a060500 Merge branch 'vcmi/beta' into 'vcmi/develop' 2024-09-23 14:25:53 +00:00
Dydzio
bb69ab1a1a Fix assert and condition for counting spell hexes 2024-09-22 18:25:18 +02:00
Ivan Savenko
3e1968c201 Wait for inactive player in hotseat to answer dialog before starting
battle
2024-09-19 15:30:51 +00:00
Dydzio
e843af24bf Fix broken popping of top interfaces when town was opened during multiplayer game 2024-09-11 23:00:06 +02:00
Ivan Savenko
ee64928454
Merge pull request #4448 from smanolloff/split-client+develop
Split vcmiclient in two
2024-09-02 15:34:05 +03:00
Ivan Savenko
82c37573fa Removed save compatibility with 1.4
All save compatibility checks targeting 1.4 saves have now been removed.
Saves from 1.5 can still be loaded in 1.6

Implemeted few TODO's in serialization that were postponed to avoid
breaking save compatibility in MP for 1.5.X releases.

Fixed missed case for loading black market object from 1.5 saves
2024-08-29 18:51:53 +00:00
Ivan Savenko
408a632002 Deprecate artifact-related building types 2024-08-28 13:50:08 +00:00
Simeon Manolov
e9131538dd
Merge branch 'develop' into split-client+develop 2024-08-27 03:05:07 +03:00
Ivan Savenko
01396b62b7 Extracted handling of type ID's from serializer into a separate class 2024-08-26 19:48:46 +00:00
Ivan Savenko
b84af1a6de Significantly simplify packs applying
Apparently our logic for packs applying with types registration is
overcomplicated and by now completely unnecessary - it became redundant
after introduction of visitor pattern.
2024-08-26 19:48:46 +00:00
Ivan Savenko
11e8b04ac5
Merge pull request #4463 from SoundSSGood/IMarket-refactoring
IMarket refactoring
2024-08-26 22:48:23 +03:00
Ivan Savenko
3d39963a1c Merge branch 'master' into 'develop' 2024-08-26 14:01:00 +00:00
MichalZr6
2a6525c5ef Check battleInt->curInt instead of battleInt 2024-08-25 19:43:21 +00:00
MichalZr6
619b35ab33 Allow dialogs when in battle interface
But also it is not our turn
2024-08-25 19:43:14 +00:00
MichalZr6
9daabd0710 Check battleInt->curInt instead of battleInt 2024-08-23 23:30:50 +02:00
MichalZr6
d0e0ab767c Allow dialogs when in battle interface
But also it is not our turn
2024-08-23 18:03:58 +02:00
Ivan Savenko
b6cc409772 Fix excessive removal of dialogs, e.g. new week or timed events 2024-08-22 16:39:30 +00:00
Simeon Manolov
d05adfc5d5
Merge branch 'develop' into split-client+develop 2024-08-21 17:40:37 +03:00
Simeon Manolov
5a7dc7b552
Merge branch 'develop' into split-client+develop 2024-08-21 17:39:44 +03:00
SoundSSGood
2e3e6b1553 market->getObjInstanceID() 2024-08-21 01:01:23 +03:00
SoundSSGood
58bb2b58e3 IMarket suggestions
Co-authored-by: Ivan Savenko <saven.ivan@gmail.com>
2024-08-20 18:49:48 +03:00
SoundSSGood
cd7ebea9e3 cleanup unused code 2024-08-20 18:49:47 +03:00
SoundSSGood
fd45b5144d IMarket serializeable 2024-08-20 18:49:47 +03:00
Ivan Savenko
6a6c13471c Try more robust approach for waiting dialogs in battles in MP 2024-08-19 18:20:11 +00:00
Ivan Savenko
b94a61c255 Try to fix battle startup if player has waiting dialogs 2024-08-19 15:21:45 +00:00
Ivan Savenko
f29a687234 Clean up scaling code, implemented image size optimization 2024-08-17 15:25:26 +00:00
Simeon Manolov
f2cddaa21b
Split vcmiclient in two
Similar to vcmiserver (app) and vcmiservercommon (lib), now
there is vcmiclient (app) and vcmiclientcommon (lib).
2024-08-14 19:20:01 +03:00
Ivan Savenko
49c5f650f7
Merge pull request #4437 from IvanSavenko/battle_sides
Unified handling of battle sides ID's
2024-08-14 18:37:05 +03:00
Ivan Savenko
2a05fbdd50 Unified handling of battle sides ID's
- Replaced BattleSide namespace-enum with enum class
- Merged two different BattleSide enum's into one
- Merged BattlePerspective enum into BattleSide enum
- Changed all places that use integers to represent battle side to use
BattleSide enum
- Added BattleSideArray convenience wrapper for std::array that is
always 2-elements in size and allows access to its elements using
BattleSide enum
2024-08-11 20:54:44 +00:00
Ivan Savenko
00605b5129 Remove largely unused defActions member from CIntObject 2024-08-09 14:26:53 +00:00
Ivan Savenko
b7391f49f6 Merge branch 'vcmi/master' into 'vcmi/develop' 2024-08-05 10:36:10 +00:00
Ivan Savenko
e8c3252214 Do not auto-remove dialogs such as new week 2024-08-04 13:14:28 +00:00
Ivan Savenko
5f0e6f7ce1 Close all dialogs on start of new turn in MP 2024-07-29 17:13:31 +00:00
Ivan Savenko
4aa73b40c9 Split CTownHandler into smaller chunks 2024-07-21 18:21:48 +00:00
Ivan Savenko
1aa391fdf8 Split CGeneralTextHandler file into 1 file per class form
All text processing code is now located in lib/texts.
No changes other than code being moved around and adjustment of includes

Moved without changes:
Languages.h           -> texts/Languages.h
MetaString.*          -> texts/MetaString.*
TextOperations.*      -> texts/TextOperations.*

Split into parts:
CGeneralTextHandler.* -> texts/CGeneralTextHandler.*
                      -> texts/CLegacyConfigParser.*
                      -> texts/TextLocalizationContainer.*
                      -> texts/TextIdentifier.h
2024-07-20 12:55:17 +00:00
Ivan Savenko
0d6ec0d224 Reviewed usage of EBlitMode, now specified clearly in all cases 2024-07-19 10:08:50 +00:00
Ivan Savenko
fcafe53da9 Restored previously disabled University code, add interface to notify
market-like objects
2024-07-19 10:08:50 +00:00
Ivan Savenko
47de9a62dc Created separate classes for shared, unchangeable image and image
manipulators owned by UI elements
2024-07-19 10:08:50 +00:00
Ivan Savenko
63bcf7d83c Replaced most of usages of CRandomGenerator with vstd::RNG in library 2024-07-16 13:13:07 +00:00
Ivan Savenko
ad9750ed3e
Merge pull request #4186 from SoundSSGood/end-of-battle-artifacts-transfer
End of battle artifacts transfer
2024-07-16 12:45:13 +03:00
SoundSSGood
ff5ddd76b7 suggestions 2024-07-16 00:03:06 +03:00
Ivan Savenko
c00a1e1b0c Fixed new issues detected by SonarCloud 2024-07-15 07:46:40 +00:00
Ivan Savenko
6b8f94e6e7 Merge remote-tracking branch 'vcmi/master' into develop 2024-07-11 17:43:44 +00:00
SoundSSGood
b42c6dbf44 fixed regressions 2024-07-09 14:27:05 +03:00