]> Shamusworld >> Repos - virtualjaguar/blob - src/include/fbmpop8p.h
Adding 1.0.1/2 uncompressed tarballs to tags for historical purposes.
[virtualjaguar] / src / include / fbmpop8p.h
1                 int count=0;\r
2                 uint32 c;\r
3                 paletteRam+=(idx&0x01)*256*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                                         c<<=1;\r
12                                         if (flags&FLAGS_TRANSPARENT)\r
13                                         {                                       \r
14                                                 if (c)\r
15                                                 {\r
16                                                         *current_line_buffer--=BLEND_Y(*current_line_buffer,paletteRam[c+0]);\r
17                                                         *current_line_buffer--=BLEND_CC(*current_line_buffer,paletteRam[c+1]);\r
18                                                 }\r
19                                                 else\r
20                                                         current_line_buffer-=2;\r
21                                         }\r
22                                         else\r
23                                         {\r
24                                                 *current_line_buffer--=BLEND_Y(*current_line_buffer,paletteRam[c+0]);\r
25                                                 *current_line_buffer--=BLEND_CC(*current_line_buffer,paletteRam[c+1]);\r
26                                         }\r
27                                         count+=1;\r
28                                         if (count==8) // 8 bytes = a phrase (64 bits)\r
29                                         {\r
30                                                 ptr-=8*(pitch-1);\r
31                                                 count=0;\r
32                                         }\r
33                                         iwidth--;\r
34                                 }\r
35                         }\r
36                         else\r
37                         {\r
38                                 while (iwidth)\r
39                                 {\r
40                                         c=jaguar_byte_read(ptr++);\r
41                                         c<<=1;\r
42                                         if (flags&FLAGS_TRANSPARENT)\r
43                                         {                                       \r
44                                                 if (c)\r
45                                                 {\r
46                                                         *current_line_buffer++=BLEND_Y(*current_line_buffer,paletteRam[c+0]);\r
47                                                         *current_line_buffer++=BLEND_CC(*current_line_buffer,paletteRam[c+1]);\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,paletteRam[c+0]);\r
55                                                 *current_line_buffer++=BLEND_CC(*current_line_buffer,paletteRam[c+1]);\r
56                                         }\r
57                                         count+=1;\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                                         c=jaguar_byte_read(ptr++);\r
74                                         c<<=1;\r
75                                         if (flags&FLAGS_TRANSPARENT)\r
76                                         {                                       \r
77                                                 if (c)\r
78                                                 {\r
79                                                         *current_line_buffer--=paletteRam[c+0];\r
80                                                         *current_line_buffer--=paletteRam[c+1];\r
81                                                 }\r
82                                                 else\r
83                                                         current_line_buffer-=2;\r
84                                         }\r
85                                         else\r
86                                         {\r
87                                                 *current_line_buffer--=paletteRam[c+0];\r
88                                                 *current_line_buffer--=paletteRam[c+1];\r
89                                         }\r
90                                         count+=1;\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                         else\r
100                         {\r
101                                 while (iwidth)\r
102                                 {\r
103                                         c=jaguar_byte_read(ptr++);\r
104                                         c<<=1;\r
105                                         if (flags&FLAGS_TRANSPARENT)\r
106                                         {                                       \r
107                                                 if (c)\r
108                                                 {\r
109                                                         *current_line_buffer++=paletteRam[c+0];\r
110                                                         *current_line_buffer++=paletteRam[c+1];\r
111                                                 }\r
112                                                 else\r
113                                                         current_line_buffer+=2;\r
114                                         }\r
115                                         else\r
116                                         {\r
117                                                 *current_line_buffer++=paletteRam[c+0];\r
118                                                 *current_line_buffer++=paletteRam[c+1];\r
119                                         }\r
120                                         count+=1;\r
121                                         if (count==8) // 8 bytes = a phrase (64 bits)\r
122                                         {\r
123                                                 ptr+=8*(pitch-1);\r
124                                                 count=0;\r
125                                         }\r
126                                         iwidth--;\r
127                                 }\r
128                         }\r
129                 }\r