From f3b4b46751bf8b91a21f5feaf4d9addfdcf4b164 Mon Sep 17 00:00:00 2001 From: Flugente Date: Tue, 4 Feb 2014 18:47:07 +0000 Subject: [PATCH] Merged revision(s) 6879 from branches/ja2_source_official_2014: Editor fixes (by Buggler): - fixed incorrect item display after deleting map-placed item in stack - revert r5949 code for item deletion from item pool git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@6880 3b4a5df2-a311-0410-b5c6-a8a6f20db521 --- Editor/EditorItems.cpp | 8 +++++++- Editor/Item Statistics.cpp | 3 +-- Editor/editscreen.cpp | 2 +- 3 files changed, 9 insertions(+), 4 deletions(-) diff --git a/Editor/EditorItems.cpp b/Editor/EditorItems.cpp index f5d39d26..feb8cdb9 100644 --- a/Editor/EditorItems.cpp +++ b/Editor/EditorItems.cpp @@ -1136,6 +1136,7 @@ void DeleteSelectedItem() SpecifyItemToEdit( &gWorldItems[ gpItemPool->pNext->iItemIndex ].object, gpItemPool->sGridNo ); } sGridNo = gpItemPool->sGridNo; + //remove the item if( gWorldItems[ gpItemPool->iItemIndex ].object.usItem == ACTION_ITEM ) { @@ -1148,8 +1149,13 @@ void DeleteSelectedItem() gpEditingItemPool = NULL; RemoveItemFromPool( sGridNo, gpItemPool->iItemIndex, 0 ); gpItemPool = NULL; + //determine if there are still any items at this location - if( !GetItemPoolFromGround( sGridNo, &gpItemPool ) ) + if( GetItemPoolFromGround( sGridNo, &gpItemPool ) ) + { //reset display for remaining items + SpecifyItemToEdit( &gWorldItems[ gpItemPool->iItemIndex ].object, gpItemPool->sGridNo ); + } + else { //no items left, so remove the node from the list. IPListNode *pIPPrev, *pIPCurr; pIPCurr = pIPHead; diff --git a/Editor/Item Statistics.cpp b/Editor/Item Statistics.cpp index 29a52b11..b437fe79 100644 --- a/Editor/Item Statistics.cpp +++ b/Editor/Item Statistics.cpp @@ -398,8 +398,7 @@ void ExecuteItemStatsCmd( /*UINT8*/ UINT16 ubAction ) case ITEMSTATS_DEFAULT: break; case ITEMSTATS_DELETE: - if( gbEditingMode != EDITING_NOTHING ) - DeleteSelectedItem(); + DeleteSelectedItem(); break; case ITEMSTATS_SHOW: ShowSelectedItem(); diff --git a/Editor/editscreen.cpp b/Editor/editscreen.cpp index e551ad04..5a7e5ff2 100644 --- a/Editor/editscreen.cpp +++ b/Editor/editscreen.cpp @@ -1506,7 +1506,7 @@ void HandleKeyboardShortcuts( ) break; case DEL: - if( iCurrentTaskbar == TASK_ITEMS && gbEditingMode != 0 ) //gbEditingMode != EDITING_NOTHING + if( iCurrentTaskbar == TASK_ITEMS ) DeleteSelectedItem(); else if( gsSelectedMercID != -1 ) {