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