/* new function just after scaleline2x */
void scaleline53x(void *dst, void *src, int width, int offset){
byte *t=tmpline+offset*fb.pelsize;
int tmpx, pixel1, pixel2;
tmpx=width+3;
while((tmpx-=3)>0){
MEMCPY(t, src, fb.pelsize);
MEMCPY(t+fb.pelsize, src, fb.pelsize);
t+=2*fb.pelsize;
src+=fb.pelsize;
MEMCPY(t, src, fb.pelsize);
MEMCPY(t+fb.pelsize, src, fb.pelsize);
t+=2*fb.pelsize;
src+=fb.pelsize;
MEMCPY(t, src, fb.pelsize);
t+=fb.pelsize;
src+=fb.pelsize;
}
//MEMCPY(dst, tmpline, 320*fb.pelsize);
MEMCPY(dst+offset*fb.pelsize, tmpline+offset*fb.pelsize, width*fb.pelsize*5/3+1);
}
/* switch() inside vid_init */
case vmode_fsasp://fullscreen, aspect ratio
fb.offset=0; fps_x=14; fps_y=0;
break;
case vmode_fs: // fullscreen
fb.offset=0; fps_x=fps_y=0;
break;
/* switch() inside vid_begin */
case vmode_fsasp:
tempy=144+3;
fs=fakescreen;
s=(void *)fb1_16bit;
while(tempy-=3){
scaleline53x(s, fs, 160, 27);
s+=320*fb.pelsize;
MEMCPY(s, s-320*fb.pelsize, 320*fb.pelsize);
s+=320*fb.pelsize;
fs+=fb.pitch;
scaleline53x(s, fs, 160, 27);
s+=320*fb.pelsize;
MEMCPY(s, s-320*fb.pelsize, 320*fb.pelsize);
s+=320*fb.pelsize;
fs+=fb.pitch;
scaleline53x(s, fs, 160, 27);
s+=320*fb.pelsize;
fs+=fb.pitch;
}
break;
case vmode_fs:
tempy=144+3;
fs=fakescreen;
s=(void *)fb1_16bit;
while(tempy-=3){
scaleline2x(s, fs);
s+=320*fb.pelsize;
MEMCPY(s, s-320*fb.pelsize, 320*fb.pelsize);
s+=320*fb.pelsize;
fs+=fb.pitch;
scaleline2x(s, fs);
s+=320*fb.pelsize;
MEMCPY(s, s-320*fb.pelsize, 320*fb.pelsize);
s+=320*fb.pelsize;
fs+=fb.pitch;
scaleline2x(s, fs);
s+=320*fb.pelsize;
fs+=fb.pitch;
}
break;