AShen » 08.11.2011 08:41:35
Спасибо за наводку. Получились следующие патчи:
--- /home/ashen/work/pascal/lazarus/lazarus/components/glscene/Source/GLSimpleNavigation.pas 2011-11-07 09:12:48.000000000 +0200
+++ /home/ashen/work/pascal/experementals/lazarus/components/glscene/Source/GLSimpleNavigation.pas 2011-11-08 06:46:00.000000000 +0200
@@ -262,10 +262,10 @@
begin
if lCamera.CameraStyle = csOrthogonal then
lCamera.FocalLength := FGLSceneViewer.Camera.FocalLength
- / Power(FZoomSpeed, Sign * WheelDelta div Abs(WheelDelta))
+ / Power(FZoomSpeed, Integer(Sign * WheelDelta div Abs(WheelDelta)))
else
lCamera.AdjustDistanceToTarget(
- Power(FZoomSpeed, Sign * WheelDelta div Abs(WheelDelta)));
+ Power(FZoomSpeed, Integer (Sign * WheelDelta div Abs(WheelDelta))));
end;
if snoMouseWheelHandled in FOptions then
--- /home/ashen/work/pascal/lazarus/lazarus/components/glscene/Source/Base/CurvesAndSurfaces.pas 2011-11-07 09:12:48.000000000 +0200
+++ /home/ashen/work/pascal/experementals/lazarus/components/glscene/Source/Base/CurvesAndSurfaces.pas 2011-11-08 07:29:34.000000000 +0200
@@ -66,7 +66,8 @@
ti, tni : Single;
begin
if (t=0) and (i=0) then ti:=1 else ti:=Power(t,i);
- if (n=i) and (t=1) then tni:=1 else tni:=Power(1-t,n-i);
+// if (n=i) and (t=1) then tni:=1 else tni:=Power(1-t,n-i);
+ if (n=i) and (t=1) then tni:=1 else tni:=Power(1-t,Integer(n-i));
Result:=(Factorial(n)/(Factorial(i)*Factorial(n-i)))*ti*tni;
end;
на x86_64 всё скомпилировалось.