Ignore:
Timestamp:
Oct 4, 2014, 11:33:16 PM (10 years ago)
Author:
chronos
Message:
  • Added: New game option "Map shape" which can use image in file as base for map generation. Black color is used as void.
  • Modified: New game dialog restructured to separate player, map and rules settings.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Forms/UFormNew.lfm

    r74 r75  
    11object FormNew: TFormNew
    2   Left = 440
    3   Height = 614
    4   Top = 178
    5   Width = 716
     2  Left = 987
     3  Height = 528
     4  Top = 500
     5  Width = 745
    66  Caption = 'New game'
    7   ClientHeight = 614
    8   ClientWidth = 716
     7  ClientHeight = 528
     8  ClientWidth = 745
    99  OnCreate = FormCreate
    1010  OnDestroy = FormDestroy
    1111  OnShow = FormShow
    1212  LCLVersion = '1.3'
    13   object Panel1: TPanel
    14     Left = 0
    15     Height = 170
    16     Top = 0
    17     Width = 716
    18     Align = alTop
    19     BevelOuter = bvNone
    20     ClientHeight = 170
    21     ClientWidth = 716
    22     TabOrder = 0
    23     object ListView1: TListView
    24       Left = 16
    25       Height = 150
    26       Top = 8
    27       Width = 594
    28       Anchors = [akTop, akLeft, akRight, akBottom]
    29       Columns = <     
    30         item
    31           Caption = 'Name'
    32           Width = 200
    33         end     
    34         item
    35           Caption = 'Type'
    36           Width = 100
    37         end     
    38         item
    39           Caption = 'Color'
    40           Width = 100
    41         end     
    42         item
    43           Caption = 'Start units'
    44           Width = 177
    45         end>
    46       OwnerData = True
    47       ReadOnly = True
    48       RowSelect = True
    49       TabOrder = 0
    50       ViewStyle = vsReport
    51       OnCustomDrawSubItem = ListView1CustomDrawSubItem
    52       OnData = ListView1Data
    53       OnDblClick = ListView1DblClick
    54       OnKeyPress = ListView1KeyPress
    55       OnKeyUp = ListView1KeyUp
    56       OnSelectItem = ListView1SelectItem
    57     end
    58     object ButtonPlayerAdd: TButton
    59       Left = 616
    60       Height = 25
    61       Top = 8
    62       Width = 83
    63       Action = APlayerAdd
    64       Anchors = [akTop, akLeft, akRight]
    65       Caption = 'Add'
    66       TabOrder = 1
    67     end
    68     object ButtonPlayerRemove: TButton
    69       Left = 616
    70       Height = 25
    71       Top = 40
    72       Width = 83
    73       Action = APlayerRemove
    74       Anchors = [akTop, akRight]
    75       Caption = 'Remove'
    76       TabOrder = 2
    77     end
    78     object ButtonPlayerModify: TButton
    79       Left = 616
    80       Height = 25
    81       Top = 72
    82       Width = 83
    83       Action = APlayerModify
    84       Anchors = [akTop, akRight]
    85       Caption = 'Modify'
    86       TabOrder = 3
    87     end
    88   end
    8913  object Splitter1: TSplitter
    9014    Cursor = crVSplit
    9115    Left = 0
    9216    Height = 5
    93     Top = 170
    94     Width = 716
     17    Top = 0
     18    Width = 745
    9519    Align = alTop
    9620    ResizeAnchor = akTop
    9721  end
    98   object Panel2: TPanel
     22  object ButtonCancel: TButton
     23    Left = 522
     24    Height = 25
     25    Top = 486
     26    Width = 75
     27    Anchors = [akBottom]
     28    Caption = 'Cancel'
     29    ModalResult = 2
     30    TabOrder = 1
     31  end
     32  object ButtonOk: TButton
     33    Left = 626
     34    Height = 25
     35    Top = 486
     36    Width = 75
     37    Anchors = [akRight, akBottom]
     38    Caption = 'Ok'
     39    ModalResult = 1
     40    TabOrder = 2
     41  end
     42  object PageControl1: TPageControl
    9943    Left = 0
    100     Height = 439
    101     Top = 175
    102     Width = 716
    103     Align = alClient
    104     BevelOuter = bvNone
    105     ClientHeight = 439
    106     ClientWidth = 716
    107     TabOrder = 2
    108     object ButtonOk: TButton
    109       Left = 624
    110       Height = 25
    111       Top = 392
    112       Width = 75
    113       Anchors = [akRight, akBottom]
    114       Caption = 'Ok'
    115       ModalResult = 1
    116       TabOrder = 0
    117     end
    118     object ButtonCancel: TButton
    119       Left = 535
    120       Height = 25
    121       Top = 392
    122       Width = 75
    123       Anchors = [akBottom]
    124       Caption = 'Cancel'
    125       ModalResult = 2
    126       TabOrder = 1
    127     end
    128     object CheckBoxVoid: TCheckBox
    129       Left = 8
    130       Height = 27
    131       Top = 101
    132       Width = 198
    133       Caption = 'Inaccessible places'
    134       OnChange = CheckBoxVoidChange
    135       TabOrder = 2
    136     end
    137     object Label1: TLabel
    138       Left = 8
    139       Height = 25
    140       Top = 9
    141       Width = 104
    142       Caption = 'Map width:'
    143       ParentColor = False
    144     end
    145     object SpinEditMapSizeX: TSpinEdit
    146       Left = 128
    147       Height = 35
    148       Top = 4
    149       Width = 98
    150       MinValue = 2
    151       OnChange = SpinEditMapSizeXChange
    152       TabOrder = 3
    153       Value = 2
    154     end
    155     object SpinEditMapSizeY: TSpinEdit
    156       Left = 128
    157       Height = 35
    158       Top = 55
    159       Width = 98
    160       MinValue = 2
    161       OnChange = SpinEditMapSizeYChange
    162       TabOrder = 4
    163       Value = 2
    164     end
    165     object SpinEditVoidPercent: TSpinEdit
    166       Left = 216
    167       Height = 35
    168       Top = 97
    169       Width = 106
    170       MinValue = 1
    171       TabOrder = 5
    172       Value = 1
    173     end
    174     object Label3: TLabel
    175       Left = 331
    176       Height = 25
    177       Top = 102
    178       Width = 17
    179       Caption = '%'
    180       ParentColor = False
    181     end
    182     object TrackBarSizeX: TTrackBar
    183       Left = 240
    184       Height = 46
    185       Top = 1
    186       Width = 451
    187       Max = 100
    188       Min = 2
    189       OnChange = TrackBarSizeXChange
    190       Position = 2
    191       TickStyle = tsNone
    192       Anchors = [akTop, akLeft, akRight]
    193       TabOrder = 6
    194     end
    195     object TrackBarSizeY: TTrackBar
    196       Left = 240
    197       Height = 46
    198       Top = 49
    199       Width = 451
    200       Max = 100
    201       Min = 2
    202       OnChange = TrackBarSizeYChange
    203       Position = 2
    204       TickStyle = tsNone
    205       Anchors = [akTop, akLeft, akRight]
    206       TabOrder = 7
    207     end
    208     object Label2: TLabel
    209       Left = 8
    210       Height = 25
    211       Top = 57
    212       Width = 110
    213       Caption = 'Map height:'
    214       ParentColor = False
    215     end
    216     object CheckBoxCity: TCheckBox
    217       Left = 8
    218       Height = 27
    219       Top = 141
    220       Width = 73
    221       Caption = 'Cities'
    222       OnChange = CheckBoxCityChange
    223       TabOrder = 8
    224     end
    225     object SpinEditCityPercent: TSpinEdit
    226       Left = 216
    227       Height = 35
    228       Top = 137
    229       Width = 106
    230       MinValue = 1
    231       TabOrder = 9
    232       Value = 1
    233     end
    234     object Label4: TLabel
    235       Left = 331
    236       Height = 25
    237       Top = 142
    238       Width = 17
    239       Caption = '%'
    240       ParentColor = False
    241     end
    242     object RadioGroupGrowAmount: TRadioGroup
    243       Left = 376
    244       Height = 76
    245       Top = 97
    246       Width = 305
    247       AutoFill = True
    248       Caption = 'Per turn grow amount'
    249       ChildSizing.LeftRightSpacing = 6
    250       ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
    251       ChildSizing.EnlargeVertical = crsHomogenousChildResize
    252       ChildSizing.ShrinkHorizontal = crsScaleChilds
    253       ChildSizing.ShrinkVertical = crsScaleChilds
    254       ChildSizing.Layout = cclLeftToRightThenTopToBottom
    255       ChildSizing.ControlsPerLine = 1
    256       ClientHeight = 49
    257       ClientWidth = 301
    258       Items.Strings = (
    259         'By one'
    260         'By square root'
    261       )
    262       TabOrder = 10
    263     end
    264     object RadioGroupGrowCells: TRadioGroup
    265       Left = 8
    266       Height = 105
    267       Top = 184
    268       Width = 312
    269       AutoFill = True
    270       Caption = 'Growing cells'
    271       ChildSizing.LeftRightSpacing = 6
    272       ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
    273       ChildSizing.EnlargeVertical = crsHomogenousChildResize
    274       ChildSizing.ShrinkHorizontal = crsScaleChilds
    275       ChildSizing.ShrinkVertical = crsScaleChilds
    276       ChildSizing.Layout = cclLeftToRightThenTopToBottom
    277       ChildSizing.ControlsPerLine = 1
    278       ClientHeight = 78
    279       ClientWidth = 308
    280       Items.Strings = (
    281         'None'
    282         'Player cities'
    283         'Player all'
    284       )
    285       TabOrder = 11
    286     end
    287     object ComboBoxGridType: TComboBox
    288       Left = 473
    289       Height = 37
    290       Top = 201
    291       Width = 208
    292       ItemHeight = 0
    293       Items.Strings = (
    294         'Hexagonal'
    295         'Square'
    296         'Triangular'
    297       )
    298       Style = csDropDownList
    299       TabOrder = 12
    300     end
    301     object Label5: TLabel
    302       Left = 336
    303       Height = 25
    304       Top = 201
    305       Width = 90
    306       Caption = 'Grid type:'
    307       ParentColor = False
    308     end
    309     object Label6: TLabel
    310       Left = 8
    311       Height = 25
    312       Top = 313
    313       Width = 129
    314       Caption = 'Win objective:'
    315       ParentColor = False
    316     end
    317     object ComboBoxWinObjective: TComboBox
    318       Left = 232
    319       Height = 37
    320       Top = 305
    321       Width = 328
    322       ItemHeight = 0
    323       Items.Strings = (
    324         'Defeat all oponents'
    325         'Defeat all oponents cities'
    326         'Capture position'
    327         'Stay alive for number of turns'
    328       )
    329       Style = csDropDownList
    330       TabOrder = 13
    331     end
    332     object Label7: TLabel
    333       Left = 8
    334       Height = 25
    335       Top = 348
    336       Width = 245
    337       Caption = 'Max random neutral units:'
    338       ParentColor = False
    339     end
    340     object SpinEditNeutralUnits: TSpinEdit
    341       Left = 384
    342       Height = 35
    343       Top = 344
    344       Width = 98
    345       MaxValue = 99
    346       OnChange = SpinEditMapSizeYChange
    347       TabOrder = 14
    348       Value = 12
    349     end
    350     object CheckBoxSymetricMap: TCheckBox
    351       Left = 334
    352       Height = 27
    353       Top = 238
    354       Width = 151
    355       Caption = 'Symetric map'
    356       TabOrder = 15
     44    Height = 465
     45    Top = 5
     46    Width = 745
     47    ActivePage = TabSheet1
     48    Align = alTop
     49    Anchors = [akTop, akLeft, akRight, akBottom]
     50    TabIndex = 0
     51    TabOrder = 3
     52    object TabSheet1: TTabSheet
     53      Caption = 'Players'
     54      ClientHeight = 422
     55      ClientWidth = 739
     56      object ListView1: TListView
     57        Left = 8
     58        Height = 368
     59        Top = 8
     60        Width = 713
     61        Anchors = [akTop, akLeft, akRight, akBottom]
     62        Columns = <       
     63          item
     64            Caption = 'Name'
     65            Width = 200
     66          end       
     67          item
     68            Caption = 'Type'
     69            Width = 100
     70          end       
     71          item
     72            Caption = 'Color'
     73            Width = 100
     74          end       
     75          item
     76            Caption = 'Start units'
     77            Width = 296
     78          end>
     79        OwnerData = True
     80        PopupMenu = PopupMenu1
     81        ReadOnly = True
     82        RowSelect = True
     83        TabOrder = 0
     84        ViewStyle = vsReport
     85        OnCustomDrawSubItem = ListView1CustomDrawSubItem
     86        OnData = ListView1Data
     87        OnDblClick = ListView1DblClick
     88        OnKeyPress = ListView1KeyPress
     89        OnKeyUp = ListView1KeyUp
     90        OnSelectItem = ListView1SelectItem
     91      end
     92      object ButtonPlayerRemove: TButton
     93        Left = 240
     94        Height = 25
     95        Top = 384
     96        Width = 83
     97        Action = APlayerRemove
     98        Anchors = [akRight, akBottom]
     99        TabOrder = 1
     100      end
     101      object ButtonPlayerAdd: TButton
     102        Left = 32
     103        Height = 25
     104        Top = 384
     105        Width = 83
     106        Action = APlayerAdd
     107        Anchors = [akRight, akBottom]
     108        TabOrder = 2
     109      end
     110      object ButtonPlayerModify: TButton
     111        Left = 136
     112        Height = 25
     113        Top = 384
     114        Width = 83
     115        Action = APlayerModify
     116        Anchors = [akRight, akBottom]
     117        Caption = 'Modify'
     118        TabOrder = 3
     119      end
     120    end
     121    object TabSheet2: TTabSheet
     122      Caption = 'Map'
     123      ClientHeight = 422
     124      ClientWidth = 739
     125      object Label1: TLabel
     126        Left = 8
     127        Height = 25
     128        Top = 9
     129        Width = 104
     130        Caption = 'Map width:'
     131        ParentColor = False
     132      end
     133      object Label2: TLabel
     134        Left = 8
     135        Height = 25
     136        Top = 57
     137        Width = 110
     138        Caption = 'Map height:'
     139        ParentColor = False
     140      end
     141      object SpinEditMapSizeX: TSpinEdit
     142        Left = 128
     143        Height = 35
     144        Top = 4
     145        Width = 98
     146        MinValue = 2
     147        OnChange = SpinEditMapSizeXChange
     148        TabOrder = 0
     149        Value = 2
     150      end
     151      object SpinEditMapSizeY: TSpinEdit
     152        Left = 128
     153        Height = 35
     154        Top = 55
     155        Width = 98
     156        MinValue = 2
     157        OnChange = SpinEditMapSizeYChange
     158        TabOrder = 1
     159        Value = 2
     160      end
     161      object TrackBarSizeX: TTrackBar
     162        Left = 240
     163        Height = 46
     164        Top = 8
     165        Width = 488
     166        Max = 100
     167        Min = 2
     168        OnChange = TrackBarSizeXChange
     169        Position = 2
     170        TickStyle = tsNone
     171        Anchors = [akTop, akLeft, akRight]
     172        TabOrder = 2
     173      end
     174      object TrackBarSizeY: TTrackBar
     175        Left = 240
     176        Height = 46
     177        Top = 49
     178        Width = 488
     179        Max = 100
     180        Min = 2
     181        OnChange = TrackBarSizeYChange
     182        Position = 2
     183        TickStyle = tsNone
     184        Anchors = [akTop, akLeft, akRight]
     185        TabOrder = 3
     186      end
     187      object Label5: TLabel
     188        Left = 8
     189        Height = 25
     190        Top = 104
     191        Width = 90
     192        Caption = 'Grid type:'
     193        ParentColor = False
     194      end
     195      object ComboBoxGridType: TComboBox
     196        Left = 146
     197        Height = 33
     198        Top = 104
     199        Width = 208
     200        ItemHeight = 0
     201        Items.Strings = (
     202          'Hexagonal'
     203          'Square'
     204          'Triangular'
     205        )
     206        Style = csDropDownList
     207        TabOrder = 4
     208      end
     209      object ComboBoxMapShape: TComboBox
     210        Left = 146
     211        Height = 33
     212        Top = 144
     213        Width = 208
     214        ItemHeight = 0
     215        Items.Strings = (
     216          'Hexagonal'
     217          'Square'
     218          'Triangular'
     219        )
     220        OnChange = ComboBoxMapShapeChange
     221        Style = csDropDownList
     222        TabOrder = 5
     223      end
     224      object Label8: TLabel
     225        Left = 8
     226        Height = 25
     227        Top = 144
     228        Width = 107
     229        Caption = 'Map shape:'
     230        ParentColor = False
     231      end
     232      object CheckBoxSymetricMap: TCheckBox
     233        Left = 472
     234        Height = 27
     235        Top = 110
     236        Width = 151
     237        Caption = 'Symetric map'
     238        TabOrder = 6
     239      end
     240      object SpinEditVoidPercent: TSpinEdit
     241        Left = 216
     242        Height = 35
     243        Top = 224
     244        Width = 106
     245        MinValue = 1
     246        TabOrder = 7
     247        Value = 1
     248      end
     249      object CheckBoxVoid: TCheckBox
     250        Left = 8
     251        Height = 27
     252        Top = 232
     253        Width = 198
     254        Caption = 'Inaccessible places'
     255        OnChange = CheckBoxVoidChange
     256        TabOrder = 8
     257      end
     258      object CheckBoxCity: TCheckBox
     259        Left = 8
     260        Height = 27
     261        Top = 272
     262        Width = 73
     263        Caption = 'Cities'
     264        OnChange = CheckBoxCityChange
     265        TabOrder = 9
     266      end
     267      object SpinEditCityPercent: TSpinEdit
     268        Left = 216
     269        Height = 35
     270        Top = 272
     271        Width = 106
     272        MinValue = 1
     273        TabOrder = 10
     274        Value = 1
     275      end
     276      object Label4: TLabel
     277        Left = 331
     278        Height = 25
     279        Top = 272
     280        Width = 17
     281        Caption = '%'
     282        ParentColor = False
     283      end
     284      object Label3: TLabel
     285        Left = 331
     286        Height = 25
     287        Top = 232
     288        Width = 17
     289        Caption = '%'
     290        ParentColor = False
     291      end
     292      object SpinEditNeutralUnits: TSpinEdit
     293        Left = 408
     294        Height = 35
     295        Top = 352
     296        Width = 98
     297        MaxValue = 99
     298        OnChange = SpinEditMapSizeYChange
     299        TabOrder = 11
     300        Value = 12
     301      end
     302      object Label7: TLabel
     303        Left = 8
     304        Height = 25
     305        Top = 352
     306        Width = 245
     307        Caption = 'Max random neutral units:'
     308        ParentColor = False
     309      end
     310      object EditImageFile: TEdit
     311        Left = 144
     312        Height = 35
     313        Top = 184
     314        Width = 472
     315        Anchors = [akTop, akLeft, akRight]
     316        TabOrder = 12
     317      end
     318      object ButtonImageBrowse: TButton
     319        Left = 624
     320        Height = 25
     321        Top = 192
     322        Width = 99
     323        Anchors = [akTop, akRight]
     324        Caption = 'Browse'
     325        OnClick = ButtonImageBrowseClick
     326        TabOrder = 13
     327      end
     328      object Label9: TLabel
     329        Left = 8
     330        Height = 25
     331        Top = 184
     332        Width = 98
     333        Caption = 'Image file:'
     334        ParentColor = False
     335      end
     336    end
     337    object TabSheet3: TTabSheet
     338      Caption = 'Rules'
     339      ClientHeight = 422
     340      ClientWidth = 739
     341      object RadioGroupGrowCells: TRadioGroup
     342        Left = 8
     343        Height = 105
     344        Top = 104
     345        Width = 312
     346        AutoFill = True
     347        Caption = 'Growing cells'
     348        ChildSizing.LeftRightSpacing = 6
     349        ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
     350        ChildSizing.EnlargeVertical = crsHomogenousChildResize
     351        ChildSizing.ShrinkHorizontal = crsScaleChilds
     352        ChildSizing.ShrinkVertical = crsScaleChilds
     353        ChildSizing.Layout = cclLeftToRightThenTopToBottom
     354        ChildSizing.ControlsPerLine = 1
     355        ClientHeight = 78
     356        ClientWidth = 308
     357        Items.Strings = (
     358          'None'
     359          'Player cities'
     360          'Player all'
     361        )
     362        TabOrder = 0
     363      end
     364      object Label6: TLabel
     365        Left = 8
     366        Height = 25
     367        Top = 248
     368        Width = 129
     369        Caption = 'Win objective:'
     370        ParentColor = False
     371      end
     372      object ComboBoxWinObjective: TComboBox
     373        Left = 232
     374        Height = 37
     375        Top = 240
     376        Width = 328
     377        ItemHeight = 0
     378        Items.Strings = (
     379          'Defeat all oponents'
     380          'Defeat all oponents cities'
     381          'Capture position'
     382          'Stay alive for number of turns'
     383        )
     384        Style = csDropDownList
     385        TabOrder = 1
     386      end
     387      object RadioGroupGrowAmount: TRadioGroup
     388        Left = 15
     389        Height = 76
     390        Top = 16
     391        Width = 305
     392        AutoFill = True
     393        Caption = 'Per turn grow amount'
     394        ChildSizing.LeftRightSpacing = 6
     395        ChildSizing.EnlargeHorizontal = crsHomogenousChildResize
     396        ChildSizing.EnlargeVertical = crsHomogenousChildResize
     397        ChildSizing.ShrinkHorizontal = crsScaleChilds
     398        ChildSizing.ShrinkVertical = crsScaleChilds
     399        ChildSizing.Layout = cclLeftToRightThenTopToBottom
     400        ChildSizing.ControlsPerLine = 1
     401        ClientHeight = 49
     402        ClientWidth = 301
     403        Items.Strings = (
     404          'By one'
     405          'By square root'
     406        )
     407        TabOrder = 2
     408      end
    357409    end
    358410  end
    359411  object ActionList1: TActionList
    360412    Images = Core.ImageListSmall
    361     left = 224
    362     top = 64
     413    left = 256
     414    top = 440
    363415    object APlayerModify: TAction
    364416      Caption = 'Modify player'
     
    366418    end
    367419    object APlayerAdd: TAction
    368       Caption = 'Add player'
     420      Caption = 'Add'
    369421      OnExecute = APlayerAddExecute
    370422    end
    371423    object APlayerRemove: TAction
    372       Caption = 'Remove player'
     424      Caption = 'Remove'
    373425      OnExecute = APlayerRemoveExecute
    374426    end
    375427  end
     428  object OpenPictureDialog1: TOpenPictureDialog
     429    left = 616
     430    top = 280
     431  end
     432  object PopupMenu1: TPopupMenu
     433    left = 128
     434    top = 143
     435    object MenuItem1: TMenuItem
     436      Action = APlayerAdd
     437    end
     438    object MenuItem2: TMenuItem
     439      Action = APlayerModify
     440      Default = True
     441    end
     442    object MenuItem3: TMenuItem
     443      Action = APlayerRemove
     444    end
     445  end
    376446end
Note: See TracChangeset for help on using the changeset viewer.