anchor.diff:      procedure ShowSPStats;
   
       procedure SetViewportPos(const aLoc: TKMPointF);
  +    procedure CheckMessageKeys(Key: Word);
     protected
       Sidebar_Top: TKMImage;
       Sidebar_Middle: TKMImage;
  
positive.code: end;
  
  
  // Note: we deliberately don't pass any Keys to MyControls when game is not running
  // thats why MyControls.KeyUp is only in gsRunning clause
  // Ignore all keys if game is on 'Pause'
  procedure TKMGamePlayInterface.KeyUp(Key: Word; Shift: TShiftState; var aHandled: Boolean);
  var
    LastAlert: TKMAlert;
    SelectId: Integer;
    SpecPlayerIndex: ShortInt;
    KeyHandled: Boolean;
  
negative.code:   end;
  
    MessageLog_Update(True);
  end;
  
  
  procedure TKMGamePlayInterface.MessageLog_ItemClick(Sender: TObject);
  var
    ItemId, MessageId: Integer;
  begin
    ItemId := ColumnBox_MessageLog.ItemIndex;
    if ItemId = -1 then Exit;
  
    MessageId := ColumnBox_MessageLog.Rows[ItemId].Tag;
    if MessageId = -1 then Exit;
  
    MessageLog_ShowMessage(MessageId);
  end;
  
  
  