<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title> FPS counter (Allegro 5)</title>
		<link>http://www.allegro.cc/forums/view/607172</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Mon, 02 May 2011 10:41:45 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>The following code works except I want a FPS counter to display the actual working rate somewhere on the screen or gui. I&#39;m also wondering if I could improve my gameloop in terms of the keyboard exit on escape or anything else (if possible).</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="number">   2</span><span class="p">#include &lt;stdio.h&gt;</span>
<span class="number">   3</span><span class="p">#include &lt;allegro5/allegro.h&gt;</span>
<span class="number">   4</span><span class="p">#include &lt;allegro5/allegro_primitives.h&gt;</span>
<span class="number">   5</span>
<span class="number">   6</span><span class="k1">const</span> <span class="k1">float</span> FPS <span class="k3">=</span> <span class="n">120</span><span class="k2">;</span>
<span class="number">   7</span>
<span class="number">   8</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">   9</span><span class="k2">{</span>
<span class="number">  10</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">  11</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> NULL<span class="k2">;</span>
<span class="number">  12</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">  13</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">  14</span>
<span class="number">  15</span>   <span class="k1">bool</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a> <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  16</span>
<span class="number">  17</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">  18</span>   <span class="k2">{</span>
<span class="number">  19</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to initialize allegro!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  20</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  21</span>   <span class="k2">}</span>
<span class="number">  22</span>
<span class="number">  23</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> FPS<span class="k2">)</span><span class="k2">;</span>
<span class="number">  24</span>   <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>timer<span class="k2">)</span>
<span class="number">  25</span>   <span class="k2">{</span>
<span class="number">  26</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to create timer!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  27</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  28</span>   <span class="k2">}</span>
<span class="number">  29</span>
<span class="number">  30</span>   <span class="k1">int</span> screen_width <span class="k3">=</span> <span class="n">640</span><span class="k2">;</span>
<span class="number">  31</span>   <span class="k1">int</span> screen_height <span class="k3">=</span> <span class="n">480</span><span class="k2">;</span>
<span class="number">  32</span>
<span class="number">  33</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>screen_width, screen_height<span class="k2">)</span><span class="k2">;</span>
<span class="number">  34</span>
<span class="number">  35</span>   <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>display<span class="k2">)</span>
<span class="number">  36</span>   <span class="k2">{</span>
<span class="number">  37</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to create display!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  38</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">  39</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  40</span>   <span class="k2">}</span>
<span class="number">  41</span>
<span class="number">  42</span>   <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</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">  43</span>   <span class="k2">{</span>
<span class="number">  44</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to initiialize primitives addon!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  45</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  46</span>   <span class="k2">}</span>
<span class="number">  47</span>
<span class="number">  48</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</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">  49</span>    <span class="k2">{</span>
<span class="number">  50</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to initialize the keyboard!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  51</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  52</span>   <span class="k2">}</span>
<span class="number">  53</span>
<span class="number">  54</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">  55</span>
<span class="number">  56</span>   <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>event_queue<span class="k2">)</span>
<span class="number">  57</span>   <span class="k2">{</span>
<span class="number">  58</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to create event_queue!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  59</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">  60</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">  61</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  62</span>   <span class="k2">}</span>
<span class="number">  63</span>
<span class="number">  64</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">  65</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">  66</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">  67</span>
<span class="number">  68</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">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  69</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>   <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">  72</span>
<span class="number">  73</span>   <span class="k1">bool</span> redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  74</span>
<span class="number">  75</span>   <span class="k1">while</span><span class="k2">(</span><span class="n">1</span><span class="k2">)</span>
<span class="number">  76</span>   <span class="k2">{</span>
<span class="number">  77</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">  78</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">  79</span>
<span class="number">  80</span>    <span class="k1">if</span> <span class="k2">(</span>redraw<span class="k2">)</span>
<span class="number">  81</span>      <span class="k2">{</span>
<span class="number">  82</span>            <span class="k1">int</span> r <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%<span class="n">255</span><span class="k2">;</span>
<span class="number">  83</span>        <span class="k1">int</span> g <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%<span class="n">255</span><span class="k2">;</span>
<span class="number">  84</span>        <span class="k1">int</span> b <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%<span class="n">255</span><span class="k2">;</span>
<span class="number">  85</span>        <span class="k1">int</span> x1 <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%screen_width<span class="k2">;</span>
<span class="number">  86</span>        <span class="k1">int</span> x2 <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%screen_width<span class="k2">;</span>
<span class="number">  87</span>        <span class="k1">int</span> y1 <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%screen_height<span class="k2">;</span>
<span class="number">  88</span>        <span class="k1">int</span> y2 <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%screen_height<span class="k2">;</span>
<span class="number">  89</span>
<span class="number">  90</span>        <a href="http://www.allegro.cc/manual/ALLEGRO_COLOR"><span class="a">ALLEGRO_COLOR</span></a> color <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span>r, g, b<span class="k2">)</span><span class="k2">;</span>
<span class="number">  91</span>        <a href="http://www.allegro.cc/manual/al_draw_line"><span class="a">al_draw_line</span></a><span class="k2">(</span>x1,y1, x2,y2, color, <span class="n">1</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  92</span>
<span class="number">  93</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">  94</span>            redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  95</span>      <span class="k2">}</span>
<span class="number">  96</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">  97</span>      <span class="k2">{</span>
<span class="number">  98</span>         redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  99</span>      <span class="k2">}</span>
<span class="number"> 100</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_DISPLAY_CLOSE<span class="k2">)</span>
<span class="number"> 101</span>      <span class="k2">{</span>
<span class="number"> 102</span>         <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 103</span>      <span class="k2">}</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>event_queue<span class="k2">)</span><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_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"> 107</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"> 108</span>           <span class="k2">{</span>
<span class="number"> 109</span>        <span class="k1">if</span> <span class="k2">(</span>ev.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_ESCAPE<span class="k2">)</span>
<span class="number"> 110</span>        <span class="k2">{</span>
<span class="number"> 111</span>          <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 112</span>          <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 113</span>        <span class="k2">}</span>
<span class="number"> 114</span>      <span class="k2">}</span>
<span class="number"> 115</span>      <span class="k2">}</span>
<span class="number"> 116</span>   <span class="k2">}</span>
<span class="number"> 117</span>
<span class="number"> 118</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"> 119</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"> 120</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"> 121</span>
<span class="number"> 122</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 123</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (verthex)</author>
		<pubDate>Sat, 30 Apr 2011 16:25:28 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I noticed a few things in here:
</p><ul><li><p>You are using al_wait_for_event twice in your game loop... You should only do this at one point, because your game will wait for two events each cycle if your event queue is empty at the end of the loop.</p></li><li><p>You are setting exit to true in your check for escape, but the variable doesn&#39;t do anything... You can make your game loop&#39;s start look like this: <span class="source-code"><span class="k1">while</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">)</span></span> to make it work. You should also change your check for ALLEGRO_EVENT_DISPLAY_CLOSE to exit = true;</p></li></ul><p>
As for the FPS, there is a function that returns the current time in the order of milliseconds: al_get_time. You could do something like this:
</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">double</span> old_time <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="k1">while</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">)</span>
<span class="k2">{</span>
    <span class="c">//game loop logic here</span>
    <span class="k1">double</span> new_time <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="k1">double</span> delta <span class="k3">=</span> new_time <span class="k3">-</span> old_time<span class="k2">;</span>
    <span class="k1">double</span> fps <span class="k3">=</span> <span class="n">1</span><span class="k3">/</span><span class="k2">(</span>delta<span class="k3">*</span><span class="n">1000</span><span class="k2">)</span><span class="k2">;</span>
    old_time <span class="k3">=</span> new_time<span class="k2">;</span>
<span class="k2">}</span>
</pre></div></div><p>
Hope this helps ^^
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (J-Gamer)</author>
		<pubDate>Sat, 30 Apr 2011 17:15:33 +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/607172/915432#target">J-Gamer</a> said:</div><div class="quote"><p> You should also change your check for ALLEGRO_EVENT_DISPLAY_CLOSE to exit = true;</p></div></div><p>

Do you mean I should do this
</p><div class="source-code snippet"><div class="inner"><pre><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_DISPLAY_CLOSE<span class="k2">)</span>
      <span class="k2">{</span>
         <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
         <span class="k1">break</span><span class="k2">;</span>
      <span class="k2">}</span>
</pre></div></div><p>

or this?</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> <span class="k2">(</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a> <span class="k3">=</span> <span class="k1">true</span><span class="k2">)</span><span class="k2">)</span>
<span class="k2">{</span>     
     <span class="k1">break</span><span class="k2">;</span>
<span class="k2">}</span>
</pre></div></div><p>

