Fixed scanlines not showing up on TVEMU only, which uses CopyMixedSource() instead of CopySource() like the other video modes.
ghedger authored 7 years ago
T. Joseph Carter committed 4 years ago
275 | 275 | --bytesleft; |
276 | 276 | // GPH Provide scanlines for all but first couple of modes |
277 | 277 | // TODO: Optimize |
278 | if( ysize & 1 || VT_COLOR_STANDARD >= g_videotype ) | |
278 | if( ysize & 1 || VT_COLOR_TVEMU > g_videotype ) | |
279 | 279 | *(currdestptr+bytesleft) = *(currsourceptr+bytesleft); |
280 | 280 | else |
281 | 281 | *(currdestptr+bytesleft) = 0; |
285 | 285 | bytesleft -= 4; |
286 | 286 | // GPH Provide scanlines for all but first couple of modes |
287 | 287 | // TODO: Optimize |
288 | if( ysize & 1 || VT_COLOR_STANDARD >= g_videotype ) | |
288 | if( ysize & 1 || VT_COLOR_TVEMU > g_videotype ) | |
289 | 289 | *(LPDWORD)(currdestptr+bytesleft) = *(LPDWORD)(currsourceptr+bytesleft); |
290 | 290 | else |
291 | 291 | *(currdestptr+bytesleft) = 0; |
806 | 806 | |
807 | 807 | // GPH Provide scanlines for all but first couple of modes |
808 | 808 | // TODO: Optimize this |
809 | if( VT_COLOR_STANDARD >= g_videotype ) { | |
809 | if( VT_COLOR_TVEMU > g_videotype ) { | |
810 | 810 | SETSOURCEPIXEL(SRCOFFS_HIRES+coloffs+x+adj ,y+1,aColorIndex[color]); // BL |
811 | 811 | SETSOURCEPIXEL(SRCOFFS_HIRES+coloffs+x+adj+1,y+1,aColorIndex[color]); // BR |
812 | 812 | } else { |
1300 | 1300 | for (i = istart; |
1301 | 1301 | i <= iend; |
1302 | 1302 | currptr += framebufferpitch, i++) { // and vice versa |
1303 | *currptr = *(currptr+1) = colormixbuffer[i]; | |
1303 | if( ~i & 1 ) | |
1304 | *currptr = *(currptr+1) = colormixbuffer[i]; | |
1305 | else | |
1306 | *currptr = 0; | |
1307 | ||
1304 | 1308 | } |
1305 | 1309 | } |
1306 | 1310 | } |