Fix k053247 sprite flipping. (Fixes sprites at end of Xexex)
Fix line scrolling in k056832 (optimizations were a bit too optimistic :( )
This commit is contained in:
parent
6b2d9996c0
commit
44ddd1deae
|
@ -477,23 +477,23 @@ void K053247SpritesRender()
|
|||
|
||||
if (shadow || wtable == stable) {
|
||||
if (mirrory && h == 1)
|
||||
konami_render_zoom_shadow_tile(gfxbase, c, nBpp, color, sx, sy, flipx, !flipy, 16, 16, zw << 12, zh << 12, primask, highlight);
|
||||
konami_render_zoom_shadow_tile(gfxbase, c, nBpp, color, sx, sy, fx, !fy, 16, 16, zw << 12, zh << 12, primask, highlight);
|
||||
|
||||
konami_render_zoom_shadow_tile(gfxbase, c, nBpp, color, sx, sy, flipx, flipy, 16, 16, zw << 12, zh << 12, primask, highlight);
|
||||
konami_render_zoom_shadow_tile(gfxbase, c, nBpp, color, sx, sy, fx, fy, 16, 16, zw << 12, zh << 12, primask, highlight);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (mirrory && h == 1)
|
||||
{
|
||||
if (nozoom) {
|
||||
konami_draw_16x16_prio_tile(gfxbase, c, nBpp, color, sx, sy, flipx, !flipy, primask);
|
||||
konami_draw_16x16_prio_tile(gfxbase, c, nBpp, color, sx, sy, fx, !fy, primask);
|
||||
} else {
|
||||
konami_draw_16x16_priozoom_tile(gfxbase, c, nBpp, color, 0, sx, sy, fx, !fy, 16, 16, zw<<12, zh<<12, primask);
|
||||
}
|
||||
}
|
||||
|
||||
if (nozoom) {
|
||||
konami_draw_16x16_prio_tile(gfxbase, c, nBpp, color, sx, sy, flipx, flipy, primask);
|
||||
konami_draw_16x16_prio_tile(gfxbase, c, nBpp, color, sx, sy, fx, fy, primask);
|
||||
} else {
|
||||
konami_draw_16x16_priozoom_tile(gfxbase, c, nBpp, color, 0, sx, sy, fx, fy, 16, 16, zw<<12, zh<<12, primask);
|
||||
}
|
||||
|
|
|
@ -516,38 +516,6 @@ static void draw_layer_internal(INT32 layer, INT32 pageIndex, INT32 *clip, INT32
|
|||
UINT8 *pri = konami_priority_bitmap + ((sy - CLIP_MINY) * nScreenWidth) - CLIP_MINX;
|
||||
UINT32 *dst = konami_bitmap32 + ((sy - CLIP_MINY) * nScreenWidth) - CLIP_MINX;
|
||||
|
||||
// not clipped
|
||||
if (sy >= CLIP_MINY && sy < ((nScreenHeight - 7) + CLIP_MINY) && sx >= CLIP_MINX && sx < ((nScreenWidth - 7) + CLIP_MINX))
|
||||
{
|
||||
if (alpha_enable) {
|
||||
for (INT32 iy = 0; iy < 8; iy++, dst += nScreenWidth, pri += nScreenWidth) {
|
||||
for (INT32 ix = 0; ix < 8; ix++) {
|
||||
INT32 xx = sx+ix;
|
||||
|
||||
INT32 pxl = rom[((iy*8)+ix)^flip_tile];
|
||||
|
||||
if (pxl || opaque) {
|
||||
dst[xx] = alpha_blend(dst[xx], pal[pxl], alpha);
|
||||
pri[xx] = priority;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for (INT32 iy = 0; iy < 8; iy++, dst += nScreenWidth, pri += nScreenWidth) {
|
||||
for (INT32 ix = 0; ix < 8; ix++) {
|
||||
INT32 xx = sx+ix;
|
||||
|
||||
INT32 pxl = rom[((iy*8)+ix)^flip_tile];
|
||||
|
||||
if (pxl || opaque) {
|
||||
dst[xx] = pal[pxl];
|
||||
pri[xx] = priority;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else // clipped
|
||||
{
|
||||
if (alpha_enable) {
|
||||
for (INT32 iy = 0; iy < 8; iy++, dst += nScreenWidth, pri += nScreenWidth) {
|
||||
|
|
Loading…
Reference in New Issue