Also how do I display the fps once its calculated?</p><p>thanks.</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="number">   5</span><span class="k1">const</span> <span class="k1">float</span> FPS <span class="k3">=</span> <span class="n">120</span><span class="k2">;</span>
<span class="number">   6</span>
<span class="number">   7</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">   8</span><span class="k2">{</span>
<span class="number">   9</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">  10</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> NULL<span class="k2">;</span>
<span class="number">  11</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">  12</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">  13</span>
<span class="number">  14</span>   <span class="k1">bool</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a> <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  15</span>
<span class="number">  16</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">  17</span>   <span class="k2">{</span>
<span class="number">  18</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to initialize allegro!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  19</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  20</span>   <span class="k2">}</span>
<span class="number">  21</span>
<span class="number">  22</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> FPS<span class="k2">)</span><span class="k2">;</span>
<span class="number">  23</span>   <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>timer<span class="k2">)</span>
<span class="number">  24</span>   <span class="k2">{</span>
<span class="number">  25</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to create timer!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  26</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  27</span>   <span class="k2">}</span>
<span class="number">  28</span>
<span class="number">  29</span>   <span class="k1">int</span> screen_width <span class="k3">=</span> <span class="n">640</span><span class="k2">;</span>
<span class="number">  30</span>   <span class="k1">int</span> screen_height <span class="k3">=</span> <span class="n">480</span><span class="k2">;</span>
<span class="number">  31</span>
<span class="number">  32</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>screen_width, screen_height<span class="k2">)</span><span class="k2">;</span>
<span class="number">  33</span>
<span class="number">  34</span>   <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>display<span class="k2">)</span>
<span class="number">  35</span>   <span class="k2">{</span>
<span class="number">  36</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to create display!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  37</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">  38</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  39</span>   <span class="k2">}</span>
<span class="number">  40</span>
<span class="number">  41</span>   <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</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">  42</span>   <span class="k2">{</span>
<span class="number">  43</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to initiialize primitives addon!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  44</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  45</span>   <span class="k2">}</span>
<span class="number">  46</span>
<span class="number">  47</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</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">  48</span>    <span class="k2">{</span>
<span class="number">  49</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to initialize the keyboard!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  50</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  51</span>   <span class="k2">}</span>
<span class="number">  52</span>
<span class="number">  53</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">  54</span>
<span class="number">  55</span>   <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>event_queue<span class="k2">)</span>
<span class="number">  56</span>   <span class="k2">{</span>
<span class="number">  57</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to create event_queue!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  58</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">  59</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">  60</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  61</span>   <span class="k2">}</span>
<span class="number">  62</span>
<span class="number">  63</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">  64</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">  65</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">  66</span>
<span class="number">  67</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">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  68</span>
<span class="number">  69</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">  70</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">  71</span>
<span class="number">  72</span>   <span class="k1">bool</span> redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  73</span>
<span class="number">  74</span>   <span class="k1">double</span> old_time <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">  75</span>
<span class="number">  76</span>   <span class="k1">while</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">)</span>
<span class="number">  77</span>   <span class="k2">{</span>
<span class="number">  78</span>       <span class="k1">double</span> new_time <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">  79</span>    <span class="k1">double</span> delta <span class="k3">=</span> new_time <span class="k3">-</span> old_time<span class="k2">;</span>
<span class="number">  80</span>      <span class="k1">double</span> fps <span class="k3">=</span> <span class="n">1</span><span class="k3">/</span><span class="k2">(</span>delta<span class="k3">*</span><span class="n">1000</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  81</span>      old_time <span class="k3">=</span> new_time<span class="k2">;</span>
<span class="number">  82</span>
<span class="number">  83</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">  84</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">  85</span>
<span class="number">  86</span>    <span class="k1">if</span> <span class="k2">(</span>redraw<span class="k2">)</span>
<span class="number">  87</span>      <span class="k2">{</span>
<span class="number">  88</span>            <span class="k1">int</span> r <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%<span class="n">255</span><span class="k2">;</span>
<span class="number">  89</span>        <span class="k1">int</span> g <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%<span class="n">255</span><span class="k2">;</span>
<span class="number">  90</span>        <span class="k1">int</span> b <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%<span class="n">255</span><span class="k2">;</span>
<span class="number">  91</span>        <span class="k1">int</span> x1 <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%screen_width<span class="k2">;</span>
<span class="number">  92</span>        <span class="k1">int</span> x2 <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%screen_width<span class="k2">;</span>
<span class="number">  93</span>        <span class="k1">int</span> y1 <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%screen_height<span class="k2">;</span>
<span class="number">  94</span>        <span class="k1">int</span> y2 <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%screen_height<span class="k2">;</span>
<span class="number">  95</span>
<span class="number">  96</span>        <a href="http://www.allegro.cc/manual/ALLEGRO_COLOR"><span class="a">ALLEGRO_COLOR</span></a> color <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span>r, g, b<span class="k2">)</span><span class="k2">;</span>
<span class="number">  97</span>        <a href="http://www.allegro.cc/manual/al_draw_line"><span class="a">al_draw_line</span></a><span class="k2">(</span>x1,y1, x2,y2, color, <span class="n">1</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  98</span>
<span class="number">  99</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"> 100</span>            redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 101</span>      <span class="k2">}</span>
<span class="number"> 102</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"> 103</span>      <span class="k2">{</span>
<span class="number"> 104</span>         redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 105</span>      <span class="k2">}</span>
<span class="number"> 106</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_DISPLAY_CLOSE<span class="k2">)</span>
<span class="number"> 107</span>      <span class="k2">{</span>
<span class="number"> 108</span>         <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 109</span>         <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 110</span>      <span class="k2">}</span>
<span class="number"> 111</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"> 112</span>      <span class="k2">{</span>
<span class="number"> 113</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"> 114</span>           <span class="k2">{</span>
<span class="number"> 115</span>        <span class="k1">if</span> <span class="k2">(</span>ev.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_ESCAPE<span class="k2">)</span>
<span class="number"> 116</span>        <span class="k2">{</span>
<span class="number"> 117</span>          <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 118</span>          <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 119</span>        <span class="k2">}</span>
<span class="number"> 120</span>      <span class="k2">}</span>
<span class="number"> 121</span>      <span class="k2">}</span>
<span class="number"> 122</span>   <span class="k2">}</span>
<span class="number"> 123</span>
<span class="number"> 124</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"> 125</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"> 126</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"> 127</span>
<span class="number"> 128</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 129</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (verthex)</author>
		<pubDate>Sat, 30 Apr 2011 17:27:25 +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/607172/915433#target">verthex</a> said:</div><div class="quote"><p>Do you mean I should do this</p></div></div><p>
No... more something like this:
</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">while</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">)</span> <span class="c">//program will exit when exit is true</span>
<span class="k2">{</span>
    <span class="c">//other logic</span>
    <span class="k1">if</span><span class="k2">(</span>event.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_DISPLAY_CLOSE<span class="k2">)</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
    <span class="c">//more logic</span>
<span class="k2">}</span>
</pre></div></div><p>
Don&#39;t use break in your main loop. Having multiple exit points makes your code less readable.</p><p>As for drawing the FPS: <a href="http://www.allegro.cc/manual/5/al_draw_textf">http://www.allegro.cc/manual/5/al_draw_textf</a>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (J-Gamer)</author>
		<pubDate>Sat, 30 Apr 2011 17:34:27 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I checked out the font page in the manual and made more changes below but I&#39;m not sure if theres a quick and easy way to convert the fps variable which is double to a const char* (line 90). Any ideas?</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="number">   2</span><span class="p">#include &lt;stdio.h&gt;</span>
<span class="number">   3</span><span class="p">#include &lt;allegro5/allegro.h&gt;</span>
<span class="number">   4</span><span class="p">#include &lt;allegro5/allegro_primitives.h&gt;</span>
<span class="number">   5</span><span class="p">#include &lt;allegro5/allegro_font.h&gt;</span>
<span class="number">   6</span><span class="p">#include &lt;allegro5/allegro_ttf.h&gt;</span>
<span class="number">   7</span>
<span class="number">   8</span><span class="k1">const</span> <span class="k1">float</span> FPS <span class="k3">=</span> <span class="n">120</span><span class="k2">;</span>
<span class="number">   9</span>
<span class="number">  10</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">  11</span><span class="k2">{</span>
<span class="number">  12</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">  13</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> NULL<span class="k2">;</span>
<span class="number">  14</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">  15</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">  16</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_FONT"><span class="a">ALLEGRO_FONT</span></a> <span class="k3">*</span>ttf_font<span class="k2">;</span>
<span class="number">  17</span>
<span class="number">  18</span>   <span class="k1">bool</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a> <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  19</span>
<span class="number">  20</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">  21</span>   <span class="k2">{</span>
<span class="number">  22</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to initialize allegro!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  23</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  24</span>   <span class="k2">}</span>
<span class="number">  25</span>
<span class="number">  26</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> FPS<span class="k2">)</span><span class="k2">;</span>
<span class="number">  27</span>   <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>timer<span class="k2">)</span>
<span class="number">  28</span>   <span class="k2">{</span>
<span class="number">  29</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to create timer!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  30</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  31</span>   <span class="k2">}</span>
<span class="number">  32</span>
<span class="number">  33</span>   <span class="k1">int</span> screen_width <span class="k3">=</span> <span class="n">640</span><span class="k2">;</span>
<span class="number">  34</span>   <span class="k1">int</span> screen_height <span class="k3">=</span> <span class="n">480</span><span class="k2">;</span>
<span class="number">  35</span>
<span class="number">  36</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>screen_width, screen_height<span class="k2">)</span><span class="k2">;</span>
<span class="number">  37</span>
<span class="number">  38</span>   <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>display<span class="k2">)</span>
<span class="number">  39</span>   <span class="k2">{</span>
<span class="number">  40</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to create display!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  41</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">  42</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  43</span>   <span class="k2">}</span>
<span class="number">  44</span>
<span class="number">  45</span>   <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</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">  46</span>   <span class="k2">{</span>
<span class="number">  47</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to initiialize primitives addon!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  48</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  49</span>   <span class="k2">}</span>
<span class="number">  50</span>
<span class="number">  51</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</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">  52</span>    <span class="k2">{</span>
<span class="number">  53</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to initialize the keyboard!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  54</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  55</span>   <span class="k2">}</span>
<span class="number">  56</span>
<span class="number">  57</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">  58</span>
<span class="number">  59</span>   <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>event_queue<span class="k2">)</span>
<span class="number">  60</span>   <span class="k2">{</span>
<span class="number">  61</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to create event_queue!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  62</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">  63</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">  64</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  65</span>   <span class="k2">}</span>
<span class="number">  66</span>
<span class="number">  67</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">  68</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">  69</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">  70</span>
<span class="number">  71</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">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  72</span>
<span class="number">  73</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">  74</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">  75</span>
<span class="number">  76</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">  77</span>   ttf_font <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_ttf_font"><span class="a">al_load_ttf_font</span></a><span class="k2">(</span><span class="s">"TIMES.TTF"</span>, <span class="n">16</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  78</span>
<span class="number">  79</span>   <span class="k1">bool</span> redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  80</span>
<span class="number">  81</span>   <span class="k1">double</span> old_time <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">  82</span>
<span class="number">  83</span>   <span class="k1">while</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">)</span>
<span class="number">  84</span>   <span class="k2">{</span>
<span class="number">  85</span>       <span class="k1">double</span> new_time <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">  86</span>    <span class="k1">double</span> delta <span class="k3">=</span> new_time <span class="k3">-</span> old_time<span class="k2">;</span>
<span class="number">  87</span>      <span class="k1">double</span> fps <span class="k3">=</span> <span class="n">1</span><span class="k3">/</span><span class="k2">(</span>delta<span class="k3">*</span><span class="n">1000</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  88</span>      old_time <span class="k3">=</span> new_time<span class="k2">;</span>
<span class="number">  89</span>
<span class="number">  90</span>      <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span>ttf_font, <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">0</span><span class="k2">)</span>, <span class="n">16</span>, <span class="n">32</span>, <span class="n">0</span>, fps<span class="k2">)</span><span class="k2">;</span><span class="c">//fps needs to be const char*</span>
<span class="number">  91</span>
<span class="number">  92</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">  93</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">  94</span>
<span class="number">  95</span>    <span class="k1">if</span> <span class="k2">(</span>redraw<span class="k2">)</span>
<span class="number">  96</span>      <span class="k2">{</span>
<span class="number">  97</span>            <span class="k1">int</span> r <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%<span class="n">255</span><span class="k2">;</span>
<span class="number">  98</span>        <span class="k1">int</span> g <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%<span class="n">255</span><span class="k2">;</span>
<span class="number">  99</span>        <span class="k1">int</span> b <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%<span class="n">255</span><span class="k2">;</span>
<span class="number"> 100</span>        <span class="k1">int</span> x1 <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%screen_width<span class="k2">;</span>
<span class="number"> 101</span>        <span class="k1">int</span> x2 <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%screen_width<span class="k2">;</span>
<span class="number"> 102</span>        <span class="k1">int</span> y1 <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%screen_height<span class="k2">;</span>
<span class="number"> 103</span>        <span class="k1">int</span> y2 <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%screen_height<span class="k2">;</span>
<span class="number"> 104</span>
<span class="number"> 105</span>        <a href="http://www.allegro.cc/manual/ALLEGRO_COLOR"><span class="a">ALLEGRO_COLOR</span></a> color <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span>r, g, b<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 106</span>        <a href="http://www.allegro.cc/manual/al_draw_line"><span class="a">al_draw_line</span></a><span class="k2">(</span>x1,y1, x2,y2, color, <span class="n">1</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 107</span>
<span class="number"> 108</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"> 109</span>            redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 110</span>      <span class="k2">}</span>
<span class="number"> 111</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"> 112</span>      <span class="k2">{</span>
<span class="number"> 113</span>         redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 114</span>      <span class="k2">}</span>
<span class="number"> 115</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_DISPLAY_CLOSE<span class="k2">)</span>
<span class="number"> 116</span>      <span class="k2">{</span>
<span class="number"> 117</span>         <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 118</span>      <span class="k2">}</span>
<span class="number"> 119</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"> 120</span>      <span class="k2">{</span>
<span class="number"> 121</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"> 122</span>           <span class="k2">{</span>
<span class="number"> 123</span>        <span class="k1">if</span> <span class="k2">(</span>ev.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_ESCAPE<span class="k2">)</span>
<span class="number"> 124</span>        <span class="k2">{</span>
<span class="number"> 125</span>          <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 126</span>        <span class="k2">}</span>
<span class="number"> 127</span>      <span class="k2">}</span>
<span class="number"> 128</span>      <span class="k2">}</span>
<span class="number"> 129</span>   <span class="k2">}</span>
<span class="number"> 130</span>
<span class="number"> 131</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"> 132</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"> 133</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"> 134</span>
<span class="number"> 135</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 136</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (verthex)</author>
		<pubDate>Sat, 30 Apr 2011 18:11:22 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>al_draw_textf(font,text_color,x,y,FLAG,&quot;FPS: %d&quot;,fps);
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (J-Gamer)</author>
		<pubDate>Sat, 30 Apr 2011 18:14:04 +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/607172/915439#target">J-Gamer</a> said:</div><div class="quote"><p>al_draw_textf(font,text_color,x,y,FLAG,&quot;FPS: %d&quot;,fps);</p></div></div><p>


