diff options
author | 2024-03-04 15:31:38 +0100 | |
---|---|---|
committer | 2024-03-05 01:31:38 +1100 | |
commit | 7db1458ca12b9ff77e0aefef2d85e14f1e75d8dd (patch) | |
tree | dbc049ecda7444b129c8b7cb65f4a2aabb568fbe /src/devices/video/epic12in.hxx | |
parent | bfef33bf93ff8256370c6d9149f6206f4f3beabf (diff) |
Moved Cave drivers and devices to atlus project and a new cave project. (#12090)
Diffstat (limited to 'src/devices/video/epic12in.hxx')
-rw-r--r-- | src/devices/video/epic12in.hxx | 155 |
1 files changed, 0 insertions, 155 deletions
diff --git a/src/devices/video/epic12in.hxx b/src/devices/video/epic12in.hxx deleted file mode 100644 index 23d6a07f65e..00000000000 --- a/src/devices/video/epic12in.hxx +++ /dev/null @@ -1,155 +0,0 @@ -// license:BSD-3-Clause -// copyright-holders:David Haywood -/* blitter function */ - -void epic12_device::FUNCNAME(BLIT_PARAMS) -{ - int yf; - -#if REALLY_SIMPLE == 0 - colour_t s_clr; -#endif - -#if BLENDED == 1 - colour_t d_clr; - -#if _SMODE == 2 -#if _DMODE != 0 - colour_t clr0; -#endif -#elif _SMODE == 0 -#if _DMODE != 0 -#if _DMODE != 5 -#if _DMODE != 1 - colour_t clr0; -#endif -#endif -#endif -#else - colour_t clr0; -#endif - -#endif - -#if REALLY_SIMPLE == 1 -#if TRANSPARENT == 1 - u32 pen; -#endif -#else - u32 pen; -#endif - u32 *bmp; - -#if FLIPX == 1 - src_x += (dimx-1); -#endif - - if (flipy) { yf = -1; src_y += (dimy-1); } - else { yf = +1; } - - int starty = 0; - const int dst_y_end = dst_y_start + dimy; - - if (dst_y_start < clip->min_y) - starty = clip->min_y - dst_y_start; - - if (dst_y_end > clip->max_y) - dimy -= (dst_y_end-1) - clip->max_y; - - // check things are safe to draw (note, if the source would wrap round an edge of the 0x2000*0x1000 vram we don't draw.. not sure what the hw does anyway) - // ddpdfk triggers this on boss explosions so it needs fixing -#if FLIPX == 1 - if ((src_x & 0x1fff) < ((src_x-(dimx-1)) & 0x1fff)) - { - // popmessage("sprite gets clipped off src_x %04x dimx %04x\n", src_x, dimx); - return; - } -#else - if ((src_x & 0x1fff) > ((src_x+(dimx-1)) & 0x1fff)) - { - // popmessage("sprite gets clipped off src_x %04x dimx %04x\n", src_x, dimx); - return; - } -#endif - - int startx = 0; - const int dst_x_end = dst_x_start + dimx; - - if (dst_x_start < clip->min_x) - startx = clip->min_x - dst_x_start; - - if (dst_x_end > clip->max_x) - dimx -= (dst_x_end-1) - clip->max_x; - -#if BLENDED == 1 -#if _SMODE == 0 -#if _DMODE == 0 - const u8* salpha_table = colrtable[s_alpha]; - const u8* dalpha_table = colrtable[d_alpha]; -#endif - -#if _DMODE == 5 - const u8* salpha_table = colrtable[s_alpha]; -#endif -#if _DMODE == 1 - const u8* salpha_table = colrtable[s_alpha]; -#endif - -#endif - -#if _SMODE == 2 -#if _DMODE == 0 - const u8* dalpha_table = colrtable[d_alpha]; -#endif -#endif -#endif - - for (int y = starty; y < dimy; y++) - { - bmp = &bitmap->pix(dst_y_start + y, dst_x_start+startx); - const int ysrc_index = ((src_y + yf * y) & 0x0fff) * 0x2000; - u32* gfx2 = gfx + ysrc_index; - - #if FLIPX == 1 - gfx2 += (src_x - startx); - #else - gfx2 += (src_x + startx); - #endif - -#if 1 - const u32* end = bmp + (dimx - startx); -#else - // maybe we can do some SSE type optimizations on larger blocks? right now this just results in more code and slower compiling tho. - - const int width = dimx-startx; - const u32* end = bmp+(width); - - if (width<0) return; - - int bigblocks = width>>3; - - while (bigblocks) - { - #include "epic12pixel.hxx" - #include "epic12pixel.hxx" - #include "epic12pixel.hxx" - #include "epic12pixel.hxx" - #include "epic12pixel.hxx" - #include "epic12pixel.hxx" - #include "epic12pixel.hxx" - #include "epic12pixel.hxx" - - bigblocks--; - } -#endif - while (bmp < end) - { - #include "epic12pixel.hxx" - } - - } - -// g_profiler.stop(); -} - -#undef LOOP_INCREMENTS |