--version 1.05
local colorTable = {-1,0x008000,0xff8000,0x95004a,0x0000ff,0x0080c0,0x8000ff,0x0000a0}
local usedColors = {}
for pid,wndCaption in pairs(getWindowlist()) do
for i=1,#wndCaption do
if wndCaption[i]:match('Cheat Engine %d+%.[%.%d]+.*#%d+') then
local colorID = tonumber(wndCaption[i]:match('#(%d+)')) or 'ignore'
usedColors[colorID]=true
break
end
end
end
if (usedColors[1]==true) then
local color
local colorID=2
for i=2,#colorTable do --find unused color
if not usedColors[i] then color = colorTable[i]; colorID=i; break; end
end
local function allowedTForms(formClassName)
local someTForms = {
['TAbout']=1,
['TChangeOffset']=1,
['TFindDialogForm']=1,
['TFindWindow']=1,
['TFormDesigner']=1,
['TFormMemoryRegions']=1,
['TFoundCodeDialog']=1,
['TFrmMemoryRecordDropdownSettings']=1,
['THotKeyForm']=1,
['TInputboxTop']=1,
['TMemoryBrowser']=1,
['TObjectInspectorDlg']=1,
['TProcessWindow']=1,
['TReplaceDialogForm']=1,
['TformAddressChange']=1,
['TfrmAAEditPrefs']=1,
['TfrmAccessedMemory']=1,
['TfrmAssemblyScan']=1,
['TfrmAutoInject']=1,
['TfrmBreakpointlist']=1,
['TfrmChangedAddresses']=1,
['TfrmCodeFilter']=1,
['TfrmCodecaveScanner']=1,
['TfrmDissectCode']=1,
['TfrmEnumerateDLLs']=1,
['TfrmFillMemory']=1,
['TfrmFindStatics']=1,
['TfrmLuaEngine']=1,
['TfrmMemoryAllocHandler']=1,
['TfrmMemoryViewEx']=1,
['TfrmMemviewPreferences']=1,
['TfrmPEInfo']=1,
['TfrmPointerScannerSettings']=1,
['TfrmReferencedFunctions']=1,
['TfrmReferencedStrings']=1,
['TfrmRescanPointer']=1,
['TfrmSetupPSNNode']=1,
['TfrmStacktrace']=1,
['TfrmStringMap']=1,
['TfrmStringPointerScan']=1,
['TfrmStructureCompare']=1,
['TfrmStructures2']=1,
['TfrmStructuresConfig']=1,
['TfrmThreadlist']=1,
['TfrmTrainerGenerator']=1,
['TfrmUltimap']=1,
['TfrmUltimap2']=1,
['TfrmWatchlist']=1,
['TfrmdissectWindow']=1,
['Tfrmpointerscanner']=1,
}
return someTForms[formClassName]~=nil
end
local function addNicePanels(form)
local canvas
local Panel1 = createPanel(form)
Panel1.Visible = false
--Panel1.Top = form.Height - 2
--Panel1.Left = 0
--Panel1.Height = 2
--Panel1.Width = form.Width
Panel1.Align = alBottom
Panel1.Constraints.MinHeight = 2
Panel1.Constraints.MaxHeight = 2
Panel1.Anchors = '[akBottom, akLeft, akRight]'
Panel1.bringToFront()
Panel1.Caption = ''
Panel1.Color = color
Panel1.BevelOuter = 0
--MainForm.Splitter1.Color = color
addNicePanels(MainForm)
addNicePanels(MainForm.frmAutoInject)
addNicePanels(getMemoryViewForm())
addNicePanels(getSettingsForm())
addNicePanels(getLuaEngine())
for i=0,getFormCount()-1 do
local formClassName = getForm(i).ClassName
if formClassName=='TAdvancedOptions' or formClassName=='TComments' or formClassName=='TTypeForm' then
addNicePanels(getForm(i))
end
end
local ap=getApplication()
ap.Title = ap.Title..' #'..colorID
registerFormAddNotification(function (form)
--print(form.className)
if not allowedTForms(form.className) then return end
local t=createTimer()
t.Interval = 1
t.OnTimer = function (timer)
timer.destroy()
addNicePanels(form)
end
end)
else
local ap=getApplication()
ap.Title = ap.Title..' #1'
end