That did draw the fps but now the program seems to endlessly draw text over the same location until its a yellow rectangle plus I cant seem to exit the program, ever. Pressing ESC or trying to close the window wont stop it either, I used process explorer to kill the program.</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="number">   2</span><span class="p">#include &lt;stdio.h&gt;</span>
<span class="number">   3</span><span class="p">#include &lt;allegro5/allegro.h&gt;</span>
<span class="number">   4</span><span class="p">#include &lt;allegro5/allegro_primitives.h&gt;</span>
<span class="number">   5</span><span class="p">#include &lt;allegro5/allegro_font.h&gt;</span>
<span class="number">   6</span><span class="p">#include &lt;allegro5/allegro_ttf.h&gt;</span>
<span class="number">   7</span>
<span class="number">   8</span><span class="k1">const</span> <span class="k1">float</span> FPS <span class="k3">=</span> <span class="n">120</span><span class="k2">;</span>
<span class="number">   9</span>
<span class="number">  10</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">  11</span><span class="k2">{</span>
<span class="number">  12</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">  13</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> NULL<span class="k2">;</span>
<span class="number">  14</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">  15</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">  16</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_FONT"><span class="a">ALLEGRO_FONT</span></a> <span class="k3">*</span>ttf_font<span class="k2">;</span>
<span class="number">  17</span>
<span class="number">  18</span>   <span class="k1">bool</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a> <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  19</span>
<span class="number">  20</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">  21</span>   <span class="k2">{</span>
<span class="number">  22</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to initialize allegro!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  23</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  24</span>   <span class="k2">}</span>
<span class="number">  25</span>
<span class="number">  26</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> FPS<span class="k2">)</span><span class="k2">;</span>
<span class="number">  27</span>   <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>timer<span class="k2">)</span>
<span class="number">  28</span>   <span class="k2">{</span>
<span class="number">  29</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to create timer!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  30</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  31</span>   <span class="k2">}</span>
<span class="number">  32</span>
<span class="number">  33</span>   <span class="k1">int</span> screen_width <span class="k3">=</span> <span class="n">640</span><span class="k2">;</span>
<span class="number">  34</span>   <span class="k1">int</span> screen_height <span class="k3">=</span> <span class="n">480</span><span class="k2">;</span>
<span class="number">  35</span>
<span class="number">  36</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>screen_width, screen_height<span class="k2">)</span><span class="k2">;</span>
<span class="number">  37</span>
<span class="number">  38</span>   <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>display<span class="k2">)</span>
<span class="number">  39</span>   <span class="k2">{</span>
<span class="number">  40</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to create display!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  41</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">  42</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  43</span>   <span class="k2">}</span>
<span class="number">  44</span>
<span class="number">  45</span>   <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</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">  46</span>   <span class="k2">{</span>
<span class="number">  47</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to initiialize primitives addon!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  48</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  49</span>   <span class="k2">}</span>
<span class="number">  50</span>
<span class="number">  51</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</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">  52</span>    <span class="k2">{</span>
<span class="number">  53</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to initialize the keyboard!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  54</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  55</span>   <span class="k2">}</span>
<span class="number">  56</span>
<span class="number">  57</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">  58</span>
<span class="number">  59</span>   <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>event_queue<span class="k2">)</span>
<span class="number">  60</span>   <span class="k2">{</span>
<span class="number">  61</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to create event_queue!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  62</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">  63</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">  64</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  65</span>   <span class="k2">}</span>
<span class="number">  66</span>
<span class="number">  67</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">  68</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">  69</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">  70</span>
<span class="number">  71</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">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  72</span>
<span class="number">  73</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">  74</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">  75</span>
<span class="number">  76</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">  77</span>   ttf_font <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_ttf_font"><span class="a">al_load_ttf_font</span></a><span class="k2">(</span><span class="s">"TIMES.TTF"</span>, <span class="n">16</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  78</span>
<span class="number">  79</span>   <span class="k1">bool</span> redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  80</span>
<span class="number">  81</span>   <span class="k1">double</span> old_time <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">  82</span>
<span class="number">  83</span>   <span class="k1">while</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">)</span>
<span class="number">  84</span>   <span class="k2">{</span>
<span class="number">  85</span>       <span class="k1">double</span> new_time <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">  86</span>    <span class="k1">double</span> delta <span class="k3">=</span> new_time <span class="k3">-</span> old_time<span class="k2">;</span>
<span class="number">  87</span>      <span class="k1">double</span> fps <span class="k3">=</span> <span class="n">1</span><span class="k3">/</span><span class="k2">(</span>delta<span class="k3">*</span><span class="n">1000</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  88</span>      old_time <span class="k3">=</span> new_time<span class="k2">;</span>
<span class="number">  89</span>
<span class="number">  90</span>    <a href="http://www.allegro.cc/manual/al_draw_textf"><span class="a">al_draw_textf</span></a><span class="k2">(</span>ttf_font,<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">0</span><span class="k2">)</span>, <span class="n">16</span>, <span class="n">32</span>,<span class="n">0</span>,<span class="s">"FPS: %d"</span>,fps<span class="k2">)</span><span class="k2">;</span>
<span class="number">  91</span>
<span class="number">  92</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">  93</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">  94</span>
<span class="number">  95</span>    <span class="k1">if</span> <span class="k2">(</span>redraw<span class="k2">)</span>
<span class="number">  96</span>      <span class="k2">{</span>
<span class="number">  97</span>            <span class="k1">int</span> r <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%<span class="n">255</span><span class="k2">;</span>
<span class="number">  98</span>        <span class="k1">int</span> g <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%<span class="n">255</span><span class="k2">;</span>
<span class="number">  99</span>        <span class="k1">int</span> b <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%<span class="n">255</span><span class="k2">;</span>
<span class="number"> 100</span>        <span class="k1">int</span> x1 <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%screen_width<span class="k2">;</span>
<span class="number"> 101</span>        <span class="k1">int</span> x2 <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%screen_width<span class="k2">;</span>
<span class="number"> 102</span>        <span class="k1">int</span> y1 <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%screen_height<span class="k2">;</span>
<span class="number"> 103</span>        <span class="k1">int</span> y2 <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%screen_height<span class="k2">;</span>
<span class="number"> 104</span>
<span class="number"> 105</span>        <a href="http://www.allegro.cc/manual/ALLEGRO_COLOR"><span class="a">ALLEGRO_COLOR</span></a> color <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span>r, g, b<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 106</span>        <a href="http://www.allegro.cc/manual/al_draw_line"><span class="a">al_draw_line</span></a><span class="k2">(</span>x1,y1, x2,y2, color, <span class="n">1</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 107</span>
<span class="number"> 108</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"> 109</span>            redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 110</span>      <span class="k2">}</span>
<span class="number"> 111</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"> 112</span>      <span class="k2">{</span>
<span class="number"> 113</span>         redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 114</span>      <span class="k2">}</span>
<span class="number"> 115</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_DISPLAY_CLOSE<span class="k2">)</span>
<span class="number"> 116</span>      <span class="k2">{</span>
<span class="number"> 117</span>         <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 118</span>         <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 119</span>      <span class="k2">}</span>
<span class="number"> 120</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"> 121</span>      <span class="k2">{</span>
<span class="number"> 122</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"> 123</span>           <span class="k2">{</span>
<span class="number"> 124</span>        <span class="k1">if</span> <span class="k2">(</span>ev.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_ESCAPE<span class="k2">)</span>
<span class="number"> 125</span>        <span class="k2">{</span>
<span class="number"> 126</span>          <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 127</span>          <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 128</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="k2">}</span>
<span class="number"> 132</span>
<span class="number"> 133</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"> 134</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"> 135</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"> 136</span>
<span class="number"> 137</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 138</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (verthex)</author>
		<pubDate>Sat, 30 Apr 2011 18:22:24 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>As for the text: draw it in your drawing code, not the main loop.<br />I think the reason why it is getting a yellow rectangle is that you are drawing it to the screen without clearing the screen. This makes it overdraw each cycle. You should clear the screen each cycle... What I suggest(because you seem to want to let the screen gradually fill with random lines) is that you should create a bitmap with the screen&#39;s dimensions and draw the lines to that one. You can then blit it to the backbuffer and then draw the FPS.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (J-Gamer)</author>
		<pubDate>Sat, 30 Apr 2011 18:34:29 +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/607172/915441#target">J-Gamer</a> said:</div><div class="quote"><p>should create a bitmap with the screen&#39;s dimensions and draw the lines to that one.</p></div></div><p>

Does al_flip_display() change the ALLEGRO_DISPLAY and the ALLEGRO_BITMAP buffers to which the program is drawing to?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (verthex)</author>
		<pubDate>Sun, 01 May 2011 08:47:25 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>It doesn&#39;t change the target bitmap (which is an Allegro concept), but it does swap buffers at a lower level. If you al_flip_display twice in a row you shouldn&#39;t be surprised if two different images are flipped onto the visible screen. But if you&#39;re following j-gamer&#39;s suggestion then you will have to change the target bitmap yourself. Something like this:</p><div class="source-code snippet"><div class="inner"><pre><a href="http://www.allegro.cc/manual/al_set_target_bitmap"><span class="a">al_set_target_bitmap</span></a><span class="k2">(</span>buffer<span class="k2">)</span><span class="k2">;</span>
<a href="http://www.allegro.cc/manual/al_draw_line"><span class="a">al_draw_line</span></a><span class="k2">(</span>...<span class="k2">)</span><span class="k2">;</span>
<a href="http://www.allegro.cc/manual/al_set_target_backbuffer"><span class="a">al_set_target_backbuffer</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">;</span>
<a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>buffer, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</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>
</pre></div></div><p>

Since you have two targets, the buffer, and then later the display, you have to set the target bitmap twice.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Trent Gamblin)</author>
		<pubDate>Sun, 01 May 2011 08:53:32 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>

What about,</p><p>al_draw_textf(ttf_font,al_map_rgb(255,255,0),16,32,0,&quot;FPS: %d&quot;,fps);</p><p>Would writing it to the display during every event timer update and clearing with, </p><p>al_clear_to_color(al_map_rgb(0,0,0)) </p><p>work?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (verthex)</author>
		<pubDate>Sun, 01 May 2011 10:10:56 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yes, if you clear the backbuffer and then draw your text and line onto it then it will look normal, but you will lose any lines you have drawn so far.</p><p>In the latest code you posted you check if the event queue is empty, and if it is, then you check the event type. That&#39;s not what you want to do. Check the type of each event as you receive one and deal with it accordingly. Check all the events in the queue at once, using al_is_event_queue_empty to see if you have checked them all.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Sun, 01 May 2011 10:28:16 +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/607172/915503#target">Edgar Reynaldo</a> said:</div><div class="quote"><p>Yes, if you clear the backbuffer and then draw your text and line onto it then it will look normal, but you will lose any lines you have drawn so far.</p></div></div><p>

Right, thats why I wanted to draw the lines to the buffer and never clear it and draw the text to the display and clear it (with every timer update). Am I wrong, would it work?</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
In the latest code you posted you check if the event queue is empty, and if it is, then you check the event type. That&#39;s not what you want to do. Check the type of each event as you receive one and deal with it accordingly. Check all the events in the queue at once, using al_is_event_queue_empty to see if you have checked them all.</p></div></div><p>

Do you mean this</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="number">  2</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">  3</span><span class="k2">{</span>
<span class="number">  4</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">  5</span>           <span class="k2">{</span>
<span class="number">  6</span>                 <span class="k1">if</span> <span class="k2">(</span>ev.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_ESCAPE<span class="k2">)</span>
<span class="number">  7</span>                 <span class="k2">{</span>
<span class="number">  8</span>                   <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  9</span>                   <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 10</span>                 <span class="k2">}</span>  
<span class="number"> 11</span>           <span class="k2">}</span>
<span class="number"> 12</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"> 13</span>           <span class="k2">{</span>         
<span class="number"> 14</span>                                        redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 15</span>           <span class="k2">}</span>
<span class="number"> 16</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_DISPLAY_CLOSE<span class="k2">)</span>
<span class="number"> 17</span>           <span class="k2">{</span>
<span class="number"> 18</span>                                        <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 19</span>                                        <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 20</span>           <span class="k2">}</span>
<span class="number"> 21</span>      
<span class="number"> 22</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (verthex)</author>
		<pubDate>Sun, 01 May 2011 10:35:19 +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/607172/915504#target">verthex</a> said:</div><div class="quote"><p>
