Previous 199869 Revisions Next

r21003 Tuesday 12th February, 2013 at 21:54:19 UTC by Angelo Salese
Fixed window for sprites too
[src/emu/video]stvvdp2.c

trunk/src/emu/video/stvvdp2.c
r21002r21003
66306630   UINT8 sprite_priorities[8];
66316631   UINT8 sprite_ccr[8];
66326632   int sprite_color_mode = STV_VDP2_SPCLMD;
6633   rectangle mycliprect;
66346633
66356634   if ( (stv_sprite_priorities_usage_valid == 1) && (stv_sprite_priorities_used[pri] == 0) )
66366635      return;
r21002r21003
67126711                                 (STV_VDP2_SPW0A * 0x10) |
67136712                                 (STV_VDP2_SPW1A * 0x20) |
67146713                                 (STV_VDP2_SPSWA * 0x40);
6715   mycliprect = cliprect;
67166714
6717   stv_vdp2_apply_window_on_layer(mycliprect);
6715//   stv_vdp2_apply_window_on_layer(mycliprect);
67186716
67196717   if (interlace_framebuffer == 0 && double_x == 0 )
67206718   {
67216719      if ( alpha_enabled == 0 )
67226720      {
6723         for ( y = mycliprect.min_y; y <= mycliprect.max_y; y++ )
6721         for ( y = cliprect.min_y; y <= cliprect.max_y; y++ )
67246722         {
67256723            if ( stv_sprite_priorities_usage_valid )
67266724               if (stv_sprite_priorities_in_fb_line[y][pri] == 0)
r21002r21003
67296727            framebuffer_line = m_vdp1.framebuffer_display_lines[y];
67306728            bitmap_line = &bitmap.pix32(y);
67316729
6732            for ( x = mycliprect.min_x; x <= mycliprect.max_x; x++ )
6730            for ( x = cliprect.min_x; x <= cliprect.max_x; x++ )
67336731            {
6732               if(!stv_vdp2_window_process(x,y))
6733                  continue;
6734
67346735               pix = framebuffer_line[x];
67356736               if ( (pix & 0x8000) && sprite_color_mode)
67366737               {
r21002r21003
68006801      }
68016802      else //alpha_enabled == 1
68026803      {
6803         for ( y = mycliprect.min_y; y <= mycliprect.max_y; y++ )
6804         for ( y = cliprect.min_y; y <= cliprect.max_y; y++ )
68046805         {
68056806            if ( stv_sprite_priorities_usage_valid )
68066807               if (stv_sprite_priorities_in_fb_line[y][pri] == 0)
r21002r21003
68096810            framebuffer_line = m_vdp1.framebuffer_display_lines[y];
68106811            bitmap_line = &bitmap.pix32(y);
68116812
6812            for ( x = mycliprect.min_x; x <= mycliprect.max_x; x++ )
6813            for ( x = cliprect.min_x; x <= cliprect.max_x; x++ )
68136814            {
6815               if(!stv_vdp2_window_process(x,y))
6816                  continue;
6817
68146818               pix = framebuffer_line[x];
68156819               if ( (pix & 0x8000) && sprite_color_mode)
68166820               {
r21002r21003
69066910   }
69076911   else
69086912   {
6909      for ( y = mycliprect.min_y; y <= mycliprect.max_y / (interlace_framebuffer+1); y++ )
6913      for ( y = cliprect.min_y; y <= cliprect.max_y / (interlace_framebuffer+1); y++ )
69106914      {
69116915         if ( stv_sprite_priorities_usage_valid )
69126916            if (stv_sprite_priorities_in_fb_line[y][pri] == 0)
r21002r21003
69236927            bitmap_line2 = &bitmap.pix32(2*y + 1);
69246928         }
69256929
6926         for ( x = mycliprect.min_x; x <= mycliprect.max_x /(double_x+1) ; x++ )
6930         for ( x = cliprect.min_x; x <= cliprect.max_x /(double_x+1) ; x++ )
69276931         {
6932            if(!stv_vdp2_window_process(x,y))
6933               continue;
6934
69286935            pix = framebuffer_line[x];
69296936            if ( (pix & 0x8000) && sprite_color_mode)
69306937            {

Previous 199869 Revisions Next


© 1997-2024 The MAME Team