Re: [AD] Feature request: Add missing GFX_VTABLE entries |
[ Thread Index |
Date Index
| More lists.liballeg.org/allegro-developers Archives
]
> Ok, revised patch attached.
Really attached this time.
Index: include/allegro/3d.h
===================================================================
RCS file: /cvsroot/alleg/allegro/include/allegro/3d.h,v
retrieving revision 1.3
diff -u -r1.3 3d.h
--- include/allegro/3d.h 31 Oct 2002 12:56:24 -0000 1.3
+++ include/allegro/3d.h 10 Oct 2004 14:47:21 -0000
@@ -64,12 +64,12 @@
AL_VAR(float, scene_gap);
-AL_FUNC(void, polygon3d, (struct BITMAP *bmp, int type, struct BITMAP *texture, int vc, V3D *vtx[]));
-AL_FUNC(void, polygon3d_f, (struct BITMAP *bmp, int type, struct BITMAP *texture, int vc, V3D_f *vtx[]));
-AL_FUNC(void, triangle3d, (struct BITMAP *bmp, int type, struct BITMAP *texture, V3D *v1, V3D *v2, V3D *v3));
-AL_FUNC(void, triangle3d_f, (struct BITMAP *bmp, int type, struct BITMAP *texture, V3D_f *v1, V3D_f *v2, V3D_f *v3));
-AL_FUNC(void, quad3d, (struct BITMAP *bmp, int type, struct BITMAP *texture, V3D *v1, V3D *v2, V3D *v3, V3D *v4));
-AL_FUNC(void, quad3d_f, (struct BITMAP *bmp, int type, struct BITMAP *texture, V3D_f *v1, V3D_f *v2, V3D_f *v3, V3D_f *v4));
+AL_FUNC(void, _soft_polygon3d, (struct BITMAP *bmp, int type, struct BITMAP *texture, int vc, V3D *vtx[]));
+AL_FUNC(void, _soft_polygon3d_f, (struct BITMAP *bmp, int type, struct BITMAP *texture, int vc, V3D_f *vtx[]));
+AL_FUNC(void, _soft_triangle3d, (struct BITMAP *bmp, int type, struct BITMAP *texture, V3D *v1, V3D *v2, V3D *v3));
+AL_FUNC(void, _soft_triangle3d_f, (struct BITMAP *bmp, int type, struct BITMAP *texture, V3D_f *v1, V3D_f *v2, V3D_f *v3));
+AL_FUNC(void, _soft_quad3d, (struct BITMAP *bmp, int type, struct BITMAP *texture, V3D *v1, V3D *v2, V3D *v3, V3D *v4));
+AL_FUNC(void, _soft_quad3d_f, (struct BITMAP *bmp, int type, struct BITMAP *texture, V3D_f *v1, V3D_f *v2, V3D_f *v3, V3D_f *v4));
AL_FUNC(int, clip3d, (int type, fixed min_z, fixed max_z, int vc, AL_CONST V3D *vtx[], V3D *vout[], V3D *vtmp[], int out[]));
AL_FUNC(int, clip3d_f, (int type, float min_z, float max_z, int vc, AL_CONST V3D_f *vtx[], V3D_f *vout[], V3D_f *vtmp[], int out[]));
Index: include/allegro/draw.h
===================================================================
RCS file: /cvsroot/alleg/allegro/include/allegro/draw.h,v
retrieving revision 1.4
diff -u -r1.4 draw.h
--- include/allegro/draw.h 31 Oct 2002 12:56:24 -0000 1.4
+++ include/allegro/draw.h 10 Oct 2004 14:47:22 -0000
@@ -38,26 +38,26 @@
AL_FUNC(void, xor_mode, (int on));
AL_FUNC(void, solid_mode, (void));
AL_FUNC(void, do_line, (struct BITMAP *bmp, int x1, int y1, int x2, int y2, int d, AL_METHOD(void, proc, (struct BITMAP *, int, int, int))));
-AL_FUNC(void, triangle, (struct BITMAP *bmp, int x1, int y1, int x2, int y2, int x3, int y3, int color));
-AL_FUNC(void, polygon, (struct BITMAP *bmp, int vertices, AL_CONST int *points, int color));
-AL_FUNC(void, rect, (struct BITMAP *bmp, int x1, int y1, int x2, int y2, int color));
+AL_FUNC(void, _soft_triangle, (struct BITMAP *bmp, int x1, int y1, int x2, int y2, int x3, int y3, int color));
+AL_FUNC(void, _soft_polygon, (struct BITMAP *bmp, int vertices, AL_CONST int *points, int color));
+AL_FUNC(void, _soft_rect, (struct BITMAP *bmp, int x1, int y1, int x2, int y2, int color));
AL_FUNC(void, do_circle, (struct BITMAP *bmp, int x, int y, int radius, int d, AL_METHOD(void, proc, (struct BITMAP *, int, int, int))));
-AL_FUNC(void, circle, (struct BITMAP *bmp, int x, int y, int radius, int color));
-AL_FUNC(void, circlefill, (struct BITMAP *bmp, int x, int y, int radius, int color));
+AL_FUNC(void, _soft_circle, (struct BITMAP *bmp, int x, int y, int radius, int color));
+AL_FUNC(void, _soft_circlefill, (struct BITMAP *bmp, int x, int y, int radius, int color));
AL_FUNC(void, do_ellipse, (struct BITMAP *bmp, int x, int y, int rx, int ry, int d, AL_METHOD(void, proc, (struct BITMAP *, int, int, int))));
-AL_FUNC(void, ellipse, (struct BITMAP *bmp, int x, int y, int rx, int ry, int color));
-AL_FUNC(void, ellipsefill, (struct BITMAP *bmp, int x, int y, int rx, int ry, int color));
+AL_FUNC(void, _soft_ellipse, (struct BITMAP *bmp, int x, int y, int rx, int ry, int color));
+AL_FUNC(void, _soft_ellipsefill, (struct BITMAP *bmp, int x, int y, int rx, int ry, int color));
AL_FUNC(void, do_arc, (struct BITMAP *bmp, int x, int y, fixed ang1, fixed ang2, int r, int d, AL_METHOD(void, proc, (struct BITMAP *, int, int, int))));
-AL_FUNC(void, arc, (struct BITMAP *bmp, int x, int y, fixed ang1, fixed ang2, int r, int color));
+AL_FUNC(void, _soft_arc, (struct BITMAP *bmp, int x, int y, fixed ang1, fixed ang2, int r, int color));
AL_FUNC(void, calc_spline, (AL_CONST int points[8], int npts, int *x, int *y));
-AL_FUNC(void, spline, (struct BITMAP *bmp, AL_CONST int points[8], int color));
-AL_FUNC(void, floodfill, (struct BITMAP *bmp, int x, int y, int color));
+AL_FUNC(void, _soft_spline, (struct BITMAP *bmp, AL_CONST int points[8], int color));
+AL_FUNC(void, _soft_floodfill, (struct BITMAP *bmp, int x, int y, int color));
AL_FUNC(void, blit, (struct BITMAP *source, struct BITMAP *dest, int source_x, int source_y, int dest_x, int dest_y, int width, int height));
AL_FUNC(void, masked_blit, (struct BITMAP *source, struct BITMAP *dest, int source_x, int source_y, int dest_x, int dest_y, int width, int height));
AL_FUNC(void, stretch_blit, (struct BITMAP *s, struct BITMAP *d, int s_x, int s_y, int s_w, int s_h, int d_x, int d_y, int d_w, int d_h));
AL_FUNC(void, masked_stretch_blit, (struct BITMAP *s, struct BITMAP *d, int s_x, int s_y, int s_w, int s_h, int d_x, int d_y, int d_w, int d_h));
AL_FUNC(void, stretch_sprite, (struct BITMAP *bmp, struct BITMAP *sprite, int x, int y, int w, int h));
-AL_FUNC(void, draw_gouraud_sprite, (struct BITMAP *bmp, struct BITMAP *sprite, int x, int y, int c1, int c2, int c3, int c4));
+AL_FUNC(void, _soft_draw_gouraud_sprite, (struct BITMAP *bmp, struct BITMAP *sprite, int x, int y, int c1, int c2, int c3, int c4));
#ifdef __cplusplus
}
Index: include/allegro/gfx.h
===================================================================
RCS file: /cvsroot/alleg/allegro/include/allegro/gfx.h,v
retrieving revision 1.12
diff -u -r1.12 gfx.h
--- include/allegro/gfx.h 14 Feb 2004 15:27:58 -0000 1.12
+++ include/allegro/gfx.h 10 Oct 2004 14:47:22 -0000
@@ -19,6 +19,7 @@
#ifndef ALLEGRO_GFX_H
#define ALLEGRO_GFX_H
+#include "3d.h"
#include "base.h"
#include "fixed.h"
@@ -75,6 +76,7 @@
AL_METHOD(void, drawing_mode, (void));
AL_METHOD(void, save_video_state, (void));
AL_METHOD(void, restore_video_state, (void));
+ AL_METHOD(void, set_blender_mode, (int mode, int r, int g, int b, int a));
AL_METHOD(GFX_MODE_LIST *, fetch_mode_list, (void));
int w, h; /* physical (not virtual!) screen size */
int linear; /* true if video memory is linear */
@@ -145,7 +147,7 @@
AL_METHOD(void, line, (struct BITMAP *bmp, int x1, int y1, int x2, int y2, int color));
AL_METHOD(void, fastline, (struct BITMAP *bmp, int x1, int y1, int x2, int y2, int color));
AL_METHOD(void, rectfill, (struct BITMAP *bmp, int x1, int y1, int x2, int y2, int color));
- AL_METHOD(int, triangle, (struct BITMAP *bmp, int x1, int y1, int x2, int y2, int x3, int y3, int color));
+ AL_METHOD(void, triangle, (struct BITMAP *bmp, int x1, int y1, int x2, int y2, int x3, int y3, int color));
AL_METHOD(void, draw_sprite, (struct BITMAP *bmp, struct BITMAP *sprite, int x, int y));
AL_METHOD(void, draw_256_sprite, (struct BITMAP *bmp, struct BITMAP *sprite, int x, int y));
AL_METHOD(void, draw_sprite_v_flip, (struct BITMAP *bmp, struct BITMAP *sprite, int x, int y));
@@ -171,8 +173,25 @@
AL_METHOD(void, masked_blit, (struct BITMAP *source, struct BITMAP *dest, int source_x, int source_y, int dest_x, int dest_y, int width, int height));
AL_METHOD(void, clear_to_color, (struct BITMAP *bitmap, int color));
AL_METHOD(void, pivot_scaled_sprite_flip, (struct BITMAP *bmp, struct BITMAP *sprite, fixed x, fixed y, fixed cx, fixed cy, fixed angle, fixed scale, int v_flip));
+ AL_METHOD(void, do_stretch_blit, (struct BITMAP *source, struct BITMAP *dest, int source_x, int source_y, int source_width, int source_height, int dest_x, int dest_y, int dest_width, int dest_height, int masked));
+ AL_METHOD(void, draw_gouraud_sprite, (struct BITMAP *bmp, struct BITMAP *sprite, int x, int y, int c1, int c2, int c3, int c4));
AL_METHOD(void, draw_sprite_end, (void));
AL_METHOD(void, blit_end, (void));
+ AL_METHOD(void, polygon, (struct BITMAP *bmp, int vertices, AL_CONST int *points, int color));
+ AL_METHOD(void, rect, (struct BITMAP *bmp, int x1, int y1, int x2, int y2, int color));
+ AL_METHOD(void, circle, (struct BITMAP *bmp, int x, int y, int radius, int color));
+ AL_METHOD(void, circlefill, (struct BITMAP *bmp, int x, int y, int radius, int color));
+ AL_METHOD(void, ellipse, (struct BITMAP *bmp, int x, int y, int rx, int ry, int color));
+ AL_METHOD(void, ellipsefill, (struct BITMAP *bmp, int x, int y, int rx, int ry, int color));
+ AL_METHOD(void, arc, (struct BITMAP *bmp, int x, int y, fixed ang1, fixed ang2, int r, int color));
+ AL_METHOD(void, spline, (struct BITMAP *bmp, AL_CONST int points[8], int color));
+ AL_METHOD(void, floodfill, (struct BITMAP *bmp, int x, int y, int color));
+ AL_METHOD(void, polygon3d, (struct BITMAP *bmp, int type, struct BITMAP *texture, int vc, V3D *vtx[]));
+ AL_METHOD(void, polygon3d_f, (struct BITMAP *bmp, int type, struct BITMAP *texture, int vc, V3D_f *vtx[]));
+ AL_METHOD(void, triangle3d, (struct BITMAP *bmp, int type, struct BITMAP *texture, V3D *v1, V3D *v2, V3D *v3));
+ AL_METHOD(void, triangle3d_f, (struct BITMAP *bmp, int type, struct BITMAP *texture, V3D_f *v1, V3D_f *v2, V3D_f *v3));
+ AL_METHOD(void, quad3d, (struct BITMAP *bmp, int type, struct BITMAP *texture, V3D *v1, V3D *v2, V3D *v3, V3D *v4));
+ AL_METHOD(void, quad3d_f, (struct BITMAP *bmp, int type, struct BITMAP *texture, V3D_f *v1, V3D_f *v2, V3D_f *v3, V3D_f *v4));
} GFX_VTABLE;
Index: include/allegro/inline/draw.inl
===================================================================
RCS file: /cvsroot/alleg/allegro/include/allegro/inline/draw.inl,v
retrieving revision 1.6
diff -u -r1.6 draw.inl
--- include/allegro/inline/draw.inl 14 Feb 2004 15:27:59 -0000 1.6
+++ include/allegro/inline/draw.inl 10 Oct 2004 14:47:22 -0000
@@ -20,6 +20,7 @@
#define ALLEGRO_DRAW_INL
#include "allegro/debug.h"
+#include "allegro/3d.h"
#include "gfx.inl"
#ifdef __cplusplus
@@ -82,6 +83,148 @@
})
+AL_INLINE(void, triangle, (struct BITMAP *bmp, int x1, int y1, int x2, int y2, int x3, int y3, int color),
+{
+ ASSERT(bmp);
+
+ bmp->vtable->triangle(bmp, x1, y1, x2, y2, x3, y3, color);
+})
+
+
+AL_INLINE(void, polygon, (BITMAP *bmp, int vertices, AL_CONST int *points, int color),
+{
+ ASSERT(bmp);
+
+ bmp->vtable->polygon(bmp, vertices, points, color);
+})
+
+
+AL_INLINE(void, rect, (BITMAP *bmp, int x1, int y1, int x2, int y2, int color),
+{
+ ASSERT(bmp);
+
+ bmp->vtable->rect(bmp, x1, y1, x2, y2, color);
+})
+
+
+AL_INLINE(void, circle, (BITMAP *bmp, int x, int y, int radius, int color),
+{
+ ASSERT(bmp);
+
+ bmp->vtable->circle(bmp, x, y, radius, color);
+})
+
+
+AL_INLINE(void, circlefill, (BITMAP *bmp, int x, int y, int radius, int color),
+{
+ ASSERT(bmp);
+
+ bmp->vtable->circlefill(bmp, x, y, radius, color);
+})
+
+
+
+AL_INLINE(void, ellipse, (BITMAP *bmp, int x, int y, int rx, int ry, int color),
+{
+ ASSERT(bmp);
+
+ bmp->vtable->ellipse(bmp, x, y, rx, ry, color);
+})
+
+
+
+AL_INLINE(void, ellipsefill, (BITMAP *bmp, int x, int y, int rx, int ry, int color),
+{
+ ASSERT(bmp);
+
+ bmp->vtable->ellipsefill(bmp, x, y, rx, ry, color);
+})
+
+
+
+AL_INLINE(void, arc, (BITMAP *bmp, int x, int y, fixed ang1, fixed ang2, int r, int color),
+{
+ ASSERT(bmp);
+
+ bmp->vtable->arc(bmp, x, y, ang1, ang2, r, color);
+})
+
+
+
+AL_INLINE(void, spline, (BITMAP *bmp, AL_CONST int points[8], int color),
+{
+ ASSERT(bmp);
+
+ bmp->vtable->spline(bmp, points, color);
+})
+
+
+
+AL_INLINE(void, floodfill, (BITMAP *bmp, int x, int y, int color),
+{
+ ASSERT(bmp);
+
+ bmp->vtable->floodfill(bmp, x, y, color);
+})
+
+
+
+AL_INLINE(void, polygon3d, (BITMAP *bmp, int type, struct BITMAP *texture, int vc, V3D *vtx[]),
+{
+ ASSERT(bmp);
+
+ bmp->vtable->polygon3d(bmp, type, texture, vc, vtx);
+})
+
+
+
+AL_INLINE(void, polygon3d_f, (BITMAP *bmp, int type, BITMAP *texture, int vc, V3D_f *vtx[]),
+{
+ ASSERT(bmp);
+
+ bmp->vtable->polygon3d_f(bmp, type, texture, vc, vtx);
+})
+
+
+
+AL_INLINE(void, triangle3d, (BITMAP *bmp, int type, BITMAP *texture, V3D *v1, V3D *v2, V3D *v3),
+{
+ ASSERT(bmp);
+
+ bmp->vtable->triangle3d(bmp, type, texture, v1, v2, v3);
+})
+
+
+
+AL_INLINE(void, triangle3d_f, (BITMAP *bmp, int type, BITMAP *texture, V3D_f *v1, V3D_f *v2, V3D_f *v3),
+{
+ ASSERT(bmp);
+
+ bmp->vtable->triangle3d_f(bmp, type, texture, v1, v2, v3);
+})
+
+
+
+AL_INLINE(void, quad3d, (BITMAP *bmp, int type, BITMAP *texture, V3D *v1, V3D *v2, V3D *v3, V3D *v4),
+{
+ ASSERT(bmp);
+
+ bmp->vtable->quad3d(bmp, type, texture, v1, v2, v3, v4);
+})
+
+
+
+AL_INLINE(void, quad3d_f, (BITMAP *bmp, int type, BITMAP *texture, V3D_f *v1, V3D_f *v2, V3D_f *v3, V3D_f *v4),
+{
+ ASSERT(bmp);
+
+ bmp->vtable->quad3d_f(bmp, type, texture, v1, v2, v3, v4);
+})
+
+
+
+
+
AL_INLINE(void, draw_sprite, (BITMAP *bmp, BITMAP *sprite, int x, int y),
{
ASSERT(bmp);
@@ -153,6 +296,16 @@
})
+AL_INLINE(void, draw_gouraud_sprite, (BITMAP *bmp, BITMAP *sprite, int x, int y, int c1, int c2, int c3, int c4),
+{
+ ASSERT(bmp);
+ ASSERT(sprite);
+ ASSERT(bmp->vtable->color_depth == sprite->vtable->color_depth);
+
+ bmp->vtable->draw_gouraud_sprite(bmp, sprite, x, y, c1, c2, c3, c4);
+})
+
+
AL_INLINE(void, draw_character_ex, (BITMAP *bmp, BITMAP *sprite, int x, int y, int color, int bg),
{
ASSERT(bmp);
Index: src/flood.c
===================================================================
RCS file: /cvsroot/alleg/allegro/src/flood.c,v
retrieving revision 1.5
diff -u -r1.5 flood.c
--- src/flood.c 23 Oct 2003 08:11:47 -0000 1.5
+++ src/flood.c 10 Oct 2004 14:47:23 -0000
@@ -206,7 +206,7 @@
/* floodfill:
* Fills an enclosed area (starting at point x, y) with the specified color.
*/
-void floodfill(BITMAP *bmp, int x, int y, int color)
+void _soft_floodfill(BITMAP *bmp, int x, int y, int color)
{
int src_color;
int c, done;
Index: src/gfx.c
===================================================================
RCS file: /cvsroot/alleg/allegro/src/gfx.c,v
retrieving revision 1.18
diff -u -r1.18 gfx.c
--- src/gfx.c 14 Feb 2004 15:27:59 -0000 1.18
+++ src/gfx.c 10 Oct 2004 14:47:24 -0000
@@ -497,7 +497,7 @@
/* rect:
* Draws an outline rectangle.
*/
-void rect(BITMAP *bmp, int x1, int y1, int x2, int y2, int color)
+void _soft_rect(BITMAP *bmp, int x1, int y1, int x2, int y2, int color)
{
int t;
@@ -934,7 +934,7 @@
/* circle:
* Draws a circle.
*/
-void circle(BITMAP *bmp, int x, int y, int radius, int color)
+void _soft_circle(BITMAP *bmp, int x, int y, int radius, int color)
{
int clip, sx, sy, dx, dy;
ASSERT(bmp);
@@ -970,7 +970,7 @@
/* circlefill:
* Draws a filled circle.
*/
-void circlefill(BITMAP *bmp, int x, int y, int radius, int color)
+void _soft_circlefill(BITMAP *bmp, int x, int y, int radius, int color)
{
int cx = 0;
int cy = radius;
@@ -1147,7 +1147,7 @@
/* ellipse:
* Draws an ellipse.
*/
-void ellipse(BITMAP *bmp, int x, int y, int rx, int ry, int color)
+void _soft_ellipse(BITMAP *bmp, int x, int y, int rx, int ry, int color)
{
int clip, sx, sy, dx, dy;
ASSERT(bmp);
@@ -1183,7 +1183,7 @@
/* ellipsefill:
* Draws a filled ellipse.
*/
-void ellipsefill(BITMAP *bmp, int x, int y, int rx, int ry, int color)
+void _soft_ellipsefill(BITMAP *bmp, int x, int y, int rx, int ry, int color)
{
int ix, iy;
int a, b, c, d;
@@ -1510,7 +1510,7 @@
/* arc:
* Draws an arc.
*/
-void arc(BITMAP *bmp, int x, int y, fixed ang1, fixed ang2, int r, int color)
+void _soft_arc(BITMAP *bmp, int x, int y, fixed ang1, fixed ang2, int r, int color)
{
ASSERT(bmp);
acquire_bitmap(bmp);
Index: src/gsprite.c
===================================================================
RCS file: /cvsroot/alleg/allegro/src/gsprite.c,v
retrieving revision 1.6
diff -u -r1.6 gsprite.c
--- src/gsprite.c 12 Sep 2002 16:23:57 -0000 1.6
+++ src/gsprite.c 10 Oct 2004 14:47:24 -0000
@@ -25,7 +25,7 @@
* Draws a lit or tinted sprite, interpolating the four corner colors
* over the surface of the image.
*/
-void draw_gouraud_sprite(BITMAP *bmp, BITMAP *sprite, int x, int y, int c1, int c2, int c3, int c4)
+void _soft_draw_gouraud_sprite(BITMAP *bmp, BITMAP *sprite, int x, int y, int c1, int c2, int c3, int c4)
{
fixed mc1, mc2, mh;
fixed lc, rc, hc;
Index: src/poly3d.c
===================================================================
RCS file: /cvsroot/alleg/allegro/src/poly3d.c,v
retrieving revision 1.27
diff -u -r1.27 poly3d.c
--- src/poly3d.c 24 Jun 2003 12:38:29 -0000 1.27
+++ src/poly3d.c 10 Oct 2004 14:47:25 -0000
@@ -1145,7 +1145,7 @@
* be followed by that many pointers to V3D structures, which describe each
* vertex of the polygon.
*/
-void polygon3d(BITMAP *bmp, int type, BITMAP *texture, int vc, V3D *vtx[])
+void _soft_polygon3d(BITMAP *bmp, int type, BITMAP *texture, int vc, V3D *vtx[])
{
int c;
int flags;
@@ -1211,7 +1211,7 @@
/* polygon3d_f:
* Floating point version of polygon3d().
*/
-void polygon3d_f(BITMAP *bmp, int type, BITMAP *texture, int vc, V3D_f *vtx[])
+void _soft_polygon3d_f(BITMAP *bmp, int type, BITMAP *texture, int vc, V3D_f *vtx[])
{
int c;
int flags;
@@ -1531,7 +1531,7 @@
/* triangle3d:
* Draws a 3d triangle.
*/
-void triangle3d(BITMAP *bmp, int type, BITMAP *texture, V3D *v1, V3D *v2, V3D *v3)
+void _soft_triangle3d(BITMAP *bmp, int type, BITMAP *texture, V3D *v1, V3D *v2, V3D *v3)
{
int flags;
@@ -1621,7 +1621,7 @@
/* triangle3d_f:
* Draws a 3d triangle.
*/
-void triangle3d_f(BITMAP *bmp, int type, BITMAP *texture, V3D_f *v1, V3D_f *v2, V3D_f *v3)
+void _soft_triangle3d_f(BITMAP *bmp, int type, BITMAP *texture, V3D_f *v1, V3D_f *v2, V3D_f *v3)
{
int flags;
@@ -1711,7 +1711,7 @@
/* quad3d:
* Draws a 3d quad.
*/
-void quad3d(BITMAP *bmp, int type, BITMAP *texture, V3D *v1, V3D *v2, V3D *v3, V3D *v4)
+void _soft_quad3d(BITMAP *bmp, int type, BITMAP *texture, V3D *v1, V3D *v2, V3D *v3, V3D *v4)
{
#if (defined ALLEGRO_GCC) && (defined ALLEGRO_I386)
ASSERT(bmp);
@@ -1738,7 +1738,7 @@
/* quad3d_f:
* Draws a 3d quad.
*/
-void quad3d_f(BITMAP *bmp, int type, BITMAP *texture, V3D_f *v1, V3D_f *v2, V3D_f *v3, V3D_f *v4)
+void _soft_quad3d_f(BITMAP *bmp, int type, BITMAP *texture, V3D_f *v1, V3D_f *v2, V3D_f *v3, V3D_f *v4)
{
#if (defined ALLEGRO_GCC) && (defined ALLEGRO_I386)
ASSERT(bmp);
Index: src/polygon.c
===================================================================
RCS file: /cvsroot/alleg/allegro/src/polygon.c,v
retrieving revision 1.6
diff -u -r1.6 polygon.c
--- src/polygon.c 9 Sep 2002 16:45:32 -0000 1.6
+++ src/polygon.c 10 Oct 2004 14:47:26 -0000
@@ -113,7 +113,7 @@
* number of vertices, then an array containing a series of x, y points
* (a total of vertices*2 values).
*/
-void polygon(BITMAP *bmp, int vertices, AL_CONST int *points, int color)
+void _soft_polygon(BITMAP *bmp, int vertices, AL_CONST int *points, int color)
{
int c;
int top = INT_MAX;
@@ -211,12 +211,9 @@
/* triangle:
* Draws a filled triangle between the three points.
*/
-void triangle(BITMAP *bmp, int x1, int y1, int x2, int y2, int x3, int y3, int color)
+void _soft_triangle(BITMAP *bmp, int x1, int y1, int x2, int y2, int x3, int y3, int color)
{
ASSERT(bmp);
- if (bmp->vtable->triangle)
- if (bmp->vtable->triangle(bmp, x1, y1, x2, y2, x3, y3, color))
- return;
#if (defined ALLEGRO_GCC) && (defined ALLEGRO_I386)
Index: src/spline.c
===================================================================
RCS file: /cvsroot/alleg/allegro/src/spline.c,v
retrieving revision 1.8
diff -u -r1.8 spline.c
--- src/spline.c 9 Sep 2002 16:45:33 -0000 1.8
+++ src/spline.c 10 Oct 2004 14:47:26 -0000
@@ -115,7 +115,7 @@
/* spline:
* Draws a bezier spline onto the specified bitmap in the specified color.
*/
-void spline(BITMAP *bmp, AL_CONST int points[8], int color)
+void _soft_spline(BITMAP *bmp, AL_CONST int points[8], int color)
{
#define MAX_POINTS 64
Index: src/vtable15.c
===================================================================
RCS file: /cvsroot/alleg/allegro/src/vtable15.c,v
retrieving revision 1.5
diff -u -r1.5 vtable15.c
--- src/vtable15.c 14 Feb 2004 15:28:00 -0000 1.5
+++ src/vtable15.c 10 Oct 2004 14:47:26 -0000
@@ -46,7 +46,7 @@
_normal_line,
_fast_line,
_normal_rectfill,
- NULL,
+ _soft_triangle,
_linear_draw_sprite16,
_linear_draw_256_sprite16,
_linear_draw_sprite_v_flip16,
@@ -72,8 +72,26 @@
_linear_masked_blit16,
_linear_clear_to_color16,
_pivot_scaled_sprite_flip,
+ NULL, // AL_METHOD(void, do_stretch_blit, (struct BITMAP *source, struct BITMAP *dest, int source_x, int source_y, int source_width, int source_height, int dest_x, int dest_y, int dest_width, int dest_height, int masked))
+ _soft_draw_gouraud_sprite,
_linear_draw_sprite16_end,
- _linear_blit16_end
+ _linear_blit16_end,
+ _soft_polygon,
+ _soft_rect,
+ _soft_circle,
+ _soft_circlefill,
+ _soft_ellipse,
+ _soft_ellipsefill,
+ _soft_arc,
+ _soft_spline,
+ _soft_floodfill,
+
+ _soft_polygon3d,
+ _soft_polygon3d_f,
+ _soft_triangle3d,
+ _soft_triangle3d_f,
+ _soft_quad3d,
+ _soft_quad3d_f
};
Index: src/vtable16.c
===================================================================
RCS file: /cvsroot/alleg/allegro/src/vtable16.c,v
retrieving revision 1.5
diff -u -r1.5 vtable16.c
--- src/vtable16.c 14 Feb 2004 15:28:00 -0000 1.5
+++ src/vtable16.c 10 Oct 2004 14:47:26 -0000
@@ -46,7 +46,7 @@
_normal_line,
_fast_line,
_normal_rectfill,
- NULL,
+ _soft_triangle,
_linear_draw_sprite16,
_linear_draw_256_sprite16,
_linear_draw_sprite_v_flip16,
@@ -72,8 +72,26 @@
_linear_masked_blit16,
_linear_clear_to_color16,
_pivot_scaled_sprite_flip,
+ NULL, // AL_METHOD(void, do_stretch_blit, (struct BITMAP *source, struct BITMAP *dest, int source_x, int source_y, int source_width, int source_height, int dest_x, int dest_y, int dest_width, int dest_height, int masked))
+ _soft_draw_gouraud_sprite,
_linear_draw_sprite16_end,
- _linear_blit16_end
+ _linear_blit16_end,
+ _soft_polygon,
+ _soft_rect,
+ _soft_circle,
+ _soft_circlefill,
+ _soft_ellipse,
+ _soft_ellipsefill,
+ _soft_arc,
+ _soft_spline,
+ _soft_floodfill,
+
+ _soft_polygon3d,
+ _soft_polygon3d_f,
+ _soft_triangle3d,
+ _soft_triangle3d_f,
+ _soft_quad3d,
+ _soft_quad3d_f
};
Index: src/vtable24.c
===================================================================
RCS file: /cvsroot/alleg/allegro/src/vtable24.c,v
retrieving revision 1.5
diff -u -r1.5 vtable24.c
--- src/vtable24.c 14 Feb 2004 15:28:00 -0000 1.5
+++ src/vtable24.c 10 Oct 2004 14:47:26 -0000
@@ -46,7 +46,7 @@
_normal_line,
_fast_line,
_normal_rectfill,
- NULL,
+ _soft_triangle,
_linear_draw_sprite24,
_linear_draw_256_sprite24,
_linear_draw_sprite_v_flip24,
@@ -72,8 +72,26 @@
_linear_masked_blit24,
_linear_clear_to_color24,
_pivot_scaled_sprite_flip,
+ NULL, // AL_METHOD(void, do_stretch_blit, (struct BITMAP *source, struct BITMAP *dest, int source_x, int source_y, int source_width, int source_height, int dest_x, int dest_y, int dest_width, int dest_height, int masked))
+ _soft_draw_gouraud_sprite,
_linear_draw_sprite24_end,
- _linear_blit24_end
+ _linear_blit24_end,
+ _soft_polygon,
+ _soft_rect,
+ _soft_circle,
+ _soft_circlefill,
+ _soft_ellipse,
+ _soft_ellipsefill,
+ _soft_arc,
+ _soft_spline,
+ _soft_floodfill,
+
+ _soft_polygon3d,
+ _soft_polygon3d_f,
+ _soft_triangle3d,
+ _soft_triangle3d_f,
+ _soft_quad3d,
+ _soft_quad3d_f
};
Index: src/vtable32.c
===================================================================
RCS file: /cvsroot/alleg/allegro/src/vtable32.c,v
retrieving revision 1.5
diff -u -r1.5 vtable32.c
--- src/vtable32.c 14 Feb 2004 15:28:00 -0000 1.5
+++ src/vtable32.c 10 Oct 2004 14:47:26 -0000
@@ -46,7 +46,7 @@
_normal_line,
_fast_line,
_normal_rectfill,
- NULL,
+ _soft_triangle,
_linear_draw_sprite32,
_linear_draw_256_sprite32,
_linear_draw_sprite_v_flip32,
@@ -72,8 +72,26 @@
_linear_masked_blit32,
_linear_clear_to_color32,
_pivot_scaled_sprite_flip,
+ NULL, // AL_METHOD(void, do_stretch_blit, (struct BITMAP *source, struct BITMAP *dest, int source_x, int source_y, int source_width, int source_height, int dest_x, int dest_y, int dest_width, int dest_height, int masked))
+ _soft_draw_gouraud_sprite,
_linear_draw_sprite32_end,
- _linear_blit32_end
+ _linear_blit32_end,
+ _soft_polygon,
+ _soft_rect,
+ _soft_circle,
+ _soft_circlefill,
+ _soft_ellipse,
+ _soft_ellipsefill,
+ _soft_arc,
+ _soft_spline,
+ _soft_floodfill,
+
+ _soft_polygon3d,
+ _soft_polygon3d_f,
+ _soft_triangle3d,
+ _soft_triangle3d_f,
+ _soft_quad3d,
+ _soft_quad3d_f
};
Index: src/vtable8.c
===================================================================
RCS file: /cvsroot/alleg/allegro/src/vtable8.c,v
retrieving revision 1.5
diff -u -r1.5 vtable8.c
--- src/vtable8.c 14 Feb 2004 15:28:00 -0000 1.5
+++ src/vtable8.c 10 Oct 2004 14:47:26 -0000
@@ -46,7 +46,7 @@
_normal_line,
_fast_line,
_normal_rectfill,
- NULL,
+ _soft_triangle,
_linear_draw_sprite8,
_linear_draw_sprite8,
_linear_draw_sprite_v_flip8,
@@ -72,8 +72,26 @@
_linear_masked_blit8,
_linear_clear_to_color8,
_pivot_scaled_sprite_flip,
+ NULL, // AL_METHOD(void, do_stretch_blit, (struct BITMAP *source, struct BITMAP *dest, int source_x, int source_y, int source_width, int source_height, int dest_x, int dest_y, int dest_width, int dest_height, int masked))
+ _soft_draw_gouraud_sprite,
_linear_draw_sprite8_end,
- _linear_blit8_end
+ _linear_blit8_end,
+ _soft_polygon,
+ _soft_rect,
+ _soft_circle,
+ _soft_circlefill,
+ _soft_ellipse,
+ _soft_ellipsefill,
+ _soft_arc,
+ _soft_spline,
+ _soft_floodfill,
+
+ _soft_polygon3d,
+ _soft_polygon3d_f,
+ _soft_triangle3d,
+ _soft_triangle3d_f,
+ _soft_quad3d,
+ _soft_quad3d_f
};
Index: src/c/cstretch.c
===================================================================
RCS file: /cvsroot/alleg/allegro/src/c/cstretch.c,v
retrieving revision 1.12
diff -u -r1.12 cstretch.c
--- src/c/cstretch.c 24 Jul 2004 10:32:31 -0000 1.12
+++ src/c/cstretch.c 10 Oct 2004 14:47:27 -0000
@@ -255,6 +255,12 @@
ASSERT(src);
ASSERT(dst);
+ /* vtable hook */
+ if (source->vtable->do_stretch_blit) {
+ source->vtable->do_stretch_blit(src, dst, sx, sy, sw, sh, dx, dy, dw, dh, masked);
+ return;
+ }
+
if ((sw <= 0) || (sh <= 0) || (dw <= 0) || (dh <= 0))
return;
Index: src/dos/vesa.c
===================================================================
RCS file: /cvsroot/alleg/allegro/src/dos/vesa.c,v
retrieving revision 1.18
diff -u -r1.18 vesa.c
--- src/dos/vesa.c 8 Feb 2003 21:31:38 -0000 1.18
+++ src/dos/vesa.c 10 Oct 2004 14:47:28 -0000
@@ -64,6 +64,7 @@
NULL, NULL, NULL, NULL, /* no hardware cursor */
NULL, /* no drawing mode hook */
NULL, NULL, /* no state saving */
+ NULL, /* AL_METHOD(void, set_blender_mode, (int mode, int r, int g, int b, int a)); */
vesa_fetch_mode_list, /* aye! */
0, 0, FALSE, 0, 0, 0, 0, FALSE
};
Index: src/i386/istretch.c
===================================================================
RCS file: /cvsroot/alleg/allegro/src/i386/istretch.c,v
retrieving revision 1.7
diff -u -r1.7 istretch.c
--- src/i386/istretch.c 24 Aug 2004 09:27:15 -0000 1.7
+++ src/i386/istretch.c 10 Oct 2004 14:47:30 -0000
@@ -287,6 +287,12 @@
char flags;
int i;
+ /* vtable hook */
+ if (source->vtable->do_stretch_blit) {
+ source->vtable->do_stretch_blit(source, dest, source_x, source_y, source_width, source_height, dest_x, dest_y, dest_width, dest_height, masked);
+ return;
+ }
+
/* trivial reject for zero sizes */
if ((source_width <= 0) || (source_height <= 0) ||
(dest_width <= 0) || (dest_height <= 0))
Index: src/linux/fbcon.c
===================================================================
RCS file: /cvsroot/alleg/allegro/src/linux/fbcon.c,v
retrieving revision 1.30
diff -u -r1.30 fbcon.c
--- src/linux/fbcon.c 2 Jul 2004 16:25:41 -0000 1.30
+++ src/linux/fbcon.c 10 Oct 2004 14:47:30 -0000
@@ -79,6 +79,7 @@
NULL, /* no drawing mode hook */
fb_save,
fb_restore,
+ NULL, // AL_METHOD(void, set_blender_mode, (int mode, int r, int g, int b, int a));
NULL, /* no fetch mode hook */
0, 0,
TRUE,
Index: src/linux/svgalib.c
===================================================================
RCS file: /cvsroot/alleg/allegro/src/linux/svgalib.c,v
retrieving revision 1.36
diff -u -r1.36 svgalib.c
--- src/linux/svgalib.c 28 Feb 2004 16:17:03 -0000 1.36
+++ src/linux/svgalib.c 10 Oct 2004 14:47:30 -0000
@@ -72,6 +72,7 @@
NULL, /* no drawing mode hook */
svga_save,
svga_restore,
+ NULL, /* AL_METHOD(void, set_blender_mode, (int mode, int r, int g, int b, int a)); */
NULL, /* svga_fetch_mode_list disabled */
0, 0,
TRUE,
Index: src/mac/mdraw.c
===================================================================
RCS file: /cvsroot/alleg/allegro/src/mac/mdraw.c,v
retrieving revision 1.6
diff -u -r1.6 mdraw.c
--- src/mac/mdraw.c 25 Mar 2002 12:41:41 -0000 1.6
+++ src/mac/mdraw.c 10 Oct 2004 14:47:30 -0000
@@ -81,6 +81,7 @@
NULL,
NULL,
NULL,
+ NULL, // AL_METHOD(void, set_blender_mode, (int mode, int r, int g, int b, int a));
NULL,
640, 480,
TRUE,
Index: src/macosx/qzfull.m
===================================================================
RCS file: /cvsroot/alleg/allegro/src/macosx/qzfull.m,v
retrieving revision 1.16
diff -u -r1.16 qzfull.m
--- src/macosx/qzfull.m 2 Apr 2004 09:04:57 -0000 1.16
+++ src/macosx/qzfull.m 10 Oct 2004 14:47:30 -0000
@@ -76,6 +76,7 @@
NULL, /* AL_METHOD(void, drawing_mode, (void)); */
NULL, /* AL_METHOD(void, save_video_state, (void)); */
NULL, /* AL_METHOD(void, restore_video_state, (void)); */
+ NULL, /* AL_METHOD(void, set_blender_mode, (int mode, int r, int g, int b, int a)); */
osx_qz_fetch_mode_list, /* AL_METHOD(int, fetch_mode_list, (void)); */
0, 0, /* physical (not virtual!) screen size */
TRUE, /* true if video memory is linear */
Index: src/macosx/qzwindow.m
===================================================================
RCS file: /cvsroot/alleg/allegro/src/macosx/qzwindow.m,v
retrieving revision 1.15
diff -u -r1.15 qzwindow.m
--- src/macosx/qzwindow.m 19 Jul 2004 10:23:07 -0000 1.15
+++ src/macosx/qzwindow.m 10 Oct 2004 14:47:31 -0000
@@ -79,6 +79,7 @@
NULL, /* AL_METHOD(void, drawing_mode, (void)); */
NULL, /* AL_METHOD(void, save_video_state, (void)); */
NULL, /* AL_METHOD(void, restore_video_state, (void)); */
+ NULL, /* AL_METHOD(void, set_blender_mode, (int mode, int r, int g, int b, int a)); */
NULL, /* AL_METHOD(int, fetch_mode_list, (void)); */
0, 0, /* physical (not virtual!) screen size */
TRUE, /* true if video memory is linear */
Index: src/misc/modex.c
===================================================================
RCS file: /cvsroot/alleg/allegro/src/misc/modex.c,v
retrieving revision 1.29
diff -u -r1.29 modex.c
--- src/misc/modex.c 14 Feb 2004 15:48:42 -0000 1.29
+++ src/misc/modex.c 10 Oct 2004 14:47:32 -0000
@@ -62,7 +62,7 @@
_normal_line,
_fast_line,
_normal_rectfill,
- NULL,
+ _soft_triangle,
_x_draw_sprite,
_x_draw_sprite,
_x_draw_sprite_v_flip,
@@ -88,8 +88,26 @@
_x_masked_blit,
_x_clear_to_color,
_pivot_scaled_sprite_flip,
+ NULL, /* AL_METHOD(void, do_stretch_blit, (struct BITMAP *source, struct BITMAP *dest, int source_x, int source_y, int source_width, int source_height, int dest_x, int dest_y, int dest_width, int dest_height, int masked)); */
+ _soft_draw_gouraud_sprite,
_x_draw_sprite_end,
- _x_blit_from_memory_end
+ _x_blit_from_memory_end,
+ _soft_polygon,
+ _soft_rect,
+ _soft_circle,
+ _soft_circlefill,
+ _soft_ellipse,
+ _soft_ellipsefill,
+ _soft_arc,
+ _soft_spline,
+ _soft_floodfill,
+
+ _soft_polygon3d,
+ _soft_polygon3d_f,
+ _soft_triangle3d,
+ _soft_triangle3d_f,
+ _soft_quad3d,
+ _soft_quad3d_f
};
@@ -123,6 +141,7 @@
NULL, /* no drawing mode hook */
_save_vga_mode,
_restore_vga_mode,
+ NULL, /* AL_METHOD(void, set_blender_mode, (int mode, int r, int g, int b, int a)); */
modex_fetch_mode_list,
0, 0,
TRUE,
Index: src/misc/vbeaf.c
===================================================================
RCS file: /cvsroot/alleg/allegro/src/misc/vbeaf.c,v
retrieving revision 1.19
diff -u -r1.19 vbeaf.c
--- src/misc/vbeaf.c 17 Sep 2003 13:12:25 -0000 1.19
+++ src/misc/vbeaf.c 10 Oct 2004 14:47:34 -0000
@@ -158,6 +158,7 @@
NULL, /* no drawing mode hook */
vbeaf_save,
vbeaf_restore,
+ NULL, /* AL_METHOD(void, set_blender_mode, (int mode, int r, int g, int b, int a)); */
vbeaf_fetch_mode_list, /* fetch mode hook */
0, 0, FALSE, 0, 0, 0, 0, FALSE
};
Index: src/misc/vga.c
===================================================================
RCS file: /cvsroot/alleg/allegro/src/misc/vga.c,v
retrieving revision 1.20
diff -u -r1.20 vga.c
--- src/misc/vga.c 17 Sep 2003 13:12:25 -0000 1.20
+++ src/misc/vga.c 10 Oct 2004 14:47:35 -0000
@@ -61,6 +61,7 @@
NULL, /* no drawing mode hook */
_save_vga_mode,
_restore_vga_mode,
+ NULL, /* AL_METHOD(void, set_blender_mode, (int mode, int r, int g, int b, int a)); */
vga_fetch_mode_list,
320, 200,
TRUE,
Index: src/qnx/qphfull.c
===================================================================
RCS file: /cvsroot/alleg/allegro/src/qnx/qphfull.c,v
retrieving revision 1.1
diff -u -r1.1 qphfull.c
--- src/qnx/qphfull.c 6 May 2002 17:58:03 -0000 1.1
+++ src/qnx/qphfull.c 10 Oct 2004 14:47:35 -0000
@@ -72,6 +72,7 @@
NULL, /* AL_METHOD(void, drawing_mode, (void)); */
NULL, /* AL_METHOD(void, save_video_state, (void)); */
NULL, /* AL_METHOD(void, restore_video_state, (void)); */
+ NULL, /* AL_METHOD(void, set_blender_mode, (int mode, int r, int g, int b, int a)); */
qnx_ph_fetch_mode_list_accel,
0, 0, /* physical (not virtual!) screen size */
TRUE, /* true if video memory is linear */
@@ -110,6 +111,7 @@
NULL, /* AL_METHOD(void, drawing_mode, (void)); */
NULL, /* AL_METHOD(void, save_video_state, (void)); */
NULL, /* AL_METHOD(void, restore_video_state, (void)); */
+ NULL, /* AL_METHOD(void, set_blender_mode, (int mode, int r, int g, int b, int a)); */
qnx_ph_fetch_mode_list_soft,
0, 0, /* physical (not virtual!) screen size */
TRUE, /* true if video memory is linear */
@@ -148,6 +150,7 @@
NULL, /* AL_METHOD(void, drawing_mode, (void)); */
NULL, /* AL_METHOD(void, save_video_state, (void)); */
NULL, /* AL_METHOD(void, restore_video_state, (void)); */
+ NULL, /* AL_METHOD(void, set_blender_mode, (int mode, int r, int g, int b, int a)); */
qnx_ph_fetch_mode_list_safe,
0, 0, /* physical (not virtual!) screen size */
TRUE, /* true if video memory is linear */
Index: src/qnx/qphwin.c
===================================================================
RCS file: /cvsroot/alleg/allegro/src/qnx/qphwin.c,v
retrieving revision 1.1
diff -u -r1.1 qphwin.c
--- src/qnx/qphwin.c 6 May 2002 17:58:03 -0000 1.1
+++ src/qnx/qphwin.c 10 Oct 2004 14:47:36 -0000
@@ -65,6 +65,7 @@
NULL, /* AL_METHOD(void, drawing_mode, (void)); */
NULL, /* AL_METHOD(void, save_video_state, (void)); */
NULL, /* AL_METHOD(void, restore_video_state, (void)); */
+ NULL, /* AL_METHOD(void, set_blender_mode, (int mode, int r, int g, int b, int a)); */
NULL, /* AL_METHOD(int, fetch_mode_list, (void)); */
0, 0, /* physical (not virtual!) screen size */
TRUE, /* true if video memory is linear */
Index: src/win/wddfull.c
===================================================================
RCS file: /cvsroot/alleg/allegro/src/win/wddfull.c,v
retrieving revision 1.21
diff -u -r1.21 wddfull.c
--- src/win/wddfull.c 2 Oct 2002 14:23:24 -0000 1.21
+++ src/win/wddfull.c 10 Oct 2004 14:47:36 -0000
@@ -53,6 +53,7 @@
NULL, // AL_METHOD(void, drawing_mode, (void));
NULL, // AL_METHOD(void, save_video_state, (void*));
NULL, // AL_METHOD(void, restore_video_state, (void*));
+ NULL, // AL_METHOD(void, set_blender_mode, (int mode, int r, int g, int b, int a));
gfx_directx_fetch_mode_list,
0, 0, // physical (not virtual!) screen size
TRUE, // true if video memory is linear
@@ -91,6 +92,7 @@
NULL, // AL_METHOD(void, drawing_mode, (void));
NULL, // AL_METHOD(void, save_video_state, (void*));
NULL, // AL_METHOD(void, restore_video_state, (void*));
+ NULL, // AL_METHOD(void, set_blender_mode, (int mode, int r, int g, int b, int a));
gfx_directx_fetch_mode_list,
0, 0, // physical (not virtual!) screen size
TRUE, // true if video memory is linear
@@ -124,6 +126,7 @@
NULL, // AL_METHOD(void, drawing_mode, (void));
NULL, // AL_METHOD(void, save_video_state, (void*));
NULL, // AL_METHOD(void, restore_video_state, (void*));
+ NULL, // AL_METHOD(void, set_blender_mode, (int mode, int r, int g, int b, int a));
gfx_directx_fetch_mode_list,
0, 0, // physical (not virtual!) screen size
TRUE, // true if video memory is linear
Index: src/win/wddwin.c
===================================================================
RCS file: /cvsroot/alleg/allegro/src/win/wddwin.c,v
retrieving revision 1.71
diff -u -r1.71 wddwin.c
--- src/win/wddwin.c 25 Sep 2004 08:23:15 -0000 1.71
+++ src/win/wddwin.c 10 Oct 2004 14:47:36 -0000
@@ -61,6 +61,7 @@
NULL, // AL_METHOD(void, drawing_mode, (void));
NULL, // AL_METHOD(void, save_video_state, (void*));
NULL, // AL_METHOD(void, restore_video_state, (void*));
+ NULL, // AL_METHOD(void, set_blender_mode, (int mode, int r, int g, int b, int a));
NULL, // AL_METHOD(int, fetch_mode_list, (void));
0, 0, // int w, h;
TRUE, // int linear;
Index: src/win/wgdi.c
===================================================================
RCS file: /cvsroot/alleg/allegro/src/win/wgdi.c,v
retrieving revision 1.33
diff -u -r1.33 wgdi.c
--- src/win/wgdi.c 11 Jun 2003 17:38:11 -0000 1.33
+++ src/win/wgdi.c 10 Oct 2004 14:47:37 -0000
@@ -73,6 +73,7 @@
NULL, // AL_METHOD(void, drawing_mode, (void));
NULL, // AL_METHOD(void, save_video_state, (void*));
NULL, // AL_METHOD(void, restore_video_state, (void*));
+ NULL, // AL_METHOD(void, set_blender_mode, (int mode, int r, int g, int b, int a));
NULL, // AL_METHOD(int, fetch_mode_list, (void));
0, 0, // int w, h;
TRUE, // int linear;
Index: src/x/xdga2.c
===================================================================
RCS file: /cvsroot/alleg/allegro/src/x/xdga2.c,v
retrieving revision 1.28
diff -u -r1.28 xdga2.c
--- src/x/xdga2.c 25 Sep 2004 13:16:39 -0000 1.28
+++ src/x/xdga2.c 10 Oct 2004 14:47:38 -0000
@@ -94,6 +94,7 @@
NULL, NULL, NULL, NULL,
NULL,
NULL, NULL,
+ NULL,
_xdga2_fetch_mode_list,
640, 480,
TRUE,
@@ -125,6 +126,7 @@
NULL, NULL, NULL, NULL,
NULL,
NULL, NULL,
+ NULL,
_xdga2_fetch_mode_list,
640, 480,
TRUE,
Index: src/x/xgfxdrv.c
===================================================================
RCS file: /cvsroot/alleg/allegro/src/x/xgfxdrv.c,v
retrieving revision 1.16
diff -u -r1.16 xgfxdrv.c
--- src/x/xgfxdrv.c 31 Aug 2004 07:29:28 -0000 1.16
+++ src/x/xgfxdrv.c 10 Oct 2004 14:47:38 -0000
@@ -49,6 +49,7 @@
#endif
_xwin_drawing_mode,
NULL, NULL,
+ NULL, // AL_METHOD(void, set_blender_mode, (int mode, int r, int g, int b, int a));
NULL,
320, 200,
TRUE,
@@ -88,6 +89,7 @@
#endif
_xwin_drawing_mode,
NULL, NULL,
+ NULL,
_xwin_fetch_mode_list,
320, 200,
TRUE,