diff options
author | Bjørn Lindeijer <bjorn@lindeijer.nl> | 2007-03-11 19:59:55 +0000 |
---|---|---|
committer | Bjørn Lindeijer <bjorn@lindeijer.nl> | 2007-03-11 19:59:55 +0000 |
commit | fc63e88f869919a8b035a5c41db8d05626526bde (patch) | |
tree | 8f1928d082ebbffc549c712a3f406c2141f43e01 /src/gui/viewport.cpp | |
parent | 7b0f0ec315e66dcbdda58ada8b09a59bc5dcf6c9 (diff) | |
download | mana-fc63e88f869919a8b035a5c41db8d05626526bde.tar.gz mana-fc63e88f869919a8b035a5c41db8d05626526bde.tar.bz2 mana-fc63e88f869919a8b035a5c41db8d05626526bde.tar.xz mana-fc63e88f869919a8b035a5c41db8d05626526bde.zip |
Merged 0.0 changes from revision 3065 to 3177 to trunk.
Diffstat (limited to 'src/gui/viewport.cpp')
-rw-r--r-- | src/gui/viewport.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/gui/viewport.cpp b/src/gui/viewport.cpp index 5f316aea..bc635cce 100644 --- a/src/gui/viewport.cpp +++ b/src/gui/viewport.cpp @@ -132,18 +132,22 @@ Viewport::draw(gcn::Graphics *gcnGraphics) mViewY = player_y; }; - if (mMap) { + // Don't move camera so that the end of the map is on screen + int viewXmax = mMap->getWidth() * 32 - graphics->getWidth(); + int viewYmax = mMap->getHeight() * 32 - graphics->getHeight(); + if (mMap) + { if (mViewX < 0) { mViewX = 0; } if (mViewY < 0) { mViewY = 0; } - if (mViewX > mMap->getWidth() * 32 - midTileX) { - mViewX = mMap->getWidth() * 32 - midTileX; + if (mViewX > viewXmax) { + mViewX = viewXmax; } - if (mViewY > mMap->getHeight() * 32 - midTileY) { - mViewY = mMap->getHeight() * 32 - midTileY; + if (mViewY > viewYmax) { + mViewY = viewYmax; } } |