Some of our custom assets were actually made in high resolution, and
then - greatly downscaled for use in vcmi.
This PR adds (some of) these assets using recently introduced HD assets
loading support. None of these were upscaled, but rather downscaled from
existing high-resolution version.
Following assets were added:
- vcmi icon for map format - based on our main logo, with no text
- 'defend' icon for stack queue - now also based on our logo, with no
text and sepia effect
- 'wait' icon for stack queue - added only x2 version. Was actually
already present in vcmi mod, but unused.
- icons for creature window (attack/defense/hit points/etc) - it was
based on existing CC0 asset
- 'gear' icon for settings - made from scratch by me.
Will also upload all of these assets in their original resolution to
vcmi-assets repository.
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
- 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
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