Right, thats why I wanted to draw the lines to the buffer and never clear it and draw the text to the display and clear it (with every timer update). Am I wrong, would it work?
</p></div></div><p>
Sure, that should work.</p><p>1) Draw lines to buffer<br />2) Clear backbuffer<br />3) Draw buffer to backbuffer<br />4) Draw text to backbuffer<br />5) Flip display</p><div class="quote_container"><div class="title">verthex said:</div><div class="quote"><p>
Do you mean this
</p></div></div><p>
Yes. If there are no events in the queue, why would you check them? As it was, you were only checking certain events if they were last in the queue.</p><p>Go back to what I was using in the other thread :
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span><span class="k1">while</span> <span class="k2">(</span><span class="k3">!</span>quit<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  2</span>   <span class="k1">if</span> <span class="k2">(</span>redraw<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  3</span>      Redraw<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  4</span>   <span class="k2">}</span>
<span class="number">  5</span>   <span class="k1">while</span> <span class="k2">(</span><span class="n">1</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number">  6</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">  7</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">  8</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="k2">{</span>
<span class="number">  9</span>         redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 10</span>      <span class="k2">}</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_DISPLAY_CLOSE<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 11</span>         quit <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 12</span>         <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 13</span>      <span class="k2">}</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> <span class="c">/*...*/</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 14</span>
<span class="number"> 15</span>      <span class="k2">}</span>
<span class="number"> 16</span>      <span class="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="k2">{</span><span class="k1">break</span><span class="k2">;</span><span class="k2">}</span><span class="c">// this way all events are used</span>
<span class="number"> 17</span>   <span class="k2">}</span>
<span class="number"> 18</span><span class="k2">}</span>
</div></div><p>

This way it will only redraw when you get a timer event. If you want some other behaviour, let me know.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Sun, 01 May 2011 10:46:53 +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/607172/915506#target">Edgar Reynaldo</a> said:</div><div class="quote"><p>

1) Draw lines to buffer<br />2) Clear backbuffer<br />3) Draw buffer to backbuffer<br />4) Draw text to backbuffer<br />5) Flip display</p></div></div><p>

Wont the lines in the buffer get deleted with every update of the backbuffer (step 2)?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (verthex)</author>
		<pubDate>Sun, 01 May 2011 11:22:47 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>No. You&#39;re clearing the backbuffer of the display, not the buffer.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Sun, 01 May 2011 11:29:13 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p> I tried this and now it crashes. Am I supposed to fiddle around with what Trent said every time I redraw?</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="number">   2</span>
