diff options
author | johndoe123 | 2014-04-12 18:46:53 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2018-07-20 06:43:33 +0000 |
commit | 998744608f27802526b085ebe94215719ef9f28d (patch) | |
tree | 164599985e3c1f0893d002624eabd6c4fe1f47e5 /engines/illusions/camera.h | |
parent | 36c7ec4d344e13223ba630bd66baaf492870ce68 (diff) | |
download | scummvm-rg350-998744608f27802526b085ebe94215719ef9f28d.tar.gz scummvm-rg350-998744608f27802526b085ebe94215719ef9f28d.tar.bz2 scummvm-rg350-998744608f27802526b085ebe94215719ef9f28d.zip |
ILLUSIONS: More work on Duckman
- Implement dialogs
- Change Camera class for Duckman
Diffstat (limited to 'engines/illusions/camera.h')
-rw-r--r-- | engines/illusions/camera.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/engines/illusions/camera.h b/engines/illusions/camera.h index 9fa12c4ebc..85d308df5f 100644 --- a/engines/illusions/camera.h +++ b/engines/illusions/camera.h @@ -29,6 +29,8 @@ namespace Illusions { +class BackgroundItem; + struct CameraState { int _cameraMode; //field_2 dw @@ -85,10 +87,18 @@ public: bool isAtPanLimit(int limitNum); void setActiveState(CameraState &state); void getActiveState(CameraState &state); + void refreshPan(BackgroundItem *backgroundItem, WidthHeight &dimensions); protected: IllusionsEngine *_vm; CameraState _activeState; Common::FixedStack<CameraModeStackItem, 8> _stack; + + int16 _screenWidth, _screenHeight; + int16 _screenMidX, _screenMidY; + Common::Point _centerObjectTrackingLimits; + Common::Point _trackObjectTrackingLimits; + int16 _trackObjectTrackingLimitsPanSpeed; + void updateMode1(uint32 currTime); void updateMode2(uint32 currTime); void updateMode3(uint32 currTime); @@ -98,6 +108,9 @@ protected: void recalcPan(uint32 currTime); bool calcPointFlags(Common::Point &pt, WRect &rect, uint &outFlags); void clipPanTargetPoint(); + void init(); + void initDuckman(); + void initBBDOU(); }; } // End of namespace Illusions |