Changeset 22


Ignore:
Timestamp:
Sep 28, 2011, 3:10:01 PM (13 years ago)
Author:
george
Message:
  • Added: Definition class for surface matter types.
Location:
trunk
Files:
2 added
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Forms/UMainForm.pas

    r21 r22  
    115115    PlayerCount := 4;
    116116    with TPlayer(Players[0]) do begin
     117      Name := 'Player 1';
    117118      Keys.Left := 65;
    118119      Keys.Down := 83;
     
    122123    end;
    123124    with TPlayer(Players[1]) do begin
     125      Name := 'Player 2';
    124126      Keys.Left := 37;
    125127      Keys.Down := 40;
     
    129131    end;
    130132    with TPlayer(Players[2]) do begin
     133      Name := 'Player 3';
    131134      Keys.Left := 76;
    132135      Keys.Down := 186;
     
    136139    end;
    137140    with TPlayer(Players[3]) do begin
     141      Name := 'Player 4';
    138142      Keys.Left := 100;
    139143      Keys.Down := 98;
  • trunk/Forms/UNewGameForm.lfm

    r21 r22  
    1717    Caption = 'Start'
    1818    ModalResult = 1
     19    OnClick = ButtonStartClick
    1920    TabOrder = 0
    2021  end
     
    5960    TabOrder = 2
    6061    ViewStyle = vsReport
     62    OnChange = ListView1Change
    6163  end
    6264end
  • trunk/Forms/UNewGameForm.pas

    r21 r22  
    1818    Label1: TLabel;
    1919    ListView1: TListView;
     20    procedure ButtonStartClick(Sender: TObject);
    2021    procedure FormCreate(Sender: TObject);
     22    procedure ListView1Change(Sender: TObject; Item: TListItem;
     23      Change: TItemChange);
    2124  private
    2225    { private declarations }
     
    5255      NewItem.SubItems.Add('');
    5356      NewItem.Checked := Enabled;
     57      NewItem.Data := Pointer(Engine.Players[I]);
    5458    end;
    5559  finally
     
    5862end;
    5963
     64procedure TNewGameForm.ListView1Change(Sender: TObject; Item: TListItem;
     65  Change: TItemChange);
     66begin
     67  if Change = ctState then
     68    TPlayer(Item.Data).Enabled := Item.Checked;
     69end;
     70
     71procedure TNewGameForm.ButtonStartClick(Sender: TObject);
     72begin
     73
     74end;
     75
    6076end.
    6177
  • trunk/Languages

    • Property svn:ignore set to
      *.mo
  • trunk/UCore.pas

    r21 r22  
    2424  TPlayer = class;
    2525
    26   TSurfaceMatter = (smNothing, smDirt1, smDirt2, smRock, smCannon,
    27     smBullet1, smBullet2,
    28     smPlayer1H, smPlayer1L, smPlayer2H, smPlayer2L,
    29     smPlayer3H, smPlayer3L, smPlayer4H, smPlayer4L);
    30 
    3126  TRealPoint = record
    3227    X, Y: Real;
     
    6156    destructor Destroy; override;
    6257  end;
     58
     59  TMatterIndex = (miSpace, miDirt1, miDirt2, miRock, miBullet1, miBullet2,
     60    miPlayer1Cannon, miPlayer1Home, miPlayer1TankBody, miPlayer1TankBody2,
     61    miPlayer2Cannon, miPlayer2Home, miPlayer2TankBody, miPlayer2TankBody2,
     62    miPlayer3Cannon, miPlayer3Home, miPlayer3TankBody, miPlayer3TankBody2,
     63    miPlayer4Cannon, miPlayer4Home, miPlayer4TankBody, miPlayer4TankBody2,
     64    miPlayer5Cannon, miPlayer5Home, miPlayer5TankBody, miPlayer5TankBody2,
     65    miPlayer6Cannon, miPlayer6Home, miPlayer6TankBody, miPlayer6TankBody2,
     66    miPlayer7Cannon, miPlayer7Home, miPlayer7TankBody, miPlayer7TankBody2,
     67    miPlayer8Cannon, miPlayer8Home, miPlayer8TankBody, miPlayer8TankBody2);
     68
     69  TMatterKind = (mkSpace, mkDirt, mkRock, mkCannon, mkBullet, mkTankBody,
     70    mkHome);
    6371
    6472  { TPlayer }
     
    96104    procedure Paint;
    97105    procedure PlaceHouse;
    98     function CheckColision: TSurfaceMatter;
     106    function CheckColision: TMatterIndex;
    99107    procedure ShowTank;
    100108    procedure HideTank;
     
    105113  end;
    106114
     115  { TMatter }
     116
     117  TMatter = class
     118    Kind: TMatterKind;
     119    Player: Integer;
     120    Color: TColor;
     121  end;
     122
    107123  { TWorld }
    108124
     
    111127    function GetSize: TMatrixByteIndex;
    112128    procedure SetSize(const AValue: TMatrixByteIndex);
     129    procedure InitMatter;
    113130  public
    114131    Engine: TEngine;
    115132    Surface: TMatrixByte;
     133    Matter: TListObject; // TListObject<TMatter>
    116134    procedure Generate;
    117135    constructor Create;
     
    183201
    184202const
    185   SurfaceMatterColors: array[TSurfaceMatter] of TColor = (clBlack, $0756b0,
    186     $2170c3, TColor($9a9a9a), clYellow, clRed, clRed,
    187     TColor($00ff00), TColor($00a000), TColor($ff2c2c), TColor($b60000),
    188     TColor($0000ff), TColor($0000a0), TColor($ff2cff), TColor($b600b6));
    189203  DirectionToDelta: array[0..7] of TPoint =
    190204    ((X: 0; Y: -1), (X: 1; Y: -1), (X: 1; Y: 0), (X: 1; Y: 1),
     
    273287end;
    274288
     289procedure TWorld.InitMatter;
     290begin
     291  // Space
     292  with TMatter(Matter.AddNew(TMatter.Create)) do begin
     293    Kind := mkSpace;
     294    Color := clBlack;
     295    Player := -1;
     296  end;
     297  // Dirt1
     298  with TMatter(Matter.AddNew(TMatter.Create)) do begin
     299    Kind := mkDirt;
     300    Color := $0756b0;
     301    Player := -1;
     302  end;
     303  // Dirt2
     304  with TMatter(Matter.AddNew(TMatter.Create)) do begin
     305    Kind := mkDirt;
     306    Color := $2170c3;
     307    Player := -1;
     308  end;
     309  // Rock
     310  with TMatter(Matter.AddNew(TMatter.Create)) do begin
     311    Kind := mkRock;
     312    Color := TColor($9a9a9a);
     313    Player := -1;
     314  end;
     315  // Bullet1
     316  with TMatter(Matter.AddNew(TMatter.Create)) do begin
     317    Kind := mkBullet;
     318    Color := clRed;
     319    Player := -1;
     320  end;
     321  // Bullet2
     322  with TMatter(Matter.AddNew(TMatter.Create)) do begin
     323    Kind := mkBullet;
     324    Color := clRed;
     325    Player := -1;
     326  end;
     327
     328  // Player 1 cannon
     329  with TMatter(Matter.AddNew(TMatter.Create)) do begin
     330    Kind := mkCannon;
     331    Color := clYellow;
     332    Player := 0;
     333  end;
     334  // Player 1 home
     335  with TMatter(Matter.AddNew(TMatter.Create)) do begin
     336    Kind := mkHome;
     337    Color := TColor($00ff00);
     338    Player := 0;
     339  end;
     340  // Player 1 body1
     341  with TMatter(Matter.AddNew(TMatter.Create)) do begin
     342    Kind := mkTankBody;
     343    Color := TColor($00ff00);
     344    Player := 0;
     345  end;
     346  // Player 1 body2
     347  with TMatter(Matter.AddNew(TMatter.Create)) do begin
     348    Kind := mkTankBody;
     349    Color := TColor($00a000);
     350    Player := 0;
     351  end;
     352
     353  // Player 2 cannon
     354  with TMatter(Matter.AddNew(TMatter.Create)) do begin
     355    Kind := mkCannon;
     356    Color := clYellow;
     357    Player := 1;
     358  end;
     359  // Player 2 home
     360  with TMatter(Matter.AddNew(TMatter.Create)) do begin
     361    Kind := mkHome;
     362    Color :=  TColor($ff2c2c);
     363    Player := 1;
     364  end;
     365  // Player 2 body1
     366  with TMatter(Matter.AddNew(TMatter.Create)) do begin
     367    Kind := mkTankBody;
     368    Color := TColor($ff2c2c);
     369    Player := 1;
     370  end;
     371  // Player 2 body2
     372  with TMatter(Matter.AddNew(TMatter.Create)) do begin
     373    Kind := mkTankBody;
     374    Color := TColor($b60000);
     375    Player := 1;
     376  end;
     377
     378  // Player 3 cannon
     379  with TMatter(Matter.AddNew(TMatter.Create)) do begin
     380    Kind := mkCannon;
     381    Color := clYellow;
     382    Player := 2;
     383  end;
     384  // Player 3 home
     385  with TMatter(Matter.AddNew(TMatter.Create)) do begin
     386    Kind := mkHome;
     387    Color :=  TColor($0000ff);
     388    Player := 2;
     389  end;
     390  // Player 3 body1
     391  with TMatter(Matter.AddNew(TMatter.Create)) do begin
     392    Kind := mkTankBody;
     393    Color := TColor($0000ff);
     394    Player := 2;
     395  end;
     396  // Player 3 body2
     397  with TMatter(Matter.AddNew(TMatter.Create)) do begin
     398    Kind := mkTankBody;
     399    Color := TColor($0000a0);
     400    Player := 2;
     401  end;
     402
     403  // Player 4 cannon
     404  with TMatter(Matter.AddNew(TMatter.Create)) do begin
     405    Kind := mkCannon;
     406    Color := clYellow;
     407    Player := 3;
     408  end;
     409  // Player 4 home
     410  with TMatter(Matter.AddNew(TMatter.Create)) do begin
     411    Kind := mkHome;
     412    Color :=  TColor($ff2cff);
     413    Player := 3;
     414  end;
     415  // Player 4 body1
     416  with TMatter(Matter.AddNew(TMatter.Create)) do begin
     417    Kind := mkTankBody;
     418    Color := TColor($ff2cff);
     419    Player := 3;
     420  end;
     421  // Player 4 body2
     422  with TMatter(Matter.AddNew(TMatter.Create)) do begin
     423    Kind := mkTankBody;
     424    Color := TColor($b600b6);
     425    Player := 3;
     426  end;
     427end;
     428
    275429procedure TWorld.Generate;
    276430var
     
    282436    for X := 0 to Surface.Count.X - 1 do begin
    283437      if Random < 0.5 then
    284         Surface.ItemsXY[X, Y] := Byte(smDirt1) else
    285         Surface.ItemsXY[X, Y] := Byte(smDirt2);
     438        Surface.ItemsXY[X, Y] := Byte(miDirt1) else
     439        Surface.ItemsXY[X, Y] := Byte(miDirt2);
    286440    end;
    287441
     
    290444  for Y := 0 to Surface.Count.Y - 1 do begin
    291445    for X := 0 to Round(Distance) - 1 do begin
    292       Surface.ItemsXY[X, Y] := Byte(smRock);
     446      Surface.ItemsXY[X, Y] := Byte(miRock);
    293447    end;
    294448    Delta := (Random * 2 - 1) * 3 - (Distance / (0.1 * Surface.Count.X) * 2 - 1);
     
    300454  for Y := 0 to Surface.Count.Y - 1 do begin
    301455    for X := 0 to Round(Distance) - 1 do begin
    302       Surface.ItemsXY[Surface.Count.X - 1 - X, Y] := Byte(smRock);
     456      Surface.ItemsXY[Surface.Count.X - 1 - X, Y] := Byte(miRock);
    303457    end;
    304458    Delta := (Random * 2 - 1) * 3 - (Distance / (0.1 * Surface.Count.X) * 2 - 1);
     
    310464  for X := 0 to Surface.Count.X - 1 do begin
    311465    for Y := 0 to Round(Distance) - 1 do begin
    312       Surface.ItemsXY[X, Y] := Byte(smRock);
     466      Surface.ItemsXY[X, Y] := Byte(miRock);
    313467    end;
    314468    Delta := (Random * 2 - 1) * 3 - (Distance / (0.1 * Surface.Count.Y) * 2 - 1);
     
    320474  for X := 0 to Surface.Count.X - 1 do begin
    321475    for Y := 0 to Round(Distance) - 1 do begin
    322       Surface.ItemsXY[X, Surface.Count.Y - 1 - Y] := Byte(smRock);
     476      Surface.ItemsXY[X, Surface.Count.Y - 1 - Y] := Byte(miRock);
    323477    end;
    324478    Delta := (Random * 2 - 1) * 3 - (Distance / (0.1 * Surface.Count.Y) * 2 - 1);
     
    331485  NewSize: TMatrixByteIndex;
    332486begin
     487  Matter := TListObject.Create;
     488  InitMatter;
    333489  Surface := TMatrixByte.Create;
    334490  NewSize.X := 800;
     
    340496begin
    341497  Surface.Free;
     498  Matter.Free;
    342499  inherited Destroy;
    343500end;
     
    360517      PixelPtr := PixelRowPtr;
    361518      for X := 0 to Bitmap.Width - 1 do begin
    362         P := SurfaceMatterColors[TSurfaceMatter(
    363           Surface.ItemsXY[Trunc(X / Bitmap.Width * Surface.Count.X),
    364             Trunc(Y / Bitmap.Height * Surface.Count.Y)])];
     519        P := TMatter(Matter[Surface.ItemsXY[Trunc(X / Bitmap.Width * Surface.Count.X),
     520            Trunc(Y / Bitmap.Height * Surface.Count.Y)]]).Color;
    365521        PixelPtr^ := SwapBRComponent(P);
    366522        Inc(PByte(PixelPtr), BytePerPixel);
     
    378534var
    379535  Delta: TPoint;
    380   Matter: TSurfaceMatter;
     536  Matter: TMatterIndex;
    381537  NewBullet: TBullet;
    382538  I: Integer;
     
    408564    HideTank;
    409565    Matter := CheckColision;
    410     if (Matter = smDirt1) then Dig := not Dig;
    411     if (Matter = smNothing) or ((Matter = smDirt1) and (not Dig)) then begin
     566    if (Matter = miDirt1) then Dig := not Dig;
     567    if (Matter = miSpace) or ((Matter = miDirt1) and (not Dig)) then begin
    412568      Position := NewPosition;
    413569      Direction := NewDirection;
     
    474630  with TBullet(Bullets[I]), Engine.World.Surface do begin
    475631    Pos := Point(Trunc(Position.X), Trunc(Position.Y));
    476     if (ItemsXY[LastPos.X, LastPos.Y] = Byte(smBullet1)) or
    477       (ItemsXY[LastPos.X, LastPos.Y] = Byte(smBullet2)) then
    478       ItemsXY[LastPos.X, LastPos.Y] := Byte(smNothing);
     632    if (ItemsXY[LastPos.X, LastPos.Y] = Byte(miBullet1)) or
     633      (ItemsXY[LastPos.X, LastPos.Y] = Byte(miBullet2)) then
     634      ItemsXY[LastPos.X, LastPos.Y] := Byte(miSpace);
    479635    LastPos := Pos;
    480636
     
    491647    Pos := Point(Trunc(Position.X), Trunc(Position.Y));
    492648
    493     if (ItemsXY[Pos.X, Pos.Y] <> Byte(smNothing)) and
    494     (ItemsXY[Pos.X, Pos.Y] <> Byte(smBullet1)) and
    495     (ItemsXY[Pos.X, Pos.Y] <> Byte(smBullet2)) then begin
    496       if (ItemsXY[Pos.X, Pos.Y] = Byte(smDirt1)) or
    497         (ItemsXY[Pos.X, Pos.Y] = Byte(smDirt2)) then begin
    498           ItemsXY[Pos.X, Pos.Y] := Byte(smNothing);
     649    if (ItemsXY[Pos.X, Pos.Y] <> Byte(miSpace)) and
     650    (ItemsXY[Pos.X, Pos.Y] <> Byte(miBullet1)) and
     651    (ItemsXY[Pos.X, Pos.Y] <> Byte(miBullet2)) then begin
     652      if (ItemsXY[Pos.X, Pos.Y] = Byte(miDirt1)) or
     653        (ItemsXY[Pos.X, Pos.Y] = Byte(miDirt2)) then begin
     654          ItemsXY[Pos.X, Pos.Y] := Byte(miSpace);
    499655          if StopByDirt then begin
    500656            Explosion(LastPos, BulletExplosionRange);
     
    504660          end;
    505661        end else begin
    506           if (ItemsXY[Pos.X, Pos.Y] = Byte(smPlayer1L)) or (ItemsXY[Pos.X, Pos.Y] = Byte(smPlayer1H)) then
     662          if (ItemsXY[Pos.X, Pos.Y] = Byte(miPlayer1TankBody)) or
     663          (ItemsXY[Pos.X, Pos.Y] = Byte(miPlayer1TankBody2)) then
    507664            with TPlayer(Engine.Players[0]) do begin
    508665              Shield := Shield - 1 / ShieldSteps;
    509666            end;
    510           if (ItemsXY[Pos.X, Pos.Y] = Byte(smPlayer2L)) or (ItemsXY[Pos.X, Pos.Y] = Byte(smPlayer2H)) then
     667          if (ItemsXY[Pos.X, Pos.Y] = Byte(miPlayer2Tankbody)) or
     668          (ItemsXY[Pos.X, Pos.Y] = Byte(miPlayer2TankBody2)) then
    511669            with TPlayer(Engine.Players[1]) do begin
    512670              Shield := Shield - 1 / ShieldSteps;
    513671            end;
    514           if (ItemsXY[Pos.X, Pos.Y] = Byte(smPlayer3L)) or (ItemsXY[Pos.X, Pos.Y] = Byte(smPlayer3H)) then
     672          if (ItemsXY[Pos.X, Pos.Y] = Byte(miPlayer3TankBody)) or
     673          (ItemsXY[Pos.X, Pos.Y] = Byte(miPlayer3TankBody2)) then
    515674            with TPlayer(Engine.Players[2]) do begin
    516675              Shield := Shield - 1 / ShieldSteps;
    517676            end;
    518           if (ItemsXY[Pos.X, Pos.Y] = Byte(smPlayer4L)) or (ItemsXY[Pos.X, Pos.Y] = Byte(smPlayer4H)) then
     677          if (ItemsXY[Pos.X, Pos.Y] = Byte(miPlayer4TankBody)) or
     678          (ItemsXY[Pos.X, Pos.Y] = Byte(miPlayer4TankBody2)) then
    519679            with TPlayer(Engine.Players[3]) do begin
    520680              Shield := Shield - 1 / ShieldSteps;
     
    534694        Continue;
    535695      end;
    536     ItemsXY[Pos.X, Pos.Y] := Byte(smBullet1);
     696    ItemsXY[Pos.X, Pos.Y] := Byte(miBullet1);
    537697    //Engine.World.Surface.ItemsXY[LastPos.X, LastPos.Y] := Byte(smBullet2);
    538698    Engine.Redraw;
     
    552712//    FillRect(ScreenFrame);
    553713    Fill(CreateIndex(ScreenFrame.Left, ScreenFrame.Top),
    554       CreateIndex(ScreenFrame.Right - 1, ScreenFrame.Bottom - 1), SurfaceMatterColors[smRock]);
     714      CreateIndex(ScreenFrame.Right - 1, ScreenFrame.Bottom - 1),
     715      TMatter(Engine.World.Matter[Integer(miRock)]).Color);
    555716
    556717    with Engine.World do
     
    560721        YY := Y - ScreenFrame.Top - ((ScreenFrame.Bottom - ScreenFrame.Top) div 2) + Position.Y;
    561722        if (YY >= 0) and (YY < Surface.Count.Y) and (XX >= 0) and (XX < Surface.Count.X) then
    562           ItemsXY[X, Y] := SurfaceMatterColors[TSurfaceMatter(Surface.ItemsXY[XX, YY])];
     723          ItemsXY[X, Y] := TMatter(Engine.World.Matter[Surface.ItemsXY[XX, YY]]).Color;
    563724      end;
    564725
     
    592753      not (((Y = 0) or (Y = (HouseSize - 1))) and (X > ((HouseSize - DoorSize) div 2)) and
    593754      (X < ((HouseSize - 1 + DoorSize) div 2)))
    594       then Matter := Byte(smPlayer1H) + Id * 2
    595         else Matter := Byte(smNothing);
     755      then Matter := Byte(miPlayer1Cannon) + Id * 4
     756        else Matter := Byte(miSpace);
    596757      Engine.World.Surface.ItemsXY[House.Left + X,
    597758        House.Top + Y] := Matter;
     
    599760end;
    600761
    601 function TPlayer.CheckColision: TSurfaceMatter;
     762function TPlayer.CheckColision: TMatterIndex;
    602763var
    603764  X, Y: Integer;
    604765  XX, YY: Integer;
    605766begin
    606   Result := smNothing;
     767  Result := miSpace;
    607768  with Engine.World, TTank(Tanks[NewDirection]) do
    608769  for Y := 0 to Image.Count.Y - 1 do
     
    611772    YY := Y + NewPosition.Y - Image.Count.Y div 2;
    612773    if (Image.ItemsXY[X, Y] > 0) and
    613     (Surface.ItemsXY[XX, YY] <> Byte(smNothing)) then
     774    (Surface.ItemsXY[XX, YY] <> Byte(miSpace)) then
    614775    begin
    615       Result := smDirt1;
    616       if (Surface.ItemsXY[XX, YY] <> Byte(smDirt1)) and
    617       (Surface.ItemsXY[XX, YY] <> Byte(smDirt2)) then
     776      Result := miDirt1;
     777      if (Surface.ItemsXY[XX, YY] <> Byte(miDirt1)) and
     778      (Surface.ItemsXY[XX, YY] <> Byte(miDirt2)) then
    618779      begin
    619         Result := TSurfaceMatter(Surface.ItemsXY[XX, YY]);
     780        Result := TMatterIndex(Surface.ItemsXY[XX, YY]);
    620781        Exit;
    621782      end;
     
    709870    Image.Count := Image.CreateIndex(7, 7);
    710871    for I := 0 to 3 do
    711       Image[3, I] := Byte(smCannon);
     872      Image[3, I] := Byte(miPlayer1Cannon) + Id * 4;
    712873    for I := 1 to 6 do begin
    713       Image[1, I] := Byte(smPlayer1H) + Id * 2;
    714       Image[5, I] := Byte(smPlayer1H) + Id * 2;
     874      Image[1, I] := Byte(miPlayer1TankBody) + Id * 4;
     875      Image[5, I] := Byte(miPlayer1TankBody) + Id * 4;
    715876    end;
    716877    for I := 2 to 5 do begin
    717       Image[2, I] := Byte(smPlayer1H) + Id * 2 + 1;
    718       Image[4, I] := Byte(smPlayer1H) + Id * 2 + 1;
    719     end;
    720     Image[3, 4] := Byte(smPlayer1H) + Id * 2 + 1;
    721     Image[3, 5] := Byte(smPlayer1H) + Id * 2 + 1;
     878      Image[2, I] := Byte(miPlayer1TankBody2) + Id * 4;
     879      Image[4, I] := Byte(miPlayer1TankBody2) + Id * 4;
     880    end;
     881    Image[3, 4] := Byte(miPlayer1TankBody2) + Id * 4;
     882    Image[3, 5] := Byte(miPlayer1TankBody2) + Id * 4;
    722883  end;
    723884  Tanks.Add(NewTank);
     
    727888    Image.Count := Image.CreateIndex(7, 7);
    728889    for I := 0 to 2 do
    729       Image[3 + I, 3 - I] := Byte(smCannon);
     890      Image[3 + I, 3 - I] := Byte(miPlayer1Cannon) + Id * 4;
    730891    for I := 0 to 3 do begin
    731       Image[I, 3 - I] := Byte(smPlayer1H) + Id * 2;
    732       Image[3 + I, 6 - I] := Byte(smPlayer1H) + Id * 2;
     892      Image[I, 3 - I] := Byte(miPlayer1TankBody) + Id * 4;
     893      Image[3 + I, 6 - I] := Byte(miPlayer1TankBody) + Id * 4;
    733894    end;
    734895    for I := 0 to 2 do begin
    735       Image[1 + I, 3 - I] := Byte(smPlayer1H) + Id * 2 + 1;
    736       Image[3 + I, 5 - I] := Byte(smPlayer1H) + Id * 2 + 1;
    737     end;
    738     Image[3, 2] := Byte(smPlayer1H) + Id * 2 + 1;
    739     Image[2, 3] := Byte(smPlayer1H) + Id * 2 + 1;
    740     Image[2, 4] := Byte(smPlayer1H) + Id * 2 + 1;
    741     Image[3, 4] := Byte(smPlayer1H) + Id * 2 + 1;
    742     Image[4, 3] := Byte(smPlayer1H) + Id * 2 + 1;
     896      Image[1 + I, 3 - I] := Byte(miPlayer1TankBody2) + Id * 4;
     897      Image[3 + I, 5 - I] := Byte(miPlayer1TankBody2) + Id * 4;
     898    end;
     899    Image[3, 2] := Byte(miPlayer1TankBody2) + Id * 4;
     900    Image[2, 3] := Byte(miPlayer1TankBody2) + Id * 4;
     901    Image[2, 4] := Byte(miPlayer1TankBody2) + Id * 4;
     902    Image[3, 4] := Byte(miPlayer1TankBody2) + Id * 4;
     903    Image[4, 3] := Byte(miPlayer1TankBody2) + Id * 4;
    743904  end;
    744905  Tanks.Add(NewTank);
  • trunk/tunneler.lpi

    r21 r22  
    4646      </Item4>
    4747    </RequiredPackages>
    48     <Units Count="64">
     48    <Units Count="67">
    4949      <Unit0>
    5050        <Filename Value="tunneler.lpr"/>
    5151        <IsPartOfProject Value="True"/>
    5252        <UnitName Value="tunneler"/>
    53         <EditorIndex Value="3"/>
     53        <EditorIndex Value="5"/>
    5454        <WindowIndex Value="0"/>
    5555        <TopLine Value="1"/>
    5656        <CursorPos X="61" Y="10"/>
    57         <UsageCount Value="93"/>
     57        <UsageCount Value="103"/>
    5858        <Loaded Value="True"/>
    5959      </Unit0>
     
    6666        <TopLine Value="203"/>
    6767        <CursorPos X="68" Y="209"/>
    68         <UsageCount Value="93"/>
     68        <UsageCount Value="92"/>
    6969      </Unit1>
    7070      <Unit2>
     
    7272        <IsPartOfProject Value="True"/>
    7373        <UnitName Value="UCore"/>
     74        <IsVisibleTab Value="True"/>
    7475        <EditorIndex Value="0"/>
    7576        <WindowIndex Value="0"/>
    76         <TopLine Value="77"/>
    77         <CursorPos X="20" Y="86"/>
    78         <UsageCount Value="93"/>
     77        <TopLine Value="208"/>
     78        <CursorPos X="3" Y="68"/>
     79        <UsageCount Value="103"/>
    7980        <Loaded Value="True"/>
    8081      </Unit2>
     
    8586        <TopLine Value="35"/>
    8687        <CursorPos X="20" Y="51"/>
    87         <UsageCount Value="7"/>
     88        <UsageCount Value="6"/>
    8889      </Unit3>
    8990      <Unit4>
     
    9394        <TopLine Value="52"/>
    9495        <CursorPos X="18" Y="57"/>
    95         <UsageCount Value="6"/>
     96        <UsageCount Value="5"/>
    9697      </Unit4>
    9798      <Unit5>
     
    101102        <TopLine Value="1"/>
    102103        <CursorPos X="61" Y="11"/>
    103         <UsageCount Value="21"/>
     104        <UsageCount Value="20"/>
    104105      </Unit5>
    105106      <Unit6>
     
    108109        <TopLine Value="19"/>
    109110        <CursorPos X="4" Y="36"/>
    110         <UsageCount Value="13"/>
     111        <UsageCount Value="12"/>
    111112      </Unit6>
    112113      <Unit7>
     
    116117        <TopLine Value="2417"/>
    117118        <CursorPos X="3" Y="2459"/>
    118         <UsageCount Value="9"/>
     119        <UsageCount Value="8"/>
    119120      </Unit7>
    120121      <Unit8>
     
    123124        <TopLine Value="548"/>
    124125        <CursorPos X="22" Y="552"/>
    125         <UsageCount Value="7"/>
     126        <UsageCount Value="6"/>
    126127      </Unit8>
    127128      <Unit9>
     
    130131        <TopLine Value="34"/>
    131132        <CursorPos X="1" Y="54"/>
    132         <UsageCount Value="5"/>
     133        <UsageCount Value="4"/>
    133134      </Unit9>
    134135      <Unit10>
     
    138139        <TopLine Value="1314"/>
    139140        <CursorPos X="42" Y="1327"/>
    140         <UsageCount Value="9"/>
     141        <UsageCount Value="8"/>
    141142      </Unit10>
    142143      <Unit11>
    143144        <Filename Value="../../PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericMatrix.inc"/>
    144         <EditorIndex Value="8"/>
     145        <EditorIndex Value="10"/>
    145146        <WindowIndex Value="0"/>
    146147        <TopLine Value="154"/>
    147148        <CursorPos X="3" Y="156"/>
    148         <UsageCount Value="38"/>
     149        <UsageCount Value="43"/>
    149150        <Loaded Value="True"/>
    150151      </Unit11>
     
    155156        <TopLine Value="16"/>
    156157        <CursorPos X="22" Y="33"/>
    157         <UsageCount Value="19"/>
     158        <UsageCount Value="18"/>
    158159      </Unit12>
    159160      <Unit13>
     
    162163        <TopLine Value="16"/>
    163164        <CursorPos X="19" Y="32"/>
    164         <UsageCount Value="7"/>
     165        <UsageCount Value="6"/>
    165166      </Unit13>
    166167      <Unit14>
     
    170171        <TopLine Value="54"/>
    171172        <CursorPos X="3" Y="70"/>
    172         <UsageCount Value="10"/>
     173        <UsageCount Value="9"/>
    173174      </Unit14>
    174175      <Unit15>
     
    177178        <TopLine Value="10"/>
    178179        <CursorPos X="21" Y="13"/>
    179         <UsageCount Value="22"/>
     180        <UsageCount Value="21"/>
    180181      </Unit15>
    181182      <Unit16>
     
    184185        <TopLine Value="783"/>
    185186        <CursorPos X="3" Y="785"/>
    186         <UsageCount Value="4"/>
     187        <UsageCount Value="3"/>
    187188      </Unit16>
    188189      <Unit17>
     
    191192        <TopLine Value="498"/>
    192193        <CursorPos X="11" Y="515"/>
    193         <UsageCount Value="8"/>
     194        <UsageCount Value="7"/>
    194195      </Unit17>
    195196      <Unit18>
     
    199200        <TopLine Value="665"/>
    200201        <CursorPos X="27" Y="682"/>
    201         <UsageCount Value="6"/>
     202        <UsageCount Value="5"/>
    202203      </Unit18>
    203204      <Unit19>
     
    206207        <TopLine Value="112"/>
    207208        <CursorPos X="10" Y="114"/>
    208         <UsageCount Value="6"/>
     209        <UsageCount Value="5"/>
    209210      </Unit19>
    210211      <Unit20>
     
    214215        <TopLine Value="1035"/>
    215216        <CursorPos X="15" Y="1052"/>
    216         <UsageCount Value="5"/>
     217        <UsageCount Value="4"/>
    217218      </Unit20>
    218219      <Unit21>
     
    221222        <TopLine Value="3003"/>
    222223        <CursorPos X="3" Y="3010"/>
    223         <UsageCount Value="5"/>
     224        <UsageCount Value="4"/>
    224225      </Unit21>
    225226      <Unit22>
     
    228229        <TopLine Value="392"/>
    229230        <CursorPos X="1" Y="411"/>
    230         <UsageCount Value="5"/>
     231        <UsageCount Value="4"/>
    231232      </Unit22>
    232233      <Unit23>
     
    235236        <TopLine Value="85"/>
    236237        <CursorPos X="10" Y="102"/>
    237         <UsageCount Value="7"/>
     238        <UsageCount Value="6"/>
    238239      </Unit23>
    239240      <Unit24>
     
    242243        <TopLine Value="157"/>
    243244        <CursorPos X="3" Y="159"/>
    244         <UsageCount Value="7"/>
     245        <UsageCount Value="6"/>
    245246      </Unit24>
    246247      <Unit25>
     
    249250        <TopLine Value="4360"/>
    250251        <CursorPos X="19" Y="4365"/>
    251         <UsageCount Value="13"/>
     252        <UsageCount Value="12"/>
    252253      </Unit25>
    253254      <Unit26>
     
    256257        <TopLine Value="4226"/>
    257258        <CursorPos X="1" Y="4254"/>
    258         <UsageCount Value="5"/>
     259        <UsageCount Value="4"/>
    259260      </Unit26>
    260261      <Unit27>
     
    266267        <TopLine Value="15"/>
    267268        <CursorPos X="39" Y="45"/>
    268         <UsageCount Value="72"/>
     269        <UsageCount Value="71"/>
    269270      </Unit27>
    270271      <Unit28>
     
    273274        <TopLine Value="858"/>
    274275        <CursorPos X="1" Y="875"/>
    275         <UsageCount Value="6"/>
     276        <UsageCount Value="5"/>
    276277      </Unit28>
    277278      <Unit29>
     
    280281        <TopLine Value="2102"/>
    281282        <CursorPos X="1" Y="2119"/>
    282         <UsageCount Value="6"/>
     283        <UsageCount Value="5"/>
    283284      </Unit29>
    284285      <Unit30>
     
    287288        <TopLine Value="58"/>
    288289        <CursorPos X="14" Y="75"/>
    289         <UsageCount Value="15"/>
     290        <UsageCount Value="14"/>
    290291      </Unit30>
    291292      <Unit31>
     
    294295        <TopLine Value="1"/>
    295296        <CursorPos X="34" Y="12"/>
    296         <UsageCount Value="11"/>
     297        <UsageCount Value="10"/>
    297298      </Unit31>
    298299      <Unit32>
     
    302303        <TopLine Value="3131"/>
    303304        <CursorPos X="42" Y="3148"/>
    304         <UsageCount Value="16"/>
     305        <UsageCount Value="15"/>
    305306      </Unit32>
    306307      <Unit33>
     
    310311        <TopLine Value="104"/>
    311312        <CursorPos X="3" Y="91"/>
    312         <UsageCount Value="7"/>
     313        <UsageCount Value="6"/>
    313314      </Unit33>
    314315      <Unit34>
     
    317318        <TopLine Value="325"/>
    318319        <CursorPos X="3" Y="327"/>
    319         <UsageCount Value="7"/>
     320        <UsageCount Value="6"/>
    320321      </Unit34>
    321322      <Unit35>
     
    325326        <TopLine Value="173"/>
    326327        <CursorPos X="5" Y="190"/>
    327         <UsageCount Value="8"/>
     328        <UsageCount Value="7"/>
    328329      </Unit35>
    329330      <Unit36>
    330331        <Filename Value="../../PascalClassLibrary/Generics/TemplateGenerics/Generic/GenericBitmap.inc"/>
    331         <EditorIndex Value="7"/>
     332        <EditorIndex Value="9"/>
    332333        <WindowIndex Value="0"/>
    333334        <TopLine Value="1"/>
    334335        <CursorPos X="20" Y="26"/>
    335         <UsageCount Value="25"/>
     336        <UsageCount Value="30"/>
    336337        <Loaded Value="True"/>
    337338      </Unit36>
     
    339340        <Filename Value="../../PascalClassLibrary/Generics/TemplateGenerics/Specialized/SpecializedBitmap.pas"/>
    340341        <UnitName Value="SpecializedBitmap"/>
    341         <EditorIndex Value="6"/>
     342        <EditorIndex Value="8"/>
    342343        <WindowIndex Value="0"/>
    343344        <TopLine Value="47"/>
    344345        <CursorPos X="22" Y="21"/>
    345         <UsageCount Value="14"/>
     346        <UsageCount Value="19"/>
    346347        <Loaded Value="True"/>
    347348      </Unit37>
     
    352353        <TopLine Value="91"/>
    353354        <CursorPos X="19" Y="107"/>
    354         <UsageCount Value="9"/>
     355        <UsageCount Value="8"/>
    355356      </Unit38>
    356357      <Unit39>
     
    359360        <TopLine Value="1"/>
    360361        <CursorPos X="1" Y="1"/>
    361         <UsageCount Value="8"/>
     362        <UsageCount Value="7"/>
    362363      </Unit39>
    363364      <Unit40>
     
    366367        <TopLine Value="158"/>
    367368        <CursorPos X="23" Y="175"/>
    368         <UsageCount Value="7"/>
     369        <UsageCount Value="6"/>
    369370      </Unit40>
    370371      <Unit41>
     
    374375        <TopLine Value="1"/>
    375376        <CursorPos X="9" Y="69"/>
    376         <UsageCount Value="7"/>
     377        <UsageCount Value="6"/>
    377378      </Unit41>
    378379      <Unit42>
     
    382383        <TopLine Value="1"/>
    383384        <CursorPos X="1" Y="1"/>
    384         <UsageCount Value="7"/>
     385        <UsageCount Value="6"/>
    385386      </Unit42>
    386387      <Unit43>
     
    390391        <TopLine Value="1"/>
    391392        <CursorPos X="14" Y="20"/>
    392         <UsageCount Value="7"/>
     393        <UsageCount Value="6"/>
    393394      </Unit43>
    394395      <Unit44>
     
    396397        <IsPartOfProject Value="True"/>
    397398        <UnitName Value="UPlatform"/>
    398         <UsageCount Value="52"/>
     399        <UsageCount Value="62"/>
    399400      </Unit44>
    400401      <Unit45>
     
    404405        <TopLine Value="929"/>
    405406        <CursorPos X="5" Y="932"/>
    406         <UsageCount Value="12"/>
     407        <UsageCount Value="11"/>
    407408      </Unit45>
    408409      <Unit46>
     
    412413        <TopLine Value="1"/>
    413414        <CursorPos X="50" Y="5"/>
    414         <UsageCount Value="11"/>
     415        <UsageCount Value="10"/>
    415416      </Unit46>
    416417      <Unit47>
     
    420421        <TopLine Value="1"/>
    421422        <CursorPos X="36" Y="15"/>
    422         <UsageCount Value="7"/>
     423        <UsageCount Value="6"/>
    423424      </Unit47>
    424425      <Unit48>
     
    427428        <TopLine Value="330"/>
    428429        <CursorPos X="35" Y="338"/>
    429         <UsageCount Value="16"/>
     430        <UsageCount Value="15"/>
    430431      </Unit48>
    431432      <Unit49>
     
    435436        <TopLine Value="58"/>
    436437        <CursorPos X="5" Y="75"/>
    437         <UsageCount Value="8"/>
     438        <UsageCount Value="7"/>
    438439      </Unit49>
    439440      <Unit50>
     
    441442        <IsPartOfProject Value="True"/>
    442443        <UnitName Value="URectangle"/>
    443         <EditorIndex Value="11"/>
     444        <EditorIndex Value="13"/>
    444445        <WindowIndex Value="0"/>
    445446        <TopLine Value="120"/>
    446447        <CursorPos X="44" Y="150"/>
    447         <UsageCount Value="37"/>
     448        <UsageCount Value="47"/>
    448449        <Loaded Value="True"/>
    449450      </Unit50>
     
    453454        <TopLine Value="147"/>
    454455        <CursorPos X="10" Y="84"/>
    455         <UsageCount Value="11"/>
     456        <UsageCount Value="10"/>
    456457      </Unit51>
    457458      <Unit52>
     
    461462        <TopLine Value="520"/>
    462463        <CursorPos X="35" Y="531"/>
    463         <UsageCount Value="10"/>
     464        <UsageCount Value="9"/>
    464465      </Unit52>
    465466      <Unit53>
     
    467468        <IsPartOfProject Value="True"/>
    468469        <UnitName Value="UPersistentForm"/>
    469         <EditorIndex Value="9"/>
     470        <EditorIndex Value="11"/>
    470471        <WindowIndex Value="0"/>
    471472        <TopLine Value="69"/>
    472473        <CursorPos X="3" Y="90"/>
    473         <UsageCount Value="30"/>
     474        <UsageCount Value="40"/>
    474475        <Loaded Value="True"/>
    475476      </Unit53>
     
    478479        <IsPartOfProject Value="True"/>
    479480        <UnitName Value="UApplicationInfo"/>
    480         <EditorIndex Value="10"/>
     481        <EditorIndex Value="12"/>
    481482        <WindowIndex Value="0"/>
    482483        <TopLine Value="1"/>
    483484        <CursorPos X="70" Y="42"/>
    484         <UsageCount Value="30"/>
     485        <UsageCount Value="40"/>
    485486        <Loaded Value="True"/>
    486487      </Unit54>
     
    489490        <IsPartOfProject Value="True"/>
    490491        <UnitName Value="URegistry"/>
    491         <UsageCount Value="29"/>
     492        <UsageCount Value="39"/>
    492493      </Unit55>
    493494      <Unit56>
     
    496497        <TopLine Value="71"/>
    497498        <CursorPos X="10" Y="84"/>
    498         <UsageCount Value="9"/>
     499        <UsageCount Value="8"/>
    499500      </Unit56>
    500501      <Unit57>
     
    503504        <TopLine Value="167"/>
    504505        <CursorPos X="3" Y="169"/>
    505         <UsageCount Value="9"/>
     506        <UsageCount Value="8"/>
    506507      </Unit57>
    507508      <Unit58>
     
    510511        <TopLine Value="466"/>
    511512        <CursorPos X="17" Y="470"/>
    512         <UsageCount Value="9"/>
     513        <UsageCount Value="8"/>
    513514      </Unit58>
    514515      <Unit59>
     
    516517        <IsPartOfProject Value="True"/>
    517518        <UnitName Value="UThreading"/>
    518         <EditorIndex Value="5"/>
     519        <EditorIndex Value="7"/>
    519520        <WindowIndex Value="0"/>
    520521        <TopLine Value="79"/>
    521522        <CursorPos X="13" Y="95"/>
    522         <UsageCount Value="21"/>
     523        <UsageCount Value="31"/>
    523524        <Loaded Value="True"/>
    524525      </Unit59>
     
    526527        <Filename Value="/usr/share/fpcsrc/2.4.2/packages/fcl-base/src/contnrs.pp"/>
    527528        <UnitName Value="contnrs"/>
    528         <EditorIndex Value="4"/>
     529        <EditorIndex Value="6"/>
    529530        <WindowIndex Value="0"/>
    530531        <TopLine Value="55"/>
    531532        <CursorPos X="3" Y="72"/>
    532         <UsageCount Value="10"/>
     533        <UsageCount Value="15"/>
    533534        <Loaded Value="True"/>
    534535      </Unit60>
     
    541542        <EditorIndex Value="1"/>
    542543        <WindowIndex Value="0"/>
    543         <TopLine Value="27"/>
    544         <CursorPos X="51" Y="42"/>
    545         <UsageCount Value="21"/>
     544        <TopLine Value="43"/>
     545        <CursorPos X="47" Y="68"/>
     546        <UsageCount Value="31"/>
    546547        <Loaded Value="True"/>
    547548        <LoadedDesigner Value="True"/>
     
    554555        <ResourceBaseClass Value="Form"/>
    555556        <UnitName Value="UMainForm"/>
    556         <IsVisibleTab Value="True"/>
    557557        <EditorIndex Value="2"/>
    558558        <WindowIndex Value="0"/>
    559         <TopLine Value="204"/>
    560         <CursorPos X="74" Y="228"/>
    561         <UsageCount Value="21"/>
     559        <TopLine Value="112"/>
     560        <CursorPos X="54" Y="140"/>
     561        <UsageCount Value="31"/>
    562562        <Loaded Value="True"/>
    563563        <LoadedDesigner Value="True"/>
     
    570570        <ResourceBaseClass Value="Form"/>
    571571        <UnitName Value="UMapForm"/>
    572         <EditorIndex Value="12"/>
     572        <EditorIndex Value="14"/>
    573573        <WindowIndex Value="0"/>
    574574        <TopLine Value="1"/>
    575575        <CursorPos X="10" Y="5"/>
    576         <UsageCount Value="21"/>
     576        <UsageCount Value="31"/>
    577577        <Loaded Value="True"/>
    578578        <LoadedDesigner Value="True"/>
    579579      </Unit63>
     580      <Unit64>
     581        <Filename Value="../../PascalClassLibrary/CoolTranslator/ULanguages.pas"/>
     582        <UnitName Value="ULanguages"/>
     583        <EditorIndex Value="4"/>
     584        <WindowIndex Value="0"/>
     585        <TopLine Value="3"/>
     586        <CursorPos X="14" Y="20"/>
     587        <UsageCount Value="15"/>
     588        <Loaded Value="True"/>
     589      </Unit64>
     590      <Unit65>
     591        <Filename Value="../../PascalClassLibrary/CoolTranslator/UCoolTranslator.pas"/>
     592        <UnitName Value="UCoolTranslator"/>
     593        <EditorIndex Value="3"/>
     594        <WindowIndex Value="0"/>
     595        <TopLine Value="31"/>
     596        <CursorPos X="39" Y="33"/>
     597        <UsageCount Value="15"/>
     598        <Loaded Value="True"/>
     599      </Unit65>
     600      <Unit66>
     601        <Filename Value="../../../lazarus/lcl/comctrls.pp"/>
     602        <UnitName Value="ComCtrls"/>
     603        <WindowIndex Value="0"/>
     604        <TopLine Value="1206"/>
     605        <CursorPos X="3" Y="1223"/>
     606        <UsageCount Value="9"/>
     607      </Unit66>
    580608    </Units>
    581609    <JumpHistory Count="30" HistoryIndex="29">
    582610      <Position1>
    583611        <Filename Value="UCore.pas"/>
    584         <Caret Line="1006" Column="1" TopLine="987"/>
     612        <Caret Line="110" Column="74" TopLine="94"/>
    585613      </Position1>
    586614      <Position2>
    587615        <Filename Value="UCore.pas"/>
    588         <Caret Line="1007" Column="1" TopLine="987"/>
     616        <Caret Line="311" Column="30" TopLine="295"/>
    589617      </Position2>
    590618      <Position3>
    591619        <Filename Value="UCore.pas"/>
    592         <Caret Line="1008" Column="1" TopLine="987"/>
     620        <Caret Line="348" Column="30" TopLine="332"/>
    593621      </Position3>
    594622      <Position4>
    595623        <Filename Value="UCore.pas"/>
    596         <Caret Line="1009" Column="1" TopLine="987"/>
     624        <Caret Line="438" Column="41" TopLine="420"/>
    597625      </Position4>
    598626      <Position5>
    599627        <Filename Value="UCore.pas"/>
    600         <Caret Line="1010" Column="1" TopLine="987"/>
     628        <Caret Line="445" Column="39" TopLine="428"/>
    601629      </Position5>
    602630      <Position6>
    603631        <Filename Value="UCore.pas"/>
    604         <Caret Line="1011" Column="1" TopLine="987"/>
     632        <Caret Line="475" Column="61" TopLine="455"/>
    605633      </Position6>
    606634      <Position7>
    607635        <Filename Value="UCore.pas"/>
    608         <Caret Line="1012" Column="1" TopLine="987"/>
     636        <Caret Line="519" Column="64" TopLine="501"/>
    609637      </Position7>
    610638      <Position8>
    611639        <Filename Value="UCore.pas"/>
    612         <Caret Line="1068" Column="1" TopLine="1038"/>
     640        <Caret Line="535" Column="23" TopLine="518"/>
    613641      </Position8>
    614642      <Position9>
    615643        <Filename Value="UCore.pas"/>
    616         <Caret Line="170" Column="15" TopLine="153"/>
     644        <Caret Line="564" Column="18" TopLine="547"/>
    617645      </Position9>
    618646      <Position10>
    619647        <Filename Value="UCore.pas"/>
    620         <Caret Line="826" Column="1" TopLine="809"/>
     648        <Caret Line="93" Column="41" TopLine="76"/>
    621649      </Position10>
    622650      <Position11>
    623651        <Filename Value="UCore.pas"/>
    624         <Caret Line="827" Column="1" TopLine="809"/>
     652        <Caret Line="756" Column="45" TopLine="756"/>
    625653      </Position11>
    626654      <Position12>
    627655        <Filename Value="UCore.pas"/>
    628         <Caret Line="166" Column="23" TopLine="140"/>
     656        <Caret Line="71" Column="3" TopLine="52"/>
    629657      </Position12>
    630658      <Position13>
    631         <Filename Value="Forms/UNewGameForm.pas"/>
    632         <Caret Line="12" Column="31" TopLine="1"/>
     659        <Filename Value="UCore.pas"/>
     660        <Caret Line="567" Column="55" TopLine="548"/>
    633661      </Position13>
    634662      <Position14>
    635         <Filename Value="Forms/UNewGameForm.pas"/>
    636         <Caret Line="16" Column="31" TopLine="1"/>
     663        <Filename Value="UCore.pas"/>
     664        <Caret Line="641" Column="47" TopLine="614"/>
    637665      </Position14>
    638666      <Position15>
    639         <Filename Value="Forms/UNewGameForm.pas"/>
    640         <Caret Line="17" Column="31" TopLine="1"/>
     667        <Filename Value="UCore.pas"/>
     668        <Caret Line="59" Column="75" TopLine="52"/>
    641669      </Position15>
    642670      <Position16>
    643         <Filename Value="Forms/UNewGameForm.pas"/>
    644         <Caret Line="18" Column="31" TopLine="1"/>
     671        <Filename Value="UCore.pas"/>
     672        <Caret Line="633" Column="52" TopLine="616"/>
    645673      </Position16>
    646674      <Position17>
    647         <Filename Value="Forms/UNewGameForm.pas"/>
    648         <Caret Line="21" Column="31" TopLine="1"/>
     675        <Filename Value="UCore.pas"/>
     676        <Caret Line="691" Column="37" TopLine="675"/>
    649677      </Position17>
    650678      <Position18>
    651         <Filename Value="Forms/UNewGameForm.pas"/>
    652         <Caret Line="49" Column="28" TopLine="19"/>
     679        <Filename Value="UCore.pas"/>
     680        <Caret Line="653" Column="48" TopLine="636"/>
    653681      </Position18>
    654682      <Position19>
    655         <Filename Value="Forms/UNewGameForm.pas"/>
    656         <Caret Line="52" Column="29" TopLine="21"/>
     683        <Filename Value="UCore.pas"/>
     684        <Caret Line="685" Column="59" TopLine="652"/>
    657685      </Position19>
    658686      <Position20>
    659         <Filename Value="Forms/UNewGameForm.pas"/>
    660         <Caret Line="51" Column="30" TopLine="21"/>
     687        <Filename Value="UCore.pas"/>
     688        <Caret Line="677" Column="43" TopLine="650"/>
    661689      </Position20>
    662690      <Position21>
    663691        <Filename Value="UCore.pas"/>
    664         <Caret Line="84" Column="18" TopLine="67"/>
     692        <Caret Line="713" Column="89" TopLine="696"/>
    665693      </Position21>
    666694      <Position22>
    667         <Filename Value="Forms/UNewGameForm.pas"/>
    668         <Caret Line="50" Column="30" TopLine="21"/>
     695        <Filename Value="UCore.pas"/>
     696        <Caret Line="714" Column="58" TopLine="697"/>
    669697      </Position22>
    670698      <Position23>
    671         <Filename Value="Forms/UNewGameForm.pas"/>
    672         <Caret Line="42" Column="14" TopLine="28"/>
     699        <Filename Value="UCore.pas"/>
     700        <Caret Line="722" Column="88" TopLine="705"/>
    673701      </Position23>
    674702      <Position24>
    675         <Filename Value="Forms/UMainForm.pas"/>
    676         <Caret Line="5" Column="32" TopLine="1"/>
     703        <Filename Value="UCore.pas"/>
     704        <Caret Line="754" Column="36" TopLine="737"/>
    677705      </Position24>
    678706      <Position25>
    679         <Filename Value="Forms/UMainForm.pas"/>
    680         <Caret Line="72" Column="26" TopLine="56"/>
     707        <Filename Value="UCore.pas"/>
     708        <Caret Line="755" Column="36" TopLine="737"/>
    681709      </Position25>
    682710      <Position26>
    683         <Filename Value="Forms/UMainForm.pas"/>
    684         <Caret Line="189" Column="3" TopLine="187"/>
     711        <Filename Value="UCore.pas"/>
     712        <Caret Line="778" Column="42" TopLine="749"/>
    685713      </Position26>
    686714      <Position27>
    687         <Filename Value="Forms/UMainForm.pas"/>
    688         <Caret Line="235" Column="1" TopLine="204"/>
     715        <Filename Value="UCore.pas"/>
     716        <Caret Line="775" Column="19" TopLine="758"/>
    689717      </Position27>
    690718      <Position28>
    691         <Filename Value="Forms/UMainForm.pas"/>
    692         <Caret Line="202" Column="53" TopLine="187"/>
     719        <Filename Value="UCore.pas"/>
     720        <Caret Line="779" Column="31" TopLine="752"/>
    693721      </Position28>
    694722      <Position29>
    695         <Filename Value="Forms/UMainForm.pas"/>
    696         <Caret Line="50" Column="1" TopLine="33"/>
     723        <Filename Value="UCore.pas"/>
     724        <Caret Line="902" Column="40" TopLine="891"/>
    697725      </Position29>
    698726      <Position30>
    699         <Filename Value="Forms/UMainForm.pas"/>
    700         <Caret Line="181" Column="17" TopLine="171"/>
     727        <Filename Value="UCore.pas"/>
     728        <Caret Line="913" Column="63" TopLine="890"/>
    701729      </Position30>
    702730    </JumpHistory>
Note: See TracChangeset for help on using the changeset viewer.