- 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
This commit is contained in:
parent
c030b9c586
commit
8df2313b4d
|
@ -16,9 +16,9 @@
|
||||||
<VersionInfo>
|
<VersionInfo>
|
||||||
<UseVersionInfo Value="True"/>
|
<UseVersionInfo Value="True"/>
|
||||||
<CurrentMajorRevNr Value="4"/>
|
<CurrentMajorRevNr Value="4"/>
|
||||||
<CurrentMinorRevNr Value="2"/>
|
<CurrentMinorRevNr Value="5"/>
|
||||||
<CurrentBuildNr Value="141"/>
|
<CurrentBuildNr Value="141"/>
|
||||||
<ProjectVersion Value="0.4.2.85"/>
|
<ProjectVersion Value="0.4.5.141"/>
|
||||||
<CompanyName Value="AKS DataBasis"/>
|
<CompanyName Value="AKS DataBasis"/>
|
||||||
<FileDescription Value="UO CentrED"/>
|
<FileDescription Value="UO CentrED"/>
|
||||||
<LegalCopyright Value="Andreas Schneider"/>
|
<LegalCopyright Value="Andreas Schneider"/>
|
||||||
|
@ -282,6 +282,7 @@
|
||||||
<Debugging>
|
<Debugging>
|
||||||
<GenerateDebugInfo Value="True"/>
|
<GenerateDebugInfo Value="True"/>
|
||||||
</Debugging>
|
</Debugging>
|
||||||
|
<LinkSmart Value="True"/>
|
||||||
<Options>
|
<Options>
|
||||||
<Win32>
|
<Win32>
|
||||||
<GraphicApplication Value="True"/>
|
<GraphicApplication Value="True"/>
|
||||||
|
@ -289,8 +290,7 @@
|
||||||
</Options>
|
</Options>
|
||||||
</Linking>
|
</Linking>
|
||||||
<Other>
|
<Other>
|
||||||
<CustomOptions Value="-FE../bin/
|
<CustomOptions Value="-FE../bin/
"/>
|
||||||
"/>
|
|
||||||
<CompilerPath Value="$(CompPath)"/>
|
<CompilerPath Value="$(CompPath)"/>
|
||||||
</Other>
|
</Other>
|
||||||
</CompilerOptions>
|
</CompilerOptions>
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
1 VERSIONINFO
|
1 VERSIONINFO
|
||||||
FILEVERSION 0,4,2,141
|
FILEVERSION 0,4,5,141
|
||||||
PRODUCTVERSION 0,4,2,85
|
PRODUCTVERSION 0,4,5,141
|
||||||
{
|
{
|
||||||
BLOCK "StringFileInfo"
|
BLOCK "StringFileInfo"
|
||||||
{
|
{
|
||||||
|
@ -9,13 +9,13 @@ PRODUCTVERSION 0,4,2,85
|
||||||
VALUE "Comments", "\000"
|
VALUE "Comments", "\000"
|
||||||
VALUE "CompanyName", "AKS DataBasis\000"
|
VALUE "CompanyName", "AKS DataBasis\000"
|
||||||
VALUE "FileDescription", "UO CentrED\000"
|
VALUE "FileDescription", "UO CentrED\000"
|
||||||
VALUE "FileVersion", "0.4.2.141\000"
|
VALUE "FileVersion", "0.4.5.141\000"
|
||||||
VALUE "InternalName", "\000"
|
VALUE "InternalName", "\000"
|
||||||
VALUE "LegalCopyright", "Andreas Schneider\000"
|
VALUE "LegalCopyright", "Andreas Schneider\000"
|
||||||
VALUE "LegalTrademarks", "\000"
|
VALUE "LegalTrademarks", "\000"
|
||||||
VALUE "OriginalFilename", "CentrED.exe\000"
|
VALUE "OriginalFilename", "CentrED.exe\000"
|
||||||
VALUE "ProductName", "CentrED\000"
|
VALUE "ProductName", "CentrED\000"
|
||||||
VALUE "ProductVersion", "0.4.2.85\000"
|
VALUE "ProductVersion", "0.4.5.141\000"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
BLOCK "VarFileInfo"
|
BLOCK "VarFileInfo"
|
||||||
|
|
1097
Client/UfrmLogin.lfm
1097
Client/UfrmLogin.lfm
File diff suppressed because it is too large
Load Diff
|
@ -171,6 +171,7 @@ begin
|
||||||
lblCopyright.Caption := Format('UO CentrED Client Version %s (c) %s', [ProductVersion, Copyright]);
|
lblCopyright.Caption := Format('UO CentrED Client Version %s (c) %s', [ProductVersion, Copyright]);
|
||||||
|
|
||||||
FProfilePath := IncludeTrailingPathDelimiter(ExtractFilePath(Application.ExeName)) + 'Profiles' + PathDelim;
|
FProfilePath := IncludeTrailingPathDelimiter(ExtractFilePath(Application.ExeName)) + 'Profiles' + PathDelim;
|
||||||
|
ForceDirectories(FProfilePath);
|
||||||
if FindFirst(FProfilePath + '*.ini', faAnyFile, searchRec) = 0 then
|
if FindFirst(FProfilePath + '*.ini', faAnyFile, searchRec) = 0 then
|
||||||
begin
|
begin
|
||||||
repeat
|
repeat
|
||||||
|
|
|
@ -1,11 +1,11 @@
|
||||||
object frmMain: TfrmMain
|
object frmMain: TfrmMain
|
||||||
Left = 228
|
Left = 257
|
||||||
Height = 603
|
Height = 603
|
||||||
Top = 128
|
Top = 135
|
||||||
Width = 766
|
Width = 766
|
||||||
ActiveControl = oglGameWindow
|
ActiveControl = oglGameWindow
|
||||||
Caption = 'UO CentrED'
|
Caption = 'UO CentrED'
|
||||||
ClientHeight = 580
|
ClientHeight = 583
|
||||||
ClientWidth = 766
|
ClientWidth = 766
|
||||||
Constraints.MinHeight = 603
|
Constraints.MinHeight = 603
|
||||||
Constraints.MinWidth = 766
|
Constraints.MinWidth = 766
|
||||||
|
@ -22,7 +22,7 @@ object frmMain: TfrmMain
|
||||||
object pnlBottom: TPanel
|
object pnlBottom: TPanel
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 31
|
Height = 31
|
||||||
Top = 549
|
Top = 552
|
||||||
Width = 766
|
Width = 766
|
||||||
Align = alBottom
|
Align = alBottom
|
||||||
BevelOuter = bvNone
|
BevelOuter = bvNone
|
||||||
|
@ -33,7 +33,7 @@ object frmMain: TfrmMain
|
||||||
Left = 11
|
Left = 11
|
||||||
Height = 14
|
Height = 14
|
||||||
Top = 7
|
Top = 7
|
||||||
Width = 11
|
Width = 10
|
||||||
Caption = 'X:'
|
Caption = 'X:'
|
||||||
ParentColor = False
|
ParentColor = False
|
||||||
end
|
end
|
||||||
|
@ -41,7 +41,7 @@ object frmMain: TfrmMain
|
||||||
Left = 88
|
Left = 88
|
||||||
Height = 14
|
Height = 14
|
||||||
Top = 7
|
Top = 7
|
||||||
Width = 10
|
Width = 9
|
||||||
Caption = 'Y:'
|
Caption = 'Y:'
|
||||||
ParentColor = False
|
ParentColor = False
|
||||||
end
|
end
|
||||||
|
@ -54,10 +54,10 @@ object frmMain: TfrmMain
|
||||||
ParentColor = False
|
ParentColor = False
|
||||||
end
|
end
|
||||||
object lblTip: TLabel
|
object lblTip: TLabel
|
||||||
Left = 528
|
Left = 534
|
||||||
Height = 31
|
Height = 31
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 230
|
Width = 224
|
||||||
Align = alRight
|
Align = alRight
|
||||||
Alignment = taRightJustify
|
Alignment = taRightJustify
|
||||||
BorderSpacing.Right = 8
|
BorderSpacing.Right = 8
|
||||||
|
@ -66,10 +66,10 @@ object frmMain: TfrmMain
|
||||||
ParentColor = False
|
ParentColor = False
|
||||||
end
|
end
|
||||||
object lblTipC: TLabel
|
object lblTipC: TLabel
|
||||||
Left = 498
|
Left = 511
|
||||||
Height = 31
|
Height = 31
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 30
|
Width = 23
|
||||||
Align = alRight
|
Align = alRight
|
||||||
Caption = 'Tip: '
|
Caption = 'Tip: '
|
||||||
Font.Height = -11
|
Font.Height = -11
|
||||||
|
@ -80,7 +80,7 @@ object frmMain: TfrmMain
|
||||||
end
|
end
|
||||||
object edX: TSpinEdit
|
object edX: TSpinEdit
|
||||||
Left = 24
|
Left = 24
|
||||||
Height = 19
|
Height = 21
|
||||||
Top = 3
|
Top = 3
|
||||||
Width = 55
|
Width = 55
|
||||||
MaxValue = 100000
|
MaxValue = 100000
|
||||||
|
@ -88,7 +88,7 @@ object frmMain: TfrmMain
|
||||||
end
|
end
|
||||||
object edY: TSpinEdit
|
object edY: TSpinEdit
|
||||||
Left = 104
|
Left = 104
|
||||||
Height = 19
|
Height = 21
|
||||||
Top = 3
|
Top = 3
|
||||||
Width = 52
|
Width = 52
|
||||||
MaxValue = 100000
|
MaxValue = 100000
|
||||||
|
@ -107,7 +107,7 @@ object frmMain: TfrmMain
|
||||||
end
|
end
|
||||||
object pcLeft: TPageControl
|
object pcLeft: TPageControl
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 525
|
Height = 528
|
||||||
Top = 24
|
Top = 24
|
||||||
Width = 224
|
Width = 224
|
||||||
ActivePage = tsTiles
|
ActivePage = tsTiles
|
||||||
|
@ -116,13 +116,13 @@ object frmMain: TfrmMain
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
object tsTiles: TTabSheet
|
object tsTiles: TTabSheet
|
||||||
Caption = 'Tiles'
|
Caption = 'Tiles'
|
||||||
ClientHeight = 492
|
ClientHeight = 502
|
||||||
ClientWidth = 218
|
ClientWidth = 216
|
||||||
object lblFilter: TLabel
|
object lblFilter: TLabel
|
||||||
AnchorSideLeft.Control = cbTerrain
|
AnchorSideLeft.Control = cbTerrain
|
||||||
AnchorSideLeft.Side = asrBottom
|
AnchorSideLeft.Side = asrBottom
|
||||||
AnchorSideTop.Control = cbTerrain
|
AnchorSideTop.Control = cbTerrain
|
||||||
Left = 81
|
Left = 75
|
||||||
Height = 14
|
Height = 14
|
||||||
Top = 8
|
Top = 8
|
||||||
Width = 30
|
Width = 30
|
||||||
|
@ -139,9 +139,9 @@ object frmMain: TfrmMain
|
||||||
AnchorSideRight.Side = asrBottom
|
AnchorSideRight.Side = asrBottom
|
||||||
AnchorSideBottom.Control = spTileList
|
AnchorSideBottom.Control = spTileList
|
||||||
Left = 4
|
Left = 4
|
||||||
Height = 250
|
Height = 266
|
||||||
Top = 56
|
Top = 50
|
||||||
Width = 210
|
Width = 208
|
||||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||||
BorderSpacing.Left = 4
|
BorderSpacing.Left = 4
|
||||||
BorderSpacing.Top = 4
|
BorderSpacing.Top = 4
|
||||||
|
@ -193,13 +193,13 @@ object frmMain: TfrmMain
|
||||||
AnchorSideBottom.Side = asrBottom
|
AnchorSideBottom.Side = asrBottom
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 181
|
Height = 181
|
||||||
Top = 311
|
Top = 321
|
||||||
Width = 218
|
Width = 216
|
||||||
Align = alBottom
|
Align = alBottom
|
||||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||||
Caption = 'Random pool'
|
Caption = 'Random pool'
|
||||||
ClientHeight = 167
|
ClientHeight = 163
|
||||||
ClientWidth = 216
|
ClientWidth = 212
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
object btnAddRandom: TSpeedButton
|
object btnAddRandom: TSpeedButton
|
||||||
AnchorSideLeft.Control = gbRandom
|
AnchorSideLeft.Control = gbRandom
|
||||||
|
@ -359,10 +359,10 @@ object frmMain: TfrmMain
|
||||||
object btnRandomPresetSave: TSpeedButton
|
object btnRandomPresetSave: TSpeedButton
|
||||||
AnchorSideTop.Control = cbRandomPreset
|
AnchorSideTop.Control = cbRandomPreset
|
||||||
AnchorSideRight.Control = btnRandomPresetDelete
|
AnchorSideRight.Control = btnRandomPresetDelete
|
||||||
Left = 164
|
Left = 160
|
||||||
Height = 22
|
Height = 22
|
||||||
Hint = 'Save Preset'
|
Hint = 'Save Preset'
|
||||||
Top = 134
|
Top = 138
|
||||||
Width = 22
|
Width = 22
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
BorderSpacing.Right = 4
|
BorderSpacing.Right = 4
|
||||||
|
@ -413,10 +413,10 @@ object frmMain: TfrmMain
|
||||||
AnchorSideTop.Control = btnRandomPresetSave
|
AnchorSideTop.Control = btnRandomPresetSave
|
||||||
AnchorSideRight.Control = gbRandom
|
AnchorSideRight.Control = gbRandom
|
||||||
AnchorSideRight.Side = asrBottom
|
AnchorSideRight.Side = asrBottom
|
||||||
Left = 190
|
Left = 186
|
||||||
Height = 22
|
Height = 22
|
||||||
Hint = 'Delete Preset'
|
Hint = 'Delete Preset'
|
||||||
Top = 134
|
Top = 138
|
||||||
Width = 22
|
Width = 22
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
BorderSpacing.Right = 4
|
BorderSpacing.Right = 4
|
||||||
|
@ -473,9 +473,9 @@ object frmMain: TfrmMain
|
||||||
AnchorSideBottom.Control = cbRandomPreset
|
AnchorSideBottom.Control = cbRandomPreset
|
||||||
Cursor = 63
|
Cursor = 63
|
||||||
Left = 4
|
Left = 4
|
||||||
Height = 106
|
Height = 110
|
||||||
Top = 24
|
Top = 24
|
||||||
Width = 208
|
Width = 204
|
||||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||||
BorderSpacing.Left = 4
|
BorderSpacing.Left = 4
|
||||||
BorderSpacing.Top = 2
|
BorderSpacing.Top = 2
|
||||||
|
@ -519,14 +519,14 @@ object frmMain: TfrmMain
|
||||||
AnchorSideBottom.Control = gbRandom
|
AnchorSideBottom.Control = gbRandom
|
||||||
AnchorSideBottom.Side = asrBottom
|
AnchorSideBottom.Side = asrBottom
|
||||||
Left = 4
|
Left = 4
|
||||||
Height = 29
|
Height = 21
|
||||||
Top = 134
|
Top = 138
|
||||||
Width = 156
|
Width = 152
|
||||||
Anchors = [akLeft, akRight, akBottom]
|
Anchors = [akLeft, akRight, akBottom]
|
||||||
BorderSpacing.Left = 4
|
BorderSpacing.Left = 4
|
||||||
BorderSpacing.Right = 4
|
BorderSpacing.Right = 4
|
||||||
BorderSpacing.Bottom = 4
|
BorderSpacing.Bottom = 4
|
||||||
ItemHeight = 0
|
ItemHeight = 13
|
||||||
OnChange = cbRandomPresetChange
|
OnChange = cbRandomPresetChange
|
||||||
Style = csDropDownList
|
Style = csDropDownList
|
||||||
TabOrder = 1
|
TabOrder = 1
|
||||||
|
@ -539,8 +539,8 @@ object frmMain: TfrmMain
|
||||||
Cursor = crVSplit
|
Cursor = crVSplit
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 5
|
Height = 5
|
||||||
Top = 306
|
Top = 316
|
||||||
Width = 218
|
Width = 216
|
||||||
Align = alNone
|
Align = alNone
|
||||||
Anchors = [akLeft, akRight, akBottom]
|
Anchors = [akLeft, akRight, akBottom]
|
||||||
ResizeAnchor = akBottom
|
ResizeAnchor = akBottom
|
||||||
|
@ -550,10 +550,10 @@ object frmMain: TfrmMain
|
||||||
AnchorSideRight.Side = asrBottom
|
AnchorSideRight.Side = asrBottom
|
||||||
AnchorSideBottom.Control = vdtTiles
|
AnchorSideBottom.Control = vdtTiles
|
||||||
AnchorSideBottom.Side = asrBottom
|
AnchorSideBottom.Side = asrBottom
|
||||||
Left = 110
|
Left = 108
|
||||||
Height = 19
|
Height = 21
|
||||||
Hint = 'Append S or T to restrict the search to Statics or Terrain.'
|
Hint = 'Append S or T to restrict the search to Statics or Terrain.'
|
||||||
Top = 279
|
Top = 287
|
||||||
Width = 96
|
Width = 96
|
||||||
Anchors = [akRight, akBottom]
|
Anchors = [akRight, akBottom]
|
||||||
BorderSpacing.Right = 8
|
BorderSpacing.Right = 8
|
||||||
|
@ -572,10 +572,10 @@ object frmMain: TfrmMain
|
||||||
AnchorSideTop.Side = asrBottom
|
AnchorSideTop.Side = asrBottom
|
||||||
AnchorSideRight.Control = tsTiles
|
AnchorSideRight.Control = tsTiles
|
||||||
AnchorSideRight.Side = asrBottom
|
AnchorSideRight.Side = asrBottom
|
||||||
Left = 81
|
Left = 75
|
||||||
Height = 19
|
Height = 21
|
||||||
Top = 22
|
Top = 22
|
||||||
Width = 121
|
Width = 125
|
||||||
Anchors = [akTop, akLeft, akRight]
|
Anchors = [akTop, akLeft, akRight]
|
||||||
BorderSpacing.Right = 16
|
BorderSpacing.Right = 16
|
||||||
OnEditingDone = edFilterEditingDone
|
OnEditingDone = edFilterEditingDone
|
||||||
|
@ -586,10 +586,10 @@ object frmMain: TfrmMain
|
||||||
AnchorSideLeft.Side = asrCenter
|
AnchorSideLeft.Side = asrCenter
|
||||||
AnchorSideTop.Control = cbTerrain
|
AnchorSideTop.Control = cbTerrain
|
||||||
AnchorSideTop.Side = asrBottom
|
AnchorSideTop.Side = asrBottom
|
||||||
Left = 4
|
Left = 5
|
||||||
Height = 22
|
Height = 19
|
||||||
Top = 30
|
Top = 27
|
||||||
Width = 60
|
Width = 53
|
||||||
Caption = 'Statics'
|
Caption = 'Statics'
|
||||||
Checked = True
|
Checked = True
|
||||||
OnChange = cbStaticsChange
|
OnChange = cbStaticsChange
|
||||||
|
@ -600,9 +600,9 @@ object frmMain: TfrmMain
|
||||||
AnchorSideLeft.Control = tsTiles
|
AnchorSideLeft.Control = tsTiles
|
||||||
AnchorSideTop.Control = tsTiles
|
AnchorSideTop.Control = tsTiles
|
||||||
Left = 4
|
Left = 4
|
||||||
Height = 22
|
Height = 19
|
||||||
Top = 8
|
Top = 8
|
||||||
Width = 61
|
Width = 55
|
||||||
BorderSpacing.Left = 4
|
BorderSpacing.Left = 4
|
||||||
BorderSpacing.Top = 8
|
BorderSpacing.Top = 8
|
||||||
Caption = 'Terrain'
|
Caption = 'Terrain'
|
||||||
|
@ -614,26 +614,25 @@ object frmMain: TfrmMain
|
||||||
end
|
end
|
||||||
object tsClients: TTabSheet
|
object tsClients: TTabSheet
|
||||||
Caption = 'Clients'
|
Caption = 'Clients'
|
||||||
ClientHeight = 492
|
ClientHeight = 502
|
||||||
ClientWidth = 218
|
ClientWidth = 216
|
||||||
object lbClients: TListBox
|
object lbClients: TListBox
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 492
|
Height = 502
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 218
|
Width = 216
|
||||||
Align = alClient
|
Align = alClient
|
||||||
ItemHeight = 0
|
ItemHeight = 0
|
||||||
OnDblClick = mnuGoToClientClick
|
OnDblClick = mnuGoToClientClick
|
||||||
PopupMenu = pmClients
|
PopupMenu = pmClients
|
||||||
Sorted = True
|
Sorted = True
|
||||||
TabOrder = 0
|
TabOrder = 0
|
||||||
TopIndex = -1
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
object tsLocations: TTabSheet
|
object tsLocations: TTabSheet
|
||||||
Caption = 'Locations'
|
Caption = 'Locations'
|
||||||
ClientHeight = 492
|
ClientHeight = 502
|
||||||
ClientWidth = 218
|
ClientWidth = 216
|
||||||
object btnClearLocations: TSpeedButton
|
object btnClearLocations: TSpeedButton
|
||||||
AnchorSideLeft.Control = btnDeleteLocation
|
AnchorSideLeft.Control = btnDeleteLocation
|
||||||
AnchorSideLeft.Side = asrBottom
|
AnchorSideLeft.Side = asrBottom
|
||||||
|
@ -641,7 +640,7 @@ object frmMain: TfrmMain
|
||||||
Left = 128
|
Left = 128
|
||||||
Height = 22
|
Height = 22
|
||||||
Hint = 'Clear'
|
Hint = 'Clear'
|
||||||
Top = 450
|
Top = 460
|
||||||
Width = 23
|
Width = 23
|
||||||
BorderSpacing.Left = 4
|
BorderSpacing.Left = 4
|
||||||
Color = clBtnFace
|
Color = clBtnFace
|
||||||
|
@ -694,7 +693,7 @@ object frmMain: TfrmMain
|
||||||
Left = 101
|
Left = 101
|
||||||
Height = 22
|
Height = 22
|
||||||
Hint = 'Delete'
|
Hint = 'Delete'
|
||||||
Top = 450
|
Top = 460
|
||||||
Width = 23
|
Width = 23
|
||||||
Anchors = [akLeft, akBottom]
|
Anchors = [akLeft, akBottom]
|
||||||
BorderSpacing.Bottom = 4
|
BorderSpacing.Bottom = 4
|
||||||
|
@ -746,7 +745,7 @@ object frmMain: TfrmMain
|
||||||
Left = 74
|
Left = 74
|
||||||
Height = 22
|
Height = 22
|
||||||
Hint = 'Add'
|
Hint = 'Add'
|
||||||
Top = 450
|
Top = 460
|
||||||
Width = 23
|
Width = 23
|
||||||
Anchors = [akTop, akRight]
|
Anchors = [akTop, akRight]
|
||||||
BorderSpacing.Right = 4
|
BorderSpacing.Right = 4
|
||||||
|
@ -800,9 +799,9 @@ object frmMain: TfrmMain
|
||||||
AnchorSideBottom.Control = btnDeleteLocation
|
AnchorSideBottom.Control = btnDeleteLocation
|
||||||
Cursor = 63
|
Cursor = 63
|
||||||
Left = 4
|
Left = 4
|
||||||
Height = 428
|
Height = 438
|
||||||
Top = 18
|
Top = 18
|
||||||
Width = 210
|
Width = 208
|
||||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||||
BorderSpacing.Around = 4
|
BorderSpacing.Around = 4
|
||||||
BorderStyle = bsSingle
|
BorderStyle = bsSingle
|
||||||
|
@ -817,7 +816,7 @@ object frmMain: TfrmMain
|
||||||
item
|
item
|
||||||
Position = 1
|
Position = 1
|
||||||
Text = 'Name'
|
Text = 'Name'
|
||||||
Width = 131
|
Width = 129
|
||||||
end>
|
end>
|
||||||
Header.DefaultHeight = 17
|
Header.DefaultHeight = 17
|
||||||
Header.Options = [hoAutoResize, hoColumnResize, hoDrag, hoVisible]
|
Header.Options = [hoAutoResize, hoColumnResize, hoDrag, hoVisible]
|
||||||
|
@ -1012,7 +1011,7 @@ object frmMain: TfrmMain
|
||||||
AnchorSideBottom.Control = spChat
|
AnchorSideBottom.Control = spChat
|
||||||
Left = 224
|
Left = 224
|
||||||
Height = 22
|
Height = 22
|
||||||
Top = 413
|
Top = 416
|
||||||
Width = 542
|
Width = 542
|
||||||
Anchors = [akLeft, akRight, akBottom]
|
Anchors = [akLeft, akRight, akBottom]
|
||||||
BevelInner = bvRaised
|
BevelInner = bvRaised
|
||||||
|
@ -1025,7 +1024,7 @@ object frmMain: TfrmMain
|
||||||
Left = 10
|
Left = 10
|
||||||
Height = 18
|
Height = 18
|
||||||
Top = 2
|
Top = 2
|
||||||
Width = 104
|
Width = 101
|
||||||
Align = alLeft
|
Align = alLeft
|
||||||
BorderSpacing.Left = 8
|
BorderSpacing.Left = 8
|
||||||
Caption = 'Chat and Messages'
|
Caption = 'Chat and Messages'
|
||||||
|
@ -1046,7 +1045,7 @@ object frmMain: TfrmMain
|
||||||
AnchorSideBottom.Control = pnlBottom
|
AnchorSideBottom.Control = pnlBottom
|
||||||
Left = 224
|
Left = 224
|
||||||
Height = 109
|
Height = 109
|
||||||
Top = 440
|
Top = 443
|
||||||
Width = 542
|
Width = 542
|
||||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||||
BevelOuter = bvNone
|
BevelOuter = bvNone
|
||||||
|
@ -1057,7 +1056,7 @@ object frmMain: TfrmMain
|
||||||
object vstChat: TVirtualStringTree
|
object vstChat: TVirtualStringTree
|
||||||
Cursor = 63
|
Cursor = 63
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 90
|
Height = 88
|
||||||
Top = 0
|
Top = 0
|
||||||
Width = 542
|
Width = 542
|
||||||
Align = alClient
|
Align = alClient
|
||||||
|
@ -1095,8 +1094,8 @@ object frmMain: TfrmMain
|
||||||
end
|
end
|
||||||
object edChat: TEdit
|
object edChat: TEdit
|
||||||
Left = 0
|
Left = 0
|
||||||
Height = 19
|
Height = 21
|
||||||
Top = 90
|
Top = 88
|
||||||
Width = 542
|
Width = 542
|
||||||
Align = alBottom
|
Align = alBottom
|
||||||
OnKeyPress = edChatKeyPress
|
OnKeyPress = edChatKeyPress
|
||||||
|
@ -1111,7 +1110,7 @@ object frmMain: TfrmMain
|
||||||
Cursor = crVSplit
|
Cursor = crVSplit
|
||||||
Left = 224
|
Left = 224
|
||||||
Height = 5
|
Height = 5
|
||||||
Top = 435
|
Top = 438
|
||||||
Width = 542
|
Width = 542
|
||||||
Align = alNone
|
Align = alNone
|
||||||
Anchors = [akLeft, akRight, akBottom]
|
Anchors = [akLeft, akRight, akBottom]
|
||||||
|
@ -1128,7 +1127,7 @@ object frmMain: TfrmMain
|
||||||
AnchorSideRight.Side = asrBottom
|
AnchorSideRight.Side = asrBottom
|
||||||
AnchorSideBottom.Control = pnlChatHeader
|
AnchorSideBottom.Control = pnlChatHeader
|
||||||
Left = 224
|
Left = 224
|
||||||
Height = 389
|
Height = 392
|
||||||
Top = 24
|
Top = 24
|
||||||
Width = 542
|
Width = 542
|
||||||
Anchors = [akTop, akLeft, akRight, akBottom]
|
Anchors = [akTop, akLeft, akRight, akBottom]
|
||||||
|
|
|
@ -37,9 +37,6 @@ uses
|
||||||
ImagingClasses, dateutils, UPlatformTypes, UVector, UMap, contnrs;
|
ImagingClasses, dateutils, UPlatformTypes, UVector, UMap, contnrs;
|
||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
TVirtualTile = class(TWorldItem);
|
|
||||||
|
|
||||||
TAccessChangedListener = procedure(AAccessLevel: TAccessLevel) of object;
|
TAccessChangedListener = procedure(AAccessLevel: TAccessLevel) of object;
|
||||||
TScreenBufferState = (sbsValid, sbsIndexed, sbsFiltered);
|
TScreenBufferState = (sbsValid, sbsIndexed, sbsFiltered);
|
||||||
TScreenBufferStates = set of TScreenBufferState;
|
TScreenBufferStates = set of TScreenBufferState;
|
||||||
|
@ -1937,170 +1934,6 @@ begin
|
||||||
|
|
||||||
if highlight then
|
if highlight then
|
||||||
glDisable(GL_COLOR_LOGIC_OP);
|
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;
|
end;
|
||||||
|
|
||||||
FOverlayUI.Draw(oglGameWindow);
|
FOverlayUI.Draw(oglGameWindow);
|
||||||
|
@ -2362,6 +2195,8 @@ begin
|
||||||
virtualTile.X := tileX;
|
virtualTile.X := tileX;
|
||||||
virtualTile.Y := tileY;
|
virtualTile.Y := tileY;
|
||||||
virtualTile.Z := frmVirtualLayer.seZ.Value;
|
virtualTile.Z := frmVirtualLayer.seZ.Value;
|
||||||
|
virtualTile.Priority := virtualTile.Z;
|
||||||
|
virtualTile.PriorityBonus := MaxInt;
|
||||||
|
|
||||||
Inc(i);
|
Inc(i);
|
||||||
end;
|
end;
|
||||||
|
|
|
@ -101,6 +101,8 @@ type
|
||||||
procedure CleanUp;
|
procedure CleanUp;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
TVirtualTile = class(TWorldItem);
|
||||||
|
|
||||||
function CompareWorldItems(AItem1, AItem2: Pointer): Integer;
|
function CompareWorldItems(AItem1, AItem2: Pointer): Integer;
|
||||||
|
|
||||||
implementation
|
implementation
|
||||||
|
@ -122,6 +124,10 @@ begin
|
||||||
if (TObject(AItem1) is TMapCell) and (TObject(AItem2) is TStaticItem) then
|
if (TObject(AItem1) is TMapCell) and (TObject(AItem2) is TStaticItem) then
|
||||||
Result := -1
|
Result := -1
|
||||||
else if (TObject(AItem1) is TStaticItem) and (TObject(AItem2) is TMapCell) then
|
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;
|
Result := 1;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
const
|
const
|
||||||
ProductVersion = '0.4.1';
|
ProductVersion = '0.4.5';
|
||||||
ProtocolVersion = 6;
|
ProtocolVersion = 6;
|
||||||
Revision = '71';
|
Revision = '71';
|
||||||
Copyright = '2008 Andreas Schneider';
|
Copyright = '2009 Andreas Schneider';
|
||||||
|
|
Loading…
Reference in New Issue