[Scummvm-git-logs] scummvm master -> fa940bec1086a7becd0d629c2a98a2f362f4f638
dreammaster
dreammaster at scummvm.org
Sun Mar 7 04:44:17 UTC 2021
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
28bd2fff22 AGS: Janitorial
fa940bec10 AGS: Added detection entries
Commit: 28bd2fff228e3cfe0222f4b2d62353f5cd9c72d1
https://github.com/scummvm/scummvm/commit/28bd2fff228e3cfe0222f4b2d62353f5cd9c72d1
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2021-03-06T20:34:43-08:00
Commit Message:
AGS: Janitorial
Changed paths:
engines/ags/lib/aastr-0.1.1/aarot.cpp
engines/ags/lib/aastr-0.1.1/aastr.cpp
engines/ags/lib/aastr-0.1.1/aautil.cpp
engines/ags/lib/hq2x/hq2x3x.cpp
diff --git a/engines/ags/lib/aastr-0.1.1/aarot.cpp b/engines/ags/lib/aastr-0.1.1/aarot.cpp
index 2f4b65a7de..ccbfa999aa 100644
--- a/engines/ags/lib/aastr-0.1.1/aarot.cpp
+++ b/engines/ags/lib/aastr-0.1.1/aarot.cpp
@@ -43,9 +43,8 @@ namespace AGS3 {
/*
* Engine of anti-aliased rotation.
*/
-static void
-_aa_rotate_bitmap(BITMAP *_src, BITMAP *_dst, int _x, int _y, fixed _angle,
- fixed _scalex, fixed _scaley, int _masked) {
+static void _aa_rotate_bitmap(BITMAP *_src, BITMAP *_dst, int _x, int _y, fixed _angle,
+ fixed _scalex, fixed _scaley, int _masked) {
int sw, sh, dw, dh;
fixed fx0, fy0, fux, fuy, fvx, fvy;
fixed fdw, fdh, fsinangle, fcosangle;
@@ -525,34 +524,30 @@ _aa_rotate_bitmap(BITMAP *_src, BITMAP *_dst, int _x, int _y, fixed _angle,
/*
* Anti-aliased bitmap rotation with scaling.
*/
-void
-aa_rotate_scaled_bitmap(BITMAP *_src, BITMAP *_dst, int _x, int _y, fixed _angle,
- fixed _scalex, fixed _scaley) {
+void aa_rotate_scaled_bitmap(BITMAP *_src, BITMAP *_dst, int _x, int _y, fixed _angle,
+ fixed _scalex, fixed _scaley) {
_aa_rotate_bitmap(_src, _dst, _x, _y, _angle, _scalex, _scaley, 0);
}
/*
* Anti-aliased bitmap rotation with scaling (masked).
*/
-void
-aa_rotate_scaled_sprite(BITMAP *_dst, BITMAP *_src, int _x, int _y, fixed _angle,
- fixed _scalex, fixed _scaley) {
+void aa_rotate_scaled_sprite(BITMAP *_dst, BITMAP *_src, int _x, int _y, fixed _angle,
+ fixed _scalex, fixed _scaley) {
_aa_rotate_bitmap(_src, _dst, _x, _y, _angle, _scalex, _scaley, 1);
}
/*
* Anti-aliased bitmap rotation.
*/
-void
-aa_rotate_bitmap(BITMAP *_src, BITMAP *_dst, int _x, int _y, fixed _angle) {
+void aa_rotate_bitmap(BITMAP *_src, BITMAP *_dst, int _x, int _y, fixed _angle) {
_aa_rotate_bitmap(_src, _dst, _x, _y, _angle, itofix(1), itofix(1), 0);
}
/*
* Anti-aliased bitmap rotation (masked).
*/
-void
-aa_rotate_sprite(BITMAP *_dst, BITMAP *_src, int _x, int _y, fixed _angle) {
+void aa_rotate_sprite(BITMAP *_dst, BITMAP *_src, int _x, int _y, fixed _angle) {
_aa_rotate_bitmap(_src, _dst, _x, _y, _angle, itofix(1), itofix(1), 1);
}
diff --git a/engines/ags/lib/aastr-0.1.1/aastr.cpp b/engines/ags/lib/aastr-0.1.1/aastr.cpp
index 3cc53b647a..2267a95394 100644
--- a/engines/ags/lib/aastr-0.1.1/aastr.cpp
+++ b/engines/ags/lib/aastr-0.1.1/aastr.cpp
@@ -43,8 +43,7 @@ namespace AGS3 {
/*
* Engine of anti-aliased stretching.
*/
-static void
-_aa_stretch_blit(BITMAP *_src, BITMAP *_dst,
+static void _aa_stretch_blit(BITMAP *_src, BITMAP *_dst,
int _sx, int _sy, int _sw, int _sh,
int _dx, int _dy, int _dw, int _dh, int _masked) {
int sx, sy, dx, dy, ydx, ysx;
@@ -206,8 +205,7 @@ _aa_stretch_blit(BITMAP *_src, BITMAP *_dst,
/*
* Anti-aliased bitmap stretching with blit.
*/
-void
-aa_stretch_blit(BITMAP *_src, BITMAP *_dst,
+void aa_stretch_blit(BITMAP *_src, BITMAP *_dst,
int _sx, int _sy, int _sw, int _sh,
int _dx, int _dy, int _dw, int _dh) {
_aa_stretch_blit(_src, _dst, _sx, _sy, _sw, _sh, _dx, _dy, _dw, _dh, 0);
@@ -216,8 +214,7 @@ aa_stretch_blit(BITMAP *_src, BITMAP *_dst,
/*
* Anti-aliased bitmap stretching with blit (masked).
*/
-void
-aa_stretch_sprite(BITMAP *_dst, BITMAP *_src, int _dx, int _dy, int _dw, int _dh) {
+void aa_stretch_sprite(BITMAP *_dst, BITMAP *_src, int _dx, int _dy, int _dw, int _dh) {
_aa_stretch_blit(_src, _dst, 0, 0, _src->w, _src->h, _dx, _dy, _dw, _dh, 1);
}
diff --git a/engines/ags/lib/aastr-0.1.1/aautil.cpp b/engines/ags/lib/aastr-0.1.1/aautil.cpp
index 98e50e9882..d5a840e166 100644
--- a/engines/ags/lib/aastr-0.1.1/aautil.cpp
+++ b/engines/ags/lib/aastr-0.1.1/aautil.cpp
@@ -42,23 +42,20 @@ namespace AGS3 {
/* Multiply b by a (0 <= a <= aa_SIZE). */
#define MUL(a, b) ((b) * (a))
-static struct
-{
- int transparent;
- unsigned int r;
- unsigned int g;
- unsigned int b;
- int roffset24;
- int goffset24;
- int boffset24;
+static struct {
+ int transparent;
+ unsigned int r;
+ unsigned int g;
+ unsigned int b;
+ int roffset24;
+ int goffset24;
+ int boffset24;
} _aa;
/*
* Prepare offsets for direct access to 24bpp bitmap.
*/
-void
-_aa_prepare_for_24bpp (void)
-{
+void _aa_prepare_for_24bpp() {
_aa.roffset24 = _rgb_r_shift_24 / 8;
_aa.goffset24 = _rgb_g_shift_24 / 8;
_aa.boffset24 = _rgb_b_shift_24 / 8;
@@ -67,655 +64,584 @@ _aa_prepare_for_24bpp (void)
/*
* Add r, g, b values of pixels.
*/
-void
-_aa_add_rgb8 (BITMAP *_src, int _sx1, int _sx2, int _sy1, int _sy2, unsigned long _num)
-{
- unsigned char *sline;
- int sx, sx1i, sx1f, sx2i, sx2f;
- int sy, sy1i, sy1f, sy2i, sy2f;
- unsigned int r1, g1, b1;
- unsigned int r2, g2, b2;
- unsigned int scolor;
-
- sy1i = _sy1 >> aa_BITS;
- sy = sy1i;
-
- /* First line. */
- sx1i = _sx1 >> aa_BITS;
- sx = sx1i;
- sline = _src->line[sy] + sx;
-
- sx1f = aa_SIZE - (_sx1 & aa_MASK);
- scolor = *sline;
- r1 = MUL (getr8 (scolor), sx1f);
- g1 = MUL (getg8 (scolor), sx1f);
- b1 = MUL (getb8 (scolor), sx1f);
-
- sx2i = _sx2 >> aa_BITS;
- for (sline++, sx++; sx < sx2i; sline++, sx++)
- {
- scolor = *sline;
- r1 += getr8 (scolor) << aa_BITS;
- g1 += getg8 (scolor) << aa_BITS;
- b1 += getb8 (scolor) << aa_BITS;
- }
-
- sx2f = _sx2 & aa_MASK;
- if (sx2f != 0)
- {
- scolor = *sline;
- r1 += MUL (getr8 (scolor), sx2f);
- g1 += MUL (getg8 (scolor), sx2f);
- b1 += MUL (getb8 (scolor), sx2f);
- }
-
- sy1f = aa_SIZE - (_sy1 & aa_MASK);
- r1 = MUL (r1, sy1f);
- g1 = MUL (g1, sy1f);
- b1 = MUL (b1, sy1f);
-
- /* Middle lines. */
- sy2i = _sy2 >> aa_BITS;
- if (++sy < sy2i)
- {
- r2 = g2 = b2 = 0;
- do
- {
- sx = sx1i;
- sline = _src->line[sy] + sx;
-
- scolor = *sline;
- r2 += MUL (getr8 (scolor), sx1f);
- g2 += MUL (getg8 (scolor), sx1f);
- b2 += MUL (getb8 (scolor), sx1f);
-
- for (sline++, sx++; sx < sx2i; sline++, sx++)
- {
- scolor = *sline;
- r2 += getr8 (scolor) << aa_BITS;
- g2 += getg8 (scolor) << aa_BITS;
- b2 += getb8 (scolor) << aa_BITS;
- }
-
- if (sx2f != 0)
- {
- scolor = *sline;
- r2 += MUL (getr8 (scolor), sx2f);
- g2 += MUL (getg8 (scolor), sx2f);
- b2 += MUL (getb8 (scolor), sx2f);
- }
+void _aa_add_rgb8(BITMAP *_src, int _sx1, int _sx2, int _sy1, int _sy2, unsigned long _num) {
+ unsigned char *sline;
+ int sx, sx1i, sx1f, sx2i, sx2f;
+ int sy, sy1i, sy1f, sy2i, sy2f;
+ unsigned int r1, g1, b1;
+ unsigned int r2, g2, b2;
+ unsigned int scolor;
+
+ sy1i = _sy1 >> aa_BITS;
+ sy = sy1i;
+
+ /* First line. */
+ sx1i = _sx1 >> aa_BITS;
+ sx = sx1i;
+ sline = _src->line[sy] + sx;
+
+ sx1f = aa_SIZE - (_sx1 & aa_MASK);
+ scolor = *sline;
+ r1 = MUL(getr8(scolor), sx1f);
+ g1 = MUL(getg8(scolor), sx1f);
+ b1 = MUL(getb8(scolor), sx1f);
+
+ sx2i = _sx2 >> aa_BITS;
+ for (sline++, sx++; sx < sx2i; sline++, sx++) {
+ scolor = *sline;
+ r1 += getr8(scolor) << aa_BITS;
+ g1 += getg8(scolor) << aa_BITS;
+ b1 += getb8(scolor) << aa_BITS;
}
- while (++sy < sy2i);
-
- r1 += r2 << aa_BITS;
- g1 += g2 << aa_BITS;
- b1 += b2 << aa_BITS;
- }
-
- /* Last line. */
- sy2f = _sy2 & aa_MASK;
- if (sy2f != 0)
- {
- sx = sx1i;
- sline = _src->line[sy] + sx;
-
- scolor = *sline;
- r2 = MUL (getr8 (scolor), sx1f);
- g2 = MUL (getg8 (scolor), sx1f);
- b2 = MUL (getb8 (scolor), sx1f);
-
- for (sline++, sx++; sx < sx2i; sline++, sx++)
- {
- scolor = *sline;
- r2 += getr8 (scolor) << aa_BITS;
- g2 += getg8 (scolor) << aa_BITS;
- b2 += getb8 (scolor) << aa_BITS;
+
+ sx2f = _sx2 & aa_MASK;
+ if (sx2f != 0) {
+ scolor = *sline;
+ r1 += MUL(getr8(scolor), sx2f);
+ g1 += MUL(getg8(scolor), sx2f);
+ b1 += MUL(getb8(scolor), sx2f);
}
- if (sx2f != 0)
- {
- scolor = *sline;
- r2 += MUL (getr8 (scolor), sx2f);
- g2 += MUL (getg8 (scolor), sx2f);
- b2 += MUL (getb8 (scolor), sx2f);
+ sy1f = aa_SIZE - (_sy1 & aa_MASK);
+ r1 = MUL(r1, sy1f);
+ g1 = MUL(g1, sy1f);
+ b1 = MUL(b1, sy1f);
+
+ /* Middle lines. */
+ sy2i = _sy2 >> aa_BITS;
+ if (++sy < sy2i) {
+ r2 = g2 = b2 = 0;
+ do {
+ sx = sx1i;
+ sline = _src->line[sy] + sx;
+
+ scolor = *sline;
+ r2 += MUL(getr8(scolor), sx1f);
+ g2 += MUL(getg8(scolor), sx1f);
+ b2 += MUL(getb8(scolor), sx1f);
+
+ for (sline++, sx++; sx < sx2i; sline++, sx++) {
+ scolor = *sline;
+ r2 += getr8(scolor) << aa_BITS;
+ g2 += getg8(scolor) << aa_BITS;
+ b2 += getb8(scolor) << aa_BITS;
+ }
+
+ if (sx2f != 0) {
+ scolor = *sline;
+ r2 += MUL(getr8(scolor), sx2f);
+ g2 += MUL(getg8(scolor), sx2f);
+ b2 += MUL(getb8(scolor), sx2f);
+ }
+ } while (++sy < sy2i);
+
+ r1 += r2 << aa_BITS;
+ g1 += g2 << aa_BITS;
+ b1 += b2 << aa_BITS;
}
- r1 += MUL (r2, sy2f);
- g1 += MUL (g2, sy2f);
- b1 += MUL (b2, sy2f);
- }
-
- if (_num == (aa_SIZE * aa_SIZE))
- {
- _aa.r = r1 >> (2 * aa_BITS);
- _aa.g = g1 >> (2 * aa_BITS);
- _aa.b = b1 >> (2 * aa_BITS);
- }
- else
- {
- _aa.r = r1 / _num;
- _aa.g = g1 / _num;
- _aa.b = b1 / _num;
- }
+ /* Last line. */
+ sy2f = _sy2 & aa_MASK;
+ if (sy2f != 0) {
+ sx = sx1i;
+ sline = _src->line[sy] + sx;
+
+ scolor = *sline;
+ r2 = MUL(getr8(scolor), sx1f);
+ g2 = MUL(getg8(scolor), sx1f);
+ b2 = MUL(getb8(scolor), sx1f);
+
+ for (sline++, sx++; sx < sx2i; sline++, sx++) {
+ scolor = *sline;
+ r2 += getr8(scolor) << aa_BITS;
+ g2 += getg8(scolor) << aa_BITS;
+ b2 += getb8(scolor) << aa_BITS;
+ }
+
+ if (sx2f != 0) {
+ scolor = *sline;
+ r2 += MUL(getr8(scolor), sx2f);
+ g2 += MUL(getg8(scolor), sx2f);
+ b2 += MUL(getb8(scolor), sx2f);
+ }
+
+ r1 += MUL(r2, sy2f);
+ g1 += MUL(g2, sy2f);
+ b1 += MUL(b2, sy2f);
+ }
+
+ if (_num == (aa_SIZE * aa_SIZE)) {
+ _aa.r = r1 >> (2 * aa_BITS);
+ _aa.g = g1 >> (2 * aa_BITS);
+ _aa.b = b1 >> (2 * aa_BITS);
+ } else {
+ _aa.r = r1 / _num;
+ _aa.g = g1 / _num;
+ _aa.b = b1 / _num;
+ }
}
+
#ifdef ALLEGRO_COLOR16
-void
-_aa_add_rgb15 (BITMAP *_src, int _sx1, int _sx2, int _sy1, int _sy2, unsigned long _num)
-{
- unsigned short *sline;
- int sx, sx1i, sx1f, sx2i, sx2f;
- int sy, sy1i, sy1f, sy2i, sy2f;
- unsigned int r1, g1, b1;
- unsigned int r2, g2, b2;
- unsigned int scolor;
-
- sy1i = _sy1 >> aa_BITS;
- sy = sy1i;
-
- /* First line. */
- sx1i = _sx1 >> aa_BITS;
- sx = sx1i;
- sline = (unsigned short*) (_src->line[sy]) + sx;
-
- sx1f = aa_SIZE - (_sx1 & aa_MASK);
- scolor = *sline;
- r1 = MUL (getr15 (scolor), sx1f);
- g1 = MUL (getg15 (scolor), sx1f);
- b1 = MUL (getb15 (scolor), sx1f);
-
- sx2i = _sx2 >> aa_BITS;
- for (sline++, sx++; sx < sx2i; sline++, sx++)
- {
- scolor = *sline;
- r1 += getr15 (scolor) << aa_BITS;
- g1 += getg15 (scolor) << aa_BITS;
- b1 += getb15 (scolor) << aa_BITS;
- }
-
- sx2f = _sx2 & aa_MASK;
- if (sx2f != 0)
- {
- scolor = *sline;
- r1 += MUL (getr15 (scolor), sx2f);
- g1 += MUL (getg15 (scolor), sx2f);
- b1 += MUL (getb15 (scolor), sx2f);
- }
-
- sy1f = aa_SIZE - (_sy1 & aa_MASK);
- r1 = MUL (r1, sy1f);
- g1 = MUL (g1, sy1f);
- b1 = MUL (b1, sy1f);
-
- /* Middle lines. */
- sy2i = _sy2 >> aa_BITS;
- if (++sy < sy2i)
- {
- r2 = g2 = b2 = 0;
- do
- {
- sx = sx1i;
- sline = (unsigned short*) (_src->line[sy]) + sx;
-
- scolor = *sline;
- r2 += MUL (getr15 (scolor), sx1f);
- g2 += MUL (getg15 (scolor), sx1f);
- b2 += MUL (getb15 (scolor), sx1f);
-
- for (sline++, sx++; sx < sx2i; sline++, sx++)
- {
- scolor = *sline;
- r2 += getr15 (scolor) << aa_BITS;
- g2 += getg15 (scolor) << aa_BITS;
- b2 += getb15 (scolor) << aa_BITS;
- }
-
- if (sx2f != 0)
- {
- scolor = *sline;
- r2 += MUL (getr15 (scolor), sx2f);
- g2 += MUL (getg15 (scolor), sx2f);
- b2 += MUL (getb15 (scolor), sx2f);
- }
+void _aa_add_rgb15(BITMAP *_src, int _sx1, int _sx2, int _sy1, int _sy2, unsigned long _num) {
+ unsigned short *sline;
+ int sx, sx1i, sx1f, sx2i, sx2f;
+ int sy, sy1i, sy1f, sy2i, sy2f;
+ unsigned int r1, g1, b1;
+ unsigned int r2, g2, b2;
+ unsigned int scolor;
+
+ sy1i = _sy1 >> aa_BITS;
+ sy = sy1i;
+
+ /* First line. */
+ sx1i = _sx1 >> aa_BITS;
+ sx = sx1i;
+ sline = (unsigned short *)(_src->line[sy]) + sx;
+
+ sx1f = aa_SIZE - (_sx1 & aa_MASK);
+ scolor = *sline;
+ r1 = MUL(getr15(scolor), sx1f);
+ g1 = MUL(getg15(scolor), sx1f);
+ b1 = MUL(getb15(scolor), sx1f);
+
+ sx2i = _sx2 >> aa_BITS;
+ for (sline++, sx++; sx < sx2i; sline++, sx++) {
+ scolor = *sline;
+ r1 += getr15(scolor) << aa_BITS;
+ g1 += getg15(scolor) << aa_BITS;
+ b1 += getb15(scolor) << aa_BITS;
}
- while (++sy < sy2i);
-
- r1 += r2 << aa_BITS;
- g1 += g2 << aa_BITS;
- b1 += b2 << aa_BITS;
- }
-
- /* Last line. */
- sy2f = _sy2 & aa_MASK;
- if (sy2f != 0)
- {
- sx = sx1i;
- sline = (unsigned short*) (_src->line[sy]) + sx;
-
- scolor = *sline;
- r2 = MUL (getr15 (scolor), sx1f);
- g2 = MUL (getg15 (scolor), sx1f);
- b2 = MUL (getb15 (scolor), sx1f);
-
- for (sline++, sx++; sx < sx2i; sline++, sx++)
- {
- scolor = *sline;
- r2 += getr15 (scolor) << aa_BITS;
- g2 += getg15 (scolor) << aa_BITS;
- b2 += getb15 (scolor) << aa_BITS;
+
+ sx2f = _sx2 & aa_MASK;
+ if (sx2f != 0) {
+ scolor = *sline;
+ r1 += MUL(getr15(scolor), sx2f);
+ g1 += MUL(getg15(scolor), sx2f);
+ b1 += MUL(getb15(scolor), sx2f);
+ }
+
+ sy1f = aa_SIZE - (_sy1 & aa_MASK);
+ r1 = MUL(r1, sy1f);
+ g1 = MUL(g1, sy1f);
+ b1 = MUL(b1, sy1f);
+
+ /* Middle lines. */
+ sy2i = _sy2 >> aa_BITS;
+ if (++sy < sy2i) {
+ r2 = g2 = b2 = 0;
+ do {
+ sx = sx1i;
+ sline = (unsigned short *)(_src->line[sy]) + sx;
+
+ scolor = *sline;
+ r2 += MUL(getr15(scolor), sx1f);
+ g2 += MUL(getg15(scolor), sx1f);
+ b2 += MUL(getb15(scolor), sx1f);
+
+ for (sline++, sx++; sx < sx2i; sline++, sx++) {
+ scolor = *sline;
+ r2 += getr15(scolor) << aa_BITS;
+ g2 += getg15(scolor) << aa_BITS;
+ b2 += getb15(scolor) << aa_BITS;
+ }
+
+ if (sx2f != 0) {
+ scolor = *sline;
+ r2 += MUL(getr15(scolor), sx2f);
+ g2 += MUL(getg15(scolor), sx2f);
+ b2 += MUL(getb15(scolor), sx2f);
+ }
+ } while (++sy < sy2i);
+
+ r1 += r2 << aa_BITS;
+ g1 += g2 << aa_BITS;
+ b1 += b2 << aa_BITS;
}
- if (sx2f != 0)
- {
- scolor = *sline;
- r2 += MUL (getr15 (scolor), sx2f);
- g2 += MUL (getg15 (scolor), sx2f);
- b2 += MUL (getb15 (scolor), sx2f);
+ /* Last line. */
+ sy2f = _sy2 & aa_MASK;
+ if (sy2f != 0) {
+ sx = sx1i;
+ sline = (unsigned short *)(_src->line[sy]) + sx;
+
+ scolor = *sline;
+ r2 = MUL(getr15(scolor), sx1f);
+ g2 = MUL(getg15(scolor), sx1f);
+ b2 = MUL(getb15(scolor), sx1f);
+
+ for (sline++, sx++; sx < sx2i; sline++, sx++) {
+ scolor = *sline;
+ r2 += getr15(scolor) << aa_BITS;
+ g2 += getg15(scolor) << aa_BITS;
+ b2 += getb15(scolor) << aa_BITS;
+ }
+
+ if (sx2f != 0) {
+ scolor = *sline;
+ r2 += MUL(getr15(scolor), sx2f);
+ g2 += MUL(getg15(scolor), sx2f);
+ b2 += MUL(getb15(scolor), sx2f);
+ }
+
+ r1 += MUL(r2, sy2f);
+ g1 += MUL(g2, sy2f);
+ b1 += MUL(b2, sy2f);
}
- r1 += MUL (r2, sy2f);
- g1 += MUL (g2, sy2f);
- b1 += MUL (b2, sy2f);
- }
-
- if (_num == (aa_SIZE * aa_SIZE))
- {
- _aa.r = r1 >> (2 * aa_BITS);
- _aa.g = g1 >> (2 * aa_BITS);
- _aa.b = b1 >> (2 * aa_BITS);
- }
- else
- {
- _aa.r = r1 / _num;
- _aa.g = g1 / _num;
- _aa.b = b1 / _num;
- }
+ if (_num == (aa_SIZE * aa_SIZE)) {
+ _aa.r = r1 >> (2 * aa_BITS);
+ _aa.g = g1 >> (2 * aa_BITS);
+ _aa.b = b1 >> (2 * aa_BITS);
+ } else {
+ _aa.r = r1 / _num;
+ _aa.g = g1 / _num;
+ _aa.b = b1 / _num;
+ }
}
-void
-_aa_add_rgb16 (BITMAP *_src, int _sx1, int _sx2, int _sy1, int _sy2, unsigned long _num)
-{
- unsigned short *sline;
- int sx, sx1i, sx1f, sx2i, sx2f;
- int sy, sy1i, sy1f, sy2i, sy2f;
- unsigned int r1, g1, b1;
- unsigned int r2, g2, b2;
- unsigned int scolor;
-
- sy1i = _sy1 >> aa_BITS;
- sy = sy1i;
-
- /* First line. */
- sx1i = _sx1 >> aa_BITS;
- sx = sx1i;
- sline = (unsigned short*) (_src->line[sy]) + sx;
-
- sx1f = aa_SIZE - (_sx1 & aa_MASK);
- scolor = *sline;
- r1 = MUL (getr16 (scolor), sx1f);
- g1 = MUL (getg16 (scolor), sx1f);
- b1 = MUL (getb16 (scolor), sx1f);
-
- sx2i = _sx2 >> aa_BITS;
- for (sline++, sx++; sx < sx2i; sline++, sx++)
- {
- scolor = *sline;
- r1 += getr16 (scolor) << aa_BITS;
- g1 += getg16 (scolor) << aa_BITS;
- b1 += getb16 (scolor) << aa_BITS;
- }
-
- sx2f = _sx2 & aa_MASK;
- if (sx2f != 0)
- {
- scolor = *sline;
- r1 += MUL (getr16 (scolor), sx2f);
- g1 += MUL (getg16 (scolor), sx2f);
- b1 += MUL (getb16 (scolor), sx2f);
- }
-
- sy1f = aa_SIZE - (_sy1 & aa_MASK);
- r1 = MUL (r1, sy1f);
- g1 = MUL (g1, sy1f);
- b1 = MUL (b1, sy1f);
-
- /* Middle lines. */
- sy2i = _sy2 >> aa_BITS;
- if (++sy < sy2i)
- {
- r2 = g2 = b2 = 0;
- do
- {
- sx = sx1i;
- sline = (unsigned short*) (_src->line[sy]) + sx;
-
- scolor = *sline;
- r2 += MUL (getr16 (scolor), sx1f);
- g2 += MUL (getg16 (scolor), sx1f);
- b2 += MUL (getb16 (scolor), sx1f);
-
- for (sline++, sx++; sx < sx2i; sline++, sx++)
- {
- scolor = *sline;
- r2 += getr16 (scolor) << aa_BITS;
- g2 += getg16 (scolor) << aa_BITS;
- b2 += getb16 (scolor) << aa_BITS;
- }
-
- if (sx2f != 0)
- {
- scolor = *sline;
- r2 += MUL (getr16 (scolor), sx2f);
- g2 += MUL (getg16 (scolor), sx2f);
- b2 += MUL (getb16 (scolor), sx2f);
- }
+
+void _aa_add_rgb16(BITMAP *_src, int _sx1, int _sx2, int _sy1, int _sy2, unsigned long _num) {
+ unsigned short *sline;
+ int sx, sx1i, sx1f, sx2i, sx2f;
+ int sy, sy1i, sy1f, sy2i, sy2f;
+ unsigned int r1, g1, b1;
+ unsigned int r2, g2, b2;
+ unsigned int scolor;
+
+ sy1i = _sy1 >> aa_BITS;
+ sy = sy1i;
+
+ /* First line. */
+ sx1i = _sx1 >> aa_BITS;
+ sx = sx1i;
+ sline = (unsigned short *)(_src->line[sy]) + sx;
+
+ sx1f = aa_SIZE - (_sx1 & aa_MASK);
+ scolor = *sline;
+ r1 = MUL(getr16(scolor), sx1f);
+ g1 = MUL(getg16(scolor), sx1f);
+ b1 = MUL(getb16(scolor), sx1f);
+
+ sx2i = _sx2 >> aa_BITS;
+ for (sline++, sx++; sx < sx2i; sline++, sx++) {
+ scolor = *sline;
+ r1 += getr16(scolor) << aa_BITS;
+ g1 += getg16(scolor) << aa_BITS;
+ b1 += getb16(scolor) << aa_BITS;
}
- while (++sy < sy2i);
-
- r1 += r2 << aa_BITS;
- g1 += g2 << aa_BITS;
- b1 += b2 << aa_BITS;
- }
-
- /* Last line. */
- sy2f = _sy2 & aa_MASK;
- if (sy2f != 0)
- {
- sx = sx1i;
- sline = (unsigned short*) (_src->line[sy]) + sx;
-
- scolor = *sline;
- r2 = MUL (getr16 (scolor), sx1f);
- g2 = MUL (getg16 (scolor), sx1f);
- b2 = MUL (getb16 (scolor), sx1f);
-
- for (sline++, sx++; sx < sx2i; sline++, sx++)
- {
- scolor = *sline;
- r2 += getr16 (scolor) << aa_BITS;
- g2 += getg16 (scolor) << aa_BITS;
- b2 += getb16 (scolor) << aa_BITS;
+
+ sx2f = _sx2 & aa_MASK;
+ if (sx2f != 0) {
+ scolor = *sline;
+ r1 += MUL(getr16(scolor), sx2f);
+ g1 += MUL(getg16(scolor), sx2f);
+ b1 += MUL(getb16(scolor), sx2f);
}
- if (sx2f != 0)
- {
- scolor = *sline;
- r2 += MUL (getr16 (scolor), sx2f);
- g2 += MUL (getg16 (scolor), sx2f);
- b2 += MUL (getb16 (scolor), sx2f);
+ sy1f = aa_SIZE - (_sy1 & aa_MASK);
+ r1 = MUL(r1, sy1f);
+ g1 = MUL(g1, sy1f);
+ b1 = MUL(b1, sy1f);
+
+ /* Middle lines. */
+ sy2i = _sy2 >> aa_BITS;
+ if (++sy < sy2i) {
+ r2 = g2 = b2 = 0;
+ do {
+ sx = sx1i;
+ sline = (unsigned short *)(_src->line[sy]) + sx;
+
+ scolor = *sline;
+ r2 += MUL(getr16(scolor), sx1f);
+ g2 += MUL(getg16(scolor), sx1f);
+ b2 += MUL(getb16(scolor), sx1f);
+
+ for (sline++, sx++; sx < sx2i; sline++, sx++) {
+ scolor = *sline;
+ r2 += getr16(scolor) << aa_BITS;
+ g2 += getg16(scolor) << aa_BITS;
+ b2 += getb16(scolor) << aa_BITS;
+ }
+
+ if (sx2f != 0) {
+ scolor = *sline;
+ r2 += MUL(getr16(scolor), sx2f);
+ g2 += MUL(getg16(scolor), sx2f);
+ b2 += MUL(getb16(scolor), sx2f);
+ }
+ } while (++sy < sy2i);
+
+ r1 += r2 << aa_BITS;
+ g1 += g2 << aa_BITS;
+ b1 += b2 << aa_BITS;
}
- r1 += MUL (r2, sy2f);
- g1 += MUL (g2, sy2f);
- b1 += MUL (b2, sy2f);
- }
-
- if (_num == (aa_SIZE * aa_SIZE))
- {
- _aa.r = r1 >> (2 * aa_BITS);
- _aa.g = g1 >> (2 * aa_BITS);
- _aa.b = b1 >> (2 * aa_BITS);
- }
- else
- {
- _aa.r = r1 / _num;
- _aa.g = g1 / _num;
- _aa.b = b1 / _num;
- }
+ /* Last line. */
+ sy2f = _sy2 & aa_MASK;
+ if (sy2f != 0) {
+ sx = sx1i;
+ sline = (unsigned short *)(_src->line[sy]) + sx;
+
+ scolor = *sline;
+ r2 = MUL(getr16(scolor), sx1f);
+ g2 = MUL(getg16(scolor), sx1f);
+ b2 = MUL(getb16(scolor), sx1f);
+
+ for (sline++, sx++; sx < sx2i; sline++, sx++) {
+ scolor = *sline;
+ r2 += getr16(scolor) << aa_BITS;
+ g2 += getg16(scolor) << aa_BITS;
+ b2 += getb16(scolor) << aa_BITS;
+ }
+
+ if (sx2f != 0) {
+ scolor = *sline;
+ r2 += MUL(getr16(scolor), sx2f);
+ g2 += MUL(getg16(scolor), sx2f);
+ b2 += MUL(getb16(scolor), sx2f);
+ }
+
+ r1 += MUL(r2, sy2f);
+ g1 += MUL(g2, sy2f);
+ b1 += MUL(b2, sy2f);
+ }
+
+ if (_num == (aa_SIZE * aa_SIZE)) {
+ _aa.r = r1 >> (2 * aa_BITS);
+ _aa.g = g1 >> (2 * aa_BITS);
+ _aa.b = b1 >> (2 * aa_BITS);
+ } else {
+ _aa.r = r1 / _num;
+ _aa.g = g1 / _num;
+ _aa.b = b1 / _num;
+ }
}
#endif
+
#ifdef ALLEGRO_COLOR24
-void
-_aa_add_rgb24 (BITMAP *_src, int _sx1, int _sx2, int _sy1, int _sy2, unsigned long _num)
-{
- unsigned char *sline;
- int sx, sx1i, sx1f, sx2i, sx2f;
- int sy, sy1i, sy1f, sy2i, sy2f;
- unsigned int r1, g1, b1;
- unsigned int r2, g2, b2;
-
- sy1i = _sy1 >> aa_BITS;
- sy = sy1i;
-
- /* First line. */
- sx1i = _sx1 >> aa_BITS;
- sx = sx1i;
- sline = _src->line[sy] + sx * 3;
-
- sx1f = aa_SIZE - (_sx1 & aa_MASK);
- r1 = MUL (sline[_aa.roffset24], sx1f);
- g1 = MUL (sline[_aa.goffset24], sx1f);
- b1 = MUL (sline[_aa.boffset24], sx1f);
-
- sx2i = _sx2 >> aa_BITS;
- for (sline += 3, sx++; sx < sx2i; sline += 3, sx++)
- {
- r1 += sline[_aa.roffset24] << aa_BITS;
- g1 += sline[_aa.goffset24] << aa_BITS;
- b1 += sline[_aa.boffset24] << aa_BITS;
- }
-
- sx2f = _sx2 & aa_MASK;
- if (sx2f != 0)
- {
- r1 += MUL (sline[_aa.roffset24], sx2f);
- g1 += MUL (sline[_aa.goffset24], sx2f);
- b1 += MUL (sline[_aa.boffset24], sx2f);
- }
-
- sy1f = aa_SIZE - (_sy1 & aa_MASK);
- r1 = MUL (r1, sy1f);
- g1 = MUL (g1, sy1f);
- b1 = MUL (b1, sy1f);
-
- /* Middle lines. */
- sy2i = _sy2 >> aa_BITS;
- if (++sy < sy2i)
- {
- r2 = g2 = b2 = 0;
- do
- {
- sx = sx1i;
- sline = _src->line[sy] + sx * 3;
-
- r2 += MUL (sline[_aa.roffset24], sx1f);
- g2 += MUL (sline[_aa.goffset24], sx1f);
- b2 += MUL (sline[_aa.boffset24], sx1f);
-
- for (sline += 3, sx++; sx < sx2i; sline += 3, sx++)
- {
- r2 += sline[_aa.roffset24] << aa_BITS;
- g2 += sline[_aa.goffset24] << aa_BITS;
- b2 += sline[_aa.boffset24] << aa_BITS;
- }
-
- if (sx2f != 0)
- {
- r2 += MUL (sline[_aa.roffset24], sx2f);
- g2 += MUL (sline[_aa.goffset24], sx2f);
- b2 += MUL (sline[_aa.boffset24], sx2f);
- }
+void _aa_add_rgb24(BITMAP *_src, int _sx1, int _sx2, int _sy1, int _sy2, unsigned long _num) {
+ unsigned char *sline;
+ int sx, sx1i, sx1f, sx2i, sx2f;
+ int sy, sy1i, sy1f, sy2i, sy2f;
+ unsigned int r1, g1, b1;
+ unsigned int r2, g2, b2;
+
+ sy1i = _sy1 >> aa_BITS;
+ sy = sy1i;
+
+ /* First line. */
+ sx1i = _sx1 >> aa_BITS;
+ sx = sx1i;
+ sline = _src->line[sy] + sx * 3;
+
+ sx1f = aa_SIZE - (_sx1 & aa_MASK);
+ r1 = MUL(sline[_aa.roffset24], sx1f);
+ g1 = MUL(sline[_aa.goffset24], sx1f);
+ b1 = MUL(sline[_aa.boffset24], sx1f);
+
+ sx2i = _sx2 >> aa_BITS;
+ for (sline += 3, sx++; sx < sx2i; sline += 3, sx++) {
+ r1 += sline[_aa.roffset24] << aa_BITS;
+ g1 += sline[_aa.goffset24] << aa_BITS;
+ b1 += sline[_aa.boffset24] << aa_BITS;
+ }
+
+ sx2f = _sx2 & aa_MASK;
+ if (sx2f != 0) {
+ r1 += MUL(sline[_aa.roffset24], sx2f);
+ g1 += MUL(sline[_aa.goffset24], sx2f);
+ b1 += MUL(sline[_aa.boffset24], sx2f);
}
- while (++sy < sy2i);
-
- r1 += r2 << aa_BITS;
- g1 += g2 << aa_BITS;
- b1 += b2 << aa_BITS;
- }
-
- /* Last line. */
- sy2f = _sy2 & aa_MASK;
- if (sy2f != 0)
- {
- sx = sx1i;
- sline = _src->line[sy] + sx * 3;
-
- r2 = MUL (sline[_aa.roffset24], sx1f);
- g2 = MUL (sline[_aa.goffset24], sx1f);
- b2 = MUL (sline[_aa.boffset24], sx1f);
-
- for (sline += 3, sx++; sx < sx2i; sline += 3, sx++)
- {
- r2 += sline[_aa.roffset24] << aa_BITS;
- g2 += sline[_aa.goffset24] << aa_BITS;
- b2 += sline[_aa.boffset24] << aa_BITS;
+
+ sy1f = aa_SIZE - (_sy1 & aa_MASK);
+ r1 = MUL(r1, sy1f);
+ g1 = MUL(g1, sy1f);
+ b1 = MUL(b1, sy1f);
+
+ /* Middle lines. */
+ sy2i = _sy2 >> aa_BITS;
+ if (++sy < sy2i) {
+ r2 = g2 = b2 = 0;
+ do {
+ sx = sx1i;
+ sline = _src->line[sy] + sx * 3;
+
+ r2 += MUL(sline[_aa.roffset24], sx1f);
+ g2 += MUL(sline[_aa.goffset24], sx1f);
+ b2 += MUL(sline[_aa.boffset24], sx1f);
+
+ for (sline += 3, sx++; sx < sx2i; sline += 3, sx++) {
+ r2 += sline[_aa.roffset24] << aa_BITS;
+ g2 += sline[_aa.goffset24] << aa_BITS;
+ b2 += sline[_aa.boffset24] << aa_BITS;
+ }
+
+ if (sx2f != 0) {
+ r2 += MUL(sline[_aa.roffset24], sx2f);
+ g2 += MUL(sline[_aa.goffset24], sx2f);
+ b2 += MUL(sline[_aa.boffset24], sx2f);
+ }
+ } while (++sy < sy2i);
+
+ r1 += r2 << aa_BITS;
+ g1 += g2 << aa_BITS;
+ b1 += b2 << aa_BITS;
}
- if (sx2f != 0)
- {
- r2 += MUL (sline[_aa.roffset24], sx2f);
- g2 += MUL (sline[_aa.goffset24], sx2f);
- b2 += MUL (sline[_aa.boffset24], sx2f);
+ /* Last line. */
+ sy2f = _sy2 & aa_MASK;
+ if (sy2f != 0) {
+ sx = sx1i;
+ sline = _src->line[sy] + sx * 3;
+
+ r2 = MUL(sline[_aa.roffset24], sx1f);
+ g2 = MUL(sline[_aa.goffset24], sx1f);
+ b2 = MUL(sline[_aa.boffset24], sx1f);
+
+ for (sline += 3, sx++; sx < sx2i; sline += 3, sx++) {
+ r2 += sline[_aa.roffset24] << aa_BITS;
+ g2 += sline[_aa.goffset24] << aa_BITS;
+ b2 += sline[_aa.boffset24] << aa_BITS;
+ }
+
+ if (sx2f != 0) {
+ r2 += MUL(sline[_aa.roffset24], sx2f);
+ g2 += MUL(sline[_aa.goffset24], sx2f);
+ b2 += MUL(sline[_aa.boffset24], sx2f);
+ }
+
+ r1 += MUL(r2, sy2f);
+ g1 += MUL(g2, sy2f);
+ b1 += MUL(b2, sy2f);
}
- r1 += MUL (r2, sy2f);
- g1 += MUL (g2, sy2f);
- b1 += MUL (b2, sy2f);
- }
-
- if (_num == (aa_SIZE * aa_SIZE))
- {
- _aa.r = r1 >> (2 * aa_BITS);
- _aa.g = g1 >> (2 * aa_BITS);
- _aa.b = b1 >> (2 * aa_BITS);
- }
- else
- {
- _aa.r = r1 / _num;
- _aa.g = g1 / _num;
- _aa.b = b1 / _num;
- }
+ if (_num == (aa_SIZE * aa_SIZE)) {
+ _aa.r = r1 >> (2 * aa_BITS);
+ _aa.g = g1 >> (2 * aa_BITS);
+ _aa.b = b1 >> (2 * aa_BITS);
+ } else {
+ _aa.r = r1 / _num;
+ _aa.g = g1 / _num;
+ _aa.b = b1 / _num;
+ }
}
#endif
+
#ifdef ALLEGRO_COLOR32
-void
-_aa_add_rgb32 (BITMAP *_src, int _sx1, int _sx2, int _sy1, int _sy2, unsigned long _num)
-{
- unsigned int *sline;
- int sx, sx1i, sx1f, sx2i, sx2f;
- int sy, sy1i, sy1f, sy2i, sy2f;
- unsigned int r1, g1, b1;
- unsigned int r2, g2, b2;
- unsigned int scolor;
-
- sy1i = _sy1 >> aa_BITS;
- sy = sy1i;
-
- /* First line. */
- sx1i = _sx1 >> aa_BITS;
- sx = sx1i;
- sline = (unsigned int*) (_src->line[sy]) + sx;
-
- sx1f = aa_SIZE - (_sx1 & aa_MASK);
- scolor = *sline;
- r1 = MUL (getr32 (scolor), sx1f);
- g1 = MUL (getg32 (scolor), sx1f);
- b1 = MUL (getb32 (scolor), sx1f);
-
- sx2i = _sx2 >> aa_BITS;
- for (sline++, sx++; sx < sx2i; sline++, sx++)
- {
- scolor = *sline;
- r1 += getr32 (scolor) << aa_BITS;
- g1 += getg32 (scolor) << aa_BITS;
- b1 += getb32 (scolor) << aa_BITS;
- }
-
- sx2f = _sx2 & aa_MASK;
- if (sx2f != 0)
- {
- scolor = *sline;
- r1 += MUL (getr32 (scolor), sx2f);
- g1 += MUL (getg32 (scolor), sx2f);
- b1 += MUL (getb32 (scolor), sx2f);
- }
-
- sy1f = aa_SIZE - (_sy1 & aa_MASK);
- r1 = MUL (r1, sy1f);
- g1 = MUL (g1, sy1f);
- b1 = MUL (b1, sy1f);
-
- /* Middle lines. */
- sy2i = _sy2 >> aa_BITS;
- if (++sy < sy2i)
- {
- r2 = g2 = b2 = 0;
- do
- {
- sx = sx1i;
- sline = (unsigned int*) (_src->line[sy]) + sx;
-
- scolor = *sline;
- r2 += MUL (getr32 (scolor), sx1f);
- g2 += MUL (getg32 (scolor), sx1f);
- b2 += MUL (getb32 (scolor), sx1f);
-
- for (sline++, sx++; sx < sx2i; sline++, sx++)
- {
- scolor = *sline;
- r2 += getr32 (scolor) << aa_BITS;
- g2 += getg32 (scolor) << aa_BITS;
- b2 += getb32 (scolor) << aa_BITS;
- }
-
- if (sx2f != 0)
- {
- scolor = *sline;
- r2 += MUL (getr32 (scolor), sx2f);
- g2 += MUL (getg32 (scolor), sx2f);
- b2 += MUL (getb32 (scolor), sx2f);
- }
+void _aa_add_rgb32(BITMAP *_src, int _sx1, int _sx2, int _sy1, int _sy2, unsigned long _num) {
+ unsigned int *sline;
+ int sx, sx1i, sx1f, sx2i, sx2f;
+ int sy, sy1i, sy1f, sy2i, sy2f;
+ unsigned int r1, g1, b1;
+ unsigned int r2, g2, b2;
+ unsigned int scolor;
+
+ sy1i = _sy1 >> aa_BITS;
+ sy = sy1i;
+
+ /* First line. */
+ sx1i = _sx1 >> aa_BITS;
+ sx = sx1i;
+ sline = (unsigned int *)(_src->line[sy]) + sx;
+
+ sx1f = aa_SIZE - (_sx1 & aa_MASK);
+ scolor = *sline;
+ r1 = MUL(getr32(scolor), sx1f);
+ g1 = MUL(getg32(scolor), sx1f);
+ b1 = MUL(getb32(scolor), sx1f);
+
+ sx2i = _sx2 >> aa_BITS;
+ for (sline++, sx++; sx < sx2i; sline++, sx++) {
+ scolor = *sline;
+ r1 += getr32(scolor) << aa_BITS;
+ g1 += getg32(scolor) << aa_BITS;
+ b1 += getb32(scolor) << aa_BITS;
}
- while (++sy < sy2i);
-
- r1 += r2 << aa_BITS;
- g1 += g2 << aa_BITS;
- b1 += b2 << aa_BITS;
- }
-
- /* Last line. */
- sy2f = _sy2 & aa_MASK;
- if (sy2f != 0)
- {
- sx = sx1i;
- sline = (unsigned int*) (_src->line[sy]) + sx;
-
- scolor = *sline;
- r2 = MUL (getr32 (scolor), sx1f);
- g2 = MUL (getg32 (scolor), sx1f);
- b2 = MUL (getb32 (scolor), sx1f);
-
- for (sline++, sx++; sx < sx2i; sline++, sx++)
- {
- scolor = *sline;
- r2 += getr32 (scolor) << aa_BITS;
- g2 += getg32 (scolor) << aa_BITS;
- b2 += getb32 (scolor) << aa_BITS;
+
+ sx2f = _sx2 & aa_MASK;
+ if (sx2f != 0) {
+ scolor = *sline;
+ r1 += MUL(getr32(scolor), sx2f);
+ g1 += MUL(getg32(scolor), sx2f);
+ b1 += MUL(getb32(scolor), sx2f);
}
- if (sx2f != 0)
- {
- scolor = *sline;
- r2 += MUL (getr32 (scolor), sx2f);
- g2 += MUL (getg32 (scolor), sx2f);
- b2 += MUL (getb32 (scolor), sx2f);
+ sy1f = aa_SIZE - (_sy1 & aa_MASK);
+ r1 = MUL(r1, sy1f);
+ g1 = MUL(g1, sy1f);
+ b1 = MUL(b1, sy1f);
+
+ /* Middle lines. */
+ sy2i = _sy2 >> aa_BITS;
+ if (++sy < sy2i) {
+ r2 = g2 = b2 = 0;
+ do {
+ sx = sx1i;
+ sline = (unsigned int *)(_src->line[sy]) + sx;
+
+ scolor = *sline;
+ r2 += MUL(getr32(scolor), sx1f);
+ g2 += MUL(getg32(scolor), sx1f);
+ b2 += MUL(getb32(scolor), sx1f);
+
+ for (sline++, sx++; sx < sx2i; sline++, sx++) {
+ scolor = *sline;
+ r2 += getr32(scolor) << aa_BITS;
+ g2 += getg32(scolor) << aa_BITS;
+ b2 += getb32(scolor) << aa_BITS;
+ }
+
+ if (sx2f != 0) {
+ scolor = *sline;
+ r2 += MUL(getr32(scolor), sx2f);
+ g2 += MUL(getg32(scolor), sx2f);
+ b2 += MUL(getb32(scolor), sx2f);
+ }
+ } while (++sy < sy2i);
+
+ r1 += r2 << aa_BITS;
+ g1 += g2 << aa_BITS;
+ b1 += b2 << aa_BITS;
}
- r1 += MUL (r2, sy2f);
- g1 += MUL (g2, sy2f);
- b1 += MUL (b2, sy2f);
- }
-
- if (_num == (aa_SIZE * aa_SIZE))
- {
- _aa.r = r1 >> (2 * aa_BITS);
- _aa.g = g1 >> (2 * aa_BITS);
- _aa.b = b1 >> (2 * aa_BITS);
- }
- else
- {
- _aa.r = r1 / _num;
- _aa.g = g1 / _num;
- _aa.b = b1 / _num;
- }
+ /* Last line. */
+ sy2f = _sy2 & aa_MASK;
+ if (sy2f != 0) {
+ sx = sx1i;
+ sline = (unsigned int *)(_src->line[sy]) + sx;
+
+ scolor = *sline;
+ r2 = MUL(getr32(scolor), sx1f);
+ g2 = MUL(getg32(scolor), sx1f);
+ b2 = MUL(getb32(scolor), sx1f);
+
+ for (sline++, sx++; sx < sx2i; sline++, sx++) {
+ scolor = *sline;
+ r2 += getr32(scolor) << aa_BITS;
+ g2 += getg32(scolor) << aa_BITS;
+ b2 += getb32(scolor) << aa_BITS;
+ }
+
+ if (sx2f != 0) {
+ scolor = *sline;
+ r2 += MUL(getr32(scolor), sx2f);
+ g2 += MUL(getg32(scolor), sx2f);
+ b2 += MUL(getb32(scolor), sx2f);
+ }
+
+ r1 += MUL(r2, sy2f);
+ g1 += MUL(g2, sy2f);
+ b1 += MUL(b2, sy2f);
+ }
+
+ if (_num == (aa_SIZE * aa_SIZE)) {
+ _aa.r = r1 >> (2 * aa_BITS);
+ _aa.g = g1 >> (2 * aa_BITS);
+ _aa.b = b1 >> (2 * aa_BITS);
+ } else {
+ _aa.r = r1 / _num;
+ _aa.g = g1 / _num;
+ _aa.b = b1 / _num;
+ }
}
#endif
@@ -748,1078 +674,892 @@ void _aa_put_rgb32 (byte *addr, int _x) {
/*
* Add masked r, g, b values of pixels.
*/
-void _aa_masked_add_rgb8 (BITMAP *_src, int _sx1, int _sx2, int _sy1, int _sy2, unsigned long _num) {
- unsigned char *sline;
- int sx, sx1i, sx1f, sx2i, sx2f;
- int sy, sy1i, sy1f, sy2i, sy2f;
- unsigned long r1, g1, b1, t1;
- unsigned long r2, g2, b2, t2;
- unsigned long scolor;
-
- sy1i = _sy1 >> aa_BITS;
- sy = sy1i;
-
- /* First line. */
- sx1i = _sx1 >> aa_BITS;
- sx = sx1i;
- sline = _src->line[sy] + sx;
-
- sx1f = aa_SIZE - (_sx1 & aa_MASK);
- scolor = *sline;
- if (scolor != MASK_COLOR_8)
- {
- r1 = MUL (getr8 (scolor), sx1f);
- g1 = MUL (getg8 (scolor), sx1f);
- b1 = MUL (getb8 (scolor), sx1f);
- t1 = 0;
- }
- else
- {
- r1 = g1 = b1 = 0;
- t1 = sx1f;
- }
-
- sx2i = _sx2 >> aa_BITS;
- for (sline++, sx++; sx < sx2i; sline++, sx++)
- {
- scolor = *sline;
- if (scolor != MASK_COLOR_8)
- {
- r1 += getr8 (scolor) << aa_BITS;
- g1 += getg8 (scolor) << aa_BITS;
- b1 += getb8 (scolor) << aa_BITS;
- }
- else
- t1 += aa_SIZE;
- }
-
- sx2f = _sx2 & aa_MASK;
- if (sx2f != 0)
- {
- scolor = *sline;
- if (scolor != MASK_COLOR_8)
- {
- r1 += MUL (getr8 (scolor), sx2f);
- g1 += MUL (getg8 (scolor), sx2f);
- b1 += MUL (getb8 (scolor), sx2f);
- }
- else
- t1 += sx2f;
- }
-
- sy1f = aa_SIZE - (_sy1 & aa_MASK);
- r1 = MUL (r1, sy1f);
- g1 = MUL (g1, sy1f);
- b1 = MUL (b1, sy1f);
- t1 = MUL (t1, sy1f);
-
- /* Middle lines. */
- sy2i = _sy2 >> aa_BITS;
- if (++sy < sy2i)
- {
- r2 = g2 = b2 = t2 = 0;
- do
- {
- sx = sx1i;
- sline = _src->line[sy] + sx;
-
- scolor = *sline;
- if (scolor != MASK_COLOR_8)
- {
- r2 += MUL (getr8 (scolor), sx1f);
- g2 += MUL (getg8 (scolor), sx1f);
- b2 += MUL (getb8 (scolor), sx1f);
- }
- else
- t2 += sx1f;
-
- for (sline++, sx++; sx < sx2i; sline++, sx++)
- {
- scolor = *sline;
- if (scolor != MASK_COLOR_8)
- {
- r2 += getr8 (scolor) << aa_BITS;
- g2 += getg8 (scolor) << aa_BITS;
- b2 += getb8 (scolor) << aa_BITS;
- }
- else
- t2 += aa_SIZE;
- }
-
- if (sx2f != 0)
- {
- scolor = *sline;
- if (scolor != MASK_COLOR_8)
- {
- r2 += MUL (getr8 (scolor), sx2f);
- g2 += MUL (getg8 (scolor), sx2f);
- b2 += MUL (getb8 (scolor), sx2f);
- }
- else
- t2 += sx2f;
- }
- }
- while (++sy < sy2i);
-
- r1 += r2 << aa_BITS;
- g1 += g2 << aa_BITS;
- b1 += b2 << aa_BITS;
- t1 += t2 << aa_BITS;
- }
-
- /* Last line. */
- sy2f = _sy2 & aa_MASK;
- if (sy2f != 0)
- {
- sx = sx1i;
- sline = _src->line[sy] + sx;
-
- scolor = *sline;
- if (scolor != MASK_COLOR_8)
- {
- r2 = MUL (getr8 (scolor), sx1f);
- g2 = MUL (getg8 (scolor), sx1f);
- b2 = MUL (getb8 (scolor), sx1f);
- t2 = 0;
- }
- else
- {
- r2 = g2 = b2 = 0;
- t2 = sx1f;
+void _aa_masked_add_rgb8(BITMAP *_src, int _sx1, int _sx2, int _sy1, int _sy2, unsigned long _num) {
+ unsigned char *sline;
+ int sx, sx1i, sx1f, sx2i, sx2f;
+ int sy, sy1i, sy1f, sy2i, sy2f;
+ unsigned long r1, g1, b1, t1;
+ unsigned long r2, g2, b2, t2;
+ unsigned long scolor;
+
+ sy1i = _sy1 >> aa_BITS;
+ sy = sy1i;
+
+ /* First line. */
+ sx1i = _sx1 >> aa_BITS;
+ sx = sx1i;
+ sline = _src->line[sy] + sx;
+
+ sx1f = aa_SIZE - (_sx1 & aa_MASK);
+ scolor = *sline;
+ if (scolor != MASK_COLOR_8) {
+ r1 = MUL(getr8(scolor), sx1f);
+ g1 = MUL(getg8(scolor), sx1f);
+ b1 = MUL(getb8(scolor), sx1f);
+ t1 = 0;
+ } else {
+ r1 = g1 = b1 = 0;
+ t1 = sx1f;
}
- for (sline++, sx++; sx < sx2i; sline++, sx++)
- {
- scolor = *sline;
- if (scolor != MASK_COLOR_8)
- {
- r2 += getr8 (scolor) << aa_BITS;
- g2 += getg8 (scolor) << aa_BITS;
- b2 += getb8 (scolor) << aa_BITS;
- }
- else
- t2 += aa_SIZE;
+ sx2i = _sx2 >> aa_BITS;
+ for (sline++, sx++; sx < sx2i; sline++, sx++) {
+ scolor = *sline;
+ if (scolor != MASK_COLOR_8) {
+ r1 += getr8(scolor) << aa_BITS;
+ g1 += getg8(scolor) << aa_BITS;
+ b1 += getb8(scolor) << aa_BITS;
+ } else
+ t1 += aa_SIZE;
}
- if (sx2f != 0)
- {
- scolor = *sline;
- if (scolor != MASK_COLOR_8)
- {
- r2 += MUL (getr8 (scolor), sx2f);
- g2 += MUL (getg8 (scolor), sx2f);
- b2 += MUL (getb8 (scolor), sx2f);
- }
- else
- t2 += sx2f;
+ sx2f = _sx2 & aa_MASK;
+ if (sx2f != 0) {
+ scolor = *sline;
+ if (scolor != MASK_COLOR_8) {
+ r1 += MUL(getr8(scolor), sx2f);
+ g1 += MUL(getg8(scolor), sx2f);
+ b1 += MUL(getb8(scolor), sx2f);
+ } else
+ t1 += sx2f;
}
- r1 += MUL (r2, sy2f);
- g1 += MUL (g2, sy2f);
- b1 += MUL (b2, sy2f);
- t1 += MUL (t2, sy2f);
- }
-
- if (_num >= (2 * t1))
- {
- if (_num == (aa_SIZE * aa_SIZE))
- {
- _aa.r = r1 >> (2 * aa_BITS);
- _aa.g = g1 >> (2 * aa_BITS);
- _aa.b = b1 >> (2 * aa_BITS);
- }
- else
- {
- _aa.r = r1 / _num;
- _aa.g = g1 / _num;
- _aa.b = b1 / _num;
- }
- _aa.transparent = 0;
- }
- else
- _aa.transparent = 1;
-}
-#ifdef ALLEGRO_COLOR16
-void
-_aa_masked_add_rgb15 (BITMAP *_src, int _sx1, int _sx2, int _sy1, int _sy2, unsigned long _num)
-{
- unsigned short *sline;
- int sx, sx1i, sx1f, sx2i, sx2f;
- int sy, sy1i, sy1f, sy2i, sy2f;
- unsigned int r1, g1, b1, t1;
- unsigned int r2, g2, b2, t2;
- unsigned int scolor;
-
- sy1i = _sy1 >> aa_BITS;
- sy = sy1i;
-
- /* First line. */
- sx1i = _sx1 >> aa_BITS;
- sx = sx1i;
- sline = (unsigned short*) (_src->line[sy]) + sx;
-
- sx1f = aa_SIZE - (_sx1 & aa_MASK);
- scolor = *sline;
- if (scolor != MASK_COLOR_15)
- {
- r1 = MUL (getr15 (scolor), sx1f);
- g1 = MUL (getg15 (scolor), sx1f);
- b1 = MUL (getb15 (scolor), sx1f);
- t1 = 0;
- }
- else
- {
- r1 = g1 = b1 = 0;
- t1 = sx1f;
- }
-
- sx2i = _sx2 >> aa_BITS;
- for (sline++, sx++; sx < sx2i; sline++, sx++)
- {
- scolor = *sline;
- if (scolor != MASK_COLOR_15)
- {
- r1 += getr15 (scolor) << aa_BITS;
- g1 += getg15 (scolor) << aa_BITS;
- b1 += getb15 (scolor) << aa_BITS;
+ sy1f = aa_SIZE - (_sy1 & aa_MASK);
+ r1 = MUL(r1, sy1f);
+ g1 = MUL(g1, sy1f);
+ b1 = MUL(b1, sy1f);
+ t1 = MUL(t1, sy1f);
+
+ /* Middle lines. */
+ sy2i = _sy2 >> aa_BITS;
+ if (++sy < sy2i) {
+ r2 = g2 = b2 = t2 = 0;
+ do {
+ sx = sx1i;
+ sline = _src->line[sy] + sx;
+
+ scolor = *sline;
+ if (scolor != MASK_COLOR_8) {
+ r2 += MUL(getr8(scolor), sx1f);
+ g2 += MUL(getg8(scolor), sx1f);
+ b2 += MUL(getb8(scolor), sx1f);
+ } else
+ t2 += sx1f;
+
+ for (sline++, sx++; sx < sx2i; sline++, sx++) {
+ scolor = *sline;
+ if (scolor != MASK_COLOR_8) {
+ r2 += getr8(scolor) << aa_BITS;
+ g2 += getg8(scolor) << aa_BITS;
+ b2 += getb8(scolor) << aa_BITS;
+ } else
+ t2 += aa_SIZE;
+ }
+
+ if (sx2f != 0) {
+ scolor = *sline;
+ if (scolor != MASK_COLOR_8) {
+ r2 += MUL(getr8(scolor), sx2f);
+ g2 += MUL(getg8(scolor), sx2f);
+ b2 += MUL(getb8(scolor), sx2f);
+ } else
+ t2 += sx2f;
+ }
+ } while (++sy < sy2i);
+
+ r1 += r2 << aa_BITS;
+ g1 += g2 << aa_BITS;
+ b1 += b2 << aa_BITS;
+ t1 += t2 << aa_BITS;
}
- else
- t1 += aa_SIZE;
- }
-
- sx2f = _sx2 & aa_MASK;
- if (sx2f != 0)
- {
- scolor = *sline;
- if (scolor != MASK_COLOR_15)
- {
- r1 += MUL (getr15 (scolor), sx2f);
- g1 += MUL (getg15 (scolor), sx2f);
- b1 += MUL (getb15 (scolor), sx2f);
- }
- else
- t1 += sx2f;
- }
-
- sy1f = aa_SIZE - (_sy1 & aa_MASK);
- r1 = MUL (r1, sy1f);
- g1 = MUL (g1, sy1f);
- b1 = MUL (b1, sy1f);
- t1 = MUL (t1, sy1f);
-
- /* Middle lines. */
- sy2i = _sy2 >> aa_BITS;
- if (++sy < sy2i)
- {
- r2 = g2 = b2 = t2 = 0;
- do
- {
- sx = sx1i;
- sline = (unsigned short*) (_src->line[sy]) + sx;
-
- scolor = *sline;
- if (scolor != MASK_COLOR_15)
- {
- r2 += MUL (getr15 (scolor), sx1f);
- g2 += MUL (getg15 (scolor), sx1f);
- b2 += MUL (getb15 (scolor), sx1f);
- }
- else
- t2 += sx1f;
-
- for (sline++, sx++; sx < sx2i; sline++, sx++)
- {
- scolor = *sline;
- if (scolor != MASK_COLOR_15)
- {
- r2 += getr15 (scolor) << aa_BITS;
- g2 += getg15 (scolor) << aa_BITS;
- b2 += getb15 (scolor) << aa_BITS;
+
+ /* Last line. */
+ sy2f = _sy2 & aa_MASK;
+ if (sy2f != 0) {
+ sx = sx1i;
+ sline = _src->line[sy] + sx;
+
+ scolor = *sline;
+ if (scolor != MASK_COLOR_8) {
+ r2 = MUL(getr8(scolor), sx1f);
+ g2 = MUL(getg8(scolor), sx1f);
+ b2 = MUL(getb8(scolor), sx1f);
+ t2 = 0;
+ } else {
+ r2 = g2 = b2 = 0;
+ t2 = sx1f;
}
- else
- t2 += aa_SIZE;
- }
-
- if (sx2f != 0)
- {
- scolor = *sline;
- if (scolor != MASK_COLOR_15)
- {
- r2 += MUL (getr15 (scolor), sx2f);
- g2 += MUL (getg15 (scolor), sx2f);
- b2 += MUL (getb15 (scolor), sx2f);
+
+ for (sline++, sx++; sx < sx2i; sline++, sx++) {
+ scolor = *sline;
+ if (scolor != MASK_COLOR_8) {
+ r2 += getr8(scolor) << aa_BITS;
+ g2 += getg8(scolor) << aa_BITS;
+ b2 += getb8(scolor) << aa_BITS;
+ } else
+ t2 += aa_SIZE;
}
- else
- t2 += sx2f;
- }
- }
- while (++sy < sy2i);
-
- r1 += r2 << aa_BITS;
- g1 += g2 << aa_BITS;
- b1 += b2 << aa_BITS;
- t1 += t2 << aa_BITS;
- }
-
- /* Last line. */
- sy2f = _sy2 & aa_MASK;
- if (sy2f != 0)
- {
- sx = sx1i;
- sline = (unsigned short*) (_src->line[sy]) + sx;
-
- scolor = *sline;
- if (scolor != MASK_COLOR_15)
- {
- r2 = MUL (getr15 (scolor), sx1f);
- g2 = MUL (getg15 (scolor), sx1f);
- b2 = MUL (getb15 (scolor), sx1f);
- t2 = 0;
- }
- else
- {
- r2 = g2 = b2 = 0;
- t2 = sx1f;
- }
- for (sline++, sx++; sx < sx2i; sline++, sx++)
- {
- scolor = *sline;
- if (scolor != MASK_COLOR_15)
- {
- r2 += getr15 (scolor) << aa_BITS;
- g2 += getg15 (scolor) << aa_BITS;
- b2 += getb15 (scolor) << aa_BITS;
- }
- else
- t2 += aa_SIZE;
- }
+ if (sx2f != 0) {
+ scolor = *sline;
+ if (scolor != MASK_COLOR_8) {
+ r2 += MUL(getr8(scolor), sx2f);
+ g2 += MUL(getg8(scolor), sx2f);
+ b2 += MUL(getb8(scolor), sx2f);
+ } else
+ t2 += sx2f;
+ }
- if (sx2f != 0)
- {
- scolor = *sline;
- if (scolor != MASK_COLOR_15)
- {
- r2 += MUL (getr15 (scolor), sx2f);
- g2 += MUL (getg15 (scolor), sx2f);
- b2 += MUL (getb15 (scolor), sx2f);
- }
- else
- t2 += sx2f;
+ r1 += MUL(r2, sy2f);
+ g1 += MUL(g2, sy2f);
+ b1 += MUL(b2, sy2f);
+ t1 += MUL(t2, sy2f);
}
- r1 += MUL (r2, sy2f);
- g1 += MUL (g2, sy2f);
- b1 += MUL (b2, sy2f);
- t1 += MUL (t2, sy2f);
- }
-
- if (_num >= (2 * t1))
- {
- if (_num == (aa_SIZE * aa_SIZE))
- {
- _aa.r = r1 >> (2 * aa_BITS);
- _aa.g = g1 >> (2 * aa_BITS);
- _aa.b = b1 >> (2 * aa_BITS);
+ if (_num >= (2 * t1)) {
+ if (_num == (aa_SIZE * aa_SIZE)) {
+ _aa.r = r1 >> (2 * aa_BITS);
+ _aa.g = g1 >> (2 * aa_BITS);
+ _aa.b = b1 >> (2 * aa_BITS);
+ } else {
+ _aa.r = r1 / _num;
+ _aa.g = g1 / _num;
+ _aa.b = b1 / _num;
+ }
+ _aa.transparent = 0;
+ } else
+ _aa.transparent = 1;
+}
+
+#ifdef ALLEGRO_COLOR16
+void _aa_masked_add_rgb15(BITMAP *_src, int _sx1, int _sx2, int _sy1, int _sy2, unsigned long _num) {
+ unsigned short *sline;
+ int sx, sx1i, sx1f, sx2i, sx2f;
+ int sy, sy1i, sy1f, sy2i, sy2f;
+ unsigned int r1, g1, b1, t1;
+ unsigned int r2, g2, b2, t2;
+ unsigned int scolor;
+
+ sy1i = _sy1 >> aa_BITS;
+ sy = sy1i;
+
+ /* First line. */
+ sx1i = _sx1 >> aa_BITS;
+ sx = sx1i;
+ sline = (unsigned short *)(_src->line[sy]) + sx;
+
+ sx1f = aa_SIZE - (_sx1 & aa_MASK);
+ scolor = *sline;
+ if (scolor != MASK_COLOR_15) {
+ r1 = MUL(getr15(scolor), sx1f);
+ g1 = MUL(getg15(scolor), sx1f);
+ b1 = MUL(getb15(scolor), sx1f);
+ t1 = 0;
+ } else {
+ r1 = g1 = b1 = 0;
+ t1 = sx1f;
}
- else
- {
- _aa.r = r1 / _num;
- _aa.g = g1 / _num;
- _aa.b = b1 / _num;
+
+ sx2i = _sx2 >> aa_BITS;
+ for (sline++, sx++; sx < sx2i; sline++, sx++) {
+ scolor = *sline;
+ if (scolor != MASK_COLOR_15) {
+ r1 += getr15(scolor) << aa_BITS;
+ g1 += getg15(scolor) << aa_BITS;
+ b1 += getb15(scolor) << aa_BITS;
+ } else
+ t1 += aa_SIZE;
}
- _aa.transparent = 0;
- }
- else
- _aa.transparent = 1;
-}
-void
-_aa_masked_add_rgb16 (BITMAP *_src, int _sx1, int _sx2, int _sy1, int _sy2, unsigned long _num)
-{
- unsigned short *sline;
- int sx, sx1i, sx1f, sx2i, sx2f;
- int sy, sy1i, sy1f, sy2i, sy2f;
- unsigned int r1, g1, b1, t1;
- unsigned int r2, g2, b2, t2;
- unsigned int scolor;
-
- sy1i = _sy1 >> aa_BITS;
- sy = sy1i;
-
- /* First line. */
- sx1i = _sx1 >> aa_BITS;
- sx = sx1i;
- sline = (unsigned short*) (_src->line[sy]) + sx;
-
- sx1f = aa_SIZE - (_sx1 & aa_MASK);
- scolor = *sline;
- if (scolor != MASK_COLOR_16)
- {
- r1 = MUL (getr16 (scolor), sx1f);
- g1 = MUL (getg16 (scolor), sx1f);
- b1 = MUL (getb16 (scolor), sx1f);
- t1 = 0;
- }
- else
- {
- r1 = g1 = b1 = 0;
- t1 = sx1f;
- }
-
- sx2i = _sx2 >> aa_BITS;
- for (sline++, sx++; sx < sx2i; sline++, sx++)
- {
- scolor = *sline;
- if (scolor != MASK_COLOR_16)
- {
- r1 += getr16 (scolor) << aa_BITS;
- g1 += getg16 (scolor) << aa_BITS;
- b1 += getb16 (scolor) << aa_BITS;
+
+ sx2f = _sx2 & aa_MASK;
+ if (sx2f != 0) {
+ scolor = *sline;
+ if (scolor != MASK_COLOR_15) {
+ r1 += MUL(getr15(scolor), sx2f);
+ g1 += MUL(getg15(scolor), sx2f);
+ b1 += MUL(getb15(scolor), sx2f);
+ } else
+ t1 += sx2f;
}
- else
- t1 += aa_SIZE;
- }
-
- sx2f = _sx2 & aa_MASK;
- if (sx2f != 0)
- {
- scolor = *sline;
- if (scolor != MASK_COLOR_16)
- {
- r1 += MUL (getr16 (scolor), sx2f);
- g1 += MUL (getg16 (scolor), sx2f);
- b1 += MUL (getb16 (scolor), sx2f);
+
+ sy1f = aa_SIZE - (_sy1 & aa_MASK);
+ r1 = MUL(r1, sy1f);
+ g1 = MUL(g1, sy1f);
+ b1 = MUL(b1, sy1f);
+ t1 = MUL(t1, sy1f);
+
+ /* Middle lines. */
+ sy2i = _sy2 >> aa_BITS;
+ if (++sy < sy2i) {
+ r2 = g2 = b2 = t2 = 0;
+ do {
+ sx = sx1i;
+ sline = (unsigned short *)(_src->line[sy]) + sx;
+
+ scolor = *sline;
+ if (scolor != MASK_COLOR_15) {
+ r2 += MUL(getr15(scolor), sx1f);
+ g2 += MUL(getg15(scolor), sx1f);
+ b2 += MUL(getb15(scolor), sx1f);
+ } else
+ t2 += sx1f;
+
+ for (sline++, sx++; sx < sx2i; sline++, sx++) {
+ scolor = *sline;
+ if (scolor != MASK_COLOR_15) {
+ r2 += getr15(scolor) << aa_BITS;
+ g2 += getg15(scolor) << aa_BITS;
+ b2 += getb15(scolor) << aa_BITS;
+ } else
+ t2 += aa_SIZE;
+ }
+
+ if (sx2f != 0) {
+ scolor = *sline;
+ if (scolor != MASK_COLOR_15) {
+ r2 += MUL(getr15(scolor), sx2f);
+ g2 += MUL(getg15(scolor), sx2f);
+ b2 += MUL(getb15(scolor), sx2f);
+ } else
+ t2 += sx2f;
+ }
+ } while (++sy < sy2i);
+
+ r1 += r2 << aa_BITS;
+ g1 += g2 << aa_BITS;
+ b1 += b2 << aa_BITS;
+ t1 += t2 << aa_BITS;
}
- else
- t1 += sx2f;
- }
-
- sy1f = aa_SIZE - (_sy1 & aa_MASK);
- r1 = MUL (r1, sy1f);
- g1 = MUL (g1, sy1f);
- b1 = MUL (b1, sy1f);
- t1 = MUL (t1, sy1f);
-
- /* Middle lines. */
- sy2i = _sy2 >> aa_BITS;
- if (++sy < sy2i)
- {
- r2 = g2 = b2 = t2 = 0;
- do
- {
- sx = sx1i;
- sline = (unsigned short*) (_src->line[sy]) + sx;
-
- scolor = *sline;
- if (scolor != MASK_COLOR_16)
- {
- r2 += MUL (getr16 (scolor), sx1f);
- g2 += MUL (getg16 (scolor), sx1f);
- b2 += MUL (getb16 (scolor), sx1f);
- }
- else
- t2 += sx1f;
-
- for (sline++, sx++; sx < sx2i; sline++, sx++)
- {
- scolor = *sline;
- if (scolor != MASK_COLOR_16)
- {
- r2 += getr16 (scolor) << aa_BITS;
- g2 += getg16 (scolor) << aa_BITS;
- b2 += getb16 (scolor) << aa_BITS;
+
+ /* Last line. */
+ sy2f = _sy2 & aa_MASK;
+ if (sy2f != 0) {
+ sx = sx1i;
+ sline = (unsigned short *)(_src->line[sy]) + sx;
+
+ scolor = *sline;
+ if (scolor != MASK_COLOR_15) {
+ r2 = MUL(getr15(scolor), sx1f);
+ g2 = MUL(getg15(scolor), sx1f);
+ b2 = MUL(getb15(scolor), sx1f);
+ t2 = 0;
+ } else {
+ r2 = g2 = b2 = 0;
+ t2 = sx1f;
}
- else
- t2 += aa_SIZE;
- }
-
- if (sx2f != 0)
- {
- scolor = *sline;
- if (scolor != MASK_COLOR_16)
- {
- r2 += MUL (getr16 (scolor), sx2f);
- g2 += MUL (getg16 (scolor), sx2f);
- b2 += MUL (getb16 (scolor), sx2f);
+
+ for (sline++, sx++; sx < sx2i; sline++, sx++) {
+ scolor = *sline;
+ if (scolor != MASK_COLOR_15) {
+ r2 += getr15(scolor) << aa_BITS;
+ g2 += getg15(scolor) << aa_BITS;
+ b2 += getb15(scolor) << aa_BITS;
+ } else
+ t2 += aa_SIZE;
}
- else
- t2 += sx2f;
- }
- }
- while (++sy < sy2i);
-
- r1 += r2 << aa_BITS;
- g1 += g2 << aa_BITS;
- b1 += b2 << aa_BITS;
- t1 += t2 << aa_BITS;
- }
-
- /* Last line. */
- sy2f = _sy2 & aa_MASK;
- if (sy2f != 0)
- {
- sx = sx1i;
- sline = (unsigned short*) (_src->line[sy]) + sx;
-
- scolor = *sline;
- if (scolor != MASK_COLOR_16)
- {
- r2 = MUL (getr16 (scolor), sx1f);
- g2 = MUL (getg16 (scolor), sx1f);
- b2 = MUL (getb16 (scolor), sx1f);
- t2 = 0;
+
+ if (sx2f != 0) {
+ scolor = *sline;
+ if (scolor != MASK_COLOR_15) {
+ r2 += MUL(getr15(scolor), sx2f);
+ g2 += MUL(getg15(scolor), sx2f);
+ b2 += MUL(getb15(scolor), sx2f);
+ } else
+ t2 += sx2f;
+ }
+
+ r1 += MUL(r2, sy2f);
+ g1 += MUL(g2, sy2f);
+ b1 += MUL(b2, sy2f);
+ t1 += MUL(t2, sy2f);
}
- else
- {
- r2 = g2 = b2 = 0;
- t2 = sx1f;
+
+ if (_num >= (2 * t1)) {
+ if (_num == (aa_SIZE * aa_SIZE)) {
+ _aa.r = r1 >> (2 * aa_BITS);
+ _aa.g = g1 >> (2 * aa_BITS);
+ _aa.b = b1 >> (2 * aa_BITS);
+ } else {
+ _aa.r = r1 / _num;
+ _aa.g = g1 / _num;
+ _aa.b = b1 / _num;
+ }
+ _aa.transparent = 0;
+ } else
+ _aa.transparent = 1;
+}
+
+void _aa_masked_add_rgb16(BITMAP *_src, int _sx1, int _sx2, int _sy1, int _sy2, unsigned long _num) {
+ unsigned short *sline;
+ int sx, sx1i, sx1f, sx2i, sx2f;
+ int sy, sy1i, sy1f, sy2i, sy2f;
+ unsigned int r1, g1, b1, t1;
+ unsigned int r2, g2, b2, t2;
+ unsigned int scolor;
+
+ sy1i = _sy1 >> aa_BITS;
+ sy = sy1i;
+
+ /* First line. */
+ sx1i = _sx1 >> aa_BITS;
+ sx = sx1i;
+ sline = (unsigned short *)(_src->line[sy]) + sx;
+
+ sx1f = aa_SIZE - (_sx1 & aa_MASK);
+ scolor = *sline;
+ if (scolor != MASK_COLOR_16) {
+ r1 = MUL(getr16(scolor), sx1f);
+ g1 = MUL(getg16(scolor), sx1f);
+ b1 = MUL(getb16(scolor), sx1f);
+ t1 = 0;
+ } else {
+ r1 = g1 = b1 = 0;
+ t1 = sx1f;
}
- for (sline++, sx++; sx < sx2i; sline++, sx++)
- {
- scolor = *sline;
- if (scolor != MASK_COLOR_16)
- {
- r2 += getr16 (scolor) << aa_BITS;
- g2 += getg16 (scolor) << aa_BITS;
- b2 += getb16 (scolor) << aa_BITS;
- }
- else
- t2 += aa_SIZE;
+ sx2i = _sx2 >> aa_BITS;
+ for (sline++, sx++; sx < sx2i; sline++, sx++) {
+ scolor = *sline;
+ if (scolor != MASK_COLOR_16) {
+ r1 += getr16(scolor) << aa_BITS;
+ g1 += getg16(scolor) << aa_BITS;
+ b1 += getb16(scolor) << aa_BITS;
+ } else
+ t1 += aa_SIZE;
}
- if (sx2f != 0)
- {
- scolor = *sline;
- if (scolor != MASK_COLOR_16)
- {
- r2 += MUL (getr16 (scolor), sx2f);
- g2 += MUL (getg16 (scolor), sx2f);
- b2 += MUL (getb16 (scolor), sx2f);
- }
- else
- t2 += sx2f;
+ sx2f = _sx2 & aa_MASK;
+ if (sx2f != 0) {
+ scolor = *sline;
+ if (scolor != MASK_COLOR_16) {
+ r1 += MUL(getr16(scolor), sx2f);
+ g1 += MUL(getg16(scolor), sx2f);
+ b1 += MUL(getb16(scolor), sx2f);
+ } else
+ t1 += sx2f;
}
- r1 += MUL (r2, sy2f);
- g1 += MUL (g2, sy2f);
- b1 += MUL (b2, sy2f);
- t1 += MUL (t2, sy2f);
- }
-
- if (_num >= (2 * t1))
- {
- if (_num == (aa_SIZE * aa_SIZE))
- {
- _aa.r = r1 >> (2 * aa_BITS);
- _aa.g = g1 >> (2 * aa_BITS);
- _aa.b = b1 >> (2 * aa_BITS);
+ sy1f = aa_SIZE - (_sy1 & aa_MASK);
+ r1 = MUL(r1, sy1f);
+ g1 = MUL(g1, sy1f);
+ b1 = MUL(b1, sy1f);
+ t1 = MUL(t1, sy1f);
+
+ /* Middle lines. */
+ sy2i = _sy2 >> aa_BITS;
+ if (++sy < sy2i) {
+ r2 = g2 = b2 = t2 = 0;
+ do {
+ sx = sx1i;
+ sline = (unsigned short *)(_src->line[sy]) + sx;
+
+ scolor = *sline;
+ if (scolor != MASK_COLOR_16) {
+ r2 += MUL(getr16(scolor), sx1f);
+ g2 += MUL(getg16(scolor), sx1f);
+ b2 += MUL(getb16(scolor), sx1f);
+ } else
+ t2 += sx1f;
+
+ for (sline++, sx++; sx < sx2i; sline++, sx++) {
+ scolor = *sline;
+ if (scolor != MASK_COLOR_16) {
+ r2 += getr16(scolor) << aa_BITS;
+ g2 += getg16(scolor) << aa_BITS;
+ b2 += getb16(scolor) << aa_BITS;
+ } else
+ t2 += aa_SIZE;
+ }
+
+ if (sx2f != 0) {
+ scolor = *sline;
+ if (scolor != MASK_COLOR_16) {
+ r2 += MUL(getr16(scolor), sx2f);
+ g2 += MUL(getg16(scolor), sx2f);
+ b2 += MUL(getb16(scolor), sx2f);
+ } else
+ t2 += sx2f;
+ }
+ } while (++sy < sy2i);
+
+ r1 += r2 << aa_BITS;
+ g1 += g2 << aa_BITS;
+ b1 += b2 << aa_BITS;
+ t1 += t2 << aa_BITS;
}
- else
- {
- _aa.r = r1 / _num;
- _aa.g = g1 / _num;
- _aa.b = b1 / _num;
+
+ /* Last line. */
+ sy2f = _sy2 & aa_MASK;
+ if (sy2f != 0) {
+ sx = sx1i;
+ sline = (unsigned short *)(_src->line[sy]) + sx;
+
+ scolor = *sline;
+ if (scolor != MASK_COLOR_16) {
+ r2 = MUL(getr16(scolor), sx1f);
+ g2 = MUL(getg16(scolor), sx1f);
+ b2 = MUL(getb16(scolor), sx1f);
+ t2 = 0;
+ } else {
+ r2 = g2 = b2 = 0;
+ t2 = sx1f;
+ }
+
+ for (sline++, sx++; sx < sx2i; sline++, sx++) {
+ scolor = *sline;
+ if (scolor != MASK_COLOR_16) {
+ r2 += getr16(scolor) << aa_BITS;
+ g2 += getg16(scolor) << aa_BITS;
+ b2 += getb16(scolor) << aa_BITS;
+ } else
+ t2 += aa_SIZE;
+ }
+
+ if (sx2f != 0) {
+ scolor = *sline;
+ if (scolor != MASK_COLOR_16) {
+ r2 += MUL(getr16(scolor), sx2f);
+ g2 += MUL(getg16(scolor), sx2f);
+ b2 += MUL(getb16(scolor), sx2f);
+ } else
+ t2 += sx2f;
+ }
+
+ r1 += MUL(r2, sy2f);
+ g1 += MUL(g2, sy2f);
+ b1 += MUL(b2, sy2f);
+ t1 += MUL(t2, sy2f);
}
- _aa.transparent = 0;
- }
- else
- _aa.transparent = 1;
+
+ if (_num >= (2 * t1)) {
+ if (_num == (aa_SIZE * aa_SIZE)) {
+ _aa.r = r1 >> (2 * aa_BITS);
+ _aa.g = g1 >> (2 * aa_BITS);
+ _aa.b = b1 >> (2 * aa_BITS);
+ } else {
+ _aa.r = r1 / _num;
+ _aa.g = g1 / _num;
+ _aa.b = b1 / _num;
+ }
+ _aa.transparent = 0;
+ } else
+ _aa.transparent = 1;
}
#endif
+
#ifdef ALLEGRO_COLOR24
-void
-_aa_masked_add_rgb24 (BITMAP *_src, int _sx1, int _sx2, int _sy1, int _sy2, unsigned long _num)
-{
- unsigned char *sline;
- int sx, sx1i, sx1f, sx2i, sx2f;
- int sy, sy1i, sy1f, sy2i, sy2f;
- unsigned int r1, g1, b1, t1;
- unsigned int r2, g2, b2, t2;
- unsigned int scolor;
-
- sy1i = _sy1 >> aa_BITS;
- sy = sy1i;
-
- /* First line. */
- sx1i = _sx1 >> aa_BITS;
- sx = sx1i;
- sline = _src->line[sy] + sx * 3;
-
- sx1f = aa_SIZE - (_sx1 & aa_MASK);
+void _aa_masked_add_rgb24(BITMAP *_src, int _sx1, int _sx2, int _sy1, int _sy2, unsigned long _num) {
+ unsigned char *sline;
+ int sx, sx1i, sx1f, sx2i, sx2f;
+ int sy, sy1i, sy1f, sy2i, sy2f;
+ unsigned int r1, g1, b1, t1;
+ unsigned int r2, g2, b2, t2;
+ unsigned int scolor;
+
+ sy1i = _sy1 >> aa_BITS;
+ sy = sy1i;
+
+ /* First line. */
+ sx1i = _sx1 >> aa_BITS;
+ sx = sx1i;
+ sline = _src->line[sy] + sx * 3;
+
+ sx1f = aa_SIZE - (_sx1 & aa_MASK);
#ifdef USE_24BIT_AS_CHARS
- scolor = ((unsigned int) (sline[0])
- | ((unsigned int) (sline[1]) << 8)
- | ((unsigned int) (sline[2]) << 16));
+ scolor = ((unsigned int)(sline[0])
+ | ((unsigned int)(sline[1]) << 8)
+ | ((unsigned int)(sline[2]) << 16));
#else
- scolor = ((unsigned int) (((unsigned short*) sline)[0])
- | ((unsigned int) (sline[2]) << 16));
+ scolor = ((unsigned int)(((unsigned short *)sline)[0])
+ | ((unsigned int)(sline[2]) << 16));
#endif
- if (scolor != MASK_COLOR_24)
- {
- r1 = MUL (getr24 (scolor), sx1f);
- g1 = MUL (getg24 (scolor), sx1f);
- b1 = MUL (getb24 (scolor), sx1f);
- t1 = 0;
- }
- else
- {
- r1 = g1 = b1 = 0;
- t1 = sx1f;
- }
-
- sx2i = _sx2 >> aa_BITS;
- for (sline += 3, sx++; sx < sx2i; sline += 3, sx++)
- {
+ if (scolor != MASK_COLOR_24) {
+ r1 = MUL(getr24(scolor), sx1f);
+ g1 = MUL(getg24(scolor), sx1f);
+ b1 = MUL(getb24(scolor), sx1f);
+ t1 = 0;
+ } else {
+ r1 = g1 = b1 = 0;
+ t1 = sx1f;
+ }
+
+ sx2i = _sx2 >> aa_BITS;
+ for (sline += 3, sx++; sx < sx2i; sline += 3, sx++) {
#ifdef USE_24BIT_AS_CHARS
- scolor = ((unsigned int) (sline[0])
- | ((unsigned int) (sline[1]) << 8)
- | ((unsigned int) (sline[2]) << 16));
+ scolor = ((unsigned int)(sline[0])
+ | ((unsigned int)(sline[1]) << 8)
+ | ((unsigned int)(sline[2]) << 16));
#else
- scolor = ((unsigned int) (((unsigned short*) sline)[0])
- | ((unsigned int) (sline[2]) << 16));
+ scolor = ((unsigned int)(((unsigned short *)sline)[0])
+ | ((unsigned int)(sline[2]) << 16));
#endif
- if (scolor != MASK_COLOR_24)
- {
- r1 += getr24 (scolor) << aa_BITS;
- g1 += getg24 (scolor) << aa_BITS;
- b1 += getb24 (scolor) << aa_BITS;
+ if (scolor != MASK_COLOR_24) {
+ r1 += getr24(scolor) << aa_BITS;
+ g1 += getg24(scolor) << aa_BITS;
+ b1 += getb24(scolor) << aa_BITS;
+ } else
+ t1 += aa_SIZE;
}
- else
- t1 += aa_SIZE;
- }
- sx2f = _sx2 & aa_MASK;
- if (sx2f != 0)
- {
+ sx2f = _sx2 & aa_MASK;
+ if (sx2f != 0) {
#ifdef USE_24BIT_AS_CHARS
- scolor = ((unsigned int) (sline[0])
- | ((unsigned int) (sline[1]) << 8)
- | ((unsigned int) (sline[2]) << 16));
+ scolor = ((unsigned int)(sline[0])
+ | ((unsigned int)(sline[1]) << 8)
+ | ((unsigned int)(sline[2]) << 16));
#else
- scolor = ((unsigned int) (((unsigned short*) sline)[0])
- | ((unsigned int) (sline[2]) << 16));
+ scolor = ((unsigned int)(((unsigned short *)sline)[0])
+ | ((unsigned int)(sline[2]) << 16));
#endif
- if (scolor != MASK_COLOR_24)
- {
- r1 += MUL (getr24 (scolor), sx2f);
- g1 += MUL (getg24 (scolor), sx2f);
- b1 += MUL (getb24 (scolor), sx2f);
+ if (scolor != MASK_COLOR_24) {
+ r1 += MUL(getr24(scolor), sx2f);
+ g1 += MUL(getg24(scolor), sx2f);
+ b1 += MUL(getb24(scolor), sx2f);
+ } else
+ t1 += sx2f;
}
- else
- t1 += sx2f;
- }
-
- sy1f = aa_SIZE - (_sy1 & aa_MASK);
- r1 = MUL (r1, sy1f);
- g1 = MUL (g1, sy1f);
- b1 = MUL (b1, sy1f);
- t1 = MUL (t1, sy1f);
-
- /* Middle lines. */
- sy2i = _sy2 >> aa_BITS;
- if (++sy < sy2i)
- {
- r2 = g2 = b2 = t2 = 0;
- do
- {
- sx = sx1i;
- sline = _src->line[sy] + sx * 3;
+
+ sy1f = aa_SIZE - (_sy1 & aa_MASK);
+ r1 = MUL(r1, sy1f);
+ g1 = MUL(g1, sy1f);
+ b1 = MUL(b1, sy1f);
+ t1 = MUL(t1, sy1f);
+
+ /* Middle lines. */
+ sy2i = _sy2 >> aa_BITS;
+ if (++sy < sy2i) {
+ r2 = g2 = b2 = t2 = 0;
+ do {
+ sx = sx1i;
+ sline = _src->line[sy] + sx * 3;
#ifdef USE_24BIT_AS_CHARS
- scolor = ((unsigned int) (sline[0])
- | ((unsigned int) (sline[1]) << 8)
- | ((unsigned int) (sline[2]) << 16));
+ scolor = ((unsigned int)(sline[0])
+ | ((unsigned int)(sline[1]) << 8)
+ | ((unsigned int)(sline[2]) << 16));
#else
- scolor = ((unsigned int) (((unsigned short*) sline)[0])
- | ((unsigned int) (sline[2]) << 16));
+ scolor = ((unsigned int)(((unsigned short *)sline)[0])
+ | ((unsigned int)(sline[2]) << 16));
#endif
- if (scolor != MASK_COLOR_24)
- {
- r2 += MUL (getr24 (scolor), sx1f);
- g2 += MUL (getg24 (scolor), sx1f);
- b2 += MUL (getb24 (scolor), sx1f);
- }
- else
- t2 += sx1f;
-
- for (sline += 3, sx++; sx < sx2i; sline += 3, sx++)
- {
+ if (scolor != MASK_COLOR_24) {
+ r2 += MUL(getr24(scolor), sx1f);
+ g2 += MUL(getg24(scolor), sx1f);
+ b2 += MUL(getb24(scolor), sx1f);
+ } else
+ t2 += sx1f;
+
+ for (sline += 3, sx++; sx < sx2i; sline += 3, sx++) {
#ifdef USE_24BIT_AS_CHARS
- scolor = ((unsigned int) (sline[0])
- | ((unsigned int) (sline[1]) << 8)
- | ((unsigned int) (sline[2]) << 16));
+ scolor = ((unsigned int)(sline[0])
+ | ((unsigned int)(sline[1]) << 8)
+ | ((unsigned int)(sline[2]) << 16));
#else
- scolor = ((unsigned int) (((unsigned short*) sline)[0])
- | ((unsigned int) (sline[2]) << 16));
+ scolor = ((unsigned int)(((unsigned short *)sline)[0])
+ | ((unsigned int)(sline[2]) << 16));
#endif
- if (scolor != MASK_COLOR_24)
- {
- r2 += getr24 (scolor) << aa_BITS;
- g2 += getg24 (scolor) << aa_BITS;
- b2 += getb24 (scolor) << aa_BITS;
- }
- else
- t2 += aa_SIZE;
- }
-
- if (sx2f != 0)
- {
+ if (scolor != MASK_COLOR_24) {
+ r2 += getr24(scolor) << aa_BITS;
+ g2 += getg24(scolor) << aa_BITS;
+ b2 += getb24(scolor) << aa_BITS;
+ } else
+ t2 += aa_SIZE;
+ }
+
+ if (sx2f != 0) {
#ifdef USE_24BIT_AS_CHARS
- scolor = ((unsigned int) (sline[0])
- | ((unsigned int) (sline[1]) << 8)
- | ((unsigned int) (sline[2]) << 16));
+ scolor = ((unsigned int)(sline[0])
+ | ((unsigned int)(sline[1]) << 8)
+ | ((unsigned int)(sline[2]) << 16));
#else
- scolor = ((unsigned int) (((unsigned short*) sline)[0])
- | ((unsigned int) (sline[2]) << 16));
+ scolor = ((unsigned int)(((unsigned short *)sline)[0])
+ | ((unsigned int)(sline[2]) << 16));
#endif
- if (scolor != MASK_COLOR_24)
- {
- r2 += MUL (getr24 (scolor), sx2f);
- g2 += MUL (getg24 (scolor), sx2f);
- b2 += MUL (getb24 (scolor), sx2f);
- }
- else
- t2 += sx2f;
- }
+ if (scolor != MASK_COLOR_24) {
+ r2 += MUL(getr24(scolor), sx2f);
+ g2 += MUL(getg24(scolor), sx2f);
+ b2 += MUL(getb24(scolor), sx2f);
+ } else
+ t2 += sx2f;
+ }
+ } while (++sy < sy2i);
+
+ r1 += r2 << aa_BITS;
+ g1 += g2 << aa_BITS;
+ b1 += b2 << aa_BITS;
+ t1 += t2 << aa_BITS;
}
- while (++sy < sy2i);
-
- r1 += r2 << aa_BITS;
- g1 += g2 << aa_BITS;
- b1 += b2 << aa_BITS;
- t1 += t2 << aa_BITS;
- }
- /* Last line. */
- sy2f = _sy2 & aa_MASK;
- if (sy2f != 0)
- {
- sx = sx1i;
- sline = _src->line[sy] + sx * 3;
+ /* Last line. */
+ sy2f = _sy2 & aa_MASK;
+ if (sy2f != 0) {
+ sx = sx1i;
+ sline = _src->line[sy] + sx * 3;
#ifdef USE_24BIT_AS_CHARS
- scolor = ((unsigned int) (sline[0])
- | ((unsigned int) (sline[1]) << 8)
- | ((unsigned int) (sline[2]) << 16));
+ scolor = ((unsigned int)(sline[0])
+ | ((unsigned int)(sline[1]) << 8)
+ | ((unsigned int)(sline[2]) << 16));
#else
- scolor = ((unsigned int) (((unsigned short*) sline)[0])
- | ((unsigned int) (sline[2]) << 16));
+ scolor = ((unsigned int)(((unsigned short *)sline)[0])
+ | ((unsigned int)(sline[2]) << 16));
#endif
- if (scolor != MASK_COLOR_24)
- {
- r2 = MUL (getr24 (scolor), sx1f);
- g2 = MUL (getg24 (scolor), sx1f);
- b2 = MUL (getb24 (scolor), sx1f);
- t2 = 0;
- }
- else
- {
- r2 = g2 = b2 = 0;
- t2 = sx1f;
- }
+ if (scolor != MASK_COLOR_24) {
+ r2 = MUL(getr24(scolor), sx1f);
+ g2 = MUL(getg24(scolor), sx1f);
+ b2 = MUL(getb24(scolor), sx1f);
+ t2 = 0;
+ } else {
+ r2 = g2 = b2 = 0;
+ t2 = sx1f;
+ }
- for (sline += 3, sx++; sx < sx2i; sline += 3, sx++)
- {
+ for (sline += 3, sx++; sx < sx2i; sline += 3, sx++) {
#ifdef USE_24BIT_AS_CHARS
- scolor = ((unsigned int) (sline[0])
- | ((unsigned int) (sline[1]) << 8)
- | ((unsigned int) (sline[2]) << 16));
+ scolor = ((unsigned int)(sline[0])
+ | ((unsigned int)(sline[1]) << 8)
+ | ((unsigned int)(sline[2]) << 16));
#else
- scolor = ((unsigned int) (((unsigned short*) sline)[0])
- | ((unsigned int) (sline[2]) << 16));
+ scolor = ((unsigned int)(((unsigned short *)sline)[0])
+ | ((unsigned int)(sline[2]) << 16));
#endif
- if (scolor != MASK_COLOR_24)
- {
- r2 += getr24 (scolor) << aa_BITS;
- g2 += getg24 (scolor) << aa_BITS;
- b2 += getb24 (scolor) << aa_BITS;
- }
- else
- t2 += aa_SIZE;
- }
+ if (scolor != MASK_COLOR_24) {
+ r2 += getr24(scolor) << aa_BITS;
+ g2 += getg24(scolor) << aa_BITS;
+ b2 += getb24(scolor) << aa_BITS;
+ } else
+ t2 += aa_SIZE;
+ }
- if (sx2f != 0)
- {
+ if (sx2f != 0) {
#ifdef USE_24BIT_AS_CHARS
- scolor = ((unsigned int) (sline[0])
- | ((unsigned int) (sline[1]) << 8)
- | ((unsigned int) (sline[2]) << 16));
+ scolor = ((unsigned int)(sline[0])
+ | ((unsigned int)(sline[1]) << 8)
+ | ((unsigned int)(sline[2]) << 16));
#else
- scolor = ((unsigned int) (((unsigned short*) sline)[0])
- | ((unsigned int) (sline[2]) << 16));
+ scolor = ((unsigned int)(((unsigned short *)sline)[0])
+ | ((unsigned int)(sline[2]) << 16));
#endif
- if (scolor != MASK_COLOR_24)
- {
- r2 += MUL (getr24 (scolor), sx2f);
- g2 += MUL (getg24 (scolor), sx2f);
- b2 += MUL (getb24 (scolor), sx2f);
- }
- else
- t2 += sx2f;
- }
+ if (scolor != MASK_COLOR_24) {
+ r2 += MUL(getr24(scolor), sx2f);
+ g2 += MUL(getg24(scolor), sx2f);
+ b2 += MUL(getb24(scolor), sx2f);
+ } else
+ t2 += sx2f;
+ }
- r1 += MUL (r2, sy2f);
- g1 += MUL (g2, sy2f);
- b1 += MUL (b2, sy2f);
- t1 += MUL (t2, sy2f);
- }
-
- if (_num >= (2 * t1))
- {
- if (_num == (aa_SIZE * aa_SIZE))
- {
- _aa.r = r1 >> (2 * aa_BITS);
- _aa.g = g1 >> (2 * aa_BITS);
- _aa.b = b1 >> (2 * aa_BITS);
+ r1 += MUL(r2, sy2f);
+ g1 += MUL(g2, sy2f);
+ b1 += MUL(b2, sy2f);
+ t1 += MUL(t2, sy2f);
}
- else
- {
- _aa.r = r1 / _num;
- _aa.g = g1 / _num;
- _aa.b = b1 / _num;
- }
- _aa.transparent = 0;
- }
- else
- _aa.transparent = 1;
+
+ if (_num >= (2 * t1)) {
+ if (_num == (aa_SIZE * aa_SIZE)) {
+ _aa.r = r1 >> (2 * aa_BITS);
+ _aa.g = g1 >> (2 * aa_BITS);
+ _aa.b = b1 >> (2 * aa_BITS);
+ } else {
+ _aa.r = r1 / _num;
+ _aa.g = g1 / _num;
+ _aa.b = b1 / _num;
+ }
+ _aa.transparent = 0;
+ } else
+ _aa.transparent = 1;
}
#endif
+
#ifdef ALLEGRO_COLOR32
-void
-_aa_masked_add_rgb32 (BITMAP *_src, int _sx1, int _sx2, int _sy1, int _sy2, unsigned long _num)
-{
- unsigned int *sline;
- int sx, sx1i, sx1f, sx2i, sx2f;
- int sy, sy1i, sy1f, sy2i, sy2f;
- unsigned int r1, g1, b1, t1;
- unsigned int r2, g2, b2, t2;
- unsigned int scolor;
-
- sy1i = _sy1 >> aa_BITS;
- sy = sy1i;
-
- /* First line. */
- sx1i = _sx1 >> aa_BITS;
- sx = sx1i;
- sline = (unsigned int*) (_src->line[sy]) + sx;
-
- sx1f = aa_SIZE - (_sx1 & aa_MASK);
- scolor = *sline;
- if (scolor != MASK_COLOR_32)
- {
- r1 = MUL (getr32 (scolor), sx1f);
- g1 = MUL (getg32 (scolor), sx1f);
- b1 = MUL (getb32 (scolor), sx1f);
- t1 = 0;
- }
- else
- {
- r1 = g1 = b1 = 0;
- t1 = sx1f;
- }
-
- sx2i = _sx2 >> aa_BITS;
- for (sline++, sx++; sx < sx2i; sline++, sx++)
- {
- scolor = *sline;
- if (scolor != MASK_COLOR_32)
- {
- r1 += getr32 (scolor) << aa_BITS;
- g1 += getg32 (scolor) << aa_BITS;
- b1 += getb32 (scolor) << aa_BITS;
- }
- else
- t1 += aa_SIZE;
- }
-
- sx2f = _sx2 & aa_MASK;
- if (sx2f != 0)
- {
- scolor = *sline;
- if (scolor != MASK_COLOR_32)
- {
- r1 += MUL (getr32 (scolor), sx2f);
- g1 += MUL (getg32 (scolor), sx2f);
- b1 += MUL (getb32 (scolor), sx2f);
- }
- else
- t1 += sx2f;
- }
-
- sy1f = aa_SIZE - (_sy1 & aa_MASK);
- r1 = MUL (r1, sy1f);
- g1 = MUL (g1, sy1f);
- b1 = MUL (b1, sy1f);
- t1 = MUL (t1, sy1f);
-
- /* Middle lines. */
- sy2i = _sy2 >> aa_BITS;
- if (++sy < sy2i)
- {
- r2 = g2 = b2 = t2 = 0;
- do
- {
- sx = sx1i;
- sline = (unsigned int*) (_src->line[sy]) + sx;
-
- scolor = *sline;
- if (scolor != MASK_COLOR_32)
- {
- r2 += MUL (getr32 (scolor), sx1f);
- g2 += MUL (getg32 (scolor), sx1f);
- b2 += MUL (getb32 (scolor), sx1f);
- }
- else
- t2 += sx1f;
-
- for (sline++, sx++; sx < sx2i; sline++, sx++)
- {
- scolor = *sline;
- if (scolor != MASK_COLOR_32)
- {
- r2 += getr32 (scolor) << aa_BITS;
- g2 += getg32 (scolor) << aa_BITS;
- b2 += getb32 (scolor) << aa_BITS;
- }
- else
- t2 += aa_SIZE;
- }
-
- if (sx2f != 0)
- {
- scolor = *sline;
- if (scolor != MASK_COLOR_32)
- {
- r2 += MUL (getr32 (scolor), sx2f);
- g2 += MUL (getg32 (scolor), sx2f);
- b2 += MUL (getb32 (scolor), sx2f);
- }
- else
- t2 += sx2f;
- }
- }
- while (++sy < sy2i);
-
- r1 += r2 << aa_BITS;
- g1 += g2 << aa_BITS;
- b1 += b2 << aa_BITS;
- t1 += t2 << aa_BITS;
- }
-
- /* Last line. */
- sy2f = _sy2 & aa_MASK;
- if (sy2f != 0)
- {
- sx = sx1i;
- sline = (unsigned int*) (_src->line[sy]) + sx;
-
- scolor = *sline;
- if (scolor != MASK_COLOR_32)
- {
- r2 = MUL (getr32 (scolor), sx1f);
- g2 = MUL (getg32 (scolor), sx1f);
- b2 = MUL (getb32 (scolor), sx1f);
- t2 = 0;
- }
- else
- {
- r2 = g2 = b2 = 0;
- t2 = sx1f;
+void _aa_masked_add_rgb32(BITMAP *_src, int _sx1, int _sx2, int _sy1, int _sy2, unsigned long _num) {
+ unsigned int *sline;
+ int sx, sx1i, sx1f, sx2i, sx2f;
+ int sy, sy1i, sy1f, sy2i, sy2f;
+ unsigned int r1, g1, b1, t1;
+ unsigned int r2, g2, b2, t2;
+ unsigned int scolor;
+
+ sy1i = _sy1 >> aa_BITS;
+ sy = sy1i;
+
+ /* First line. */
+ sx1i = _sx1 >> aa_BITS;
+ sx = sx1i;
+ sline = (unsigned int *)(_src->line[sy]) + sx;
+
+ sx1f = aa_SIZE - (_sx1 & aa_MASK);
+ scolor = *sline;
+ if (scolor != MASK_COLOR_32) {
+ r1 = MUL(getr32(scolor), sx1f);
+ g1 = MUL(getg32(scolor), sx1f);
+ b1 = MUL(getb32(scolor), sx1f);
+ t1 = 0;
+ } else {
+ r1 = g1 = b1 = 0;
+ t1 = sx1f;
}
- for (sline++, sx++; sx < sx2i; sline++, sx++)
- {
- scolor = *sline;
- if (scolor != MASK_COLOR_32)
- {
- r2 += getr32 (scolor) << aa_BITS;
- g2 += getg32 (scolor) << aa_BITS;
- b2 += getb32 (scolor) << aa_BITS;
- }
- else
- t2 += aa_SIZE;
+ sx2i = _sx2 >> aa_BITS;
+ for (sline++, sx++; sx < sx2i; sline++, sx++) {
+ scolor = *sline;
+ if (scolor != MASK_COLOR_32) {
+ r1 += getr32(scolor) << aa_BITS;
+ g1 += getg32(scolor) << aa_BITS;
+ b1 += getb32(scolor) << aa_BITS;
+ } else
+ t1 += aa_SIZE;
}
- if (sx2f != 0)
- {
- scolor = *sline;
- if (scolor != MASK_COLOR_32)
- {
- r2 += MUL (getr32 (scolor), sx2f);
- g2 += MUL (getg32 (scolor), sx2f);
- b2 += MUL (getb32 (scolor), sx2f);
- }
- else
- t2 += sx2f;
+ sx2f = _sx2 & aa_MASK;
+ if (sx2f != 0) {
+ scolor = *sline;
+ if (scolor != MASK_COLOR_32) {
+ r1 += MUL(getr32(scolor), sx2f);
+ g1 += MUL(getg32(scolor), sx2f);
+ b1 += MUL(getb32(scolor), sx2f);
+ } else
+ t1 += sx2f;
}
- r1 += MUL (r2, sy2f);
- g1 += MUL (g2, sy2f);
- b1 += MUL (b2, sy2f);
- t1 += MUL (t2, sy2f);
- }
-
- if (_num >= (2 * t1))
- {
- if (_num == (aa_SIZE * aa_SIZE))
- {
- _aa.r = r1 >> (2 * aa_BITS);
- _aa.g = g1 >> (2 * aa_BITS);
- _aa.b = b1 >> (2 * aa_BITS);
+ sy1f = aa_SIZE - (_sy1 & aa_MASK);
+ r1 = MUL(r1, sy1f);
+ g1 = MUL(g1, sy1f);
+ b1 = MUL(b1, sy1f);
+ t1 = MUL(t1, sy1f);
+
+ /* Middle lines. */
+ sy2i = _sy2 >> aa_BITS;
+ if (++sy < sy2i) {
+ r2 = g2 = b2 = t2 = 0;
+ do {
+ sx = sx1i;
+ sline = (unsigned int *)(_src->line[sy]) + sx;
+
+ scolor = *sline;
+ if (scolor != MASK_COLOR_32) {
+ r2 += MUL(getr32(scolor), sx1f);
+ g2 += MUL(getg32(scolor), sx1f);
+ b2 += MUL(getb32(scolor), sx1f);
+ } else
+ t2 += sx1f;
+
+ for (sline++, sx++; sx < sx2i; sline++, sx++) {
+ scolor = *sline;
+ if (scolor != MASK_COLOR_32) {
+ r2 += getr32(scolor) << aa_BITS;
+ g2 += getg32(scolor) << aa_BITS;
+ b2 += getb32(scolor) << aa_BITS;
+ } else
+ t2 += aa_SIZE;
+ }
+
+ if (sx2f != 0) {
+ scolor = *sline;
+ if (scolor != MASK_COLOR_32) {
+ r2 += MUL(getr32(scolor), sx2f);
+ g2 += MUL(getg32(scolor), sx2f);
+ b2 += MUL(getb32(scolor), sx2f);
+ } else
+ t2 += sx2f;
+ }
+ } while (++sy < sy2i);
+
+ r1 += r2 << aa_BITS;
+ g1 += g2 << aa_BITS;
+ b1 += b2 << aa_BITS;
+ t1 += t2 << aa_BITS;
}
- else
- {
- _aa.r = r1 / _num;
- _aa.g = g1 / _num;
- _aa.b = b1 / _num;
+
+ /* Last line. */
+ sy2f = _sy2 & aa_MASK;
+ if (sy2f != 0) {
+ sx = sx1i;
+ sline = (unsigned int *)(_src->line[sy]) + sx;
+
+ scolor = *sline;
+ if (scolor != MASK_COLOR_32) {
+ r2 = MUL(getr32(scolor), sx1f);
+ g2 = MUL(getg32(scolor), sx1f);
+ b2 = MUL(getb32(scolor), sx1f);
+ t2 = 0;
+ } else {
+ r2 = g2 = b2 = 0;
+ t2 = sx1f;
+ }
+
+ for (sline++, sx++; sx < sx2i; sline++, sx++) {
+ scolor = *sline;
+ if (scolor != MASK_COLOR_32) {
+ r2 += getr32(scolor) << aa_BITS;
+ g2 += getg32(scolor) << aa_BITS;
+ b2 += getb32(scolor) << aa_BITS;
+ } else
+ t2 += aa_SIZE;
+ }
+
+ if (sx2f != 0) {
+ scolor = *sline;
+ if (scolor != MASK_COLOR_32) {
+ r2 += MUL(getr32(scolor), sx2f);
+ g2 += MUL(getg32(scolor), sx2f);
+ b2 += MUL(getb32(scolor), sx2f);
+ } else
+ t2 += sx2f;
+ }
+
+ r1 += MUL(r2, sy2f);
+ g1 += MUL(g2, sy2f);
+ b1 += MUL(b2, sy2f);
+ t1 += MUL(t2, sy2f);
}
- _aa.transparent = 0;
- }
- else
- _aa.transparent = 1;
+
+ if (_num >= (2 * t1)) {
+ if (_num == (aa_SIZE * aa_SIZE)) {
+ _aa.r = r1 >> (2 * aa_BITS);
+ _aa.g = g1 >> (2 * aa_BITS);
+ _aa.b = b1 >> (2 * aa_BITS);
+ } else {
+ _aa.r = r1 / _num;
+ _aa.g = g1 / _num;
+ _aa.b = b1 / _num;
+ }
+ _aa.transparent = 0;
+ } else
+ _aa.transparent = 1;
}
#endif
/*
* Putting pixel to destination bitmap.
*/
-void
-_aa_masked_put_rgb8(byte *addr, int _x)
-{
- if (!_aa.transparent)
- bmp_write8(addr + _x, makecol8 (_aa.r, _aa.g, _aa.b));
+void _aa_masked_put_rgb8(byte *addr, int _x) {
+ if (!_aa.transparent)
+ bmp_write8(addr + _x, makecol8(_aa.r, _aa.g, _aa.b));
}
+
#ifdef ALLEGRO_COLOR16
-void
-_aa_masked_put_rgb15 (byte *addr, int _x)
-{
- if (!_aa.transparent)
- bmp_write15 (addr + sizeof (short) * _x, makecol15 (_aa.r, _aa.g, _aa.b));
+void _aa_masked_put_rgb15(byte *addr, int _x) {
+ if (!_aa.transparent)
+ bmp_write15(addr + sizeof(short) * _x, makecol15(_aa.r, _aa.g, _aa.b));
}
-void
-_aa_masked_put_rgb16 (byte *addr, int _x)
-{
- if (!_aa.transparent)
- bmp_write16 (addr + sizeof (short) * _x, makecol16 (_aa.r, _aa.g, _aa.b));
+
+void _aa_masked_put_rgb16(byte *addr, int _x) {
+ if (!_aa.transparent)
+ bmp_write16(addr + sizeof(short) * _x, makecol16(_aa.r, _aa.g, _aa.b));
}
#endif
+
#ifdef ALLEGRO_COLOR24
-void
-_aa_masked_put_rgb24 (byte *addr, int _x)
-{
+void _aa_masked_put_rgb24 (byte *addr, int _x) {
if (!_aa.transparent)
bmp_write24 (addr + 3 * _x, makecol24 (_aa.r, _aa.g, _aa.b));
}
#endif
+
#ifdef ALLEGRO_COLOR32
-void
-_aa_masked_put_rgb32 (byte *addr, int _x)
-{
- if (!_aa.transparent)
- bmp_write32 (addr + sizeof (int) * _x, makecol32 (_aa.r, _aa.g, _aa.b));
+void _aa_masked_put_rgb32(byte *addr, int _x) {
+ if (!_aa.transparent)
+ bmp_write32(addr + sizeof(int) * _x, makecol32(_aa.r, _aa.g, _aa.b));
}
-
#endif
} // namespace AGS3
diff --git a/engines/ags/lib/hq2x/hq2x3x.cpp b/engines/ags/lib/hq2x/hq2x3x.cpp
index 0129ff67ea..190ad3da53 100644
--- a/engines/ags/lib/hq2x/hq2x3x.cpp
+++ b/engines/ags/lib/hq2x/hq2x3x.cpp
@@ -27,12 +27,12 @@ namespace AGS3 {
static int LUT16to32[65536];
static int RGBtoYUV[65536];
static int YUV1, YUV2;
-const int Ymask = 0x00FF0000;
-const int Umask = 0x0000FF00;
-const int Vmask = 0x000000FF;
-const int trY = 0x00300000;
-const int trU = 0x00000700;
-const int trV = 0x00000006;
+static const int Ymask = 0x00FF0000;
+static const int Umask = 0x0000FF00;
+static const int Vmask = 0x000000FF;
+static const int trY = 0x00300000;
+static const int trU = 0x00000700;
+static const int trV = 0x00000006;
inline void Interp1(unsigned char *pc, int c1, int c2) {
*((int *)pc) = (c1 * 3 + c2) >> 2;
Commit: fa940bec1086a7becd0d629c2a98a2f362f4f638
https://github.com/scummvm/scummvm/commit/fa940bec1086a7becd0d629c2a98a2f362f4f638
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2021-03-06T20:44:07-08:00
Commit Message:
AGS: Added detection entries
Changed paths:
engines/ags/detection_tables.h
diff --git a/engines/ags/detection_tables.h b/engines/ags/detection_tables.h
index 362b6f1110..6ce07f5dac 100644
--- a/engines/ags/detection_tables.h
+++ b/engines/ags/detection_tables.h
@@ -802,6 +802,7 @@ const PlainGameDescriptor GAME_NAMES[] = {
{ "lostanswers", "Lost Answers" },
{ "lostinparadise", "Lost In Paradise" },
{ "lostinthenightmare", "Lost In The Nightmare" },
+ { "lostinthetomb", "Lost In The Tomb" },
{ "lostinthewoods", "Lost In The Woods" },
{ "lucidlucy", "LUCID LUCY" },
{ "lucylavender", "Lucy Lavender" },
@@ -1221,6 +1222,7 @@ const PlainGameDescriptor GAME_NAMES[] = {
{ "thebar", "The Bar" },
{ "thebrokenbrain", "The Broken Brain" },
{ "thebunker", "The Bunker" },
+ { "theburn", "The Burn" },
{ "thecadaversynod", "The cadaver synod" },
{ "thecan", "The Can" },
{ "thecell", "The Cell" },
@@ -1597,6 +1599,7 @@ const AGSGameDescription GAME_DESCRIPTIONS[] = {
GAME_ENTRY("sq2vga", "sq2vga.exe", "bdaf20d9779c01986d6d8b7e1d6118ee", 106094482), // 1.0
GAME_ENTRY("sq2vga", "sq2vga.exe", "bdaf20d9779c01986d6d8b7e1d6118ee", 117200044), // 1.1
GAME_ENTRY("sq2vga", "sq2vga_v2.exe", "28a946e8a278814362613f8600375438", 177645020), // 2.0
+ GAME_ENTRY("sq2vga", "SQ2VGA_V2.ags", "b3026b025c640a5c6164274034a6bab9", 175145932), // Linux
// Commercial games
GAME_ENTRY("alemmo", "al-emmo.exe", "ff22fd118f18eca884dc7ed2a5be3877", 19045178), // Steam
@@ -1713,6 +1716,7 @@ const AGSGameDescription GAME_DESCRIPTIONS[] = {
GAME_ENTRY("qfi", "agsgame.dat", "9efb669ada4b685f9a5a91ce161424a7", 532694795), // Linux Groupees
GAME_ENTRY("qfi", "agsgame.dat", "2a0ba29e479ca5aa8c6b4233f030e78f", 536391599),
GAME_ENTRY("qfi", "agsgame.dat", "2a0ba29e479ca5aa8c6b4233f030e78f", 536513114), // Steam Linux
+ GAME_ENTRY("qfi", "qfi.exe", "8a7bc4f9ef0e6b0a5b01d3e4d5d5ee7d", 534881961),
GAME_ENTRY("resonance", "resonance.exe", "2e635c22bcbf0ed3d46f1bcde71812d4", 849404957), // GOG
GAME_ENTRY("resonance", "resonance.exe", "2e635c22bcbf0ed3d46f1bcde71812d4", 849410915), // Steam
GAME_ENTRY("richardandalice", "richardandalice.exe", "1023d348f67ba958f78ed62d029565c7", 109164768), // Steam
@@ -2427,6 +2431,7 @@ const AGSGameDescription GAME_DESCRIPTIONS[] = {
GAME_ENTRY("lostinparadise", "2paradise.exe", "06a03fe35791b0578068ab1873455463", 37279978),
GAME_ENTRY("lostinthenightmare", "litn.exe", "0710e2ec71042617f565c01824f0cf3c", 5492994),
GAME_ENTRY("lostinthenightmare", "litn.exe", "0710e2ec71042617f565c01824f0cf3c", 5493239),
+ GAME_ENTRY("lostinthetomb", "PaperKubik.exe", "33c2a53cb4a4ae48787d42980852047b", 2659023),
GAME_ENTRY("lostinthewoods", "LITW.exe", "00328f4f1e7729144483107b96b11df8", 55203461),
GAME_ENTRY("lucidlucy", "LUCID LUCY.exe", "655363c390c7ae7225c237108edf50b7", 182038828),
GAME_ENTRY("lucylavender", "Lucy.exe", "c87aa6377abc18c1a1b2968ae6db08eb", 7944054),
@@ -2857,6 +2862,7 @@ const AGSGameDescription GAME_DESCRIPTIONS[] = {
GAME_ENTRY("thebar", "one room game.exe", "465f972675db2da6040518221af5b0ba", 11660587),
GAME_ENTRY("thebrokenbrain", "Brain.exe", "95b7dd55f6e15c8a2118856ed9fe8ff9", 1092293),
GAME_ENTRY("thebunker", "The Bunker.exe", "3b7cceb3e4bdb031dc5d8f290936e94b", 12391058),
+ GAME_ENTRY("theburn", "The Bum 1.04.exe", "0212ad5fd38d64f63c5d3f2f2a0f65ee", 28673515),
GAME_ENTRY("thecadaversynod", "The cadaver synod.exe", "36f44e064eab15e502caeb60fd09f52d", 37438749),
GAME_ENTRY("thecan", "TheCan.exe", "82da2565c456dcfb265ded6fe3189c0b", 72388782),
GAME_ENTRY("thecell", "Cell.exe", "0b7529a76f38283d6e850b8d56526fc1", 811527),
More information about the Scummvm-git-logs
mailing list