hedgewars/uGears.pas
changeset 10236 8fa1ccfba752
parent 10124 aabd1b75d5a3
child 10254 eb28335df088
equal deleted inserted replaced
10235:bafca1686867 10236:8fa1ccfba752
   562         Dispose(t)
   562         Dispose(t)
   563     end;
   563     end;
   564 end;
   564 end;
   565 
   565 
   566 procedure AddMiscGears;
   566 procedure AddMiscGears;
   567 var p,i,j,rx, ry: Longword;
   567 var p,i,j,rx, ry, unplaced: Longword;
   568     rdx, rdy: hwFloat;
   568     rdx, rdy: hwFloat;
   569     Gear: PGear;
   569     Gear: PGear;
   570 begin
   570 begin
   571 AddGear(0, 0, gtATStartGame, 0, _0, _0, 2000);
   571 AddGear(0, 0, gtATStartGame, 0, _0, _0, 2000);
   572 
   572 
   573 i:= 0;
   573 i:= 0;
   574 Gear:= PGear(1);
   574 unplaced:= 0;
   575 while (i < cLandMines) {and (Gear <> nil)} do // disable this check until better solution found
   575 while (i < cLandMines) and (unplaced < 4) do
   576     begin
   576     begin
   577     Gear:= AddGear(0, 0, gtMine, 0, _0, _0, 0);
   577     Gear:= AddGear(0, 0, gtMine, 0, _0, _0, 0);
   578     FindPlace(Gear, false, 0, LAND_WIDTH);
   578     FindPlace(Gear, false, 0, LAND_WIDTH);
       
   579 
       
   580     if Gear = nil then 
       
   581         inc(unplaced)
       
   582     else
       
   583         unplaced:= 0;
       
   584 
   579     inc(i)
   585     inc(i)
   580     end;
   586     end;
   581 
   587 
   582 i:= 0;
   588 i:= 0;
   583 Gear:= PGear(1);
   589 unplaced:= 0;
   584 while (i < cExplosives){ and (Gear <> nil)} do
   590 while (i < cExplosives) and (unplaced < 4) do
   585     begin
   591     begin
   586     Gear:= AddGear(0, 0, gtExplosives, 0, _0, _0, 0);
   592     Gear:= AddGear(0, 0, gtExplosives, 0, _0, _0, 0);
   587     FindPlace(Gear, false, 0, LAND_WIDTH);
   593     FindPlace(Gear, false, 0, LAND_WIDTH);
       
   594 
       
   595     if Gear = nil then 
       
   596         inc(unplaced)
       
   597     else
       
   598         unplaced:= 0;
       
   599 
   588     inc(i)
   600     inc(i)
   589     end;
   601     end;
   590 
   602 
   591 if (GameFlags and gfLowGravity) <> 0 then
   603 if (GameFlags and gfLowGravity) <> 0 then
   592     begin
   604     begin