summaryrefslogtreecommitdiff
path: root/src/resources
diff options
context:
space:
mode:
Diffstat (limited to 'src/resources')
-rw-r--r--src/resources/ambientoverlay.cpp32
-rw-r--r--src/resources/ambientoverlay.h16
2 files changed, 27 insertions, 21 deletions
diff --git a/src/resources/ambientoverlay.cpp b/src/resources/ambientoverlay.cpp
index b5304627..058b6083 100644
--- a/src/resources/ambientoverlay.cpp
+++ b/src/resources/ambientoverlay.cpp
@@ -28,9 +28,9 @@
#include "../graphics.h"
AmbientOverlay::AmbientOverlay(Image *img, float parallax,
- float scrollX, float scrollY, float speedX, float speedY):
+ float speedX, float speedY):
mImage(img), mParallax(parallax),
- mScrollX(scrollX), mScrollY(scrollY),
+ mPosX(0), mPosY(0),
mSpeedX(speedX), mSpeedY(speedY)
{
mImage->incRef();
@@ -44,30 +44,30 @@ AmbientOverlay::~AmbientOverlay()
void AmbientOverlay::update(int timePassed, float dx, float dy)
{
// Self scrolling of the overlay
- mScrollX -= mSpeedX * timePassed / 10;
- mScrollY -= mSpeedY * timePassed / 10;
+ mPosX -= mSpeedX * timePassed / 10;
+ mPosY -= mSpeedY * timePassed / 10;
// Parallax scrolling
- mScrollX += dx * mParallax;
- mScrollY += dy * mParallax;
+ mPosX += dx * mParallax;
+ mPosY += dy * mParallax;
int imgW = mImage->getWidth();
int imgH = mImage->getHeight();
// Wrap values
- while (mScrollX > imgW)
- mScrollX -= imgW;
- while (mScrollX < 0)
- mScrollX += imgW;
+ while (mPosX > imgW)
+ mPosX -= imgW;
+ while (mPosX < 0)
+ mPosX += imgW;
- while (mScrollY > imgH)
- mScrollY -= imgH;
- while (mScrollY < 0)
- mScrollY += imgH;
+ while (mPosY > imgH)
+ mPosY -= imgH;
+ while (mPosY < 0)
+ mPosY += imgH;
}
void AmbientOverlay::draw(Graphics *graphics, int x, int y)
{
- graphics->drawImagePattern(mImage, (int)(-mScrollX), (int)(-mScrollY),
- x + (int)mScrollX, y + (int)mScrollY);
+ graphics->drawImagePattern(mImage,
+ (int) -mPosX, (int) -mPosY, x + (int) mPosX, y + (int) mPosY);
}
diff --git a/src/resources/ambientoverlay.h b/src/resources/ambientoverlay.h
index 25bc28ef..a939cbb4 100644
--- a/src/resources/ambientoverlay.h
+++ b/src/resources/ambientoverlay.h
@@ -30,9 +30,15 @@ class Image;
class AmbientOverlay
{
public:
+ /**
+ * Constructor.
+ */
AmbientOverlay(Image *img, float parallax,
- float scrollX, float scrollY, float speedX, float speedY);
+ float speedX, float speedY);
+ /**
+ * Destructor.
+ */
~AmbientOverlay();
void update(int timePassed, float dx, float dy);
@@ -42,10 +48,10 @@ class AmbientOverlay
private:
Image *mImage;
float mParallax;
- float mScrollX;
- float mScrollY;
- float mSpeedX;
- float mSpeedY;
+ float mPosX; /**< Current layer X position. */
+ float mPosY; /**< Current layer Y position. */
+ float mSpeedX; /**< Scroll speed in X direction. */
+ float mSpeedY; /**< Scroll speed in Y direction. */
};
#endif