Zitat von
Peter666:
Warnungen gibt es keine,
Unter Delphi 2006 schon - der Compiler mäkelt an der Groß-/Kleinschreibung deiner überladenen Routinen rum (z.B. hast du create und destroy anstelle von Create und Destroy). Aber das dürfte kaum was mit deinem Problem zu tun haben.
Zitat von
Peter666:
das Problem ist das
function fdiv(num, den: PFReal): PFReal;
var p, q, r: Longword;
begin
p := longword(num) shl (PFREAL_SHIFT * 2);
q := p div longword(den);
r := q shr PFREAL_SHIFT;
result := r;
end;
bei:
xi := qMax(0, (w * PFREAL_ONE div 2) + fdiv(xs * h, dist + ys) shr PFREAL_SHIFT)
Einen völlig abstrusen Wert liefert und dementsprechend nichts gerendered wird. Die Renderslide macht hierbei die meiste Arbeit und just da will es nicht
Im C++-Original wird auf
long long gecastet - das sind vermutlich 64 Bit. Kannst ja mal versuchen, ob's mit Int64 statt Longword besser geht.
HTH,
Uli.