1108 endY:= y - WorldDy; |
1108 endY:= y - WorldDy; |
1109 if Gear^.Tag < 0 then |
1109 if Gear^.Tag < 0 then |
1110 startX:= max(max(LAND_WIDTH,4096) + 1024, endX + 2048) |
1110 startX:= max(max(LAND_WIDTH,4096) + 1024, endX + 2048) |
1111 else |
1111 else |
1112 startX:= max(-max(LAND_WIDTH,4096) - 1024, endX - 2048); |
1112 startX:= max(-max(LAND_WIDTH,4096) - 1024, endX - 2048); |
1113 startY:= endY - 256; |
1113 startY:= endY - 1024; |
1114 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); |
1114 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); |
1115 end |
1115 end |
1116 else // Disappearing |
1116 else // Disappearing |
1117 begin |
1117 begin |
1118 startX:= x - WorldDx; |
1118 startX:= x - WorldDx; |
1119 startY:= y - WorldDy; |
1119 startY:= y - WorldDy; |
1120 if Gear^.Tag > 0 then |
1120 if Gear^.Tag > 0 then |
1121 endX:= max(max(LAND_WIDTH,4096) + 1024, startX + 2048) |
1121 endX:= max(max(LAND_WIDTH,4096) + 1024, startX + 2048) |
1122 else |
1122 else |
1123 endX:= max(-max(LAND_WIDTH,4096) - 1024, startX - 2048); |
1123 endX:= max(-max(LAND_WIDTH,4096) - 1024, startX - 2048); |
1124 endY:= startY + 256; |
1124 endY:= startY + 1024; |
1125 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); |
1125 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); |
1126 end; |
1126 end; |
1127 end |
1127 end |
1128 else |
1128 else |
1129 begin |
1129 begin |
1130 if Gear^.Health < 250 then |
1130 if Gear^.Health < 250 then |