From 8df2313b4df5a2a81bc9859bc6abbf215666bab5 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Wed, 2 Dec 2009 18:40:03 +0100 Subject: [PATCH] - Fixed TfrmLogin to create the profile path if it doesn't exist - Removed old code from TfrmMain.Render - Bumped version to 0.4.5 - Moved TVirtualTile to UWorldItem - Added TVirtualTile handling to CompareWorldItems - Added priorities to the virtual tiles --- Client/CentrED.lpi | 8 +- Client/CentrED.rc | 8 +- Client/UfrmLogin.lfm | 1097 +++++++++++++++++++++--------------------- Client/UfrmLogin.pas | 1 + Client/UfrmMain.lfm | 135 +++--- Client/UfrmMain.pas | 169 +------ UOLib/UWorldItem.pas | 6 + version.inc | 4 +- 8 files changed, 627 insertions(+), 801 deletions(-) diff --git a/Client/CentrED.lpi b/Client/CentrED.lpi index 083d925..ad7ee4d 100644 --- a/Client/CentrED.lpi +++ b/Client/CentrED.lpi @@ -16,9 +16,9 @@ - + - + @@ -282,6 +282,7 @@ + @@ -289,8 +290,7 @@ - + diff --git a/Client/CentrED.rc b/Client/CentrED.rc index 15000b9..57d0359 100644 --- a/Client/CentrED.rc +++ b/Client/CentrED.rc @@ -1,6 +1,6 @@ 1 VERSIONINFO -FILEVERSION 0,4,2,141 -PRODUCTVERSION 0,4,2,85 +FILEVERSION 0,4,5,141 +PRODUCTVERSION 0,4,5,141 { BLOCK "StringFileInfo" { @@ -9,13 +9,13 @@ PRODUCTVERSION 0,4,2,85 VALUE "Comments", "\000" VALUE "CompanyName", "AKS DataBasis\000" VALUE "FileDescription", "UO CentrED\000" - VALUE "FileVersion", "0.4.2.141\000" + VALUE "FileVersion", "0.4.5.141\000" VALUE "InternalName", "\000" VALUE "LegalCopyright", "Andreas Schneider\000" VALUE "LegalTrademarks", "\000" VALUE "OriginalFilename", "CentrED.exe\000" VALUE "ProductName", "CentrED\000" - VALUE "ProductVersion", "0.4.2.85\000" + VALUE "ProductVersion", "0.4.5.141\000" } } BLOCK "VarFileInfo" diff --git a/Client/UfrmLogin.lfm b/Client/UfrmLogin.lfm index c84ee9e..2f83edf 100644 --- a/Client/UfrmLogin.lfm +++ b/Client/UfrmLogin.lfm @@ -1,556 +1,541 @@ -object frmLogin: TfrmLogin - Left = 290 - Height = 265 - Top = 171 - Width = 489 - ActiveControl = edHost - BorderIcons = [biSystemMenu] - BorderStyle = bsDialog - Caption = 'UO CentrED' - ClientHeight = 265 - ClientWidth = 489 - Font.Height = -11 - OnClose = FormClose - OnCreate = FormCreate - Position = poScreenCenter - ShowInTaskBar = stAlways - LCLVersion = '0.9.25' - object lblCopyright: TLabel - Height = 26 - Top = 239 - Width = 489 - Align = alBottom - Alignment = taCenter - ParentColor = False - ParentFont = True - end - object gbConnection: TGroupBox - Left = 8 - Height = 128 - Top = 8 - Width = 321 - Caption = 'Connection' - ClientHeight = 113 - ClientWidth = 317 - ParentFont = True - TabOrder = 0 - object lblHost: TLabel - Left = 30 - Height = 14 - Top = 9 - Width = 28 - Caption = 'Host:' - ParentColor = False - ParentFont = True - end - object lblUsername: TLabel - Left = 30 - Height = 14 - Top = 43 - Width = 58 - Caption = 'Username:' - ParentColor = False - ParentFont = True - end - object lblPassword: TLabel - Left = 30 - Height = 14 - Top = 77 - Width = 54 - Caption = 'Password:' - ParentColor = False - ParentFont = True - end - object imgHost: TImage - Left = 6 - Height = 16 - Top = 9 - Width = 16 - AutoSize = True - Picture.Data = { - 07545069786D61702E0A00002F2A2058504D202A2F0A73746174696320636861 - 72202A64756D6D795B5D3D7B0A223136203136203132342032222C0A22517420 - 63204E6F6E65222C0A22236E20632023333739343337222C0A22236D20632023 - 343261313362222C0A22236620632023353661393530222C0A22233520632023 - 363036303630222C0A22233420632023363336333633222C0A22235920632023 - 363436343634222C0A22233320632023363736373637222C0A22235420632023 - 363836383638222C0A22233220632023366236623662222C0A22234920632023 - 366436643664222C0A22233120632023373037303730222C0A22237920632023 - 373337333733222C0A22233020632023373437343734222C0A22237020632023 - 373837383738222C0A22235A20632023373937393739222C0A22236820632023 - 376537653765222C0A22232E20632023383438343834222C0A222E3020632023 - 386138613861222C0A222E3220632023386238623862222C0A222E5A20632023 - 386438643864222C0A222E5920632023386638663866222C0A222E5420632023 - 393139313931222C0A222E4720632023393139313932222C0A222E4620632023 - 393339333934222C0A222E4520632023393539353936222C0A222E4420632023 - 393739373938222C0A222E4920632023393839383938222C0A22234A20632023 - 396239623962222C0A222E7A20632023396539653965222C0A22237A20632023 - 613261326132222C0A22235520632023613361336133222C0A22236520632023 - 613463386130222C0A222E7020632023613561356135222C0A22237120632023 - 613861386138222C0A222E6720632023616261626162222C0A22235220632023 - 616561666237222C0A22235120632023616562316239222C0A22236920632023 - 616661666166222C0A22234720632023616662316239222C0A222E6620632023 - 623062306230222C0A22235020632023623062316239222C0A22234620632023 - 623162326261222C0A22237720632023623162336262222C0A22234520632023 - 623262346262222C0A22234B20632023623362336233222C0A22237620632023 - 623362346262222C0A22234F20632023623362356264222C0A22234420632023 - 623462356263222C0A22237520632023623462366264222C0A22232320632023 - 623562356235222C0A22234320632023623562366265222C0A222E6520632023 - 623662366236222C0A22237420632023623662376265222C0A22236C20632023 - 623662386265222C0A22237320632023623762396330222C0A222E3820632023 - 623862396330222C0A22236420632023623962616331222C0A222E3720632023 - 623962626331222C0A22236320632023626162626332222C0A222E6420632023 - 626262626262222C0A222E3620632023626262636333222C0A222E5220632023 - 626262646333222C0A222E3520632023626362656334222C0A22234E20632023 - 626462666335222C0A222E5120632023626562666335222C0A222E3420632023 - 626562666336222C0A222E5020632023626663316336222C0A222E6320632023 - 633063306330222C0A222E5820632023633063316337222C0A222E7820632023 - 633163316337222C0A222E4F20632023633163326338222C0A222E7720632023 - 633163336338222C0A222E4E20632023633263336338222C0A222E7620632023 - 633363346361222C0A222E6220632023633463346334222C0A22235620632023 - 633463356336222C0A222E4320632023633463366362222C0A222E7520632023 - 633563366362222C0A222E4A20632023633663366336222C0A222E6120632023 - 633963396339222C0A222E7420632023633963616366222C0A222E7120632023 - 636263626362222C0A222E6820632023636363636363222C0A222E2320632023 - 636463646364222C0A22235320632023636463656433222C0A22234820632023 - 636563666434222C0A22237820632023636664306434222C0A22236F20632023 - 643064316436222C0A22236720632023643164336437222C0A22234220632023 - 643264326434222C0A222E3920632023643364336437222C0A22237220632023 - 643364346435222C0A22235720632023643364346439222C0A22234C20632023 - 643464346434222C0A222E3120632023643464356439222C0A22236B20632023 - 643564356437222C0A222E5320632023643564366461222C0A222E4820632023 - 643664376462222C0A22236220632023643864386439222C0A222E7920632023 - 643864396463222C0A222E3320632023643964396461222C0A222E6E20632023 - 646264626465222C0A222E6D20632023646264636466222C0A222E6920632023 - 646364636463222C0A222E5720632023646364636464222C0A222E6C20632023 - 646364636466222C0A222E6B20632023646364656531222C0A222E4D20632023 - 646464646464222C0A22236120632023646564656465222C0A222E7220632023 - 646664666466222C0A22234D20632023646664666531222C0A222E5620632023 - 653065306530222C0A222E4C20632023653165316531222C0A222E4220632023 - 653165316532222C0A222E6A20632023653365336536222C0A22235820632023 - 653565356538222C0A222E4120632023653965396539222C0A222E7320632023 - 656165616561222C0A22236A20632023656265626562222C0A222E5520632023 - 656365636563222C0A222E6F20632023656365636565222C0A222E4B20632023 - 656665666566222C0A22234120632023663066306630222C0A22517451745174 - 5174517451745174517451745174517451745174517451745174222C0A225174 - 51745174517451742E232E612E622E632E642E652E662E67517451745174222C - 0A2251745174517451742E682E692E6A2E6B2E6C2E6D2E6E2E6F2E7051745174 - 5174222C0A225174517451742E712E722E732E742E752E762E772E782E792E7A - 517451745174222C0A22517451742E712E412E412E422E432E442E452E462E47 - 2E482E49517451745174222C0A22517451742E4A2E4B2E4C2E4D2E4E2E4F2E50 - 2E512E522E532E54517451745174222C0A22517451742E632E552E562E572E58 - 2E472E592E5A2E302E312E32517451745174222C0A22517451742E642E552E72 - 2E332E342E352E362E372E382E39232E517451745174222C0A22517451742323 - 2E55236123622E52236323642365236623672368517451745174222C0A225174 - 51742369236A2E4D236B2E372E38236C236D236E236F2370517451745174222C - 0A225174517423712E732E4D2372237323742375237623772378237951745174 - 5174222C0A2251745174237A23412E5623422343234423452346234723482349 - 517451745174222C0A2251745174234A234B234C234D234E234F235023512352 - 23532354517451745174222C0A2251745174517451742E302355235623572348 - 2353235323582359517451745174222C0A22517451745174517451745174235A - 233023312332233323342335517451745174222C0A2251745174517451745174 - 51745174517451745174517451745174517451745174227D3B0A - } - Transparent = True - end - object imgUsername: TImage - Left = 6 - Height = 16 - Top = 43 - Width = 16 - AutoSize = True - Picture.Data = { - 07545069786D61702E0A00002F2A2058504D202A2F0A73746174696320636861 - 72202A64756D6D795B5D3D7B0A223136203136203132342032222C0A22517420 - 63204E6F6E65222C0A222E3220632023316334366265222C0A222E5820632023 - 316334386263222C0A22233420632023316633643966222C0A22235A20632023 - 316634306130222C0A22236120632023316634396335222C0A222E3320632023 - 316634636334222C0A22235920632023323035306233222C0A22233320632023 - 323134316137222C0A22233220632023323234346162222C0A22233020632023 - 323234356161222C0A22233120632023323234366163222C0A22235520632023 - 323434396231222C0A22233520632023323434666232222C0A222E5120632023 - 323533633661222C0A222E5720632023326433653638222C0A22235220632023 - 333536306266222C0A22236D20632023343235303838222C0A22237820632023 - 343338646666222C0A22236220632023343435343861222C0A22234D20632023 - 346135656134222C0A222E6B20632023346232653133222C0A22237720632023 - 346539376665222C0A22234B20632023353039666666222C0A22234920632023 - 353339636665222C0A22237620632023353339656664222C0A22236A20632023 - 353461306664222C0A22234A20632023353561336666222C0A22234820632023 - 353761326665222C0A22234420632023353836363966222C0A22237520632023 - 353961356665222C0A22236920632023353961386665222C0A22234720632023 - 356161386665222C0A222E6420632023356233333135222C0A22234620632023 - 356261636666222C0A222E7320632023356333333066222C0A22237420632023 - 356461636665222C0A22236820632023356562316665222C0A222E3920632023 - 356662366666222C0A22237120632023363062376666222C0A22235120632023 - 363136313836222C0A22237320632023363162326665222C0A22235320632023 - 363162396665222C0A22235420632023363262396665222C0A22237220632023 - 363362366666222C0A222E3820632023363363306666222C0A22236720632023 - 363462396665222C0A222E4120632023363633623131222C0A22236620632023 - 363862666665222C0A222E3720632023363963396666222C0A222E7A20632023 - 366234353232222C0A22235620632023366436343761222C0A22236520632023 - 366463376665222C0A222E7820632023366534303135222C0A222E6A20632023 - 373133653065222C0A222E7920632023373234343139222C0A222E3620632023 - 373264346666222C0A222E7220632023373534313132222C0A22234C20632023 - 373861656638222C0A22236B20632023376162376666222C0A222E6320632023 - 376434323131222C0A22236C20632023383061396665222C0A22232E20632023 - 383063316666222C0A22237920632023383238666263222C0A22234520632023 - 383462626635222C0A222E7120632023383534633135222C0A222E7420632023 - 383733653063222C0A222E6920632023383734613066222C0A222E6F20632023 - 383734623066222C0A222E7020632023383734623131222C0A222E6220632023 - 386134383066222C0A222E6E20632023386134613066222C0A222E2320632023 - 386434383132222C0A222E6120632023393034623130222C0A222E4A20632023 - 393235623261222C0A222E6820632023393335333131222C0A22237020632023 - 393439656233222C0A222E6520632023393634653131222C0A222E6C20632023 - 393734623066222C0A22236420632023393864316666222C0A222E6720632023 - 393935383132222C0A222E5020632023396136323264222C0A222E6620632023 - 396235383132222C0A222E4220632023396235653166222C0A222E6D20632023 - 396635383132222C0A222E3520632023613465346666222C0A222E4920632023 - 613736383233222C0A222E5220632023613736643334222C0A222E3020632023 - 613837623464222C0A222E5A20632023613937623465222C0A22236320632023 - 616263386663222C0A222E5620632023616537343334222C0A222E7520632023 - 623839373763222C0A222E3120632023633364366633222C0A22232320632023 - 633664376636222C0A22234120632023633737343239222C0A222E7720632023 - 633839633731222C0A22234F20632023636137373261222C0A22235020632023 - 636437393235222C0A22236E20632023636537633238222C0A22235720632023 - 636537653265222C0A22234220632023643137643239222C0A222E4620632023 - 643161393766222C0A22235820632023643361323664222C0A222E5920632023 - 643465326634222C0A222E3420632023643665346636222C0A222E4720632023 - 646662353839222C0A222E7620632023653462373861222C0A222E4520632023 - 653562623865222C0A22236F20632023656162333738222C0A222E4C20632023 - 656163636162222C0A22237A20632023656462383765222C0A22234320632023 - 656562613832222C0A222E4B20632023656563616136222C0A222E4F20632023 - 656563646137222C0A222E4820632023656564666364222C0A22234E20632023 - 656662633833222C0A222E4420632023663163353937222C0A222E5520632023 - 663663666135222C0A222E4D20632023663664306137222C0A222E4E20632023 - 663664306138222C0A222E5420632023663764346166222C0A222E4320632023 - 663765386439222C0A222E5320632023663863633963222C0A22517451745174 - 5174517451745174517451745174517451745174517451745174222C0A225174 - 517451745174517451742E232E612E622E632E6451745174517451745174222C - 0A22517451745174517451742E652E662E672E682E692E6A2E6B517451745174 - 5174222C0A2251745174517451742E6C2E6D2E6E2E6F2E702E712E722E735174 - 517451745174222C0A2251745174517451742E742E752E762E772E782E792E7A - 2E415174517451745174222C0A2251745174517451742E422E432E442E452E46 - 2E472E482E495174517451745174222C0A2251745174517451742E4A2E4B2E4C - 2E4D2E4E2E4C2E4F2E505174517451745174222C0A2251745174517451742E51 - 2E522E532E542E542E552E562E575174517451745174222C0A22517451745174 - 51742E582E592E5A2E302E302E5A2E312E325174517451745174222C0A225174 - 517451742E332E342E352E362E372E382E39232E23232361517451745174222C - 0A225174517423622363236423652366236723682369236A236B236C236D5174 - 5174222C0A225174236E236F2370237123722373237423752376237723782379 - 237A23415174222C0A22517423422343234423452346234723482349234A234B - 234C234D234E234F5174222C0A22517451742350235123522353235423542354 - 2353235323552356235723585174222C0A2251745174517451742359235A2330 - 233123322333233423355174517451745174222C0A2251745174517451745174 - 51745174517451745174517451745174517451745174227D3B0A - } - Transparent = True - end - object imgPassword: TImage - Left = 6 - Height = 16 - Top = 77 - Width = 16 - AutoSize = True - Picture.Data = { - 07545069786D6170DE0800002F2A2058504D202A2F0A73746174696320636861 - 72202A64756D6D795B5D3D7B0A223136203136203130332032222C0A22517420 - 63204E6F6E65222C0A22236F20632023623238383338222C0A22237620632023 - 623538623339222C0A22234220632023623738643339222C0A22236420632023 - 623838333333222C0A222E4E20632023626138363334222C0A22234820632023 - 626139303361222C0A222E5820632023626238383335222C0A222E3820632023 - 626638623335222C0A22236720632023633138653336222C0A22234B20632023 - 633239353362222C0A22234120632023633838383331222C0A222E6B20632023 - 633839353339222C0A22234720632023633938613332222C0A22236320632023 - 636138613332222C0A22237520632023636138623332222C0A22236E20632023 - 636238623332222C0A22234A20632023636339303333222C0A22234920632023 - 643139363336222C0A222E4420632023643637633239222C0A22236520632023 - 643637643239222C0A222E4D20632023643637663239222C0A222E5720632023 - 643738313262222C0A222E3720632023643738323262222C0A22236620632023 - 643838353263222C0A222E7720632023646139303330222C0A222E7120632023 - 646439383332222C0A222E6A20632023646661313339222C0A222E6620632023 - 646661623432222C0A22234320632023653161633432222C0A222E3420632023 - 653361393365222C0A222E6F20632023653361633432222C0A222E2320632023 - 653362303434222C0A222E4F20632023653362323435222C0A222E4520632023 - 656163343666222C0A222E5020632023656163353736222C0A22237220632023 - 656563353238222C0A22236B20632023656563383238222C0A22232320632023 - 656663393262222C0A222E5620632023656663393332222C0A222E4B20632023 - 656663643334222C0A222E4220632023663063653338222C0A222E3120632023 - 663064323238222C0A22237120632023663164313339222C0A222E4720632023 - 663164313364222C0A22237820632023663164363433222C0A222E5520632023 - 663263653363222C0A222E5220632023663264363339222C0A222E4120632023 - 663264363437222C0A22236120632023663364363364222C0A222E4A20632023 - 663364373530222C0A22232E20632023663364383465222C0A222E7420632023 - 663364613862222C0A22236C20632023663464373431222C0A22236A20632023 - 663464383433222C0A222E3220632023663564343337222C0A22237920632023 - 663564623438222C0A222E5320632023663564623464222C0A222E4820632023 - 663564623564222C0A222E7520632023663564643439222C0A22237A20632023 - 663565313832222C0A22237320632023663664633465222C0A222E4920632023 - 663664663639222C0A222E3320632023663665303833222C0A22234520632023 - 663665313766222C0A222E3020632023663665343762222C0A22236220632023 - 663765313861222C0A22237420632023663765323835222C0A22236D20632023 - 663765323839222C0A222E5420632023663765343635222C0A222E6C20632023 - 663765343765222C0A222E4620632023663765353830222C0A222E7220632023 - 663765353831222C0A222E7A20632023663765353832222C0A22234620632023 - 663765363966222C0A22234420632023663765626334222C0A222E7920632023 - 663865373839222C0A222E6720632023663865373864222C0A222E6D20632023 - 663865393934222C0A222E6E20632023663865396263222C0A222E3920632023 - 663965616162222C0A222E6320632023663965623965222C0A222E6820632023 - 663965636131222C0A222E5120632023666165656163222C0A22236920632023 - 666165656230222C0A22237020632023666165666262222C0A222E4C20632023 - 666265663835222C0A222E5A20632023666266316262222C0A222E7320632023 - 666266316263222C0A222E6420632023666266326265222C0A22237720632023 - 666266346336222C0A222E3520632023666366336130222C0A222E3620632023 - 666366356139222C0A222E4320632023666366356165222C0A222E6220632023 - 666366356365222C0A222E7820632023666366376435222C0A222E6120632023 - 666366386465222C0A222E7620632023666466386331222C0A222E7020632023 - 666566636565222C0A22236820632023666566636630222C0A222E5920632023 - 666566636631222C0A222E6520632023666666666665222C0A222E6920632023 - 666666666666222C0A22517451745174517451745174517451742E232E232E23 - 2E235174517451745174222C0A2251745174517451745174517451742E232E23 - 2E612E612E232E23517451745174222C0A225174517451745174517451742E23 - 2E232E622E632E642E652E232E6651745174222C0A2251745174517451745174 - 2E232E232E622E672E682E232E232E692E6A2E6B5174222C0A22517451745174 - 517451742E232E612E672E6C2E6D2E6E2E232E6F2E702E712E6B222C0A225174 - 51745174517451742E232E642E6C2E6C2E722E6D2E732E742E752E762E77222C - 0A22517451745174517451742E232E782E792E6C2E6C2E6C2E7A2E412E422E43 - 2E44222C0A22517451745174517451742E232E452E462E472E482E492E4A2E4B - 2E4C2E4D2E4E222C0A22517451742E232E232E4F2E502E512E522E532E542E55 - 2E562E4C2E572E585174222C0A22517451742E232E592E5A2E302E312E322E33 - 2E342E352E362E372E3851745174222C0A222E232E232E232E39232E23232361 - 236223632364236523662367517451745174222C0A222E2323682369236A236B - 236C236D236E236F5174517451745174517451745174222C0A222E2323702371 - 2372237323742375237651745174517451745174517451745174222C0A222E23 - 237723782379237A23412342517451745174517451745174517451745174222C - 0A22234323442345234623472348517451745174517451745174517451745174 - 5174222C0A2251742349234A236E234B51745174517451745174517451745174 - 517451745174227D3B0A - } - Transparent = True - end - object edHost: TEdit - Left = 101 - Height = 23 - Top = 5 - Width = 137 - ParentFont = True - TabOrder = 0 - Text = 'localhost' - end - object edUsername: TEdit - Left = 101 - Height = 23 - Top = 39 - Width = 201 - ParentFont = True - TabOrder = 2 - end - object edPassword: TEdit - Left = 101 - Height = 23 - Top = 73 - Width = 201 - EchoMode = emPassword - ParentFont = True - PasswordChar = '*' - TabOrder = 3 - end - object edPort: TSpinEdit - Left = 246 - Height = 23 - Top = 5 - Width = 56 - MaxValue = 65565 - MinValue = 1024 - ParentFont = True - TabOrder = 1 - Value = 2597 - end - end - object gbActions: TGroupBox - Left = 336 - Height = 96 - Top = 8 - Width = 145 - ClientHeight = 79 - ClientWidth = 141 - ParentFont = True - TabOrder = 2 - object btnOK: TButton - Left = 6 - Height = 25 - Top = 5 - Width = 128 - BorderSpacing.InnerBorder = 4 - Caption = '&OK' - Default = True - OnClick = btnOKClick - ParentFont = True - TabOrder = 0 - end - object btnCancel: TButton - Left = 6 - Height = 25 - Top = 39 - Width = 128 - BorderSpacing.InnerBorder = 4 - Caption = '&Cancel' - ModalResult = 2 - OnClick = btnCancelClick - ParentFont = True - TabOrder = 1 - end - end - object gbData: TGroupBox - Left = 8 - Height = 97 - Top = 144 - Width = 321 - Caption = 'Data files' - ClientHeight = 80 - ClientWidth = 317 - ParentFont = True - TabOrder = 1 - object lblData: TLabel - Left = 7 - Height = 32 - Top = 8 - Width = 304 - AutoSize = False - Caption = 'Select the directory containing art.mul, artidx.mul, hues.mul, tiledata.mul, texmaps.mul and texidx.mul.' - ParentColor = False - ParentFont = True - WordWrap = True - end - object edData: TDirectoryEdit - Left = 7 - Height = 23 - Top = 48 - Width = 280 - ButtonWidth = 23 - NumGlyphs = 1 - ParentColor = False - ParentFont = True - TabOrder = 0 - end - end - object GroupBox1: TGroupBox - Left = 336 - Height = 88 - Top = 112 - Width = 145 - Caption = 'Profiles' - ClientHeight = 73 - ClientWidth = 141 - ParentFont = True - TabOrder = 3 - object btnSaveProfile: TSpeedButton - Left = 86 - Height = 22 - Hint = 'Save profile' - Top = 40 - Width = 23 - Color = clBtnFace - Glyph.Data = { - 36040000424D3604000000000000360000002800000010000000100000000100 - 2000000000000004000064000000640000000000000000000000BA6A36FFB969 - 35FFB86935FFB76835FFB56835FFB46734FFB26634FFB06533FFAE6433FFAC63 - 32FFAA6232FFA96132FFA86031FFA76031FFA66031FFA86131FFBA6A35FFEBC6 - ADFFEAC5ADFFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFB - F8FFFEFBF8FFFEFBF8FFFEFBF8FFC89A7CFFC79879FFA76031FFBA6B37FFEDCA - B3FFE0A27AFFFEFAF7FF62C088FF62C088FF62C088FF62C088FF62C088FF62C0 - 88FF62C088FF62C088FFFDF9F6FFCA8D65FFC99B7CFFA76031FFBB6C38FFEECC - B6FFE1A27AFFFEFAF7FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDC - C2FFBFDCC2FFBFDCC2FFFDF9F6FFCD9068FFCC9E81FFA86132FFBB6B38FFEFCE - B8FFE1A279FFFEFAF7FF62C088FF62C088FF62C088FF62C088FF62C088FF62C0 - 88FF62C088FF62C088FFFDF9F6FFCF936AFFCEA384FFAA6132FFBA6A36FFEFD0 - BBFFE2A27AFFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFB - F8FFFEFBF8FFFEFBF8FFFEFBF8FFD3966DFFD2A78AFFAB6232FFBB6A36FFF0D2 - BEFFE2A37AFFE2A37AFFE1A37AFFE2A37BFFE1A37BFFE0A178FFDE9F77FFDD9F - 76FFDC9D74FFD99B72FFD89971FFD69970FFD5AB8EFFAD6333FFBB6A36FFF2D5 - C2FFE3A37AFFE3A37AFFE2A37BFFE2A37BFFE2A47BFFE1A279FFE0A178FFDEA0 - 77FFDE9E75FFDC9D74FFDA9B73FFD99B73FFDAB095FFAF6433FFBB6A36FFF2D8 - C5FFE3A47BFFE3A37AFFE3A47AFFE2A47BFFE2A37BFFE1A37BFFE1A279FFDFA0 - 77FFDE9F76FFDD9E74FFDB9C72FFDC9D74FFDDB59AFFB16534FFBB6B36FFF4D9 - C7FFE6A67DFFC88C64FFC98D65FFC98E67FFCB926CFFCB926DFFCA9069FFC88C - 65FFC88C64FFC88C64FFC88C64FFDA9C74FFE1BA9FFFB36634FFBB6B36FFF4DC - C9FFE7A77DFFF9ECE1FFF9ECE1FFF9EDE3FFFCF4EEFFFDFAF7FFFDF7F3FFFAED - E5FFF7E7DBFFF7E5D9FFF6E5D8FFDEA077FFE4BEA4FFB46734FFBC6B36FFF5DD - CCFFE7A87EFFFAF0E8FFFAF0E8FFC98D66FFFAF0E9FFFDF8F3FFFEFAF8FFFCF4 - EFFFF9E9DFFFF7E7DBFFF7E5D9FFE0A278FFE7C2A9FFB66835FFBC6B36FFF6DF - D0FFE8A87EFFFCF6F1FFFCF6F1FFC88C64FFFAF1E9FFFBF4EEFFFDFAF7FFFDF9 - F6FFFAF0E8FFF8E8DDFFF7E6DBFFE1A37AFFEFD5C3FFB76935FFBC6B36FFF6DF - D1FFE9AA80FFFEFAF6FFFDFAF6FFC88C64FFFBF3EEFFFBF1EAFFFCF6F2FFFEFB - F8FFFCF6F1FFF9ECE2FFF8E7DBFFEED0BAFFECD0BDFFBB703EFFBC6B36FFF6E0 - D1FFF7E0D1FFFEFBF8FFFEFBF7FFFDF9F6FFFCF5F0FFFAF0EAFFFBF2EDFFFDF9 - F6FFFDFAF7FFFBF1EBFFF8E9DFFFECD0BDFFC9895EFF0000000000000000BC6B - 36FFBC6B36FFBC6B36FFBC6B36FFBB6B36FFBB6B36FFBB6A36FFBB6A36FFBC6C - 39FFBD6E3BFFBB6D3AFFBB6B38FFBB703EFF0000000000000000 - } - NumGlyphs = 0 - OnClick = btnSaveProfileClick - ShowCaption = False - ShowHint = True - ParentShowHint = False - end - object btnDeleteProfile: TSpeedButton - Left = 111 - Height = 22 - Hint = 'Delete profile' - Top = 40 - Width = 23 - Color = clBtnFace - Glyph.Data = { - 36040000424D3604000000000000360000002800000010000000100000000100 - 2000000000000004000064000000640000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000004F4CF2FF403EEDFF000000000000000000000000000000000000 - 0000000000002422E4FF312FEAFF000000000000000000000000000000000000 - 00005856F5FF6361FAFF5855F6FF413FEDFF0000000000000000000000000000 - 00002C2AE6FF413FF1FF4C4AF6FF312FEAFF0000000000000000000000000000 - 00005B58F6FF6562FAFF7170FFFF5956F6FF4240EEFF00000000000000003532 - E9FF4745F2FF6362FFFF4A48F4FF2F2DE9FF0000000000000000000000000000 - 0000000000005B59F6FF6663FAFF7471FFFF5A58F6FF4341EEFF3E3CECFF504D - F4FF6867FFFF504EF5FF3634EBFF000000000000000000000000000000000000 - 000000000000000000005C5AF6FF6764FAFF7472FFFF7370FFFF706EFFFF6E6C - FFFF5755F7FF3F3DEEFF00000000000000000000000000000000000000000000 - 00000000000000000000000000005D5BF7FF7976FFFF5956FFFF5754FFFF7270 - FFFF4846F0FF0000000000000000000000000000000000000000000000000000 - 00000000000000000000000000005D5AF6FF7D79FFFF5E5BFFFF5B58FFFF7674 - FFFF4643EFFF0000000000000000000000000000000000000000000000000000 - 000000000000000000006663F9FF706DFBFF807EFFFF7E7BFFFF7C79FFFF7977 - FFFF5E5CF7FF4744EFFF00000000000000000000000000000000000000000000 - 0000000000006E6BFCFF7774FDFF8682FFFF7673FCFF6462F8FF605DF7FF6D6A - FAFF7B79FFFF605DF7FF4845EFFF000000000000000000000000000000000000 - 00007471FEFF7D7AFEFF8A87FFFF7C79FDFF6C69FBFF0000000000000000615E - F8FF6E6CFAFF7D7AFFFF615FF7FF4946F0FF0000000000000000000000000000 - 00007A77FFFF817EFFFF817EFEFF7471FDFF0000000000000000000000000000 - 0000625FF8FF6F6DFBFF7E7CFFFF625FF8FF0000000000000000000000000000 - 0000000000007A77FFFF7976FEFF000000000000000000000000000000000000 - 0000000000006461F8FF6A68F9FF5451F3FF0000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000000000000000 - 0000000000000000000000000000000000000000000000000000 - } - NumGlyphs = 0 - OnClick = btnDeleteProfileClick - ShowCaption = False - ShowHint = True - ParentShowHint = False - end - object cbProfile: TComboBox - Left = 6 - Height = 29 - Top = 8 - Width = 128 - AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending] - MaxLength = 0 - OnChange = cbProfileChange - Style = csDropDownList - TabOrder = 0 - end - end -end +object frmLogin: TfrmLogin + Left = 290 + Height = 265 + Top = 171 + Width = 489 + ActiveControl = edHost + BorderIcons = [biSystemMenu] + BorderStyle = bsDialog + Caption = 'UO CentrED' + ClientHeight = 265 + ClientWidth = 489 + Font.Height = -11 + OnClose = FormClose + OnCreate = FormCreate + Position = poScreenCenter + ShowInTaskBar = stAlways + LCLVersion = '0.9.29' + object lblCopyright: TLabel + Left = 0 + Height = 14 + Top = 251 + Width = 489 + Align = alBottom + Alignment = taCenter + ParentColor = False + end + object gbConnection: TGroupBox + Left = 8 + Height = 128 + Top = 8 + Width = 321 + Caption = 'Connection' + ClientHeight = 110 + ClientWidth = 317 + TabOrder = 0 + object lblHost: TLabel + Left = 30 + Height = 14 + Top = 9 + Width = 28 + Caption = 'Host:' + ParentColor = False + end + object lblUsername: TLabel + Left = 30 + Height = 14 + Top = 43 + Width = 55 + Caption = 'Username:' + ParentColor = False + end + object lblPassword: TLabel + Left = 30 + Height = 14 + Top = 77 + Width = 53 + Caption = 'Password:' + ParentColor = False + end + object imgHost: TImage + Left = 6 + Height = 16 + Top = 9 + Width = 16 + AutoSize = True + Picture.Data = { + 07545069786D61702E0A00002F2A2058504D202A2F0A73746174696320636861 + 72202A64756D6D795B5D3D7B0A223136203136203132342032222C0A22517420 + 63204E6F6E65222C0A22236E20632023333739343337222C0A22236D20632023 + 343261313362222C0A22236620632023353661393530222C0A22233520632023 + 363036303630222C0A22233420632023363336333633222C0A22235920632023 + 363436343634222C0A22233320632023363736373637222C0A22235420632023 + 363836383638222C0A22233220632023366236623662222C0A22234920632023 + 366436643664222C0A22233120632023373037303730222C0A22237920632023 + 373337333733222C0A22233020632023373437343734222C0A22237020632023 + 373837383738222C0A22235A20632023373937393739222C0A22236820632023 + 376537653765222C0A22232E20632023383438343834222C0A222E3020632023 + 386138613861222C0A222E3220632023386238623862222C0A222E5A20632023 + 386438643864222C0A222E5920632023386638663866222C0A222E5420632023 + 393139313931222C0A222E4720632023393139313932222C0A222E4620632023 + 393339333934222C0A222E4520632023393539353936222C0A222E4420632023 + 393739373938222C0A222E4920632023393839383938222C0A22234A20632023 + 396239623962222C0A222E7A20632023396539653965222C0A22237A20632023 + 613261326132222C0A22235520632023613361336133222C0A22236520632023 + 613463386130222C0A222E7020632023613561356135222C0A22237120632023 + 613861386138222C0A222E6720632023616261626162222C0A22235220632023 + 616561666237222C0A22235120632023616562316239222C0A22236920632023 + 616661666166222C0A22234720632023616662316239222C0A222E6620632023 + 623062306230222C0A22235020632023623062316239222C0A22234620632023 + 623162326261222C0A22237720632023623162336262222C0A22234520632023 + 623262346262222C0A22234B20632023623362336233222C0A22237620632023 + 623362346262222C0A22234F20632023623362356264222C0A22234420632023 + 623462356263222C0A22237520632023623462366264222C0A22232320632023 + 623562356235222C0A22234320632023623562366265222C0A222E6520632023 + 623662366236222C0A22237420632023623662376265222C0A22236C20632023 + 623662386265222C0A22237320632023623762396330222C0A222E3820632023 + 623862396330222C0A22236420632023623962616331222C0A222E3720632023 + 623962626331222C0A22236320632023626162626332222C0A222E6420632023 + 626262626262222C0A222E3620632023626262636333222C0A222E5220632023 + 626262646333222C0A222E3520632023626362656334222C0A22234E20632023 + 626462666335222C0A222E5120632023626562666335222C0A222E3420632023 + 626562666336222C0A222E5020632023626663316336222C0A222E6320632023 + 633063306330222C0A222E5820632023633063316337222C0A222E7820632023 + 633163316337222C0A222E4F20632023633163326338222C0A222E7720632023 + 633163336338222C0A222E4E20632023633263336338222C0A222E7620632023 + 633363346361222C0A222E6220632023633463346334222C0A22235620632023 + 633463356336222C0A222E4320632023633463366362222C0A222E7520632023 + 633563366362222C0A222E4A20632023633663366336222C0A222E6120632023 + 633963396339222C0A222E7420632023633963616366222C0A222E7120632023 + 636263626362222C0A222E6820632023636363636363222C0A222E2320632023 + 636463646364222C0A22235320632023636463656433222C0A22234820632023 + 636563666434222C0A22237820632023636664306434222C0A22236F20632023 + 643064316436222C0A22236720632023643164336437222C0A22234220632023 + 643264326434222C0A222E3920632023643364336437222C0A22237220632023 + 643364346435222C0A22235720632023643364346439222C0A22234C20632023 + 643464346434222C0A222E3120632023643464356439222C0A22236B20632023 + 643564356437222C0A222E5320632023643564366461222C0A222E4820632023 + 643664376462222C0A22236220632023643864386439222C0A222E7920632023 + 643864396463222C0A222E3320632023643964396461222C0A222E6E20632023 + 646264626465222C0A222E6D20632023646264636466222C0A222E6920632023 + 646364636463222C0A222E5720632023646364636464222C0A222E6C20632023 + 646364636466222C0A222E6B20632023646364656531222C0A222E4D20632023 + 646464646464222C0A22236120632023646564656465222C0A222E7220632023 + 646664666466222C0A22234D20632023646664666531222C0A222E5620632023 + 653065306530222C0A222E4C20632023653165316531222C0A222E4220632023 + 653165316532222C0A222E6A20632023653365336536222C0A22235820632023 + 653565356538222C0A222E4120632023653965396539222C0A222E7320632023 + 656165616561222C0A22236A20632023656265626562222C0A222E5520632023 + 656365636563222C0A222E6F20632023656365636565222C0A222E4B20632023 + 656665666566222C0A22234120632023663066306630222C0A22517451745174 + 5174517451745174517451745174517451745174517451745174222C0A225174 + 51745174517451742E232E612E622E632E642E652E662E67517451745174222C + 0A2251745174517451742E682E692E6A2E6B2E6C2E6D2E6E2E6F2E7051745174 + 5174222C0A225174517451742E712E722E732E742E752E762E772E782E792E7A + 517451745174222C0A22517451742E712E412E412E422E432E442E452E462E47 + 2E482E49517451745174222C0A22517451742E4A2E4B2E4C2E4D2E4E2E4F2E50 + 2E512E522E532E54517451745174222C0A22517451742E632E552E562E572E58 + 2E472E592E5A2E302E312E32517451745174222C0A22517451742E642E552E72 + 2E332E342E352E362E372E382E39232E517451745174222C0A22517451742323 + 2E55236123622E52236323642365236623672368517451745174222C0A225174 + 51742369236A2E4D236B2E372E38236C236D236E236F2370517451745174222C + 0A225174517423712E732E4D2372237323742375237623772378237951745174 + 5174222C0A2251745174237A23412E5623422343234423452346234723482349 + 517451745174222C0A2251745174234A234B234C234D234E234F235023512352 + 23532354517451745174222C0A2251745174517451742E302355235623572348 + 2353235323582359517451745174222C0A22517451745174517451745174235A + 233023312332233323342335517451745174222C0A2251745174517451745174 + 51745174517451745174517451745174517451745174227D3B0A + } + Transparent = True + end + object imgUsername: TImage + Left = 6 + Height = 16 + Top = 43 + Width = 16 + AutoSize = True + Picture.Data = { + 07545069786D61702E0A00002F2A2058504D202A2F0A73746174696320636861 + 72202A64756D6D795B5D3D7B0A223136203136203132342032222C0A22517420 + 63204E6F6E65222C0A222E3220632023316334366265222C0A222E5820632023 + 316334386263222C0A22233420632023316633643966222C0A22235A20632023 + 316634306130222C0A22236120632023316634396335222C0A222E3320632023 + 316634636334222C0A22235920632023323035306233222C0A22233320632023 + 323134316137222C0A22233220632023323234346162222C0A22233020632023 + 323234356161222C0A22233120632023323234366163222C0A22235520632023 + 323434396231222C0A22233520632023323434666232222C0A222E5120632023 + 323533633661222C0A222E5720632023326433653638222C0A22235220632023 + 333536306266222C0A22236D20632023343235303838222C0A22237820632023 + 343338646666222C0A22236220632023343435343861222C0A22234D20632023 + 346135656134222C0A222E6B20632023346232653133222C0A22237720632023 + 346539376665222C0A22234B20632023353039666666222C0A22234920632023 + 353339636665222C0A22237620632023353339656664222C0A22236A20632023 + 353461306664222C0A22234A20632023353561336666222C0A22234820632023 + 353761326665222C0A22234420632023353836363966222C0A22237520632023 + 353961356665222C0A22236920632023353961386665222C0A22234720632023 + 356161386665222C0A222E6420632023356233333135222C0A22234620632023 + 356261636666222C0A222E7320632023356333333066222C0A22237420632023 + 356461636665222C0A22236820632023356562316665222C0A222E3920632023 + 356662366666222C0A22237120632023363062376666222C0A22235120632023 + 363136313836222C0A22237320632023363162326665222C0A22235320632023 + 363162396665222C0A22235420632023363262396665222C0A22237220632023 + 363362366666222C0A222E3820632023363363306666222C0A22236720632023 + 363462396665222C0A222E4120632023363633623131222C0A22236620632023 + 363862666665222C0A222E3720632023363963396666222C0A222E7A20632023 + 366234353232222C0A22235620632023366436343761222C0A22236520632023 + 366463376665222C0A222E7820632023366534303135222C0A222E6A20632023 + 373133653065222C0A222E7920632023373234343139222C0A222E3620632023 + 373264346666222C0A222E7220632023373534313132222C0A22234C20632023 + 373861656638222C0A22236B20632023376162376666222C0A222E6320632023 + 376434323131222C0A22236C20632023383061396665222C0A22232E20632023 + 383063316666222C0A22237920632023383238666263222C0A22234520632023 + 383462626635222C0A222E7120632023383534633135222C0A222E7420632023 + 383733653063222C0A222E6920632023383734613066222C0A222E6F20632023 + 383734623066222C0A222E7020632023383734623131222C0A222E6220632023 + 386134383066222C0A222E6E20632023386134613066222C0A222E2320632023 + 386434383132222C0A222E6120632023393034623130222C0A222E4A20632023 + 393235623261222C0A222E6820632023393335333131222C0A22237020632023 + 393439656233222C0A222E6520632023393634653131222C0A222E6C20632023 + 393734623066222C0A22236420632023393864316666222C0A222E6720632023 + 393935383132222C0A222E5020632023396136323264222C0A222E6620632023 + 396235383132222C0A222E4220632023396235653166222C0A222E6D20632023 + 396635383132222C0A222E3520632023613465346666222C0A222E4920632023 + 613736383233222C0A222E5220632023613736643334222C0A222E3020632023 + 613837623464222C0A222E5A20632023613937623465222C0A22236320632023 + 616263386663222C0A222E5620632023616537343334222C0A222E7520632023 + 623839373763222C0A222E3120632023633364366633222C0A22232320632023 + 633664376636222C0A22234120632023633737343239222C0A222E7720632023 + 633839633731222C0A22234F20632023636137373261222C0A22235020632023 + 636437393235222C0A22236E20632023636537633238222C0A22235720632023 + 636537653265222C0A22234220632023643137643239222C0A222E4620632023 + 643161393766222C0A22235820632023643361323664222C0A222E5920632023 + 643465326634222C0A222E3420632023643665346636222C0A222E4720632023 + 646662353839222C0A222E7620632023653462373861222C0A222E4520632023 + 653562623865222C0A22236F20632023656162333738222C0A222E4C20632023 + 656163636162222C0A22237A20632023656462383765222C0A22234320632023 + 656562613832222C0A222E4B20632023656563616136222C0A222E4F20632023 + 656563646137222C0A222E4820632023656564666364222C0A22234E20632023 + 656662633833222C0A222E4420632023663163353937222C0A222E5520632023 + 663663666135222C0A222E4D20632023663664306137222C0A222E4E20632023 + 663664306138222C0A222E5420632023663764346166222C0A222E4320632023 + 663765386439222C0A222E5320632023663863633963222C0A22517451745174 + 5174517451745174517451745174517451745174517451745174222C0A225174 + 517451745174517451742E232E612E622E632E6451745174517451745174222C + 0A22517451745174517451742E652E662E672E682E692E6A2E6B517451745174 + 5174222C0A2251745174517451742E6C2E6D2E6E2E6F2E702E712E722E735174 + 517451745174222C0A2251745174517451742E742E752E762E772E782E792E7A + 2E415174517451745174222C0A2251745174517451742E422E432E442E452E46 + 2E472E482E495174517451745174222C0A2251745174517451742E4A2E4B2E4C + 2E4D2E4E2E4C2E4F2E505174517451745174222C0A2251745174517451742E51 + 2E522E532E542E542E552E562E575174517451745174222C0A22517451745174 + 51742E582E592E5A2E302E302E5A2E312E325174517451745174222C0A225174 + 517451742E332E342E352E362E372E382E39232E23232361517451745174222C + 0A225174517423622363236423652366236723682369236A236B236C236D5174 + 5174222C0A225174236E236F2370237123722373237423752376237723782379 + 237A23415174222C0A22517423422343234423452346234723482349234A234B + 234C234D234E234F5174222C0A22517451742350235123522353235423542354 + 2353235323552356235723585174222C0A2251745174517451742359235A2330 + 233123322333233423355174517451745174222C0A2251745174517451745174 + 51745174517451745174517451745174517451745174227D3B0A + } + Transparent = True + end + object imgPassword: TImage + Left = 6 + Height = 16 + Top = 77 + Width = 16 + AutoSize = True + Picture.Data = { + 07545069786D6170DE0800002F2A2058504D202A2F0A73746174696320636861 + 72202A64756D6D795B5D3D7B0A223136203136203130332032222C0A22517420 + 63204E6F6E65222C0A22236F20632023623238383338222C0A22237620632023 + 623538623339222C0A22234220632023623738643339222C0A22236420632023 + 623838333333222C0A222E4E20632023626138363334222C0A22234820632023 + 626139303361222C0A222E5820632023626238383335222C0A222E3820632023 + 626638623335222C0A22236720632023633138653336222C0A22234B20632023 + 633239353362222C0A22234120632023633838383331222C0A222E6B20632023 + 633839353339222C0A22234720632023633938613332222C0A22236320632023 + 636138613332222C0A22237520632023636138623332222C0A22236E20632023 + 636238623332222C0A22234A20632023636339303333222C0A22234920632023 + 643139363336222C0A222E4420632023643637633239222C0A22236520632023 + 643637643239222C0A222E4D20632023643637663239222C0A222E5720632023 + 643738313262222C0A222E3720632023643738323262222C0A22236620632023 + 643838353263222C0A222E7720632023646139303330222C0A222E7120632023 + 646439383332222C0A222E6A20632023646661313339222C0A222E6620632023 + 646661623432222C0A22234320632023653161633432222C0A222E3420632023 + 653361393365222C0A222E6F20632023653361633432222C0A222E2320632023 + 653362303434222C0A222E4F20632023653362323435222C0A222E4520632023 + 656163343666222C0A222E5020632023656163353736222C0A22237220632023 + 656563353238222C0A22236B20632023656563383238222C0A22232320632023 + 656663393262222C0A222E5620632023656663393332222C0A222E4B20632023 + 656663643334222C0A222E4220632023663063653338222C0A222E3120632023 + 663064323238222C0A22237120632023663164313339222C0A222E4720632023 + 663164313364222C0A22237820632023663164363433222C0A222E5520632023 + 663263653363222C0A222E5220632023663264363339222C0A222E4120632023 + 663264363437222C0A22236120632023663364363364222C0A222E4A20632023 + 663364373530222C0A22232E20632023663364383465222C0A222E7420632023 + 663364613862222C0A22236C20632023663464373431222C0A22236A20632023 + 663464383433222C0A222E3220632023663564343337222C0A22237920632023 + 663564623438222C0A222E5320632023663564623464222C0A222E4820632023 + 663564623564222C0A222E7520632023663564643439222C0A22237A20632023 + 663565313832222C0A22237320632023663664633465222C0A222E4920632023 + 663664663639222C0A222E3320632023663665303833222C0A22234520632023 + 663665313766222C0A222E3020632023663665343762222C0A22236220632023 + 663765313861222C0A22237420632023663765323835222C0A22236D20632023 + 663765323839222C0A222E5420632023663765343635222C0A222E6C20632023 + 663765343765222C0A222E4620632023663765353830222C0A222E7220632023 + 663765353831222C0A222E7A20632023663765353832222C0A22234620632023 + 663765363966222C0A22234420632023663765626334222C0A222E7920632023 + 663865373839222C0A222E6720632023663865373864222C0A222E6D20632023 + 663865393934222C0A222E6E20632023663865396263222C0A222E3920632023 + 663965616162222C0A222E6320632023663965623965222C0A222E6820632023 + 663965636131222C0A222E5120632023666165656163222C0A22236920632023 + 666165656230222C0A22237020632023666165666262222C0A222E4C20632023 + 666265663835222C0A222E5A20632023666266316262222C0A222E7320632023 + 666266316263222C0A222E6420632023666266326265222C0A22237720632023 + 666266346336222C0A222E3520632023666366336130222C0A222E3620632023 + 666366356139222C0A222E4320632023666366356165222C0A222E6220632023 + 666366356365222C0A222E7820632023666366376435222C0A222E6120632023 + 666366386465222C0A222E7620632023666466386331222C0A222E7020632023 + 666566636565222C0A22236820632023666566636630222C0A222E5920632023 + 666566636631222C0A222E6520632023666666666665222C0A222E6920632023 + 666666666666222C0A22517451745174517451745174517451742E232E232E23 + 2E235174517451745174222C0A2251745174517451745174517451742E232E23 + 2E612E612E232E23517451745174222C0A225174517451745174517451742E23 + 2E232E622E632E642E652E232E6651745174222C0A2251745174517451745174 + 2E232E232E622E672E682E232E232E692E6A2E6B5174222C0A22517451745174 + 517451742E232E612E672E6C2E6D2E6E2E232E6F2E702E712E6B222C0A225174 + 51745174517451742E232E642E6C2E6C2E722E6D2E732E742E752E762E77222C + 0A22517451745174517451742E232E782E792E6C2E6C2E6C2E7A2E412E422E43 + 2E44222C0A22517451745174517451742E232E452E462E472E482E492E4A2E4B + 2E4C2E4D2E4E222C0A22517451742E232E232E4F2E502E512E522E532E542E55 + 2E562E4C2E572E585174222C0A22517451742E232E592E5A2E302E312E322E33 + 2E342E352E362E372E3851745174222C0A222E232E232E232E39232E23232361 + 236223632364236523662367517451745174222C0A222E2323682369236A236B + 236C236D236E236F5174517451745174517451745174222C0A222E2323702371 + 2372237323742375237651745174517451745174517451745174222C0A222E23 + 237723782379237A23412342517451745174517451745174517451745174222C + 0A22234323442345234623472348517451745174517451745174517451745174 + 5174222C0A2251742349234A236E234B51745174517451745174517451745174 + 517451745174227D3B0A + } + Transparent = True + end + object edHost: TEdit + Left = 101 + Height = 21 + Top = 5 + Width = 137 + TabOrder = 0 + Text = 'localhost' + end + object edUsername: TEdit + Left = 101 + Height = 21 + Top = 39 + Width = 201 + TabOrder = 2 + end + object edPassword: TEdit + Left = 101 + Height = 21 + Top = 73 + Width = 201 + EchoMode = emPassword + PasswordChar = '*' + TabOrder = 3 + end + object edPort: TSpinEdit + Left = 246 + Height = 21 + Top = 5 + Width = 56 + MaxValue = 65565 + MinValue = 1024 + TabOrder = 1 + Value = 2597 + end + end + object gbActions: TGroupBox + Left = 336 + Height = 96 + Top = 8 + Width = 145 + ClientHeight = 78 + ClientWidth = 141 + TabOrder = 2 + object btnOK: TButton + Left = 6 + Height = 25 + Top = 5 + Width = 128 + BorderSpacing.InnerBorder = 4 + Caption = '&OK' + Default = True + OnClick = btnOKClick + TabOrder = 0 + end + object btnCancel: TButton + Left = 6 + Height = 25 + Top = 39 + Width = 128 + BorderSpacing.InnerBorder = 4 + Caption = '&Cancel' + ModalResult = 2 + OnClick = btnCancelClick + TabOrder = 1 + end + end + object gbData: TGroupBox + Left = 8 + Height = 97 + Top = 144 + Width = 321 + Caption = 'Data files' + ClientHeight = 79 + ClientWidth = 317 + TabOrder = 1 + object lblData: TLabel + Left = 7 + Height = 32 + Top = 8 + Width = 304 + AutoSize = False + Caption = 'Select the directory containing art.mul, artidx.mul, hues.mul, tiledata.mul, texmaps.mul and texidx.mul.' + ParentColor = False + WordWrap = True + end + object edData: TDirectoryEdit + Left = 7 + Height = 21 + Top = 48 + Width = 280 + ShowHidden = False + ButtonWidth = 23 + NumGlyphs = 1 + MaxLength = 0 + TabOrder = 0 + end + end + object GroupBox1: TGroupBox + Left = 336 + Height = 88 + Top = 112 + Width = 145 + Caption = 'Profiles' + ClientHeight = 70 + ClientWidth = 141 + TabOrder = 3 + object btnSaveProfile: TSpeedButton + Left = 86 + Height = 22 + Hint = 'Save profile' + Top = 40 + Width = 23 + Color = clBtnFace + Glyph.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000BA6A36FFB969 + 35FFB86935FFB76835FFB56835FFB46734FFB26634FFB06533FFAE6433FFAC63 + 32FFAA6232FFA96132FFA86031FFA76031FFA66031FFA86131FFBA6A35FFEBC6 + ADFFEAC5ADFFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFB + F8FFFEFBF8FFFEFBF8FFFEFBF8FFC89A7CFFC79879FFA76031FFBA6B37FFEDCA + B3FFE0A27AFFFEFAF7FF62C088FF62C088FF62C088FF62C088FF62C088FF62C0 + 88FF62C088FF62C088FFFDF9F6FFCA8D65FFC99B7CFFA76031FFBB6C38FFEECC + B6FFE1A27AFFFEFAF7FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDCC2FFBFDC + C2FFBFDCC2FFBFDCC2FFFDF9F6FFCD9068FFCC9E81FFA86132FFBB6B38FFEFCE + B8FFE1A279FFFEFAF7FF62C088FF62C088FF62C088FF62C088FF62C088FF62C0 + 88FF62C088FF62C088FFFDF9F6FFCF936AFFCEA384FFAA6132FFBA6A36FFEFD0 + BBFFE2A27AFFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFBF8FFFEFB + F8FFFEFBF8FFFEFBF8FFFEFBF8FFD3966DFFD2A78AFFAB6232FFBB6A36FFF0D2 + BEFFE2A37AFFE2A37AFFE1A37AFFE2A37BFFE1A37BFFE0A178FFDE9F77FFDD9F + 76FFDC9D74FFD99B72FFD89971FFD69970FFD5AB8EFFAD6333FFBB6A36FFF2D5 + C2FFE3A37AFFE3A37AFFE2A37BFFE2A37BFFE2A47BFFE1A279FFE0A178FFDEA0 + 77FFDE9E75FFDC9D74FFDA9B73FFD99B73FFDAB095FFAF6433FFBB6A36FFF2D8 + C5FFE3A47BFFE3A37AFFE3A47AFFE2A47BFFE2A37BFFE1A37BFFE1A279FFDFA0 + 77FFDE9F76FFDD9E74FFDB9C72FFDC9D74FFDDB59AFFB16534FFBB6B36FFF4D9 + C7FFE6A67DFFC88C64FFC98D65FFC98E67FFCB926CFFCB926DFFCA9069FFC88C + 65FFC88C64FFC88C64FFC88C64FFDA9C74FFE1BA9FFFB36634FFBB6B36FFF4DC + C9FFE7A77DFFF9ECE1FFF9ECE1FFF9EDE3FFFCF4EEFFFDFAF7FFFDF7F3FFFAED + E5FFF7E7DBFFF7E5D9FFF6E5D8FFDEA077FFE4BEA4FFB46734FFBC6B36FFF5DD + CCFFE7A87EFFFAF0E8FFFAF0E8FFC98D66FFFAF0E9FFFDF8F3FFFEFAF8FFFCF4 + EFFFF9E9DFFFF7E7DBFFF7E5D9FFE0A278FFE7C2A9FFB66835FFBC6B36FFF6DF + D0FFE8A87EFFFCF6F1FFFCF6F1FFC88C64FFFAF1E9FFFBF4EEFFFDFAF7FFFDF9 + F6FFFAF0E8FFF8E8DDFFF7E6DBFFE1A37AFFEFD5C3FFB76935FFBC6B36FFF6DF + D1FFE9AA80FFFEFAF6FFFDFAF6FFC88C64FFFBF3EEFFFBF1EAFFFCF6F2FFFEFB + F8FFFCF6F1FFF9ECE2FFF8E7DBFFEED0BAFFECD0BDFFBB703EFFBC6B36FFF6E0 + D1FFF7E0D1FFFEFBF8FFFEFBF7FFFDF9F6FFFCF5F0FFFAF0EAFFFBF2EDFFFDF9 + F6FFFDFAF7FFFBF1EBFFF8E9DFFFECD0BDFFC9895EFF0000000000000000BC6B + 36FFBC6B36FFBC6B36FFBC6B36FFBB6B36FFBB6B36FFBB6A36FFBB6A36FFBC6C + 39FFBD6E3BFFBB6D3AFFBB6B38FFBB703EFF0000000000000000 + } + NumGlyphs = 0 + OnClick = btnSaveProfileClick + ShowCaption = False + ShowHint = True + ParentShowHint = False + end + object btnDeleteProfile: TSpeedButton + Left = 111 + Height = 22 + Hint = 'Delete profile' + Top = 40 + Width = 23 + Color = clBtnFace + Glyph.Data = { + 36040000424D3604000000000000360000002800000010000000100000000100 + 2000000000000004000064000000640000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000004F4CF2FF403EEDFF000000000000000000000000000000000000 + 0000000000002422E4FF312FEAFF000000000000000000000000000000000000 + 00005856F5FF6361FAFF5855F6FF413FEDFF0000000000000000000000000000 + 00002C2AE6FF413FF1FF4C4AF6FF312FEAFF0000000000000000000000000000 + 00005B58F6FF6562FAFF7170FFFF5956F6FF4240EEFF00000000000000003532 + E9FF4745F2FF6362FFFF4A48F4FF2F2DE9FF0000000000000000000000000000 + 0000000000005B59F6FF6663FAFF7471FFFF5A58F6FF4341EEFF3E3CECFF504D + F4FF6867FFFF504EF5FF3634EBFF000000000000000000000000000000000000 + 000000000000000000005C5AF6FF6764FAFF7472FFFF7370FFFF706EFFFF6E6C + FFFF5755F7FF3F3DEEFF00000000000000000000000000000000000000000000 + 00000000000000000000000000005D5BF7FF7976FFFF5956FFFF5754FFFF7270 + FFFF4846F0FF0000000000000000000000000000000000000000000000000000 + 00000000000000000000000000005D5AF6FF7D79FFFF5E5BFFFF5B58FFFF7674 + FFFF4643EFFF0000000000000000000000000000000000000000000000000000 + 000000000000000000006663F9FF706DFBFF807EFFFF7E7BFFFF7C79FFFF7977 + FFFF5E5CF7FF4744EFFF00000000000000000000000000000000000000000000 + 0000000000006E6BFCFF7774FDFF8682FFFF7673FCFF6462F8FF605DF7FF6D6A + FAFF7B79FFFF605DF7FF4845EFFF000000000000000000000000000000000000 + 00007471FEFF7D7AFEFF8A87FFFF7C79FDFF6C69FBFF0000000000000000615E + F8FF6E6CFAFF7D7AFFFF615FF7FF4946F0FF0000000000000000000000000000 + 00007A77FFFF817EFFFF817EFEFF7471FDFF0000000000000000000000000000 + 0000625FF8FF6F6DFBFF7E7CFFFF625FF8FF0000000000000000000000000000 + 0000000000007A77FFFF7976FEFF000000000000000000000000000000000000 + 0000000000006461F8FF6A68F9FF5451F3FF0000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000000000000000 + 0000000000000000000000000000000000000000000000000000 + } + NumGlyphs = 0 + OnClick = btnDeleteProfileClick + ShowCaption = False + ShowHint = True + ParentShowHint = False + end + object cbProfile: TComboBox + Left = 6 + Height = 21 + Top = 8 + Width = 128 + ItemHeight = 13 + OnChange = cbProfileChange + Style = csDropDownList + TabOrder = 0 + end + end +end diff --git a/Client/UfrmLogin.pas b/Client/UfrmLogin.pas index ecf84e9..b46ca3a 100644 --- a/Client/UfrmLogin.pas +++ b/Client/UfrmLogin.pas @@ -171,6 +171,7 @@ begin lblCopyright.Caption := Format('UO CentrED Client Version %s (c) %s', [ProductVersion, Copyright]); FProfilePath := IncludeTrailingPathDelimiter(ExtractFilePath(Application.ExeName)) + 'Profiles' + PathDelim; + ForceDirectories(FProfilePath); if FindFirst(FProfilePath + '*.ini', faAnyFile, searchRec) = 0 then begin repeat diff --git a/Client/UfrmMain.lfm b/Client/UfrmMain.lfm index 11075e2..fc4f26e 100644 --- a/Client/UfrmMain.lfm +++ b/Client/UfrmMain.lfm @@ -1,11 +1,11 @@ object frmMain: TfrmMain - Left = 228 + Left = 257 Height = 603 - Top = 128 + Top = 135 Width = 766 ActiveControl = oglGameWindow Caption = 'UO CentrED' - ClientHeight = 580 + ClientHeight = 583 ClientWidth = 766 Constraints.MinHeight = 603 Constraints.MinWidth = 766 @@ -22,7 +22,7 @@ object frmMain: TfrmMain object pnlBottom: TPanel Left = 0 Height = 31 - Top = 549 + Top = 552 Width = 766 Align = alBottom BevelOuter = bvNone @@ -33,7 +33,7 @@ object frmMain: TfrmMain Left = 11 Height = 14 Top = 7 - Width = 11 + Width = 10 Caption = 'X:' ParentColor = False end @@ -41,7 +41,7 @@ object frmMain: TfrmMain Left = 88 Height = 14 Top = 7 - Width = 10 + Width = 9 Caption = 'Y:' ParentColor = False end @@ -54,10 +54,10 @@ object frmMain: TfrmMain ParentColor = False end object lblTip: TLabel - Left = 528 + Left = 534 Height = 31 Top = 0 - Width = 230 + Width = 224 Align = alRight Alignment = taRightJustify BorderSpacing.Right = 8 @@ -66,10 +66,10 @@ object frmMain: TfrmMain ParentColor = False end object lblTipC: TLabel - Left = 498 + Left = 511 Height = 31 Top = 0 - Width = 30 + Width = 23 Align = alRight Caption = 'Tip: ' Font.Height = -11 @@ -80,7 +80,7 @@ object frmMain: TfrmMain end object edX: TSpinEdit Left = 24 - Height = 19 + Height = 21 Top = 3 Width = 55 MaxValue = 100000 @@ -88,7 +88,7 @@ object frmMain: TfrmMain end object edY: TSpinEdit Left = 104 - Height = 19 + Height = 21 Top = 3 Width = 52 MaxValue = 100000 @@ -107,7 +107,7 @@ object frmMain: TfrmMain end object pcLeft: TPageControl Left = 0 - Height = 525 + Height = 528 Top = 24 Width = 224 ActivePage = tsTiles @@ -116,13 +116,13 @@ object frmMain: TfrmMain TabOrder = 1 object tsTiles: TTabSheet Caption = 'Tiles' - ClientHeight = 492 - ClientWidth = 218 + ClientHeight = 502 + ClientWidth = 216 object lblFilter: TLabel AnchorSideLeft.Control = cbTerrain AnchorSideLeft.Side = asrBottom AnchorSideTop.Control = cbTerrain - Left = 81 + Left = 75 Height = 14 Top = 8 Width = 30 @@ -139,9 +139,9 @@ object frmMain: TfrmMain AnchorSideRight.Side = asrBottom AnchorSideBottom.Control = spTileList Left = 4 - Height = 250 - Top = 56 - Width = 210 + Height = 266 + Top = 50 + Width = 208 Anchors = [akTop, akLeft, akRight, akBottom] BorderSpacing.Left = 4 BorderSpacing.Top = 4 @@ -193,13 +193,13 @@ object frmMain: TfrmMain AnchorSideBottom.Side = asrBottom Left = 0 Height = 181 - Top = 311 - Width = 218 + Top = 321 + Width = 216 Align = alBottom Anchors = [akTop, akLeft, akRight, akBottom] Caption = 'Random pool' - ClientHeight = 167 - ClientWidth = 216 + ClientHeight = 163 + ClientWidth = 212 TabOrder = 1 object btnAddRandom: TSpeedButton AnchorSideLeft.Control = gbRandom @@ -359,10 +359,10 @@ object frmMain: TfrmMain object btnRandomPresetSave: TSpeedButton AnchorSideTop.Control = cbRandomPreset AnchorSideRight.Control = btnRandomPresetDelete - Left = 164 + Left = 160 Height = 22 Hint = 'Save Preset' - Top = 134 + Top = 138 Width = 22 Anchors = [akTop, akRight] BorderSpacing.Right = 4 @@ -413,10 +413,10 @@ object frmMain: TfrmMain AnchorSideTop.Control = btnRandomPresetSave AnchorSideRight.Control = gbRandom AnchorSideRight.Side = asrBottom - Left = 190 + Left = 186 Height = 22 Hint = 'Delete Preset' - Top = 134 + Top = 138 Width = 22 Anchors = [akTop, akRight] BorderSpacing.Right = 4 @@ -473,9 +473,9 @@ object frmMain: TfrmMain AnchorSideBottom.Control = cbRandomPreset Cursor = 63 Left = 4 - Height = 106 + Height = 110 Top = 24 - Width = 208 + Width = 204 Anchors = [akTop, akLeft, akRight, akBottom] BorderSpacing.Left = 4 BorderSpacing.Top = 2 @@ -519,14 +519,14 @@ object frmMain: TfrmMain AnchorSideBottom.Control = gbRandom AnchorSideBottom.Side = asrBottom Left = 4 - Height = 29 - Top = 134 - Width = 156 + Height = 21 + Top = 138 + Width = 152 Anchors = [akLeft, akRight, akBottom] BorderSpacing.Left = 4 BorderSpacing.Right = 4 BorderSpacing.Bottom = 4 - ItemHeight = 0 + ItemHeight = 13 OnChange = cbRandomPresetChange Style = csDropDownList TabOrder = 1 @@ -539,8 +539,8 @@ object frmMain: TfrmMain Cursor = crVSplit Left = 0 Height = 5 - Top = 306 - Width = 218 + Top = 316 + Width = 216 Align = alNone Anchors = [akLeft, akRight, akBottom] ResizeAnchor = akBottom @@ -550,10 +550,10 @@ object frmMain: TfrmMain AnchorSideRight.Side = asrBottom AnchorSideBottom.Control = vdtTiles AnchorSideBottom.Side = asrBottom - Left = 110 - Height = 19 + Left = 108 + Height = 21 Hint = 'Append S or T to restrict the search to Statics or Terrain.' - Top = 279 + Top = 287 Width = 96 Anchors = [akRight, akBottom] BorderSpacing.Right = 8 @@ -572,10 +572,10 @@ object frmMain: TfrmMain AnchorSideTop.Side = asrBottom AnchorSideRight.Control = tsTiles AnchorSideRight.Side = asrBottom - Left = 81 - Height = 19 + Left = 75 + Height = 21 Top = 22 - Width = 121 + Width = 125 Anchors = [akTop, akLeft, akRight] BorderSpacing.Right = 16 OnEditingDone = edFilterEditingDone @@ -586,10 +586,10 @@ object frmMain: TfrmMain AnchorSideLeft.Side = asrCenter AnchorSideTop.Control = cbTerrain AnchorSideTop.Side = asrBottom - Left = 4 - Height = 22 - Top = 30 - Width = 60 + Left = 5 + Height = 19 + Top = 27 + Width = 53 Caption = 'Statics' Checked = True OnChange = cbStaticsChange @@ -600,9 +600,9 @@ object frmMain: TfrmMain AnchorSideLeft.Control = tsTiles AnchorSideTop.Control = tsTiles Left = 4 - Height = 22 + Height = 19 Top = 8 - Width = 61 + Width = 55 BorderSpacing.Left = 4 BorderSpacing.Top = 8 Caption = 'Terrain' @@ -614,26 +614,25 @@ object frmMain: TfrmMain end object tsClients: TTabSheet Caption = 'Clients' - ClientHeight = 492 - ClientWidth = 218 + ClientHeight = 502 + ClientWidth = 216 object lbClients: TListBox Left = 0 - Height = 492 + Height = 502 Top = 0 - Width = 218 + Width = 216 Align = alClient ItemHeight = 0 OnDblClick = mnuGoToClientClick PopupMenu = pmClients Sorted = True TabOrder = 0 - TopIndex = -1 end end object tsLocations: TTabSheet Caption = 'Locations' - ClientHeight = 492 - ClientWidth = 218 + ClientHeight = 502 + ClientWidth = 216 object btnClearLocations: TSpeedButton AnchorSideLeft.Control = btnDeleteLocation AnchorSideLeft.Side = asrBottom @@ -641,7 +640,7 @@ object frmMain: TfrmMain Left = 128 Height = 22 Hint = 'Clear' - Top = 450 + Top = 460 Width = 23 BorderSpacing.Left = 4 Color = clBtnFace @@ -694,7 +693,7 @@ object frmMain: TfrmMain Left = 101 Height = 22 Hint = 'Delete' - Top = 450 + Top = 460 Width = 23 Anchors = [akLeft, akBottom] BorderSpacing.Bottom = 4 @@ -746,7 +745,7 @@ object frmMain: TfrmMain Left = 74 Height = 22 Hint = 'Add' - Top = 450 + Top = 460 Width = 23 Anchors = [akTop, akRight] BorderSpacing.Right = 4 @@ -800,9 +799,9 @@ object frmMain: TfrmMain AnchorSideBottom.Control = btnDeleteLocation Cursor = 63 Left = 4 - Height = 428 + Height = 438 Top = 18 - Width = 210 + Width = 208 Anchors = [akTop, akLeft, akRight, akBottom] BorderSpacing.Around = 4 BorderStyle = bsSingle @@ -817,7 +816,7 @@ object frmMain: TfrmMain item Position = 1 Text = 'Name' - Width = 131 + Width = 129 end> Header.DefaultHeight = 17 Header.Options = [hoAutoResize, hoColumnResize, hoDrag, hoVisible] @@ -1012,7 +1011,7 @@ object frmMain: TfrmMain AnchorSideBottom.Control = spChat Left = 224 Height = 22 - Top = 413 + Top = 416 Width = 542 Anchors = [akLeft, akRight, akBottom] BevelInner = bvRaised @@ -1025,7 +1024,7 @@ object frmMain: TfrmMain Left = 10 Height = 18 Top = 2 - Width = 104 + Width = 101 Align = alLeft BorderSpacing.Left = 8 Caption = 'Chat and Messages' @@ -1046,7 +1045,7 @@ object frmMain: TfrmMain AnchorSideBottom.Control = pnlBottom Left = 224 Height = 109 - Top = 440 + Top = 443 Width = 542 Anchors = [akTop, akLeft, akRight, akBottom] BevelOuter = bvNone @@ -1057,7 +1056,7 @@ object frmMain: TfrmMain object vstChat: TVirtualStringTree Cursor = 63 Left = 0 - Height = 90 + Height = 88 Top = 0 Width = 542 Align = alClient @@ -1095,8 +1094,8 @@ object frmMain: TfrmMain end object edChat: TEdit Left = 0 - Height = 19 - Top = 90 + Height = 21 + Top = 88 Width = 542 Align = alBottom OnKeyPress = edChatKeyPress @@ -1111,7 +1110,7 @@ object frmMain: TfrmMain Cursor = crVSplit Left = 224 Height = 5 - Top = 435 + Top = 438 Width = 542 Align = alNone Anchors = [akLeft, akRight, akBottom] @@ -1128,7 +1127,7 @@ object frmMain: TfrmMain AnchorSideRight.Side = asrBottom AnchorSideBottom.Control = pnlChatHeader Left = 224 - Height = 389 + Height = 392 Top = 24 Width = 542 Anchors = [akTop, akLeft, akRight, akBottom] diff --git a/Client/UfrmMain.pas b/Client/UfrmMain.pas index ddb2f93..243482c 100644 --- a/Client/UfrmMain.pas +++ b/Client/UfrmMain.pas @@ -37,9 +37,6 @@ uses ImagingClasses, dateutils, UPlatformTypes, UVector, UMap, contnrs; type - - TVirtualTile = class(TWorldItem); - TAccessChangedListener = procedure(AAccessLevel: TAccessLevel) of object; TScreenBufferState = (sbsValid, sbsIndexed, sbsFiltered); TScreenBufferStates = set of TScreenBufferState; @@ -1937,170 +1934,6 @@ begin if highlight then glDisable(GL_COLOR_LOGIC_OP); - - {GetDrawOffset(item.X - FX, item.Y - FY, drawX, drawY); - - {if editing and acDraw.Checked and (singleTarget or multiTarget) then - begin - ghostTile := FGhostTile; - if (ghostTile is TMapCell) and (not frmDrawSettings.cbForceAltitude.Checked) then - ghostTile.Z := FLandscape.MapCell[item.X, item.Y].Z; - end else - ghostTile := nil;} //TODO : re add Ghost Tile - - {if frmVirtualLayer.cbShowLayer.Checked then - begin - virtualTile := FVirtualLayer[k, j - k]; - virtualTile.X := FX + offsetX; - virtualTile.Y := FY + offsetY; - virtualTile.Z := frmVirtualLayer.seZ.Value; - end else - virtualTile := nil;} - - if not editing then - highlight := False - {else if item = virtualTile then - highlight := False} //todo virtual tile - else if acDelete.Checked and multiTarget and (item is TStaticItem) then - highlight := True - else if ((acElevate.Checked) or (acMove.Checked)) and multiTarget then - highlight := True - else if (acHue.Checked and multiTarget and (item is TMapCell)) then - highlight := True - else - highlight := (not acSelect.Checked) and - (not acHue.Checked) and - (item = CurrentTile) or - ((item is TMapCell) and (item = ghostTile)); - - if highlight then - begin - glEnable(GL_COLOR_LOGIC_OP); - glLogicOp(GL_COPY_INVERTED); - end; - - if acFlat.Checked then - z := 0 - else - z := item.Z; - - glColor4f(intensity, intensity, intensity, 1.0); - - {if TObject(draw[i]) = virtualTile then - begin - glBindTexture(GL_TEXTURE_2D, FVLayerMaterial.Texture); - glBegin(GL_QUADS); - glTexCoord2f(0, 0); glVertex2d(drawX - 22, drawY - z * 4); - glTexCoord2f(1, 0); glVertex2d(drawX - 22 + FVLayerMaterial.Width, drawY - z * 4); - glTexCoord2f(1, 1); glVertex2d(drawX - 22 + FVLayerMaterial.Width, drawY + FVLayerMaterial.Height - z * 4); - glTexCoord2f(0, 1); glVertex2d(drawX - 22, drawY + FVLayerMaterial.Height - z * 4); - glEnd; - - FScreenBuffer.Store(Bounds(Trunc(drawX - 22), Trunc(drawY - z * 4), 44, 44), virtualTile, FVLayerMaterial); - end else} if item is TMapCell then //TODO : virtual tile! - begin - cell := TMapCell(item); - - {if ResMan.Tiledata.LandTiles[cell.TileID].HasFlag(tdfTranslucent) then - glColor4f(intensity, intensity, intensity, 0.5);} //Possible, but probably not like the OSI client - - mat := nil; - - if not acFlat.Checked then - begin - west := FLandscape.GetLandAlt(item.X, item.Y + 1, z); - south := FLandscape.GetLandAlt(item.X + 1, item.Y + 1, z); - east := FLandscape.GetLandAlt(item.X + 1, item.Y, z); - - if (west <> z) or (south <> z) or (east <> z) then - begin - mat := FTextureManager.GetTexMaterial(cell.TileID); - end; - end; - - if mat = nil then - begin - mat := FTextureManager.GetArtMaterial(cell.TileID); - if (not (ghostTile is TMapCell)) or - (item = ghostTile) then //when we have a ghosttile, only draw that, but still store the real one - begin - glBindTexture(GL_TEXTURE_2D, mat.Texture); - glBegin(GL_QUADS); - glTexCoord2f(0, 0); glVertex2d(drawX - 22, drawY - z * 4); - glTexCoord2f(1, 0); glVertex2d(drawX - 22 + mat.Width, drawY - z * 4); - glTexCoord2f(1, 1); glVertex2d(drawX - 22 + mat.Width, drawY + mat.Height - z * 4); - glTexCoord2f(0, 1); glVertex2d(drawX - 22, drawY + mat.Height - z * 4); - glEnd; - end; - - if item <> ghostTile then - FScreenBuffer.Store(Bounds(Trunc(drawX - 22), Trunc(drawY - z * 4), 44, 44), cell, mat); - end else // Texture found - begin - if (not (ghostTile is TMapCell)) or - (item = ghostTile) then //when we have a ghosttile, only draw that, but still store the real one - begin - glBindTexture(GL_TEXTURE_2D, mat.Texture); - //if (not cell.Selected) and (intensity = 1.0) then - if not cell.Selected then - glEnable(GL_LIGHTING); - normals := FLandscape.Normals[item.X, item.Y]; - glBegin(GL_TRIANGLES); - glNormal3f(normals[3].X, normals[3].Y, normals[3].Z); - glTexCoord2f(0, 1); glVertex2d(drawX - 22, drawY + 22 - west * 4); - glNormal3f(normals[0].X, normals[0].Y, normals[0].Z); - glTexCoord2f(0, 0); glVertex2d(drawX, drawY - z * 4); - glNormal3f(normals[1].X, normals[1].Y, normals[1].Z); - glTexCoord2f(1, 0); glVertex2d(drawX + 22, drawY + 22 - east * 4); - glNormal3f(normals[1].X, normals[1].Y, normals[1].Z); - glTexCoord2f(1, 0); glVertex2d(drawX + 22, drawY + 22 - east * 4); - glNormal3f(normals[2].X, normals[2].Y, normals[2].Z); - glTexCoord2f(1, 1); glVertex2d(drawX, drawY + 44 - south * 4); - glNormal3f(normals[3].X, normals[3].Y, normals[3].Z); - glTexCoord2f(0, 1); glVertex2d(drawX - 22, drawY + 22 - west * 4); - glEnd; - //if (not cell.Selected) and (intensity = 1.0) then - if not cell.Selected then - glDisable(GL_LIGHTING); - end; - - if item <> ghostTile then - FScreenBuffer.Store(Rect(Trunc(drawX - 22), Trunc(drawY - z * 4), Trunc(drawX + 22), Trunc(drawY + 44 - south * 4)), cell, mat); - end; - end else if item is TStaticItem then - begin - staticItem := TStaticItem(item); - - staticTileData := ResMan.Tiledata.StaticTiles[staticItem.TileID]; - if tbSetHue.Down and ((singleTarget and (item = CurrentTile)) or multiTarget) then - begin - if frmHueSettings.lbHue.ItemIndex > 0 then - hue := ResMan.Hue.Hues[frmHueSettings.lbHue.ItemIndex - 1] - else - hue := nil; - end else if staticItem.Hue > 0 then - hue := ResMan.Hue.Hues[staticItem.Hue - 1] - else - hue := nil; - - if staticTileData.HasFlag(tdfTranslucent) then - glColor4f(intensity, intensity, intensity, 0.5); - - mat := FTextureManager.GetArtMaterial($4000 + staticItem.TileID, hue, (staticTileData.Flags and tdfPartialHue) = tdfPartialHue); - south := mat.RealHeight; - east := mat.RealWidth div 2; - glBindTexture(GL_TEXTURE_2D, mat.Texture); - glBegin(GL_QUADS); - glTexCoord2f(0, 0); glVertex2d(drawX - east, drawY + 44 - south - z * 4); - glTexCoord2f(1, 0); glVertex2d(drawX - east + mat.Width, drawY + 44 - south - z * 4); - glTexCoord2f(1, 1); glVertex2d(drawX - east + mat.Width, drawY + 44 - south + mat.Height - z * 4); - glTexCoord2f(0, 1); glVertex2d(drawX - east, drawY + 44 - south + mat.Height - z * 4); - glEnd; - - if TObject(draw[i]) <> ghostTile then - FScreenBuffer.Store(Bounds(Trunc(drawX - east), Trunc(drawY + 44 - south - z * 4), mat.RealWidth, Trunc(south)), staticItem, mat); - end;} - end; FOverlayUI.Draw(oglGameWindow); @@ -2362,6 +2195,8 @@ begin virtualTile.X := tileX; virtualTile.Y := tileY; virtualTile.Z := frmVirtualLayer.seZ.Value; + virtualTile.Priority := virtualTile.Z; + virtualTile.PriorityBonus := MaxInt; Inc(i); end; diff --git a/UOLib/UWorldItem.pas b/UOLib/UWorldItem.pas index 4e4fea3..7a7d18f 100644 --- a/UOLib/UWorldItem.pas +++ b/UOLib/UWorldItem.pas @@ -101,6 +101,8 @@ type procedure CleanUp; end; + TVirtualTile = class(TWorldItem); + function CompareWorldItems(AItem1, AItem2: Pointer): Integer; implementation @@ -122,6 +124,10 @@ begin if (TObject(AItem1) is TMapCell) and (TObject(AItem2) is TStaticItem) then Result := -1 else if (TObject(AItem1) is TStaticItem) and (TObject(AItem2) is TMapCell) then + Result := 1 + else if (TObject(AItem1) is TMapCell) and (TObject(AItem2) is TVirtualTile) then + Result := -1 + else if (TObject(AItem1) is TVirtualTile) and (TObject(AItem2) is TMapCell) then Result := 1; end; diff --git a/version.inc b/version.inc index dc04263..a8e44a2 100644 --- a/version.inc +++ b/version.inc @@ -1,5 +1,5 @@ const - ProductVersion = '0.4.1'; + ProductVersion = '0.4.5'; ProtocolVersion = 6; Revision = '71'; - Copyright = '2008 Andreas Schneider'; + Copyright = '2009 Andreas Schneider';