]> Shamusworld >> Repos - virtualjaguar/blob - src/include/zbmpop2.h
Adding 1.0.1/2 uncompressed tarballs to tags for historical purposes.
[virtualjaguar] / src / include / zbmpop2.h
1                 uint8   *paletteRam=&tom_ram_8[0x400];\r
2                 paletteRam+=idx*2;\r
3                 \r
4                 if (flags&FLAGS_READMODIFY)\r
5                 {\r
6                         if (flags&FLAGS_HFLIP)\r
7                         {\r
8                                 if (flags&FLAGS_TRANSPARENT)\r
9                                 {                                       \r
10                                         while (scaled_width)\r
11                                         {\r
12                                                 uint32 c=jaguar_byte_read(ptr+(cnt>>18));\r
13                                                 c>>=(6-(2*((cnt>>16)&0x03)));\r
14                                                 c&=0x03;\r
15                                                 \r
16                                                 if (c)\r
17                                                 {\r
18                                                         *current_line_buffer--=BLEND_Y(*current_line_buffer,paletteRam[((c&0x03)<<1)+0]);\r
19                                                         *current_line_buffer--=BLEND_CC(*current_line_buffer,paletteRam[((c&0x03)<<1)+1]);\r
20                                                 }\r
21                                                 else\r
22                                                         current_line_buffer-=2;\r
23                                                 cnt+=hscale_fixed;\r
24                                                 scaled_width--;\r
25                                         }\r
26                                 }\r
27                                 else\r
28                                 {\r
29                                         while (scaled_width)\r
30                                         {\r
31                                                 uint32 c=jaguar_byte_read(ptr+(cnt>>18));\r
32                                                 c>>=(6-(2*((cnt>>16)&0x03)));\r
33                                                 c&=0x03;\r
34                                                 *current_line_buffer--=BLEND_Y(*current_line_buffer,paletteRam[((c&0x03)<<1)+0]);\r
35                                                 *current_line_buffer--=BLEND_CC(*current_line_buffer,paletteRam[((c&0x03)<<1)+1]);\r
36 \r
37                                                 cnt+=hscale_fixed;\r
38                                                 scaled_width--;\r
39                                         }\r
40                                 }\r
41                         }\r
42                         else\r
43                         {\r
44                                 if (flags&FLAGS_TRANSPARENT)\r
45                                 {                                       \r
46                                         while (scaled_width)\r
47                                         {\r
48                                                 uint32 c=jaguar_byte_read(ptr+(cnt>>18));\r
49                                                 c>>=(6-(2*((cnt>>16)&0x03)));\r
50                                                 c&=0x03;\r
51                                                 if (c)\r
52                                                 {\r
53                                                         *current_line_buffer++=BLEND_Y(*current_line_buffer,paletteRam[((c&0x03)<<1)+0]);\r
54                                                         *current_line_buffer++=BLEND_CC(*current_line_buffer,paletteRam[((c&0x03)<<1)+1]);\r
55                                                 }\r
56                                                 else\r
57                                                         current_line_buffer+=2;\r
58                                                 cnt+=hscale_fixed;\r
59                                                 scaled_width--;\r
60                                         }\r
61                                 }\r
62                                 else\r
63                                 {\r
64                                         while (scaled_width)\r
65                                         {\r
66                                                 uint32 c=jaguar_byte_read(ptr+(cnt>>18));\r
67                                                 c>>=(6-(2*((cnt>>16)&0x03)));\r
68                                                 c&=0x03;\r
69                                                 *current_line_buffer++=BLEND_Y(*current_line_buffer,paletteRam[((c&0x03)<<1)+0]);\r
70                                                 *current_line_buffer++=BLEND_CC(*current_line_buffer,paletteRam[((c&0x03)<<1)+1]);\r
71 \r
72                                                 cnt+=hscale_fixed;\r
73                                                 scaled_width--;\r
74                                         }\r
75                                 }\r
76                         }\r
77                 }\r
78                 else\r
79                 {\r
80                         if (flags&FLAGS_HFLIP)\r
81                         {\r
82                                 if (flags&FLAGS_TRANSPARENT)\r
83                                 {                                       \r
84                                         while (scaled_width)\r
85                                         {\r
86                                                 uint32 c=jaguar_byte_read(ptr+(cnt>>18));\r
87                                                 c>>=(6-(2*((cnt>>16)&0x03)));\r
88                                                 c&=0x03;\r
89                                                 if (c)\r
90                                                 {\r
91                                                         *current_line_buffer--=paletteRam[((c&0x03)<<1)+0];\r
92                                                         *current_line_buffer--=paletteRam[((c&0x03)<<1)+1];\r
93                                                 }\r
94                                                 else\r
95                                                         current_line_buffer-=2;\r
96                                                 cnt+=hscale_fixed;\r
97                                                 scaled_width--;\r
98                                         }\r
99                                 }\r
100                                 else\r
101                                 {\r
102                                         while (scaled_width)\r
103                                         {\r
104                                                 uint32 c=jaguar_byte_read(ptr+(cnt>>18));\r
105                                                 c>>=(6-(2*((cnt>>16)&0x03)));\r
106                                                 c&=0x03;\r
107                                                 *current_line_buffer--=paletteRam[((c&0x03)<<1)+0];\r
108                                                 *current_line_buffer--=paletteRam[((c&0x03)<<1)+1];\r
109 \r
110                                                 cnt+=hscale_fixed;\r
111                                                 scaled_width--;\r
112                                         }\r
113                                 }\r
114                         }\r
115                         else\r
116                         {\r
117                                 if (flags&FLAGS_TRANSPARENT)\r
118                                 {                                       \r
119                                         while (scaled_width)\r
120                                         {\r
121                                                 uint32 c=jaguar_byte_read(ptr+(cnt>>18));\r
122                                                 c>>=(6-(2*((cnt>>16)&0x03)));\r
123                                                 c&=0x03;\r
124                                                 if (c)\r
125                                                 {\r
126                                                         *current_line_buffer++=paletteRam[((c&0x03)<<1)+0];\r
127                                                         *current_line_buffer++=paletteRam[((c&0x03)<<1)+1];\r
128                                                 }\r
129                                                 else\r
130                                                         current_line_buffer+=2;\r
131                                                 cnt+=hscale_fixed;\r
132                                                 scaled_width--;\r
133                                         }\r
134                                 }\r
135                                 else\r
136                                 {\r
137                                         while (scaled_width)\r
138                                         {\r
139                                                 uint32 c=jaguar_byte_read(ptr+(cnt>>18));\r
140                                                 c>>=(6-(2*((cnt>>16)&0x03)));\r
141                                                 c&=0x03;\r
142                                                 *current_line_buffer++=paletteRam[((c&0x03)<<1)+0];\r
143                                                 *current_line_buffer++=paletteRam[((c&0x03)<<1)+1];\r
144 \r
145                                                 cnt+=hscale_fixed;\r
146                                                 scaled_width--;\r
147                                         }\r
148                                 }\r
149                         }\r
150                 }\r