From 2409b861e3c6cff9b211d5801eb21c575feef498 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Sat, 9 Aug 2008 19:38:09 +0200 Subject: [PATCH] - Added GTK2 support to UGUIPlatformUtils.pas - Fixed compilation of the ImagingLib with newer Lazarus versions - Renamed TInvalidConfigVersionExeption to TInvalidConfigException - Cleanup in ULandscape.pas - Removed widgetset and platform constraints from the project file --- Client/CentrED.lpi | 32 +++-- Client/Tools/UfrmFilter.lfm | 244 +++++++++++----------------------- Client/UGUIPlatformUtils.pas | 13 +- Client/UfrmAbout.lfm | 172 ++++++++++++++---------- Client/UfrmAbout.pas | 14 +- Client/UfrmMain.lfm | 53 ++++---- Imaging/ImagingComponents.pas | 8 +- Server/UConfig.pas | 8 +- Server/ULandscape.pas | 50 +------ 9 files changed, 258 insertions(+), 336 deletions(-) diff --git a/Client/CentrED.lpi b/Client/CentrED.lpi index 7be464f..669ff6a 100644 --- a/Client/CentrED.lpi +++ b/Client/CentrED.lpi @@ -25,19 +25,19 @@ - - - - - - - - - - - + + + + + + + + + + + @@ -50,6 +50,7 @@ + @@ -57,6 +58,7 @@ + @@ -64,6 +66,7 @@ + @@ -142,6 +145,7 @@ + @@ -149,6 +153,7 @@ + @@ -163,6 +168,7 @@ + @@ -177,6 +183,7 @@ + @@ -208,7 +215,6 @@ - @@ -219,11 +225,9 @@ - - diff --git a/Client/Tools/UfrmFilter.lfm b/Client/Tools/UfrmFilter.lfm index 3184f6d..59e47fc 100644 --- a/Client/Tools/UfrmFilter.lfm +++ b/Client/Tools/UfrmFilter.lfm @@ -3,9 +3,7 @@ object frmFilter: TfrmFilter Height = 491 Top = 171 Width = 236 - HorzScrollBar.Page = 235 - VertScrollBar.Page = 490 - ActiveControl = rgFilterType + ActiveControl = rgFilterType.RadioButton0 BorderIcons = [biSystemMenu, biMinimize] BorderStyle = bsToolWindow Caption = 'Filter' @@ -13,6 +11,7 @@ object frmFilter: TfrmFilter ClientWidth = 236 OnCreate = FormCreate OnShow = FormShow + LCLVersion = '0.9.25' object rgFilterType: TRadioGroup Left = 4 Height = 40 @@ -30,7 +29,7 @@ object frmFilter: TfrmFilter ChildSizing.ShrinkVertical = crsScaleChilds ChildSizing.Layout = cclLeftToRightThenTopToBottom ChildSizing.ControlsPerLine = 2 - ClientHeight = 18 + ClientHeight = 21 ClientWidth = 222 Columns = 2 ItemIndex = 0 @@ -48,13 +47,13 @@ object frmFilter: TfrmFilter Align = alClient BorderSpacing.Around = 4 Caption = 'Tile filter' - ClientHeight = 236 + ClientHeight = 239 ClientWidth = 222 TabOrder = 1 object Label1: TLabel Left = 4 Height = 25 - Top = 32 + Top = 29 Width = 214 Align = alTop BorderSpacing.Around = 4 @@ -65,8 +64,8 @@ object frmFilter: TfrmFilter object vdtFilter: TVirtualDrawTree Tag = 1 Left = 4 - Height = 145 - Top = 61 + Height = 151 + Top = 58 Width = 214 Align = alClient BorderSpacing.Around = 4 @@ -99,7 +98,7 @@ object frmFilter: TfrmFilter object pnlControls: TPanel Left = 4 Height = 22 - Top = 210 + Top = 213 Width = 214 Align = alBottom BorderSpacing.Around = 4 @@ -114,83 +113,40 @@ object frmFilter: TfrmFilter Width = 23 Color = clBtnFace Glyph.Data = { - 810900002F2A2058504D202A2F0A7374617469632063686172202A6772617068 - 69635B5D203D207B0A223136203136203131332032222C0A222E2E2063204E6F - 6E65222C0A222E2C20632023444436413638222C0A222E2D2063202344433634 - 3633222C0A222E2A20632023444136343631222C0A222E612063202344393633 - 3544222C0A222E6220632023444636413641222C0A222E632063202345443933 - 3845222C0A222E6420632023463843334245222C0A222E652063202346394433 - 4343222C0A222E6620632023463943424334222C0A222E672063202346344234 - 4141222C0A222E6820632023453237303636222C0A222E692063202344313545 - 3533222C0A222E6A20632023453036393641222C0A222E6B2063202346324144 - 4141222C0A222E6C20632023464444434438222C0A222E6D2063202346414241 - 4145222C0A222E6E20632023464141333931222C0A222E6F2063202346413944 - 3842222C0A222E7020632023464241393943222C0A222E712063202346434337 - 4241222C0A222E7220632023453937423730222C0A222E732063202343433542 - 3443222C0A222E7420632023463341374133222C0A222E752063202346444442 - 4434222C0A222E7620632023464139413837222C0A222E772063202346303931 - 3746222C0A222E7820632023463138453741222C0A222E792063202346383934 - 3746222C0A222E7A20632023463939323745222C0A222E412063202346383843 - 3736222C0A222E4220632023463842364138222C0A222E432063202345333645 - 3633222C0A222E4420632023433735373435222C0A222E452063202345413833 - 3744222C0A222E4620632023464344344344222C0A222E472063202346373933 - 3745222C0A222E4820632023454538413735222C0A222E492063202346363834 - 3643222C0A222E4A20632023463337393633222C0A222E4B2063202346384146 - 4134222C0A222E4C20632023443034463345222C0A222E4D2063202344453641 - 3637222C0A222E4E20632023463541464135222C0A222E4F2063202346414142 - 3944222C0A222E5020632023463038433737222C0A222E512063202345433546 - 3534222C0A222E5220632023463237373633222C0A222E532063202346343845 - 3831222C0A222E5420632023453937463738222C0A222E552063202343303533 - 3341222C0A222E5620632023444236393634222C0A222E572063202346394239 - 4146222C0A222E5820632023464139333746222C0A222E592063202346303835 - 3730222C0A222E5A20632023464646464646222C0A222E302063202345393539 - 3444222C0A222E3120632023454536413545222C0A222E322063202346313944 - 3936222C0A222E3320632023424534463336222C0A222E342063202344413633 - 3546222C0A222E3520632023463741424131222C0A222E362063202346383836 - 3730222C0A222E3720632023463638323638222C0A222E382063202345413636 - 3543222C0A222E3920632023463139433936222C0A222E402063202342433530 - 3332222C0A222E2320632023443736323543222C0A222E3B2063202345453843 - 3831222C0A222E3A20632023463739313745222C0A222E3D2063202346333733 - 3544222C0A222E2B20632023453935423446222C0A222E252063202346303833 - 3742222C0A222E2420632023453237423735222C0A222E282063202342413442 - 3245222C0A222E2920632023444235363442222C0A222E5B2063202346364142 - 4132222C0A222E5D20632023463036343536222C0A222C2E2063202345453636 - 3532222C0A222C2C20632023453635383443222C0A222C2D2063202345363541 - 3532222C0A222C2A20632023463541333946222C0A222C612063202343343530 - 3334222C0A222C6220632023434636313533222C0A222C632063202345333642 - 3631222C0A222C6420632023463541434131222C0A222C652063202345413543 - 3530222C0A222C6620632023453635393445222C0A222C672063202345363536 - 3443222C0A222C6820632023453635363530222C0A222C692063202346344132 - 3945222C0A222C6A20632023443636303534222C0A222C6B2063202342383441 - 3241222C0A222C6C20632023434235393439222C0A222C6D2063202345303635 - 3543222C0A222C6E20632023463541364131222C0A222C6F2063202345463836 - 3745222C0A222C7020632023453936333542222C0A222C712063202345373544 - 3539222C0A222C7220632023454538343744222C0A222C732063202346344130 - 3945222C0A222C7420632023443735443531222C0A222C752063202342373441 - 3242222C0A222C7620632023433635353432222C0A222C772063202343433532 - 3343222C0A222C7820632023453837413735222C0A222C792063202345453932 - 3846222C0A222C7A20632023453437383731222C0A222C412063202343313444 - 3333222C0A222C4220632023424535333338222C0A222C432063202342443531 - 3335222C0A222C4420632023424334423330222C0A222C452063202342383445 - 3245222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E - 2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2C2E2D2E2A2E612E2E - 2E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E622E632E642E652E66 - 2E672E682E692E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E6A2E6B2E6C2E6D - 2E6E2E6F2E702E712E722E732E2E2E2E2E2E222C0A222E2E2E2E2E6A2E742E75 - 2E762E772E782E792E7A2E412E422E432E442E2E2E2E222C0A222E2E2E2E2E45 - 2E462E6F2E472E482E492E492E492E492E4A2E4B2E4C2E2E2E2E222C0A222E2E - 2E4D2E4E2E4F2E502E512E512E512E512E512E512E522E532E542E552E2E222C - 0A222E2E2E562E572E582E592E5A2E5A2E5A2E5A2E5A2E5A2E302E312E322E33 - 2E2E222C0A222E2E2E342E352E362E372E5A2E5A2E5A2E5A2E5A2E5A2E302E38 - 2E392E402E2E222C0A222E2E2E232E3B2E3A2E3D2E302E302E302E302E302E30 - 2E2B2E252E242E282E2E222C0A222E2E2E2E2E292E5B2E5D2C2E2E302E302E30 - 2E302C2C2C2D2C2A2C612E2E2E2E222C0A222E2E2E2E2C622C632C642E512C65 - 2E302C662C672C682C692C6A2C6B2E2E2E2E222C0A222E2E2E2E2E2E2C6C2C6D - 2C6E2C6F2C702C712C722C732C742C752E2E2E2E2E2E222C0A222E2E2E2E2E2E - 2E2E2C762C772C782C792C792C7A2C412C752E2E2E2E2E2E2E2E222C0A222E2E - 2E2E2E2E2E2E2E2E2E2E2C422C432C442C452E2E2E2E2E2E2E2E2E2E2E2E222C - 0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E - 2E2E227D0A + 36040000424D3604000000000000360000002800000010000000100000000100 + 20000000000000040000640000006400000000000000000000004F91AB005588 + 9C0043718A004E6974003E4B4C00457796003E6A950037556C005C7E8800548B + A00031464100FFFFFF002B3238002D3B430074B9C8007FC4D5004788A7004A92 + B500435E6F002E3040002E3538003D5E7B003853BEFF3551BDFF304BBCFF2E4E + B8FF303B3600FFFFFF00313637002C2D2B00588997007BC3D400365F8400396E + 9A003B6282003A5564004255C6FF3C52CCFF757AE8FF8F92EEFF8F92EEFF7178 + E4FF334DC1FF2B4AB7FFFFFFFF0036423900486B710061B4CE00396F9600375C + 83004085B1004959CBFF5C65E0FFA1A6F5FF7E86EFFF5B63E9FF595DE7FF7D84 + EEFF9EA0F4FF515DD7FF2B4AB7FFFFFFFF00354C4C004D94AF00375D7F003348 + 5C005361CFFF616BE3FFA1ACF5FF545FECFF505CEAFF4D59E9FF4E59E6FF4C56 + E6FF5056E6FF9EA2F4FF5460D6FF2A4AB8FFFFFFFF004A90A6003B5864003D5B + 6A004B56DBFFA2ABF6FF5664F0FF5266EEFF4D59E9FF4D59E9FF4D59E9FF4D59 + E9FF4C58E6FF525AE6FF9FA3F5FF3450C4FF57929C00498BA40047676D005C62 + D7FF818CEEFF7E91F7FF5D73F3FF4D59E9FF4D59E9FF4D59E9FF4D59E9FF4D59 + E9FF4D59E9FF4F5BE9FF7B83F0FF757BE2FF2E4BBAFF54839500FFFFFF005F63 + DAFFA1ABF7FF7086F8FF6882F6FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF4D59E9FF5C66EAFF969CF1FF3250BCFF6FA2AF00000000006469 + DBFFAFB9F9FF7F93FAFF7085F0FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF + FFFFFFFFFFFF4D59E9FF5E6AEEFF969DF1FF364FBEFF58B2E00000000000676A + DEFFA5AFF5FF9DABFAFF778CF0FF545FECFF545FECFF545FECFF545FECFF545F + ECFF545FECFF6377F2FF818EF4FF787FE9FF3A53C0FF000000000800000000E8 + 1D007D83EAFFCDD4FCFF8B9DFAFF7E93F7FF758AEEFF6C84F6FF6C84F6FF6C84 + F6FF6C84F6FF6379F3FFA4AFF8FF3E4FD0FF000000000000000001000100DB12 + C0006A69E0FFA3A7F3FFD4DBFDFF879AFAFF7F91F0FF7A8EF1FF7F94F8FF7E92 + F9FF768CF8FFA8B6F8FF636EE3FF4557C7FF00000000000000002401AD00BA02 + AE002301AE006A69E0FFAAADF2FFD8DCFDFFAEBAFAFF91A3FAFF8B9DFAFF9CA9 + FBFFBAC7FCFF707BE9FF4C5BCCFFBB02F00000010000D8000000000000000000 + 000008000000010008006A6ADFFF8E93EDFFBEC3F8FFCCD3F9FFC4CBF9FFAAB4 + F4FF6670E2FF535ED1FF5031DE005031DE002501AC00B902AD000D040400F804 + 0500F20005000A0106000C040500F8040600686ADDFF6364DCFF6164DAFF5D63 + D9FFF2000700F804610000000000710900005031DE005031DE004034DE004034 + DE0068B0E00068B0E0000E049300F8049500F2009500070102000F049500F804 + 0200F2000200080104000E040200F8040400F200040009010500 } NumGlyphs = 0 OnClick = btnDeleteClick @@ -204,78 +160,40 @@ object frmFilter: TfrmFilter Width = 23 Color = clBtnFace Glyph.Data = { - F10800002F2A2058504D202A2F0A7374617469632063686172202A6772617068 - 69635B5D203D207B0A223136203136203130342032222C0A222E2E2063204E6F - 6E65222C0A222E2C20632023464630303030222C0A222E2D2063202346443030 - 3030222C0A222E2A20632023464632423236222C0A222E612063202346463639 - 3543222C0A222E6220632023464636383542222C0A222E632063202346453637 - 3541222C0A222E6420632023464536353538222C0A222E652063202346453633 - 3536222C0A222E6620632023464536313534222C0A222E672063202346433237 - 3232222C0A222E6820632023464230303030222C0A222E692063202346463641 - 3544222C0A222E6A20632023464634373433222C0A222E6B2063202346453334 - 3334222C0A222E6C20632023464533323332222C0A222E6D2063202346443330 - 3330222C0A222E6E20632023464432443244222C0A222E6F2063202346433343 - 3338222C0A222E7020632023464335443446222C0A222E712063202346413235 - 3146222C0A222E7220632023463730303030222C0A222E732063202346463542 - 3538222C0A222E7420632023464643464346222C0A222E752063202346453532 - 3532222C0A222E7620632023464432463246222C0A222E772063202346443243 - 3243222C0A222E7820632023464334423442222C0A222E792063202346454343 - 4343222C0A222E7A20632023464234433438222C0A222E412063202346423537 - 3439222C0A222E4220632023463932333144222C0A222E432063202346353030 - 3030222C0A222E4420632023464534373433222C0A222E452063202346464633 - 4633222C0A222E4620632023464645444544222C0A222E472063202346433443 - 3443222C0A222E4820632023464334413441222C0A222E492063202346464543 - 4543222C0A222E4A20632023464646324632222C0A222E4B2063202346454341 - 4341222C0A222E4C20632023464132463241222C0A222E4D2063202346413531 - 3432222C0A222E4E20632023463330303030222C0A222E4F2063202346453333 - 3333222C0A222E5020632023464435303530222C0A222E512063202346454543 - 4543222C0A222E5220632023464133453345222C0A222E532063202346383137 - 3137222C0A222E5420632023463934453346222C0A222E552063202346313030 - 3030222C0A222E5620632023464536343537222C0A222E572063202346393344 - 3344222C0A222E5820632023463831363136222C0A222E592063202346373133 - 3133222C0A222E5A20632023463834423343222C0A222E302063202346453632 - 3535222C0A222E3120632023464332393239222C0A222E322063202346433438 - 3438222C0A222E3320632023463933413341222C0A222E342063202346373132 - 3132222C0A222E3520632023463630463046222C0A222E362063202346383438 - 3338222C0A222E3720632023464435463532222C0A222E382063202346433238 - 3238222C0A222E3920632023464334373437222C0A222E402063202346464631 - 4631222C0A222E2320632023464545414541222C0A222E3B2063202346373334 - 3334222C0A222E3A20632023463530423042222C0A222E3D2063202346383435 - 3335222C0A222E2B20632023454630303030222C0A222E252063202346443544 - 3446222C0A222E2420632023464233373332222C0A222E282063202346454342 - 4342222C0A222E2920632023464545424542222C0A222E5B2063202346393342 - 3342222C0A222E5D20632023463833393339222C0A222C2E2063202346454631 - 4631222C0A222C2C20632023464443354335222C0A222C2D2063202346363144 - 3138222C0A222C2A20632023463734333333222C0A222C612063202346393030 - 3030222C0A222C6220632023464235383441222C0A222C632063202346423437 - 3432222C0A222C6420632023464443394339222C0A222C652063202346363130 - 3130222C0A222C6620632023463733333333222C0A222C672063202346373335 - 3330222C0A222C6820632023463734343334222C0A222C692063202346323142 - 3134222C0A222C6A20632023454430303030222C0A222C6B2063202346413533 - 3434222C0A222C6C20632023463932393234222C0A222C6D2063202346353043 - 3043222C0A222C6E20632023463530393039222C0A222C6F2063202346353142 - 3136222C0A222C7020632023463131423134222C0A222C712063202346353230 - 3141222C0A222C7220632023463934433343222C0A222C732063202346383439 - 3341222C0A222C7420632023463834373338222C0A222C752063202346373433 - 3334222C0A222C7620632023463734323332222C0A222E2E2E2E2E2E2E2E2E2E - 2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E - 2E2E2E2C2E2C2E2C2E2C2E2D2E2D2E2D2E2D2E2E2E2E2E2E2E2E222C0A222E2E - 2E2E2E2E2E2C2E2A2E612E622E632E642E652E662E672E682E2E2E2E2E2E222C - 0A222E2E2E2E2E2C2E2A2E692E6A2E6B2E6C2E6D2E6E2E6F2E702E712E722E2E - 2E2E222C0A222E2E2E2C2E2A2E692E732E742E752E762E772E782E792E7A2E41 - 2E422E432E2E222C0A222E2E2E2C2E622E442E742E452E462E472E482E492E4A - 2E4B2E4C2E4D2E4E2E2E222C0A222E2E2E2C2E632E4F2E502E462E452E462E46 - 2E4A2E512E522E532E542E552E2E222C0A222E2E2E2D2E562E6D2E6E2E782E46 - 2E4A2E4A2E492E572E582E592E5A2E552E2E222C0A222E2E2E2D2E302E772E31 - 2E322E462E4A2E4A2E512E332E342E352E362E552E2E222C0A222E2E2E2D2E37 - 2E382E392E492E4A2E492E512E402E232E3B2E3A2E3D2E2B2E2E222C0A222E2E - 2E682E252E242E282E4A2E292E5B2E5D2E232C2E2C2C2C2D2C2A2E2B2E2E222C - 0A222E2E2C612E712C622C632C642E5B2E592C652C662C2C2C672C682C692C6A - 2E2E222C0A222E2E2E2E2E722E422C6B2C6C2E342E352C6D2C6E2C6F2C2A2C70 - 2C6A2E2E2E2E222C0A222E2E2E2E2E2E2E432C712C722C732C742E3D2C752C76 - 2C702C6A2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E552E552E552E552E2B - 2E2B2C6A2C6A2E2E2E2E2E2E2E2E222C0A222E2E2E2E2E2E2E2E2E2E2E2E2E2E - 2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E2E227D0A + 36040000424D3604000000000000360000002800000010000000100000000100 + 20000000000000040000640000006400000000000000000000003ADCFE004800 + 3A00FEFF4800FCFF1C00FCFF1C0080FF9C00003BD700AF9AFF00002CC600FDEB + 9B000000000000000000000000000000000000000000000000000EECFF00B2FC + FF000046C00078D0FF000000F1FF0000F1FF0000F1FF0000F1FF0000EFFF0000 + EFFF0000EDFF0000EDFFCBF3FC008905000024AEEF00E4A81C000000DB00B29E + FF0088000D000000F5FF1A20F5FF3C4CF9FF3A49F8FF3847F8FF3545F8FF3443 + F7FF3242F7FF141BF1FF0000EDFFFCFF1C00FCFF1C0080FF9C0004000000FFBC + 00000000F7FF1D23F9FF4453FAFF2429F9FF1212F7FF0F0FF6FF0C0CF5FF0909 + F5FF161BF5FF3343F7FF141BF1FF0000EDFFE4FF5C000050FF004C0000000000 + F9FF1F25FAFF4A58FBFF4247FBFFC9C9FDFF3B3BF9FF1313F7FF1010F6FF3333 + F7FFC5C5FDFF3035F7FF3444F7FF141BF2FF0000EDFF000008000052FF000000 + FBFF4F5DFDFF3237FBFFCBCBFEFFF2F2FFFFEBEBFEFF3B3BF9FF3939F8FFEAEA + FEFFF1F1FEFFC5C5FDFF181DF6FF3343F7FF0000EFFF0000CC0088005B000000 + FDFF525FFDFF2828FCFF4747FCFFECECFFFFF2F2FFFFECECFFFFECECFEFFF1F1 + FFFFEAEAFEFF3434F7FF0B0BF5FF3545F8FF0000EFFF00B8FF00E3FFA8000000 + FDFF5562FEFF2C2CFDFF2929FCFF4848FCFFEDEDFFFFF2F2FFFFF2F2FFFFECEC + FEFF3A3AF9FF1212F7FF0F0FF6FF3848F8FF0000F1FF08009000FCFF72000000 + FDFF5764FEFF3030FDFF2D2DFDFF4B4BFCFFEDEDFFFFF2F2FFFFF2F2FFFFECEC + FFFF3D3DF9FF1616F8FF1313F7FF3C4BF8FF0000F1FF02000000E4FF5C000000 + FFFF5A67FEFF3333FEFF5050FDFFEDEDFFFFF3F3FFFFEDEDFFFFEDEDFFFFF2F2 + FFFFECECFEFF3E3EFAFF1717F8FF3F4EF9FF0000F1FFFCFF1C00000000000000 + FFFF5B68FFFF4347FEFFCFCFFFFFF3F3FFFFEDEDFFFF4C4CFCFF4A4AFCFFECEC + FFFFF2F2FFFFCACAFEFF2A2FFAFF4251FAFF0000F3FF00000000CCFF4C000000 + FFFF262BFFFF5D6AFFFF585BFFFFCFCFFFFF5252FEFF2F2FFDFF2C2CFDFF4B4B + FCFFCCCCFEFF484CFBFF4957FBFF1D23F9FF0000F5FF00000000000000000000 + 00000000FFFF262BFFFF5D6AFFFF4347FFFF3434FEFF3232FEFF3030FDFF2D2D + FDFF383CFCFF4F5DFCFF1F25FAFF0000F7FF0000000000000000000000000000 + 0000000000000000FFFF262BFFFF5C69FFFF5B68FFFF5A67FEFF5865FEFF5663 + FEFF5461FEFF2227FCFF0000FBFFFCFF1C00000000000000000008000000EFEF + EF00EFEFEF00EFEFEF000000FFFF0000FFFF0000FFFF0000FFFF0000FDFF0000 + FDFF0000FDFF0000FDFF000000000000000000000000000000009034DE009034 + DE00D86FDF00D86FDF00E0A223004AC6080000000000580000005870DF000C70 + DF000000000000000000000000002070DF000000000000000000 } NumGlyphs = 0 OnClick = btnClearClick @@ -285,7 +203,7 @@ object frmFilter: TfrmFilter end object cbTileFilter: TCheckBox Left = 4 - Height = 24 + Height = 21 Top = 4 Width = 214 Align = alTop @@ -304,12 +222,12 @@ object frmFilter: TfrmFilter Align = alBottom BorderSpacing.Around = 4 Caption = 'Hue filter' - ClientHeight = 146 + ClientHeight = 149 ClientWidth = 222 TabOrder = 2 object cbHueFilter: TCheckBox Left = 4 - Height = 24 + Height = 21 Top = 4 Width = 214 Align = alTop @@ -319,8 +237,8 @@ object frmFilter: TfrmFilter end object vdtHues: TVirtualDrawTree Left = 4 - Height = 110 - Top = 32 + Height = 116 + Top = 29 Width = 214 Align = alClient BorderSpacing.Around = 4 diff --git a/Client/UGUIPlatformUtils.pas b/Client/UGUIPlatformUtils.pas index 4f73fa7..1bae25a 100644 --- a/Client/UGUIPlatformUtils.pas +++ b/Client/UGUIPlatformUtils.pas @@ -21,7 +21,7 @@ * CDDL HEADER END * * - * Portions Copyright 2007 Andreas Schneider + * Portions Copyright 2008 Andreas Schneider *) unit UGUIPlatformUtils; @@ -32,7 +32,8 @@ interface uses Classes, SysUtils {$IFDEF LCLWin32}, windows{$ENDIF} - {$IFDEF LCLGtk}, gtk{$ENDIF}; + {$IFDEF LCLGtk}, gtk{$ENDIF} + {$IFDEF LCLGtk2}, gtk2{$ENDIF}; procedure SetWindowParent(AHandle, AParent: THANDLE); @@ -46,7 +47,15 @@ begin {$IFDEF LCLGtk} gtk_window_set_transient_for(PGtkWindow(AHandle), PGtkWindow(AParent)); {$ENDIF} + {$IFDEF LCLGtk2} + gtk_window_set_transient_for(PGtkWindow(AHandle), PGtkWindow(AParent)); + {$ENDIF} end; +initialization + {$IFDEF LCLGtk2} + gtk_rc_parse_string('style "user-font" { font_name = "Sans 8" } widget_class "*" style "user-font"'); + {$ENDIF} + end. diff --git a/Client/UfrmAbout.lfm b/Client/UfrmAbout.lfm index 24cfb74..c6bd5bc 100644 --- a/Client/UfrmAbout.lfm +++ b/Client/UfrmAbout.lfm @@ -1,105 +1,141 @@ object frmAbout: TfrmAbout Left = 290 - Height = 323 + Height = 374 Top = 171 - Width = 355 - HorzScrollBar.Page = 354 - VertScrollBar.Page = 322 - ActiveControl = btnClose + Width = 364 + HorzScrollBar.Page = 363 + VertScrollBar.Page = 373 + AutoSize = True BorderIcons = [biSystemMenu] BorderStyle = bsDialog Caption = 'About CentrED' - ClientHeight = 323 - ClientWidth = 355 + ClientHeight = 374 + ClientWidth = 364 OnCreate = FormCreate Position = poScreenCenter + LCLVersion = '0.9.25' object Label3: TLabel Left = 8 - Height = 61 - Top = 208 - Width = 339 + Height = 89 + Top = 230 + Width = 348 + Align = alTop + BorderSpacing.Top = 16 BorderSpacing.Around = 8 - Caption = 'Ultima™ Online © 1997 Electronic Arts Inc. Ultima, the UO logo, Are You With Us?, ORIGIN, the ORIGIN logo and We create worlds are trademarks or registered trademarks of Electronic Arts Inc. in the U.S. and/or other countries. All rights reserved.' + Caption = 'Ultima(tm) Online (c) 1997 Electronic Arts Inc. Ultima, the UO logo, Are You With Us?, ORIGIN, the ORIGIN logo and We create worlds are trademarks or registered trademarks of Electronic Arts Inc. in the U.S. and/or other countries. All rights reserved.' ParentColor = False WordWrap = True end object Label5: TLabel Left = 8 - Height = 16 - Top = 128 - Width = 227 + Height = 20 + Top = 120 + Width = 348 + Align = alTop + BorderSpacing.Left = 8 + BorderSpacing.Right = 8 Caption = 'It is using the following great components:' ParentColor = False end object Label6: TLabel Left = 16 - Height = 46 - Top = 144 - Width = 218 + Height = 66 + Top = 140 + Width = 340 + Align = alTop + BorderSpacing.Left = 16 + BorderSpacing.Right = 8 Caption = '- Vampyre Imaging Lib by Marek Mauder'#13#10'- lNet by Ales Katona and Micha Nelissen'#13#10'- VirtualTrees by Mike Lischke' ParentColor = False end object Label7: TLabel Left = 8 - Height = 16 - Top = 104 - Width = 310 + Height = 20 + Top = 100 + Width = 348 + Align = alTop + BorderSpacing.Left = 8 + BorderSpacing.Right = 8 Caption = 'CentrED has been developed using Lazarus and FreePascal.' ParentColor = False WordWrap = True end - object Panel1: TPanel - Height = 88 - Width = 202 - BevelInner = bvRaised - BevelOuter = bvLowered - ClientHeight = 88 - ClientWidth = 202 + object Panel2: TPanel + Height = 92 + Width = 364 + Align = alTop + AutoSize = True + BorderSpacing.Bottom = 8 + ClientHeight = 92 + ClientWidth = 364 TabOrder = 0 - object Label1: TLabel - Left = 2 - Height = 38 - Top = 2 - Width = 198 - Align = alTop - Alignment = taCenter - AutoSize = False - Caption = 'UO CentrED' - Font.Height = -27 - Font.Style = [fsBold] - ParentColor = False - end - object lblVersion: TLabel - Left = 6 - Height = 18 - Top = 40 - Width = 190 - Align = alTop - Alignment = taRightJustify - BorderSpacing.Left = 4 - BorderSpacing.Right = 4 - Font.Style = [fsItalic] - ParentColor = False - end - object lblCopyright: TLabel - Left = 6 - Height = 19 - Top = 63 - Width = 190 - Align = alBottom - Alignment = taCenter - BorderSpacing.Around = 4 - ParentColor = False + object Panel1: TPanel + Left = 1 + Height = 91 + Top = 1 + Width = 215 + AutoSize = True + BevelInner = bvRaised + BevelOuter = bvLowered + ClientHeight = 91 + ClientWidth = 215 + TabOrder = 0 + object Label1: TLabel + Left = 2 + Height = 38 + Top = 2 + Width = 211 + Align = alTop + Alignment = taCenter + AutoSize = False + Caption = 'UO CentrED' + Font.Height = -27 + Font.Style = [fsBold] + ParentColor = False + end + object lblVersion: TLabel + Left = 6 + Height = 21 + Top = 40 + Width = 203 + Align = alTop + Alignment = taRightJustify + BorderSpacing.Left = 4 + BorderSpacing.Right = 4 + Font.Style = [fsItalic] + ParentColor = False + end + object lblCopyright: TLabel + Left = 6 + Height = 22 + Top = 65 + Width = 203 + Align = alTop + Alignment = taCenter + BorderSpacing.Around = 4 + ParentColor = False + end end end - object btnClose: TButton - Left = 144 + object Panel3: TPanel + Left = 8 Height = 25 - Top = 288 - Width = 75 - BorderSpacing.InnerBorder = 4 - Caption = 'Close' - OnClick = btnCloseClick + Top = 327 + Width = 348 + Align = alTop + BorderSpacing.Around = 8 + ClientHeight = 25 + ClientWidth = 348 TabOrder = 1 + object btnClose: TButton + Left = 272 + Height = 23 + Top = 1 + Width = 75 + Align = alRight + BorderSpacing.InnerBorder = 4 + Caption = 'Close' + TabOrder = 0 + end end end diff --git a/Client/UfrmAbout.pas b/Client/UfrmAbout.pas index f49e71f..1fd6921 100644 --- a/Client/UfrmAbout.pas +++ b/Client/UfrmAbout.pas @@ -37,16 +37,18 @@ type { TfrmAbout } - TfrmAbout = class(TForm) - btnClose: TButton; + TfrmAbout = class(TForm) + btnClose: TButton; Label1: TLabel; - lblCopyright: TLabel; Label3: TLabel; - lblVersion: TLabel; Label5: TLabel; Label6: TLabel; - Label7: TLabel; - Panel1: TPanel; + Label7: TLabel; + lblCopyright: TLabel; + lblVersion: TLabel; + Panel1: TPanel; + Panel2: TPanel; + Panel3: TPanel; procedure btnCloseClick(Sender: TObject); procedure FormCreate(Sender: TObject); private diff --git a/Client/UfrmMain.lfm b/Client/UfrmMain.lfm index bc62e60..4ffe6c1 100644 --- a/Client/UfrmMain.lfm +++ b/Client/UfrmMain.lfm @@ -3,11 +3,9 @@ object frmMain: TfrmMain Height = 603 Top = 144 Width = 766 - HorzScrollBar.Page = 765 - VertScrollBar.Page = 570 ActiveControl = edX Caption = 'UO CentrED' - ClientHeight = 571 + ClientHeight = 574 ClientWidth = 766 Constraints.MinHeight = 603 Constraints.MinWidth = 766 @@ -18,10 +16,11 @@ object frmMain: TfrmMain OnDestroy = FormDestroy Position = poScreenCenter ShowInTaskBar = stAlways + LCLVersion = '0.9.25' WindowState = wsMaximized object pnlBottom: TPanel Height = 31 - Top = 540 + Top = 543 Width = 766 Align = alBottom BevelOuter = bvNone @@ -101,7 +100,7 @@ object frmMain: TfrmMain end end object pcLeft: TPageControl - Height = 516 + Height = 519 Top = 24 Width = 224 ActivePage = tsTiles @@ -110,7 +109,7 @@ object frmMain: TfrmMain TabOrder = 1 object tsTiles: TTabSheet Caption = 'Tiles' - ClientHeight = 482 + ClientHeight = 488 ClientWidth = 220 object pnlTileListSettings: TPanel Height = 56 @@ -130,7 +129,7 @@ object frmMain: TfrmMain end object cbTerrain: TCheckBox Left = 4 - Height = 24 + Height = 21 Top = 8 Width = 64 Caption = 'Terrain' @@ -141,7 +140,7 @@ object frmMain: TfrmMain end object cbStatics: TCheckBox Left = 4 - Height = 24 + Height = 21 Top = 32 Width = 62 Caption = 'Statics' @@ -161,7 +160,7 @@ object frmMain: TfrmMain end object vdtTiles: TVirtualDrawTree Tag = 1 - Height = 228 + Height = 234 Top = 56 Width = 220 Align = alClient @@ -203,17 +202,17 @@ object frmMain: TfrmMain end object gbRandom: TGroupBox Height = 193 - Top = 289 + Top = 295 Width = 220 Align = alBottom Caption = 'Random pool' - ClientHeight = 171 + ClientHeight = 174 ClientWidth = 214 TabOrder = 2 object vdtRandom: TVirtualDrawTree Tag = 1 Cursor = 63 - Height = 119 + Height = 122 Top = 22 Width = 214 Align = alClient @@ -398,7 +397,7 @@ object frmMain: TfrmMain object pnlRandomPreset: TPanel Left = 4 Height = 22 - Top = 145 + Top = 148 Width = 206 Align = alBottom BorderSpacing.Around = 4 @@ -503,7 +502,7 @@ object frmMain: TfrmMain ParentShowHint = False end object cbRandomPreset: TComboBox - Height = 21 + Height = 25 Width = 152 AutoCompleteText = [cbactEndOfLineComplete, cbactSearchAscending] MaxLength = 0 @@ -516,7 +515,7 @@ object frmMain: TfrmMain object spTileList: TSplitter Cursor = crVSplit Height = 5 - Top = 284 + Top = 290 Width = 220 Align = alBottom ResizeAnchor = akBottom @@ -538,10 +537,10 @@ object frmMain: TfrmMain end object tsClients: TTabSheet Caption = 'Clients' - ClientHeight = 516 + ClientHeight = 525 ClientWidth = 224 object lbClients: TListBox - Height = 516 + Height = 525 Width = 224 Align = alClient OnDblClick = mnuGoToClientClick @@ -553,11 +552,11 @@ object frmMain: TfrmMain end object tsLocations: TTabSheet Caption = 'Locations' - ClientHeight = 516 + ClientHeight = 525 ClientWidth = 224 object vstLocations: TVirtualStringTree Left = 4 - Height = 480 + Height = 489 Top = 4 Width = 216 Align = alClient @@ -589,7 +588,7 @@ object frmMain: TfrmMain object pnlLocationControls: TPanel Left = 4 Height = 24 - Top = 488 + Top = 497 Width = 216 Align = alBottom BorderSpacing.Around = 4 @@ -918,16 +917,16 @@ object frmMain: TfrmMain end object pnlMain: TPanel Left = 224 - Height = 516 + Height = 519 Top = 24 Width = 542 Align = alClient BevelOuter = bvNone - ClientHeight = 516 + ClientHeight = 519 ClientWidth = 542 TabOrder = 3 object oglGameWindow: TOpenGLControl - Height = 365 + Height = 368 Width = 542 Align = alClient OnDblClick = oglGameWindowDblClick @@ -941,7 +940,7 @@ object frmMain: TfrmMain end object pnlChatHeader: TPanel Height = 24 - Top = 365 + Top = 368 Width = 542 Align = alBottom BevelInner = bvRaised @@ -967,7 +966,7 @@ object frmMain: TfrmMain end object pnlChat: TPanel Height = 122 - Top = 394 + Top = 397 Width = 542 Align = alBottom BevelOuter = bvNone @@ -1018,13 +1017,13 @@ object frmMain: TfrmMain object spChat: TSplitter Cursor = crVSplit Height = 5 - Top = 389 + Top = 392 Width = 542 Align = alBottom AutoSnap = False MinSize = 100 - Visible = False ResizeAnchor = akBottom + Visible = False end end object MainMenu1: TMainMenu diff --git a/Imaging/ImagingComponents.pas b/Imaging/ImagingComponents.pas index 7f3aae3..e55b2d6 100644 --- a/Imaging/ImagingComponents.pas +++ b/Imaging/ImagingComponents.pas @@ -114,7 +114,7 @@ type { Returns file extensions of this graphic class.} class function GetFileExtensions: string; override; { Returns default MIME type of this graphic class.} - function GetDefaultMimeType: string; override; + function GetMimeType: string; override; {$ENDIF} { Default (the most common) file extension of this graphic class.} property DefaultFileExt: string read FDefaultFileExt; @@ -637,6 +637,7 @@ var {$IFDEF COMPONENT_SET_LCL} RawImage: TRawImage; LineLazBytes: LongInt; + rect: TRect; {$ENDIF} begin {$IFDEF COMPONENT_SET_LCL} @@ -725,7 +726,8 @@ begin {$IFDEF COMPONENT_SET_LCL} // Get raw image from bitmap (mask handle must be 0 or expect violations) { If you get complitation error here upgrade to Lazarus 0.9.24+ } - if RawImage_FromBitmap(RawImage, Bitmap.Handle, 0, Classes.Rect(0, 0, Data.Width, Data.Height)) then + rect := Classes.Rect(0, 0, Data.Width, Data.Height); + if RawImage_FromBitmap(RawImage, Bitmap.Handle, 0, @rect) then begin LineLazBytes := GetBytesPerLine(Data.Width, RawImage.Description.BitsPerPixel, RawImage.Description.LineEnd); @@ -1012,7 +1014,7 @@ begin Result := StringReplace(GetFileFormat.Extensions.CommaText, ',', ';', [rfReplaceAll]); end; -function TImagingGraphicForSave.GetDefaultMimeType: string; +function TImagingGraphicForSave.GetMimeType: string; begin Result := 'image/' + FDefaultFileExt; end; diff --git a/Server/UConfig.pas b/Server/UConfig.pas index 499ec53..948d375 100644 --- a/Server/UConfig.pas +++ b/Server/UConfig.pas @@ -35,7 +35,7 @@ uses type - TInvalidConfigVersionExeption = class(Exception); + TInvalidConfigException = class(Exception); { TMapInfo } @@ -202,13 +202,13 @@ begin if not ((xmlDoc.DocumentElement.NodeName = 'CEDConfig') and TryStrToInt(xmlDoc.DocumentElement.AttribStrings['Version'], version) and (version = CONFIGVERSION)) then - raise TInvalidConfigVersionExeption.Create(Format('%d <> %d', [version, CONFIGVERSION])); + raise TInvalidConfigException.Create(Format('Version mismatch: %d <> %d', [version, CONFIGVERSION])); FPort := TXmlHelper.ReadInteger(xmlDoc.DocumentElement, 'Port', 2597); xmlElement := TDOMElement(xmlDoc.DocumentElement.FindNode('Map')); if not assigned(xmlElement) then - raise TInvalidConfigVersionExeption.Create('Map information not found'); + raise TInvalidConfigException.Create('Map information not found'); FMap := TMapInfo.Deserialize(Self, xmlElement); FTiledata := TXmlHelper.ReadString(xmlDoc.DocumentElement, 'Tiledata', 'tiledata.mul'); @@ -216,7 +216,7 @@ begin xmlElement := TDOMElement(xmlDoc.DocumentElement.FindNode('Accounts')); if not assigned(xmlElement) then - raise TInvalidConfigVersionExeption.Create('Account information not found'); + raise TInvalidConfigException.Create('Account information not found'); FAccounts := TAccountList.Deserialize(Self, xmlElement); xmlDoc.Free; diff --git a/Server/ULandscape.pas b/Server/ULandscape.pas index b2936a3..e4d50b8 100644 --- a/Server/ULandscape.pas +++ b/Server/ULandscape.pas @@ -462,56 +462,8 @@ end; //Intelligent write: replace if possible, otherwise extend procedure TLandscape.Flush; -{var - blockID, blockType: Integer; - worldBlock: TWorldBlock; - index: TGenericIndex; - i, j, size: Integer;} begin - {for blockID := 0 to FWidth * FHeight - 1 do - begin - for blockType := 0 to 1 do - begin - worldBlock := FPersistentBlocks[blockID][blockType]; - if Assigned(worldBlock) and worldBlock.Changed then - begin - if worldBlock is TMapBlock then - begin - FMap.Position := ((worldBlock.X * FHeight) + worldBlock.Y) * 196; - worldBlock.Write(FMap); - for i := 0 to 63 do - TMapBlock(worldBlock).Cells[i].InitOriginalState; - worldBlock.CleanUp; - end else if worldBlock is TStaticBlock then - begin - FStaIdx.Position := ((worldBlock.X * FHeight) + worldBlock.Y) * 12; - index := TGenericIndex.Create(FStaIdx); - size := worldBlock.GetSize; - if (size > index.Size) or (index.Lookup = LongInt($FFFFFFFF)) then - begin - FStatics.Position := FStatics.Size; - index.Lookup := FStatics.Position; - end; - if size = 0 then - index.Lookup := LongInt($FFFFFFFF) - else - begin - index.Size := size; - FStatics.Position := index.Lookup; - worldBlock.Write(FStatics); - end; - FStaIdx.Seek(-12, soFromCurrent); - index.Write(FStaIdx); - index.Free; - for i := 0 to 63 do - for j := 0 to TSeperatedStaticBlock(worldBlock).Cells[i].Count - 1 do - TStaticItem(TSeperatedStaticBlock(worldBlock).Cells[i].Items[j]).InitOriginalState; - worldBlock.CleanUp; - end; - end; - end; - end;} - FBlockCache.Clear; + FBlockCache.Clear; //Clear writes modified blocks before removing them from the cache end; procedure TLandscape.SaveBlock(AWorldBlock: TWorldBlock);