<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Rotating square with mouse</title>
		<link>http://www.allegro.cc/forums/view/610900</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Fri, 31 Aug 2012 02:29:38 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I wanted to ask, how can i make a square rotate in base of </p><p>event.mouse.x<br />event.mouse.y</p><p>The square is al_draw_rectangle(x-15,y-15,x+15,y+15,al_map_rgb(0,0,255),3.0);</p><p>Is there any way to do that? The square cannot move with mouse, only with keyboard.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (AleX-G Squadron)</author>
		<pubDate>Sun, 26 Aug 2012 21:00:04 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Your question is a bit incomplete... let me use my A5 mind reading addon and guess what you actually want.</p><p>You can do that using transformations:</p><div class="source-code snippet"><div class="inner"><pre><a href="http://www.allegro.cc/manual/ALLEGRO_TRANSFORM"><span class="a">ALLEGRO_TRANSFORM</span></a> trans<span class="k2">;</span>
<a href="http://www.allegro.cc/manual/al_identity_transform"><span class="a">al_identity_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>trans<span class="k2">)</span><span class="k2">;</span>
<a href="http://www.allegro.cc/manual/al_translate_transform"><span class="a">al_translate_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>trans, <span class="k3">-</span>cx, <span class="k3">-</span>cy<span class="k2">)</span><span class="k2">;</span> <span class="c">//cx,cy are set to the mouse coordinates in the mouse event</span>
<a href="http://www.allegro.cc/manual/al_rotate_transform"><span class="a">al_rotate_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>trans, theta<span class="k2">)</span><span class="k2">;</span>
<a href="http://www.allegro.cc/manual/al_translate_transform"><span class="a">al_translate_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>trans, cx, cy<span class="k2">)</span><span class="k2">;</span>
<a href="http://www.allegro.cc/manual/al_use_transform"><span class="a">al_use_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>trans<span class="k2">)</span><span class="k2">;</span>
<a href="http://www.allegro.cc/manual/al_draw_rectangle"><span class="a">al_draw_rectangle</span></a><span class="k2">(</span>x <span class="k3">-</span> <span class="n">15</span>, y <span class="k3">-</span> <span class="n">15</span>, x <span class="k3">+</span> <span class="n">15</span>, y <span class="k3">+</span> <span class="n">15</span>, <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, <span class="n">255</span><span class="k2">)</span>, <span class="n">3</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="c">/* Reset transform */</span>
<a href="http://www.allegro.cc/manual/al_identity_transform"><span class="a">al_identity_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>trans<span class="k2">)</span><span class="k2">;</span>
<a href="http://www.allegro.cc/manual/al_use_transform"><span class="a">al_use_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>trans<span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (SiegeLord)</author>
		<pubDate>Sun, 26 Aug 2012 22:08:37 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Your code works perfect. But i need to rotate the square.<br />Here is what i want to do:<br />The square must be at the center and wont move. If i move the mouse, it wont move again.<br />It will only rotate in base of the mouse e.mouse.x and e.mouse.y
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (AleX-G Squadron)</author>
		<pubDate>Sun, 26 Aug 2012 22:37:30 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Sorry, what? You need to be clearer.</p><p>What I gather so far :<br />1) The square is centered on the center of the screen.<br />2?) You want to rotate the square according to the direction from the center of the square to the mouse position?</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">double</span> theta_radians <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_50.html" target="_blank">atan2</a><span class="k2">(</span>event.mouse.y <span class="k3">-</span> square_center_y , event.mouse.x <span class="k3">-</span> square_center_x<span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>

Then use a transform to center on the center of the square, then add in a rotate transform to rotate by theta_radians, then draw the square.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Sun, 26 Aug 2012 23:39:13 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I have used the AMCerasoli video of networking, because it is clearer.<br />You see the player rotates when he moves the mouse?<br />I want to make the same thing, just with a square.</p><p><div class="media-player youtube"><div style="margin: 1em 2em; background: url(/images/movie.png); width: 180px; height: 100px; text-align: center;"><a href="http://www.allegro.cc//www.youtube.com/watch?v=NhtAVxjgEaQ" target="_blank"><img src="http://www.allegro.cc//djungxnpq2nug.cloudfront.net/image/object/d/2/d2358810b2795c88b2db1a746bf6c73e.jpg" border="0" alt="video" title="Click to play video" /></a></div></div></p><p>Also, the code of siege worked, but the center was not the square, but the top left corner of the screen. How to change the center?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (AleX-G Squadron)</author>
		<pubDate>Sun, 26 Aug 2012 23:45:35 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>How about this:</p><div class="source-code snippet"><div class="inner"><pre><a href="http://www.allegro.cc/manual/ALLEGRO_TRANSFORM"><span class="a">ALLEGRO_TRANSFORM</span></a> trans<span class="k2">;</span>
<a href="http://www.allegro.cc/manual/al_identity_transform"><span class="a">al_identity_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>trans<span class="k2">)</span><span class="k2">;</span>
<a href="http://www.allegro.cc/manual/al_rotate_transform"><span class="a">al_rotate_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>trans, theta<span class="k2">)</span><span class="k2">;</span>
<a href="http://www.allegro.cc/manual/al_translate_transform"><span class="a">al_translate_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>trans, x, y<span class="k2">)</span><span class="k2">;</span>
<a href="http://www.allegro.cc/manual/al_use_transform"><span class="a">al_use_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>trans<span class="k2">)</span><span class="k2">;</span>
<a href="http://www.allegro.cc/manual/al_draw_rectangle"><span class="a">al_draw_rectangle</span></a><span class="k2">(</span><span class="k3">-</span><span class="n">15</span>, <span class="k3">-</span><span class="n">15</span>, <span class="n">15</span>, <span class="n">15</span>, <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, <span class="n">255</span><span class="k2">)</span>, <span class="n">3</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="c">/* Reset transform */</span>
<a href="http://www.allegro.cc/manual/al_identity_transform"><span class="a">al_identity_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>trans<span class="k2">)</span><span class="k2">;</span>
<a href="http://www.allegro.cc/manual/al_use_transform"><span class="a">al_use_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>trans<span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>
You&#39;d compute the theta using the formula Edgar posted.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (SiegeLord)</author>
		<pubDate>Mon, 27 Aug 2012 00:34:49 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Same thing again, it just moved a little</p><p>Who in the world understands this from the manual</p><p>&quot;Apply a translation to a transformation.&quot;</p><p>Also, i tried scale transform and it didnt work at all with the mouse.</p><p>atan2 is wrong in my configuration after including math.h which wasnt even mentioned to use:<br />double theta_radians = atan2(e.mouse.y - (x + 15) , e.mouse.x - (y - 15));
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (AleX-G Squadron)</author>
		<pubDate>Mon, 27 Aug 2012 00:37:05 +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/610900/964105#target">AleX-G Squadron</a> said:</div><div class="quote"><p> Same thing again, it just moved a little
