From af9488a0a557e79dbf69c0b433e90a44fedb06a8 Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger Date: Tue, 17 Mar 2015 17:15:36 -0400 Subject: Fixed bug with placing entities in map editor --- tools/mapedit/src/widget.cpp | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) (limited to 'tools') diff --git a/tools/mapedit/src/widget.cpp b/tools/mapedit/src/widget.cpp index cb10489..3b96281 100644 --- a/tools/mapedit/src/widget.cpp +++ b/tools/mapedit/src/widget.cpp @@ -234,8 +234,8 @@ void MapeditWidget::OnClick(wxMouseEvent& event) { if (addingEntity != nullptr) { - int x = (event.GetPosition().x + vX) / scale - (addingEntity->getWidth() / 2); - int y = (event.GetPosition().y + vY) / scale - (addingEntity->getHeight() / 2); + int x = (event.GetPosition().x + vX - EDITOR_SPACING_X*scale) / scale - (addingEntity->getWidth() / 2); + int y = (event.GetPosition().y + vY - EDITOR_SPACING_Y*scale) / scale - (addingEntity->getHeight() / 2); auto data = std::make_shared(); data->object = addingEntity; @@ -255,8 +255,8 @@ void MapeditWidget::OnClick(wxMouseEvent& event) addingEntity = nullptr; } else if (movingEntity != nullptr) { - int x = (event.GetPosition().x + vX) / scale - (movingEntity->object->getWidth() / 2); - int y = (event.GetPosition().y + vY) / scale - (movingEntity->object->getHeight() / 2); + int x = (event.GetPosition().x + vX - EDITOR_SPACING_X*scale) / scale - (movingEntity->object->getWidth() / 2); + int y = (event.GetPosition().y + vY - EDITOR_SPACING_Y*scale) / scale - (movingEntity->object->getHeight() / 2); auto oldPos = movingEntity->position; MapObjectEntry* me = movingEntity; @@ -273,8 +273,8 @@ void MapeditWidget::OnClick(wxMouseEvent& event) frame->SetIsAddingEntity(false); movingEntity = nullptr; } else { - int x = (event.GetPosition().x + vX) / scale; - int y = (event.GetPosition().y + vY) / scale; + int x = (event.GetPosition().x + vX - EDITOR_SPACING_X*scale) / scale; + int y = (event.GetPosition().y + vY - EDITOR_SPACING_Y*scale) / scale; if (selectedEntity) { @@ -307,8 +307,8 @@ void MapeditWidget::OnClick(wxMouseEvent& event) if (isSettingPos) { - int x = (event.GetPosition().x + vX) / scale - (PLAYER_WIDTH[currentPlayer] / 2); - int y = (event.GetPosition().y + vY) / scale - (PLAYER_HEIGHT[currentPlayer] / 2); + int x = (event.GetPosition().x + vX - EDITOR_SPACING_X*scale) / scale - (PLAYER_WIDTH[currentPlayer] / 2); + int y = (event.GetPosition().y + vY - EDITOR_SPACING_Y*scale) / scale - (PLAYER_HEIGHT[currentPlayer] / 2); auto oldPos = map->getWorld()->getStartingPosition(); auto oldSMap = map->getWorld()->getStartingMap(); @@ -344,8 +344,8 @@ void MapeditWidget::OnRightClick(wxMouseEvent& event) vX *= vXX; vY *= vYX; - int x = (event.GetPosition().x + vX) / scale; - int y = (event.GetPosition().y + vY) / scale; + int x = (event.GetPosition().x + vX - EDITOR_SPACING_X*scale) / scale; + int y = (event.GetPosition().y + vY - EDITOR_SPACING_Y*scale) / scale; if ((x > selectedEntity->position.first) && (x < selectedEntity->position.first + selectedEntity->object->getWidth()) && (y > selectedEntity->position.second) && (y < selectedEntity->position.second + selectedEntity->object->getHeight())) -- cgit 1.4.1