]> Shamusworld >> Repos - virtualjaguar/blob - src/include/fbmpop24p.h
Adding 1.0.1/2 uncompressed tarballs to tags for historical purposes.
[virtualjaguar] / src / include / fbmpop24p.h
1                 int count=0;\r
2                 if (flags&FLAGS_HFLIP)\r
3                 {\r
4                         if (flags&FLAGS_TRANSPARENT)\r
5                         {\r
6                                 while (iwidth)\r
7                                 {\r
8                                         uint32 data=jaguar_byte_read(ptr++);\r
9                                         data<<=8;\r
10                                         data|=jaguar_byte_read(ptr++);\r
11                                         data<<=8;\r
12                                         data|=jaguar_byte_read(ptr++);\r
13                                         data<<=8;\r
14                                         data|=jaguar_byte_read(ptr++);\r
15                                         if (data)\r
16                                         {\r
17                                                 *current_line_buffer--=(data>>24)&0xff;\r
18                                                 *current_line_buffer--=(data>>16)&0xff;\r
19                                                 *current_line_buffer--=(data>> 8)&0xff;\r
20                                                 *current_line_buffer--=data      &0xff;\r
21                                         }\r
22                                         else\r
23                                                 current_line_buffer-=4;\r
24                                         count+=4;\r
25                                         if (count==8) // 8 bytes = a phrase (64 bits)\r
26                                         {\r
27                                                 ptr-=8*(pitch-1);\r
28                                                 count=0;\r
29                                         }\r
30                                         iwidth--;\r
31                                 }\r
32                         }\r
33                         else\r
34                         {\r
35                                 while (iwidth)\r
36                                 {\r
37                                         *current_line_buffer++=jaguar_byte_read(ptr++);\r
38                                         *current_line_buffer++=jaguar_byte_read(ptr++);\r
39                                         *current_line_buffer++=jaguar_byte_read(ptr++);\r
40                                         *current_line_buffer++=jaguar_byte_read(ptr++);\r
41                                         iwidth--;\r
42                                         count+=4;\r
43                                         if (count==8) // 8 bytes = a phrase (64 bits)\r
44                                         {\r
45                                                 ptr+=8*(pitch-1);\r
46                                                 count=0;\r
47                                         }\r
48                                 }\r
49                         }\r
50                 }\r
51                 else\r
52                 {\r
53                         if (flags&FLAGS_TRANSPARENT)\r
54                         {\r
55                                 while (iwidth)\r
56                                 {\r
57                                         uint32 data=jaguar_byte_read(ptr++);\r
58                                         data<<=8;\r
59                                         data|=jaguar_byte_read(ptr++);\r
60                                         data<<=8;\r
61                                         data|=jaguar_byte_read(ptr++);\r
62                                         data<<=8;\r
63                                         data|=jaguar_byte_read(ptr++);\r
64                                         if (data)\r
65                                         {\r
66                                                 *current_line_buffer++=(data>>24)&0xff;\r
67                                                 *current_line_buffer++=(data>>16)&0xff;\r
68                                                 *current_line_buffer++=(data>> 8)&0xff;\r
69                                                 *current_line_buffer++=data      &0xff;\r
70                                         }\r
71                                         else\r
72                                                 current_line_buffer+=4;\r
73                                         count+=4;\r
74                                         if (count==8) // 8 bytes = a phrase (64 bits)\r
75                                         {\r
76                                                 ptr-=8*(pitch-1);\r
77                                                 count=0;\r
78                                         }\r
79                                         iwidth--;\r
80                                 }\r
81                         }\r
82                         else\r
83                         {\r
84                                 while (iwidth)\r
85                                 {\r
86                                         *current_line_buffer++=jaguar_byte_read(ptr++);\r
87                                         *current_line_buffer++=jaguar_byte_read(ptr++);\r
88                                         *current_line_buffer++=jaguar_byte_read(ptr++);\r
89                                         *current_line_buffer++=jaguar_byte_read(ptr++);\r
90                                         count+=4;\r
91                                         if (count==8) // 8 bytes = a phrase (64 bits)\r
92                                         {\r
93                                                 ptr+=8*(pitch-1);\r
94                                                 count=0;\r
95                                         }\r
96                                         iwidth--;\r
97                                 }\r
98                         }\r
99                 }\r