diff options
author | johndoe123 | 2014-03-11 17:59:59 +0100 |
---|---|---|
committer | Eugene Sandulenko | 2018-07-20 06:43:33 +0000 |
commit | 12645cbb8cb90adb5917b554e14142bf33d0f70a (patch) | |
tree | aebaf66b54c0746ee2c991f2bdd68e5123c4c1c8 /engines/illusions/camera.h | |
parent | e0a3db43c3eed0c5bb7f94f408e5534aff1ea17a (diff) | |
download | scummvm-rg350-12645cbb8cb90adb5917b554e14142bf33d0f70a.tar.gz scummvm-rg350-12645cbb8cb90adb5917b554e14142bf33d0f70a.tar.bz2 scummvm-rg350-12645cbb8cb90adb5917b554e14142bf33d0f70a.zip |
ILLUSIONS: Some work on the Camera class; start with time functions
Diffstat (limited to 'engines/illusions/camera.h')
-rw-r--r-- | engines/illusions/camera.h | 32 |
1 files changed, 31 insertions, 1 deletions
diff --git a/engines/illusions/camera.h b/engines/illusions/camera.h index d55ab8e33b..fae3c328ac 100644 --- a/engines/illusions/camera.h +++ b/engines/illusions/camera.h @@ -23,15 +23,45 @@ #ifndef ILLUSIONS_CAMERA_H #define ILLUSIONS_CAMERA_H +#include "illusions/graphics.h" #include "common/rect.h" +#include "common/stack.h" namespace Illusions { +struct CameraState { + int _cameraMode; + //field_2 dw + int16 _paused; + int16 _panSpeed; + int _someX, _someY; + Common::Point _currPan; + int _panXShl, _panYShl; + WRect _bounds; + uint32 _panNotifyId; + uint32 _time28; + uint32 _panStartTime; + uint32 _pauseStartTime; + uint32 _time2E; + Common::Point _currPan2; + Common::Point _panTargetPoint; + Common::Point _trackingLimits; + Common::Point _pt; + uint32 _panObjectId; + Common::Point *_panToPositionPtr; + uint _pointFlags; + //field_4A dw +}; + class Camera { public: + Camera(); + void clearStack(); + void set(Common::Point &panPoint, WidthHeight &dimensions); Common::Point getCurrentPan(); protected: - Common::Point _currPan; + CameraState _activeState; + Common::FixedStack<CameraState, 8> _stack; }; } // End of namespace Illusions |