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