From 29314838bf14f0103bcf603d090e9b6a73e524d5 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 14 Mar 2018 21:49:30 -0400 Subject: XEEN: Fix switching characters when buying from blacksmith --- engines/xeen/dialogs/dialogs_items.cpp | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) (limited to 'engines/xeen/dialogs/dialogs_items.cpp') diff --git a/engines/xeen/dialogs/dialogs_items.cpp b/engines/xeen/dialogs/dialogs_items.cpp index 38529f6832..422ef8f21f 100644 --- a/engines/xeen/dialogs/dialogs_items.cpp +++ b/engines/xeen/dialogs/dialogs_items.cpp @@ -299,6 +299,8 @@ Character *ItemsDialog::execute(Character *c, ItemsMode mode) { // Otherwise, result and continue showing dialog actionIndex = -1; + redrawFlag = REDRAW_FULL; + continue; } // Wait for a selection @@ -342,8 +344,11 @@ Character *ItemsDialog::execute(Character *c, ItemsMode mode) { _oldCharacter = newChar; startingChar = newChar; c = &_itemsCharacter; - } else if (mode != ITEMMODE_2 && mode != ITEMMODE_REPAIR - && mode != ITEMMODE_IDENTIFY && itemIndex != -1) { + } else if (mode == ITEMMODE_2 || mode == ITEMMODE_REPAIR || mode == ITEMMODE_IDENTIFY) { + _oldCharacter = newChar; + startingChar = newChar; + c = newChar; + } else if (itemIndex != -1) { InventoryItems &destItems = newChar->_items[category]; XeenItem &destItem = destItems[INV_ITEMS_TOTAL - 1]; InventoryItems &srcItems = c->_items[category]; @@ -362,13 +367,13 @@ Character *ItemsDialog::execute(Character *c, ItemsMode mode) { srcItems.sort(); destItems.sort(); } - - continue; + } else { + c = newChar; + startingChar = newChar; } - c = newChar; - startingChar = newChar; intf.highlightChar(_buttonValue); + continue; } } break; -- cgit v1.2.3