<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>fblend fade with magic pink</title>
		<link>http://www.allegro.cc/forums/view/563590</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Fri, 03 Feb 2006 06:19:58 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hello,<br />Is there a way to use fblend_fade_to_color while keeping the magic pink colour?</p><p>In standard allegro you can simply do something like this for a fade, e.g.
</p><div class="source-code snippet"><div class="inner"><pre>  <a href="http://www.allegro.cc/manual/set_trans_blender" target="_blank"><span class="a">set_trans_blender</span></a><span class="k2">(</span><span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span>, somevalue<span class="k2">)</span><span class="k2">;</span>
  <a href="http://www.allegro.cc/manual/draw_trans_sprite" target="_blank"><span class="a">draw_trans_sprite</span></a><span class="k2">(</span>bmp1,bmp2, <span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>
and the magic pink is preserved. However if you do
</p><div class="source-code snippet"><div class="inner"><pre>  fblend_fade_to_color<span class="k2">(</span>bmp2, bmp1, <span class="n">0</span>,<span class="n">0</span>, colour1, somevalue<span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>
It does a complete fade, ignoring the magic pink. What you have to do (unless I&#39;m completely wrong) is you have to do is check the original untouched bitmap for mask colour pixels and put them back into the faded bitmap (repeating/checking each bitmap depth):
</p><div class="source-code snippet"><div class="inner"><pre>  <span class="k1">if</span><span class="k2">(</span>ColourDepth<span class="k3">=</span><span class="k3">=</span><span class="n">32</span><span class="k2">)</span>
  <span class="k2">{</span>
    <a href="http://www.allegro.cc/manual/acquire_bitmap" target="_blank"><span class="a">acquire_bitmap</span></a><span class="k2">(</span>bmp2<span class="k2">)</span><span class="k2">;</span>
    <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> i<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>i<span class="k3">&lt;</span>w<span class="k2">;</span>i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
    <span class="k2">{</span>
      <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> j<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>j<span class="k3">&lt;</span>w<span class="k2">;</span>j<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
      <span class="k2">{</span>
        FadeColour<span class="k3">=</span><a href="http://www.allegro.cc/manual/_getpixel32" target="_blank"><span class="a">_getpixel32</span></a><span class="k2">(</span>bmp1, i, j<span class="k2">)</span><span class="k2">;</span>
        <span class="k1">if</span><span class="k2">(</span>FadeColour<span class="k3">=</span><span class="k3">=</span><a href="http://www.allegro.cc/manual/MASK_COLOR_32" target="_blank"><span class="a">MASK_COLOR_32</span></a><span class="k2">)</span>
          <a href="http://www.allegro.cc/manual/_putpixel32" target="_blank"><span class="a">_putpixel32</span></a><span class="k2">(</span>bmp2,i,j,<a href="http://www.allegro.cc/manual/MASK_COLOR_32" target="_blank"><span class="a">MASK_COLOR_32</span></a><span class="k2">)</span><span class="k2">;</span>
      <span class="k2">}</span>
    <span class="k2">}</span>
    <a href="http://www.allegro.cc/manual/release_bitmap" target="_blank"><span class="a">release_bitmap</span></a><span class="k2">(</span>bmp2<span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Neil Walker)</author>
		<pubDate>Fri, 03 Feb 2006 06:19:58 +0000</pubDate>
	</item>
</rss>
