Aufjedenfall funktioniert es!^^
Musste allerdings beim kalkulieren der rotation noch ne condition eibauen, damit der wraparound von 0 nach 259 funktioniert.
Delphi-Quellcode:
if getShortestRotation(FRotation, FRotationGoal) < 0 then
begin
if FRotation > 0 then
begin
FRotation := Abs((FRotation - 1) mod 360);
end
else
begin
FRotation := 359;
end;
end
else
begin
FRotation := Abs((FRotation + 1) mod 360);
end;
edit: in diesem fall sit dein weg sogar etwas langsamer, da die pointer erst dereferenziert werden müssen.