- Added some asserts to drawgfx and drawgfxzoom

- Moved some variable declerations so that they are only visible where they are actually used

Note that the diff is large only because I removed a level of indentation from a huge chunk of code.
I could do that because the case it was checking for was already caught by one of the asserts added.
This commit is contained in:
Zsolt Vasvari 2008-02-24 06:33:02 +00:00
parent 4c67395bc6
commit 51cae46fac

View File

@ -1340,13 +1340,11 @@ INLINE void common_drawgfxzoom( mame_bitmap *dest_bmp,const gfx_element *gfx,
const rectangle *clip,int transparency,int transparent_color,
int scalex, int scaley,mame_bitmap *pri_buffer,UINT32 pri_mask)
{
rectangle myclip;
/* verify arguments */
assert(dest_bmp != NULL);
assert(gfx != NULL);
UINT8 ah, al;
al = (pdrawgfx_shadow_lowpri) ? 0 : 0x80;
if (!scalex || !scaley) return;
if ((scalex == 0) || (scaley == 0)) return;
if (scalex == 0x10000 && scaley == 0x10000)
{
@ -1372,6 +1370,8 @@ INLINE void common_drawgfxzoom( mame_bitmap *dest_bmp,const gfx_element *gfx,
/* force clip to bitmap boundary */
if (clip)
{
rectangle myclip;
myclip.min_x = clip->min_x;
myclip.max_x = clip->max_x;
myclip.min_y = clip->min_y;
@ -1388,8 +1388,6 @@ INLINE void common_drawgfxzoom( mame_bitmap *dest_bmp,const gfx_element *gfx,
/* 8-bit destination bitmap */
if (dest_bmp->bpp == 8)
{
if( gfx )
{
UINT32 palbase = gfx->color_base + gfx->color_granularity * (color % gfx->total_colors);
UINT8 *source_base = gfx->gfxdata + (code % gfx->total_elements) * gfx->char_modulo;
@ -1409,7 +1407,7 @@ INLINE void common_drawgfxzoom( mame_bitmap *dest_bmp,const gfx_element *gfx,
int x_index_base;
int y_index;
if( flipx )
if (flipx )
{
x_index_base = (sprite_screen_width-1)*dx;
dx = -dx;
@ -1740,6 +1738,8 @@ INLINE void common_drawgfxzoom( mame_bitmap *dest_bmp,const gfx_element *gfx,
pen_t *palette_shadow_table = Machine->shadow_table;
if (pri_buffer)
{
UINT8 al = (pdrawgfx_shadow_lowpri) ? 0 : 0x80;
for( y=sy; y<ey; y++ )
{
UINT8 *source = source_base + (y_index>>16) * gfx->line_modulo;
@ -1810,12 +1810,9 @@ INLINE void common_drawgfxzoom( mame_bitmap *dest_bmp,const gfx_element *gfx,
}
}
}
}
/* 16-bit destination bitmap */
else if (dest_bmp->bpp == 16)
{
if( gfx )
{
const pen_t *pal = &Machine->pens[gfx->color_base + gfx->color_granularity * (color % gfx->total_colors)];
UINT8 *source_base = gfx->gfxdata + (code % gfx->total_elements) * gfx->char_modulo;
@ -2167,6 +2164,8 @@ INLINE void common_drawgfxzoom( mame_bitmap *dest_bmp,const gfx_element *gfx,
pen_t *palette_shadow_table = Machine->shadow_table;
if (pri_buffer)
{
UINT8 al = (pdrawgfx_shadow_lowpri) ? 0 : 0x80;
for( y=sy; y<ey; y++ )
{
UINT8 *source = source_base + (y_index>>16) * gfx->line_modulo;
@ -2179,6 +2178,8 @@ INLINE void common_drawgfxzoom( mame_bitmap *dest_bmp,const gfx_element *gfx,
int c = source[x_index>>16];
if( c != transparent_color )
{
UINT8 ah;
switch(gfx_drawmode_table[c])
{
case DRAWMODE_SOURCE:
@ -2344,12 +2345,9 @@ INLINE void common_drawgfxzoom( mame_bitmap *dest_bmp,const gfx_element *gfx,
}
}
}
}
/* 32-bit destination bitmap */
else
{
if( gfx )
{
const pen_t *pal = &Machine->pens[gfx->color_base + gfx->color_granularity * (color % gfx->total_colors)];
UINT8 *source_base = gfx->gfxdata + (code % gfx->total_elements) * gfx->char_modulo;
@ -2611,6 +2609,7 @@ INLINE void common_drawgfxzoom( mame_bitmap *dest_bmp,const gfx_element *gfx,
UINT8 *source, *pri;
UINT32 *dest;
int c, x, x_index;
UINT8 al, ah;
if (pri_buffer)
{
@ -2786,7 +2785,6 @@ INLINE void common_drawgfxzoom( mame_bitmap *dest_bmp,const gfx_element *gfx,
}
}
}
}
}
void drawgfxzoom( mame_bitmap *dest_bmp,const gfx_element *gfx,
@ -3766,6 +3764,9 @@ DECLARE(drawgfx_core,(
int ex;
int ey;
/* verify arguments */
assert(dest != NULL);
assert(gfx != NULL);
/* check bounds */
ox = sx;