diff -r fe0e3903bb9e -r bcefeeabaa33 hedgewars/uFloat.pas --- a/hedgewars/uFloat.pas Thu Nov 18 09:12:27 2010 +0300 +++ b/hedgewars/uFloat.pas Thu Nov 18 11:32:47 2010 +0300 @@ -62,6 +62,7 @@ function AngleSin(const Angle: Longword): hwFloat; function AngleCos(const Angle: Longword): hwFloat; function SignAs(const num, signum: hwFloat): hwFloat; inline; +function hwSign(r: hwFloat): LongInt; inline; {$IFDEF FPC} {$J-} @@ -342,6 +343,12 @@ SignAs.isNegative:= signum.isNegative end; +function hwSign(r: hwFloat): LongInt; +begin +// yes, we have negative zero for a reason +if r.isNegative then hwSign:= -1 else hwSign:= 1 +end; + {$INCLUDE "SinTable.inc"} function AngleSin(const Angle: Longword): hwFloat;