fix advmame scaler ('flickering', observable in e.g. Sam&Max, and the left-screen-border-black bug). Note: this change might look fishy to you but is perfectly legal because our frame buffers put a border around the screen data to accomodate for this

svn-id: r7556
This commit is contained in:
Max Horn 2003-05-16 00:11:35 +00:00
parent 9d7cd48dcc
commit d7ef626b42

View File

@ -726,9 +726,12 @@ void AdvMame2x(uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
uint16 G, H, I;
while (height--) {
B = C = *(p - nextlineSrc);
E = F = *(p);
H = I = *(p + nextlineSrc);
B = *(p - 1 - nextlineSrc);
E = *(p - 1);
H = *(p - 1 + nextlineSrc);
C = *(p - nextlineSrc);
F = *(p);
I = *(p + nextlineSrc);
for (int i = 0; i < width; ++i) {
p++;
A = B; B = C; C = *(p - nextlineSrc);
@ -759,9 +762,12 @@ void AdvMame3x(uint8 *srcPtr, uint32 srcPitch, uint8 *dstPtr, uint32 dstPitch,
uint16 G, H, I;
while (height--) {
B = C = *(p - nextlineSrc);
E = F = *(p);
H = I = *(p + nextlineSrc);
B = *(p - 1 - nextlineSrc);
E = *(p - 1);
H = *(p - 1 + nextlineSrc);
C = *(p - nextlineSrc);
F = *(p);
I = *(p + nextlineSrc);
for (int i = 0; i < width; ++i) {
p++;
A = B; B = C; C = *(p - nextlineSrc);