<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>allegro 4 to allegro 5 issue</title>
		<link>http://www.allegro.cc/forums/view/606549</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Sun, 27 Feb 2011 13:51:26 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>hey, i use a custom sprite animation architecture making use of allegro datafiles and properties.</p><p>Now I realise that Allegro 5 doesn&#39;t have datafiles, which is fine, since you can use .zip files. but it now means I can&#39;t use my animation architecture.</p><p>I still want to use the animation architecture, so i&#39;m developing a little utility that&#39;ll extract the sprite frames and properties from the datafile and pack them into a nice little binary file that can be loaded from the zip. Progress is being made, but I have a bottleneck i need to get around.</p><p>This is how the utility saves the bitmap data:</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span>  <span class="k1">for</span><span class="k2">(</span> iX <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> iX <span class="k3">&lt;</span> pBitmap-&gt;w<span class="k2">;</span> iX<span class="k3">+</span><span class="k3">+</span> <span class="k2">)</span> <span class="k2">{</span>
<span class="number">  2</span>  
<span class="number">  3</span>    <span class="k1">for</span><span class="k2">(</span> iY <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> iY <span class="k3">&lt;</span> pBitmap-&gt;h<span class="k2">;</span> iY<span class="k3">+</span><span class="k3">+</span> <span class="k2">)</span> <span class="k2">{</span>
<span class="number">  4</span>    
<span class="number">  5</span>      iPix <span class="k3">=</span> <a href="http://www.allegro.cc/manual/getpixel"><span class="a">getpixel</span></a><span class="k2">(</span> pBitmap, iX, iY <span class="k2">)</span><span class="k2">;</span>
<span class="number">  6</span>      r <span class="k3">=</span> <a href="http://www.allegro.cc/manual/getr"><span class="a">getr</span></a><span class="k2">(</span> iPix <span class="k2">)</span><span class="k2">;</span>
<span class="number">  7</span>      g <span class="k3">=</span> <a href="http://www.allegro.cc/manual/getg"><span class="a">getg</span></a><span class="k2">(</span> iPix <span class="k2">)</span><span class="k2">;</span>
<span class="number">  8</span>      b <span class="k3">=</span> <a href="http://www.allegro.cc/manual/getb"><span class="a">getb</span></a><span class="k2">(</span> iPix <span class="k2">)</span><span class="k2">;</span>
<span class="number">  9</span>      a <span class="k3">=</span> <a href="http://www.allegro.cc/manual/geta"><span class="a">geta</span></a><span class="k2">(</span> iPix <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 10</span>      pStream-&gt;write<span class="k2">(</span> <span class="k2">(</span><span class="k1">const</span> <span class="k1">char</span><span class="k3">*</span><span class="k2">)</span><span class="k3">&amp;</span>r, <span class="k1">sizeof</span><span class="k2">(</span> <span class="k1">int</span> <span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 11</span>      pStream-&gt;write<span class="k2">(</span> <span class="k2">(</span><span class="k1">const</span> <span class="k1">char</span><span class="k3">*</span><span class="k2">)</span><span class="k3">&amp;</span>g, <span class="k1">sizeof</span><span class="k2">(</span> <span class="k1">int</span> <span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 12</span>      pStream-&gt;write<span class="k2">(</span> <span class="k2">(</span><span class="k1">const</span> <span class="k1">char</span><span class="k3">*</span><span class="k2">)</span><span class="k3">&amp;</span>b, <span class="k1">sizeof</span><span class="k2">(</span> <span class="k1">int</span> <span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 13</span>      pStream-&gt;write<span class="k2">(</span> <span class="k2">(</span><span class="k1">const</span> <span class="k1">char</span><span class="k3">*</span><span class="k2">)</span><span class="k3">&amp;</span>a, <span class="k1">sizeof</span><span class="k2">(</span> <span class="k1">int</span> <span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 14</span>
<span class="number"> 15</span>    <span class="k2">}</span>
<span class="number"> 16</span>
<span class="number"> 17</span>  <span class="k2">}</span>
</div></div><p>

Just so you know, the pStream variable is a pointer to a std::ofstream instance.</p><p>That seems to work. But now I&#39;m working on the allegro 5 code to load these files. But all it displays is a black box. The allegro 5 reverse code is shown below:</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span>  m_pSpriteData <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_bitmap"><span class="a">al_create_bitmap</span></a><span class="k2">(</span> m_iWidth, m_iHeight <span class="k2">)</span><span class="k2">;</span>
<span class="number">  2</span>  <a href="http://www.allegro.cc/manual/al_set_target_bitmap"><span class="a">al_set_target_bitmap</span></a><span class="k2">(</span> m_pSpriteData <span class="k2">)</span><span class="k2">;</span>
<span class="number">  3</span>  <span class="k1">for</span><span class="k2">(</span> iX <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> iX <span class="k3">&lt;</span> m_iWidth <span class="k3">*</span> m_dwFrameCount<span class="k2">;</span> iX<span class="k3">+</span><span class="k3">+</span> <span class="k2">)</span> <span class="k2">{</span>
<span class="number">  4</span>
<span class="number">  5</span>    <span class="k1">for</span><span class="k2">(</span> iY <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> iY <span class="k3">&lt;</span> m_iHeight<span class="k2">;</span> iY<span class="k3">+</span><span class="k3">+</span> <span class="k2">)</span> <span class="k2">{</span>
<span class="number">  6</span>
<span class="number">  7</span>      pInput-&gt;read<span class="k2">(</span> <span class="k2">(</span><span class="k1">char</span><span class="k3">*</span><span class="k2">)</span><span class="k3">&amp;</span>r, <span class="k1">sizeof</span><span class="k2">(</span> <span class="k1">int</span> <span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number">  8</span>      pInput-&gt;read<span class="k2">(</span> <span class="k2">(</span><span class="k1">char</span><span class="k3">*</span><span class="k2">)</span><span class="k3">&amp;</span>g, <span class="k1">sizeof</span><span class="k2">(</span> <span class="k1">int</span> <span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number">  9</span>      pInput-&gt;read<span class="k2">(</span> <span class="k2">(</span><span class="k1">char</span><span class="k3">*</span><span class="k2">)</span><span class="k3">&amp;</span>b, <span class="k1">sizeof</span><span class="k2">(</span> <span class="k1">int</span> <span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 10</span>      pInput-&gt;read<span class="k2">(</span> <span class="k2">(</span><span class="k1">char</span><span class="k3">*</span><span class="k2">)</span><span class="k3">&amp;</span>a, <span class="k1">sizeof</span><span class="k2">(</span> <span class="k1">int</span> <span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 11</span>      <a href="http://www.allegro.cc/manual/al_draw_pixel"><span class="a">al_draw_pixel</span></a><span class="k2">(</span> iX, iY, <a href="http://www.allegro.cc/manual/al_map_rgba"><span class="a">al_map_rgba</span></a><span class="k2">(</span> r, g, b, a <span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 12</span>
<span class="number"> 13</span>    <span class="k2">}</span>
<span class="number"> 14</span>
<span class="number"> 15</span>  <span class="k2">}</span>
<span class="number"> 16</span>
<span class="number"> 17</span>  <a href="http://www.allegro.cc/manual/al_set_target_bitmap"><span class="a">al_set_target_bitmap</span></a><span class="k2">(</span> pBmp <span class="k2">)</span><span class="k2">;</span>
</div></div><p>

Obviously this doesn&#39;t work. Is there another way? Help would be appreciated.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (The Master)</author>
		<pubDate>Sun, 27 Feb 2011 12:04:32 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>A) Why are you writing chars with the length of an integer? (Or are r,g,b,a actually integers?)</p><p>B) You probably want to lock the bitmap and use <span class="source-code"><a href="http://www.allegro.cc/manual/al_put_pixel"><span class="a">al_put_pixel</span></a></span> to copy the data as-is without any blending.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Sun, 27 Feb 2011 12:10:33 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>update:<br />i fixed the problem. It wasn&#39;t a problem with my loading code, it was with my drawing code. i had to set up alpha-blending properly.</p><p>but there&#39;s still an issue.</p><p>i do the animation in the form of a filmstrip, and i draw each frame as a segment of the bitmap. But al_draw_bitmap_region doesn&#39;t seem to have the same properties as blit, since it doesn&#39;t draw a region of the bitmap as much as it draws the strip sequentially across the screen. also, it doesn&#39;t mask pink colour. am i doing something wrong?</p><p>this is the drawing code.</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span><span class="k1">int</span> CAnimationController::OnFrameRender<span class="k2">(</span> <span class="k1">int</span> x, <span class="k1">int</span> y, <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>pRenderTarget, Color3 litColor, <span class="k1">int</span> iAlpha <span class="k2">)</span> <span class="k2">{</span>
<span class="number">  2</span>
<span class="number">  3</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>pSpriteData <span class="k3">=</span> m_pSprite-&gt;m_pAnimationSets<span class="k2">[</span> m_dwAnimationSetIndex <span class="k2">]</span>.m_pAnimations<span class="k2">[</span> m_dwAnimationIndex <span class="k2">]</span>.m_pSpriteData<span class="k2">;</span>
<span class="number">  4</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>pTemp <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  5</span>  <span class="k1">int</span> w <span class="k3">=</span> m_pSprite-&gt;m_pAnimationSets<span class="k2">[</span> m_dwAnimationSetIndex <span class="k2">]</span>.m_pAnimations<span class="k2">[</span> m_dwAnimationIndex <span class="k2">]</span>.GetWidth<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  6</span>  <span class="k1">int</span> h <span class="k3">=</span> m_pSprite-&gt;m_pAnimationSets<span class="k2">[</span> m_dwAnimationSetIndex <span class="k2">]</span>.m_pAnimations<span class="k2">[</span> m_dwAnimationIndex <span class="k2">]</span>.GetHeight<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  7</span>  <span class="k1">int</span> ox <span class="k3">=</span> m_pSprite-&gt;m_pAnimationSets<span class="k2">[</span> m_dwAnimationSetIndex <span class="k2">]</span>.m_pAnimations<span class="k2">[</span> m_dwAnimationIndex <span class="k2">]</span>.GetOriginX<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  8</span>  <span class="k1">int</span> oy <span class="k3">=</span> m_pSprite-&gt;m_pAnimationSets<span class="k2">[</span> m_dwAnimationSetIndex <span class="k2">]</span>.m_pAnimations<span class="k2">[</span> m_dwAnimationIndex <span class="k2">]</span>.GetOriginY<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  9</span>  <span class="k1">int</span> px, py<span class="k2">;</span>
<span class="number"> 10</span>
<span class="number"> 11</span>  <span class="k1">if</span><span class="k2">(</span> pRenderTarget <span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 12</span>  
<span class="number"> 13</span>    pTemp <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_get_target_bitmap"><span class="a">al_get_target_bitmap</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 14</span>    <a href="http://www.allegro.cc/manual/al_set_target_bitmap"><span class="a">al_set_target_bitmap</span></a><span class="k2">(</span> pRenderTarget <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 15</span>
<span class="number"> 16</span>  <span class="k2">}</span>
<span class="number"> 17</span>
<span class="number"> 18</span>  px <span class="k3">=</span> x <span class="k3">-</span> ox<span class="k2">;</span>
<span class="number"> 19</span>  py <span class="k3">=</span> y <span class="k3">-</span> oy<span class="k2">;</span>
<span class="number"> 20</span>
<span class="number"> 21</span><span class="c">//  al_set_blender( ALLEGRO_ADD, iAlpha, 255 - iAlpha );</span>
<span class="number"> 22</span>  
<span class="number"> 23</span>  <span class="k1">if</span><span class="k2">(</span> litColor.r <span class="k3">!</span><span class="k3">=</span> <span class="k3">-</span><span class="n">1</span> <span class="k2">)</span>
<span class="number"> 24</span>    <a href="http://www.allegro.cc/manual/al_draw_tinted_bitmap_region"><span class="a">al_draw_tinted_bitmap_region</span></a><span class="k2">(</span> pSpriteData, <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span> litColor.r, litColor.g, litColor.b <span class="k2">)</span>, w <span class="k3">*</span> m_dwFrameIndex, <span class="n">0</span>, w, h, px, py, <span class="n">0</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 25</span>  <span class="k1">else</span>
<span class="number"> 26</span>    <a href="http://www.allegro.cc/manual/al_draw_bitmap_region"><span class="a">al_draw_bitmap_region</span></a><span class="k2">(</span> pSpriteData, w <span class="k3">*</span> m_dwFrameIndex, <span class="n">0</span>, w, h, px, py, <span class="n">0</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 27</span>
<span class="number"> 28</span>  <span class="k1">if</span><span class="k2">(</span> pRenderTarget <span class="k2">)</span>
<span class="number"> 29</span>    <a href="http://www.allegro.cc/manual/al_set_target_bitmap"><span class="a">al_set_target_bitmap</span></a><span class="k2">(</span> pTemp <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 30</span>
<span class="number"> 31</span>  <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 32</span>
<span class="number"> 33</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (The Master)</author>
		<pubDate>Sun, 27 Feb 2011 12:53:42 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/606549/905508#target">The Master</a> said:</div><div class="quote"><p>
But al_draw_bitmap_region doesn&#39;t seem to have the same properties as blit, since it doesn&#39;t draw a region of the bitmap as much as it draws the strip sequentially across the screen. also, it doesn&#39;t mask pink colour. am i doing something wrong?
</p></div></div><p>
What do you mean it draws the strip sequentially across the screen? It should only draw one region at a time, which you specify.</p><p>Allegro 5 doesn&#39;t understand/use magic pink anymore. You need to use <span class="source-code"><a href="http://www.allegro.cc/manual/al_convert_mask_to_alpha"><span class="a">al_convert_mask_to_alpha</span></a></span> on your sprite sheets.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Sun, 27 Feb 2011 13:04:10 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>What does this mean?</p><p><span class="source-code"><a href="http://www.allegro.cc/manual/al_set_blender"><span class="a">al_set_blender</span></a><span class="k2">(</span> ALLEGRO_ADD, iAlpha, <span class="n">255</span> <span class="k3">-</span> iAlpha <span class="k2">)</span><span class="k2">;</span></span></p><p>The second and third parameters must be one of:</p><ul><li><p>ALLEGRO_ZERO
</p></li><li><p>ALLEGRO_ONE
</p></li><li><p>ALLEGRO_ALPHA
</p></li><li><p>ALLEGRO_INVERSE_ALPHA
</p></li></ul></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Sun, 27 Feb 2011 13:06:23 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>ignore the alpha thing.</p><p>What i mean is that, it only draws the first frame of the strip, and tiles it in a line across the screen.</p><p>how do the coordinates for al_draw_bitmap_region work? they&#39;re float values, so are they fractions or something?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (The Master)</author>
		<pubDate>Sun, 27 Feb 2011 13:13:01 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Maybe <span class="source-code">m_dwFrameIndex</span> is always 0.</p><p>Everything that respects the transformations uses floats. If you aren&#39;t using any transformations, then they work just like the Allegro 4 coordinates when blitting.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Sun, 27 Feb 2011 13:19:18 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>no the m_dwFrameIndex is incrementing.</p><p>the actual argument descriptions for the function are a little ambiguous. I&#39;ve been tweeking them, and I&#39;m able to stop the thing from tiling, but its not showing the frame indicated by the frame index counter. where is there a concise description for the arguments for drawing bitmap regions?</p><p>EDIT:</p><p>Problem solved. Thanks guys!</p><p>But i have to ask something: how does transparency work in allegro 5? it&#39;s not as well described in the documentation as in allegro 4
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (The Master)</author>
		<pubDate>Sun, 27 Feb 2011 13:29:03 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/606549/905511#target">The Master</a> said:</div><div class="quote"><p>
What i mean is that, it only draws the first frame of the strip, and tiles it in a line across the screen.
</p></div></div><p>
So you&#39;re saying that what it draws is wider and/or taller than the width and height you passed to the al_draw_bitmap_region function? That sounds like something is wrong with the function then. Make sure the width and height values are correct.</p><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/606549/905518#target">The Master</a> said:</div><div class="quote"><p>
where is there a concise description for the arguments for drawing bitmap regions?
</p></div></div><p>
<span class="source-code"><a href="http://www.allegro.cc/manual/al_draw_bitmap_region"><span class="a">al_draw_bitmap_region</span></a></span>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Sun, 27 Feb 2011 13:30:15 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>check my last edited post.</p><p>i fixed it. there was a problem with my loading code, but it&#39;s fixed.</p><p>now all i&#39;d like to know is how transparency works in allegro 5.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (The Master)</author>
		<pubDate>Sun, 27 Feb 2011 13:36:01 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>It uses the alpha channel. </p><p>Set the alpha channel to 0 on the pixels you don&#39;t want it to draw, and it won&#39;t draw them.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Sun, 27 Feb 2011 13:38:46 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>no the masking problem is solved. in allegro 4 i used to be able to draw bitmaps translucently by setting a transparency blender. allegro 5 doesn&#39;t seem to have that from my studies of the documentation
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (The Master)</author>
		<pubDate>Sun, 27 Feb 2011 13:47:20 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>alpha 0 indicates fully transparent, alpha 255 indicates fully opaque. How bitmaps are drawn depends on the blender in use. A5 uses premultiplied alpha by default, which means you have to scale the rgb values that you pass to functions by the alpha value, or else change the blender.</p><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/606549/905522#target">The Master</a> said:</div><div class="quote"><p>
i used to be able to draw bitmaps translucently by setting a transparency blender. allegro 5 doesn&#39;t seem to have that from my studies of the documentation
</p></div></div><p>
Use <span class="source-code"><a href="http://www.allegro.cc/manual/al_draw_tinted_bitmap"><span class="a">al_draw_tinted_bitmap</span></a><span class="k2">(</span>bitmap , <a href="http://www.allegro.cc/manual/al_map_rgba_f"><span class="a">al_map_rgba_f</span></a><span class="k2">(</span><span class="n">1</span>.<span class="n">0f</span> , <span class="n">1</span>.<span class="n">0f</span> , <span class="n">1</span>.<span class="n">0f</span> , <span class="n">0</span>.<span class="n">5f</span><span class="k2">)</span> , x , y , <span class="n">0</span><span class="k2">)</span><span class="k2">;</span></span> to draw at 50% opacity.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Sun, 27 Feb 2011 13:49:43 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>What effect do you want?</p><p>If using the default pre-multiplied alpha blender, then something like this will draw at 50%:
</p><div class="source-code snippet"><div class="inner"><pre><a href="http://www.allegro.cc/manual/al_draw_tinted_bitmap"><span class="a">al_draw_tinted_bitmap</span></a><span class="k2">(</span>bitmap, <a href="http://www.allegro.cc/manual/al_map_rgba_f"><span class="a">al_map_rgba_f</span></a><span class="k2">(</span><span class="n">0</span>.<span class="n">5</span>, <span class="n">0</span>.<span class="n">5</span>, <span class="n">0</span>.<span class="n">5</span>, <span class="n">0</span>.<span class="n">5</span><span class="k2">)</span>, x, y, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Sun, 27 Feb 2011 13:51:26 +0000</pubDate>
	</item>
</rss>
