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