games/snes: small mode 7 fix

This commit is contained in:
aiju 2014-03-15 22:27:14 +01:00
parent 744f038e86
commit 74778941ed

View file

@ -366,8 +366,11 @@ bg7init(int n)
if(p->msz != 1) if(p->msz != 1)
y -= y % p->msz; y -= y % p->msz;
} }
if(n == 1 && (reg[MOSAIC] & 2) != 0) if(n == 1)
p->msz = (reg[MOSAIC] >> 4) + 1; if((reg[MOSAIC] & 2) != 0)
p->msz = (reg[MOSAIC] >> 4) + 1;
else
p->msz = 1;
if((m & 2) != 0) if((m & 2) != 0)
y = 255 - y; y = 255 - y;
p->x = b7->x0 + ((m7[M7B] * y) & ~63); p->x = b7->x0 + ((m7[M7B] * y) & ~63);
@ -412,12 +415,13 @@ end:
if(++p->mx == p->msz) if(++p->mx == p->msz)
p->mx = 0; p->mx = 0;
} }
if(n == 1) if(n == 1){
if((v & 0x80) != 0) if((v & 0x7f) != 0)
pixel(1, v & 0x7f, 0x71); if((v & 0x80) != 0)
else pixel(1, v & 0x7f, 0x71);
pixel(1, v, 0x11); else
else pixel(1, v, 0x11);
}else if(v != 0)
pixel(0, v, 0x40); pixel(0, v, 0x40);
if((m & 1) != 0){ if((m & 1) != 0){
p->x -= m7[M7A]; p->x -= m7[M7A];