trunk/src/mame/video/sega16sp.c
| r18170 | r18171 | |
| 209 | 209 | |
| 210 | 210 | // loop from top to bottom |
| 211 | 211 | int minx = xpos; |
| 212 | | int maxx = xpos; |
| 213 | | int miny = -1; |
| 214 | | int maxy = -1; |
| 212 | int maxx = cliprect.min_x - 1; |
| 213 | int miny = cliprect.max_y + 1; |
| 214 | int maxy = cliprect.min_y - 1; |
| 215 | 215 | for (int y = top; y < bottom; y++) |
| 216 | 216 | { |
| 217 | 217 | // advance a row |
| r18170 | r18171 | |
| 278 | 278 | |
| 279 | 279 | // update bounds |
| 280 | 280 | if (x > maxx) maxx = x; |
| 281 | | if (miny == -1) miny = y; |
| 281 | if (y < miny) miny = y; |
| 282 | 282 | maxy = y; |
| 283 | 283 | } |
| 284 | 284 | } |
| 285 | 285 | |
| 286 | 286 | // mark dirty |
| 287 | | if (miny != -1) |
| 287 | if (minx <= maxx && miny <= maxy) |
| 288 | 288 | mark_dirty(minx, maxx, miny, maxy); |
| 289 | 289 | } |
| 290 | 290 | } |
| r18170 | r18171 | |
| 388 | 388 | |
| 389 | 389 | // loop from top to bottom |
| 390 | 390 | int minx = xpos; |
| 391 | | int maxx = xpos; |
| 392 | | int miny = -1; |
| 393 | | int maxy = -1; |
| 391 | int maxx = cliprect.min_x - 1; |
| 392 | int miny = cliprect.max_y + 1; |
| 393 | int maxy = cliprect.min_y - 1; |
| 394 | 394 | for (int y = top; y < bottom; y++) |
| 395 | 395 | { |
| 396 | 396 | // advance a row |
| r18170 | r18171 | |
| 465 | 465 | |
| 466 | 466 | // update bounds |
| 467 | 467 | if (x > maxx) maxx = x; |
| 468 | | if (miny == -1) miny = y; |
| 468 | if (y < miny) miny = y; |
| 469 | 469 | maxy = y; |
| 470 | 470 | } |
| 471 | 471 | } |
| 472 | 472 | |
| 473 | 473 | // mark dirty |
| 474 | | if (miny != -1) |
| 474 | if (minx <= maxx && miny <= maxy) |
| 475 | 475 | mark_dirty(minx, maxx, miny, maxy); |
| 476 | 476 | } |
| 477 | 477 | } |
| r18170 | r18171 | |
| 576 | 576 | // loop from top to bottom |
| 577 | 577 | int minx = xpos; |
| 578 | 578 | int maxx = xpos; |
| 579 | | int miny = -1; |
| 580 | | int maxy = -1; |
| 579 | int miny = cliprect.max_y + 1; |
| 580 | int maxy = cliprect.min_y - 1; |
| 581 | 581 | for (int y = top; y < bottom; y++) |
| 582 | 582 | { |
| 583 | 583 | // advance a row |
| r18170 | r18171 | |
| 640 | 640 | // update bounds |
| 641 | 641 | if (x > maxx) maxx = x; |
| 642 | 642 | if (x < minx) minx = x; |
| 643 | | if (miny == -1) miny = y; |
| 643 | if (y < miny) miny = y; |
| 644 | 644 | maxy = y; |
| 645 | 645 | } |
| 646 | 646 | } |
| 647 | 647 | |
| 648 | 648 | // mark dirty |
| 649 | | if (miny != -1) |
| 649 | if (minx <= maxx && miny <= maxy) |
| 650 | 650 | mark_dirty(minx, maxx, miny, maxy); |
| 651 | 651 | } |
| 652 | 652 | } |
| r18170 | r18171 | |
| 758 | 758 | // loop from top to bottom |
| 759 | 759 | int minx = xpos; |
| 760 | 760 | int maxx = xpos; |
| 761 | | int miny = -1; |
| 762 | | int maxy = -1; |
| 761 | int miny = cliprect.max_y + 1; |
| 762 | int maxy = cliprect.min_y - 1; |
| 763 | 763 | for (int y = top; y < bottom; y++) |
| 764 | 764 | { |
| 765 | 765 | // skip drawing if not within the cliprect |
| r18170 | r18171 | |
| 819 | 819 | // update bounds |
| 820 | 820 | if (x > maxx) maxx = x; |
| 821 | 821 | if (x < minx) minx = x; |
| 822 | | if (miny == -1) miny = y; |
| 822 | if (y < miny) miny = y; |
| 823 | 823 | maxy = y; |
| 824 | 824 | } |
| 825 | 825 | |
| r18170 | r18171 | |
| 828 | 828 | } |
| 829 | 829 | |
| 830 | 830 | // mark dirty |
| 831 | | if (miny != -1) |
| 831 | if (minx <= maxx && miny <= maxy) |
| 832 | 832 | mark_dirty(minx, maxx, miny, maxy); |
| 833 | 833 | } |
| 834 | 834 | } |
| r18170 | r18171 | |
| 941 | 941 | // loop from top to bottom |
| 942 | 942 | int minx = xpos; |
| 943 | 943 | int maxx = xpos; |
| 944 | | int miny = -1; |
| 945 | | int maxy = -1; |
| 944 | int miny = cliprect.max_y + 1; |
| 945 | int maxy = cliprect.min_y - 1; |
| 946 | 946 | for (int y = top; y < bottom; y++) |
| 947 | 947 | { |
| 948 | 948 | // advance a row |
| r18170 | r18171 | |
| 1012 | 1012 | // update bounds |
| 1013 | 1013 | if (x > maxx) maxx = x; |
| 1014 | 1014 | if (x < minx) minx = x; |
| 1015 | | if (miny == -1) miny = y; |
| 1015 | if (y < miny) miny = y; |
| 1016 | 1016 | maxy = y; |
| 1017 | 1017 | } |
| 1018 | 1018 | } |
| 1019 | 1019 | |
| 1020 | 1020 | // mark dirty |
| 1021 | | if (miny != -1) |
| 1021 | if (minx <= maxx && miny <= maxy) |
| 1022 | 1022 | mark_dirty(minx, maxx, miny, maxy); |
| 1023 | 1023 | } |
| 1024 | 1024 | } |
| r18170 | r18171 | |
| 1150 | 1150 | // loop from top to bottom |
| 1151 | 1151 | int minx = xpos; |
| 1152 | 1152 | int maxx = xpos; |
| 1153 | | int miny = -1; |
| 1154 | | int maxy = -1; |
| 1153 | int miny = cliprect.max_y + 1; |
| 1154 | int maxy = cliprect.min_y - 1; |
| 1155 | 1155 | int yacc = 0; |
| 1156 | 1156 | int ytarget = top + ydelta * height; |
| 1157 | 1157 | for (int y = top; y != ytarget; y += ydelta) |
| r18170 | r18171 | |
| 1218 | 1218 | // update bounds |
| 1219 | 1219 | if (x > maxx) maxx = x; |
| 1220 | 1220 | if (x < minx) minx = x; |
| 1221 | | if (miny == -1) miny = y; |
| 1222 | | maxy = y; |
| 1221 | if (y < miny) miny = y; |
| 1222 | if (y > maxy) maxy = y; |
| 1223 | 1223 | } |
| 1224 | 1224 | |
| 1225 | 1225 | // accumulate zoom factors; if we carry into the high bit, skip an extra row |
| r18170 | r18171 | |
| 1229 | 1229 | } |
| 1230 | 1230 | |
| 1231 | 1231 | // mark dirty |
| 1232 | | if (miny != -1) |
| 1232 | if (minx <= maxx && miny <= maxy) |
| 1233 | 1233 | mark_dirty(minx, maxx, miny, maxy); |
| 1234 | 1234 | } |
| 1235 | 1235 | } |
| r18170 | r18171 | |
| 1340 | 1340 | // loop from top to bottom |
| 1341 | 1341 | int dminx = xpos; |
| 1342 | 1342 | int dmaxx = xpos; |
| 1343 | | int dminy = -1; |
| 1344 | | int dmaxy = -1; |
| 1343 | int dminy = cliprect.max_y + 1; |
| 1344 | int dmaxy = cliprect.min_y - 1; |
| 1345 | 1345 | int ytarget = top + ydelta * height; |
| 1346 | 1346 | int yacc = 0; |
| 1347 | 1347 | for (int y = top; y != ytarget; y += ydelta) |
| r18170 | r18171 | |
| 1443 | 1443 | // update bounds |
| 1444 | 1444 | if (x > dmaxx) dmaxx = x; |
| 1445 | 1445 | if (x < dminx) dminx = x; |
| 1446 | | if (dminy == -1) dminy = y; |
| 1447 | | dmaxy = y; |
| 1446 | if (y < dminy) dminy = y; |
| 1447 | if (y > dmaxy) dmaxy = y; |
| 1448 | 1448 | } |
| 1449 | 1449 | } |
| 1450 | 1450 | |
| r18170 | r18171 | |
| 1455 | 1455 | } |
| 1456 | 1456 | |
| 1457 | 1457 | // mark dirty |
| 1458 | | if (dminy != -1) |
| 1458 | if (dminx <= dmaxx && dminy <= dmaxy) |
| 1459 | 1459 | mark_dirty(dminx, dmaxx, dminy, dmaxy); |
| 1460 | 1460 | } |
| 1461 | 1461 | } |