<span class="number">   3</span><span class="p">#include &lt;stdio.h&gt;</span>
<span class="number">   4</span><span class="p">#include &lt;allegro5/allegro.h&gt;</span>
<span class="number">   5</span><span class="p">#include &lt;allegro5/allegro_primitives.h&gt;</span>
<span class="number">   6</span><span class="p">#include &lt;allegro5/allegro_font.h&gt;</span>
<span class="number">   7</span><span class="p">#include &lt;allegro5/allegro_ttf.h&gt;</span>
<span class="number">   8</span>
<span class="number">   9</span><span class="k1">const</span> <span class="k1">float</span> FPS <span class="k3">=</span> <span class="n">120</span><span class="k2">;</span>
<span class="number">  10</span>
<span class="number">  11</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">  12</span><span class="k2">{</span>
<span class="number">  13</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">  14</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> NULL<span class="k2">;</span>
<span class="number">  15</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">  16</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">  17</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_FONT"><span class="a">ALLEGRO_FONT</span></a> <span class="k3">*</span>ttf_font<span class="k2">;</span>
<span class="number">  18</span>
<span class="number">  19</span>   <span class="k1">bool</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a> <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  20</span>
<span class="number">  21</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">  22</span>   <span class="k2">{</span>
<span class="number">  23</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to initialize allegro!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  24</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  25</span>   <span class="k2">}</span>
<span class="number">  26</span>
<span class="number">  27</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> FPS<span class="k2">)</span><span class="k2">;</span>
<span class="number">  28</span>   <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>timer<span class="k2">)</span>
<span class="number">  29</span>   <span class="k2">{</span>
<span class="number">  30</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to create timer!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  31</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  32</span>   <span class="k2">}</span>
<span class="number">  33</span>
<span class="number">  34</span>   <span class="k1">int</span> screen_width <span class="k3">=</span> <span class="n">640</span><span class="k2">;</span>
<span class="number">  35</span>   <span class="k1">int</span> screen_height <span class="k3">=</span> <span class="n">480</span><span class="k2">;</span>
<span class="number">  36</span>
<span class="number">  37</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>screen_width, screen_height<span class="k2">)</span><span class="k2">;</span>
<span class="number">  38</span>
<span class="number">  39</span>   <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>display<span class="k2">)</span>
<span class="number">  40</span>   <span class="k2">{</span>
<span class="number">  41</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to create display!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  42</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">  43</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  44</span>   <span class="k2">}</span>
<span class="number">  45</span>
<span class="number">  46</span>   <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</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">  47</span>   <span class="k2">{</span>
<span class="number">  48</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to initiialize primitives addon!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  49</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  50</span>   <span class="k2">}</span>
<span class="number">  51</span>
<span class="number">  52</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</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">  53</span>    <span class="k2">{</span>
<span class="number">  54</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to initialize the keyboard!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  55</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  56</span>    <span class="k2">}</span>
<span class="number">  57</span>
<span class="number">  58</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">  59</span>
<span class="number">  60</span>   <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>event_queue<span class="k2">)</span>
<span class="number">  61</span>   <span class="k2">{</span>
<span class="number">  62</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to create event_queue!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  63</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">  64</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">  65</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  66</span>   <span class="k2">}</span>
<span class="number">  67</span>
<span class="number">  68</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>screen_width, screen_height<span class="k2">)</span><span class="k2">;</span>
<span class="number">  69</span>   <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>bitmap<span class="k2">)</span>
<span class="number">  70</span>   <span class="k2">{</span>
<span class="number">  71</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to create bouncer bitmap!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  72</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">  73</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">  74</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  75</span>   <span class="k2">}</span>
<span class="number">  76</span>
<span class="number">  77</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">  78</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">  79</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">  80</span>
<span class="number">  81</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">  82</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">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  83</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">  84</span>
<span class="number">  85</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">  86</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">  87</span>
<span class="number">  88</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">  89</span>   ttf_font <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_ttf_font"><span class="a">al_load_ttf_font</span></a><span class="k2">(</span><span class="s">"TIMES.TTF"</span>, <span class="n">16</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  90</span>
<span class="number">  91</span>   <span class="k1">bool</span> redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  92</span>
<span class="number">  93</span>   <span class="k1">double</span> old_time <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">  94</span>
<span class="number">  95</span>   <span class="k1">while</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">)</span>
<span class="number">  96</span>   <span class="k2">{</span>
<span class="number">  97</span>       <span class="k1">double</span> new_time <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">  98</span>    <span class="k1">double</span> delta <span class="k3">=</span> new_time <span class="k3">-</span> old_time<span class="k2">;</span>
<span class="number">  99</span>      <span class="k1">double</span> fps <span class="k3">=</span> <span class="n">1</span><span class="k3">/</span><span class="k2">(</span>delta<span class="k3">*</span><span class="n">1000</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 100</span>      old_time <span class="k3">=</span> new_time<span class="k2">;</span>    
<span class="number"> 101</span>
<span class="number"> 102</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"> 103</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"> 104</span>
<span class="number"> 105</span>    <span class="k1">if</span> <span class="k2">(</span>redraw<span class="k2">)</span>
<span class="number"> 106</span>      <span class="k2">{</span>
<span class="number"> 107</span>            <span class="k1">int</span> r <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%<span class="n">255</span><span class="k2">;</span>
<span class="number"> 108</span>        <span class="k1">int</span> g <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%<span class="n">255</span><span class="k2">;</span>
<span class="number"> 109</span>        <span class="k1">int</span> b <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%<span class="n">255</span><span class="k2">;</span>
<span class="number"> 110</span>        <span class="k1">int</span> x1 <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%screen_width<span class="k2">;</span>
<span class="number"> 111</span>        <span class="k1">int</span> x2 <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%screen_width<span class="k2">;</span>
<span class="number"> 112</span>        <span class="k1">int</span> y1 <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%screen_height<span class="k2">;</span>
<span class="number"> 113</span>        <span class="k1">int</span> y2 <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%screen_height<span class="k2">;</span>
<span class="number"> 114</span>
<span class="number"> 115</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"> 116</span>        <a href="http://www.allegro.cc/manual/ALLEGRO_COLOR"><span class="a">ALLEGRO_COLOR</span></a> color <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span>r,g,b<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 117</span>        <a href="http://www.allegro.cc/manual/al_draw_line"><span class="a">al_draw_line</span></a><span class="k2">(</span>x1,y1,x2,y2,color,<span class="n">1</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 118</span>        <a href="http://www.allegro.cc/manual/al_set_target_backbuffer"><span class="a">al_set_target_backbuffer</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 119</span>        <a href="http://www.allegro.cc/manual/al_draw_textf"><span class="a">al_draw_textf</span></a><span class="k2">(</span>ttf_font,<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">0</span><span class="k2">)</span>, <span class="n">16</span>, <span class="n">32</span>,<span class="n">0</span>,<span class="s">"FPS: %d"</span>,fps<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 120</span>      <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>bitmap,<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="number"> 121</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"> 122</span>            redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 123</span>      <span class="k2">}</span>
<span class="number"> 124</span>      <span class="k1">while</span> <span class="k2">(</span><span class="n">1</span><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/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> ev<span class="k2">;</span>
<span class="number"> 127</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"> 128</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"> 129</span>        <span class="k2">{</span>
<span class="number"> 130</span>          redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 131</span>        <span class="k2">}</span>
<span class="number"> 132</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_DISPLAY_CLOSE<span class="k2">)</span>
<span class="number"> 133</span>        <span class="k2">{</span>
<span class="number"> 134</span>         <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 135</span>         <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 136</span>        <span class="k2">}</span>
<span class="number"> 137</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_DOWN<span class="k2">)</span>
<span class="number"> 138</span>      <span class="k2">{</span>
<span class="number"> 139</span>        <span class="k1">if</span> <span class="k2">(</span>ev.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_ESCAPE<span class="k2">)</span>
<span class="number"> 140</span>        <span class="k2">{</span>
<span class="number"> 141</span>          <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 142</span>          <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 143</span>        <span class="k2">}</span>
<span class="number"> 144</span>      <span class="k2">}</span>
<span class="number"> 145</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"> 146</span>      <span class="k2">{</span>
<span class="number"> 147</span>        <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 148</span>      <span class="k2">}</span><span class="c">// this way all events are used</span>
<span class="number"> 149</span>      <span class="k2">}</span>
<span class="number"> 150</span>  <span class="k2">}</span>
<span class="number"> 151</span>
<span class="number"> 152</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"> 153</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"> 154</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"> 155</span>
<span class="number"> 156</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 157</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (verthex)</author>
		<pubDate>Sun, 01 May 2011 11:52:55 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>1) You forgot to initialize the font addon. Initialize it before you initialize the ttf addon. This is why it is crashing.</p><p>2) %lf is the correct printf format specifier for a double, not %d, that is for signed integers. <b>Note :</b> After messing with al_draw_textf for a while, it does not recognize %lf as a valid specifier, even though printf does. Use %f and cast fps to a float.</p><p>3) You&#39;re waiting for events twice, get rid of lines 102 and 103.</p><p>4) You&#39;re drawing the buffer on top of the FPS counter, so you&#39;ll never see it. Swap lines 119 and 120.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Sun, 01 May 2011 13:16:12 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>EDIT: beaten ._.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (J-Gamer)</author>
		<pubDate>Sun, 01 May 2011 13:19:52 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I forgot :</p><p>5) al_get_time() returns the number of seconds passed since allegro was initialized, not milliseconds. So the correct formula is<br /><img class="math" src="http://www.allegro.cc/images/tex/2/a/2a0ddb26e0bf924b2b5cb8d2ef1e3c72-96.png" alt="&lt;math&gt;fps = 1.0/(newtime - oldtime);&lt;/math&gt;" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Sun, 01 May 2011 13:23:43 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p><img src="http://www.allegro.cc/forums/smileys/lipsrsealed.gif" alt=":-X" /> mis-read the manual
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (J-Gamer)</author>
		<pubDate>Sun, 01 May 2011 13:36:02 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I made the changes like you said but it still crashed. I commented out the line where the text is printed and that worked except the frame rate slowed to 1 line per second.</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="number">   2</span><span class="p">#include &lt;stdio.h&gt;</span>
