aboutsummaryrefslogtreecommitdiff
path: root/engines/illusions/camera.h
diff options
context:
space:
mode:
authorjohndoe1232014-03-11 19:54:22 +0100
committerEugene Sandulenko2018-07-20 06:43:33 +0000
commit21e1b08b8399bad5a8b88cf6e30b2db9edd0ad60 (patch)
tree468d6b9b3ecdfec301f30ef289ba9e863469a66b /engines/illusions/camera.h
parent12645cbb8cb90adb5917b554e14142bf33d0f70a (diff)
downloadscummvm-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.h17
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