#include <string.h>
#include <allegro.h>
#include "alleggl.h"
#include "allglint.h"
#include "glvtable.h"
#include <allegro/internal/aintern.h>
#include <GL/glu.h>
Go to the source code of this file.
Some of these don't work correctly or will be very slow. The current vtable is in early stages, and will be replaced by a better (faster) version 'soon'. Don't count on regular Allegro functions working on the screen or on video bitmaps.
Definition in file glvtable.c.
|
Value: { \ for (y = 0; y < sprite->h; y++) { \ signed long c = *s++; \ for (x = 0; x < sprite->w;) { \ if (c == src_mask) \ break; \ if (c > 0) { \ /* Run of solid pixels */ \ for (c--; c>=0; c--) { \ unsigned long col = *s++; \ _putpixel32(temp, x++, y, makeacol32(getr##bits(col), getg##bits(col), getb##bits(col), 255)); \ } \ } \ else { \ /* Run of transparent pixels */ \ hline(temp, x, y, x-c+1, 0); \ x -= c; \ } \ c = *s++; \ } \ } \ } |
|
Value: { \ for (y = 0; y < sprite->h; y++) { \ signed long c = *s++; \ for (x = 0; x < sprite->w;) { \ if (c == src_mask) \ break; \ if (c > 0) { \ /* Run of solid pixels */ \ for (c--; c>=0; c--) { \ unsigned long col = *s++; \ _putpixel16(temp, x++, y, (1 << ((_rgb_r_shift_15 > _rgb_b_shift_15) ? 0 : 15)) \ | ((getr##bits(col) >> 3) << _rgb_r_shift_15) \ | ((getg##bits(col) >> 3) << _rgb_g_shift_15) \ | ((getb##bits(col) >> 3) << _rgb_b_shift_15)); \ } \ } \ else { \ /* Run of transparent pixels */ \ hline(temp, x, y, x-c+1, 0); \ x -= c; \ } \ c = *s++; \ } \ } \ } |