<span class="number">   3</span><span class="p">#include &lt;allegro5/allegro.h&gt;</span>
<span class="number">   4</span><span class="p">#include &lt;allegro5/allegro_primitives.h&gt;</span>
<span class="number">   5</span><span class="p">#include &lt;allegro5/allegro_font.h&gt;</span>
<span class="number">   6</span><span class="p">#include &lt;allegro5/allegro_ttf.h&gt;</span>
<span class="number">   7</span>
<span class="number">   8</span><span class="k1">const</span> <span class="k1">float</span> FPS <span class="k3">=</span> <span class="n">120</span><span class="k2">;</span>
<span class="number">   9</span>
<span class="number">  10</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">  11</span><span class="k2">{</span>
<span class="number">  12</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">  13</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> NULL<span class="k2">;</span>
<span class="number">  14</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">  15</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">  16</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_FONT"><span class="a">ALLEGRO_FONT</span></a> <span class="k3">*</span>ttf_font<span class="k2">;</span>
<span class="number">  17</span>
<span class="number">  18</span>   <span class="k1">bool</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a> <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  19</span>
<span class="number">  20</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">  21</span>   <span class="k2">{</span>
<span class="number">  22</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to initialize allegro!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  23</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  24</span>   <span class="k2">}</span>
<span class="number">  25</span>
<span class="number">  26</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> FPS<span class="k2">)</span><span class="k2">;</span>
<span class="number">  27</span>   <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>timer<span class="k2">)</span>
<span class="number">  28</span>   <span class="k2">{</span>
<span class="number">  29</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to create timer!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  30</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  31</span>   <span class="k2">}</span>
<span class="number">  32</span>
<span class="number">  33</span>   <span class="k1">int</span> screen_width <span class="k3">=</span> <span class="n">640</span><span class="k2">;</span>
<span class="number">  34</span>   <span class="k1">int</span> screen_height <span class="k3">=</span> <span class="n">480</span><span class="k2">;</span>
<span class="number">  35</span>
<span class="number">  36</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>screen_width, screen_height<span class="k2">)</span><span class="k2">;</span>
<span class="number">  37</span>
<span class="number">  38</span>   <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>display<span class="k2">)</span>
<span class="number">  39</span>   <span class="k2">{</span>
<span class="number">  40</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to create display!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  41</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">  42</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  43</span>   <span class="k2">}</span>
<span class="number">  44</span>
<span class="number">  45</span>   <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</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">  46</span>   <span class="k2">{</span>
<span class="number">  47</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to initiialize primitives addon!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  48</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  49</span>   <span class="k2">}</span>
<span class="number">  50</span>
<span class="number">  51</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</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">  52</span>    <span class="k2">{</span>
<span class="number">  53</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to initialize the keyboard!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  54</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  55</span>    <span class="k2">}</span>
<span class="number">  56</span>
<span class="number">  57</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">  58</span>
<span class="number">  59</span>   <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>event_queue<span class="k2">)</span>
<span class="number">  60</span>   <span class="k2">{</span>
<span class="number">  61</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to create event_queue!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  62</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">  63</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">  64</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  65</span>   <span class="k2">}</span>
<span class="number">  66</span>
<span class="number">  67</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>screen_width, screen_height<span class="k2">)</span><span class="k2">;</span>
<span class="number">  68</span>   <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>bitmap<span class="k2">)</span>
<span class="number">  69</span>   <span class="k2">{</span>
<span class="number">  70</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to create bouncer bitmap!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  71</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">  72</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">  73</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  74</span>   <span class="k2">}</span>
<span class="number">  75</span>
<span class="number">  76</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">  77</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">  78</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">  79</span>
<span class="number">  80</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">  81</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">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  82</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">  83</span>
<span class="number">  84</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">  85</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">  86</span>
<span class="number">  87</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">  88</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">  89</span>   ttf_font <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_ttf_font"><span class="a">al_load_ttf_font</span></a><span class="k2">(</span><span class="s">"TIMES.TTF"</span>, <span class="n">16</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  90</span>
<span class="number">  91</span>   <span class="k1">bool</span> redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  92</span>
<span class="number">  93</span>   <span class="k1">double</span> old_time <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">  94</span>
<span class="number">  95</span>   <span class="k1">while</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">)</span>
<span class="number">  96</span>   <span class="k2">{</span>
<span class="number">  97</span>       <span class="k1">double</span> new_time <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">  98</span>      <span class="k1">double</span> fps <span class="k3">=</span> <span class="n">1</span><span class="k3">/</span><span class="k2">(</span>new_time <span class="k3">-</span> old_time<span class="k2">)</span><span class="k2">;</span>
<span class="number">  99</span>      old_time <span class="k3">=</span> new_time<span class="k2">;</span>
<span class="number"> 100</span>      
<span class="number"> 101</span>    <span class="k1">if</span> <span class="k2">(</span>redraw<span class="k2">)</span>
<span class="number"> 102</span>      <span class="k2">{</span>
<span class="number"> 103</span>            <span class="k1">int</span> r <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%<span class="n">255</span><span class="k2">;</span>
<span class="number"> 104</span>        <span class="k1">int</span> g <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%<span class="n">255</span><span class="k2">;</span>
<span class="number"> 105</span>        <span class="k1">int</span> b <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%<span class="n">255</span><span class="k2">;</span>
<span class="number"> 106</span>        <span class="k1">int</span> x1 <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%screen_width<span class="k2">;</span>
<span class="number"> 107</span>        <span class="k1">int</span> x2 <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%screen_width<span class="k2">;</span>
<span class="number"> 108</span>        <span class="k1">int</span> y1 <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%screen_height<span class="k2">;</span>
<span class="number"> 109</span>        <span class="k1">int</span> y2 <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%screen_height<span class="k2">;</span>
<span class="number"> 110</span>
<span class="number"> 111</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"> 112</span>        <a href="http://www.allegro.cc/manual/ALLEGRO_COLOR"><span class="a">ALLEGRO_COLOR</span></a> color <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span>r,g,b<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 113</span>        <a href="http://www.allegro.cc/manual/al_draw_line"><span class="a">al_draw_line</span></a><span class="k2">(</span>x1,y1,x2,y2,color,<span class="n">1</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 114</span>        <a href="http://www.allegro.cc/manual/al_set_target_backbuffer"><span class="a">al_set_target_backbuffer</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 115</span>        <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>bitmap,<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="number"> 116</span>       <span class="c">// al_draw_textf(ttf_font,al_map_rgb(255,255,0), 16, 32,0,"FPS: %f", (float)fps);</span>
<span class="number"> 117</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"> 118</span>            redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 119</span>      <span class="k2">}</span>
<span class="number"> 120</span>      <span class="k1">while</span> <span class="k2">(</span><span class="n">1</span><span class="k2">)</span>
<span class="number"> 121</span>      <span class="k2">{</span>
<span class="number"> 122</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"> 123</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"> 124</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"> 125</span>        <span class="k2">{</span>
<span class="number"> 126</span>          redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 127</span>        <span class="k2">}</span>
<span class="number"> 128</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_DISPLAY_CLOSE<span class="k2">)</span>
<span class="number"> 129</span>        <span class="k2">{</span>
<span class="number"> 130</span>         <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 131</span>         <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 132</span>        <span class="k2">}</span>
<span class="number"> 133</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_DOWN<span class="k2">)</span>
<span class="number"> 134</span>      <span class="k2">{</span>
<span class="number"> 135</span>        <span class="k1">if</span> <span class="k2">(</span>ev.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_ESCAPE<span class="k2">)</span>
<span class="number"> 136</span>        <span class="k2">{</span>
<span class="number"> 137</span>          <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 138</span>          <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 139</span>        <span class="k2">}</span>
<span class="number"> 140</span>      <span class="k2">}</span>
<span class="number"> 141</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"> 142</span>      <span class="k2">{</span>
<span class="number"> 143</span>        <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 144</span>      <span class="k2">}</span><span class="c">// this way all events are used</span>
<span class="number"> 145</span>      <span class="k2">}</span>
<span class="number"> 146</span>  <span class="k2">}</span>
<span class="number"> 147</span>
<span class="number"> 148</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"> 149</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"> 150</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"> 151</span>
<span class="number"> 152</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 153</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (verthex)</author>
		<pubDate>Sun, 01 May 2011 20:08:19 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p><span class="source-code"><a href="http://www.allegro.cc/manual/al_init_ttf_addon"><span class="a">al_init_ttf_addon</span></a></span> may fail. It returns bool so check the return value. Your font may not be loading properly either. Make sure you are running your program from the directory that contains it or else it will be looking for your font in a different folder.</p><p>As for why you&#39;re only getting 1 line per second, I can&#39;t explain that. When I fixed your code and ran it, it worked at 120 frames per second, just like your fps is set to run at.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Mon, 02 May 2011 06:14:19 +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/607172/915637#target">Edgar Reynaldo</a> said:</div><div class="quote"><p>Your font may not be loading properly either. </p></div></div><p>

I double checked it and it was in the wrong directory after all but it still doesn&#39;t work and I get 1 frame a second with no changes to the last code I posted in this thread.</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>When I fixed your code and ran it, it worked at 120 frames per second, just like your fps is set to run at.</p></div></div><p>

It would be helpful if you could post that one. Does it have the text printing to the screen or is that the version before that change?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (verthex)</author>
		<pubDate>Mon, 02 May 2011 07:28:13 +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/607172/915642#target">verthex</a> said:</div><div class="quote"><p>
It would be helpful if you could post that one. Does it have the text printing to the screen or is that the version before that change?
</p></div></div><p>
Text output is included, and working properly. I double checked, and the following code runs at 120 fps for me (I used a different font, as I don&#39;t have your font handy) :</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;allegro5/allegro_font.h&gt;</span>
<span class="number">   5</span><span class="p">#include &lt;allegro5/allegro_ttf.h&gt;</span>
<span class="number">   6</span>
<span class="number">   7</span><span class="c">//#include &lt;allegro5/allegro_direct3d.h&gt;</span>
<span class="number">   8</span>
<span class="number">   9</span><span class="k1">const</span> <span class="k1">float</span> FPS <span class="k3">=</span> <span class="n">120</span>.<span class="n">0f</span><span class="k2">;</span>
<span class="number">  10</span>
<span class="number">  11</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">  12</span><span class="k2">{</span>
<span class="number">  13</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">  14</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> NULL<span class="k2">;</span>
<span class="number">  15</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">  16</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">  17</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_FONT"><span class="a">ALLEGRO_FONT</span></a> <span class="k3">*</span>ttf_font<span class="k2">;</span>
<span class="number">  18</span>
<span class="number">  19</span>   <span class="k1">bool</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a> <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  20</span>
<span class="number">  21</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">  22</span>   <span class="k2">{</span>
<span class="number">  23</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to initialize allegro!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  24</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  25</span>   <span class="k2">}</span>
<span class="number">  26</span>
<span class="number">  27</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> FPS<span class="k2">)</span><span class="k2">;</span>
<span class="number">  28</span>   <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>timer<span class="k2">)</span>
<span class="number">  29</span>   <span class="k2">{</span>
<span class="number">  30</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to create timer!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  31</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  32</span>   <span class="k2">}</span>
<span class="number">  33</span>
<span class="number">  34</span>   <span class="k1">int</span> screen_width <span class="k3">=</span> <span class="n">640</span><span class="k2">;</span>
<span class="number">  35</span>   <span class="k1">int</span> screen_height <span class="k3">=</span> <span class="n">480</span><span class="k2">;</span>
<span class="number">  36</span>
<span class="number">  37</span><span class="c">//   al_set_new_display_flags(ALLEGRO_DIRECT3D);</span>
<span class="number">  38</span>
<span class="number">  39</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>screen_width, screen_height<span class="k2">)</span><span class="k2">;</span>
<span class="number">  40</span>
<span class="number">  41</span>   <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>display<span class="k2">)</span>
<span class="number">  42</span>   <span class="k2">{</span>
<span class="number">  43</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to create display!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  44</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">  45</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  46</span>   <span class="k2">}</span>
<span class="number">  47</span>
<span class="number">  48</span>   <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</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">  49</span>   <span class="k2">{</span>
<span class="number">  50</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to initiialize primitives addon!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  51</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  52</span>   <span class="k2">}</span>
<span class="number">  53</span>
<span class="number">  54</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</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">  55</span>    <span class="k2">{</span>
<span class="number">  56</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to initialize the keyboard!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  57</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  58</span>    <span class="k2">}</span>
<span class="number">  59</span>
<span class="number">  60</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">  61</span>
<span class="number">  62</span>   <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>event_queue<span class="k2">)</span>
<span class="number">  63</span>   <span class="k2">{</span>
<span class="number">  64</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to create event_queue!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  65</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">  66</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">  67</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  68</span>   <span class="k2">}</span>
<span class="number">  69</span>
<span class="number">  70</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>screen_width, screen_height<span class="k2">)</span><span class="k2">;</span>
<span class="number">  71</span>   <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>bitmap<span class="k2">)</span>
<span class="number">  72</span>   <span class="k2">{</span>
<span class="number">  73</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to create bouncer bitmap!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  74</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">  75</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">  76</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  77</span>   <span class="k2">}</span>
<span class="number">  78</span>
<span class="number">  79</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">  80</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">  81</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">  82</span>
<span class="number">  83</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">  84</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">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  85</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">  86</span>
<span class="number">  87</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">  88</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">  89</span>
<span class="number">  90</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">  91</span>   <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</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="k2">{</span>
<span class="number">  92</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr , <span class="s">"failed to initialize the ttf addon.\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  93</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  94</span>   <span class="k2">}</span>
<span class="number">  95</span>   ttf_font <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_ttf_font"><span class="a">al_load_ttf_font</span></a><span class="k2">(</span><span class="s">"verdana.ttf"</span>, <span class="n">16</span>, <span class="n">0</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>ttf_font<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  97</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr , <span class="s">"failed to load font.\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  98</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  99</span>   <span class="k2">}</span>
<span class="number"> 100</span>
<span class="number"> 101</span>
<span class="number"> 102</span>   <span class="k1">bool</span> redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 103</span>
<span class="number"> 104</span>   <span class="k1">double</span> old_time <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"> 105</span>
<span class="number"> 106</span>
<span class="number"> 107</span>   <span class="k1">while</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">)</span>
<span class="number"> 108</span>   <span class="k2">{</span>
<span class="number"> 109</span>       <span class="k1">double</span> new_time <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"> 110</span>      <span class="k1">double</span> fps <span class="k3">=</span> <span class="n">1</span>.<span class="n">0</span><span class="k3">/</span><span class="k2">(</span>new_time <span class="k3">-</span> old_time<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 111</span>      old_time <span class="k3">=</span> new_time<span class="k2">;</span>    
<span class="number"> 112</span>
<span class="number"> 113</span>    <span class="k1">if</span> <span class="k2">(</span>redraw<span class="k2">)</span>
<span class="number"> 114</span>      <span class="k2">{</span>
<span class="number"> 115</span>            <span class="k1">int</span> r <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%<span class="n">255</span><span class="k2">;</span>
<span class="number"> 116</span>        <span class="k1">int</span> g <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%<span class="n">255</span><span class="k2">;</span>
<span class="number"> 117</span>        <span class="k1">int</span> b <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%<span class="n">255</span><span class="k2">;</span>
<span class="number"> 118</span>        <span class="k1">int</span> a <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%<span class="n">128</span> <span class="k3">+</span> <span class="n">64</span><span class="k2">;</span>
<span class="number"> 119</span>        <span class="k1">int</span> x1 <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%screen_width<span class="k2">;</span>
<span class="number"> 120</span>        <span class="k1">int</span> x2 <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%screen_width<span class="k2">;</span>
<span class="number"> 121</span>        <span class="k1">int</span> y1 <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%screen_height<span class="k2">;</span>
<span class="number"> 122</span>        <span class="k1">int</span> y2 <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%screen_height<span class="k2">;</span>
<span class="number"> 123</span>
<span class="number"> 124</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"> 125</span>        <a href="http://www.allegro.cc/manual/ALLEGRO_COLOR"><span class="a">ALLEGRO_COLOR</span></a> color <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_map_rgba"><span class="a">al_map_rgba</span></a><span class="k2">(</span>r<span class="k3">*</span>a<span class="k3">/</span><span class="n">255</span>,g<span class="k3">*</span>a<span class="k3">/</span><span class="n">255</span>,b<span class="k3">*</span>a<span class="k3">/</span><span class="n">255</span>,a<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 126</span>        <a href="http://www.allegro.cc/manual/al_draw_line"><span class="a">al_draw_line</span></a><span class="k2">(</span>x1,y1,x2,y2,color,<span class="n">20</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 127</span>        <a href="http://www.allegro.cc/manual/al_set_target_backbuffer"><span class="a">al_set_target_backbuffer</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 128</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">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 129</span>        <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>bitmap,<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="number"> 130</span>        <a href="http://www.allegro.cc/manual/al_draw_filled_rectangle"><span class="a">al_draw_filled_rectangle</span></a><span class="k2">(</span><span class="n">16</span>.<span class="n">0f</span> , <span class="n">32</span>.<span class="n">0f</span> , <span class="n">156</span>.<span class="n">0f</span> , <span class="n">52</span>.<span class="n">0f</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">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 131</span>        <a href="http://www.allegro.cc/manual/al_draw_textf"><span class="a">al_draw_textf</span></a><span class="k2">(</span>ttf_font,<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">0</span><span class="k2">)</span>, <span class="n">16</span>, <span class="n">32</span>,<span class="n">0</span>,<span class="s">"FPS: %f"</span>,<span class="k2">(</span><span class="k1">float</span><span class="k2">)</span>fps<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 132</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"> 133</span>            redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 134</span>      <span class="k2">}</span>
<span class="number"> 135</span>      <span class="k1">while</span> <span class="k2">(</span><span class="n">1</span><span class="k2">)</span>
<span class="number"> 136</span>      <span class="k2">{</span>
<span class="number"> 137</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"> 138</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"> 139</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"> 140</span>        <span class="k2">{</span>
<span class="number"> 141</span>          redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 142</span>        <span class="k2">}</span>
<span class="number"> 143</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_DISPLAY_CLOSE<span class="k2">)</span>
<span class="number"> 144</span>        <span class="k2">{</span>
<span class="number"> 145</span>         <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 146</span>         <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 147</span>        <span class="k2">}</span>
<span class="number"> 148</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_DOWN<span class="k2">)</span>
<span class="number"> 149</span>      <span class="k2">{</span>
<span class="number"> 150</span>        <span class="k1">if</span> <span class="k2">(</span>ev.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_ESCAPE<span class="k2">)</span>
<span class="number"> 151</span>        <span class="k2">{</span>
<span class="number"> 152</span>          <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 153</span>          <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 154</span>        <span class="k2">}</span>
<span class="number"> 155</span>      <span class="k2">}</span>
<span class="number"> 156</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"> 157</span>      <span class="k2">{</span>
<span class="number"> 158</span>        <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 159</span>      <span class="k2">}</span><span class="c">// this way all events are used</span>
<span class="number"> 160</span>      <span class="k2">}</span>
<span class="number"> 161</span>  <span class="k2">}</span>
<span class="number"> 162</span>
<span class="number"> 163</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"> 164</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"> 165</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"> 166</span>
<span class="number"> 167</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 168</span><span class="k2">}</span>
</div></div><p>

