|
|
1.1 root 1:
2: static int LNAME (int spix, int dpix, int stoppos)
3: {
4: TYPE *buf = ((TYPE *)xlinebuffer);
5: int offset;
6:
7: if (bplham && bplplanecnt == 6) {
8: /* HAM 6 */
9: while (dpix < stoppos) {
10: TYPE d = xcolors[ham_linebuf[spix]];
11: spix += SRC_INC;
12: buf[dpix++] = d;
13: if (HDOUBLE)
14: buf[dpix++] = d;
15: }
16: } else if (bpldualpf) {
17: /* Dual playfield */
18: int *lookup = bpldualpfpri ? dblpf_ind2 : dblpf_ind1;
19: while (dpix < stoppos) {
20: int pixcol = pixdata.apixels[spix];
21: TYPE d = colors_for_drawing.acolors[lookup[pixcol]];
22: spix += SRC_INC;
23: buf[dpix++] = d;
24: if (HDOUBLE)
25: buf[dpix++] = d;
26: }
27: } else if (bplehb) {
28: while (dpix < stoppos) {
29: int p = pixdata.apixels[spix];
30: TYPE d = colors_for_drawing.acolors[p];
31: spix += SRC_INC;
32: if (p >= 32)
33: d = xcolors[(colors_for_drawing.color_regs[p-32] >> 1) & 0x777];
34: buf[dpix++] = d;
35: if (HDOUBLE)
36: buf[dpix++] = d;
37: }
38: } else {
39: while (dpix < stoppos) {
40: TYPE d = colors_for_drawing.acolors[pixdata.apixels[spix]];
41: spix += SRC_INC;
42: buf[dpix++] = d;
43: if (HDOUBLE)
44: buf[dpix++] = d;
45: }
46: }
47: return spix;
48: }
49:
50: #undef LNAME
51: #undef HDOUBLE
52: #undef SRC_INC
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.