diff options
Diffstat (limited to 'engines/xeen/interface.h')
-rw-r--r-- | engines/xeen/interface.h | 40 |
1 files changed, 31 insertions, 9 deletions
diff --git a/engines/xeen/interface.h b/engines/xeen/interface.h index a249e6f025..321fe520c7 100644 --- a/engines/xeen/interface.h +++ b/engines/xeen/interface.h @@ -42,6 +42,17 @@ enum Obscurity { OBSCURITY_NONE = 4 }; +enum IconsMode { + ICONS_STANDARD = 0, + ICONS_COMBAT = 1 +}; + +enum FallState { + FALL_NONE = 0, + FALL_IN_PROGRESS = 1, + FALL_START = 2 +}; + #define HILIGHT_CHAR_DISABLED -2 #define HILIGHT_CHAR_NONE -1 @@ -75,13 +86,13 @@ class Interface: public ButtonContainer, public InterfaceScene, private: XeenEngine *_vm; SpriteResource _uiSprites; - SpriteResource _iconSprites; SpriteResource _borderSprites; SpriteResource _spellFxSprites; SpriteResource _fecpSprites; SpriteResource _blessSprites; - DrawStruct _mainList[16]; - + SpriteResource _stdIcons; + SpriteResource _combatIcons; + Graphics::ManagedSurface _fallSurface; bool _buttonsLoaded; int _steppingFX; int _blessedUIFrame; @@ -90,13 +101,14 @@ private: int _heroismUIFrame; int _flipUIFrame; - void initDrawStructs(); - void loadSprites(); void setupBackground(); - void setMainButtons(bool combatMode = false); + /** + * Sets the main user interface icons for either standard mode or combat mode + */ + void setMainButtons(IconsMode mode = ICONS_STANDARD); void chargeStep(); @@ -117,9 +129,18 @@ private: */ void handleFalling(); - void saveFall(); + /** + * Sets up a passed surface with a double height combination of the previously + * saved scene background and the newly rendered (but not displayed) scene + * below it. This will be used by the fall sequence to vertically shift from the + * prior "upper" scene to the lower ground scene + */ + void setupFallSurface(bool isTop); - void fall(int v); + /** + * Handles a frame of falling animation + */ + void fall(int yp); /** * Shake the screen @@ -133,7 +154,7 @@ private: public: Obscurity _obscurity; Common::String _interfaceText; - int _falling; + FallState _falling; int _face1State, _face2State; int _face1UIFrame, _face2UIFrame; int _spotDoorsUIFrame; @@ -143,6 +164,7 @@ public: Common::String _screenText; byte _tillMove; int _charFX[6]; + IconsMode _iconsMode; public: Interface(XeenEngine *vm); |