hedgewars/uVisualGears.pas
changeset 812 cbc392576990
parent 808 09ffccb9600a
child 840 3c0028245ff3
equal deleted inserted replaced
811:b3b9b9263d78 812:cbc392576990
    73 end;
    73 end;
    74 
    74 
    75 procedure doStepCloud(Gear: PVisualGear; Steps: Longword);
    75 procedure doStepCloud(Gear: PVisualGear; Steps: Longword);
    76 begin
    76 begin
    77 Gear^.X:= Gear^.X + (cWindSpeed * 200 + Gear^.dX) * Steps;
    77 Gear^.X:= Gear^.X + (cWindSpeed * 200 + Gear^.dX) * Steps;
    78 if hwRound(Gear^.Y) > -160 then Gear^.dY:= Gear^.dY - _1div50000
    78 if hwRound(Gear^.Y) > -160 then Gear^.dY:= Gear^.dY - _1div50000 * Steps
    79                            else Gear^.dY:= Gear^.dY + _1div50000;
    79                            else Gear^.dY:= Gear^.dY + _1div50000 * Steps;
    80 
    80 
    81 Gear^.Y:= Gear^.Y + Gear^.dY * Steps;
    81 Gear^.Y:= Gear^.Y + Gear^.dY * Steps;
    82 
    82 
    83 if hwRound(Gear^.X) < -cScreenWidth - 256 then Gear^.X:= int2hwFloat(cScreenWidth + 2048) else
    83 if hwRound(Gear^.X) < -cScreenWidth - 256 then Gear^.X:= int2hwFloat(cScreenWidth + 2048) else
    84 if hwRound(Gear^.X) > cScreenWidth + 2048 then Gear^.X:= int2hwFloat(-cScreenWidth - 256)
    84 if hwRound(Gear^.X) > cScreenWidth + 2048 then Gear^.X:= int2hwFloat(-cScreenWidth - 256)
    93 
    93 
    94 function  AddVisualGear(X, Y: LongInt; Kind: TVisualGearType): PVisualGear;
    94 function  AddVisualGear(X, Y: LongInt; Kind: TVisualGearType): PVisualGear;
    95 var Result: PVisualGear;
    95 var Result: PVisualGear;
    96 begin
    96 begin
    97 New(Result);
    97 New(Result);
    98 FillChar(Result^, sizeof(TVisualGearType), 0);
    98 FillChar(Result^, sizeof(TVisualGear), 0);
    99 Result^.X:= int2hwFloat(X);
    99 Result^.X:= int2hwFloat(X);
   100 Result^.Y:= int2hwFloat(Y);
   100 Result^.Y:= int2hwFloat(Y);
   101 Result^.Kind := Kind;
   101 Result^.Kind := Kind;
   102 Result^.doStep:= doStepHandlers[Kind];
   102 Result^.doStep:= doStepHandlers[Kind];
   103 
   103