Now quick spell/actions windows have a priority over info windows (timer
/ hero / unit) if there is not enough space for both.
This means that:
- quick actions window can now be enabled if screen is at least 900px-
wide (and not 1050px)
- info windows now account for quick action window presence. If quick
actions window is active, info windows will be placed inside battle
window if screen is below 1050px wide
This makes it possible to use quick actions window in most resolutions,
for example - in 16x10 screens with maxed out resolution scaling.
No changes in actual window layout.
Alternative actions submod from extras is now deprecated and will have
no effect.
As long as screen width allows, game will now display additional panel
with all possible unit actions.
Panel will also display spells that can be cast by unit, allowing small
version of unit spellbook (total limit of actions is 12, but some are
used for creature actions, so unit spells are limited to 7-9)
- callback is now part of lib instead of weird class that is shared by
client and AI while being part of client
- callback interacts with client class via minimal interface class
- removed no longer used unlockGsWhileWaiting field
- files now generally contain only 1 class (except for tightly coupled
classes)
- files are now located in lib/entities/artifact directory
- removed excessive includes
No changes to functionality
- class CGuiHandler is now called GameEngine to better describe its
functionality
- renamed global GH to more clear ENGINE
- GH/ENGINE is now unique_ptr to make construction / deconstruction
order more clear and to allow interface / implementation split
- CGuiHandler.cpp/h is now called GameEngine.cpp/h and located in root
directory of client dir
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