object frmRescanPointer: TfrmRescanPointer
  Left = 1527
  Height = 342
  Top = 540
  Width = 377
  AutoSize = True
  BorderStyle = bsDialog
  Caption = 'Rescan pointerlist'
  ClientHeight = 342
  ClientWidth = 377
  OnCreate = FormCreate
  OnDestroy = FormDestroy
  OnShow = FormShow
  Position = poScreenCenter
  LCLVersion = '1.6.0.4'
  object pnlButtons: TPanel
    AnchorSideLeft.Control = Owner
    AnchorSideLeft.Side = asrCenter
    AnchorSideTop.Control = Panel1
    AnchorSideTop.Side = asrBottom
    Left = 110
    Height = 25
    Top = 306
    Width = 157
    AutoSize = True
    BorderSpacing.Top = 4
    BorderSpacing.Bottom = 4
    BevelOuter = bvNone
    ClientHeight = 25
    ClientWidth = 157
    TabOrder = 0
    object Button2: TButton
      AnchorSideLeft.Control = Button1
      AnchorSideLeft.Side = asrBottom
      AnchorSideTop.Control = Button1
      Left = 82
      Height = 25
      Top = 0
      Width = 75
      AutoSize = True
      BorderSpacing.Left = 7
      Cancel = True
      Caption = 'Cancel'
      Constraints.MinWidth = 75
      ModalResult = 2
      OnClick = Button2Click
      TabOrder = 1
    end
    object Button1: TButton
      AnchorSideLeft.Control = pnlButtons
      AnchorSideTop.Control = pnlButtons
      Left = 0
      Height = 25
      Top = 0
      Width = 75
      AutoSize = True
      Caption = 'OK'
      Constraints.MinWidth = 75
      Default = True
      OnClick = Button1Click
      TabOrder = 0
    end
  end
  object Panel1: TPanel
    AnchorSideLeft.Control = Owner
    AnchorSideTop.Control = Owner
    Left = 0
    Height = 302
    Top = 0
    Width = 344
    AutoSize = True
    BevelOuter = bvNone
    ClientHeight = 302
    ClientWidth = 344
    TabOrder = 1
    object edtAddress: TEdit
      AnchorSideLeft.Control = Panel2
      AnchorSideTop.Control = Panel2
      AnchorSideTop.Side = asrBottom
      Left = 8
      Height = 23
      Top = 20
      Width = 176
      BorderSpacing.Right = 8
      CharCase = ecUppercase
      TabOrder = 0
    end
    object cbValueType: TComboBox
      AnchorSideLeft.Control = edtAddress
      AnchorSideLeft.Side = asrBottom
      AnchorSideTop.Control = edtAddress
      AnchorSideTop.Side = asrCenter
      Left = 192
      Height = 23
      Top = 20
      Width = 132
      BorderSpacing.Right = 8
      ItemHeight = 15
      ItemIndex = 0
      Items.Strings = (
        '4 Byte'
        'Float'
        'Double'
      )
      Style = csDropDownList
      TabOrder = 1
      Text = '4 Byte'
    end
    object Panel2: TPanel
      AnchorSideLeft.Control = Panel1
      AnchorSideTop.Control = Panel1
      Left = 8
      Height = 19
      Top = 1
      Width = 197
      AutoSize = True
      BorderSpacing.Left = 8
      BorderSpacing.Top = 1
      BorderSpacing.Right = 4
      BevelOuter = bvNone
      ClientHeight = 19
      ClientWidth = 197
      TabOrder = 2
      object rbFindAddress: TRadioButton
        AnchorSideLeft.Control = Panel2
        AnchorSideTop.Control = Panel2
        Left = 0
        Height = 19
        Top = 0
        Width = 103
        Caption = 'Address to find:'
        Checked = True
        OnClick = rbFindAddressClick
        TabOrder = 0
        TabStop = True
      end
      object rbFindValue: TRadioButton
        AnchorSideLeft.Control = rbFindAddress
        AnchorSideLeft.Side = asrBottom
        AnchorSideTop.Control = Panel2
        Left = 107
        Height = 19
        Top = 0
        Width = 90
        BorderSpacing.Left = 4
        Caption = 'Value to find:'
        OnClick = rbFindAddressClick
        TabOrder = 1
      end
    end
    object cbDelay: TCheckBox
      AnchorSideLeft.Control = edtAddress
      AnchorSideTop.Control = edtDelay
      AnchorSideTop.Side = asrCenter
      Left = 8
      Height = 19
      Top = 102
      Width = 104
      Caption = 'Delay rescan for'
      TabOrder = 3
    end
    object edtDelay: TEdit
      AnchorSideLeft.Control = cbDelay
      AnchorSideLeft.Side = asrBottom
      AnchorSideTop.Control = cbFilterOutAccessible
      AnchorSideTop.Side = asrBottom
      Left = 115
      Height = 23
      Top = 100
      Width = 32
      BorderSpacing.Left = 3
      TabOrder = 4
      Text = '0'
    end
    object Label1: TLabel
      AnchorSideLeft.Control = edtDelay
      AnchorSideLeft.Side = asrBottom
      AnchorSideTop.Control = edtDelay
      AnchorSideTop.Side = asrCenter
      Left = 150
      Height = 15
      Top = 104
      Width = 43
      BorderSpacing.Left = 3
      Caption = 'seconds'
      ParentColor = False
    end
    object cbBasePointerMustBeInRange: TCheckBox
      AnchorSideLeft.Control = edtAddress
      AnchorSideTop.Control = edtRescanFunction
      AnchorSideTop.Side = asrBottom
      Left = 8
      Height = 19
      Top = 165
      Width = 177
      Caption = 'Base pointer must be in range'
      OnChange = cbBasePointerMustBeInRangeChange
      TabOrder = 5
    end
    object edtBaseStart: TEdit
      AnchorSideLeft.Control = cbBasePointerMustBeInRange
      AnchorSideTop.Control = cbBasePointerMustBeInRange
      AnchorSideTop.Side = asrBottom
      Left = 24
      Height = 23
      Top = 184
      Width = 112
      BorderSpacing.Left = 16
      CharCase = ecUppercase
      Enabled = False
      TabOrder = 6
      Text = '0000000000000000'
    end
    object cbMustStartWithSpecificOffsets: TCheckBox
      AnchorSideLeft.Control = edtAddress
      AnchorSideTop.Control = pnlRangeOffset
      AnchorSideTop.Side = asrBottom
      Left = 8
      Height = 19
      Top = 264
      Width = 137
      Caption = 'Must start with offsets'
      OnChange = cbMustStartWithSpecificOffsetsChange
      TabOrder = 7
    end
    object edtBaseEnd: TEdit
      AnchorSideLeft.Control = lblAnd
      AnchorSideLeft.Side = asrBottom
      AnchorSideTop.Control = lblAnd
      AnchorSideTop.Side = asrCenter
      Left = 162
      Height = 23
      Top = 184
      Width = 112
      BorderSpacing.Left = 3
      CharCase = ecUppercase
      Enabled = False
      TabOrder = 8
      Text = 'FFFFFFFFFFFFFFFF'
    end
    object lblAnd: TLabel
      AnchorSideLeft.Control = edtBaseStart
      AnchorSideLeft.Side = asrBottom
      AnchorSideTop.Control = edtBaseStart
      AnchorSideTop.Side = asrCenter
      Left = 139
      Height = 15
      Top = 188
      Width = 20
      BorderSpacing.Left = 3
      Caption = 'and'
      Enabled = False
      ParentColor = False
    end
    object cbMustEndWithSpecificOffsets: TCheckBox
      AnchorSideLeft.Control = edtAddress
      AnchorSideTop.Control = cbMustStartWithSpecificOffsets
      AnchorSideTop.Side = asrBottom
      Left = 8
      Height = 19
      Top = 283
      Width = 134
      Caption = 'Must end with offsets'
      OnChange = cbMustEndWithSpecificOffsetsChange
      TabOrder = 9
    end
    object cbRepeat: TCheckBox
      AnchorSideLeft.Control = edtAddress
      AnchorSideTop.Control = edtDelay
      AnchorSideTop.Side = asrBottom
      Left = 8
      Height = 19
      Top = 123
      Width = 166
      Caption = 'Repeat rescan until stopped'
      TabOrder = 10
    end
    object cbNoValueCheck: TCheckBox
      AnchorSideLeft.Control = edtAddress
      AnchorSideTop.Control = cbUseSavedPointermap
      AnchorSideTop.Side = asrBottom
      Left = 8
      Height = 19
      Top = 62
      Width = 177
      Caption = 'Only filter out invalid pointers'
      OnChange = cbNoValueCheckChange
      TabOrder = 11
    end
    object cbFilterOutAccessible: TCheckBox
      AnchorSideLeft.Control = edtAddress
      AnchorSideTop.Control = cbNoValueCheck
      AnchorSideTop.Side = asrBottom
      Left = 8
      Height = 19
      Top = 81
      Width = 195
      Caption = 'Only filter out accessible pointers'
      OnChange = cbFilterOutAccessibleChange
      TabOrder = 17
    end
    object cbLuaFilter: TCheckBox
      AnchorSideLeft.Control = edtAddress
      AnchorSideTop.Control = edtRescanFunction
      AnchorSideTop.Side = asrCenter
      Left = 8
      Height = 19
      Hint = 'When checked this will call the given function for every pointer being evaluated. Return true if it''s valid, false if not'#13#10'base is the base address (integer)'#13#10'offset is a table with offsets'#13#10'target is the address the pointer points to. Can be nil'
      Top = 144
      Width = 117
      Caption = 'Lua filter. function'
      OnChange = cbLuaFilterChange
      ParentShowHint = False
      ShowHint = True
      TabOrder = 12
    end
    object edtRescanFunction: TEdit
      AnchorSideLeft.Control = cbLuaFilter
      AnchorSideLeft.Side = asrBottom
      AnchorSideTop.Control = cbRepeat
      AnchorSideTop.Side = asrBottom
      Left = 127
      Height = 23
      Top = 142
      Width = 72
      BorderSpacing.Left = 2
      Enabled = False
      TabOrder = 13
      Text = 'RescanFilter'
    end
    object lblLuaParams: TLabel
      AnchorSideLeft.Control = edtRescanFunction
      AnchorSideLeft.Side = asrBottom
      AnchorSideTop.Control = edtRescanFunction
      AnchorSideTop.Side = asrCenter
      Left = 202
      Height = 15
      Top = 146
      Width = 137
      BorderSpacing.Left = 3
      BorderSpacing.Right = 5
      Caption = '(base, offsets, target):bool'
      ParentColor = False
    end
    object cbUseSavedPointermap: TCheckBox
      AnchorSideLeft.Control = edtAddress
      AnchorSideTop.Control = edtAddress
      AnchorSideTop.Side = asrBottom
      Left = 8
      Height = 19
      Hint = 'Normally this should not be used. Saved pointermaps are best suited for the initial scan.'#13#10'One case where it could be useful is where you have a pointerfile that is too big to send to someone else, but the scandata file is not. In that case, ask the other person for the scandata and do the scan on your system against the current pointerfile'
      Top = 43
      Width = 137
      Caption = 'Use saved pointermap'
      OnChange = cbUseSavedPointermapChange
      ParentShowHint = False
      ShowHint = True
      TabOrder = 14
    end
    object cbChangeBasePointerOffset: TCheckBox
      AnchorSideLeft.Control = edtAddress
      AnchorSideTop.Control = edtBaseStart
      AnchorSideTop.Side = asrBottom
      Left = 8
      Height = 19
      Top = 207
      Width = 264
      Caption = 'Change base pointer address by specific offset'
      OnChange = cbChangeBasePointerOffsetChange
      TabOrder = 15
      Visible = False
    end
    object pnlRangeOffset: TPanel
      AnchorSideLeft.Control = cbChangeBasePointerOffset
      AnchorSideTop.Control = cbChangeBasePointerOffset
      AnchorSideTop.Side = asrBottom
      Left = 8
      Height = 38
      Top = 226
      Width = 284
      AutoSize = True
      BevelOuter = bvNone
      ClientHeight = 38
      ClientWidth = 284
      Enabled = False
      TabOrder = 16
      Visible = False
      object Panel3: TPanel
        AnchorSideLeft.Control = pnlRangeOffset
        AnchorSideTop.Control = pnlRangeOffset
        Left = 16
        Height = 30
        Top = 0
        Width = 112
        AutoSize = True
        BorderSpacing.Left = 16
        BevelOuter = bvNone
        ClientHeight = 30
        ClientWidth = 112
        TabOrder = 0
        object Label3: TLabel
          AnchorSideLeft.Control = Panel3
          AnchorSideTop.Control = Panel3
          AnchorSideRight.Control = Panel3
          AnchorSideRight.Side = asrBottom
          Left = 0
          Height = 15
          Top = 0
          Width = 112
          Anchors = [akTop, akLeft, akRight]
          Caption = 'Original base address'
          ParentColor = False
        end
        object lblOriginalBase: TLabel
          AnchorSideLeft.Control = Panel3
          AnchorSideTop.Control = Label3
          AnchorSideTop.Side = asrBottom
          AnchorSideRight.Control = Panel3
          AnchorSideRight.Side = asrBottom
          Left = 0
          Height = 15
          Top = 15
          Width = 112
          Alignment = taCenter
          Anchors = [akTop, akLeft, akRight]
          Caption = '<address>'
          ParentColor = False
        end
      end
      object Label2: TLabel
        AnchorSideLeft.Control = Panel3
        AnchorSideLeft.Side = asrBottom
        AnchorSideTop.Control = Panel3
        AnchorSideRight.Side = asrBottom
        Left = 136
        Height = 15
        Top = 0
        Width = 94
        Alignment = taCenter
        BorderSpacing.Left = 8
        Caption = 'New base address'
        ParentColor = False
      end
      object edtNewBase: TEdit
        AnchorSideLeft.Control = Label2
        AnchorSideTop.Control = Label2
        AnchorSideTop.Side = asrBottom
        AnchorSideRight.Control = Label2
        AnchorSideRight.Side = asrBottom
        Left = 136
        Height = 23
        Top = 15
        Width = 112
        OnChange = edtNewBaseChange
        TabOrder = 1
        Text = '12345678'
      end
      object lblOffset: TLabel
        AnchorSideLeft.Control = edtNewBase
        AnchorSideLeft.Side = asrBottom
        AnchorSideTop.Control = edtNewBase
        AnchorSideTop.Side = asrCenter
        AnchorSideRight.Control = pnlRangeOffset
        AnchorSideRight.Side = asrBottom
        Left = 248
        Height = 15
        Top = 19
        Width = 36
        Caption = '=XXXX'
        ParentColor = False
      end
    end
  end
  object odLoadPointermap: TOpenDialog
    DefaultExt = '.scandata'
    Filter = 'All files (*.*)|*.*|scandata files (*.scandata)|*.scandata'
    FilterIndex = 2
    left = 260
    top = 44
  end
end