If the above code doesn&#39;t work properly for you, try this out for a test :
</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">while</span> <span class="k2">(</span><span class="k3">!</span>quit<span class="k2">)</span> <span class="k2">{</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">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
   <span class="k1">double</span> new_time <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="k1">float</span> fps <span class="k3">=</span> <span class="n">1</span>.<span class="n">0f</span><span class="k3">/</span><span class="k2">(</span>new_time <span class="k3">-</span> old_time<span class="k2">)</span><span class="k2">;</span>
   old_time <span class="k3">=</span> new_time<span class="k2">;</span>
   <a href="http://www.allegro.cc/manual/al_draw_textf"><span class="a">al_draw_textf</span></a><span class="k2">(</span>ttf_font , <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> , <span class="n">0</span>.<span class="n">0</span> , <span class="n">0</span>.<span class="n">0</span> , <span class="s">"FPS : %f"</span> , fps<span class="k2">)</span><span class="k2">;</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="k1">if</span> <span class="k2">(</span><span class="k3">!</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><span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span>quit <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span><span class="k2">}</span>
<span class="k2">}</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Mon, 02 May 2011 08:18:03 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/607172/915651#target">Edgar Reynaldo</a> said:</div><div class="quote"><p>If the above code doesn&#39;t work properly for you, try this out for a test :</p></div></div><p>

The above code did work but I got .5 frames per second on average.</p><p>The code after also worked after I made some changes but it just exits after printing the fps.</p><div class="source-code snippet"><div class="inner"><pre>
<span class="k1">while</span> <span class="k2">(</span><span class="k3">!</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">)</span>
   <span class="k2">{</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">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
    <span class="k1">double</span> new_time <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="k1">float</span> fps <span class="k3">=</span> <span class="n">1</span>.<span class="n">0f</span><span class="k3">/</span><span class="k2">(</span>new_time <span class="k3">-</span> old_time<span class="k2">)</span><span class="k2">;</span>
    old_time <span class="k3">=</span> new_time<span class="k2">;</span>
    <a href="http://www.allegro.cc/manual/al_draw_textf"><span class="a">al_draw_textf</span></a><span class="k2">(</span>ttf_font,<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">0</span><span class="k2">)</span>, <span class="n">16</span>, <span class="n">32</span>,<span class="n">0</span>,<span class="s">"FPS: %f"</span>,<span class="k2">(</span><span class="k1">float</span><span class="k2">)</span>fps<span class="k2">)</span><span class="k2">;</span>
    <span class="c">//al_draw_textf(ttf_font , al_map_rgb(255,255,255) , 0.0 , 0.0 , "FPS : %f" , fps);</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="k1">if</span> <span class="k2">(</span><span class="k3">!</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="k2">{</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span><span class="k2">}</span>
   <span class="k2">}</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (verthex)</author>
		<pubDate>Mon, 02 May 2011 08:30:11 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Okay, change the is_event_queue_empty line to this :
</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">if</span> <span class="k2">(</span><span class="k3">!</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><span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span>
   <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> ev<span class="k2">;</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><span class="k3">&amp;</span>ev<span class="k2">)</span><span class="k2">;</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="k2">{</span>
      <span class="k1">break</span><span class="k2">;</span>
   <span class="k2">}</span>
<span class="k2">}</span>
</pre></div></div><p>

And see if it still runs slowly for you.</p><p>Other ideas :<br />1) Go back to the regular code, and check the bitmap flags of the bitmap you create and make sure it is a video bitmap :
</p><div class="source-code snippet"><div class="inner"><pre>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>screen_width , screen_height<span class="k2">)</span><span class="k2">;</span>
<span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>bitmap<span class="k2">)</span> <span class="k2">{</span>
   <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"failed to create bitmap.\n"</span><span class="k2">)</span><span class="k2">;</span>
   <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span>
<span class="k2">}</span>
<span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_get_bitmap_flags"><span class="a">al_get_bitmap_flags</span></a><span class="k2">(</span>bitmap<span class="k2">)</span> <span class="k3">&amp;</span> ALLEGRO_VIDEO_BITMAP<span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span>
   <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"Not a video bitmap!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="k2">}</span>
</pre></div></div><p>

2) Link to the debugging Allegro library and then run your program. Then post the allegro.log file it produces. The devs may be able to see something of why it&#39;s so slow in it.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Mon, 02 May 2011 09:27:03 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/607172/915658#target">Edgar Reynaldo</a> said:</div><div class="quote"><p>1) Go back to the regular code, and check the bitmap flags of the bitmap you create and make sure it is a video bitmap :</p></div></div><p>