</p></div></div><p>Then you&#39;re doing something wrong, as this example shows that it works fine:</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="p">#include &lt;stdio.h&gt;</span>
<span class="number">   2</span><span class="p">#include &lt;allegro5/allegro.h&gt;</span>
<span class="number">   3</span><span class="p">#include &lt;allegro5/allegro_primitives.h&gt;</span>
<span class="number">   4</span><span class="p">#include &lt;math.h&gt;</span>
<span class="number">   5</span><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span>
<span class="number">   6</span><span class="k2">{</span>
<span class="number">   7</span>  <a href="http://www.allegro.cc/manual/al_init"><span class="a">al_init</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">   8</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a><span class="k3">*</span> d <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_display"><span class="a">al_create_display</span></a><span class="k2">(</span><span class="n">800</span>, <span class="n">600</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">   9</span>  <a href="http://www.allegro.cc/manual/al_init_primitives_addon"><span class="a">al_init_primitives_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  10</span>  <a href="http://www.allegro.cc/manual/al_install_mouse"><span class="a">al_install_mouse</span></a><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_install_keyboard"><span class="a">al_install_keyboard</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  12</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a><span class="k3">*</span> t <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_timer"><span class="a">al_create_timer</span></a><span class="k2">(</span><span class="n">1</span>.<span class="n">0</span> <span class="k3">/</span> <span class="n">60</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  13</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a><span class="k3">*</span> q <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_event_queue"><span class="a">al_create_event_queue</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_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>q, <a href="http://www.allegro.cc/manual/al_get_mouse_event_source"><span class="a">al_get_mouse_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  15</span>  <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>q, <a href="http://www.allegro.cc/manual/al_get_keyboard_event_source"><span class="a">al_get_keyboard_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  16</span>  <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>q, <a href="http://www.allegro.cc/manual/al_get_timer_event_source"><span class="a">al_get_timer_event_source</span></a><span class="k2">(</span>t<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  17</span>  
<span class="number">  18</span>  <span class="k1">int</span> x <span class="k3">=</span> <span class="n">200</span><span class="k2">;</span>
<span class="number">  19</span>  <span class="k1">int</span> y <span class="k3">=</span> <span class="n">200</span><span class="k2">;</span>
<span class="number">  20</span>  <span class="k1">int</span> vx <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  21</span>  <span class="k1">int</span> vy <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  22</span>  <span class="k1">int</span> mx <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  23</span>  <span class="k1">int</span> my <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  24</span>  <span class="k1">float</span> theta <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  25</span>  
<span class="number">  26</span>  <a href="http://www.allegro.cc/manual/al_start_timer"><span class="a">al_start_timer</span></a><span class="k2">(</span>t<span class="k2">)</span><span class="k2">;</span>
<span class="number">  27</span>  <span class="k1">bool</span> quit <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  28</span>  <span class="k1">bool</span> redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  29</span>  <span class="k1">while</span><span class="k2">(</span><span class="k3">!</span>quit<span class="k2">)</span>
<span class="number">  30</span>  <span class="k2">{</span>
<span class="number">  31</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> e<span class="k2">;</span>
<span class="number">  32</span>    <a href="http://www.allegro.cc/manual/al_wait_for_event"><span class="a">al_wait_for_event</span></a><span class="k2">(</span>q, <span class="k3">&amp;</span>e<span class="k2">)</span><span class="k2">;</span>
<span class="number">  33</span>    <span class="k1">switch</span><span class="k2">(</span>e.type<span class="k2">)</span>
<span class="number">  34</span>    <span class="k2">{</span>
<span class="number">  35</span>      <span class="k1">case</span> ALLEGRO_EVENT_MOUSE_AXES:
<span class="number">  36</span>        mx <span class="k3">=</span> e.mouse.x<span class="k2">;</span>
<span class="number">  37</span>        my <span class="k3">=</span> e.mouse.y<span class="k2">;</span>
<span class="number">  38</span>        <span class="k1">break</span><span class="k2">;</span>
<span class="number">  39</span>      <span class="k1">case</span> ALLEGRO_EVENT_KEY_DOWN:
<span class="number">  40</span>        <span class="k1">switch</span><span class="k2">(</span>e.keyboard.keycode<span class="k2">)</span>
<span class="number">  41</span>        <span class="k2">{</span>
<span class="number">  42</span>          <span class="k1">case</span> ALLEGRO_KEY_ESCAPE:
<span class="number">  43</span>            quit <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  44</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number">  45</span>          <span class="k1">case</span> ALLEGRO_KEY_RIGHT:
<span class="number">  46</span>            vx <span class="k3">+</span><span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  47</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number">  48</span>          <span class="k1">case</span> ALLEGRO_KEY_LEFT:
<span class="number">  49</span>            vx <span class="k3">-</span><span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  50</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number">  51</span>          <span class="k1">case</span> ALLEGRO_KEY_UP:
<span class="number">  52</span>            vy <span class="k3">-</span><span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  53</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number">  54</span>          <span class="k1">case</span> ALLEGRO_KEY_DOWN:
<span class="number">  55</span>            vy <span class="k3">+</span><span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  56</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number">  57</span>        <span class="k2">}</span>
<span class="number">  58</span>        <span class="k1">break</span><span class="k2">;</span>
<span class="number">  59</span>      <span class="k1">case</span> ALLEGRO_EVENT_KEY_UP:
<span class="number">  60</span>        <span class="k1">switch</span><span class="k2">(</span>e.keyboard.keycode<span class="k2">)</span>
<span class="number">  61</span>        <span class="k2">{</span>
<span class="number">  62</span>          <span class="k1">case</span> ALLEGRO_KEY_RIGHT:
<span class="number">  63</span>            vx <span class="k3">-</span><span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  64</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number">  65</span>          <span class="k1">case</span> ALLEGRO_KEY_LEFT:
<span class="number">  66</span>            vx <span class="k3">+</span><span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  67</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number">  68</span>          <span class="k1">case</span> ALLEGRO_KEY_UP:
<span class="number">  69</span>            vy <span class="k3">+</span><span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  70</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number">  71</span>          <span class="k1">case</span> ALLEGRO_KEY_DOWN:
<span class="number">  72</span>            vy <span class="k3">-</span><span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  73</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number">  74</span>        <span class="k2">}</span>
<span class="number">  75</span>        <span class="k1">break</span><span class="k2">;</span>
<span class="number">  76</span>      <span class="k1">case</span> ALLEGRO_EVENT_TIMER:
<span class="number">  77</span>        x <span class="k3">+</span><span class="k3">=</span> vx<span class="k2">;</span>
<span class="number">  78</span>        y <span class="k3">+</span><span class="k3">=</span> vy<span class="k2">;</span>
<span class="number">  79</span>        theta <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_50.html" target="_blank">atan2</a><span class="k2">(</span>my <span class="k3">-</span> y, mx <span class="k3">-</span> x<span class="k2">)</span><span class="k2">;</span>
<span class="number">  80</span>        redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  81</span>        <span class="k1">break</span><span class="k2">;</span>
<span class="number">  82</span>    <span class="k2">}</span>
<span class="number">  83</span>    
<span class="number">  84</span>    <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_is_event_queue_empty"><span class="a">al_is_event_queue_empty</span></a><span class="k2">(</span>q<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> redraw<span class="k2">)</span>
<span class="number">  85</span>    <span class="k2">{</span>
<span class="number">  86</span>      <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_map_rgb_f"><span class="a">al_map_rgb_f</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  87</span>      
<span class="number">  88</span>      <a href="http://www.allegro.cc/manual/ALLEGRO_TRANSFORM"><span class="a">ALLEGRO_TRANSFORM</span></a> trans<span class="k2">;</span>
<span class="number">  89</span>      <a href="http://www.allegro.cc/manual/al_identity_transform"><span class="a">al_identity_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>trans<span class="k2">)</span><span class="k2">;</span>
<span class="number">  90</span>      <a href="http://www.allegro.cc/manual/al_rotate_transform"><span class="a">al_rotate_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>trans, theta<span class="k2">)</span><span class="k2">;</span>
<span class="number">  91</span>      <a href="http://www.allegro.cc/manual/al_translate_transform"><span class="a">al_translate_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>trans, x, y<span class="k2">)</span><span class="k2">;</span>
<span class="number">  92</span>      <a href="http://www.allegro.cc/manual/al_use_transform"><span class="a">al_use_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>trans<span class="k2">)</span><span class="k2">;</span>
<span class="number">  93</span>      <a href="http://www.allegro.cc/manual/al_draw_rectangle"><span class="a">al_draw_rectangle</span></a><span class="k2">(</span><span class="k3">-</span><span class="n">15</span>, <span class="k3">-</span><span class="n">15</span>, <span class="n">15</span>, <span class="n">15</span>, <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, <span class="n">255</span><span class="k2">)</span>, <span class="n">3</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  94</span>      <span class="c">/* Reset transform */</span>
<span class="number">  95</span>      <a href="http://www.allegro.cc/manual/al_identity_transform"><span class="a">al_identity_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>trans<span class="k2">)</span><span class="k2">;</span>
<span class="number">  96</span>      <a href="http://www.allegro.cc/manual/al_use_transform"><span class="a">al_use_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>trans<span class="k2">)</span><span class="k2">;</span>
<span class="number">  97</span>      
<span class="number">  98</span>      <a href="http://www.allegro.cc/manual/al_flip_display"><span class="a">al_flip_display</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  99</span>    <span class="k2">}</span>
<span class="number"> 100</span>  <span class="k2">}</span>
<span class="number"> 101</span>  
<span class="number"> 102</span>  <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 103</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (SiegeLord)</author>
		<pubDate>Mon, 27 Aug 2012 01:10:52 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>atan2 doesnt work. I dont know why. I am using visual studio 2012<br />I copy pasted your code and it doesnt work on my machine only because of atan2
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (AleX-G Squadron)</author>
		<pubDate>Mon, 27 Aug 2012 01:16:00 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Are you linking with math.lib?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Arthur Kalliokoski)</author>
		<pubDate>Mon, 27 Aug 2012 11:10:12 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I added the math.lib in the Linker -&gt; General -&gt; Additional Library Dependencies</p><p>Used this path<br />C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include;%(AdditionalLibraryDirectories)</p><p>Then i tried this other one<br />C:\Program Files %28x86%29\Microsoft Visual Studio 11.0\VC\include</p><p>Still the same
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (AleX-G Squadron)</author>
		<pubDate>Mon, 27 Aug 2012 13:39:07 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="source-code snippet"><div class="inner"><pre> theta <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_50.html" target="_blank">atan2</a><span class="k2">(</span>my <span class="k3">-</span> y, mx <span class="k3">-</span> x<span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>

