From bd18f41075cbbd24af5c9e00e1bf7bed15d93cc0 Mon Sep 17 00:00:00 2001 From: twanvl Date: Sun, 1 Jul 2007 19:29:06 +0000 Subject: [PATCH] Same card remains selected when reloading templates; Fixed vertical blends for non-square images git-svn-id: svn://svn.code.sf.net/p/magicseteditor/code/trunk@459 0fc631ac-6414-0410-93d0-97cfa31319b6 --- src/gfx/blend_image.cpp | 2 +- src/gui/set/window.cpp | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/gfx/blend_image.cpp b/src/gfx/blend_image.cpp index 37c84a71..28c1dcc1 100644 --- a/src/gfx/blend_image.cpp +++ b/src/gfx/blend_image.cpp @@ -39,7 +39,7 @@ void linear_blend(Image& img1, const Image& img2, double x1,double y1, double x2 double a = fixed / (sqr(width) * sqr(x1-x2) + sqr(height) * sqr(y1-y2)); int xm = to_int( (x2 - x1) * width * a ); int ym = to_int( (y2 - y1) * height * a ); - int d = to_int( - (x1 * width * xm + y1 * width * ym) ); + int d = to_int( - (x1 * width * xm + y1 * height * ym) ); Byte *data1 = img1.GetData(), *data2 = img2.GetData(); // blend pixels diff --git a/src/gui/set/window.cpp b/src/gui/set/window.cpp index 8849c149..920297cd 100644 --- a/src/gui/set/window.cpp +++ b/src/gui/set/window.cpp @@ -509,9 +509,21 @@ void SetWindow::onFileReload(wxCommandEvent&) { if (filename.empty()) return; wxBusyCursor busy; settings.write(); // save settings + // current card + size_t card_pos = 0; + { + vector::const_iterator card_it = find(set->cards.begin(), set->cards.end(), current_panel->selectedCard()); + if (card_it != set->cards.end()) card_pos = card_it - set->cards.begin(); + } packages.destroy(); // unload all packages settings.read(); // reload settings setSet(import_set(filename)); + // reselect card + if (card_pos < set->cards.size()) { + FOR_EACH(p, panels) { + p->selectCard(set->cards[card_pos]); + } + } } void SetWindow::onFileRecent(wxCommandEvent& ev) {