diff --git a/Editor/Editor Callbacks.cpp b/Editor/Editor Callbacks.cpp index cca995fa..9db7ddb0 100644 --- a/Editor/Editor Callbacks.cpp +++ b/Editor/Editor Callbacks.cpp @@ -798,7 +798,18 @@ void ItemsLeftScrollCallback(GUI_BUTTON *btn, INT32 reason) if(reason & MSYS_CALLBACK_REASON_LBUTTON_UP) { gfRenderTaskbar = TRUE; - eInfo.sScrollIndex--; + if (_KeyDown( 17 ) ) // CTRL + { + if (_KeyDown( 16 ) ) // SHIFT + eInfo.sScrollIndex = 0; + else + eInfo.sScrollIndex = __max(eInfo.sScrollIndex - 60, 0); + } + else if (_KeyDown( 16 ) ) // SHIFT + eInfo.sScrollIndex = __max(eInfo.sScrollIndex - 6, 0); + else + eInfo.sScrollIndex--; + if( !eInfo.sScrollIndex ) DisableButton( iEditorButton[ITEMS_LEFTSCROLL] ); if( eInfo.sScrollIndex < ((eInfo.sNumItems+1)/2)-6 ) @@ -811,7 +822,18 @@ void ItemsRightScrollCallback(GUI_BUTTON *btn, INT32 reason) if(reason & MSYS_CALLBACK_REASON_LBUTTON_UP) { gfRenderTaskbar = TRUE; - eInfo.sScrollIndex++; + if (_KeyDown( 17 ) ) // CTRL + { + if (_KeyDown( 16 ) ) // SHIFT + eInfo.sScrollIndex = max( ((eInfo.sNumItems+1)/2)-6, 0); + else + eInfo.sScrollIndex = __min(eInfo.sScrollIndex + 60, (eInfo.sNumItems+1)/2-6); + } + else if (_KeyDown( 16 ) ) // SHIFT + eInfo.sScrollIndex = __min(eInfo.sScrollIndex + 6, (eInfo.sNumItems+1)/2-6); + else + eInfo.sScrollIndex++; + EnableButton( iEditorButton[ITEMS_LEFTSCROLL] ); if( eInfo.sScrollIndex == max( ((eInfo.sNumItems+1)/2)-6, 0) ) DisableButton( iEditorButton[ITEMS_RIGHTSCROLL] ); diff --git a/Editor/Editor Modes.cpp b/Editor/Editor Modes.cpp index a2a128fd..0746ebf8 100644 --- a/Editor/Editor Modes.cpp +++ b/Editor/Editor Modes.cpp @@ -29,7 +29,7 @@ BOOLEAN gfShowExitGrids = FALSE; void SetEditorItemsTaskbarMode( UINT16 usNewMode ) { - UnclickEditorButtons( ITEMS_WEAPONS, ITEMS_KEYS ); + UnclickEditorButtons( ITEMS_WEAPONS, ITEMS_RANDOMITEM ); switch( usNewMode ) { case ITEMS_WEAPONS: diff --git a/Editor/Item Statistics.cpp b/Editor/Item Statistics.cpp index 516a6d51..80e6de30 100644 --- a/Editor/Item Statistics.cpp +++ b/Editor/Item Statistics.cpp @@ -398,7 +398,8 @@ void ExecuteItemStatsCmd( /*UINT8*/ UINT16 ubAction ) case ITEMSTATS_DEFAULT: break; case ITEMSTATS_DELETE: - DeleteSelectedItem(); + if ( gbEditingMode != EDITING_NOTHING ) + DeleteSelectedItem(); break; case ITEMSTATS_SHOW: ShowSelectedItem(); @@ -585,12 +586,22 @@ void UpdateItemStatsPanel() SetFontForeground( FONT_GRAY2 ); SetFontShadow( FONT_NEARBLACK ); SetFontBackground( FONT_BLACK ); + if( gpItem && iCurrentTaskbar == TASK_ITEMS && gbEditingMode != EDITING_TRIGGERS && gbEditingMode != EDITING_ACTIONITEMS ) { mprintf( iScreenWidthOffset + 500, 2 * iScreenHeightOffset + 366, pUpdateItemStatsPanelText[0] ); } + SetFontForeground( FONT_YELLOW ); + + if( gpItem && iCurrentTaskbar == TASK_ITEMS ) + { + mprintf( iScreenWidthOffset + 587, 2 * iScreenHeightOffset + 366, pUpdateItemStatsPanelText[25] ); + mprintf( iScreenWidthOffset + 609, 2 * iScreenHeightOffset + 366, pUpdateItemStatsPanelText[26] ); + mprintf( iScreenWidthOffset + 630, 2 * iScreenHeightOffset + 366, pUpdateItemStatsPanelText[27] ); + } + switch( gbEditingMode ) { case EDITING_NOTHING: @@ -654,9 +665,6 @@ void UpdateItemStatsPanel() } if( gpEditingItemPool ) { - mprintf( iScreenWidthOffset + 587, 2 * iScreenHeightOffset + 366, pUpdateItemStatsPanelText[25] ); - mprintf( iScreenWidthOffset + 609, 2 * iScreenHeightOffset + 366, pUpdateItemStatsPanelText[26] ); - mprintf( iScreenWidthOffset + 630, 2 * iScreenHeightOffset + 366, pUpdateItemStatsPanelText[27] ); INT32 iPercent = 100 - gWorldItems[ gpEditingItemPool->iItemIndex ].ubNonExistChance; if( iPercent == 100 ) SetFontForeground( FONT_YELLOW ); diff --git a/Editor/editscreen.cpp b/Editor/editscreen.cpp index 4ee4b538..bd8e28e0 100644 --- a/Editor/editscreen.cpp +++ b/Editor/editscreen.cpp @@ -181,6 +181,7 @@ BOOLEAN EditModeInit( void ); BOOLEAN EditModeShutdown( void ); void EnsureStatusOfEditorButtons(); +extern INT8 gbEditingMode; extern BOOLEAN fAllDone; extern DisplayList Selection; @@ -1464,7 +1465,7 @@ void HandleKeyboardShortcuts( ) break; case DEL: - if( iCurrentTaskbar == TASK_ITEMS ) + if( iCurrentTaskbar == TASK_ITEMS && gbEditingMode != 0 ) //gbEditingMode != EDITING_NOTHING DeleteSelectedItem(); else if( gsSelectedMercID != -1 ) {