Changeset 306

Show
Ignore:
Timestamp:
01/08/10 02:31:42 (8 months ago)
Author:
dark_byte
Message:

beta 4

Location:
Cheat Engine
Files:
1 added
31 modified

Legend:

Unmodified
Added
Removed
  • Cheat Engine/AdvancedOptionsUnit.dfm

    r250 r306  
    11object AdvancedOptions: TAdvancedOptions 
    2   Left = 468 
    3   Top = 203 
    4   Width = 377 
    5   Height = 258 
     2  Left = 772 
     3  Top = 158 
     4  Width = 415 
     5  Height = 297 
    66  Anchors = [] 
    77  Caption = 'Advanced Options' 
     
    1414  OldCreateOrder = False 
    1515  Position = poScreenCenter 
     16  Scaled = False 
    1617  OnCreate = FormCreate 
    1718  OnShow = FormShow 
    1819  PixelsPerInch = 120 
    1920  TextHeight = 16 
    20   object codelist: TListBox 
    21     Left = 0 
    22     Top = 38 
    23     Width = 359 
    24     Height = 133 
    25     Style = lbOwnerDrawFixed 
    26     Align = alClient 
    27     ItemHeight = 13 
    28     MultiSelect = True 
    29     PopupMenu = PopupMenu2 
    30     TabOrder = 0 
    31     OnDblClick = Openthedisassemblerhere1Click 
    32     OnDrawItem = codelistDrawItem 
    33     OnKeyDown = codelistKeyDown 
    34     OnMouseDown = codelistMouseDown 
    35   end 
    3621  object Panel1: TPanel 
    3722    Left = 0 
    38     Top = 171 
    39     Width = 359 
     23    Top = 210 
     24    Width = 397 
    4025    Height = 42 
    4126    Align = alBottom 
    4227    BevelOuter = bvNone 
    43     TabOrder = 1 
     28    TabOrder = 0 
    4429    OnResize = Panel1Resize 
    4530    DesignSize = ( 
    46       359 
     31      397 
    4732      42) 
    4833    object Button1: TButton 
    49       Left = 181 
     34      Left = 205 
    5035      Top = 6 
    5136      Width = 92 
     
    6752    end 
    6853    object Button2: TButton 
    69       Left = 354 
     54      Left = 392 
    7055      Top = 21 
    7156      Width = 100 
     
    8166    Left = 0 
    8267    Top = 0 
    83     Width = 359 
     68    Width = 397 
    8469    Height = 38 
    8570    Align = alTop 
    8671    BevelOuter = bvNone 
    87     TabOrder = 2 
    88     DesignSize = ( 
    89       359 
    90       38) 
     72    TabOrder = 1 
     73    OnResize = Panel2Resize 
    9174    object Pausebutton: TSpeedButton 
    9275      Left = 42 
     
    151134    end 
    152135    object Label1: TLabel 
    153       Left = 198 
     136      Left = 166 
    154137      Top = 20 
    155138      Width = 55 
    156139      Height = 16 
    157       Anchors = [akTop] 
    158140      Caption = 'Code list:' 
    159141    end 
     142  end 
     143  object Codelist2: TListView 
     144    Left = 0 
     145    Top = 38 
     146    Width = 397 
     147    Height = 172 
     148    Align = alClient 
     149    Columns = < 
     150      item 
     151        Caption = 'Address' 
     152        MinWidth = 10 
     153        Width = 120 
     154      end 
     155      item 
     156        AutoSize = True 
     157        Caption = 'Name' 
     158        MinWidth = 10 
     159      end> 
     160    ColumnClick = False 
     161    HideSelection = False 
     162    MultiSelect = True 
     163    RowSelect = True 
     164    PopupMenu = PopupMenu2 
     165    TabOrder = 2 
     166    ViewStyle = vsReport 
     167    OnDblClick = Codelist2DblClick 
    160168  end 
    161169  object PopupMenu2: TPopupMenu 
    162170    OnPopup = PopupMenu2Popup 
    163171    Left = 112 
    164     Top = 96 
     172    Top = 104 
    165173    object Openthedisassemblerhere1: TMenuItem 
    166174      Caption = 'Open the disassembler at this location' 
    167175      Default = True 
    168       OnClick = Openthedisassemblerhere1Click 
    169176    end 
    170177    object N2: TMenuItem 
     
    197204    object Remove1: TMenuItem 
    198205      Caption = 'Remove from list' 
     206      ShortCut = 46 
    199207      OnClick = Remove1Click 
    200208    end 
  • Cheat Engine/AdvancedOptionsUnit.pas

    r260 r306  
    1919    Findoutwhatthiscodechanges1: TMenuItem; 
    2020    Openthedisassemblerhere1: TMenuItem; 
    21     codelist: TListBox; 
    2221    Findthiscodeinsideabinaryfile1: TMenuItem; 
    2322    OpenDialog1: TOpenDialog; 
     
    3635    Label1: TLabel; 
    3736    N3: TMenuItem; 
    38     procedure codelistDrawItem(Control: TWinControl; Index: Integer; 
    39       Rect: TRect; State: TOwnerDrawState); 
     37    Codelist2: TListView; 
    4038    procedure FormShow(Sender: TObject); 
    4139    procedure PopupMenu2Popup(Sender: TObject); 
     
    4543    procedure Findoutwhatthiscodechanges1Click(Sender: TObject); 
    4644    procedure Rename1Click(Sender: TObject); 
    47     procedure Openthedisassemblerhere1Click(Sender: TObject); 
    4845    procedure Findthiscodeinsideabinaryfile1Click(Sender: TObject); 
    4946    procedure Button1Click(Sender: TObject); 
     
    5249    procedure PausebuttonMouseMove(Sender: TObject; Shift: TShiftState; X, 
    5350      Y: Integer); 
    54     procedure codelistMouseDown(Sender: TObject; Button: TMouseButton; 
    55       Shift: TShiftState; X, Y: Integer); 
    5651    procedure Replaceall1Click(Sender: TObject); 
    5752    procedure Timer1Timer(Sender: TObject); 
     
    6055    procedure Button2Click(Sender: TObject); 
    6156    procedure Panel1Resize(Sender: TObject); 
    62     procedure codelistKeyDown(Sender: TObject; var Key: Word; 
    63       Shift: TShiftState); 
     57    procedure Codelist2DblClick(Sender: TObject); 
     58    procedure Panel2Resize(Sender: TObject); 
    6459  private 
    6560    { Private declarations } 
     
    8681          end; 
    8782 
    88     function AddToCodeList(address: Dword; sizeofopcode: integer; changed:boolean):boolean; 
     83    function AddToCodeList(address: dword; sizeofopcode: integer;changed: boolean; multiadd: boolean=false):boolean; 
    8984    procedure UpdateAdvancedOptions; 
    9085  end; 
     
    145140 
    146141 
    147 function TAdvancedOptions.AddToCodeList(address: dword; sizeofopcode: integer;changed: boolean):boolean; 
     142function TAdvancedOptions.AddToCodeList(address: dword; sizeofopcode: integer;changed: boolean; multiadd: boolean=false):boolean; 
    148143resourcestring 
    149144  stralreadyinthelist = 'This byte is already part of another opcode already present in the list'; 
     
    168163    x: pchar; 
    169164    canceled: boolean; 
    170     newstring: string; 
     165    D,newstring: string; 
     166    li: tlistitem; 
    171167begin 
    172168  //check if the address is already in the list 
    173169  for i:=0 to numberofcodes-1 do 
    174170  begin 
    175     if (code[i].Address=address) then raise exception.create(strAddressAlreadyInTheList); 
     171    //if (code[i].Address=address) then raise exception.create(strAddressAlreadyInTheList); 
    176172 
    177173    //I want to see if address to address+sizeofopcode-1 is overlapping with addresses[i] to length(actualopcode[i])-1 
     
    195191 
    196192 
    197   if changed then newstring:=Inputboxtop(strCECode,strNameCECode, strChangeOf+disassemble(address2,ignore),true,canceled) 
    198              else newstring:=Inputboxtop(strCECode,strNameCECode, strCode+disassemble(address2,ignore),true,canceled); 
     193  d:=disassemble(address2,ignore); 
     194  splitDisassembledString(d, false, ignore,ignore,d,ignore); 
     195 
     196  if changed then 
     197    newstring:=strChangeOf+d 
     198  else 
     199    newstring:=strCode+d; 
     200 
     201  if not multiadd then 
     202  begin 
     203    newstring:=Inputboxtop(strCECode,strNameCECode, newstring,true,canceled) 
     204  end 
     205  else 
     206  begin 
     207    canceled:=false; 
     208 
     209  end; 
     210 
    199211 
    200212  result:=not canceled; 
     
    202214  if not result then exit; 
    203215 
    204  
    205   if newstring='' then 
    206     codelist.items.add(strNoDescription) 
    207   else 
    208     codelist.Items.Add(newstring); 
     216  if newstring='' then newstring:=strNoDescription; 
     217 
    209218 
    210219  inc(numberofcodes); 
     
    264273    end; 
    265274  end; 
    266 end; 
    267  
    268  
    269 procedure TAdvancedOptions.codelistDrawItem(Control: TWinControl; 
    270   Index: Integer; Rect: TRect; State: TOwnerDrawState); 
    271 {copy/paste from example in help} 
    272 var 
    273   Bitmap: TBitmap;      { temporary variable for the item’s bitmap } 
    274   Offset: Integer;      { text offset width } 
    275   origcolor: tcolor; 
    276 begin 
    277   origcolor:=clBlack; 
    278  
    279   with codelist.Canvas do  { draw on control canvas, not on the form } 
    280   begin 
    281     FillRect(Rect);       { clear the rectangle } 
    282     Offset := 2;          { provide default offset } 
    283     Bitmap := TBitmap(codelist.Items.Objects[Index]); { get the bitmap } 
    284     if Bitmap <> nil then 
    285     begin 
    286       Draw(Rect.Left + Offset, Rect.Top, Bitmap); {render bitmap} 
    287       Offset := Bitmap.width + 6;    { add four pixels between bitmap and text} 
    288     end; 
    289  
    290     if (code[index].changed) then 
    291     begin 
    292       origcolor:=font.color; 
    293       font.Color:=clRed; 
    294     end; 
    295     TextOut(Rect.Left + Offset, Rect.Top, codelist.Items[Index]);  { display the text } 
    296  
    297     if (code[index].changed) then font.color:=origcolor; 
    298   end; 
    299 end; 
     275 
     276  li:=self.Codelist2.Items.Add; 
     277 
     278  if code[numberofcodes-1].modulename<>'' then 
     279    li.Caption:=code[numberofcodes-1].modulename+'+'+inttohex(code[numberofcodes-1].offset,1) 
     280  else 
     281    li.Caption:=inttohex(address,8); 
     282 
     283  li.SubItems.Add(newstring); 
     284end; 
     285 
    300286 
    301287procedure TAdvancedOptions.FormShow(Sender: TObject); 
     
    317303  strFindWhatCodeWrites='Find out what addresses this code writes to'; 
    318304begin 
    319   if codelist.ItemIndex=-1 then 
     305  if (codelist2.Items.Count=0) or (codelist2.ItemIndex=-1) then 
    320306  begin 
    321307    cc1.visible:=false; 
     
    326312    Findoutwhatthiscodechanges1.visible:=false; 
    327313    Findthiscodeinsideabinaryfile1.Visible:=false; 
     314    Replaceall1.Visible:=false; 
    328315  end else 
    329316  begin 
     
    331318    remove1.visible:=true; 
    332319 
     320    Replaceall1.Visible:=true; 
    333321    Openthedisassemblerhere1.visible:=true; 
    334322    Findthiscodeinsideabinaryfile1.Visible:=true; 
    335323 
    336     if code[codelist.itemindex].modulename<>'' then 
    337     begin 
    338       symhandler.getmodulebyname(code[codelist.itemindex].modulename,mi); 
    339       code[codelist.itemindex].Address:=mi.baseaddress+code[codelist.itemindex].offset; 
    340     end; 
    341  
    342     if code[codelist.itemindex].changed then 
     324    if code[codelist2.itemindex].modulename<>'' then 
     325    begin 
     326      symhandler.getmodulebyname(code[codelist2.itemindex].modulename,mi); 
     327      code[codelist2.itemindex].Address:=mi.baseaddress+code[codelist2.itemindex].offset; 
     328    end; 
     329 
     330    if code[codelist2.itemindex].changed then 
    343331    begin 
    344332      cc1.visible:=false; 
     
    352340      //disassemble this address, and see if it a writer or reader 
    353341      //if neither grey it out 
    354       offset:=code[codelist.itemindex].Address; 
     342      offset:=code[codelist2.itemindex].Address; 
    355343      opcode:=disassemble(offset,desc); 
    356344 
     
    406394               strnotthesame='The memory at this address isn''t what it should be! Continue?'; 
    407395begin 
    408   for i:=0 to codelist.Count-1 do 
    409   begin 
    410     if not codelist.Selected[i] then continue; 
     396  for i:=0 to codelist2.items.Count-1 do 
     397  begin 
     398 
     399    if not codelist2.Items[i].Selected then continue; 
    411400 
    412401    lengthactualopcode:=length(code[i].actualopcode); 
     
    435424      begin 
    436425        code[i].changed:=false; 
    437         codelist.Repaint; 
     426        codelist2.Repaint; 
    438427        exit; 
    439428      end; 
     
    460449  end; 
    461450 
    462   codelist.Repaint; 
     451  codelist2.Repaint; 
    463452 
    464453end; 
     
    474463begin 
    475464  //search dselected in the addresslist 
    476   for index:=0 to codelist.Count-1 do 
    477   begin 
    478     if not codelist.Selected[index] then continue; 
     465  for index:=0 to codelist2.items.Count-1 do 
     466  begin 
     467    if not codelist2.items[index].Selected then continue; 
    479468 
    480469    a:=code[index].Address; 
     
    514503    code[index].changed:=true; 
    515504  end; 
    516   codelist.Repaint; 
     505  codelist2.Repaint; 
    517506end; 
    518507 
    519508procedure TAdvancedOptions.Remove1Click(Sender: TObject); 
    520 var i,index: integer; 
    521 begin 
    522  
    523   index:=codelist.ItemIndex; 
    524   if messagedlg('Delete '+codelist.Items[index]+' ?',mtConfirmation,[mbyes,mbno],0) = mrno then exit; 
    525  
    526  
    527   setlength(code[index].before,0); 
    528   setlength(code[index].actualopcode,0); 
    529   setlength(code[index].after,0); 
    530  
    531   for i:=index to numberofcodes-2 do 
    532   begin 
    533     code[i].before:=code[i+1].before; 
    534     code[i].actualopcode:=code[i+1].actualopcode; 
    535     code[i].after:=code[i+1].after; 
    536     code[i].Address:=code[i+1].Address; 
    537     code[i].changed:=code[i+1].changed; 
    538     code[i].modulename:=code[i+1].modulename; 
    539     code[i].offset:=code[i+1].offset; 
    540   end; 
    541  
    542   dec(numberofcodes); 
    543   setlength(code,numberofcodes);   
    544  
    545   codelist.Items.Delete(index); 
     509var i,j,index: integer; 
     510  multidelete: boolean; 
     511begin 
     512  codelist2.Items.BeginUpdate; 
     513  multidelete:=codelist2.SelCount>1; 
     514  while codelist2.SelCount>0 do 
     515  begin 
     516    index:=codelist2.Selected.Index; 
     517    if (index=-1) or (codelist2.Items.Count=0) then exit; 
     518 
     519    if not multidelete then 
     520      if messagedlg('Delete '+codelist2.Items[index].SubItems[0]+' ?',mtConfirmation,[mbyes,mbno],0) = mrno then exit; 
     521 
     522 
     523    setlength(code[index].before,0); 
     524    setlength(code[index].actualopcode,0); 
     525    setlength(code[index].after,0); 
     526 
     527    for i:=index to numberofcodes-2 do 
     528    begin 
     529      code[i].before:=code[i+1].before; 
     530      code[i].actualopcode:=code[i+1].actualopcode; 
     531      code[i].after:=code[i+1].after; 
     532      code[i].Address:=code[i+1].Address; 
     533      code[i].changed:=code[i+1].changed; 
     534      code[i].modulename:=code[i+1].modulename; 
     535      code[i].offset:=code[i+1].offset; 
     536    end; 
     537 
     538    dec(numberofcodes); 
     539    setlength(code,numberofcodes); 
     540 
     541    codelist2.Items.Delete(index); 
     542  end; 
     543  codelist2.Items.endUpdate; 
    546544end; 
    547545 
    548546procedure TAdvancedOptions.Findoutwhatthiscodechanges1Click( 
    549547  Sender: TObject); 
    550 {var temp: dword; 
    551     int3: byte; 
    552     original: dword;} 
    553 var i: integer; 
    554 begin 
    555 {$ifndef net} 
    556   MemoryBrowser.FindWhatThisCodeAccesses(code[codelist.ItemIndex].Address); 
    557   { 
    558  
    559      } 
    560   {$endif} 
     548begin 
     549  MemoryBrowser.FindWhatThisCodeAccesses(code[codelist2.ItemIndex].Address); 
     550 
    561551end; 
    562552 
     
    564554var index: integer; 
    565555begin 
    566   index:=codelist.ItemIndex; 
    567   codelist.Items[index]:=inputbox('New name','Give the new name of this entry',codelist.Items[index]); 
    568 end; 
    569  
    570 procedure TAdvancedOptions.Openthedisassemblerhere1Click(Sender: TObject); 
    571 var mi: TModuleInfo; 
    572 begin 
    573   if code[codelist.itemindex].modulename<>'' then 
    574   begin 
    575     symhandler.getmodulebyname(code[codelist.itemindex].modulename,mi); 
    576     code[codelist.itemindex].Address:=mi.baseaddress+code[codelist.itemindex].offset; 
    577   end; 
    578      
    579   memorybrowser.disassemblerview.SelectedAddress:=code[codelist.itemindex].Address; 
    580  
    581   if memorybrowser.Height<(memorybrowser.Panel1.Height+100) then memorybrowser.height:=memorybrowser.Panel1.Height+100; 
    582   memorybrowser.panel1.visible:=true; 
    583   memorybrowser.show; 
     556  index:=codelist2.ItemIndex; 
     557  codelist2.Items[index].SubItems[0]:=inputbox('New name','Give the new name of this entry',codelist2.Items[index].SubItems[0]); 
    584558end; 
    585559 
     
    722696end; 
    723697 
    724 procedure TAdvancedOptions.codelistMouseDown(Sender: TObject; 
    725   Button: TMouseButton; Shift: TShiftState; X, Y: Integer); 
    726 var tp: tpoint; 
    727 begin 
    728   tp.x:=x; 
    729   tp.y:=y; 
    730   if codelist.ItemAtPos(tp,true)<>-1 then codelist.ItemIndex:=codelist.ItemAtPos(tp,true); 
    731 end; 
    732  
    733698procedure TAdvancedOptions.Replaceall1Click(Sender: TObject); 
    734699var codelength: integer; 
     
    741706begin 
    742707  //search dselected in the addresslist 
    743   for j:=0 to codelist.Items.Count-1 do 
     708  for j:=0 to codelist2.Items.Count-1 do 
    744709  begin 
    745710    index:=j; 
     
    791756    code[index].changed:=true; 
    792757  end; 
    793   codelist.Repaint; 
     758  codelist2.Repaint; 
    794759end; 
    795760 
     
    936901end; 
    937902 
    938 procedure TAdvancedOptions.codelistKeyDown(Sender: TObject; var Key: Word; 
    939   Shift: TShiftState); 
    940 begin 
    941   if key=vk_delete then 
    942     Remove1.Click; 
     903procedure TAdvancedOptions.Codelist2DblClick(Sender: TObject); 
     904var mi: TModuleInfo; 
     905begin 
     906  if code[codelist2.itemindex].modulename<>'' then 
     907  begin 
     908    symhandler.getmodulebyname(code[codelist2.itemindex].modulename,mi); 
     909    code[codelist2.itemindex].Address:=mi.baseaddress+code[codelist2.itemindex].offset; 
     910  end; 
     911     
     912  memorybrowser.disassemblerview.SelectedAddress:=code[codelist2.itemindex].Address; 
     913 
     914  if memorybrowser.Height<(memorybrowser.Panel1.Height+100) then memorybrowser.height:=memorybrowser.Panel1.Height+100; 
     915  memorybrowser.panel1.visible:=true; 
     916  memorybrowser.show; 
     917end; 
     918 
     919procedure TAdvancedOptions.Panel2Resize(Sender: TObject); 
     920begin 
     921  label1.left:=(panel2.Width div 2)-(label1.Width div 2); 
    943922end; 
    944923 
  • Cheat Engine/Assemblerunit.pas

    r305 r306  
    16921692 
    16931693  if length(value)=9 then result:=32 else 
    1694   if length(value)=5 then result:=16 else 
    1695   if length(value)=3 then result:=8; 
     1694  if length(value)=5 then 
     1695  begin 
     1696   result:=16; 
     1697   if x>65535 then result:=32; 
     1698  end 
     1699  else 
     1700  if length(value)=3 then 
     1701  begin 
     1702    result:=8; 
     1703    if x>255 then 
     1704      result:=16; 
     1705  end; 
    16961706 
    16971707  if result=0 then result:=ValueToType(x); //not a specific ammount of characters given 
  • Cheat Engine/CommentsUnit.dfm

    r305 r306  
    1515  OldCreateOrder = False 
    1616  Position = poScreenCenter 
     17  OnClose = FormClose 
    1718  PixelsPerInch = 120 
    1819  TextHeight = 16 
     
    3637    OnResize = Panel1Resize 
    3738    object Button1: TButton 
    38       Left = 11 
     39      Left = 184 
    3940      Top = 6 
    40       Width = 412 
     41      Width = 87 
    4142      Height = 31 
    4243      Caption = 'OK' 
  • Cheat Engine/CommentsUnit.pas

    r305 r306  
    1414    procedure Button1Click(Sender: TObject); 
    1515    procedure Panel1Resize(Sender: TObject); 
     16    procedure FormClose(Sender: TObject; var Action: TCloseAction); 
    1617  private 
    1718    { Private declarations } 
     
    2526 
    2627implementation 
     28 
     29uses MainUnit; 
    2730 
    2831{$R *.dfm} 
     
    4346procedure TComments.Panel1Resize(Sender: TObject); 
    4447begin 
    45   button1.Left:=16; 
    46   button1.Width:=panel1.ClientWidth-32; 
    47   button1.top:=3; 
    48   button1.Height:=panel1.ClientHeight-6; 
     48  button1.Left:=(panel1.ClientWidth div 2) - (button1.Width div 2); 
     49 
     50end; 
     51 
     52procedure TComments.FormClose(Sender: TObject; var Action: TCloseAction); 
     53begin 
     54  if memo1.Lines.Count>0 then 
     55    mainform.Commentbutton.font.style:=mainform.Commentbutton.font.style+[fsBold] 
     56  else 
     57    mainform.Commentbutton.font.style:=mainform.Commentbutton.font.style-[fsBold]   
    4958end; 
    5059 
  • Cheat Engine/FoundCodeUnit.dfm

    r305 r306  
    8282        169) 
    8383      object btnExtraInfo: TButton 
    84         Left = 6 
     84        Left = 4 
    8585        Top = 128 
    86         Width = 120 
     86        Width = 124 
    8787        Height = 31 
    8888        Hint =  
     
    9898      end 
    9999      object btnAddToCodeList: TButton 
    100         Left = 6 
     100        Left = 4 
    101101        Top = 89 
    102         Width = 120 
     102        Width = 124 
    103103        Height = 30 
    104104        Hint =  
     
    113113      end 
    114114      object btnOpenDisassembler: TButton 
    115         Left = 6 
     115        Left = 4 
    116116        Top = 49 
    117         Width = 120 
     117        Width = 123 
    118118        Height = 31 
    119119        Hint =  
     
    128128      end 
    129129      object btnReplacewithnops: TButton 
    130         Left = 6 
     130        Left = 4 
    131131        Top = 10 
    132         Width = 120 
     132        Width = 124 
    133133        Height = 31 
    134134        Hint =  
  • Cheat Engine/FoundCodeUnit.pas

    r305 r306  
    342342var codelength: integer; 
    343343    written: dword; 
    344     i: integer; 
     344    i,j: integer; 
    345345    nops: array of byte; 
    346346    a: dword; 
     
    352352  with foundcodelist do 
    353353  begin 
    354     codelength:=coderecords[itemindex].size; 
    355     //add it to the codelist 
    356     if advancedoptions.AddToCodeList(coderecords[itemindex].address,codelength,true) then 
    357     begin 
    358       setlength(nops,codelength); 
    359       for i:=0 to codelength-1 do 
    360         nops[i]:=$90;  //$90=nop 
    361  
    362  
    363       zeromemory(@mbi,sizeof(mbi)); 
    364  
    365       if debuggerthread<>nil then debuggerthread.Suspend; 
    366       RewriteCode(processhandle,coderecords[itemindex].address,@nops[0],codelength); 
    367       if debuggerthread<>nil then debuggerthread.Resume; 
     354    for j:=0 to foundcodelist.Count-1 do 
     355    begin 
     356      if foundcodelist.Selected[j] then 
     357      begin 
     358        codelength:=coderecords[itemindex].size; 
     359        //add it to the codelist 
     360        if advancedoptions.AddToCodeList(coderecords[itemindex].address,codelength,true, foundcodelist.SelCount>1) then 
     361        begin 
     362          setlength(nops,codelength); 
     363          for i:=0 to codelength-1 do 
     364            nops[i]:=$90;  //$90=nop 
     365 
     366 
     367          zeromemory(@mbi,sizeof(mbi)); 
     368 
     369          if debuggerthread<>nil then debuggerthread.Suspend; 
     370          RewriteCode(processhandle,coderecords[itemindex].address,@nops[0],codelength); 
     371          if debuggerthread<>nil then debuggerthread.Resume; 
     372        end; 
     373      end; 
    368374    end; 
    369375  end; 
     
    384390  begin 
    385391    if foundcodelist.Selected[i] then 
    386       advancedoptions.AddToCodeList(coderecords[i].address,coderecords[i].size,false); 
     392      advancedoptions.AddToCodeList(coderecords[i].address,coderecords[i].size,false, foundcodelist.SelCount>1); 
    387393  end; 
    388394  advancedoptions.Show; 
  • Cheat Engine/MainUnit.dfm

    r305 r306  
    11281128      Left = 1 
    11291129      Top = 1 
    1130       Width = 104 
     1130      Width = 96 
    11311131      Height = 15 
     1132      Hint =  
     1133        'Some extra functions like pause and trainer maker. And some save' + 
     1134        'd instruction locations' 
    11321135      Anchors = [akLeft, akBottom] 
    11331136      Caption = 'Advanced options' 
     
    11381141    end 
    11391142    object CommentButton: TSpeedButton 
    1140       Left = 506 
     1143      Left = 417 
    11411144      Top = 1 
    1142       Width = 18 
     1145      Width = 96 
    11431146      Height = 15 
    11441147      Hint = 'abcdefg' 
    11451148      Anchors = [akRight, akBottom] 
    1146       Caption = '?' 
     1149      Caption = 'Table Comments' 
    11471150      Flat = True 
    11481151      Font.Charset = DEFAULT_CHARSET 
    11491152      Font.Color = clWindowText 
    1150       Font.Height = -11 
     1153      Font.Height = -12 
    11511154      Font.Name = 'MS Sans Serif' 
    1152       Font.Style = [fsBold] 
     1155      Font.Style = [] 
    11531156      ParentFont = False 
    11541157      ParentShowHint = False 
     
    18831886        Width = 25 
    18841887        Height = 25 
     1888        Hint = 'Select a process to open' 
    18851889        Glyph.Data = { 
    18861890          46050000424D4605000000000000360400002800000010000000110000000100 
  • Cheat Engine/MainUnit.pas

    r305 r306  
    1212  foundlisthelper,disassembler, underc, psapi, peinfounit, PEInfoFunctions, 
    1313  memscan, formsextra, speedhack2, menuitemExtra, AccessCheck, KIcon, frmCScriptUnit, 
    14   XMLDoc, XMLIntf,  simpleaobscanner, pointervaluelist, ManualModuleLoader; 
     14  XMLDoc, XMLIntf,  simpleaobscanner, pointervaluelist, ManualModuleLoader, windows7taskbar; 
    1515 
    1616  //the following are just for compatibility 
     
    23202320  result:=not editedsincelastsave; 
    23212321 
    2322   if advancedoptions.codelist.Count=oldcodelistcount then 
     2322  if advancedoptions.codelist2.items.Count=oldcodelistcount then 
    23232323  begin 
    23242324     
     
    37023702 
    37033703 
    3704   if (numberofrecords>0) or (advancedoptions.codelist.Count>0) then 
     3704  if (numberofrecords>0) or (advancedoptions.codelist2.items.Count>0) then 
    37053705  begin 
    37063706    if (messagedlg(strKeepList, mtConfirmation, [mbYes, mbNo], 0)=mrNo) then 
     
    37403740 
    37413741 
    3742   if fileexists(expectedfilename) then 
     3742 
     3743  if fileexists(expectedfilename) or fileexists(cheatenginedir+expectedfilename) then 
    37433744  begin 
    37443745    if messagedlg('Load the associated table? ('+expectedFilename+')',mtConfirmation, [mbyes,mbno],0)=mryes then 
    37453746    begin 
    37463747      autoopen:=true; 
    3747       opendialog1.FileName:=expectedfilename; 
     3748      if fileexists(expectedfilename) then 
     3749        opendialog1.FileName:=expectedfilename 
     3750      else 
     3751        opendialog1.FileName:=cheatenginedir+expectedfilename; 
     3752         
    37483753      LoadButton.Click; 
    37493754    end; 
     
    81718176  if comments.Memo1.Lines.Count=0 then 
    81728177  begin 
    8173     Commentbutton.Hint:='No Comments!'; 
     8178    Commentbutton.Hint:='No Comments'; 
    81748179    exit; 
    81758180  end; 
     
    1019010195  end; 
    1019110196 
    10192   if advancedoptions.codelist.Count>0 then 
     10197  if advancedoptions.codelist2.items.Count>0 then 
    1019310198  begin 
    1019410199    advancedoptions.Position:=podesigned; 
     
    1096110966  progressbar1.Position:=0; 
    1096210967 
     10968  SetProgressState(tbpsNone); 
     10969 
     10970 
    1096310971  foundcount:=memscan.GetFoundCount; 
    1096410972 
     
    1100111009 
    1100211010  scanepilogue(canceled); 
    11003  
    1100411011end; 
    1100511012 
     
    1158911596  comments.Memo1.Lines.Add(strInfoAboutTable); 
    1159011597  Numberofrecords:=0; 
    11591   advancedoptions.codelist.clear; 
     11598  advancedoptions.codelist2.items.clear; 
    1159211599  advancedoptions.numberofcodes:=0; 
    1159311600  Updatescreen; 
  • Cheat Engine/MemoryBrowserFormUnit.dfm

    r304 r306  
    609609      PopupMenu = pmStacktrace 
    610610      TabOrder = 1 
     611      Visible = False 
    611612      object lvStacktraceData: TListView 
    612613        Left = 2 
  • Cheat Engine/NewKernelHandler.pas

    r305 r306  
    77 
    88const 
    9   CONTEXT_EXTENDED_REGISTERS = 0;//(CONTEXT_i386 or $00000020); 
     9  CONTEXT_EXTENDED_REGISTERS = (CONTEXT_i386 or $00000020); 
    1010 
    1111//credits to jedi code library for filling in the "extended registers" 
  • Cheat Engine/OpenSave.pas

    r303 r306  
    77     cefuncproc,classes,formmemorymodifier,formMemoryTrainerUnit,shellapi, 
    88     MemoryTrainerDesignUnit,StdCtrls,ExtraTrainerComponents,Graphics,Controls, 
    9      ExtCtrls,Dialogs,newkernelhandler, hotkeyhandler, structuresfrm, XMLDoc, XMLIntf, KIcon; 
     9     ExtCtrls,Dialogs,newkernelhandler, hotkeyhandler, structuresfrm, XMLDoc, XMLIntf, KIcon, comctrls; 
    1010 
    1111 
     
    1515procedure SaveCEM(Filename:string;address,size:dword); 
    1616 
    17 {$ifndef net} 
    1817procedure LoadExe(filename: string); 
    19 {$endif} 
    2018 
    2119 
     
    42794277    symbolname: string; 
    42804278    address: dword; 
     4279    li: tlistitem; 
    42814280begin 
    42824281  doc:=TXMLDocument.Create(application); 
     
    44094408            code[numberofcodes-1].offset:=tempoffset; 
    44104409 
    4411             codelist.Items.Add(tempdescription); 
     4410            li:=codelist2.Items.Add; 
     4411            if code[numberofcodes-1].modulename<>'' then 
     4412              li.Caption:=code[numberofcodes-1].modulename+'+'+inttohex(code[numberofcodes-1].offset,1) 
     4413            else 
     4414              li.Caption:=inttohex(tempaddress,8); 
     4415 
     4416            li.SubItems.Add(tempdescription); 
    44124417          end; 
    44134418 
     
    44954500    symbolname: string; 
    44964501    addressstring: string; 
     4502    li: tlistitem; 
    44974503begin 
    44984504    ctfile.ReadBuffer(records,4); 
     
    46664672          code[numberofcodes-1].offset:=tempoffset; 
    46674673 
    4668           codelist.Items.Add(tempdescription); 
     4674          li:=codelist2.Items.Add; 
     4675          if code[numberofcodes-1].modulename<>'' then 
     4676            li.Caption:=code[numberofcodes-1].modulename+'+'+inttohex(code[numberofcodes-1].offset,1) 
     4677          else 
     4678            li.Caption:=inttohex(tempaddress,8); 
     4679 
     4680          li.SubItems.Add(tempdescription); 
    46694681        end; 
    46704682      end; 
     
    47914803    tempaddress: dword; 
    47924804    tempdescription: string; 
     4805    li: tlistitem; 
    47934806begin 
    47944807    ctfile.ReadBuffer(records,4); 
     
    49234936          code[numberofcodes-1].Address:=tempaddress; 
    49244937 
    4925           codelist.Items.Add(tempdescription); 
     4938          li:=codelist2.Items.Add; 
     4939          if code[numberofcodes-1].modulename<>'' then 
     4940            li.Caption:=code[numberofcodes-1].modulename+'+'+inttohex(code[numberofcodes-1].offset,1) 
     4941          else 
     4942            li.Caption:=inttohex(tempaddress,8); 
     4943 
     4944          li.SubItems.Add(tempdescription); 
    49264945        end; 
    49274946      end; 
     
    49554974    tempaddress: dword; 
    49564975    tempdescription: string; 
     4976    li: tlistitem; 
    49574977begin 
    49584978    ctfile.ReadBuffer(records,4); 
     
    50725092          code[numberofcodes-1].Address:=tempaddress; 
    50735093 
    5074           codelist.Items.Add(tempdescription); 
     5094          li:=codelist2.Items.Add; 
     5095          if code[numberofcodes-1].modulename<>'' then 
     5096            li.Caption:=code[numberofcodes-1].modulename+'+'+inttohex(code[numberofcodes-1].offset,1) 
     5097          else 
     5098            li.Caption:=inttohex(tempaddress,8); 
     5099 
     5100          li.SubItems.Add(tempdescription); 
    50755101        end; 
    50765102      end; 
     
    51055131    tempaddress: dword; 
    51065132    tempdescription: string; 
     5133    li: tlistitem; 
    51075134begin 
    51085135    ctfile.ReadBuffer(records,4); 
     
    52295256          code[numberofcodes-1].Address:=tempaddress; 
    52305257 
    5231           codelist.Items.Add(tempdescription); 
     5258          li:=codelist2.Items.Add; 
     5259          if code[numberofcodes-1].modulename<>'' then 
     5260            li.Caption:=code[numberofcodes-1].modulename+'+'+inttohex(code[numberofcodes-1].offset,1) 
     5261          else 
     5262            li.Caption:=inttohex(tempaddress,8); 
     5263 
     5264          li.SubItems.Add(tempdescription); 
    52325265        end; 
    52335266      end; 
     
    52615294    tempaddress: dword; 
    52625295    tempdescription: string; 
     5296    li: tlistitem; 
    52635297begin 
    52645298    ctfile.ReadBuffer(records,4); 
     
    53595393          code[numberofcodes-1].Address:=tempaddress; 
    53605394 
    5361           codelist.Items.Add(tempdescription); 
     5395          li:=codelist2.Items.Add; 
     5396          if code[numberofcodes-1].modulename<>'' then 
     5397            li.Caption:=code[numberofcodes-1].modulename+'+'+inttohex(code[numberofcodes-1].offset,1) 
     5398          else 
     5399            li.Caption:=inttohex(tempaddress,8); 
     5400 
     5401          li.SubItems.Add(tempdescription); 
    53625402        end; 
    53635403      end; 
     
    53905430    tempaddress: dword; 
    53915431    tempdescription: string; 
     5432    li: tlistitem; 
    53925433begin 
    53935434    ctfile.ReadBuffer(records,4); 
     
    54875528          code[numberofcodes-1].Address:=tempaddress; 
    54885529 
    5489           codelist.Items.Add(tempdescription); 
     5530          li:=codelist2.Items.Add; 
     5531          if code[numberofcodes-1].modulename<>'' then 
     5532            li.Caption:=code[numberofcodes-1].modulename+'+'+inttohex(code[numberofcodes-1].offset,1) 
     5533          else 
     5534            li.Caption:=inttohex(tempaddress,8); 
     5535 
     5536          li.SubItems.Add(tempdescription); 
    54905537        end; 
    54915538      end; 
     
    56285675    tempaddress: dword; 
    56295676    tempdescription: string; 
     5677    li: tlistitem; 
    56305678begin 
    56315679  assignfile(LoadFile,filename); 
     
    57675815          code[numberofcodes-1].Address:=tempaddress; 
    57685816 
    5769           codelist.Items.Add(tempdescription); 
     5817          li:=codelist2.Items.Add; 
     5818          if code[numberofcodes-1].modulename<>'' then 
     5819            li.Caption:=code[numberofcodes-1].modulename+'+'+inttohex(code[numberofcodes-1].offset,1) 
     5820          else 
     5821            li.Caption:=inttohex(tempaddress,8); 
     5822 
     5823          li.SubItems.Add(tempdescription); 
    57705824        end; 
    57715825      end; 
     
    63716425 
    63726426    nrofbytes:  byte; 
    6373  
    6374  
    63756427begin 
    63766428  Extension:=uppercase(extractfileext(filename)); 
     
    63976449      end; 
    63986450 
    6399       advancedoptions.codelist.Clear; 
     6451      Codelist2.Clear; 
    64006452      setlength(code,0); 
    6401  
    6402       codelist.clear; 
    64036453      numberofcodes:=0; 
    64046454    end; 
     
    64246474  begin 
    64256475    oldnumberofrecords:=numberofrecords; 
    6426     oldcodelistcount:=advancedoptions.codelist.Count; 
     6476    oldcodelistcount:=advancedoptions.codelist2.Items.Count; 
    64276477 
    64286478    setlength(oldmemrec,numberofrecords); 
     
    64616511 
    64626512  mainform.editedsincelastsave:=false; 
     6513 
     6514  if comments.memo1.Lines.Count>0 then 
     6515    mainform.Commentbutton.font.style:=mainform.Commentbutton.font.style+[fsBold] 
     6516  else 
     6517    mainform.Commentbutton.font.style:=mainform.Commentbutton.font.style-[fsBold]; 
    64636518end; 
    64646519 
     
    65906645      begin 
    65916646        CodeRecord:=codes.AddChild('CodeEntry'); 
    6592         CodeRecord.AddChild('Description').Text:=advancedoptions.codelist.Items[i]; 
     6647        CodeRecord.AddChild('Description').Text:=advancedoptions.codelist2.Items[i].SubItems[0]; 
    65936648        CodeRecord.AddChild('Address').Text:=inttohex(advancedoptions.code[i].Address,8); 
    65946649        CodeRecord.AddChild('ModuleName').Text:=advancedoptions.code[i].modulename; 
     
    67646819        blockwrite(savefile,pointer(advancedoptions.code[i].after)^,nrofbytes,actualwritten); 
    67656820 
    6766         x:=pchar(advancedoptions.codelist.Items[i]); 
     6821        x:=pchar(advancedoptions.codelist2.Items[i].SubItems[0]); 
    67676822        nrofbytes:=length(x); 
    67686823        blockwrite(savefile,nrofbytes,1,actualwritten); 
     
    68386893      begin 
    68396894        oldnumberofrecords:=numberofrecords; 
    6840         oldcodelistcount:=advancedoptions.codelist.Count; 
     6895        oldcodelistcount:=advancedoptions.codelist2.items.count; 
    68416896 
    68426897        setlength(oldmemrec,numberofrecords); 
  • Cheat Engine/Release/Cheat Engine.iss

    r305 r306  
    33 
    44[Setup] 
    5 AppName=Cheat Engine 5.6 BETA 
    6 AppVerName=Cheat Engine 5.6 BETA 
     5AppName=Cheat Engine 5.6 BETA 4 
     6AppVerName=Cheat Engine 5.6 BETA 4 
    77AppPublisher=Dark Byte 
    88AppPublisherURL=http://www.cheatengine.org/ 
    99AppSupportURL=http://www.cheatengine.org/ 
    1010AppUpdatesURL=http://www.cheatengine.org/ 
    11 DefaultDirName={pf}\Cheat Engine Beta3 
    12 DefaultGroupName=Cheat Engine 5.6 BETA 
     11DefaultDirName={pf}\Cheat Engine Beta4 
     12DefaultGroupName=Cheat Engine 5.6 BETA 4 
    1313AllowNoIcons=yes 
    1414LicenseFile=..\Release\License.txt 
    1515InfoAfterFile=..\Release\readme.txt 
    16 OutputBaseFilename=CheatEngine56Beta3 
     16OutputBaseFilename=CheatEngine56Beta4 
    1717PrivilegesRequired=admin 
    1818ChangesAssociations=yes 
  • Cheat Engine/Structuresfrm.dfm

    r294 r306  
    7070      OnDblClick = tvStructureViewDblClick 
    7171      OnExpanding = tvStructureViewExpanding 
     72      OnKeyDown = tvStructureViewKeyDown 
    7273      OnMouseDown = tvStructureViewMouseDown 
    7374    end 
     
    152153    OnPopup = PopupMenu1Popup 
    153154    Left = 240 
    154     Top = 200 
     155    Top = 208 
    155156    object ChangeElement1: TMenuItem 
    156157      Caption = 'Change element' 
  • Cheat Engine/Structuresfrm.pas

    r294 r306  
    128128    procedure Newwindow1Click(Sender: TObject); 
    129129    procedure Memorybrowsepointer1Click(Sender: TObject); 
     130    procedure tvStructureViewKeyDown(Sender: TObject; var Key: Word; 
     131      Shift: TShiftState); 
    130132  private 
    131133    { Private declarations } 
     
    11621164  begin 
    11631165    s:=tstructure(tvStructureView.Selected.Data); 
    1164     elementnr:=tvStructureView.Selected.Index; 
    1165  
    1166     Memorybrowsepointer1.Visible:=(elementnr>=0) and definedstructures[s.basestructure].structelement[elementnr].pointerto; 
     1166    if s<>nil then 
     1167    begin 
     1168      Addtoaddresslist1.Visible:=true; 
     1169      Deleteelement1.Visible:=true; 
     1170      n2.Visible:=true; 
     1171      elementnr:=tvStructureView.Selected.Index; 
     1172 
     1173      Memorybrowsepointer1.Visible:=(elementnr>=0) and definedstructures[s.basestructure].structelement[elementnr].pointerto; 
     1174    end else 
     1175    begin 
     1176      Deleteelement1.Visible:=false; 
     1177      n2.Visible:=false; 
     1178      Memorybrowsepointer1.Visible:=false; 
     1179      Addtoaddresslist1.Visible:=false; 
     1180    end; 
    11671181  end; 
    11681182 
     
    21332147  begin 
    21342148    s:=tstructure(tvStructureView.Selected.Data); 
     2149    if s=nil then exit; 
     2150 
    21352151    elementnr:=tvStructureView.Selected.Index; 
    21362152 
     
    21382154    begin 
    21392155      //find the position that is clicked 
    2140       GetWindowRect(TTreeview(sender).Handle, tvrect); 
     2156      GetWindowRect(tvStructureView.Handle, tvrect); 
    21412157 
    21422158      clickpos.X:=popupmenu1.PopupPoint.X-tvrect.Left; 
     
    21702186end; 
    21712187 
     2188procedure TfrmStructures.tvStructureViewKeyDown(Sender: TObject; 
     2189  var Key: Word; Shift: TShiftState); 
     2190var 
     2191  i: integer; 
     2192  s: Tstructure; 
     2193  elementnr: integer; 
     2194  tvrect: trect; 
     2195  clickpos: tpoint; 
     2196  section: integer; 
     2197  address: dword; 
     2198  x: dword;   
     2199begin 
     2200  if key=vk_space then 
     2201  begin 
     2202    if (tvStructureView.selected<>nil) then 
     2203    begin 
     2204      s:=tstructure(tvStructureView.Selected.Data); 
     2205      elementnr:=tvStructureView.Selected.Index; 
     2206      if s=nil then exit; 
     2207       
     2208 
     2209      if (elementnr>=0) then 
     2210      begin 
     2211        //find the position that is clicked 
     2212        GetWindowRect(tvStructureView.Handle, tvrect); 
     2213 
     2214        clickpos.X:=popupmenu1.PopupPoint.X-tvrect.Left; 
     2215        clickpos.Y:=popupmenu1.PopupPoint.Y-tvrect.Top; 
     2216 
     2217        section:=headercontrol1.Sections.Count-1; 
     2218        for i:=0 to headercontrol1.Sections.Count-1 do 
     2219        begin 
     2220          if (clickpos.x>=headercontrol1.Sections[i].Left) 
     2221            and 
     2222             (clickpos.x<headercontrol1.Sections[i].Left+headercontrol1.Sections[i].width) then 
     2223          begin 
     2224            //found it 
     2225            section:=i; 
     2226            break; 
     2227          end; 
     2228        end; 
     2229 
     2230        if section>0 then 
     2231          section:=section-1; //count starts from 1, so decrease 
     2232 
     2233        memorybrowser.memoryaddress:=s.addresses[section]+definedstructures[s.basestructure].structelement[elementnr].offset; 
     2234        memorybrowser.RefreshMB; 
     2235      end; 
     2236     // definedstructures[s.basestructure].structelement[elementnr]. 
     2237    end; 
     2238 
     2239  end; 
     2240 
     2241 
     2242 
     2243end; 
     2244 
    21722245end. 
    21732246 
  • Cheat Engine/Valuechange.dfm

    r7 r306  
    55  BorderStyle = bsDialog 
    66  Caption = 'Change Offset: ########' 
    7   ClientHeight = 83 
    8   ClientWidth = 214 
     7  ClientHeight = 102 
     8  ClientWidth = 263 
    99  Color = clBtnFace 
    1010  Font.Charset = DEFAULT_CHARSET 
    1111  Font.Color = clWindowText 
    12   Font.Height = -11 
     12  Font.Height = -14 
    1313  Font.Name = 'MS Sans Serif' 
    1414  Font.Style = [] 
     
    1818  OnCreate = FormCreate 
    1919  OnShow = FormShow 
    20   PixelsPerInch = 96 
    21   TextHeight = 13 
     20  PixelsPerInch = 120 
     21  TextHeight = 16 
    2222  object VarType: TComboBox 
    23     Left = 16 
    24     Top = 25 
    25     Width = 121 
    26     Height = 21 
     23    Left = 20 
     24    Top = 31 
     25    Width = 149 
     26    Height = 24 
    2727    Style = csDropDownList 
    28     ItemHeight = 13 
     28    ItemHeight = 16 
    2929    ItemIndex = 0 
    3030    TabOrder = 0 
     
    4242  end 
    4343  object Button1: TButton 
    44     Left = 34 
    45     Top = 56 
    46     Width = 75 
    47     Height = 25 
     44    Left = 42 
     45    Top = 69 
     46    Width = 92 
     47    Height = 31 
    4848    Caption = 'OK' 
    4949    Default = True 
     
    5252  end 
    5353  object Button2: TButton 
    54     Left = 117 
    55     Top = 56 
    56     Width = 75 
    57     Height = 25 
     54    Left = 144 
     55    Top = 69 
     56    Width = 92 
     57    Height = 31 
    5858    Cancel = True 
    5959    Caption = 'Cancel' 
     
    6262  end 
    6363  object ValueText: TEdit 
    64     Left = 17 
     64    Left = 21 
    6565    Top = 1 
    66     Width = 192 
     66    Width = 236 
    6767    Height = 21 
    6868    TabOrder = 3 
     
    7070  end 
    7171  object cbunicode: TCheckBox 
    72     Left = 144 
    73     Top = 27 
    74     Width = 65 
    75     Height = 17 
     72    Left = 177 
     73    Top = 33 
     74    Width = 80 
     75    Height = 21 
    7676    Caption = 'Unicode' 
    7777    TabOrder = 4 
  • Cheat Engine/Valuechange.pas

    r7 r306  
    112112            valuetext.text:=IntToStr(value1); 
    113113 
    114             cbunicode.visible:=true; 
     114            cbunicode.visible:=false; 
    115115          end; 
    116116 
     
    124124            valuetext.text:=IntToStr(value2); 
    125125 
    126             cbunicode.visible:=true; 
     126            cbunicode.visible:=false; 
    127127          end; 
    128128 
     
    135135            valuetext.text:=IntToStr(value3); 
    136136 
    137             cbunicode.visible:=true; 
     137            cbunicode.visible:=false; 
    138138          end; 
    139139 
     
    146146            valuetext.text:=IntToStr(value6); 
    147147 
    148             cbunicode.visible:=true; 
     148            cbunicode.visible:=false; 
    149149          end; 
    150150 
     
    157157            valuetext.text:=FloatToStr(value4); 
    158158 
    159             cbunicode.visible:=true; 
     159            cbunicode.visible:=false; 
    160160          end; 
    161161 
     
    168168            valuetext.text:=floatToStr(value5); 
    169169 
    170             cbunicode.visible:=true; 
     170            cbunicode.visible:=false; 
    171171          end; 
    172172 
  • Cheat Engine/cheatengine.dof

    r305 r306  
    189189MinorVer=6 
    190190Release=0 
    191 Build=44 
     191Build=46 
    192192Debug=0 
    193193PreRelease=1 
     
    200200CompanyName= 
    201201FileDescription=Cheat Engine 5.6 
    202 FileVersion=5.6.0.44 
     202FileVersion=5.6.0.46 
    203203InternalName=CheatEngine 
    204204LegalCopyright=none 
  • Cheat Engine/cheatengine.dpr

    r303 r306  
    158158  PointerscanresultReader in 'PointerscanresultReader.pas', 
    159159  frmReferencedStringsUnit in 'frmReferencedStringsUnit.pas' {frmReferencedStrings}, 
    160   ManualModuleLoader in 'ManualModuleLoader.pas'; 
     160  ManualModuleLoader in 'ManualModuleLoader.pas', 
     161  windows7taskbar in 'windows7taskbar.pas'; 
    161162 
    162163//  frmOpenGLUnit in 'frmOpenGLUnit.pas' {frmOpenGL}; 
  • Cheat Engine/cheatengine.drc

    r305 r306  
    99*/ 
    1010 
    11 #define MainUnit_strhappybirthday 64944 
    12 #define MainUnit_strXMess 64945 
    13 #define MainUnit_strNewyear 64946 
    14 #define MainUnit_strfuture 64947 
    15 #define MainUnit_strdontbother 64948 
    16 #define MainUnit_strneeddebugger 64949 
    17 #define MainUnit_strfailuretosetspeed 64950 
    18 #define MainUnit_strIncorrectspeed 64951 
    19 #define MainUnit_strCantSetSpeed 64952 
    20 #define MainUnit_strHyperscanFailed 64953 
    21 #define MainUnit_strUnknownExtension 64954 
    22 #define MainUnit_strCustomScanConfig 64955 
    23 #define MainUnit_strDeleteAddress 64960 
    24 #define MainUnit_strRecalculateAddress 64961 
    25 #define MainUnit_strRecalculateSelectedAddresses 64962 
    26 #define MainUnit_strRecalculateAllAddresses 64963 
    27 #define MainUnit_strRemoveFromGroup 64964 
    28 #define MainUnit_strEnableCheat 64965 
    29 #define MainUnit_strDisableCheat 64966 
    30 #define MainUnit_strFindWhatWritesToPointer 64967 
    31 #define MainUnit_strFindWhatWritesToPointer2 64968 
    32 #define MainUnit_strcantdebugnow 64969 
    33 #define MainUnit_strpointercantberead 64970 
    34 #define MainUnit_strconfirmUndo 64971 
    35 #define MainUnit_strHideForeground 64972 
    36 #define MainUnit_strHideAll 64973 
    37 #define MainUnit_strUnHideForeground 64974 
    38 #define MainUnit_strUnhideAll 64975 
    39 #define MainUnit_strDelete1Group 64976 
    40 #define MainUnit_strDeleteMoreGroups 64977 
    41 #define MainUnit_strSelectedAddressIsAPointer 64978 
    42 #define MainUnit_strMorePointers 64979 
    43 #define MainUnit_strMorePointers2 64980 
    44 #define MainUnit_strNotAValidValue 64981 
    45 #define MainUnit_strdeleteall 64982 
    46 #define MainUnit_stralreadyin 64983 
    47 #define MainUnit_stralreadyinlistmultiple 64984 
    48 #define MainUnit_strsethotkey 64985 
    49 #define MainUnit_strshowasdecimal 64986 
    50 #define MainUnit_strshowashex 64987 
    51 #define MainUnit_strFreezeAddressInList 64988 
    52 #define MainUnit_strFreezeAllAddresses 64989 
    53 #define MainUnit_strUnfreezeAllAddresses 64990 
    54 #define MainUnit_strUnfreezeAddressInList 64991 
    55 #define MainUnit_strFirstSelectAProcess 64992 
    56 #define MainUnit_strCantdoNextScan 64993 
    57 #define MainUnit_strClickToGoHome 64994 
    58 #define MainUnit_strChangeDescription1 64995 
    59 #define MainUnit_strChangeDescription2 64996 
    60 #define MainUnit_strNotTheSameSize1 64997 
    61 #define MainUnit_strNotTheSameSize2 64998 
    62 #define MainUnit_strAdd0 64999 
    63 #define MainUnit_strNotAValidNotation 65000 
    64 #define MainUnit_strNotSameAmmountofBytes 65001 
    65 #define MainUnit_strNotAValidBinaryNotation 65002 
    66 #define MainUnit_strValue 65003 
    67 #define MainUnit_strChange1Value 65004 
    68 #define MainUnit_strChangeMoreValues 65005 
    69 #define MainUnit_strDelete1Address 65006 
    70 #define MainUnit_strDeleteMultipleAddresses 65007 
    71 #define MainUnit_strOpcodeChanged 65008 
    72 #define MainUnit_strAllowNegative 65009 
    73 #define MainUnit_strAllowPositive 65010 
    74 #define MainUnit_strNormalFreeze 65011 
    75 #define MainUnit_strAskToSave 65012 
    76 #define MainUnit_strScantextcaptiontotext 65013 
    77 #define MainUnit_strScantextcaptiontoValue 65014 
    78 #define MainUnit_strsearchForText 65015 
    79 #define MainUnit_strSearchForArray 65016 
    80 #define MainUnit_strConfirmProcessTermination 65017 
    81 #define MainUnit_strError 65018 
    82 #define MainUnit_strErrorwhileOpeningProcess 65019 
    83 #define MainUnit_strKeepList 65020 
    84 #define MainUnit_strInfoAboutTable 65021 
    85 #define MainUnit_strPhysicalMemory 65022 
    86 #define MainUnit_strfillInSomething 65023 
    87 #define MainUnit2_strexactvalue 65024 
    88 #define MainUnit2_strbiggerThan 65025 
    89 #define MainUnit2_strSmallerThan 65026 
    90 #define MainUnit2_strIncreasedValue 65027 
    91 #define MainUnit2_strIncreasedValueBy 65028 
    92 #define MainUnit2_strDecreasedValue 65029 
    93 #define MainUnit2_strDecreasedValueBy 65030 
    94 #define MainUnit2_strValueBetween 65031 
    95 #define MainUnit2_strChangedValue 65032 
    96 #define MainUnit2_strUnchangedValue 65033 
    97 #define MainUnit2_strUnknownInitialValue 65034 
    98 #define MainUnit2_strSameAsFirstScan 65035 
    99 #define MainUnit2_strtoolong 65036 
    100 #define FoundCodeUnit_strClose 65037 
    101 #define MainUnit_strWindowFailedToHide 65038 
    102 #define MainUnit_strAccessed 65039 
    103 #define AdvancedOptionsUnit_strnotthesame 65040 
    104 #define AdvancedOptionsUnit_strcouldntwrite 65041 
    105 #define AdvancedOptionsUnit_StrSelectExeFor3D 65042 
    106 #define AdvancedOptionsUnit_StrSelectExeForOpenGL3D 65043 
    107 #define formsettingsunit_strProcessWatcherWillPreventUnloader 65044 
    108 #define MainUnit2_strStart 65045 
    109 #define MainUnit2_strStop 65046 
    110 #define MainUnit2_strOK 65047 
    111 #define MainUnit2_strBug 65048 
    112 #define MainUnit2_strAutoAssemble 65049 
    113 #define MainUnit2_strAddressHasToBeReadable 65050 
    114 #define MainUnit2_strNewScan 65051 
    115 #define MainUnit2_strFirstScan 65052 
    116 #define MainUnit2_strNoDescription 65053 
    117 #define MainUnit2_strNeedNewerWindowsVersion 65054 
    118 #define MainUnit2_strexact 65055 
     11#define MainUnit_strXMess 64944 
     12#define MainUnit_strNewyear 64945 
     13#define MainUnit_strfuture 64946 
     14#define MainUnit_strdontbother 64947 
     15#define MainUnit_strneeddebugger 64948 
     16#define MainUnit_strfailuretosetspeed 64949 
     17#define MainUnit_strIncorrectspeed 64950 
     18#define MainUnit_strCantSetSpeed 64951 
     19#define MainUnit_strHyperscanFailed 64952 
     20#define MainUnit_strUnknownExtension 64953 
     21#define MainUnit_strCustomScanConfig 64954 
     22#define MainUnit_strRecalculateAddress 64960 
     23#define MainUnit_strRecalculateSelectedAddresses 64961 
     24#define MainUnit_strRecalculateAllAddresses 64962 
     25#define MainUnit_strRemoveFromGroup 64963 
     26#define MainUnit_strEnableCheat 64964 
     27#define MainUnit_strDisableCheat 64965 
     28#define MainUnit_strFindWhatWritesToPointer 64966 
     29#define MainUnit_strFindWhatWritesToPointer2 64967 
     30#define MainUnit_strcantdebugnow 64968 
     31#define MainUnit_strpointercantberead 64969 
     32#define MainUnit_strconfirmUndo 64970 
     33#define MainUnit_strHideForeground 64971 
     34#define MainUnit_strHideAll 64972 
     35#define MainUnit_strUnHideForeground 64973 
     36#define MainUnit_strUnhideAll 64974 
     37#define MainUnit_strhappybirthday 64975 
     38#define MainUnit_strDeleteMoreGroups 64976 
     39#define MainUnit_strSelectedAddressIsAPointer 64977 
     40#define MainUnit_strMorePointers 64978 
     41#define MainUnit_strMorePointers2 64979 
     42#define MainUnit_strNotAValidValue 64980 
     43#define MainUnit_strdeleteall 64981 
     44#define MainUnit_stralreadyin 64982 
     45#define MainUnit_stralreadyinlistmultiple 64983 
     46#define MainUnit_strsethotkey 64984 
     47#define MainUnit_strshowasdecimal 64985 
     48#define MainUnit_strshowashex 64986 
     49#define MainUnit_strFreezeAddressInList 64987 
     50#define MainUnit_strFreezeAllAddresses 64988 
     51#define MainUnit_strUnfreezeAllAddresses 64989 
     52#define MainUnit_strUnfreezeAddressInList 64990 
     53#define MainUnit_strDeleteAddress 64991 
     54#define MainUnit_strCantdoNextScan 64992 
     55#define MainUnit_strClickToGoHome 64993 
     56#define MainUnit_strChangeDescription1 64994 
     57#define MainUnit_strChangeDescription2 64995 
     58#define MainUnit_strNotTheSameSize1 64996 
     59#define MainUnit_strNotTheSameSize2 64997 
     60#define MainUnit_strAdd0 64998 
     61#define MainUnit_strNotAValidNotation 64999 
     62#define MainUnit_strNotSameAmmountofBytes 65000 
     63#define MainUnit_strNotAValidBinaryNotation 65001 
     64#define MainUnit_strValue 65002 
     65#define MainUnit_strChange1Value 65003 
     66#define MainUnit_strChangeMoreValues 65004 
     67#define MainUnit_strDelete1Address 65005 
     68#define MainUnit_strDeleteMultipleAddresses 65006 
     69#define MainUnit_strDelete1Group 65007 
     70#define MainUnit_strAllowNegative 65008 
     71#define MainUnit_strAllowPositive 65009 
     72#define MainUnit_strNormalFreeze 65010 
     73#define MainUnit_strAskToSave 65011 
     74#define MainUnit_strScantextcaptiontotext 65012 
     75#define MainUnit_strScantextcaptiontoValue 65013 
     76#define MainUnit_strsearchForText 65014 
     77#define MainUnit_strSearchForArray 65015 
     78#define MainUnit_strConfirmProcessTermination 65016 
     79#define MainUnit_strError 65017 
     80#define MainUnit_strErrorwhileOpeningProcess 65018 
     81#define MainUnit_strKeepList 65019 
     82#define MainUnit_strInfoAboutTable 65020 
     83#define MainUnit_strPhysicalMemory 65021 
     84#define MainUnit_strfillInSomething 65022 
     85#define MainUnit_strFirstSelectAProcess 65023 
     86#define MainUnit2_strbiggerThan 65024 
     87#define MainUnit2_strSmallerThan 65025 
     88#define MainUnit2_strIncreasedValue 65026 
     89#define MainUnit2_strIncreasedValueBy 65027 
     90#define MainUnit2_strDecreasedValue 65028 
     91#define MainUnit2_strDecreasedValueBy 65029 
     92#define MainUnit2_strValueBetween 65030 
     93#define MainUnit2_strChangedValue 65031 
     94#define MainUnit2_strUnchangedValue 65032 
     95#define MainUnit2_strUnknownInitialValue 65033 
     96#define MainUnit2_strSameAsFirstScan 65034 
     97#define MainUnit2_strtoolong 65035 
     98#define FoundCodeUnit_strClose 65036 
     99#define MainUnit_strWindowFailedToHide 65037 
     100#define MainUnit_strAccessed 65038 
     101#define MainUnit_strOpcodeChanged 65039 
     102#define AdvancedOptionsUnit_strcouldntwrite 65040 
     103#define AdvancedOptionsUnit_StrSelectExeFor3D 65041 
     104#define AdvancedOptionsUnit_StrSelectExeForOpenGL3D 65042 
     105#define formsettingsunit_strProcessWatcherWillPreventUnloader 65043 
     106#define MainUnit2_strStart 65044 
     107#define MainUnit2_strStop 65045 
     108#define MainUnit2_strOK 65046 
     109#define MainUnit2_strBug 65047 
     110#define MainUnit2_strAutoAssemble 65048 
     111#define MainUnit2_strAddressHasToBeReadable 65049 
     112#define MainUnit2_strNewScan 65050 
     113#define MainUnit2_strFirstScan 65051 
     114#define MainUnit2_strNoDescription 65052 
     115#define MainUnit2_strNeedNewerWindowsVersion 65053 
     116#define MainUnit2_strexact 65054 
     117#define MainUnit2_strexactvalue 65055 
    119118#define frmFindstaticsUnit_strStop 65056 
    120119#define frmFindstaticsUnit_strStopping 65057 
     
    124123#define AdvancedOptionsUnit_stralreadyinthelist 65061 
    125124#define AdvancedOptionsUnit_strPartOfOpcodeInTheList 65062 
    126 #define AdvancedOptionsUnit_strAddressAlreadyInTheList 65063 
    127 #define AdvancedOptionsUnit_strCECode 65064 
    128 #define AdvancedOptionsUnit_strNameCECode 65065 
    129 #define AdvancedOptionsUnit_strChangeOf 65066 
    130 #define AdvancedOptionsUnit_strCode 65067 
    131 #define AdvancedOptionsUnit_strFindWhatCodeaccesses 65068 
    132 #define AdvancedOptionsUnit_strFindWhatCodeReads 65069 
    133 #define AdvancedOptionsUnit_strFindWhatCodeWrites 65070 
    134 #define AdvancedOptionsUnit_strcouldntrestorecode 65071 
     125#define AdvancedOptionsUnit_strCECode 65063 
     126#define AdvancedOptionsUnit_strNameCECode 65064 
     127#define AdvancedOptionsUnit_strChangeOf 65065 
     128#define AdvancedOptionsUnit_strCode 65066 
     129#define AdvancedOptionsUnit_strFindWhatCodeaccesses 65067 
     130#define AdvancedOptionsUnit_strFindWhatCodeReads 65068 
     131#define AdvancedOptionsUnit_strFindWhatCodeWrites 65069 
     132#define AdvancedOptionsUnit_strcouldntrestorecode 65070 
     133#define AdvancedOptionsUnit_strnotthesame 65071 
    135134#define SynEditStrConst_SYNS_AttrOctal 65072 
    136135#define SynEditStrConst_SYNS_AttrPreprocessor 65073 
     
    181180#define XMLConst_SNodeReadOnly 65118 
    182181#define XMLConst_SNoRefresh 65119 
    183 #define JclResources_RsIntelCacheDescrF0 65120 
    184 #define JclResources_RsIntelCacheDescrF1 65121 
    185 #define JclResources_RsUnknownAMDModel 65122 
    186 #define ComConst_SOleError 65123 
    187 #define ComConst_SNoMethod 65124 
    188 #define ComConst_SVarNotObject 65125 
    189 #define ComConst_STooManyParams 65126 
     182#define JclResources_RsIntelCacheDescrB0 65120 
     183#define JclResources_RsIntelCacheDescrB1 65121 
     184#define JclResources_RsIntelCacheDescrB3 65122 
     185#define JclResources_RsIntelCacheDescrB4 65123 
     186#define JclResources_RsIntelCacheDescrF0 65124 
     187#define JclResources_RsIntelCacheDescrF1 65125 
     188#define JclResources_RsUnknownAMDModel 65126 
    190189#define JConsts_sChangeJPGSize 65127 
    191190#define JConsts_sJPEGError 65128 
     
    197196#define KIcon_SIconGDIError 65134 
    198197#define KIcon_SIconResizingError 65135 
    199 #define JclResources_RsIntelCacheDescr79 65136 
    200 #define JclResources_RsIntelCacheDescr7A 65137 
    201 #define JclResources_RsIntelCacheDescr7B 65138 
    202 #define JclResources_RsIntelCacheDescr7C 65139 
    203 #define JclResources_RsIntelCacheDescr7D 65140 
    204 #define JclResources_RsIntelCacheDescr7F 65141 
    205 #define JclResources_RsIntelCacheDescr82 65142 
    206 #define JclResources_RsIntelCacheDescr83 65143 
    207 #define JclResources_RsIntelCacheDescr84 65144 
    208 #define JclResources_RsIntelCacheDescr85 65145 
    209 #define JclResources_RsIntelCacheDescr86 65146 
    210 #define JclResources_RsIntelCacheDescr87 65147 
    211 #define JclResources_RsIntelCacheDescrB0 65148 
    212 #define JclResources_RsIntelCacheDescrB1 65149 
    213 #define JclResources_RsIntelCacheDescrB3 65150 
    214 #define JclResources_RsIntelCacheDescrB4 65151 
    215 #define JclResources_RsIntelCacheDescr50 65152 
    216 #define JclResources_RsIntelCacheDescr51 65153 
    217 #define JclResources_RsIntelCacheDescr52 65154 
    218 #define JclResources_RsIntelCacheDescr56 65155 
    219 #define JclResources_RsIntelCacheDescr57 65156 
    220 #define JclResources_RsIntelCacheDescr5B 65157 
    221 #define JclResources_RsIntelCacheDescr5C 65158 
    222 #define JclResources_RsIntelCacheDescr5D 65159 
    223 #define JclResources_RsIntelCacheDescr60 65160 
    224 #define JclResources_RsIntelCacheDescr66 65161 
    225 #define JclResources_RsIntelCacheDescr67 65162 
    226 #define JclResources_RsIntelCacheDescr68 65163 
    227 #define JclResources_RsIntelCacheDescr70 65164 
    228 #define JclResources_RsIntelCacheDescr71 65165 
    229 #define JclResources_RsIntelCacheDescr72 65166 
    230 #define JclResources_RsIntelCacheDescr78 65167 
    231 #define JclResources_RsIntelCacheDescr2C 65168 
    232 #define JclResources_RsIntelCacheDescr30 65169 
    233 #define JclResources_RsIntelCacheDescr40 65170 
    234 #define JclResources_RsIntelCacheDescr41 65171 
    235 #define JclResources_RsIntelCacheDescr42 65172 
    236 #define JclResources_RsIntelCacheDescr43 65173 
    237 #define JclResources_RsIntelCacheDescr44 65174 
    238 #define JclResources_RsIntelCacheDescr45 65175 
    239 #define JclResources_RsIntelCacheDescr46 65176 
    240 #define JclResources_RsIntelCacheDescr47 65177 
    241 #define JclResources_RsIntelCacheDescr48 65178 
    242 #define JclResources_RsIntelCacheDescr49 65179 
    243 #define JclResources_RsIntelCacheDescr4A 65180 
    244 #define JclResources_RsIntelCacheDescr4B 65181 
    245 #define JclResources_RsIntelCacheDescr4D 65182 
    246 #define JclResources_RsIntelCacheDescr4E 65183 
    247 #define JclResources_RsHKDDShort 65184 
    248 #define JclResources_RsIntelCacheDescr00 65185 
    249 #define JclResources_RsIntelCacheDescr01 65186 
    250 #define JclResources_RsIntelCacheDescr02 65187 
    251 #define JclResources_RsIntelCacheDescr03 65188 
    252 #define JclResources_RsIntelCacheDescr04 65189 
    253 #define JclResources_RsIntelCacheDescr05 65190 
    254 #define JclResources_RsIntelCacheDescr06 65191 
    255 #define JclResources_RsIntelCacheDescr08 65192 
    256 #define JclResources_RsIntelCacheDescr0A 65193 
    257 #define JclResources_RsIntelCacheDescr0B 65194 
    258 #define JclResources_RsIntelCacheDescr0C 65195 
    259 #define JclResources_RsIntelCacheDescr22 65196 
    260 #define JclResources_RsIntelCacheDescr23 65197 
    261 #define JclResources_RsIntelCacheDescr25 65198 
    262 #define JclResources_RsIntelCacheDescr29 65199 
    263 #define JclResources_RsCreateCompatibleDc 65200 
    264 #define JclResources_RsDibHandleAllocation 65201 
    265 #define JclResources_RsSelectObjectInDc 65202 
    266 #define JclResources_RsHKCRLong 65203 
    267 #define JclResources_RsHKCULong 65204 
    268 #define JclResources_RsHKLMLong 65205 
    269 #define JclResources_RsHKUSLong 65206 
    270 #define JclResources_RsHKPDLong 65207 
    271 #define JclResources_RsHKCCLong 65208 
    272 #define JclResources_RsHKDDLong 65209 
    273 #define JclResources_RsHKCRShort 65210 
    274 #define JclResources_RsHKCUShort 65211 
    275 #define JclResources_RsHKLMShort 65212 
    276 #define JclResources_RsHKUSShort 65213 
    277 #define JclResources_RsHKPDShort 65214 
    278 #define JclResources_RsHKCCShort 65215 
     198#define JclResources_RsIntelCacheDescr70 65136 
     199#define JclResources_RsIntelCacheDescr71 65137 
     200#define JclResources_RsIntelCacheDescr72 65138 
     201#define JclResources_RsIntelCacheDescr78 65139 
     202#define JclResources_RsIntelCacheDescr79 65140 
     203#define JclResources_RsIntelCacheDescr7A 65141 
     204#define JclResources_RsIntelCacheDescr7B 65142 
     205#define JclResources_RsIntelCacheDescr7C 65143 
     206#define JclResources_RsIntelCacheDescr7D 65144 
     207#define JclResources_RsIntelCacheDescr7F 65145 
     208#define JclResources_RsIntelCacheDescr82 65146 
     209#define JclResources_RsIntelCacheDescr83 65147 
     210#define JclResources_RsIntelCacheDescr84 65148 
     211#define JclResources_RsIntelCacheDescr85 65149 
     212#define JclResources_RsIntelCacheDescr86 65150 
     213#define JclResources_RsIntelCacheDescr87 65151 
     214#define JclResources_RsIntelCacheDescr4A 65152 
     215#define JclResources_RsIntelCacheDescr4B 65153 
     216#define JclResources_RsIntelCacheDescr4D 65154 
     217#define JclResources_RsIntelCacheDescr4E 65155 
     218#define JclResources_RsIntelCacheDescr50 65156 
     219#define JclResources_RsIntelCacheDescr51 65157 
     220#define JclResources_RsIntelCacheDescr52 65158 
     221#define JclResources_RsIntelCacheDescr56 65159 
     222#define JclResources_RsIntelCacheDescr57 65160 
     223#define JclResources_RsIntelCacheDescr5B 65161 
     224#define JclResources_RsIntelCacheDescr5C 65162 
     225#define JclResources_RsIntelCacheDescr5D 65163 
     226#define JclResources_RsIntelCacheDescr60 65164 
     227#define JclResources_RsIntelCacheDescr66 65165 
     228#define JclResources_RsIntelCacheDescr67 65166 
     229#define JclResources_RsIntelCacheDescr68 65167 
     230#define JclResources_RsIntelCacheDescr22 65168 
     231#define JclResources_RsIntelCacheDescr23 65169 
     232#define JclResources_RsIntelCacheDescr25 65170 
     233#define JclResources_RsIntelCacheDescr29 65171 
     234#define JclResources_RsIntelCacheDescr2C 65172 
     235#define JclResources_RsIntelCacheDescr30 65173 
     236#define JclResources_RsIntelCacheDescr40 65174 
     237#define JclResources_RsIntelCacheDescr41 65175 
     238#define JclResources_RsIntelCacheDescr42 65176 
     239#define JclResources_RsIntelCacheDescr43 65177 
     240#define JclResources_RsIntelCacheDescr44 65178 
     241#define JclResources_RsIntelCacheDescr45 65179 
     242#define JclResources_RsIntelCacheDescr46 65180 
     243#define JclResources_RsIntelCacheDescr47 65181 
     244#define JclResources_RsIntelCacheDescr48 65182 
     245#define JclResources_RsIntelCacheDescr49 65183 
     246#define JclResources_RsHKLMShort 65184 
     247#define JclResources_RsHKUSShort 65185 
     248#define JclResources_RsHKPDShort 65186 
     249#define JclResources_RsHKCCShort 65187 
     250#define JclResources_RsHKDDShort 65188 
     251#define JclResources_RsIntelCacheDescr00 65189 
     252#define JclResources_RsIntelCacheDescr01 65190 
     253#define JclResources_RsIntelCacheDescr02 65191 
     254#define JclResources_RsIntelCacheDescr03 65192 
     255#define JclResources_RsIntelCacheDescr04 65193 
     256#define JclResources_RsIntelCacheDescr05 65194 
     257#define JclResources_RsIntelCacheDescr06 65195 
     258#define JclResources_RsIntelCacheDescr08 65196 
     259#define JclResources_RsIntelCacheDescr0A 65197 
     260#define JclResources_RsIntelCacheDescr0B 65198 
     261#define JclResources_RsIntelCacheDescr0C 65199 
     262#define ComConst_SVarNotObject 65200 
     263#define ComConst_STooManyParams 65201 
     264#define PEInfoFunctions_strInvalidFile 65202 
     265#define JclResources_RsAssertUnpairedEndUpdate 65203 
     266#define JclResources_RsCreateCompatibleDc 65204 
     267#define JclResources_RsDibHandleAllocation 65205 
     268#define JclResources_RsSelectObjectInDc 65206 
     269#define JclResources_RsHKCRLong 65207 
     270#define JclResources_RsHKCULong 65208 
     271#define JclResources_RsHKLMLong 65209 
     272#define JclResources_RsHKUSLong 65210 
     273#define JclResources_RsHKPDLong 65211 
     274#define JclResources_RsHKCCLong 65212 
     275#define JclResources_RsHKDDLong 65213 
     276#define JclResources_RsHKCRShort 65214 
     277#define JclResources_RsHKCUShort 65215 
    279278#define ExtCtrls_clNameWindowText 65216 
    280279#define ComStrs_sTabFailClear 65217 
     
    291290#define ComStrs_sInvalidComCtl32 65228 
    292291#define WinHelpViewer_hNoKeyword 65229 
    293 #define PEInfoFunctions_strInvalidFile 65230 
    294 #define JclResources_RsAssertUnpairedEndUpdate 65231 
     292#define ComConst_SOleError 65230 
     293#define ComConst_SNoMethod 65231 
    295294#define ExtCtrls_clNameGrayText 65232 
    296295#define ExtCtrls_clNameHighlight 65233 
     
    599598STRINGTABLE 
    600599BEGIN 
    601         MainUnit_strhappybirthday,      "Let's sing Happy Birthday for Dark Byte today!" 
    602600        MainUnit_strXMess,      "Merry christmas and happy new year" 
    603601        MainUnit_strNewyear,    "And what are your good intentions for this year? ;-)" 
     
    611609        MainUnit_strUnknownExtension,   "Unknown extension" 
    612610        MainUnit_strCustomScanConfig,   "Custom scan config" 
    613         MainUnit_strDeleteAddress,      "Delete this address" 
    614611        MainUnit_strRecalculateAddress, "Recalculate address" 
    615612        MainUnit_strRecalculateSelectedAddresses,       "Recalculate selected addresses" 
     
    627624        MainUnit_strUnHideForeground,   "will bring the foreground window back" 
    628625        MainUnit_strUnhideAll,  "will bring all windows back" 
    629         MainUnit_strDelete1Group,       "Also delete the group this address is a member of?" 
     626        MainUnit_strhappybirthday,      "Let's sing Happy Birthday for Dark Byte today!" 
    630627        MainUnit_strDeleteMoreGroups,   "Also delete the groups of the addresses you selected?" 
    631628        MainUnit_strSelectedAddressIsAPointer,  "The selected address is a pointer. Are you sure? (the base pointer will get the address)" 
     
    643640        MainUnit_strUnfreezeAllAddresses,       "Unfreeze all addresses in this list" 
    644641        MainUnit_strUnfreezeAddressInList,      "Unfreeze the address in this list" 
    645         MainUnit_strFirstSelectAProcess,        "First select a process" 
     642        MainUnit_strDeleteAddress,      "Delete this address" 
    646643        MainUnit_strCantdoNextScan,     "You can't do a Next Scan with the current selected way of scanning!" 
    647644        MainUnit_strClickToGoHome,      "Click here to go to the Cheat Engine homepage" 
     
    659656        MainUnit_strDelete1Address,     "Delete this address?" 
    660657        MainUnit_strDeleteMultipleAddresses,    "Delete these addresses?" 
    661         MainUnit_strOpcodeChanged,      "The following opcodes changed the selected address" 
     658        MainUnit_strDelete1Group,       "Also delete the group this address is a member of?" 
    662659        MainUnit_strAllowNegative,      "Allow negative changes" 
    663660        MainUnit_strAllowPositive,      "Allow positive changes" 
     
    675672        MainUnit_strPhysicalMemory,     "Physical Memory" 
    676673        MainUnit_strfillInSomething,    "Please fill in something!" 
    677         MainUnit2_strexactvalue,        "Exact Value" 
     674        MainUnit_strFirstSelectAProcess,        "First select a process" 
    678675        MainUnit2_strbiggerThan,        "Bigger than..." 
    679676        MainUnit2_strSmallerThan,       "Smaller than..." 
     
    691688        MainUnit_strWindowFailedToHide, "A window failed to hide" 
    692689        MainUnit_strAccessed,   "The following opcodes accessed the selected address" 
    693         AdvancedOptionsUnit_strnotthesame,      "The memory at this address isn't what it should be! Continue?" 
     690        MainUnit_strOpcodeChanged,      "The following opcodes changed the selected address" 
    694691        AdvancedOptionsUnit_strcouldntwrite,    "The memory at this address couldn't be written" 
    695692        AdvancedOptionsUnit_StrSelectExeFor3D,  "Select the executable of the Direct-3D game" 
     
    707704        MainUnit2_strNeedNewerWindowsVersion,   "This function only works in Windows 2000+ (perhaps also NT but not tested)" 
    708705        MainUnit2_strexact,     "Exact" 
     706        MainUnit2_strexactvalue,        "Exact Value" 
    709707        frmFindstaticsUnit_strStop,     "Stop" 
    710708        frmFindstaticsUnit_strStopping, "Stopping..." 
     
    714712        AdvancedOptionsUnit_stralreadyinthelist,        "This byte is already part of another opcode already present in the list" 
    715713        AdvancedOptionsUnit_strPartOfOpcodeInTheList,   "At least one of these bytes is already in the list" 
    716         AdvancedOptionsUnit_strAddressAlreadyInTheList, "This address is already in the list" 
    717714        AdvancedOptionsUnit_strCECode,  "Cheat Engine code:" 
    718715        AdvancedOptionsUnit_strNameCECode,      "What name do you want to give this code?" 
     
    723720        AdvancedOptionsUnit_strFindWhatCodeWrites,      "Find out what addresses this code writes to" 
    724721        AdvancedOptionsUnit_strcouldntrestorecode,      "Error when trying to restore this code!" 
     722        AdvancedOptionsUnit_strnotthesame,      "The memory at this address isn't what it should be! Continue?" 
    725723        SynEditStrConst_SYNS_AttrOctal, "Octal" 
    726724        SynEditStrConst_SYNS_AttrPreprocessor,  "Preprocessor" 
     
    771769        XMLConst_SNodeReadOnly, "Node is readonly" 
    772770        XMLConst_SNoRefresh,    "Refresh is only supported if the FileName or XML properties are set" 
     771        JclResources_RsIntelCacheDescrB0,       "Instruction TLB: 4 KByte pages, 4-way set associative, 128 entries" 
     772        JclResources_RsIntelCacheDescrB1,       "Instruction TLB: 2 MByte pages, 4-way, 8 entries or 4 MByte pages, 4-way, 4 entries" 
     773        JclResources_RsIntelCacheDescrB3,       "Data TLB: 4 KByte pages, 4-way set associative, 128 entries" 
     774        JclResources_RsIntelCacheDescrB4,       "Data TLB1: 4 KByte pages, 4-way set associative, 256 entries" 
    773775        JclResources_RsIntelCacheDescrF0,       "64-Byte Prefetching" 
    774776        JclResources_RsIntelCacheDescrF1,       "128-Byte Prefetching" 
    775777        JclResources_RsUnknownAMDModel, "Unknown AMD (Model %d)" 
    776         ComConst_SOleError,     "OLE error %.8x" 
    777         ComConst_SNoMethod,     "Method '%s' not supported by automation object" 
    778         ComConst_SVarNotObject, "Variant does not reference an automation object" 
    779         ComConst_STooManyParams,        "Dispatch methods do not support more than 64 parameters" 
    780778        JConsts_sChangeJPGSize, "Cannot change the size of a JPEG image" 
    781779        JConsts_sJPEGError,     "JPEG error #%d" 
     
    787785        KIcon_SIconGDIError,    "GDI object could not be created" 
    788786        KIcon_SIconResizingError,       "Error while resizing icon" 
     787        JclResources_RsIntelCacheDescr70,       "Trace cache: 12 K-Ops, 8-way set associative" 
     788        JclResources_RsIntelCacheDescr71,       "Trace cache: 16 K-Ops, 8-way set associative" 
     789        JclResources_RsIntelCacheDescr72,       "Trace cache: 32 K-Ops, 8-way set associative" 
     790        JclResources_RsIntelCacheDescr78,       "2nd-level cache: 1 MBytes, 4-way set associative, 64 bytes line size" 
    789791        JclResources_RsIntelCacheDescr79,       "2nd-level cache: 128 KBytes, 8-way set associative, 64 bytes line size, 2 lines per sector" 
    790792        JclResources_RsIntelCacheDescr7A,       "2nd-level cache: 256 KBytes, 8-way set associative, 64 bytes line size, 2 lines per sector" 
     
    799801        JclResources_RsIntelCacheDescr86,       "2nd-level cache: 512 KByte, 4-way set associative, 64 byte line size" 
    800802        JclResources_RsIntelCacheDescr87,       "2nd-level cache: 1 MByte, 8-way set associative, 64 byte line size" 
    801         JclResources_RsIntelCacheDescrB0,       "Instruction TLB: 4 KByte pages, 4-way set associative, 128 entries" 
    802         JclResources_RsIntelCacheDescrB1,       "Instruction TLB: 2 MByte pages, 4-way, 8 entries or 4 MByte pages, 4-way, 4 entries" 
    803         JclResources_RsIntelCacheDescrB3,       "Data TLB: 4 KByte pages, 4-way set associative, 128 entries" 
    804         JclResources_RsIntelCacheDescrB4,       "Data TLB1: 4 KByte pages, 4-way set associative, 256 entries" 
     803        JclResources_RsIntelCacheDescr4A,       "3rd-level cache: 6MByte, 12-way set associative, 64 byte line size" 
     804        JclResources_RsIntelCacheDescr4B,       "3rd-level cache: 8MByte, 16-way set associative, 64 byte line size" 
     805        JclResources_RsIntelCacheDescr4D,       "3rd-level cache: 16MByte, 16-way set associative, 64 byte line size" 
     806        JclResources_RsIntelCacheDescr4E,       "2nd-level cache: 6MByte, 24-way set associative, 64 byte line size" 
    805807        JclResources_RsIntelCacheDescr50,       "Instruction TLB: 4 KByte and 2 MByte or 4 MByte pages, 64 Entries" 
    806808        JclResources_RsIntelCacheDescr51,       "Instruction TLB: 4 KByte and 2 MByte or 4 MByte pages, 128 Entries" 
     
    815817        JclResources_RsIntelCacheDescr67,       "1st-level data cache: 16 KBytes, 4-way set associative, 64 byte line size" 
    816818        JclResources_RsIntelCacheDescr68,       "1st-level data cache: 32 KBytes, 4-way set associative, 64 byte line size" 
    817         JclResources_RsIntelCacheDescr70,       "Trace cache: 12 K-Ops, 8-way set associative" 
    818         JclResources_RsIntelCacheDescr71,       "Trace cache: 16 K-Ops, 8-way set associative" 
    819         JclResources_RsIntelCacheDescr72,       "Trace cache: 32 K-Ops, 8-way set associative" 
    820         JclResources_RsIntelCacheDescr78,       "2nd-level cache: 1 MBytes, 4-way set associative, 64 bytes line size" 
     819        JclResources_RsIntelCacheDescr22,       "3rd level cache: 512 KBytes, 4-way set associative, 64 byte line size, 2 lines per sector" 
     820        JclResources_RsIntelCacheDescr23,       "3rd level cache: 1 MBytes, 8-way set associative, 64 byte line size, 2 lines per sector" 
     821        JclResources_RsIntelCacheDescr25,       "3rd level cache: 2 MBytes, 8-way set associative, 64 byte line size, 2 lines per sector" 
     822        JclResources_RsIntelCacheDescr29,       "3rd level cache: 4 MBytes, 8-way set associative, 64 byte line size, 2 lines per sector" 
    821823        JclResources_RsIntelCacheDescr2C,       "1st level data cache: 32 KBytes, 8-way set associative, 64 byte line size" 
    822824        JclResources_RsIntelCacheDescr30,       "1st level instruction cache: 32 KBytes, 8-way set associative, 64 byte line size" 
     
    831833        JclResources_RsIntelCacheDescr48,       "3rd-level cache: 8 MByte, 8-way set associative, 64 byte line size" 
    832834        JclResources_RsIntelCacheDescr49,       "2nd-level cache: 4 MBytes, 16-way set associative, 64 byte line size" 
    833         JclResources_RsIntelCacheDescr4A,       "3rd-level cache: 6MByte, 12-way set associative, 64 byte line size" 
    834         JclResources_RsIntelCacheDescr4B,       "3rd-level cache: 8MByte, 16-way set associative, 64 byte line size" 
    835         JclResources_RsIntelCacheDescr4D,       "3rd-level cache: 16MByte, 16-way set associative, 64 byte line size" 
    836         JclResources_RsIntelCacheDescr4E,       "2nd-level cache: 6MByte, 24-way set associative, 64 byte line size" 
     835        JclResources_RsHKLMShort,       "HKLM" 
     836        JclResources_RsHKUSShort,       "HKUS" 
     837        JclResources_RsHKPDShort,       "HKPD" 
     838        JclResources_RsHKCCShort,       "HKCC" 
    837839        JclResources_RsHKDDShort,       "HKDD" 
    838840        JclResources_RsIntelCacheDescr00,       "Null descriptor" 
     
    847849        JclResources_RsIntelCacheDescr0B,       "Instruction TLB: 4 MByte pages, 4-way set associative, 4 entries" 
    848850        JclResources_RsIntelCacheDescr0C,       "1st level data cache: 16 KBytes, 4-way set associative, 32 byte line size" 
    849         JclResources_RsIntelCacheDescr22,       "3rd level cache: 512 KBytes, 4-way set associative, 64 byte line size, 2 lines per sector" 
    850         JclResources_RsIntelCacheDescr23,       "3rd level cache: 1 MBytes, 8-way set associative, 64 byte line size, 2 lines per sector" 
    851         JclResources_RsIntelCacheDescr25,       "3rd level cache: 2 MBytes, 8-way set associative, 64 byte line size, 2 lines per sector" 
    852         JclResources_RsIntelCacheDescr29,       "3rd level cache: 4 MBytes, 8-way set associative, 64 byte line size, 2 lines per sector" 
     851        ComConst_SVarNotObject, "Variant does not reference an automation object" 
     852        ComConst_STooManyParams,        "Dispatch methods do not support more than 64 parameters" 
     853        PEInfoFunctions_strInvalidFile, "Invalid file" 
     854        JclResources_RsAssertUnpairedEndUpdate, "Unpaired BeginUpdate EndUpdate" 
    853855        JclResources_RsCreateCompatibleDc,      "Could not create compatible DC" 
    854856        JclResources_RsDibHandleAllocation,     "Could not allocate handle for DIB" 
     
    863865        JclResources_RsHKCRShort,       "HKCR" 
    864866        JclResources_RsHKCUShort,       "HKCU" 
    865         JclResources_RsHKLMShort,       "HKLM" 
    866         JclResources_RsHKUSShort,       "HKUS" 
    867         JclResources_RsHKPDShort,       "HKPD" 
    868         JclResources_RsHKCCShort,       "HKCC" 
    869867        ExtCtrls_clNameWindowText,      "Window Text" 
    870868        ComStrs_sTabFailClear,  "Failed to clear tab control" 
     
    881879        ComStrs_sInvalidComCtl32,       "This control requires version 4.70 or greater of COMCTL32.DLL" 
    882880        WinHelpViewer_hNoKeyword,       "No help keyword specified." 
    883         PEInfoFunctions_strInvalidFile, "Invalid file" 
    884         JclResources_RsAssertUnpairedEndUpdate, "Unpaired BeginUpdate EndUpdate" 
     881        ComConst_SOleError,     "OLE error %.8x" 
     882        ComConst_SNoMethod,     "Method '%s' not supported by automation object" 
    885883        ExtCtrls_clNameGrayText,        "Gray Text" 
    886884        ExtCtrls_clNameHighlight,       "Highlight Background" 
  • Cheat Engine/disassembler.pas

    r305 r306  
    36733673                          description:='Unpack Low Packed Data'; 
    36743674                          tempresult:=tempresult+'PUNPCKLBW '+xmm(memory[2])+','+modrm(memory,prefix2,2,4,last); 
     3675                          tempresult:=copy(tempresult,1,length(tempresult)-1); 
    36753676                          inc(offset,last-1); 
    36763677                        end 
     
    36793680                          description:='Unpack Low Packed Data'; 
    36803681                          tempresult:=tempresult+'PUNPCKLBW '+mm(memory[2])+','+modrm(memory,prefix2,2,3,last); 
     3682                          tempresult:=copy(tempresult,1,length(tempresult)-1); 
    36813683                          inc(offset,last-1); 
    36823684                        end; 
     
    36883690                          description:='Unpack Low Packed Data'; 
    36893691                          tempresult:=tempresult+'PUNPCKLWD '+xmm(memory[2])+','+modrm(memory,prefix2,2,4,last); 
     3692                          tempresult:=copy(tempresult,1,length(tempresult)-1); 
    36903693                          inc(offset,last-1); 
    36913694                        end 
     
    36943697                          description:='Unpack Low Packed Data'; 
    36953698                          tempresult:=tempresult+'PUNPCKLWD '+mm(memory[2])+','+modrm(memory,prefix2,2,3,last); 
     3699                          tempresult:=copy(tempresult,1,length(tempresult)-1); 
    36963700                          inc(offset,last-1); 
    36973701                        end; 
     
    37033707                          description:='Unpack Low Packed Data'; 
    37043708                          tempresult:=tempresult+'PUNPCKLDQ '+xmm(memory[2])+','+modrm(memory,prefix2,2,4,last); 
     3709                          tempresult:=copy(tempresult,1,length(tempresult)-1); 
    37053710                          inc(offset,last-1); 
    37063711                        end 
     
    37093714                          description:='Unpack Low Packed Data'; 
    37103715                          tempresult:=tempresult+'PUNPCKLDQ '+mm(memory[2])+','+modrm(memory,prefix2,2,3,last); 
     3716                          tempresult:=copy(tempresult,1,length(tempresult)-1); 
    37113717                          inc(offset,last-1); 
    37123718                        end; 
  • Cheat Engine/formMemoryTrainerAddEntry.pas

    r279 r306  
    7474 
    7575procedure TFrmMemoryTrainerAddEntry.FormCreate(Sender: TObject); 
    76 begin 
    77   listbox1.Items:=advancedoptions.codelist.Items; 
     76var i: integer; 
     77begin 
     78  listbox1.Items.Clear; 
     79  for i:=0 to advancedoptions.codelist2.Items.Count-1 do 
     80    listbox1.Items.Add(advancedoptions.codelist2.Items[i].SubItems[0]); 
    7881end; 
    7982 
  • Cheat Engine/formPatcherMaker.dfm

    r7 r306  
    88  Font.Charset = DEFAULT_CHARSET 
    99  Font.Color = clWindowText 
    10   Font.Height = -11 
     10  Font.Height = -14 
    1111  Font.Name = 'MS Sans Serif' 
    1212  Font.Style = [] 
     
    1515  OnClose = FormClose 
    1616  OnShow = FormShow 
    17   PixelsPerInch = 96 
    18   TextHeight = 13 
     17  PixelsPerInch = 120 
     18  TextHeight = 16 
    1919  object Label1: TLabel 
    2020    Left = 0 
    2121    Top = 0 
    22     Width = 273 
    23     Height = 13 
     22    Width = 339 
     23    Height = 16 
    2424    Caption = 'Select the code entries you want to remove from the file(s)' 
    2525  end 
    2626  object PatchCodeList: TListBox 
    2727    Left = 1 
    28     Top = 16 
    29     Width = 273 
    30     Height = 137 
    31     ItemHeight = 13 
     28    Top = 20 
     29    Width = 336 
     30    Height = 168 
     31    ItemHeight = 16 
    3232    MultiSelect = True 
    3333    TabOrder = 0 
    3434  end 
    3535  object Button1: TButton 
    36     Left = 56 
    37     Top = 160 
    38     Width = 75 
    39     Height = 25 
     36    Left = 69 
     37    Top = 197 
     38    Width = 92 
     39    Height = 31 
    4040    Caption = 'OK' 
    4141    Default = True 
     
    4444  end 
    4545  object Button3: TButton 
    46     Left = 144 
    47     Top = 160 
    48     Width = 75 
    49     Height = 25 
     46    Left = 177 
     47    Top = 197 
     48    Width = 93 
     49    Height = 31 
    5050    Cancel = True 
    5151    Caption = 'Cancel' 
  • Cheat Engine/formPatcherMaker.pas

    r7 r306  
    4646var i: integer; 
    4747begin 
    48   patchcodelist.Items:=advancedoptions.codelist.items; 
     48  patchcodelist.Items.Clear; 
     49  for i:=0 to advancedoptions.codelist2.items.Count-1 do 
     50    patchcodelist.Items.Add(advancedoptions.codelist2.items[i].subitems[0]); 
    4951end; 
    5052 
  • Cheat Engine/formsettingsunit.dfm

    r305 r306  
    5959      Width = 617 
    6060      Height = 505 
    61       ActivePage = CodeFinder 
     61      ActivePage = GeneralSettings 
    6262      Align = alClient 
    6363      Style = tsFlatButtons 
     
    354354          Height = 21 
    355355          Caption = 'Pointer adding: Append pointerline instead of insert' 
     356          Checked = True 
     357          State = cbChecked 
    356358          TabOrder = 18 
    357359        end 
     
    743745          Left = 0 
    744746          Top = 155 
    745           Width = 609 
     747          Width = 595 
    746748          Height = 32 
    747749          Caption =  
     
    882884          Left = 0 
    883885          Top = 455 
    884           Width = 609 
     886          Width = 424 
    885887          Height = 16 
    886888          Align = alBottom 
  • Cheat Engine/frmFindCodeInFileUnit.dfm

    r7 r306  
    55  BorderStyle = bsDialog 
    66  Caption = 'Found offsets' 
    7   ClientHeight = 282 
    8   ClientWidth = 279 
     7  ClientHeight = 347 
     8  ClientWidth = 343 
    99  Color = clBtnFace 
    1010  Font.Charset = DEFAULT_CHARSET 
    1111  Font.Color = clWindowText 
    12   Font.Height = -11 
     12  Font.Height = -14 
    1313  Font.Name = 'MS Sans Serif' 
    1414  Font.Style = [] 
     
    1919  OnShow = FormShow 
    2020  DesignSize = ( 
    21     279 
    22     282) 
    23   PixelsPerInch = 96 
    24   TextHeight = 13 
     21    343 
     22    347) 
     23  PixelsPerInch = 120 
     24  TextHeight = 16 
    2525  object Label1: TLabel 
    2626    Left = 0 
    27     Top = 204 
    28     Width = 36 
    29     Height = 13 
     27    Top = 251 
     28    Width = 46 
     29    Height = 16 
    3030    Anchors = [akLeft, akBottom] 
    3131    Caption = 'Legend' 
     
    3333  object Label2: TLabel 
    3434    Left = 0 
    35     Top = 220 
    36     Width = 215 
    37     Height = 13 
     35    Top = 271 
     36    Width = 273 
     37    Height = 16 
    3838    Hint = 'Recommended (I am almost sure this is what you need)' 
    3939    Anchors = [akLeft, akBottom] 
     
    4141    Font.Charset = DEFAULT_CHARSET 
    4242    Font.Color = clBlack 
    43     Font.Height = -11 
     43    Font.Height = -15 
    4444    Font.Name = 'MS Sans Serif' 
    4545    Font.Style = [] 
     
    5050  object Label3: TLabel 
    5151    Left = 0 
    52     Top = 236 
    53     Width = 213 
    54     Height = 13 
     52    Top = 290 
     53    Width = 268 
     54    Height = 16 
    5555    Hint = 'Recommended (if you needed to nop a opcode near this one)' 
    5656    Anchors = [akLeft, akBottom] 
     
    5858    Font.Charset = DEFAULT_CHARSET 
    5959    Font.Color = clWindowText 
    60     Font.Height = -11 
     60    Font.Height = -15 
    6161    Font.Name = 'MS Sans Serif' 
    6262    Font.Style = [] 
     
    6767  object Label4: TLabel 
    6868    Left = 0 
    69     Top = 252 
    70     Width = 227 
    71     Height = 13 
     69    Top = 310 
     70    Width = 284 
     71    Height = 16 
    7272    Hint =  
    7373      'Not really recommended. (The bytes before this opcode, or the by' + 
     
    7878    Font.Charset = DEFAULT_CHARSET 
    7979    Font.Color = clWindowText 
    80     Font.Height = -11 
     80    Font.Height = -15 
    8181    Font.Name = 'MS Sans Serif' 
    8282    Font.Style = [] 
     
    8787  object Label5: TLabel 
    8888    Left = 0 
    89     Top = 268 
    90     Width = 238 
    91     Height = 13 
     89    Top = 330 
     90    Width = 298 
     91    Height = 16 
    9292    Hint =  
    9393      'Not Recommended!! (The bytes arround the opcode dont even look t' + 
     
    9797    Font.Charset = DEFAULT_CHARSET 
    9898    Font.Color = clWindowText 
    99     Font.Height = -11 
     99    Font.Height = -15 
    100100    Font.Name = 'MS Sans Serif' 
    101101    Font.Style = [] 
     
    107107    Left = 0 
    108108    Top = 0 
    109     Width = 276 
    110     Height = 13 
     109    Width = 343 
     110    Height = 16 
    111111    Caption = 'Select the addresses you want to patch and click Replace' 
    112112  end 
    113113  object FoundList: TListBox 
    114114    Left = 0 
    115     Top = 16 
    116     Width = 185 
    117     Height = 189 
     115    Top = 20 
     116    Width = 228 
     117    Height = 232 
    118118    Anchors = [akLeft, akTop, akBottom] 
    119     ItemHeight = 13 
     119    ItemHeight = 16 
    120120    MultiSelect = True 
    121121    ParentShowHint = False 
     
    126126  end 
    127127  object Button2: TButton 
    128     Left = 192 
    129     Top = 88 
    130     Width = 81 
    131     Height = 25 
     128    Left = 236 
     129    Top = 108 
     130    Width = 100 
     131    Height = 31 
    132132    Cancel = True 
    133133    Caption = 'OK' 
     
    136136  end 
    137137  object btnReplace: TButton 
    138     Left = 192 
    139     Top = 16 
    140     Width = 81 
    141     Height = 25 
     138    Left = 236 
     139    Top = 20 
     140    Width = 100 
     141    Height = 30 
    142142    Hint =  
    143143      'This will replace the selected addresses with code that does not' + 
  • Cheat Engine/frmFindCodeInFileUnit.pas

    r7 r306  
    9191          a:=StrToInt(temp); 
    9292          inc(mempointer,a); 
    93           for j:=0 to length(code[codelist.itemindex].actualopcode)-1 do 
     93          for j:=0 to length(code[codelist2.itemindex].actualopcode)-1 do 
    9494          begin 
    9595            mempointer^:=$90; 
     
    135135 
    136136 
    137     indeX:=codelist.itemindex; 
     137    indeX:=codelist2.itemindex; 
    138138    setlength(searchstring,length(code[index].before)+length(code[index].actualopcode)+length(code[index].after)); 
    139139    j:=0; 
  • Cheat Engine/frmFloatingPointPanelUnit.dfm

    r305 r306  
    11object frmFloatingPointPanel: TfrmFloatingPointPanel 
    2   Left = 1355 
    3   Top = 168 
    4   Width = 312 
    5   Height = 416 
     2  Left = 1313 
     3  Top = 239 
     4  Width = 353 
     5  Height = 322 
    66  BorderStyle = bsSizeToolWin 
    77  Caption = 'FPU' 
     
    1313  Font.Style = [] 
    1414  OldCreateOrder = False 
     15  OnCreate = FormCreate 
    1516  OnShow = FormShow 
    1617  PixelsPerInch = 120 
     
    1920    Left = 0 
    2021    Top = 0 
    21     Width = 294 
    22     Height = 371 
    23     ActivePage = TabSheet2 
     22    Width = 335 
     23    Height = 277 
     24    ActivePage = TabSheet1 
    2425    Align = alClient 
    2526    TabOrder = 0 
     
    2930        Left = 0 
    3031        Top = 139 
    31         Width = 286 
    32         Height = 201 
     32        Width = 327 
     33        Height = 107 
    3334        Align = alClient 
    3435        BevelOuter = bvNone 
     
    3839        Left = 0 
    3940        Top = 0 
    40         Width = 286 
     41        Width = 327 
    4142        Height = 139 
    4243        Align = alTop 
     
    131132        Left = 0 
    132133        Top = 0 
    133         Width = 286 
     134        Width = 327 
    134135        Height = 57 
    135136        Align = alTop 
     
    175176        Left = 0 
    176177        Top = 57 
    177         Width = 286 
    178         Height = 283 
     178        Width = 327 
     179        Height = 189 
    179180        Align = alClient 
    180181        Font.Charset = ANSI_CHARSET 
  • Cheat Engine/frmFloatingPointPanelUnit.pas

    r305 r306  
    3535    procedure Label4Click(Sender: TObject); 
    3636    procedure Label6DblClick(Sender: TObject); 
     37    procedure FormCreate(Sender: TObject); 
    3738  private 
    3839    { Private declarations } 
     
    7475    e: extended; 
    7576    str: string; 
     77    tempstr: string; 
    7678begin 
    7779  if context=nil then exit; 
     
    120122            2:  memo1.Lines.Add(inttohex(context.ext.FPURegisters[i].Data.MMRegister.dwords[0],8)+' - '+inttohex(context.ext.FPURegisters[i].Data.MMRegister.dwords[1],8)); //4byte 
    121123            3:  memo1.Lines.Add(inttohex(context.ext.FPURegisters[i].Data.MMRegister.qwords,16)); //8 byte 
    122             4:  memo1.Lines.Add(floattostr(context.ext.FPURegisters[i].Data.MMRegister.Singles[0])+' - '+floattostr(context.ext.FPURegisters[i].Data.MMRegister.Singles[1])); //2 singles 
    123             5:  memo1.Lines.Add(floattostr(context.ext.FPURegisters[i].Data.MMRegister.Doubles)); //double 
    124             6:  memo1.Lines.Add(floattostr(context.ext.FPURegisters[i].Data.FloatValue)); //extended 
     124            4:  memo1.Lines.Add(format('%f', [context.ext.FPURegisters[i].Data.MMRegister.Singles[0]]) +' - '+format('%f', [context.ext.FPURegisters[i].Data.MMRegister.Singles[1]])); //2 singles 
     125            5:  memo1.Lines.Add(format('%f', [context.ext.FPURegisters[i].Data.MMRegister.Doubles])); //double 
     126            6:  memo1.Lines.Add(format('%f', [context.ext.FPURegisters[i].Data.FloatValue])); //extended 
    125127          end; 
    126128 
     
    151153              end; 
    152154 
    153               memo1.Lines.Add(str); 
     155              memo1.Lines.Add('xmm'+inttostr(i)+':'+str); 
    154156            end; 
    155157 
     
    164166              end; 
    165167 
    166               memo1.Lines.Add(str); 
     168              memo1.Lines.Add('xmm'+inttostr(i)+':'+str); 
    167169            end; 
    168170 
     
    177179              end; 
    178180 
    179               memo1.Lines.Add(str); 
     181              memo1.Lines.Add('xmm'+inttostr(i)+':'+str); 
    180182            end; 
    181183 
     
    183185            begin 
    184186              str:=''; 
     187              for j:=0 to 1 do 
     188              begin 
     189                str:=str+inttohex(context.ext.XMMRegisters.LegacyXMM[i].qwords[j],16); 
     190                if j<1 then 
     191                  str:=str+' - '; 
     192              end; 
     193 
     194              memo1.Lines.Add('xmm'+inttostr(i)+':'+str); 
     195            end; 
     196 
     197            4: 
     198            begin 
     199              str:=''; 
    185200              for j:=0 to 3 do 
    186201              begin 
    187                 str:=str+inttohex(context.ext.XMMRegisters.LegacyXMM[i].qwords[j],16); 
     202                str:=str+format('%f',[context.ext.XMMRegisters.LegacyXMM[i].singles[j]]); 
    188203                if j<3 then 
    189204                  str:=str+' - '; 
    190205              end; 
    191206 
    192               memo1.Lines.Add(str); 
    193             end; 
    194  
    195             4: 
    196             begin 
    197               str:=''; 
    198               for j:=0 to 3 do 
    199               begin 
    200                 str:=str+floattostr(context.ext.XMMRegisters.LegacyXMM[i].singles[j]); 
    201                 if j<3 then 
    202                   str:=str+' - '; 
    203               end; 
    204  
    205               memo1.Lines.Add(str); 
     207              memo1.Lines.Add('xmm'+inttostr(i)+':'+str); 
    206208            end; 
    207209 
     
    211213              for j:=0 to 1 do 
    212214              begin 
    213                 str:=str+floattostr(context.ext.XMMRegisters.LegacyXMM[i].doubles[j]); 
     215                str:=str+format('%f',[context.ext.XMMRegisters.LegacyXMM[i].doubles[j]]); 
    214216                if j<1 then 
    215217                  str:=str+' - '; 
    216218              end; 
    217219 
    218               memo1.Lines.Add(str); 
     220              memo1.Lines.Add('xmm'+inttostr(i)+':'+str); 
    219221            end; 
    220222          end; 
     
    406408end; 
    407409 
     410procedure TfrmFloatingPointPanel.FormCreate(Sender: TObject); 
     411begin 
     412  PageControl1.ActivePageIndex:=0; 
     413end; 
     414 
    408415end. 
  • Cheat Engine/memscan.pas

    r299 r306  
    99 
    1010uses windows,sysutils, classes,ComCtrls,dialogs, cefuncproc, 
    11      newkernelhandler, math, SyncObjs 
     11     newkernelhandler, math, SyncObjs, windows7taskbar 
    1212{$ifndef standalonetrainerwithassemblerandaobscanner} 
    1313     ,SaveFirstScan, firstscanhandler, autoassembler, symbolhandler 
     
    27792779  //runs in mainthread 
    27802780  if OwningMemScan.progressbar<>nil then 
     2781  begin 
    27812782    OwningMemScan.progressbar.Position:=OwningMemScan.GetProgress(totaladdressestoscan,currentlyscanned); 
     2783    SetProgressValue(OwningMemScan.progressbar.Position, OwningMemScan.progressbar.Max); 
     2784  end; 
    27822785end; 
    27832786 
     
    38263829constructor TScanController.create(suspended: boolean); 
    38273830begin 
     3831  SetProgressstate(tbpsNormal); 
     3832   
    38283833  isdoneevent:=TEvent.create(nil,true,false,''); 
    38293834  scannersCS:=TCriticalSection.Create;