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