diff options
author | Kelly Rauchenberger <fefferburbia@gmail.com> | 2015-03-17 17:15:36 -0400 |
---|---|---|
committer | Kelly Rauchenberger <fefferburbia@gmail.com> | 2015-03-17 17:15:36 -0400 |
commit | af9488a0a557e79dbf69c0b433e90a44fedb06a8 (patch) | |
tree | 85cadaeb3c553bf21660862da3f5980a6c8bda91 /tools/mapedit/src | |
parent | 42c18bdf3bcb61da246e218985cd498dbc24541e (diff) | |
download | therapy-af9488a0a557e79dbf69c0b433e90a44fedb06a8.tar.gz therapy-af9488a0a557e79dbf69c0b433e90a44fedb06a8.tar.bz2 therapy-af9488a0a557e79dbf69c0b433e90a44fedb06a8.zip |
Fixed bug with placing entities in map editor
Diffstat (limited to 'tools/mapedit/src')
-rw-r--r-- | tools/mapedit/src/widget.cpp | 20 |
1 files changed, 10 insertions, 10 deletions
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) | |||
234 | { | 234 | { |
235 | if (addingEntity != nullptr) | 235 | if (addingEntity != nullptr) |
236 | { | 236 | { |
237 | int x = (event.GetPosition().x + vX) / scale - (addingEntity->getWidth() / 2); | 237 | int x = (event.GetPosition().x + vX - EDITOR_SPACING_X*scale) / scale - (addingEntity->getWidth() / 2); |
238 | int y = (event.GetPosition().y + vY) / scale - (addingEntity->getHeight() / 2); | 238 | int y = (event.GetPosition().y + vY - EDITOR_SPACING_Y*scale) / scale - (addingEntity->getHeight() / 2); |
239 | 239 | ||
240 | auto data = std::make_shared<MapObjectEntry>(); | 240 | auto data = std::make_shared<MapObjectEntry>(); |
241 | data->object = addingEntity; | 241 | data->object = addingEntity; |
@@ -255,8 +255,8 @@ void MapeditWidget::OnClick(wxMouseEvent& event) | |||
255 | addingEntity = nullptr; | 255 | addingEntity = nullptr; |
256 | } else if (movingEntity != nullptr) | 256 | } else if (movingEntity != nullptr) |
257 | { | 257 | { |
258 | int x = (event.GetPosition().x + vX) / scale - (movingEntity->object->getWidth() / 2); | 258 | int x = (event.GetPosition().x + vX - EDITOR_SPACING_X*scale) / scale - (movingEntity->object->getWidth() / 2); |
259 | int y = (event.GetPosition().y + vY) / scale - (movingEntity->object->getHeight() / 2); | 259 | int y = (event.GetPosition().y + vY - EDITOR_SPACING_Y*scale) / scale - (movingEntity->object->getHeight() / 2); |
260 | auto oldPos = movingEntity->position; | 260 | auto oldPos = movingEntity->position; |
261 | MapObjectEntry* me = movingEntity; | 261 | MapObjectEntry* me = movingEntity; |
262 | 262 | ||
@@ -273,8 +273,8 @@ void MapeditWidget::OnClick(wxMouseEvent& event) | |||
273 | frame->SetIsAddingEntity(false); | 273 | frame->SetIsAddingEntity(false); |
274 | movingEntity = nullptr; | 274 | movingEntity = nullptr; |
275 | } else { | 275 | } else { |
276 | int x = (event.GetPosition().x + vX) / scale; | 276 | int x = (event.GetPosition().x + vX - EDITOR_SPACING_X*scale) / scale; |
277 | int y = (event.GetPosition().y + vY) / scale; | 277 | int y = (event.GetPosition().y + vY - EDITOR_SPACING_Y*scale) / scale; |
278 | 278 | ||
279 | if (selectedEntity) | 279 | if (selectedEntity) |
280 | { | 280 | { |
@@ -307,8 +307,8 @@ void MapeditWidget::OnClick(wxMouseEvent& event) | |||
307 | 307 | ||
308 | if (isSettingPos) | 308 | if (isSettingPos) |
309 | { | 309 | { |
310 | int x = (event.GetPosition().x + vX) / scale - (PLAYER_WIDTH[currentPlayer] / 2); | 310 | int x = (event.GetPosition().x + vX - EDITOR_SPACING_X*scale) / scale - (PLAYER_WIDTH[currentPlayer] / 2); |
311 | int y = (event.GetPosition().y + vY) / scale - (PLAYER_HEIGHT[currentPlayer] / 2); | 311 | int y = (event.GetPosition().y + vY - EDITOR_SPACING_Y*scale) / scale - (PLAYER_HEIGHT[currentPlayer] / 2); |
312 | auto oldPos = map->getWorld()->getStartingPosition(); | 312 | auto oldPos = map->getWorld()->getStartingPosition(); |
313 | auto oldSMap = map->getWorld()->getStartingMap(); | 313 | auto oldSMap = map->getWorld()->getStartingMap(); |
314 | 314 | ||
@@ -344,8 +344,8 @@ void MapeditWidget::OnRightClick(wxMouseEvent& event) | |||
344 | vX *= vXX; | 344 | vX *= vXX; |
345 | vY *= vYX; | 345 | vY *= vYX; |
346 | 346 | ||
347 | int x = (event.GetPosition().x + vX) / scale; | 347 | int x = (event.GetPosition().x + vX - EDITOR_SPACING_X*scale) / scale; |
348 | int y = (event.GetPosition().y + vY) / scale; | 348 | int y = (event.GetPosition().y + vY - EDITOR_SPACING_Y*scale) / scale; |
349 | 349 | ||
350 | if ((x > selectedEntity->position.first) && (x < selectedEntity->position.first + selectedEntity->object->getWidth()) | 350 | if ((x > selectedEntity->position.first) && (x < selectedEntity->position.first + selectedEntity->object->getWidth()) |
351 | && (y > selectedEntity->position.second) && (y < selectedEntity->position.second + selectedEntity->object->getHeight())) | 351 | && (y > selectedEntity->position.second) && (y < selectedEntity->position.second + selectedEntity->object->getHeight())) |