]> Shamusworld >> Repos - virtualjaguar/blob - src/include/fbmpop4.h
Adding 1.0.1/2 uncompressed tarballs to tags for historical purposes.
[virtualjaguar] / src / include / fbmpop4.h
1                 uint32 c;\r
2                 if (jaguar_mainRom_crc32==0x66f8914c)\r
3                 {\r
4                         if (idx==12) \r
5                                 idx=64;\r
6                 }                       \r
7                 paletteRam+=idx*4;\r
8 \r
9                 if (flags&FLAGS_READMODIFY)\r
10                 {\r
11                         if (flags&FLAGS_HFLIP)\r
12                         {\r
13                                 if (flags&FLAGS_TRANSPARENT)\r
14                                 {\r
15                                         while (iwidth)\r
16                                         {\r
17                                                 c=jaguar_byte_read(ptr++);\r
18                                                 uint32 cl=c>>4;\r
19                                                 uint32 ch=c&0x0f;\r
20                                                 if (cl)\r
21                                                 {\r
22                                                         *current_line_buffer--=BLEND_Y(*current_line_buffer,paletteRam[(cl<<1)+0]);\r
23                                                         *current_line_buffer--=BLEND_CC(*current_line_buffer,paletteRam[(cl<<1)+1]);\r
24                                                 }\r
25                                                 else\r
26                                                         current_line_buffer-=2;\r
27                                                 if (ch)\r
28                                                 {\r
29                                                         *current_line_buffer--=BLEND_Y(*current_line_buffer,paletteRam[(ch<<1)+0]);\r
30                                                         *current_line_buffer--=BLEND_CC(*current_line_buffer,paletteRam[(ch<<1)+1]);\r
31                                                 }\r
32                                                 else\r
33                                                         current_line_buffer-=2;\r
34                                                 iwidth--;\r
35                                         }\r
36                                 }\r
37                                 else\r
38                                 {\r
39                                         while (iwidth)\r
40                                         {\r
41                                                 c=jaguar_byte_read(ptr++);\r
42                                                 uint32 cl=c>>4;\r
43                                                 uint32 ch=c&0x0f;\r
44                                                 *current_line_buffer--=BLEND_Y(*current_line_buffer,paletteRam[(cl<<1)+0]);\r
45                                                 *current_line_buffer--=BLEND_CC(*current_line_buffer,paletteRam[(cl<<1)+1]);\r
46                                                 *current_line_buffer--=BLEND_Y(*current_line_buffer,paletteRam[(ch<<1)+0]);\r
47                                                 *current_line_buffer--=BLEND_CC(*current_line_buffer,paletteRam[(ch<<1)+1]);\r
48                                                 iwidth--;\r
49                                         }\r
50                                 }\r
51                         }\r
52                         else\r
53                         {\r
54                                 if (flags&FLAGS_TRANSPARENT)\r
55                                 {\r
56                                         while (iwidth)\r
57                                         {\r
58                                                 c=jaguar_byte_read(ptr++);\r
59                                                 uint32 cl=c>>4;\r
60                                                 uint32 ch=c&0x0f;\r
61                                                 if (cl)\r
62                                                 {\r
63                                                         *current_line_buffer++=BLEND_Y(*current_line_buffer,paletteRam[(cl<<1)+0]);\r
64                                                         *current_line_buffer++=BLEND_CC(*current_line_buffer,paletteRam[(cl<<1)+1]);\r
65                                                 }\r
66                                                 else\r
67                                                         current_line_buffer+=2;\r
68                                                 if (ch)\r
69                                                 {\r
70                                                         *current_line_buffer++=BLEND_Y(*current_line_buffer,paletteRam[(ch<<1)+0]);\r
71                                                         *current_line_buffer++=BLEND_CC(*current_line_buffer,paletteRam[(ch<<1)+1]);\r
72                                                 }\r
73                                                 else\r
74                                                         current_line_buffer+=2;\r
75                                                 iwidth--;\r
76                                         }\r
77                                 }\r
78                                 else\r
79                                 {\r
80                                         while (iwidth)\r
81                                         {\r
82                                                 c=jaguar_byte_read(ptr++);\r
83                                                 uint32 cl=c>>4;\r
84                                                 uint32 ch=c&0x0f;\r
85                                                 *current_line_buffer++=BLEND_Y(*current_line_buffer,paletteRam[(cl<<1)+0]);\r
86                                                 *current_line_buffer++=BLEND_CC(*current_line_buffer,paletteRam[(cl<<1)+1]);\r
87                                                 *current_line_buffer++=BLEND_Y(*current_line_buffer,paletteRam[(ch<<1)+0]);\r
88                                                 *current_line_buffer++=BLEND_CC(*current_line_buffer,paletteRam[(ch<<1)+1]);\r
89                                                 iwidth--;\r
90                                         }\r
91                                 }\r
92                         }\r
93                 }\r
94                 else\r
95                 {\r
96                         if (flags&FLAGS_HFLIP)\r
97                         {\r
98                                 if (flags&FLAGS_TRANSPARENT)\r
99                                 {\r
100                                         while (iwidth)\r
101                                         {\r
102                                                 c=jaguar_byte_read(ptr++);\r
103                                                 uint32 cl=c>>4;\r
104                                                 uint32 ch=c&0x0f;\r
105                                                 if (cl)\r
106                                                 {\r
107                                                         *current_line_buffer--=paletteRam[(cl<<1)+0];\r
108                                                         *current_line_buffer--=paletteRam[(cl<<1)+1];\r
109                                                 }\r
110                                                 else\r
111                                                         current_line_buffer-=2;\r
112                                                 if (ch)\r
113                                                 {\r
114                                                         *current_line_buffer--=paletteRam[(ch<<1)+0];\r
115                                                         *current_line_buffer--=paletteRam[(ch<<1)+1];\r
116                                                 }\r
117                                                 else\r
118                                                         current_line_buffer-=2;\r
119                                                 iwidth--;\r
120                                         }\r
121                                 }\r
122                                 else\r
123                                 {\r
124                                         while (iwidth)\r
125                                         {\r
126                                                 c=jaguar_byte_read(ptr++);\r
127                                                 uint32 cl=c>>4;\r
128                                                 uint32 ch=c&0x0f;\r
129                                                 *current_line_buffer--=paletteRam[(cl<<1)+0];\r
130                                                 *current_line_buffer--=paletteRam[(cl<<1)+1];\r
131                                                 *current_line_buffer--=paletteRam[(ch<<1)+0];\r
132                                                 *current_line_buffer--=paletteRam[(ch<<1)+1];\r
133                                                 iwidth--;\r
134                                         }\r
135                                 }\r
136                         }\r
137                         else\r
138                         {\r
139                                 if (flags&FLAGS_TRANSPARENT)\r
140                                 {\r
141                                         while (iwidth)\r
142                                         {\r
143                                                 c=jaguar_byte_read(ptr++);\r
144                                                 uint32 cl=c>>4;\r
145                                                 uint32 ch=c&0x0f;\r
146                                                 if (cl)\r
147                                                 {\r
148                                                         *current_line_buffer++=paletteRam[(cl<<1)+0];\r
149                                                         *current_line_buffer++=paletteRam[(cl<<1)+1];\r
150                                                 }\r
151                                                 else\r
152                                                         current_line_buffer+=2;\r
153                                                 if (ch)\r
154                                                 {\r
155                                                         *current_line_buffer++=paletteRam[(ch<<1)+0];\r
156                                                         *current_line_buffer++=paletteRam[(ch<<1)+1];\r
157                                                 }\r
158                                                 else\r
159                                                         current_line_buffer+=2;\r
160                                                 iwidth--;\r
161                                         }\r
162                                 }\r
163                                 else\r
164                                 {\r
165                                         while (iwidth)\r
166                                         {\r
167                                                 c=jaguar_byte_read(ptr++);\r
168                                                 uint32 cl=c>>4;\r
169                                                 uint32 ch=c&0x0f;\r
170                                                 *current_line_buffer++=paletteRam[(cl<<1)+0];\r
171                                                 *current_line_buffer++=paletteRam[(cl<<1)+1];\r
172                                                 *current_line_buffer++=paletteRam[(ch<<1)+0];\r
173                                                 *current_line_buffer++=paletteRam[(ch<<1)+1];\r
174                                                 iwidth--;\r
175                                         }\r
176                                 }\r
177                         }\r
178                 }\r