Skip to content

Commit

Permalink
add missing sprite-to-playfield shadow effect [codefrog2002]
Browse files Browse the repository at this point in the history
  • Loading branch information
dinkc64 committed Dec 2, 2023
1 parent aa12054 commit 808330e
Showing 1 changed file with 10 additions and 4 deletions.
14 changes: 10 additions & 4 deletions src/burn/drv/atari/d_shuuz.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -457,10 +457,16 @@ static void sprite_copy()
if (mo[x] != 0xffff)
{
INT32 o13 = ((pf[x] & 0xf0) == 0xf0);

if ((!(pf[x] & 0x80) && ((mo[x] & 0xc0) != 0xc0) && ((mo[x] & 0x0e) != 0x00) && !o13) ||
((pf[x] & 0x80) && ((mo[x] & 0xc0) == 0xc0) && ((mo[x] & 0x0e) != 0x00) && !o13))
pf[x] = mo[x];
INT32 mopf = ((!(pf[x] & 0x80) && ((mo[x] & 0xc0) != 0xc0) && !o13) ||
((pf[x] & 0x80) && ((mo[x] & 0xc0) == 0xc0) && !o13));

if (mopf)
{
if ((mo[x] & 0x0e) != 0x00) // MO colors 2 to F are solid
pf[x] = mo[x];
else if ((mo[x] & 0x0f) == 0x1) // MO color 1 causes a shadow on the PF
pf[x] |= 0x200; // Game sets palette 300:3FF to shadowed values of palette 100:1FF
}

mo[x] = 0xffff;
}
Expand Down

0 comments on commit 808330e

Please sign in to comment.