summaryrefslogtreecommitdiff
path: root/src/engine.cpp
diff options
context:
space:
mode:
authorBjörn Steinbrink <B.Steinbrink@gmx.de>2005-08-09 03:08:03 +0000
committerBjörn Steinbrink <B.Steinbrink@gmx.de>2005-08-09 03:08:03 +0000
commit4d338e801f8b1175585de6b5e7b8b2ca331b682f (patch)
treef4c7909c90edc043fbb5b0fe179685825176556d /src/engine.cpp
parent9d544432e02295a078129e2314ee940cca023ae8 (diff)
downloadmana-client-4d338e801f8b1175585de6b5e7b8b2ca331b682f.tar.gz
mana-client-4d338e801f8b1175585de6b5e7b8b2ca331b682f.tar.bz2
mana-client-4d338e801f8b1175585de6b5e7b8b2ca331b682f.tar.xz
mana-client-4d338e801f8b1175585de6b5e7b8b2ca331b682f.zip
Adjust drawing offset to have the player centered in higher resolutions as well.
Diffstat (limited to 'src/engine.cpp')
-rw-r--r--src/engine.cpp15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/engine.cpp b/src/engine.cpp
index 7901acac..7fe4d4df 100644
--- a/src/engine.cpp
+++ b/src/engine.cpp
@@ -329,8 +329,11 @@ void Engine::draw()
int mouseX, mouseY;
SDL_GetMouseState(&mouseX, &mouseY);
- int map_x = (player_node->x - 13) * 32 + get_x_offset(player_node);
- int map_y = (player_node->y - 9) * 32 + get_y_offset(player_node);
+ int midTileX = guiGraphics->getWidth() / 32 / 2;
+ int midTileY = guiGraphics->getHeight() / 32 / 2;
+
+ int map_x = (player_node->x - midTileX) * 32 + get_x_offset(player_node);
+ int map_y = (player_node->y - midTileY) * 32 + get_y_offset(player_node);
if (map_x < 0) {
map_x = 0;
@@ -340,11 +343,11 @@ void Engine::draw()
}
if (mCurrentMap) {
- if (map_x > (mCurrentMap->getWidth() - 13) * 32) {
- map_x = (mCurrentMap->getWidth() - 13) * 32;
+ if (map_x > (mCurrentMap->getWidth() - midTileX) * 32) {
+ map_x = (mCurrentMap->getWidth() - midTileX) * 32;
}
- if (map_y > (mCurrentMap->getHeight() - 9) * 32) {
- map_y = (mCurrentMap->getHeight() - 9) * 32;
+ if (map_y > (mCurrentMap->getHeight() - midTileY) * 32) {
+ map_y = (mCurrentMap->getHeight() - midTileY) * 32;
}
}