]> Shamusworld >> Repos - virtualjaguar/blob - src/include/zbmpop8p.h
Adding 1.0.1/2 uncompressed tarballs to tags for historical purposes.
[virtualjaguar] / src / include / zbmpop8p.h
1                 uint8   *paletteRam=&tom_ram_8[0x400];\r
2                 paletteRam+=(idx&0x1)*256*2;\r
3                 if (flags&FLAGS_READMODIFY)\r
4                 {\r
5                         if (flags&FLAGS_HFLIP)\r
6                         {\r
7                                 while (scaled_width)\r
8                                 {\r
9                                         uint32 c=jaguar_byte_read(ptr+(((cnt>>16) & (~0x07))*pitch)+((cnt>>16)&0x07));\r
10                                         c<<=1;\r
11                                         if (flags&FLAGS_TRANSPARENT)\r
12                                         {                                       \r
13                                                 if (c)\r
14                                                 {\r
15                                                         *current_line_buffer--=BLEND_Y(*current_line_buffer,paletteRam[c+0]);\r
16                                                         *current_line_buffer--=BLEND_CC(*current_line_buffer,paletteRam[c+1]);\r
17                                                 }\r
18                                                 else\r
19                                                         current_line_buffer-=2;\r
20                                         }\r
21                                         else\r
22                                         {\r
23                                                 *current_line_buffer--=BLEND_Y(*current_line_buffer,paletteRam[c+0]);\r
24                                                 *current_line_buffer--=BLEND_CC(*current_line_buffer,paletteRam[c+1]);\r
25                                         }\r
26 \r
27                                         cnt+=hscale_fixed;\r
28                                         scaled_width--;\r
29                                 }\r
30                         }\r
31                         else\r
32                         {\r
33                                 while (scaled_width)\r
34                                 {\r
35                                         uint32 c=jaguar_byte_read(ptr+(((cnt>>16) & (~0x07))*pitch)+((cnt>>16)&0x07));\r
36                                         c<<=1;\r
37                                         if (flags&FLAGS_TRANSPARENT)\r
38                                         {                                       \r
39                                                 if (c)\r
40                                                 {\r
41                                                         *current_line_buffer++=BLEND_Y(*current_line_buffer,paletteRam[c+0]);\r
42                                                         *current_line_buffer++=BLEND_CC(*current_line_buffer,paletteRam[c+1]);\r
43                                                 }\r
44                                                 else\r
45                                                         current_line_buffer+=2;\r
46                                         }\r
47                                         else\r
48                                         {\r
49                                                 *current_line_buffer++=BLEND_Y(*current_line_buffer,paletteRam[c+0]);\r
50                                                 *current_line_buffer++=BLEND_CC(*current_line_buffer,paletteRam[c+1]);\r
51                                         }\r
52 \r
53                                         cnt+=hscale_fixed;\r
54                                         scaled_width--;\r
55                                 }\r
56                         }\r
57                 }\r
58                 else\r
59                 {\r
60                         if (flags&FLAGS_HFLIP)\r
61                         {\r
62                                 while (scaled_width)\r
63                                 {\r
64                                         uint32 c=jaguar_byte_read(ptr+(((cnt>>16) & (~0x07))*pitch)+((cnt>>16)&0x07));\r
65                                         c<<=1;\r
66                                         if (flags&FLAGS_TRANSPARENT)\r
67                                         {                                       \r
68                                                 if (c)\r
69                                                 {\r
70                                                         *current_line_buffer--=paletteRam[c+0];\r
71                                                         *current_line_buffer--=paletteRam[c+1];\r
72                                                 }\r
73                                                 else\r
74                                                         current_line_buffer-=2;\r
75                                         }\r
76                                         else\r
77                                         {\r
78                                                 *current_line_buffer--=paletteRam[c+0];\r
79                                                 *current_line_buffer--=paletteRam[c+1];\r
80                                         }\r
81 \r
82                                         cnt+=hscale_fixed;\r
83                                         scaled_width--;\r
84                                 }\r
85                         }\r
86                         else\r
87                         {\r
88                                 while (scaled_width)\r
89                                 {\r
90                                         uint32 c=jaguar_byte_read(ptr+(((cnt>>16) & (~0x07))*pitch)+((cnt>>16)&0x07));\r
91                                         c<<=1;\r
92                                         if (flags&FLAGS_TRANSPARENT)\r
93                                         {                                       \r
94                                                 if (c)\r
95                                                 {\r
96                                                         *current_line_buffer++=paletteRam[c+0];\r
97                                                         *current_line_buffer++=paletteRam[c+1];\r
98                                                 }\r
99                                                 else\r
100                                                         current_line_buffer+=2;\r
101                                         }\r
102                                         else\r
103                                         {\r
104                                                 *current_line_buffer++=paletteRam[c+0];\r
105                                                 *current_line_buffer++=paletteRam[c+1];\r
106                                         }\r
107 \r
108                                         cnt+=hscale_fixed;\r
109                                         scaled_width--;\r
110                                 }\r
111                         }\r
112                 }\r