1104 endY:= y - WorldDy; |
1104 endY:= y - WorldDy; |
1105 if Gear^.Tag < 0 then |
1105 if Gear^.Tag < 0 then |
1106 startX:= max(max(LAND_WIDTH,4096) + 1024, endX + 2048) |
1106 startX:= max(max(LAND_WIDTH,4096) + 1024, endX + 2048) |
1107 else |
1107 else |
1108 startX:= max(-max(LAND_WIDTH,4096) - 1024, endX - 2048); |
1108 startX:= max(-max(LAND_WIDTH,4096) - 1024, endX - 2048); |
1109 startY:= endY - 256; |
1109 startY:= endY - 1024; |
1110 DrawTextureF(SpritesData[sprBirdy].Texture, 1, startX + WorldDx + LongInt(round((endX - startX) * (-power(2, -10 * LongInt(Gear^.Timer)/2000) + 1))), startY + WorldDy + LongInt(round((endY - startY) * sqrt(1 - power((LongInt(Gear^.Timer)/2000)-1, 2)))), ((Gear^.Pos shr 6) or (RealTicks shr 8)) mod 2, Gear^.Tag, 75, 75); |
1110 DrawTextureF(SpritesData[sprBirdy].Texture, min(Gear^.Timer/750,1), startX + WorldDx + LongInt(round((endX - startX) * (-power(2, -10 * LongInt(Gear^.Timer)/2000) + 1))), startY + WorldDy + LongInt(round((endY - startY) * sqrt(1 - power((LongInt(Gear^.Timer)/2000)-1, 2)))), ((Gear^.Pos shr 6) or (RealTicks shr 8)) mod 2, Gear^.Tag, 75, 75); |
1111 end |
1111 end |
1112 else // Disappearing |
1112 else // Disappearing |
1113 begin |
1113 begin |
1114 startX:= x - WorldDx; |
1114 startX:= x - WorldDx; |
1115 startY:= y - WorldDy; |
1115 startY:= y - WorldDy; |
1116 if Gear^.Tag > 0 then |
1116 if Gear^.Tag > 0 then |
1117 endX:= max(max(LAND_WIDTH,4096) + 1024, startX + 2048) |
1117 endX:= max(max(LAND_WIDTH,4096) + 1024, startX + 2048) |
1118 else |
1118 else |
1119 endX:= max(-max(LAND_WIDTH,4096) - 1024, startX - 2048); |
1119 endX:= max(-max(LAND_WIDTH,4096) - 1024, startX - 2048); |
1120 endY:= startY + 256; |
1120 endY:= startY + 1024; |
1121 DrawTextureF(SpritesData[sprBirdy].Texture, 1, startX + WorldDx + LongInt(round((endX - startX) * power(2, 10 * (LongInt(Gear^.Timer)/2000 - 1)))) + hwRound(Gear^.dX * Gear^.Timer), startY + WorldDy + LongInt(round((endY - startY) * cos(LongInt(Gear^.Timer)/2000 * (Pi/2)) - (endY - startY))) + hwRound(Gear^.dY * Gear^.Timer), ((Gear^.Pos shr 6) or (RealTicks shr 8)) mod 2, Gear^.Tag, 75, 75); |
1121 DrawTextureF(SpritesData[sprBirdy].Texture, min((2000-Gear^.Timer)/750,1), startX + WorldDx + LongInt(round((endX - startX) * power(2, 10 * (LongInt(Gear^.Timer)/2000 - 1)))) + hwRound(Gear^.dX * Gear^.Timer), startY + WorldDy + LongInt(round((endY - startY) * cos(LongInt(Gear^.Timer)/2000 * (Pi/2)) - (endY - startY))) + hwRound(Gear^.dY * Gear^.Timer), ((Gear^.Pos shr 6) or (RealTicks shr 8)) mod 2, Gear^.Tag, 75, 75); |
1122 end; |
1122 end; |
1123 end |
1123 end |
1124 else |
1124 else |
1125 begin |
1125 begin |
1126 if Gear^.Health < 250 then |
1126 if Gear^.Health < 250 then |