Tried it and I didn&#39;t get any text.</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="number">   2</span><span class="p">#include &lt;stdio.h&gt;</span>
<span class="number">   3</span><span class="p">#include &lt;allegro5/allegro.h&gt;</span>
<span class="number">   4</span><span class="p">#include &lt;allegro5/allegro_primitives.h&gt;</span>
<span class="number">   5</span><span class="p">#include &lt;allegro5/allegro_font.h&gt;</span>
<span class="number">   6</span><span class="p">#include &lt;allegro5/allegro_ttf.h&gt;</span>
<span class="number">   7</span>
<span class="number">   8</span><span class="k1">const</span> <span class="k1">float</span> FPS <span class="k3">=</span> <span class="n">120</span>.<span class="n">0f</span><span class="k2">;</span>
<span class="number">   9</span>
<span class="number">  10</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">  11</span><span class="k2">{</span>
<span class="number">  12</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">  13</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> NULL<span class="k2">;</span>
<span class="number">  14</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">  15</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">  16</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_FONT"><span class="a">ALLEGRO_FONT</span></a> <span class="k3">*</span>ttf_font<span class="k2">;</span>
<span class="number">  17</span>
<span class="number">  18</span>   <span class="k1">bool</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a> <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  19</span>
<span class="number">  20</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">  21</span>   <span class="k2">{</span>
<span class="number">  22</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to initialize allegro!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  23</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  24</span>   <span class="k2">}</span>
<span class="number">  25</span>
<span class="number">  26</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> FPS<span class="k2">)</span><span class="k2">;</span>
<span class="number">  27</span>   <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>timer<span class="k2">)</span>
<span class="number">  28</span>   <span class="k2">{</span>
<span class="number">  29</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to create timer!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  30</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  31</span>   <span class="k2">}</span>
<span class="number">  32</span>
<span class="number">  33</span>   <span class="k1">int</span> screen_width <span class="k3">=</span> <span class="n">640</span><span class="k2">;</span>
<span class="number">  34</span>   <span class="k1">int</span> screen_height <span class="k3">=</span> <span class="n">480</span><span class="k2">;</span>
<span class="number">  35</span>
<span class="number">  36</span>   <a href="http://www.allegro.cc/manual/al_set_new_display_flags"><span class="a">al_set_new_display_flags</span></a><span class="k2">(</span>ALLEGRO_OPENGL<span class="k2">)</span><span class="k2">;</span>
<span class="number">  37</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>screen_width, screen_height<span class="k2">)</span><span class="k2">;</span>
<span class="number">  38</span>
<span class="number">  39</span>   <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>display<span class="k2">)</span>
<span class="number">  40</span>   <span class="k2">{</span>
<span class="number">  41</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to create display!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  42</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">  43</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  44</span>   <span class="k2">}</span>
<span class="number">  45</span>
<span class="number">  46</span>   <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</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">  47</span>   <span class="k2">{</span>
<span class="number">  48</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to initiialize primitives addon!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  49</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  50</span>   <span class="k2">}</span>
<span class="number">  51</span>
<span class="number">  52</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</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">  53</span>    <span class="k2">{</span>
<span class="number">  54</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to initialize the keyboard!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  55</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  56</span>    <span class="k2">}</span>
<span class="number">  57</span>
<span class="number">  58</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">  59</span>
<span class="number">  60</span>   <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>event_queue<span class="k2">)</span>
<span class="number">  61</span>   <span class="k2">{</span>
<span class="number">  62</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to create event_queue!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  63</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">  64</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">  65</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  66</span>   <span class="k2">}</span>
<span class="number">  67</span>
<span class="number">  68</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>screen_width, screen_height<span class="k2">)</span><span class="k2">;</span>
<span class="number">  69</span>   <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>bitmap<span class="k2">)</span>
<span class="number">  70</span>   <span class="k2">{</span>
<span class="number">  71</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to create bouncer bitmap!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  72</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">  73</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">  74</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  75</span>   <span class="k2">}</span>
<span class="number">  76</span>   <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_get_bitmap_flags"><span class="a">al_get_bitmap_flags</span></a><span class="k2">(</span>bitmap<span class="k2">)</span> <span class="k3">&amp;</span> ALLEGRO_VIDEO_BITMAP<span class="k2">)</span><span class="k2">)</span>
<span class="number">  77</span>   <span class="k2">{</span>
<span class="number">  78</span>     <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"Not a video bitmap!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  79</span>   <span class="k2">}</span>
<span class="number">  80</span>
<span class="number">  81</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">  82</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">  83</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">  84</span>
<span class="number">  85</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">  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"><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">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  87</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">  88</span>
<span class="number">  89</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">  90</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">  91</span>
<span class="number">  92</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">  93</span>   <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</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="k2">{</span>
<span class="number">  94</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr , <span class="s">"failed to initialize the ttf addon.\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  95</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  96</span>   <span class="k2">}</span>
<span class="number">  97</span>   ttf_font <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_ttf_font"><span class="a">al_load_ttf_font</span></a><span class="k2">(</span><span class="s">"times.ttf"</span>, <span class="n">16</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  98</span>   <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>ttf_font<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  99</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr , <span class="s">"failed to load font.\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 100</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number"> 101</span>   <span class="k2">}</span>
<span class="number"> 102</span>
<span class="number"> 103</span>
<span class="number"> 104</span>   <span class="k1">bool</span> redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 105</span>
<span class="number"> 106</span>   <span class="k1">double</span> old_time <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"> 107</span>
<span class="number"> 108</span>   <span class="k1">while</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">)</span>
<span class="number"> 109</span>   <span class="k2">{</span>
<span class="number"> 110</span>       <span class="k1">double</span> new_time <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"> 111</span>       <span class="k1">double</span> fps <span class="k3">=</span> <span class="n">1</span>.<span class="n">0</span><span class="k3">/</span><span class="k2">(</span>new_time <span class="k3">-</span> old_time<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 112</span>     old_time <span class="k3">=</span> new_time<span class="k2">;</span>
<span class="number"> 113</span>
<span class="number"> 114</span>    <span class="k1">if</span> <span class="k2">(</span>redraw<span class="k2">)</span>
<span class="number"> 115</span>      <span class="k2">{</span>
<span class="number"> 116</span>        <span class="k1">int</span> r <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%<span class="n">255</span><span class="k2">;</span>
<span class="number"> 117</span>        <span class="k1">int</span> g <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%<span class="n">255</span><span class="k2">;</span>
<span class="number"> 118</span>        <span class="k1">int</span> b <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%<span class="n">255</span><span class="k2">;</span>
<span class="number"> 119</span>        <span class="k1">int</span> a <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%<span class="n">128</span> <span class="k3">+</span> <span class="n">64</span><span class="k2">;</span>
<span class="number"> 120</span>        <span class="k1">int</span> x1 <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%screen_width<span class="k2">;</span>
<span class="number"> 121</span>        <span class="k1">int</span> x2 <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%screen_width<span class="k2">;</span>
<span class="number"> 122</span>        <span class="k1">int</span> y1 <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%screen_height<span class="k2">;</span>
<span class="number"> 123</span>        <span class="k1">int</span> y2 <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%screen_height<span class="k2">;</span>
<span class="number"> 124</span>
<span class="number"> 125</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"> 126</span>        <a href="http://www.allegro.cc/manual/ALLEGRO_COLOR"><span class="a">ALLEGRO_COLOR</span></a> color <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_map_rgba"><span class="a">al_map_rgba</span></a><span class="k2">(</span>r<span class="k3">*</span>a<span class="k3">/</span><span class="n">255</span>,g<span class="k3">*</span>a<span class="k3">/</span><span class="n">255</span>,b<span class="k3">*</span>a<span class="k3">/</span><span class="n">255</span>,a<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 127</span>        <a href="http://www.allegro.cc/manual/al_draw_line"><span class="a">al_draw_line</span></a><span class="k2">(</span>x1,y1,x2,y2,color,<span class="n">20</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 128</span>        <a href="http://www.allegro.cc/manual/al_set_target_backbuffer"><span class="a">al_set_target_backbuffer</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 129</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">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 130</span>        <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>bitmap,<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="number"> 131</span>        <a href="http://www.allegro.cc/manual/al_draw_filled_rectangle"><span class="a">al_draw_filled_rectangle</span></a><span class="k2">(</span><span class="n">16</span>.<span class="n">0f</span> , <span class="n">32</span>.<span class="n">0f</span> , <span class="n">156</span>.<span class="n">0f</span> , <span class="n">52</span>.<span class="n">0f</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">0</span><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_draw_textf"><span class="a">al_draw_textf</span></a><span class="k2">(</span>ttf_font,<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">0</span><span class="k2">)</span>, <span class="n">16</span>, <span class="n">32</span>,<span class="n">0</span>,<span class="s">"FPS: %f"</span>,<span class="k2">(</span><span class="k1">float</span><span class="k2">)</span>fps<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 133</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"> 134</span>            redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 135</span>      <span class="k2">}</span>
<span class="number"> 136</span>      <span class="k1">while</span> <span class="k2">(</span><span class="n">1</span><span class="k2">)</span>
<span class="number"> 137</span>      <span class="k2">{</span>
<span class="number"> 138</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"> 139</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"> 140</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"> 141</span>        <span class="k2">{</span>
<span class="number"> 142</span>          redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 143</span>        <span class="k2">}</span>
<span class="number"> 144</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_DISPLAY_CLOSE<span class="k2">)</span>
<span class="number"> 145</span>        <span class="k2">{</span>
<span class="number"> 146</span>         <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 147</span>         <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 148</span>        <span class="k2">}</span>
<span class="number"> 149</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_DOWN<span class="k2">)</span>
<span class="number"> 150</span>      <span class="k2">{</span>
<span class="number"> 151</span>        <span class="k1">if</span> <span class="k2">(</span>ev.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_ESCAPE<span class="k2">)</span>
<span class="number"> 152</span>        <span class="k2">{</span>
<span class="number"> 153</span>          <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 154</span>          <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 155</span>        <span class="k2">}</span>
<span class="number"> 156</span>      <span class="k2">}</span>
<span class="number"> 157</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"> 158</span>      <span class="k2">{</span>
<span class="number"> 159</span>        <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 160</span>      <span class="k2">}</span><span class="c">// this way all events are used</span>
<span class="number"> 161</span>      <span class="k2">}</span>
<span class="number"> 162</span>  <span class="k2">}</span>
<span class="number"> 163</span>
<span class="number"> 164</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"> 165</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"> 166</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"> 167</span>
<span class="number"> 168</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 169</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (verthex)</author>
		<pubDate>Mon, 02 May 2011 09:44:37 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Before you try that (messing with your dlls) , try this :</p><div class="source-code snippet"><div class="inner"><pre><a href="http://www.allegro.cc/manual/al_set_new_display_flags"><span class="a">al_set_new_display_flags</span></a><span class="k2">(</span>ALLEGRO_OPENGL<span class="k2">)</span><span class="k2">;</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>screen_width , screen_height<span class="k2">)</span><span class="k2">;</span>
<span class="c">// As before ........</span>
</pre></div></div><p>

If you&#39;re having trouble with Direct3D and DirectDraw, I would suggest downloading and installing the latest video drivers for your system, from your computer manufacturer if they offer them, or from ati.amd.com or from www.nvidia.com depending on what kind of graphics card you have.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Mon, 02 May 2011 10:17:28 +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/607172/915667#target">Edgar Reynaldo</a> said:</div><div class="quote"><p>Before you try that (messing with your dlls) , try this :</p></div></div><p>

That fixes it! Thanks.</p><p>I prefer OpenGL anyways even when I use Irrlicht I always pick that as my driver. But now my FPS counter is changing so fast I can&#39;t even read it.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (verthex)</author>
		<pubDate>Mon, 02 May 2011 10:31:17 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>If you&#39;ve changed around your DX and D3D dll&#39;s I would reinstall my graphics drivers so other programs continue to function properly.</p><p>Also, glad the OpenGL drivers work for you. <img src="http://www.allegro.cc/forums/smileys/wink.gif" alt=";)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Mon, 02 May 2011 10:41:45 +0000</pubDate>
	</item>
</rss>
