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
a8f8c3f4b1
Replaced most of accesses to CGObjectInstance::pos with anchorPoint()
2024-10-09 15:43:46 +00:00
Ivan Savenko
cd52625657
Merge pull request #4710 from kdmcser/display_attack_type
...
display attack type(melee/ranged) in popup window
2024-10-06 16:04:39 +03:00
Ivan Savenko
f5c2772f8d
Fix potential int32_t overflow when computing total army value
2024-10-02 19:48:08 +00:00
kdmcser
60177bffab
remove bracket
2024-10-02 19:57:26 +08:00
kdmcser
4896b51a5d
display attack type(melee/ranged) in popup window
2024-10-02 19:08:40 +08:00
Laserlicht
081ba4839c
added town info
2024-09-18 22:39:53 +02:00
Laserlicht
6aa29ac8ee
show creature level
2024-09-17 22:34:09 +02:00
Ivan Savenko
39a2c29c97
Removed creatureBank flag from battle, battles now receive BattleLayout
...
struct that defines how units are placed in combat
2024-09-12 12:11:18 +00:00
Ivan Savenko
8225eb454e
Added GameSettings to gamestate, potentially allowing to define game
...
settings per map (or in random map template)
2024-09-05 15:16:27 +00:00
Ivan Savenko
6179521364
Merge pull request #4556 from IvanSavenko/town_building_visit
...
Implemented explicitly visitable town buildings, e.g. hota mana vortex
2024-09-05 17:21:21 +03:00
SoundSSGood
7466d7452d
vcmiscrolls
2024-09-05 15:51:45 +03:00
Ivan Savenko
b09d9d501b
Pass pointer to actual caller in showBlockingDialog callWith
...
Fixes activation of all rewardable buildings in town on blocking dialog
answer
2024-09-04 15:14:56 +00: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
MichalZr6
ffaaa7da15
blockingDialog functions: the answer
parameter can be negative
2024-08-09 00:28:28 +02: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
63bcf7d83c
Replaced most of usages of CRandomGenerator with vstd::RNG in library
2024-07-16 13:13:07 +00:00
Alexander Wilms
02e429e973
Fix typos using https://github.com/crate-ci/typos
...
Changes were reviewed manually
2024-06-24 03:47:19 +02:00
Ivan Savenko
42f7a48fa4
Simplified integer serialization code
2024-05-16 18:53:49 +00:00
Ivan Savenko
47c3e6f4b6
Simplified code
2024-05-02 17:53:36 +03:00
Ivan Savenko
08ce3a8338
Clarified code
2024-05-02 17:32:38 +03:00
Ivan Savenko
7f732b6d0a
Fix thrown exception on random monster initialization
2024-04-24 22:57:13 +03:00
Ivan Savenko
5454d01316
Provide more information in thrown exceptions for unfixed crashes
2024-04-22 16:40:43 +03:00
Dydzio
4e927d6417
Fix missing gold component in "join for money" dialog
2024-02-07 21:57:25 +01:00
Ivan Savenko
a9866bb5c6
Added RandomGeneratorUtil::nextItemWeighted convenience method
2024-01-31 00:17:40 +02:00
Ivan Savenko
d5c4478816
Remove most of non-const access to VLC entities
2024-01-19 13:54:49 +02:00
Ivan Savenko
6b81012f31
Use variant identifier in netpacks where applicable
2023-11-08 14:00:23 +02:00
Ivan Savenko
86a3806bec
MetaString refactor to eliminate integer usage for identifiers
...
- entity names are now stored and serialized as text ID's
- added helper methods for convenience to get entities names to
metastring
2023-11-07 22:47:10 +02:00
Ivan Savenko
f039b20653
Improvement for wandering monster tooltip/hover text:
...
- show Visions information only on right-click (H3 logic)
- show threat level only on right-click and only if UI tweaks are on
2023-11-06 20:37:07 +02:00
Ivan Savenko
184f5a72cc
Use toEntity/toXXX methods in Identifier instead VLC objects access
2023-11-03 16:03:29 +02:00
Ivan Savenko
2b9c362d5b
Explicitly convert identifier to underlying enumeration
2023-11-03 16:03:29 +02:00
Ivan Savenko
10e50548e7
Converted Component class to use VariantIdentifier instead of int
2023-11-02 12:00:04 +02:00
Ivan Savenko
461c481ef3
Fix game startup
2023-11-01 14:43:20 +02:00
Ivan Savenko
7a09646009
Cleaned up dwelling randomization
2023-11-01 14:43:20 +02:00
Ivan Savenko
dcb8f4fc7b
Moved object type randomization to object class
2023-11-01 14:43:20 +02:00
Ivan Savenko
03e1169781
Reduced number of accesses to CGObjectInstance::subID
2023-11-01 14:43:20 +02:00
Ivan Savenko
b88a8da4e8
Split off some netpack structures into separate files
2023-10-23 13:59:15 +03:00
Ivan Savenko
ac925bb786
Renamed new types for consistency with code style
2023-10-22 16:55:19 +03:00
Ivan Savenko
80e6485965
MetaIdentifier now uses std::variant internally
2023-10-22 16:55:19 +03:00
Ivan Savenko
77facf9387
Implement missing functions, fixes linking errors
2023-10-22 16:54:56 +03:00
Ivan Savenko
0a10fc30b8
(lib) Bonus subtype is now stored as metaidentifier that can store any
...
other identifier inside it
2023-10-22 16:54:43 +03:00
nordsoft
f9f79255c5
Creature message meta string
2023-09-27 23:25:19 +02:00
nordsoft
a5492b30c3
Add pre-battle message
2023-09-23 02:35:21 +02:00
Ivan Savenko
8c0d78f1d9
Added initiator-player to packs that add/remove/move objects
2023-09-19 19:24:34 +03:00
Ivan Savenko
e8453916cf
Merge remote-tracking branch 'vcmi/beta' into develop
2023-09-08 18:49:06 +03:00
Ivan Savenko
44d16b32fe
Use API identical to std classes where possible
2023-08-23 16:32:29 +03:00
Dydzio
ed12f20609
Improve neutral creature adventure map popup
2023-08-21 14:42:41 +02:00
Ivan Savenko
56d69e790b
Renamed MetaString methods to more logical names
2023-06-20 19:37:27 +03:00
Ivan Savenko
2636a0dcc3
Moved MetaString to a new file
2023-06-20 19:37:27 +03:00
Ivan Savenko
f35b3a0dc3
Replace MetaString operator << with member function
2023-06-20 19:37:27 +03:00