[ Thread Index |
Date Index
| More lists.liballeg.org/allegro-developers Archives
]
I've investigated a bit into the BeAllegro polygons problem, and I've found
it to be another wierdness of Be gcc... The bug was simply solved in a
similar way Peter solved the MIDI one: look at the patch for details. Even if
it seems almost illogical, this makes everything to work nicely now,
including test, excamera and exzbuf.
I'm attaching to this message two small patches, one for poly3d.c and the
other for todo.txt, in which I also erased the common windowed updater core
todo, as it also appears inside the wishlist (and it's better to have it
there, as it seems it is still far from being done). Sorry for posting the
patches here, but currently Sourceforge refuses me to upload them...
--
Angelo Mottola
a.mottola@xxxxxxxxxx
ICQ UIN #66972680
--- todo.txt.old Tue Dec 26 15:51:13 2000
+++ todo.txt Tue Dec 26 15:53:33 2000
@@ -11,8 +11,6 @@
---------------------------------------------------------------------------
- Add caching system to speed up filename#object and load_datafile_object()
-- Add a general windowed gfx updater with color conversion, to be used by
- specific ports
- Convert more programs/examples to the new GFX_SAFE behaviour
Win32 todos:
@@ -63,7 +61,6 @@
- Add display switching support to fullscreen driver
- Write a safe windowed driver using BBitmap
-- investigate quad3d_f problems
- shared library support
- code cleanup
--- poly3d.c Fri Dec 8 01:48:34 2000
+++ /BeHappy/src/alleg/src/poly3d.c Mon Dec 25 21:27:56 2000
@@ -252,6 +252,13 @@
edge->top = fceil(ftofix(v1->y));
edge->bottom = fceil(ftofix(v2->y)) - 1;
+ /* Dirty hack to make this to work with BeOS. This is the second very
+ * strange hack on BeAllegro: see midi.c for the other one.
+ */
+#ifdef ALLEGRO_BEOS
+ { int i; for (i=1; i; i--); }
+#endif
+
h1 = 1.0 / (v2->y - v1->y);
h = ftofix(v2->y - v1->y);
step = (edge->top << 16) - ftofix(v1->y);