<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>[A5] Ghost trail when moving primitives</title>
		<link>http://www.allegro.cc/forums/view/610623</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Sat, 14 Jul 2012 21:35:53 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hi,</p><p>I am new to Allegro and my game programming skills are spotty in general. I&#39;m trying to migrate my game from XNA to Allegro and so I set off to write a sample &quot;game&quot; in Allegro to get a framework in place.</p><p>My problem is whenever I move my test object (A blue triangle) around, it leaves behind a trail the exact length of the movement speed. I thought it was just my computer possibly since I&#39;m on an integrated graphics rig right now but my friends have confirmed it happens on their computers.</p><p>I have the sample uploaded to see what I mean here: (Press Enter to start it otherwise you&#39;ll only see a green screen)<br /><a href="https://rapidshare.com/files/1255978564/PwnSquadPCTest.zip">https://rapidshare.com/files/1255978564/PwnSquadPCTest.zip</a></p><p>And of course my source 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="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;allegro5\allegro_native_dialog.h&gt;</span>
<span class="number">   6</span>
<span class="number">   7</span><span class="c">// Load pointers</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>display <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">   9</span><a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a> <span class="k3">*</span>event_queue <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  10</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> NULL<span class="k2">;</span>
<span class="number">  11</span><a href="http://www.allegro.cc/manual/ALLEGRO_FONT"><span class="a">ALLEGRO_FONT</span></a> <span class="k3">*</span>nicocyan36 <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  12</span><a href="http://www.allegro.cc/manual/ALLEGRO_FONT"><span class="a">ALLEGRO_FONT</span></a> <span class="k3">*</span>lucy24 <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  13</span>
<span class="number">  14</span><span class="k1">const</span> <span class="k1">int</span> screenWidth <span class="k3">=</span> <span class="n">1280</span><span class="k2">;</span>
<span class="number">  15</span><span class="k1">const</span> <span class="k1">int</span> screenHeight <span class="k3">=</span> <span class="n">720</span><span class="k2">;</span>
<span class="number">  16</span><span class="k1">enum</span> KEYS <span class="k2">{</span>UP, DOWN, LEFT, RIGHT<span class="k2">}</span><span class="k2">;</span>
<span class="number">  17</span>
<span class="number">  18</span>  <span class="c">// Parameters :D</span>
<span class="number">  19</span>  <span class="c">// These are variable depending on the actual current set resolution</span>
<span class="number">  20</span>  <span class="k1">int</span> screen_w<span class="k2">;</span>
<span class="number">  21</span>  <span class="k1">int</span> screen_h<span class="k2">;</span>
<span class="number">  22</span>  <span class="c">// Game loop</span>
<span class="number">  23</span>  <span class="c">//bool redraw = false;</span>
<span class="number">  24</span>  <span class="k1">bool</span> isDone <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  25</span>  <span class="k1">bool</span> showVashIsGay <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  26</span>
<span class="number">  27</span>  <span class="c">// Default positions for the triangle</span>
<span class="number">  28</span>  <span class="k1">double</span> pos_x <span class="k3">=</span> <span class="n">300</span><span class="k2">;</span>
<span class="number">  29</span>  <span class="k1">double</span> pos_y <span class="k3">=</span> <span class="n">475</span><span class="k2">;</span>
<span class="number">  30</span>
<span class="number">  31</span>  <span class="c">// Timers LOL</span>
<span class="number">  32</span>  <span class="k1">double</span> lastTime <span class="k3">=</span> <span class="n">0</span>.<span class="n">0</span><span class="k2">;</span>
<span class="number">  33</span>  <span class="k1">double</span> currentTime <span class="k3">=</span> <span class="n">0</span>.<span class="n">0</span><span class="k2">;</span>
<span class="number">  34</span>  <span class="k1">double</span> frameTime <span class="k3">=</span> <span class="n">0</span>.<span class="n">0</span><span class="k2">;</span>
<span class="number">  35</span>  <span class="k1">double</span> cumulativeTime <span class="k3">=</span> <span class="n">0</span>.<span class="n">0</span><span class="k2">;</span>
<span class="number">  36</span>
<span class="number">  37</span>  <span class="c">// Movement :D</span>
<span class="number">  38</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">  39</span>
<span class="number">  40</span><span class="k1">void</span> Update<span class="k2">(</span><span class="k1">const</span> <span class="k1">double</span> targetFPS<span class="k2">)</span>
<span class="number">  41</span><span class="k2">{</span>
<span class="number">  42</span>  lastTime <span class="k3">=</span> currentTime<span class="k2">;</span>
<span class="number">  43</span>  currentTime <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_get_time"><span class="a">al_get_time</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  44</span>  frameTime <span class="k3">=</span> <span class="k2">(</span>currentTime <span class="k3">-</span> lastTime<span class="k2">)</span><span class="k2">;</span>
<span class="number">  45</span>
<span class="number">  46</span>  <span class="c">// Recheck the targetFPS might not be a good idea</span>
<span class="number">  47</span>  pos_y <span class="k3">-</span><span class="k3">=</span> keys<span class="k2">[</span>UP<span class="k2">]</span> <span class="k3">*</span> <span class="n">10</span> <span class="k3">*</span> targetFPS <span class="k3">*</span> frameTime<span class="k2">;</span> 
<span class="number">  48</span>  pos_y <span class="k3">+</span><span class="k3">=</span> keys<span class="k2">[</span>DOWN<span class="k2">]</span> <span class="k3">*</span> <span class="n">10</span> <span class="k3">*</span> targetFPS <span class="k3">*</span> frameTime<span class="k2">;</span>
<span class="number">  49</span>  pos_x <span class="k3">-</span><span class="k3">=</span> keys<span class="k2">[</span>LEFT<span class="k2">]</span> <span class="k3">*</span> <span class="n">10</span> <span class="k3">*</span> targetFPS <span class="k3">*</span> frameTime<span class="k2">;</span>
<span class="number">  50</span>  pos_x <span class="k3">+</span><span class="k3">=</span> keys<span class="k2">[</span>RIGHT<span class="k2">]</span> <span class="k3">*</span> <span class="n">10</span> <span class="k3">*</span> targetFPS <span class="k3">*</span> frameTime<span class="k2">;</span>
<span class="number">  51</span><span class="k2">}</span>
<span class="number">  52</span>
<span class="number">  53</span><span class="k1">void</span> Draw<span class="k2">(</span><span class="k2">)</span>
<span class="number">  54</span><span class="k2">{</span>
<span class="number">  55</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">0</span>,<span class="n">100</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  56</span>
<span class="number">  57</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>event_queue<span class="k2">)</span><span class="k2">)</span>
<span class="number">  58</span>    <span class="k2">{</span>
<span class="number">  59</span>      <span class="k1">if</span> <span class="k2">(</span>showVashIsGay <span class="k3">=</span><span class="k3">=</span> <span class="k1">true</span><span class="k2">)</span>
<span class="number">  60</span>      <span class="k2">{</span>
<span class="number">  61</span>        screen_w <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_get_display_width"><span class="a">al_get_display_width</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">;</span>
<span class="number">  62</span>        screen_h <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_get_display_height"><span class="a">al_get_display_height</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">;</span>
<span class="number">  63</span>
<span class="number">  64</span>        <a href="http://www.allegro.cc/manual/al_draw_filled_triangle"><span class="a">al_draw_filled_triangle</span></a><span class="k2">(</span>pos_x, pos_y, pos_x <span class="k3">+</span> <span class="n">100</span>, pos_y <span class="k3">-</span> <span class="n">200</span>, pos_x <span class="k3">+</span> <span class="n">200</span>, pos_y, <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="k2">)</span><span class="k2">;</span>
<span class="number">  65</span>        <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span>nicocyan36, <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">127</span>, <span class="n">127</span><span class="k2">)</span>, screen_w <span class="k3">/</span> <span class="n">2</span>, screen_h <span class="k3">/</span> <span class="n">2</span>, ALLEGRO_ALIGN_CENTRE, <span class="s">"VASH IS GAY"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  66</span>        <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span>lucy24, <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">255</span>, <span class="n">255</span><span class="k2">)</span>, screen_w <span class="k3">/</span> <span class="n">2</span>, <span class="k2">(</span>screen_h <span class="k3">/</span> <span class="n">2</span> <span class="k3">+</span> <span class="n">50</span><span class="k2">)</span>, ALLEGRO_ALIGN_CENTRE, <span class="s">"Love, the Pwn Squad"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  67</span>      <span class="k2">}</span>
<span class="number">  68</span>
<span class="number">  69</span>      <span class="c">// Flip the display and clear it</span>
<span class="number">  70</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">  71</span>      <span class="c">//redraw = false;</span>
<span class="number">  72</span>    <span class="k2">}</span>
<span class="number">  73</span><span class="k2">}</span>
<span class="number">  74</span>
<span class="number">  75</span><span class="k1">int</span> main<span class="k2">(</span><span class="k1">int</span> argc, <span class="k1">char</span> <span class="k3">*</span><span class="k3">*</span>argv<span class="k2">)</span>
<span class="number">  76</span><span class="k2">{</span>   
<span class="number">  77</span>    <span class="c">// Initialize Allegro</span>
<span class="number">  78</span>  <span class="k1">if</span><span class="k2">(</span><span class="k3">!</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">  79</span>  <span class="k2">{</span>
<span class="number">  80</span>    <a href="http://www.allegro.cc/manual/al_show_native_message_box"><span class="a">al_show_native_message_box</span></a><span class="k2">(</span>display, <span class="s">"ERROR"</span>, <span class="s">"CRITICAL ERROR"</span>, <span class="s">"Failed to initialize allegro!"</span>, NULL, ALLEGRO_MESSAGEBOX_ERROR<span class="k2">)</span><span class="k2">;</span>                   
<span class="number">  81</span>    <span class="k1">return</span> <span class="k3">-</span><span class="n">1</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="c">// Create the display</span>
<span class="number">  85</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>screenWidth, screenHeight<span class="k2">)</span><span class="k2">;</span>
<span class="number">  86</span>  <a href="http://www.allegro.cc/manual/al_set_new_display_option"><span class="a">al_set_new_display_option</span></a><span class="k2">(</span>ALLEGRO_VSYNC, <span class="n">1</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span>
<span class="number">  87</span>  <span class="k1">const</span> <span class="k1">int</span> targetFPS <span class="k3">=</span> <span class="n">60</span><span class="k2">;</span>
<span class="number">  88</span>  <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>display<span class="k2">)</span> 
<span class="number">  89</span>  <span class="k2">{</span>
<span class="number">  90</span>    <a href="http://www.allegro.cc/manual/al_show_native_message_box"><span class="a">al_show_native_message_box</span></a><span class="k2">(</span>display, <span class="s">"ERROR"</span>, <span class="s">"CRITICAL ERROR"</span>, <span class="s">"Failed to initialize display!"</span>, NULL, ALLEGRO_MESSAGEBOX_ERROR<span class="k2">)</span><span class="k2">;</span>
<span class="number">  91</span>    <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  92</span>  <span class="k2">}</span>
<span class="number">  93</span>
<span class="number">  94</span>  <span class="c">// Create a timer</span>
<span class="number">  95</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="k2">(</span>targetFPS <span class="k3">*</span> <span class="n">2</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  96</span>  <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>timer<span class="k2">)</span> 
<span class="number">  97</span>  <span class="k2">{</span>
<span class="number">  98</span>    <a href="http://www.allegro.cc/manual/al_show_native_message_box"><span class="a">al_show_native_message_box</span></a><span class="k2">(</span>display, <span class="s">"ERROR"</span>, <span class="s">"CRITICAL ERROR"</span>, <span class="s">"Failed to initialize game timer!"</span>, NULL, ALLEGRO_MESSAGEBOX_ERROR<span class="k2">)</span><span class="k2">;</span>
<span class="number">  99</span>    <span class="k1">return</span> <span class="k3">-</span><span class="n">1</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="c">// Initialize primitives (Shapes lol)</span>
<span class="number"> 103</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"> 104</span>
<span class="number"> 105</span>  <span class="c">// Initialize the keyboard</span>
<span class="number"> 106</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"> 107</span>
<span class="number"> 108</span>  <span class="c">// Initialize the mouse</span>
<span class="number"> 109</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"> 110</span>
<span class="number"> 111</span>  <span class="c">// Initialize font functionality and .ttf support</span>
<span class="number"> 112</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"> 113</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"> 114</span>
<span class="number"> 115</span>  <span class="c">// Define the fonts</span>
<span class="number"> 116</span>  nicocyan36 <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_font"><span class="a">al_load_font</span></a><span class="k2">(</span><span class="s">"Resources//Fonts//Nicocyan.ttf"</span>, <span class="n">36</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 117</span>  <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>nicocyan36<span class="k2">)</span>
<span class="number"> 118</span>  <span class="k2">{</span>
<span class="number"> 119</span>    <a href="http://www.allegro.cc/manual/al_show_native_message_box"><span class="a">al_show_native_message_box</span></a><span class="k2">(</span>display, <span class="s">"ERROR"</span>, <span class="s">"CRITICAL ERROR"</span>, <span class="s">"Failed to load Nicocyan.ttf!\nCheck if the file is missing"</span>, NULL, ALLEGRO_MESSAGEBOX_ERROR<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 120</span>    <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number"> 121</span>  <span class="k2">}</span>
<span class="number"> 122</span>
<span class="number"> 123</span>  lucy24 <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_font"><span class="a">al_load_font</span></a><span class="k2">(</span><span class="s">"Resources//Fonts//Lucy.ttf"</span>, <span class="n">24</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 124</span>  <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>lucy24<span class="k2">)</span>
<span class="number"> 125</span>  <span class="k2">{</span>
<span class="number"> 126</span>    <a href="http://www.allegro.cc/manual/al_show_native_message_box"><span class="a">al_show_native_message_box</span></a><span class="k2">(</span>display, <span class="s">"ERROR"</span>, <span class="s">"CRITICAL ERROR"</span>, <span class="s">"Failed to load Lucy.ttf!\nCheck if the file is missing"</span>, NULL, ALLEGRO_MESSAGEBOX_ERROR<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 127</span>    <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number"> 128</span>  <span class="k2">}</span>
<span class="number"> 129</span>
<span class="number"> 130</span>  <span class="c">// Setup the event queue</span>
<span class="number"> 131</span>  event_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"> 132</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>event_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"> 133</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>event_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"> 134</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>event_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"> 135</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>event_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"> 136</span>  
<span class="number"> 137</span>  <span class="c">// Hide the mouse</span>
<span class="number"> 138</span>  <a href="http://www.allegro.cc/manual/al_hide_mouse_cursor"><span class="a">al_hide_mouse_cursor</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 139</span>
<span class="number"> 140</span>  <span class="c">// Start the timer!</span>
<span class="number"> 141</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"> 142</span>
<span class="number"> 143</span>  <span class="k1">while</span><span class="k2">(</span><span class="k3">!</span>isDone<span class="k2">)</span>
<span class="number"> 144</span>  <span class="k2">{</span>
<span class="number"> 145</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> ev<span class="k2">;</span>
<span class="number"> 146</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>event_queue, <span class="k3">&amp;</span>ev<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 147</span>
<span class="number"> 148</span>    Update<span class="k2">(</span>targetFPS<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 149</span>
<span class="number"> 150</span>    <span class="k1">if</span><span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_DISPLAY_CLOSE<span class="k2">)</span>
<span class="number"> 151</span>    <span class="k2">{</span>
<span class="number"> 152</span>      isDone <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 153</span>    <span class="k2">}</span>
<span class="number"> 154</span>    <span class="c">// If a key is pressed...</span>
<span class="number"> 155</span>    <span class="k1">if</span><span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_KEY_DOWN<span class="k2">)</span>
<span class="number"> 156</span>    <span class="k2">{</span>
<span class="number"> 157</span>      <span class="c">// Decide what to do based on which key</span>
<span class="number"> 158</span>      <span class="k1">switch</span><span class="k2">(</span>ev.keyboard.keycode<span class="k2">)</span>
<span class="number"> 159</span>      <span class="k2">{</span>
<span class="number"> 160</span>        <span class="k1">case</span> ALLEGRO_KEY_UP:
<span class="number"> 161</span>          keys<span class="k2">[</span>UP<span class="k2">]</span> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 162</span>          <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 163</span>        <span class="k1">case</span> ALLEGRO_KEY_DOWN:
<span class="number"> 164</span>          keys<span class="k2">[</span>DOWN<span class="k2">]</span> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 165</span>          <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 166</span>        <span class="k1">case</span> ALLEGRO_KEY_LEFT:
<span class="number"> 167</span>          keys<span class="k2">[</span>LEFT<span class="k2">]</span> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 168</span>          <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 169</span>        <span class="k1">case</span> ALLEGRO_KEY_RIGHT:
<span class="number"> 170</span>          keys<span class="k2">[</span>RIGHT<span class="k2">]</span> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 171</span>          <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 172</span>
<span class="number"> 173</span>        <span class="k1">case</span> ALLEGRO_KEY_ENTER:
<span class="number"> 174</span>          showVashIsGay? showVashIsGay<span class="k3">=</span><span class="k1">false</span> <span class="k2">:</span> showVashIsGay<span class="k3">=</span><span class="k1">true</span><span class="k2">;</span>
<span class="number"> 175</span>          <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 176</span>      <span class="k2">}</span>
<span class="number"> 177</span>    <span class="k2">}</span>
<span class="number"> 178</span>    <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_KEY_UP<span class="k2">)</span>
<span class="number"> 179</span>    <span class="k2">{</span>
<span class="number"> 180</span>      <span class="k1">switch</span><span class="k2">(</span>ev.keyboard.keycode<span class="k2">)</span>
<span class="number"> 181</span>      <span class="k2">{</span>
<span class="number"> 182</span>        <span class="k1">case</span> ALLEGRO_KEY_UP:
<span class="number"> 183</span>          keys<span class="k2">[</span>UP<span class="k2">]</span> <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 184</span>          <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 185</span>        <span class="k1">case</span> ALLEGRO_KEY_DOWN:
<span class="number"> 186</span>          keys<span class="k2">[</span>DOWN<span class="k2">]</span> <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 187</span>          <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 188</span>        <span class="k1">case</span> ALLEGRO_KEY_LEFT:
<span class="number"> 189</span>          keys<span class="k2">[</span>LEFT<span class="k2">]</span> <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 190</span>          <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 191</span>        <span class="k1">case</span> ALLEGRO_KEY_RIGHT:
<span class="number"> 192</span>          keys<span class="k2">[</span>RIGHT<span class="k2">]</span> <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 193</span>          <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 194</span>
<span class="number"> 195</span>        <span class="k1">case</span> ALLEGRO_KEY_ESCAPE:
<span class="number"> 196</span>          isDone <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 197</span>          <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 198</span>      <span class="k2">}</span>
<span class="number"> 199</span>    <span class="k2">}</span>
<span class="number"> 200</span>    <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_MOUSE_BUTTON_DOWN<span class="k2">)</span>
<span class="number"> 201</span>    <span class="k2">{</span>
<span class="number"> 202</span>      <span class="k1">if</span><span class="k2">(</span>ev.mouse.button <span class="k3">&amp;</span> <span class="n">1</span><span class="k2">)</span>
<span class="number"> 203</span>        showVashIsGay? showVashIsGay<span class="k3">=</span><span class="k1">false</span> <span class="k2">:</span> showVashIsGay<span class="k3">=</span><span class="k1">true</span><span class="k2">;</span>
<span class="number"> 204</span>      <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span>ev.mouse.button <span class="k3">&amp;</span> <span class="n">2</span><span class="k2">)</span>
<span class="number"> 205</span>        isDone <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 206</span>    <span class="k2">}</span>
<span class="number"> 207</span>    <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_TIMER<span class="k2">)</span>
<span class="number"> 208</span>    <span class="k2">{</span>
<span class="number"> 209</span>      Draw<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 210</span>    <span class="k2">}</span>
<span class="number"> 211</span>  <span class="k2">}</span>
<span class="number"> 212</span> 
<span class="number"> 213</span>  <span class="c">// Cleanup, in reverse order from initialization</span>
<span class="number"> 214</span>  <a href="http://www.allegro.cc/manual/al_destroy_font"><span class="a">al_destroy_font</span></a><span class="k2">(</span>lucy24<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 215</span>  <a href="http://www.allegro.cc/manual/al_destroy_font"><span class="a">al_destroy_font</span></a><span class="k2">(</span>nicocyan36<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 216</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"> 217</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>event_queue<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 218</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"> 219</span> 
<span class="number"> 220</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 221</span><span class="k2">}</span>
</div></div><p>

If anybody can help me figure out how to fix this I would be extremely grateful
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (walnut100)</author>
		<pubDate>Sat, 14 Jul 2012 04:30:39 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I don&#39;t understand why you&#39;re clearing the display every Draw() call, but only flipping the display when the event queue is empty. Shouldn&#39;t al_clear_to_color be <u>within</u> the al_is_event_queue_empty statement? Also, you should probably move that check outside of the function call so you can avoid the overhead of a function call when it is not needed.</p><p>I don&#39;t think it&#39;s the source of your problem, but it&#39;d probably be good to adjust it anyway.</p><p>Also, who is VASH and why do you proclaim his sexuality in your program?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Luiji99)</author>
		<pubDate>Sat, 14 Jul 2012 09:12:29 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I built your game, and get the same result.  MSVC 9 on Windows 7.  Tried both Allegro 5.0.7 and 5.0.5, Direct3D and OpenGL.  Tried drawing a rectangle instead of a triangle, still the same problem.  Tried a couple of other things, didn&#39;t help. <img src="http://www.allegro.cc/forums/smileys/undecided.gif" alt=":-/" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (torhu)</author>
		<pubDate>Sat, 14 Jul 2012 17:43:12 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Works without problems here: MSVC2010 Windows 7 64bit, Allegro 5.1.x (from GIT).</p><p>(I only changed the font to the builtin font because I didn&#39;t have a TTF font ready for testing.)
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Dennis)</author>
		<pubDate>Sat, 14 Jul 2012 18:23:08 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Uh...modified the forward slashes in the #includes and switched &quot;showVashIsGay? showVashIsGay=false : showVashIsGay=true&quot; calls to &quot;showVashIsGay = !showVashIsGay&quot; so that it would compile on my Arch Linux machine with the GNU Compiler Collection...it works perfectly. No trails or anything. <img src="http://www.allegro.cc/forums/smileys/huh.gif" alt="???" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Luiji99)</author>
		<pubDate>Sat, 14 Jul 2012 21:07: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/610623/960062#target">Luiji99</a> said:</div><div class="quote"><p>I don&#39;t understand why you&#39;re clearing the display every Draw() call, but only flipping the display when the event queue is empty.</p></div></div><p>

It&#39;s a mistake, I was moving stuff around trying to see if I could diagnose the blur before I posted this thread</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>Also, who is VASH and why do you proclaim his sexuality in your program?</p></div></div><p>

It&#39;s an inside joke with some of my friends, I honestly forgot I had that in there because I tend to ignore it</p><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/610623/960082#target">Dennis</a> said:</div><div class="quote"><p>Works without problems here: MSVC2010 Windows 7 64bit, Allegro 5.1.x (from GIT).</p></div></div><p>

I&#39;m hoping this will fix my issue since my setup is fairly similar (Although I was using 5.0.7) I&#39;ll give it a go later today and update with results</p><p>Thanks guys!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (walnut100)</author>
		<pubDate>Sat, 14 Jul 2012 21:35:53 +0000</pubDate>
	</item>
</rss>
