diff options
author | johndoe123 | 2014-03-11 19:54:22 +0100 |
---|---|---|
committer | Eugene Sandulenko | 2018-07-20 06:43:33 +0000 |
commit | 21e1b08b8399bad5a8b88cf6e30b2db9edd0ad60 (patch) | |
tree | 468d6b9b3ecdfec301f30ef289ba9e863469a66b /engines/illusions/camera.h | |
parent | 12645cbb8cb90adb5917b554e14142bf33d0f70a (diff) | |
download | scummvm-rg350-21e1b08b8399bad5a8b88cf6e30b2db9edd0ad60.tar.gz scummvm-rg350-21e1b08b8399bad5a8b88cf6e30b2db9edd0ad60.tar.bz2 scummvm-rg350-21e1b08b8399bad5a8b88cf6e30b2db9edd0ad60.zip |
ILLUSIONS: More work on the camera and background classes
Diffstat (limited to 'engines/illusions/camera.h')
-rw-r--r-- | engines/illusions/camera.h | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/engines/illusions/camera.h b/engines/illusions/camera.h index fae3c328ac..816c5dda21 100644 --- a/engines/illusions/camera.h +++ b/engines/illusions/camera.h @@ -32,7 +32,7 @@ namespace Illusions { struct CameraState { int _cameraMode; //field_2 dw - int16 _paused; + bool _paused; int16 _panSpeed; int _someX, _someY; Common::Point _currPan; @@ -55,13 +55,26 @@ struct CameraState { class Camera { public: - Camera(); + Camera(IllusionsEngine *vm); void clearStack(); void set(Common::Point &panPoint, WidthHeight &dimensions); + void pause(); + void unpause(); + void update(uint32 currTime); + void setBounds(Common::Point &minPt, Common::Point &maxPt); + void setBoundsToDimensions(WidthHeight &dimensions); Common::Point getCurrentPan(); + Common::Point getScreenOffset(); protected: + IllusionsEngine *_vm; CameraState _activeState; Common::FixedStack<CameraState, 8> _stack; + void updateMode1(uint32 currTime); + void updateMode2(uint32 currTime); + void updateMode3(uint32 currTime); + bool updatePan(uint32 currTime); + bool isPanFinished(); + Common::Point getPtOffset(Common::Point pt); }; } // End of namespace Illusions |