]> Shamusworld >> Repos - virtualjaguar/blob - src/include/zbmpop1p.h
Initial revision
[virtualjaguar] / src / include / zbmpop1p.h
1                 uint8   *paletteRam=&tom_ram_8[0x400];
2                 paletteRam+=(idx<<2);
3                 
4                 if (flags&FLAGS_HFLIP)
5                 {
6                         while (scaled_width)
7                         {
8                                 uint32 c=jaguar_byte_read(ptr+(((cnt>>16) & (~0x3f))*pitch)+((cnt>>16)&0x3f));
9                                 c=(c>>(8-((cnt>>16)&0x07)))&0x01;
10                                 if (flags&FLAGS_TRANSPARENT)
11                                 {
12                                         if (c)
13                                         {
14                                                 *current_line_buffer--=paletteRam[(c<<1)+0];
15                                                 *current_line_buffer--=paletteRam[(c<<1)+1];
16                                         }
17                                         else
18                                                 current_line_buffer-=2;
19                                 }
20                                 else
21                                 {
22                                         *current_line_buffer--=paletteRam[(c<<1)+0];
23                                         *current_line_buffer--=paletteRam[(c<<1)+1];
24                                 }
25                                 cnt+=hscale_fixed;
26                                 scaled_width--;
27                         }
28                 }
29                 else
30                 {
31                         while (scaled_width)
32                         {
33                                 uint32 c=jaguar_byte_read(ptr+(((cnt>>16) & (~0x3f))*pitch)+((cnt>>16)&0x3f));
34                                 c=(c>>(8-((cnt>>16)&0x07)))&0x01;
35                                 if (flags&FLAGS_TRANSPARENT)
36                                 {
37                                         if (c)
38                                         {
39                                                 *current_line_buffer++=paletteRam[(c<<1)+0];
40                                                 *current_line_buffer++=paletteRam[(c<<1)+1];
41                                         }
42                                         else
43                                                 current_line_buffer+=2;
44                                 }
45                                 else
46                                 {
47                                         *current_line_buffer++=paletteRam[(c<<1)+0];
48                                         *current_line_buffer++=paletteRam[(c<<1)+1];
49                                 }
50                                 cnt+=hscale_fixed;
51                                 scaled_width--;
52                         }
53                 }