trunk/src/mame/drivers/coolridr.c
r22002 | r22003 | |
1097 | 1097 | #define DO_XCLIP_REAL \ |
1098 | 1098 | if (drawx>clipmaxX) { break; } \ |
1099 | 1099 | if (drawx<clipminX) { drawx++; continue; } |
1100 | | #define DO_XCLIP_NONE |
1101 | 1100 | |
| 1101 | #define DO_XCLIP_NONE \ |
| 1102 | { \ |
| 1103 | } |
| 1104 | |
| 1105 | |
1102 | 1106 | #define GET_CURRENT_LINESCROLLZOOM \ |
1103 | 1107 | UINT32 dword = object->indirect_zoom[v*16+realy]; \ |
1104 | | UINT16 hZoomTable = hZoom + (dword>>16); \ |
| 1108 | UINT16 hZoomHere = hZoom + (dword>>16); \ |
1105 | 1109 | /* bit 0x8000 does get set too, but only on some lines, might have another meaning? */ \ |
1106 | 1110 | int linescroll = dword&0x7fff; \ |
1107 | 1111 | if (linescroll & 0x4000) linescroll -= 0x8000; \ |
r22002 | r22003 | |
1135 | 1139 | { \ |
1136 | 1140 | int realy = ((y*incy)>>21); \ |
1137 | 1141 | GET_CURRENT_LINESCROLLZOOM \ |
1138 | | UINT16 hZoomHere = hZoomTable; \ |
1139 | 1142 | if (!hZoomHere) { drawy++; continue; } \ |
1140 | 1143 | const int pixelOffsetX = ((hPositionTable) + (h* 16 * hZoomHere)) / 0x40; \ |
1141 | 1144 | const int pixelOffsetnextX = ((hPositionTable) + ((h+1)* 16 * hZoomHere)) / 0x40; \ |