Index: allegro/inline/fmaths.inl
===================================================================
RCS file: /cvsroot/alleg/allegro/include/allegro/inline/fmaths.inl,v
retrieving revision 1.7
diff -u -r1.7 fmaths.inl
--- allegro/inline/fmaths.inl	1 Feb 2005 13:12:04 -0000	1.7
+++ allegro/inline/fmaths.inl	8 May 2005 14:13:06 -0000
@@ -103,7 +103,21 @@
 
 AL_INLINE(fixed, fixmul, (fixed x, fixed y),
 {
+#if 0
    return ftofix(fixtof(x) * fixtof(y));
+#else
+   fixed sign = (x^y) & 0x80000000;
+   fixed result;
+
+   if (y < 0) y = -y;
+   if (x < 0) x = -x;
+
+   result = ((y >> 8)*(x >> 8) +
+             (((y >> 8)*(x&0xff)) >> 8) +
+             (((x >> 8)*(y&0xff)) >> 8));
+
+   return (sign) ? -result : result;
+#endif
 })
 
 