I have the same problem <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /><br />Try this
</p><div class="source-code snippet"><div class="inner"><pre> theta <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_50.html" target="_blank">atan2</a><span class="k2">(</span><span class="k2">(</span><span class="k1">float</span><span class="k2">)</span><span class="k2">(</span>my <span class="k3">-</span> y<span class="k2">)</span>, <span class="k2">(</span><span class="k1">float</span><span class="k2">)</span><span class="k2">(</span>mx <span class="k3">-</span> x<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>

Theta in this case must be float <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /></p><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/610900/964110#target">AleX-G Squadron</a> said:</div><div class="quote"><p>
I am using visual studio 2012
</p></div></div><p>
o.O<br />Visual Studio for Windows 8?<br />Is there Intelisense? I&#39;m using 2008, because 2010 haven&#39;t got intelisense :/</p><p>And I think, that this is better way to do rotate something:
</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="p">#include &lt;allegro5/allegro.h&gt;</span>
<span class="number">   2</span><span class="p">#include &lt;allegro5/allegro_primitives.h&gt;</span>
<span class="number">   3</span><span class="p">#include &lt;allegro5/allegro_font.h&gt;</span>
<span class="number">   4</span><span class="p">#include &lt;allegro5/allegro_ttf.h&gt;</span>
<span class="number">   5</span><span class="p">#include &lt;math.h&gt;</span>
<span class="number">   6</span>
<span class="number">   7</span><span class="k1">int</span> main<span class="k2">(</span> <span class="k1">void</span> <span class="k2">)</span>
<span class="number">   8</span><span class="k2">{</span>
<span class="number">   9</span>  <span class="c">// Inicjalizacja bibliotek</span>
<span class="number">  10</span>  <a href="http://www.allegro.cc/manual/al_init"><span class="a">al_init</span></a><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_init_primitives_addon"><span class="a">al_init_primitives_addon</span></a><span class="k2">(</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number">  12</span>  <a href="http://www.allegro.cc/manual/al_init_font_addon"><span class="a">al_init_font_addon</span></a><span class="k2">(</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number">  13</span>  <a href="http://www.allegro.cc/manual/al_init_ttf_addon"><span class="a">al_init_ttf_addon</span></a><span class="k2">(</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number">  14</span>
<span class="number">  15</span>  <span class="c">// Instalowanie kontrolerów</span>
<span class="number">  16</span>  <a href="http://www.allegro.cc/manual/al_install_mouse"><span class="a">al_install_mouse</span></a><span class="k2">(</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number">  17</span>  <a href="http://www.allegro.cc/manual/al_install_keyboard"><span class="a">al_install_keyboard</span></a><span class="k2">(</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number">  18</span>  <a href="http://www.allegro.cc/manual/al_install_joystick"><span class="a">al_install_joystick</span></a><span class="k2">(</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number">  19</span>
<span class="number">  20</span>  <span class="c">// Zmienne allegro</span>
<span class="number">  21</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a>    <span class="k3">*</span>display  <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_display"><span class="a">al_create_display</span></a><span class="k2">(</span> <span class="n">800</span>, <span class="n">600</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number">  22</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a> <span class="k3">*</span>queue    <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_event_queue"><span class="a">al_create_event_queue</span></a><span class="k2">(</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number">  23</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a>    <span class="k3">*</span>timer    <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_timer"><span class="a">al_create_timer</span></a><span class="k2">(</span> <span class="n">1</span>.<span class="n">0</span> <span class="k3">/</span> <span class="n">60</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number">  24</span>
<span class="number">  25</span>  <span class="c">// Rejestrowanie zdarzeń</span>
<span class="number">  26</span>  <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span> queue, <a href="http://www.allegro.cc/manual/al_get_keyboard_event_source"><span class="a">al_get_keyboard_event_source</span></a><span class="k2">(</span> <span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number">  27</span>  <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span> queue, <a href="http://www.allegro.cc/manual/al_get_mouse_event_source"><span class="a">al_get_mouse_event_source</span></a><span class="k2">(</span> <span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number">  28</span>  <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span> queue, <a href="http://www.allegro.cc/manual/al_get_joystick_event_source"><span class="a">al_get_joystick_event_source</span></a><span class="k2">(</span> <span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number">  29</span>  <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span> queue, <a href="http://www.allegro.cc/manual/al_get_display_event_source"><span class="a">al_get_display_event_source</span></a><span class="k2">(</span> display <span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number">  30</span>  <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span> queue, <a href="http://www.allegro.cc/manual/al_get_timer_event_source"><span class="a">al_get_timer_event_source</span></a><span class="k2">(</span> timer <span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number">  31</span>
<span class="number">  32</span><span class="c">///////////////////////////////////////////////////////////////////////////////</span>
<span class="number">  33</span>  <span class="c">// CREATE BITMAP</span>
<span class="number">  34</span><span class="c">///////////////////////////////////////////////////////////////////////////////</span>
<span class="number">  35</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>bitmap <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> <span class="n">40</span>, <span class="n">40</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number">  36</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> bitmap <span class="k2">)</span><span class="k2">;</span>
<span class="number">  37</span>  <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span> <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span> <span class="n">60</span>, <span class="n">80</span>, <span class="n">100</span> <span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number">  38</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> <a href="http://www.allegro.cc/manual/al_get_backbuffer"><span class="a">al_get_backbuffer</span></a><span class="k2">(</span> display <span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number">  39</span>
<span class="number">  40</span>  <span class="k1">bool</span> run  <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  41</span>  <span class="k1">bool</span> render <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  42</span>
<span class="number">  43</span>  <span class="k1">bool</span> keys<span class="k2">[</span><span class="n">4</span><span class="k2">]</span> <span class="k3">=</span> <span class="k2">{</span> <span class="k1">false</span>, <span class="k1">false</span>, <span class="k1">false</span>, <span class="k1">false</span> <span class="k2">}</span><span class="k2">;</span>
<span class="number">  44</span>
<span class="number">  45</span>  <span class="k1">int</span> posx <span class="k3">=</span> <span class="n">40</span><span class="k2">;</span>
<span class="number">  46</span>  <span class="k1">int</span> posy <span class="k3">=</span> <span class="n">40</span><span class="k2">;</span>
<span class="number">  47</span>  <span class="k1">float</span> theta <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  48</span>
<span class="number">  49</span>  <a href="http://www.allegro.cc/manual/al_start_timer"><span class="a">al_start_timer</span></a><span class="k2">(</span> timer <span class="k2">)</span><span class="k2">;</span>
<span class="number">  50</span>  <span class="k1">while</span><span class="k2">(</span> run <span class="k2">)</span>
<span class="number">  51</span>  <span class="k2">{</span>
<span class="number">  52</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> event<span class="k2">;</span>
<span class="number">  53</span>    <a href="http://www.allegro.cc/manual/al_wait_for_event"><span class="a">al_wait_for_event</span></a><span class="k2">(</span> queue, <span class="k3">&amp;</span>event <span class="k2">)</span><span class="k2">;</span>
<span class="number">  54</span>
<span class="number">  55</span>    <span class="k1">switch</span><span class="k2">(</span> event.type <span class="k2">)</span>
<span class="number">  56</span>    <span class="k2">{</span>
<span class="number">  57</span>    <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_CLOSE:
<span class="number">  58</span>
<span class="number">  59</span>      run <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  60</span>
<span class="number">  61</span>    <span class="k1">break</span><span class="k2">;</span>
<span class="number">  62</span>    <span class="k1">case</span> ALLEGRO_EVENT_TIMER:
<span class="number">  63</span>
<span class="number">  64</span>      render <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  65</span>
<span class="number">  66</span>    <span class="k1">break</span><span class="k2">;</span>
<span class="number">  67</span>    <span class="k1">case</span> ALLEGRO_EVENT_KEY_DOWN:
<span class="number">  68</span>
<span class="number">  69</span>      <span class="k1">switch</span><span class="k2">(</span> event.keyboard.keycode <span class="k2">)</span>
<span class="number">  70</span>      <span class="k2">{</span>
<span class="number">  71</span>      <span class="k1">case</span> ALLEGRO_KEY_UP:
<span class="number">  72</span>        keys<span class="k2">[</span><span class="n">0</span><span class="k2">]</span> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  73</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number">  74</span>      <span class="k1">case</span> ALLEGRO_KEY_DOWN:
<span class="number">  75</span>        keys<span class="k2">[</span><span class="n">1</span><span class="k2">]</span> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  76</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number">  77</span>      <span class="k1">case</span> ALLEGRO_KEY_LEFT:
<span class="number">  78</span>        keys<span class="k2">[</span><span class="n">2</span><span class="k2">]</span> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  79</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number">  80</span>      <span class="k1">case</span> ALLEGRO_KEY_RIGHT:
<span class="number">  81</span>        keys<span class="k2">[</span><span class="n">3</span><span class="k2">]</span> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  82</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number">  83</span>      <span class="k2">}</span>
<span class="number">  84</span>
<span class="number">  85</span>    <span class="k1">break</span><span class="k2">;</span>
<span class="number">  86</span>    <span class="k1">case</span> ALLEGRO_EVENT_KEY_UP:
<span class="number">  87</span>
<span class="number">  88</span>      <span class="k1">switch</span><span class="k2">(</span> event.keyboard.keycode <span class="k2">)</span>
<span class="number">  89</span>      <span class="k2">{</span>
<span class="number">  90</span>      <span class="k1">case</span> ALLEGRO_KEY_UP:
<span class="number">  91</span>        keys<span class="k2">[</span><span class="n">0</span><span class="k2">]</span> <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  92</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number">  93</span>      <span class="k1">case</span> ALLEGRO_KEY_DOWN:
<span class="number">  94</span>        keys<span class="k2">[</span><span class="n">1</span><span class="k2">]</span> <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  95</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number">  96</span>      <span class="k1">case</span> ALLEGRO_KEY_LEFT:
<span class="number">  97</span>        keys<span class="k2">[</span><span class="n">2</span><span class="k2">]</span> <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  98</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number">  99</span>      <span class="k1">case</span> ALLEGRO_KEY_RIGHT:
<span class="number"> 100</span>        keys<span class="k2">[</span><span class="n">3</span><span class="k2">]</span> <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 101</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 102</span>      <span class="k1">case</span> ALLEGRO_KEY_ESCAPE:
<span class="number"> 103</span>        run <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 104</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 105</span>      <span class="k2">}</span>
<span class="number"> 106</span>
<span class="number"> 107</span>    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 108</span>    <span class="k1">case</span> ALLEGRO_EVENT_MOUSE_AXES:
<span class="number"> 109</span>      theta <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_50.html" target="_blank">atan2</a><span class="k2">(</span> <span class="k2">(</span><span class="k1">float</span><span class="k2">)</span><span class="k2">(</span>event.mouse.y <span class="k3">-</span> posy <span class="k3">+</span> <span class="n">10</span><span class="k2">)</span>, <span class="k2">(</span><span class="k1">float</span><span class="k2">)</span><span class="k2">(</span>event.mouse.x <span class="k3">-</span> posx <span class="k3">+</span> <span class="n">10</span><span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 110</span>    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 111</span>    <span class="k2">}</span>
<span class="number"> 112</span>
<span class="number"> 113</span>    <span class="k1">if</span><span class="k2">(</span> render <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/al_is_event_queue_empty"><span class="a">al_is_event_queue_empty</span></a><span class="k2">(</span> queue <span class="k2">)</span> <span class="k2">)</span>
<span class="number"> 114</span>    <span class="k2">{</span>
<span class="number"> 115</span>      render <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 116</span>      <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span> <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span> <span class="n">250</span>, <span class="n">250</span>, <span class="n">250</span> <span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 117</span>
<span class="number"> 118</span>      <span class="k1">if</span><span class="k2">(</span> keys<span class="k2">[</span><span class="n">0</span><span class="k2">]</span> <span class="k2">)</span> posy <span class="k3">-</span><span class="k3">=</span> <span class="n">3</span><span class="k2">;</span>
<span class="number"> 119</span>      <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span> keys<span class="k2">[</span><span class="n">1</span><span class="k2">]</span> <span class="k2">)</span> posy <span class="k3">+</span><span class="k3">=</span> <span class="n">3</span><span class="k2">;</span>
<span class="number"> 120</span>      <span class="k1">if</span><span class="k2">(</span> keys<span class="k2">[</span><span class="n">2</span><span class="k2">]</span> <span class="k2">)</span> posx <span class="k3">-</span><span class="k3">=</span> <span class="n">3</span><span class="k2">;</span>
<span class="number"> 121</span>      <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span> keys<span class="k2">[</span><span class="n">3</span><span class="k2">]</span> <span class="k2">)</span> posx <span class="k3">+</span><span class="k3">=</span> <span class="n">3</span><span class="k2">;</span>
<span class="number"> 122</span>
<span class="number"> 123</span><span class="c">///////////////////////////////////////////////////////////////////////////////</span>
<span class="number"> 124</span>      <span class="c">// ROTATE BITMAP</span>
<span class="number"> 125</span><span class="c">///////////////////////////////////////////////////////////////////////////////</span>
<span class="number"> 126</span>      <a href="http://www.allegro.cc/manual/al_draw_rotated_bitmap"><span class="a">al_draw_rotated_bitmap</span></a><span class="k2">(</span> bitmap, <span class="n">20</span>, <span class="n">20</span>, posx, posy, theta, <span class="n">0</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 127</span>
<span class="number"> 128</span>      <a href="http://www.allegro.cc/manual/al_flip_display"><span class="a">al_flip_display</span></a><span class="k2">(</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 129</span>    <span class="k2">}</span>
<span class="number"> 130</span>  <span class="k2">}</span>
<span class="number"> 131</span>
<span class="number"> 132</span>  <span class="c">// Destruktory</span>
<span class="number"> 133</span>  <a href="http://www.allegro.cc/manual/al_destroy_display"><span class="a">al_destroy_display</span></a> <span class="k2">(</span> display <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 134</span>  <a href="http://www.allegro.cc/manual/al_destroy_event_queue"><span class="a">al_destroy_event_queue</span></a> <span class="k2">(</span> queue <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 135</span>  <a href="http://www.allegro.cc/manual/al_destroy_timer"><span class="a">al_destroy_timer</span></a> <span class="k2">(</span> timer <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 136</span>  <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a> <span class="k2">(</span> bitmap <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 137</span>
<span class="number"> 138</span>  <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 139</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (CodeStepper)</author>
		<pubDate>Mon, 27 Aug 2012 18:25:56 +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/610900/964153#target">CodeStepper</a> said:</div><div class="quote"><p> Theta in this case must be float <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div></div><p>There is no integer version of atan2, that&#39;s just nonsensical.</p><p>What does this code print?</p><div class="source-code snippet"><div class="inner"><pre><span class="p">#include &lt;iostream&gt;</span>
<span class="p">#include &lt;typeinfo&gt;</span>
<span class="p">#include &lt;math.h&gt;</span>

<span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span>
<span class="k2">{</span>
  std::cout <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="k1">typeid</span><span class="k2">(</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_50.html" target="_blank">atan2</a><span class="k2">(</span><span class="k2">(</span><span class="k1">int</span><span class="k2">)</span><span class="n">0</span>, <span class="k1">int</span><span class="k2">(</span><span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">)</span>.name<span class="k2">(</span><span class="k2">)</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> std::endl<span class="k2">;</span>
  <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="k2">}</span>
</pre></div></div><p>

</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p> And I think, that this is better way to do rotate something:
</p></div></div><p>My way is better for primitives and in fact works for all drawables, while your way only works for bitmaps.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (SiegeLord)</author>
		<pubDate>Mon, 27 Aug 2012 18:57:49 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Oh... but there is double, long dobule and float atan2 version!</p><p>In fact, you can create bitmap from all drawable primitives and then rotate it <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /></p><p>While I compile your code, there is error:
</p><pre>
error C2668: &#39;atan2&#39; : ambiguous call to overloaded function
        c:\program files\microsoft visual studio 9.0\vc\include\math.h(547): could be &#39;long double atan2(long double,long double)&#39;
        c:\program files\microsoft visual studio 9.0\vc\include\math.h(499): or       &#39;float atan2(float,float)&#39;
        c:\program files\microsoft visual studio 9.0\vc\include\math.h(110): or       &#39;double atan2(double,double)&#39;
        while trying to match the argument list &#39;(int, int)&#39;
</pre><p>

I must do cast to float.<br /><img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /></p><p>Sory, but my previous words are logical <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (CodeStepper)</author>
		<pubDate>Mon, 27 Aug 2012 19:02:08 +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/610900/964156#target">CodeStepper</a> said:</div><div class="quote"><p> In fact, you can create bitmap from all drawable primitives and then rotate it <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div></div><p>Inefficient and unnecessary.</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p> While I compile your code, there is error:
</p></div></div><p>Well a compile error makes sense. It compiling without error and then not functioning does not. Either way, the original code is C not C++ <img src="http://www.allegro.cc/forums/smileys/wink.gif" alt=";)" />.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (SiegeLord)</author>
		<pubDate>Mon, 27 Aug 2012 19:09:51 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>But if you using bitmaps in this case, application works better <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /><br />Processor has less to count<br />At least I think so...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (CodeStepper)</author>
		<pubDate>Mon, 27 Aug 2012 19:20:48 +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/610900/964159#target">CodeStepper</a> said:</div><div class="quote"><p> But if you using bitmaps in this case, application works better <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div></div><p>If you only need to rotate a single pre-existing bitmap, then yeah... no need for transformations.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (SiegeLord)</author>
		<pubDate>Mon, 27 Aug 2012 19:24:34 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Well, I&#39;m currently not using transformations at all...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (AMCerasoli)</author>
		<pubDate>Mon, 27 Aug 2012 19:29:53 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>@codestepper<br />WOW THANKS! It works perfect! Can you make some notes in english to the program so i can understand it better? I mean especially the transformation, because i dont understand it well.</p><p>Visual Studio 2012 is the same as 2010, with some changes and it has intellisense. <br />I have had 2010 and it had intellisense, i dont know what version you had. I have worked on both for Allegro 5. I recently moved a game from VC9 to VC10 and it was very easy and fast.</p><p>I dont get it why it is a bad thing to do it like that, because it works 100%</p><p>Also, if anyone can make a pacman which opens its mouth using the al_draw_pieslice that would be great as i was trying to do it today without any success.</p><p>@cerasoli<br />What is your method of doing it?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (AleX-G Squadron)</author>
		<pubDate>Mon, 27 Aug 2012 20:38:07 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hmm... i think i don&#39;t make any bugs in comments <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" /><br />If yes, sorry <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /></p><p>Sorry for variable names - some of them don&#39;t reflect their roles</p><p>So, code for pac-man primitives version with comments:
</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="p">#include &lt;stdio.h&gt;</span>
<span class="number">   2</span><span class="p">#include &lt;allegro5/allegro.h&gt;</span>
<span class="number">   3</span><span class="p">#include &lt;allegro5/allegro_primitives.h&gt;</span>
<span class="number">   4</span><span class="p">#include &lt;math.h&gt;</span>
<span class="number">   5</span><span class="p">#include &lt;iostream&gt;</span>
<span class="number">   6</span><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span>
<span class="number">   7</span><span class="k2">{</span>
<span class="number">   8</span>  <span class="k1">const</span> <span class="k1">float</span> framesPerSecond <span class="k3">=</span> <span class="n">60</span><span class="k2">;</span> <span class="c">/////////////////// frames</span>
<span class="number">   9</span>
<span class="number">  10</span>  <a href="http://www.allegro.cc/manual/al_init"><span class="a">al_init</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  11</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a><span class="k3">*</span> d <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_display"><span class="a">al_create_display</span></a><span class="k2">(</span><span class="n">800</span>, <span class="n">600</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  12</span>  <a href="http://www.allegro.cc/manual/al_init_primitives_addon"><span class="a">al_init_primitives_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  13</span>  <a href="http://www.allegro.cc/manual/al_install_mouse"><span class="a">al_install_mouse</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_install_keyboard"><span class="a">al_install_keyboard</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  15</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a><span class="k3">*</span> t <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_timer"><span class="a">al_create_timer</span></a><span class="k2">(</span><span class="n">1</span>.<span class="n">0</span> <span class="k3">/</span> framesPerSecond<span class="k2">)</span><span class="k2">;</span>
<span class="number">  16</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a><span class="k3">*</span> q <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_event_queue"><span class="a">al_create_event_queue</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  17</span>  <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>q, <a href="http://www.allegro.cc/manual/al_get_mouse_event_source"><span class="a">al_get_mouse_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  18</span>  <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>q, <a href="http://www.allegro.cc/manual/al_get_keyboard_event_source"><span class="a">al_get_keyboard_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  19</span>  <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>q, <a href="http://www.allegro.cc/manual/al_get_timer_event_source"><span class="a">al_get_timer_event_source</span></a><span class="k2">(</span>t<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  20</span>  
<span class="number">  21</span>  <span class="k1">int</span> x <span class="k3">=</span> <span class="n">200</span><span class="k2">;</span>  <span class="c">// position x</span>
<span class="number">  22</span>  <span class="k1">int</span> y <span class="k3">=</span> <span class="n">200</span><span class="k2">;</span>  <span class="c">// position y</span>
<span class="number">  23</span>  <span class="k1">int</span> vx <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>  <span class="c">// velocity x</span>
<span class="number">  24</span>  <span class="k1">int</span> vy <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>  <span class="c">// velocity y</span>
<span class="number">  25</span>  <span class="k1">int</span> mx <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>  <span class="c">// mouse x</span>
<span class="number">  26</span>  <span class="k1">int</span> my <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>  <span class="c">// mouse y</span>
<span class="number">  27</span>  <span class="k1">float</span> theta <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>  <span class="c">// theta ( atan2 )</span>
<span class="number">  28</span>
<span class="number">  29</span>  <span class="c">// Maximum radius ( 360 degress in radians ) - half is 3.14159, ( so, half it's PI )</span>
<span class="number">  30</span>  <span class="k1">const</span> <span class="k1">float</span> maxDelta <span class="k3">=</span> <span class="n">6</span>.<span class="n">28318</span><span class="k2">;</span>
<span class="number">  31</span>  <span class="c">// Minimum radius ( minimum radius of slice ( maxDelta - minDelta is real radius of slice ) )</span>
<span class="number">  32</span>  <span class="k1">const</span> <span class="k1">float</span> minDelta <span class="k3">=</span> <span class="n">5</span>.<span class="n">0</span><span class="k2">;</span>
<span class="number">  33</span>
<span class="number">  34</span>  <span class="c">// Automatic variables</span>
<span class="number">  35</span>  <span class="k1">float</span> deltaFrame <span class="k3">=</span> <span class="k2">(</span> maxDelta <span class="k3">-</span> minDelta <span class="k2">)</span> <span class="k3">/</span> framesPerSecond<span class="k2">;</span>  <span class="c">// value of delta adding in every frame per second</span>
<span class="number">  36</span>  <span class="k1">float</span> currDelta <span class="k3">=</span> maxDelta<span class="k2">;</span>                  <span class="c">// start theta in </span>
<span class="number">  37</span>  <span class="k1">float</span> currDelta2 <span class="k3">=</span> minDelta<span class="k2">;</span>                  <span class="c">// delta_theta</span>
<span class="number">  38</span>  <span class="k1">float</span> halfDelta <span class="k3">=</span> <span class="k2">(</span> maxDelta <span class="k3">-</span> minDelta <span class="k2">)</span> <span class="k3">/</span> <span class="n">2</span><span class="k2">;</span>        <span class="c">// half of </span>
<span class="number">  39</span>
<span class="number">  40</span>  <span class="c">// Decide, (TRUE) if currDelta is increasing and currDelta2 decreasing or vice versa (FALSE)</span>
<span class="number">  41</span>  <span class="k1">bool</span> growing <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  42</span>
<span class="number">  43</span>  <a href="http://www.allegro.cc/manual/al_start_timer"><span class="a">al_start_timer</span></a><span class="k2">(</span>t<span class="k2">)</span><span class="k2">;</span>
<span class="number">  44</span>  <span class="k1">bool</span> quit <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  45</span>  <span class="k1">bool</span> redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  46</span>  <span class="k1">while</span><span class="k2">(</span><span class="k3">!</span>quit<span class="k2">)</span>
<span class="number">  47</span>  <span class="k2">{</span>
<span class="number">  48</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> e<span class="k2">;</span>
<span class="number">  49</span>    <a href="http://www.allegro.cc/manual/al_wait_for_event"><span class="a">al_wait_for_event</span></a><span class="k2">(</span>q, <span class="k3">&amp;</span>e<span class="k2">)</span><span class="k2">;</span>
<span class="number">  50</span>    <span class="k1">switch</span><span class="k2">(</span>e.type<span class="k2">)</span>
<span class="number">  51</span>    <span class="k2">{</span>
<span class="number">  52</span>      <span class="k1">case</span> ALLEGRO_EVENT_MOUSE_AXES:
<span class="number">  53</span>        mx <span class="k3">=</span> e.mouse.x<span class="k2">;</span>
<span class="number">  54</span>        my <span class="k3">=</span> e.mouse.y<span class="k2">;</span>
<span class="number">  55</span>        <span class="k1">break</span><span class="k2">;</span>
<span class="number">  56</span>    <span class="k1">case</span> ALLEGRO_EVENT_MOUSE_BUTTON_DOWN:
<span class="number">  57</span>      <a href="http://www.allegro.cc/manual/al_rest"><span class="a">al_rest</span></a><span class="k2">(</span> <span class="n">1</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number">  58</span>    <span class="k1">break</span><span class="k2">;</span>
<span class="number">  59</span>      <span class="k1">case</span> ALLEGRO_EVENT_KEY_DOWN:
<span class="number">  60</span>        <span class="k1">switch</span><span class="k2">(</span>e.keyboard.keycode<span class="k2">)</span>
<span class="number">  61</span>        <span class="k2">{</span>
<span class="number">  62</span>          <span class="k1">case</span> ALLEGRO_KEY_ESCAPE:
<span class="number">  63</span>            quit <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  64</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number">  65</span>          <span class="k1">case</span> ALLEGRO_KEY_RIGHT:
<span class="number">  66</span>            vx <span class="k3">+</span><span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  67</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number">  68</span>          <span class="k1">case</span> ALLEGRO_KEY_LEFT:
<span class="number">  69</span>            vx <span class="k3">-</span><span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  70</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number">  71</span>          <span class="k1">case</span> ALLEGRO_KEY_UP:
<span class="number">  72</span>            vy <span class="k3">-</span><span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  73</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number">  74</span>          <span class="k1">case</span> ALLEGRO_KEY_DOWN:
<span class="number">  75</span>            vy <span class="k3">+</span><span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  76</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number">  77</span>        <span class="k2">}</span>
<span class="number">  78</span>        <span class="k1">break</span><span class="k2">;</span>
<span class="number">  79</span>      <span class="k1">case</span> ALLEGRO_EVENT_KEY_UP:
<span class="number">  80</span>        <span class="k1">switch</span><span class="k2">(</span>e.keyboard.keycode<span class="k2">)</span>
<span class="number">  81</span>        <span class="k2">{</span>
<span class="number">  82</span>          <span class="k1">case</span> ALLEGRO_KEY_RIGHT:
<span class="number">  83</span>            vx <span class="k3">-</span><span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  84</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number">  85</span>          <span class="k1">case</span> ALLEGRO_KEY_LEFT:
<span class="number">  86</span>            vx <span class="k3">+</span><span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  87</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number">  88</span>          <span class="k1">case</span> ALLEGRO_KEY_UP:
<span class="number">  89</span>            vy <span class="k3">+</span><span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  90</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number">  91</span>          <span class="k1">case</span> ALLEGRO_KEY_DOWN:
<span class="number">  92</span>            vy <span class="k3">-</span><span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  93</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number">  94</span>        <span class="k2">}</span>
<span class="number">  95</span>        <span class="k1">break</span><span class="k2">;</span>
<span class="number">  96</span>      <span class="k1">case</span> ALLEGRO_EVENT_TIMER:
<span class="number">  97</span>        x <span class="k3">+</span><span class="k3">=</span> vx<span class="k2">;</span>
<span class="number">  98</span>        y <span class="k3">+</span><span class="k3">=</span> vy<span class="k2">;</span>
<span class="number">  99</span>        theta <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_50.html" target="_blank">atan2</a><span class="k2">(</span><span class="k2">(</span><span class="k1">float</span><span class="k2">)</span><span class="k2">(</span>my <span class="k3">-</span> y<span class="k2">)</span>, <span class="k2">(</span><span class="k1">float</span><span class="k2">)</span><span class="k2">(</span>mx <span class="k3">-</span> x<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 100</span>        redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 101</span>        <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 102</span>    <span class="k2">}</span>
<span class="number"> 103</span>    
<span class="number"> 104</span>    <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_is_event_queue_empty"><span class="a">al_is_event_queue_empty</span></a><span class="k2">(</span>q<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> redraw<span class="k2">)</span>
<span class="number"> 105</span>    <span class="k2">{</span>
<span class="number"> 106</span>      <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_map_rgb_f"><span class="a">al_map_rgb_f</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 107</span>      
<span class="number"> 108</span>    <span class="c">// Transformation</span>
<span class="number"> 109</span>      <a href="http://www.allegro.cc/manual/ALLEGRO_TRANSFORM"><span class="a">ALLEGRO_TRANSFORM</span></a> trans<span class="k2">;</span>
<span class="number"> 110</span>      <a href="http://www.allegro.cc/manual/al_identity_transform"><span class="a">al_identity_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>trans<span class="k2">)</span><span class="k2">;</span>    <span class="c">// creating transformation</span>
<span class="number"> 111</span>      <a href="http://www.allegro.cc/manual/al_rotate_transform"><span class="a">al_rotate_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>trans, theta<span class="k2">)</span><span class="k2">;</span>  <span class="c">// rotating display</span>
<span class="number"> 112</span>      <a href="http://www.allegro.cc/manual/al_translate_transform"><span class="a">al_translate_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>trans, x, y<span class="k2">)</span><span class="k2">;</span>  <span class="c">// moving transformation ( display )</span>
<span class="number"> 113</span>      <a href="http://www.allegro.cc/manual/al_use_transform"><span class="a">al_use_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>trans<span class="k2">)</span><span class="k2">;</span>        <span class="c">// using transformation</span>
<span class="number"> 114</span>
<span class="number"> 115</span>    <span class="c">// Drawing pieslice</span>
<span class="number"> 116</span>    al_draw_pieslice<span class="k2">(</span> <span class="n">0</span>, <span class="n">0</span>, <span class="n">20</span>, currDelta <span class="k3">+</span> halfDelta, currDelta2, <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span> <span class="n">255</span>, <span class="n">0</span>, <span class="n">0</span> <span class="k2">)</span>, <span class="n">2</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 117</span>
<span class="number"> 118</span>      <span class="c">/* Reset transform */</span>
<span class="number"> 119</span>      <a href="http://www.allegro.cc/manual/al_identity_transform"><span class="a">al_identity_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>trans<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 120</span>      <a href="http://www.allegro.cc/manual/al_use_transform"><span class="a">al_use_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>trans<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 121</span>
<span class="number"> 122</span>    <span class="c">// Checking radius</span>
<span class="number"> 123</span>    <span class="k1">if</span><span class="k2">(</span> currDelta <span class="k3">&gt;</span><span class="k3">=</span> maxDelta <span class="k2">)</span> growing <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 124</span>    <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span> currDelta <span class="k3">&lt;</span><span class="k3">=</span> minDelta <span class="k3">+</span> halfDelta <span class="k2">)</span> growing <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 125</span>
<span class="number"> 126</span>    <span class="c">// Decreasing or increasing</span>
<span class="number"> 127</span>    <span class="c">// In case variable currDelta2, value is multipled * 2, that the top line was moving</span>
<span class="number"> 128</span>    <span class="k1">if</span><span class="k2">(</span> growing <span class="k2">)</span> currDelta <span class="k3">+</span><span class="k3">=</span> deltaFrame, currDelta2 <span class="k3">-</span><span class="k3">=</span> deltaFrame <span class="k3">*</span> <span class="n">2</span><span class="k2">;</span>
<span class="number"> 129</span>    <span class="k1">else</span> currDelta <span class="k3">-</span><span class="k3">=</span> deltaFrame, currDelta2 <span class="k3">+</span><span class="k3">=</span> deltaFrame <span class="k3">*</span> <span class="n">2</span><span class="k2">;</span>
<span class="number"> 130</span>      
<span class="number"> 131</span>      <a href="http://www.allegro.cc/manual/al_flip_display"><span class="a">al_flip_display</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 132</span>    <span class="k2">}</span>
<span class="number"> 133</span>  <span class="k2">}</span>
<span class="number"> 134</span>  
<span class="number"> 135</span>  <a href="http://www.allegro.cc/manual/al_destroy_display"><span class="a">al_destroy_display</span></a><span class="k2">(</span> d <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 136</span>  <a href="http://www.allegro.cc/manual/al_destroy_event_queue"><span class="a">al_destroy_event_queue</span></a><span class="k2">(</span> q <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 137</span>  <a href="http://www.allegro.cc/manual/al_destroy_timer"><span class="a">al_destroy_timer</span></a><span class="k2">(</span> t <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 138</span>  <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 139</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (CodeStepper)</author>
		<pubDate>Mon, 27 Aug 2012 23:48:59 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Wow, you are amazing! <img src="http://www.allegro.cc/forums/smileys/cheesy.gif" alt=":D" /><br />Thank you very much man, it worked perfect <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (AleX-G Squadron)</author>
		<pubDate>Thu, 30 Aug 2012 18:28:07 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I forgot about this:
</p><div class="source-code snippet"><div class="inner"><pre>redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
</pre></div></div><p>

Paste this before:
</p><div class="source-code snippet"><div class="inner"><pre><a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_map_rgb_f"><span class="a">al_map_rgb_f</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>

And it will run better <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (CodeStepper)</author>
		<pubDate>Fri, 31 Aug 2012 02:29:38 +0000</pubDate>
	</item>
</rss>
