Previous 15994 Revisions Next

r5679 Thursday 10th September, 2009 at 21:12:44 UTC by Roberto Zandonà
[C64] fixed sprite priorities and collision (H.E.R.O. with no glitches)
[src/mess/video]vic6567.c

src/mess/video/vic6567.c
r5678r5679
17661766#define DrawGraphics \
17671767   if (draw_this_line == 0) \
17681768   { \
1769      ; \
1769      UINT16 p = vic2.graphic_x + HORIZONTALPOS; \
1770      fore_coll_buf[p + 7] = 0; \
1771      fore_coll_buf[p + 6] = 0; \
1772      fore_coll_buf[p + 5] = 0; \
1773      fore_coll_buf[p + 4] = 0; \
1774      fore_coll_buf[p + 3] = 0; \
1775      fore_coll_buf[p + 2] = 0; \
1776      fore_coll_buf[p + 1] = 0; \
1777      fore_coll_buf[p + 0] = 0; \
17701778   } \
17711779   else if (ud_border_on) \
17721780   { \
1781      UINT16 p = vic2.graphic_x + HORIZONTALPOS; \
1782      fore_coll_buf[p + 7] = 0; \
1783      fore_coll_buf[p + 6] = 0; \
1784      fore_coll_buf[p + 5] = 0; \
1785      fore_coll_buf[p + 4] = 0; \
1786      fore_coll_buf[p + 3] = 0; \
1787      fore_coll_buf[p + 2] = 0; \
1788      fore_coll_buf[p + 1] = 0; \
1789      fore_coll_buf[p + 0] = 0; \
17731790      DrawBackground; \
17741791   } \
17751792   else \
r5678r5679
19221939                           gfx_coll |= sbit; \
19231940                        } \
19241941                        if (plane0_l & 0x80000000) \
1925                           col = vic2.spritemulti[3]; \
1942                           col = vic2.spritemulti[3]; \
19261943                        else \
19271944                           col = color; \
19281945                     } \
r5678r5679
19341951                           { \
19351952                              gfx_coll |= sbit; \
19361953                           } \
1937                           col = vic2.spritemulti[1]; \
1954                           col = vic2.spritemulti[1]; \
19381955                        } \
19391956                        else \
19401957                           continue; \
r5678r5679
19661983                           gfx_coll |= sbit; \
19671984                        } \
19681985                        if (plane0_r & 0x80000000) \
1969                           col = vic2.spritemulti[3]; \
1986                           col = vic2.spritemulti[3]; \
19701987                        else \
19711988                           col = color; \
19721989                     } \
r5678r5679
21432160         SPRITE_COLL |= spr_coll; \
21442161      else \
21452162      { \
2146         SPRITE_COLL |= spr_coll; \
2147         vic2_set_interrupt(machine, 4); \
2163         SPRITE_COLL = spr_coll; \
2164         if (SPRITE_COLL) vic2_set_interrupt(machine, 4); \
21482165      } \
21492166      if (SPRITE_BG_COLL) \
21502167         SPRITE_BG_COLL |= gfx_coll; \
21512168      else \
21522169      { \
2153         SPRITE_BG_COLL |= gfx_coll; \
2154         vic2_set_interrupt(machine, 2); \
2170         SPRITE_BG_COLL = gfx_coll; \
2171         if (SPRITE_BG_COLL) vic2_set_interrupt(machine, 2); \
21552172      } \
21562173   }
21572174

Previous 15994 Revisions Next


© 1998-2018 The MESS Team