equal
deleted
inserted
replaced
1502 Gear^.Angle:= (Gear^.Angle + 4 + dA) mod 4 |
1502 Gear^.Angle:= (Gear^.Angle + 4 + dA) mod 4 |
1503 end; |
1503 end; |
1504 |
1504 |
1505 begin |
1505 begin |
1506 inc(Gear^.Tag); |
1506 inc(Gear^.Tag); |
1507 if Gear^.Tag < 5 then exit; |
1507 if Gear^.Tag < 7 then exit; |
1508 |
1508 |
1509 dA:= hwSign(Gear^.dX); |
1509 dA:= hwSign(Gear^.dX); |
1510 xx:= dirs[Gear^.Angle].x; |
1510 xx:= dirs[Gear^.Angle].x; |
1511 yy:= dirs[Gear^.Angle].y; |
1511 yy:= dirs[Gear^.Angle].y; |
1512 xxn:= dirs[(Gear^.Angle + 4 + dA) mod 4].x; |
1512 xxn:= dirs[(Gear^.Angle + 4 + dA) mod 4].x; |
1553 procedure doStepCakeUp(Gear: PGear); |
1553 procedure doStepCakeUp(Gear: PGear); |
1554 var i: Longword; |
1554 var i: Longword; |
1555 begin |
1555 begin |
1556 AllInactive:= false; |
1556 AllInactive:= false; |
1557 |
1557 |
|
1558 inc(Gear^.Tag); |
|
1559 if Gear^.Tag < 85 then exit; |
|
1560 Gear^.Tag:= 0; |
|
1561 |
|
1562 if Gear^.Pos = 0 then |
1558 begin |
1563 begin |
1559 for i:= 0 to Pred(cakeh) do |
1564 for i:= 0 to Pred(cakeh) do |
1560 begin |
1565 begin |
1561 CakePoints[i].x:= Gear^.X; |
1566 CakePoints[i].x:= Gear^.X; |
1562 CakePoints[i].y:= Gear^.Y |
1567 CakePoints[i].y:= Gear^.Y |
1563 end; |
1568 end; |
1564 CakeI:= 0; |
1569 CakeI:= 0; |
|
1570 Gear^.Pos:= 6; |
1565 Gear^.doStep:= @doStepCakeWork |
1571 Gear^.doStep:= @doStepCakeWork |
1566 end |
1572 end else dec(Gear^.Pos) |
1567 end; |
1573 end; |
1568 |
1574 |
1569 procedure doStepCakeFall(Gear: PGear); |
1575 procedure doStepCakeFall(Gear: PGear); |
1570 begin |
1576 begin |
1571 AllInactive:= false; |
1577 AllInactive:= false; |