<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Allegro 5.0.10 strange behaviour</title>
		<link>http://www.allegro.cc/forums/view/613674</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Sun, 22 Dec 2013 04:42:29 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>[edit] made a mistake with code formatting, tried to fix</p><p>hi,<br />the problem: it seems like my program starts without waiting for my keypress. After loading bitmaps, fonts and stuff I added a wait loop for pressing space, but if I start the program, wait for about 5 sec and then press space, I can see that the game started without me, kind of.</p><p>I can&#39;t figure out how, its like a separate program is running invisible and spoils everything. </p><p>Allegro 5.0.10<br />VCC 2008 Express</p><p>Could it be some unload/detach or something I&#39;ve missed?</p><p>Is there a kind soul out there to take a peek and give a hint of what it could be? Code and bitmaps attached, adding most of code below too (can&#39;t add all - post too long):</p><p>main.cpp:
</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;math.h&gt;</span>
<span class="number">   4</span><span class="p">#include &lt;windows.h&gt;</span>
<span class="number">   5</span><span class="p">#pragma comment(lib,"ws2_32.lib")</span>
<span class="number">   6</span>
<span class="number">   7</span><span class="p">#include "allegro5/allegro.h"</span>
<span class="number">   8</span><span class="p">#include "allegro5/allegro_image.h"</span>
<span class="number">   9</span><span class="p">#include "allegro5/allegro_native_dialog.h"</span>
<span class="number">  10</span><span class="p">#include &lt;allegro5/allegro_font.h&gt;</span>
<span class="number">  11</span><span class="p">#include &lt;allegro5/allegro_ttf.h&gt;</span>
<span class="number">  12</span>
<span class="number">  13</span><span class="p">#include "Main_loc.h"</span>
<span class="number">  14</span>
<span class="number">  15</span><span class="k1">const</span> <span class="k1">float</span> 
<span class="number">  16</span>  FPS <span class="k3">=</span> <span class="n">60</span>,
<span class="number">  17</span>  pi  <span class="k3">=</span> <span class="n">3</span>.<span class="n">14159265</span><span class="k2">;</span>
<span class="number">  18</span>
<span class="number">  19</span><span class="k1">const</span> <span class="k1">int</span> 
<span class="number">  20</span>  <a href="http://www.allegro.cc/manual/SCREEN_W"><span class="a">SCREEN_W</span></a> <span class="k3">=</span> <span class="n">800</span>,
<span class="number">  21</span>  <a href="http://www.allegro.cc/manual/SCREEN_H"><span class="a">SCREEN_H</span></a> <span class="k3">=</span> <span class="n">600</span>,
<span class="number">  22</span>  GAME_AREA_W <span class="k3">=</span> <span class="n">600</span>,
<span class="number">  23</span>  GAME_AREA_H <span class="k3">=</span> <span class="n">500</span>,
<span class="number">  24</span>  GAME_AREA_OFFSX <span class="k3">=</span> <span class="n">45</span>,
<span class="number">  25</span>  GAME_AREA_OFFSY <span class="k3">=</span> <span class="n">45</span>,
<span class="number">  26</span>  GAME_AREA_BORDER_W <span class="k3">=</span> <span class="n">10</span>,
<span class="number">  27</span>  GAME_AREA_BORDER_H <span class="k3">=</span> <span class="n">10</span>,
<span class="number">  28</span>  TANK_SIZE <span class="k3">=</span> <span class="n">26</span>,
<span class="number">  29</span>  TANK_OFFS_X <span class="k3">=</span> <span class="n">12</span>,
<span class="number">  30</span>  TANK_OFFS_Y <span class="k3">=</span> <span class="n">12</span>,
<span class="number">  31</span>  BULLET_OFFS_X <span class="k3">=</span> <span class="n">2</span>,
<span class="number">  32</span>  BULLET_OFFS_Y <span class="k3">=</span> <span class="n">2</span>,
<span class="number">  33</span>  TANK_SPEED <span class="k3">=</span> <span class="n">1</span>,
<span class="number">  34</span>  BULLET_SPEED <span class="k3">=</span> <span class="n">3</span>,
<span class="number">  35</span>  BULLET_COUNT <span class="k3">=</span> <span class="n">60</span>,
<span class="number">  36</span>  INFO_TEXT_X <span class="k3">=</span> <span class="n">670</span>,
<span class="number">  37</span>  PLAYER_TEXT_Y <span class="k3">=</span> <span class="n">60</span>,
<span class="number">  38</span>  ENEMY_TEXT_Y <span class="k3">=</span> <span class="n">150</span>,
<span class="number">  39</span>  ENEMY_DIST_OFFSET <span class="k3">=</span> <span class="n">25</span>,
<span class="number">  40</span>  ENEMY_FIRE_OFFSET <span class="k3">=</span> <span class="n">200</span><span class="k2">;</span>
<span class="number">  41</span>
<span class="number">  42</span><span class="k1">bool</span> CollDetectWalls<span class="k2">(</span>objectData_st <span class="k3">*</span>object_p<span class="k2">)</span><span class="k2">;</span>
<span class="number">  43</span>
<span class="number">  44</span><span class="k1">bool</span> CollDetectTanks<span class="k2">(</span><span class="k1">float</span> object1_x, <span class="k1">float</span> object1_y, objectData_st <span class="k3">*</span>object2_p<span class="k2">)</span><span class="k2">;</span>
<span class="number">  45</span>
<span class="number">  46</span><span class="k1">bool</span> CollDetectShot<span class="k2">(</span>objectData_st <span class="k3">*</span>shot_p, objectData_st <span class="k3">*</span>tank_p<span class="k2">)</span><span class="k2">;</span>
<span class="number">  47</span>
<span class="number">  48</span><span class="k1">bool</span> MoveTank<span class="k2">(</span>objectData_st <span class="k3">*</span>tank1_p, objectData_st <span class="k3">*</span>tank2_p, <span class="k1">bool</span> <span class="k3">*</span>key_p<span class="k2">)</span><span class="k2">;</span>
<span class="number">  49</span>
<span class="number">  50</span><span class="k1">bool</span> SetEnemyDirectionRight<span class="k2">(</span>objectData_st <span class="k3">*</span>tank1_p, objectData_st <span class="k3">*</span>tank2_p<span class="k2">)</span><span class="k2">;</span>
<span class="number">  51</span>
<span class="number">  52</span><span class="k1">bool</span> SetEnemyDirectionLeft<span class="k2">(</span>objectData_st <span class="k3">*</span>tank1_p, objectData_st <span class="k3">*</span>tank2_p<span class="k2">)</span><span class="k2">;</span>
<span class="number">  53</span>
<span class="number">  54</span><span class="k1">bool</span> SetEnemyDirectionFwd<span class="k2">(</span>objectData_st <span class="k3">*</span>tank1_p, objectData_st <span class="k3">*</span>tank2_p<span class="k2">)</span><span class="k2">;</span>
<span class="number">  55</span>
<span class="number">  56</span><span class="k1">bool</span> SetEnemyFire<span class="k2">(</span>objectData_st <span class="k3">*</span>tank1_p, objectData_st <span class="k3">*</span>tank2_p<span class="k2">)</span><span class="k2">;</span>
<span class="number">  57</span>
<span class="number">  58</span><span class="k1">int</span> 
<span class="number">  59</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">  60</span>  <span class="k2">{</span>
<span class="number">  61</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> 
<span class="number">  62</span>      <span class="k3">*</span>backGround <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  63</span>      
<span class="number">  64</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_FONT"><span class="a">ALLEGRO_FONT</span></a> 
<span class="number">  65</span>      <span class="k3">*</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a><span class="k2">;</span>
<span class="number">  66</span>
<span class="number">  67</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a> 
<span class="number">  68</span>      <span class="k3">*</span>display <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  69</span>
<span class="number">  70</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a> 
<span class="number">  71</span>      <span class="k3">*</span>event_queue <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  72</span>
<span class="number">  73</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> 
<span class="number">  74</span>      ev<span class="k2">;</span>
<span class="number">  75</span>
<span class="number">  76</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_KEYBOARD_STATE"><span class="a">ALLEGRO_KEYBOARD_STATE</span></a> 
<span class="number">  77</span>      kbdstate<span class="k2">;</span>
<span class="number">  78</span>      
<span class="number">  79</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a> 
<span class="number">  80</span>      <span class="k3">*</span>timer <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  81</span>
<span class="number">  82</span>    <span class="k1">bool</span> 
<span class="number">  83</span>      redraw <span class="k3">=</span> <span class="k1">true</span>,
<span class="number">  84</span>      <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span><span class="n">5</span><span class="k2">]</span> <span class="k3">=</span> <span class="k2">{</span> <span class="k1">false</span>, <span class="k1">false</span>, <span class="k1">false</span>, <span class="k1">false</span>, <span class="k1">false</span> <span class="k2">}</span>,
<span class="number">  85</span>      enKey<span class="k2">[</span><span class="n">5</span><span class="k2">]</span> <span class="k3">=</span> <span class="k2">{</span> <span class="k1">false</span>, <span class="k1">false</span>, <span class="k1">false</span>, <span class="k1">false</span>, <span class="k1">false</span> <span class="k2">}</span>,
<span class="number">  86</span>      doexit <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  87</span>
<span class="number">  88</span>    <span class="k1">char</span>
<span class="number">  89</span>      tmpText<span class="k2">[</span><span class="n">255</span><span class="k2">]</span><span class="k2">;</span>
<span class="number">  90</span>      
<span class="number">  91</span>    <span class="k1">int</span>
<span class="number">  92</span>      counter1 <span class="k3">=</span> <span class="n">0</span>,
<span class="number">  93</span>      counter2 <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  94</span>
<span class="number">  95</span>    objectData_st
<span class="number">  96</span>      playerShot <span class="k3">=</span> 
<span class="number">  97</span>      <span class="k2">{</span>
<span class="number">  98</span>        NULL,   <span class="c">/* ALLEGRO_BITMAP *bitmap */</span>
<span class="number">  99</span>        <span class="n">0</span>.<span class="n">0</span>,    <span class="c">/* float x                */</span>
<span class="number"> 100</span>        <span class="n">0</span>.<span class="n">0</span>,    <span class="c">/* float y                */</span>
<span class="number"> 101</span>        <span class="n">0</span>.<span class="n">0</span>,    <span class="c">/* float angle            */</span>
<span class="number"> 102</span>        <span class="n">0</span>.<span class="n">0</span>,    <span class="c">/* float angle            */</span>
<span class="number"> 103</span>        <span class="n">3</span>.<span class="n">0</span>,    <span class="c">/* float speed            */</span>
<span class="number"> 104</span>        <span class="n">0</span>,      <span class="c">/* int cnt                */</span>
<span class="number"> 105</span>        <span class="n">0</span>,      <span class="c">/* int fireCnt            */</span>
<span class="number"> 106</span>        <span class="n">0</span>,      <span class="c">/* int points             */</span>
<span class="number"> 107</span>        <span class="n">10</span>,     <span class="c">/* type                   */</span>
<span class="number"> 108</span>        <span class="k1">false</span>,  <span class="c">/* bool active            */</span>
<span class="number"> 109</span>        <span class="k1">false</span>   <span class="c">/* bool hit               */</span>
<span class="number"> 110</span>      <span class="k2">}</span>,
<span class="number"> 111</span>      
<span class="number"> 112</span>      playerTank <span class="k3">=</span> 
<span class="number"> 113</span>      <span class="k2">{</span>
<span class="number"> 114</span>        NULL,                                        <span class="c">/* ALLEGRO_BITMAP *bitmap */</span>
<span class="number"> 115</span>        <span class="k2">(</span><a href="http://www.allegro.cc/manual/SCREEN_W"><span class="a">SCREEN_W</span></a> <span class="k3">/</span> <span class="n">2</span>.<span class="n">0</span> <span class="k3">-</span> TANK_SIZE <span class="k3">/</span> <span class="n">2</span>.<span class="n">0</span><span class="k2">)</span>,          <span class="c">/* float x                */</span>
<span class="number"> 116</span>        <span class="k2">(</span><span class="n">4</span>.<span class="n">0</span> <span class="k3">*</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/SCREEN_H"><span class="a">SCREEN_H</span></a> <span class="k3">/</span> <span class="n">5</span>.<span class="n">0</span><span class="k2">)</span> <span class="k3">-</span> TANK_SIZE <span class="k3">/</span> <span class="n">2</span>.<span class="n">0</span><span class="k2">)</span>,  <span class="c">/* float y                */</span>
<span class="number"> 117</span>        <span class="n">0</span>.<span class="n">0</span>,                                         <span class="c">/* float angle            */</span>
<span class="number"> 118</span>        <span class="n">0</span>.<span class="n">0</span>,                                         <span class="c">/* float angle            */</span>
<span class="number"> 119</span>        <span class="n">1</span>.<span class="n">0</span>,                                         <span class="c">/* float speed            */</span>
<span class="number"> 120</span>        <span class="n">0</span>,                                           <span class="c">/* int cnt                */</span>
<span class="number"> 121</span>        <span class="n">0</span>,                                           <span class="c">/* int fireCnt            */</span>
<span class="number"> 122</span>        <span class="n">0</span>,                                           <span class="c">/* int points             */</span>
<span class="number"> 123</span>        <span class="n">0</span>,                                           <span class="c">/* type                   */</span>
<span class="number"> 124</span>        <span class="k1">true</span>,                                        <span class="c">/* bool active            */</span>
<span class="number"> 125</span>        <span class="k1">false</span>                                        <span class="c">/* bool hit               */</span>
<span class="number"> 126</span>      <span class="k2">}</span>,
<span class="number"> 127</span>
<span class="number"> 128</span>      enemyShot  <span class="k3">=</span> 
<span class="number"> 129</span>      <span class="k2">{</span>
<span class="number"> 130</span>        NULL,   <span class="c">/* ALLEGRO_BITMAP *bitmap */</span>
<span class="number"> 131</span>        <span class="n">0</span>.<span class="n">0</span>,    <span class="c">/* float x                */</span>
<span class="number"> 132</span>        <span class="n">0</span>.<span class="n">0</span>,    <span class="c">/* float y                */</span>
<span class="number"> 133</span>        <span class="n">0</span>.<span class="n">0</span>,    <span class="c">/* float angle            */</span>
<span class="number"> 134</span>        <span class="n">0</span>.<span class="n">0</span>,    <span class="c">/* float angle            */</span>
<span class="number"> 135</span>        <span class="n">3</span>.<span class="n">0</span>,    <span class="c">/* float speed            */</span>
<span class="number"> 136</span>        <span class="n">0</span>,      <span class="c">/* int cnt                */</span>
<span class="number"> 137</span>        <span class="n">0</span>,      <span class="c">/* int cnt                */</span>
<span class="number"> 138</span>        <span class="n">0</span>,      <span class="c">/* int points             */</span>
<span class="number"> 139</span>        <span class="n">11</span>,     <span class="c">/* type                   */</span>
<span class="number"> 140</span>        <span class="k1">false</span>,  <span class="c">/* bool active            */</span> 
<span class="number"> 141</span>        <span class="k1">false</span>   <span class="c">/* bool hit               */</span>
<span class="number"> 142</span>      <span class="k2">}</span>,
<span class="number"> 143</span>      enemyTank  <span class="k3">=</span> 
<span class="number"> 144</span>      <span class="k2">{</span>
<span class="number"> 145</span>        NULL,                                       <span class="c">/* ALLEGRO_BITMAP *bitmap */</span>
<span class="number"> 146</span>        <span class="k2">(</span><a href="http://www.allegro.cc/manual/SCREEN_W"><span class="a">SCREEN_W</span></a> <span class="k3">/</span> <span class="n">2</span>.<span class="n">0</span> <span class="k3">-</span> TANK_SIZE <span class="k3">/</span> <span class="n">2</span>.<span class="n">0</span><span class="k2">)</span>,         <span class="c">/* float x                */</span>
<span class="number"> 147</span>        <span class="k2">(</span><span class="n">1</span>.<span class="n">0</span> <span class="k3">*</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/SCREEN_H"><span class="a">SCREEN_H</span></a> <span class="k3">/</span> <span class="n">5</span>.<span class="n">0</span><span class="k2">)</span> <span class="k3">-</span> TANK_SIZE <span class="k3">/</span> <span class="n">2</span>.<span class="n">0</span><span class="k2">)</span>, <span class="c">/* float y                */</span>
<span class="number"> 148</span>        pi,                                         <span class="c">/* float angle            */</span>
<span class="number"> 149</span>        pi,                                         <span class="c">/* float angle            */</span>
<span class="number"> 150</span>        <span class="n">1</span>.<span class="n">0</span>,                                        <span class="c">/* float speed            */</span>
<span class="number"> 151</span>        <span class="n">0</span>,                                          <span class="c">/* int cnt                */</span>
<span class="number"> 152</span>        <span class="n">0</span>,                                          <span class="c">/* int cnt                */</span>
<span class="number"> 153</span>        <span class="n">0</span>,                                          <span class="c">/* int points             */</span>
<span class="number"> 154</span>        <span class="n">1</span>,                                          <span class="c">/* type                   */</span>
<span class="number"> 155</span>        <span class="k1">true</span>,                                       <span class="c">/* bool active            */</span>
<span class="number"> 156</span>        <span class="k1">false</span>                                       <span class="c">/* bool hit               */</span>
<span class="number"> 157</span>      <span class="k2">}</span><span class="k2">;</span>
<span class="number"> 158</span>      
<span class="number"> 159</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">"Starting!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 160</span>
<span class="number"> 161</span>    <span class="c">/*******************************************/</span>
<span class="number"> 162</span>    <span class="c">/* Init Allegro                            */</span>
<span class="number"> 163</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"> 164</span>    <span class="k2">{</span>
<span class="number"> 165</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"> 166</span>    <span class="k2">}</span>
<span class="number"> 167</span>
<span class="number"> 168</span>    <span class="c">/*******************************************/</span>
<span class="number"> 169</span>    <span class="c">/* Create timer                            */</span>
<span class="number"> 170</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"> 171</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>timer<span class="k2">)</span>
<span class="number"> 172</span>    <span class="k2">{</span>
<span class="number"> 173</span>      <a href="http://www.allegro.cc/manual/al_show_native_message_box"><span class="a">al_show_native_message_box</span></a><span class="k2">(</span>display, <span class="s">"Error"</span>, <span class="s">"Error"</span>, <span class="s">"Failed to create timer!"</span>,
<span class="number"> 174</span>                                 NULL, ALLEGRO_MESSAGEBOX_ERROR<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 175</span>                                 
<span class="number"> 176</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"> 177</span>      <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 178</span>
<span class="number"> 179</span>    <span class="k2">}</span>
<span class="number"> 180</span>
<span class="number"> 181</span>    <span class="c">/*******************************************/</span>
<span class="number"> 182</span>    <span class="c">/* Init image addon                        */</span>
<span class="number"> 183</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_init_image_addon"><span class="a">al_init_image_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 184</span>      <a href="http://www.allegro.cc/manual/al_show_native_message_box"><span class="a">al_show_native_message_box</span></a><span class="k2">(</span>display, <span class="s">"Error"</span>, <span class="s">"Error"</span>, <span class="s">"Failed to initialize al_init_image_addon!"</span>,
<span class="number"> 185</span>                                 NULL, ALLEGRO_MESSAGEBOX_ERROR<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 186</span>
<span class="number"> 187</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"> 188</span>      <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 189</span>    <span class="k2">}</span>
<span class="number"> 190</span>
<span class="number"> 191</span>    <span class="c">/*******************************************/</span>
<span class="number"> 192</span>    <span class="c">/* Start keyboard detection                */</span>
<span class="number"> 193</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="k2">{</span>
<span class="number"> 194</span>      <a href="http://www.allegro.cc/manual/al_show_native_message_box"><span class="a">al_show_native_message_box</span></a><span class="k2">(</span>display, <span class="s">"Error"</span>, <span class="s">"Error"</span>, <span class="s">"Failed to initialize the keyboard!"</span>,
<span class="number"> 195</span>                                 NULL, ALLEGRO_MESSAGEBOX_ERROR<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 196</span>
<span class="number"> 197</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"> 198</span>      <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 199</span>    <span class="k2">}</span>
<span class="number"> 200</span>
<span class="number"> 201</span>    <span class="c">/*******************************************/</span>
<span class="number"> 202</span>    <span class="c">/* Create display                          */</span>
<span class="number"> 203</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><a href="http://www.allegro.cc/manual/SCREEN_W"><span class="a">SCREEN_W</span></a>, <a href="http://www.allegro.cc/manual/SCREEN_H"><span class="a">SCREEN_H</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 204</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>display<span class="k2">)</span>
<span class="number"> 205</span>    <span class="k2">{</span>
<span class="number"> 206</span>      <a href="http://www.allegro.cc/manual/al_show_native_message_box"><span class="a">al_show_native_message_box</span></a><span class="k2">(</span>display, <span class="s">"Error"</span>, <span class="s">"Error"</span>, <span class="s">"Failed to create display!"</span>,
<span class="number"> 207</span>                                 NULL, ALLEGRO_MESSAGEBOX_ERROR<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 208</span>
<span class="number"> 209</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"> 210</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"> 211</span>      <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 212</span>    <span class="k2">}</span>
<span class="number"> 213</span>
<span class="number"> 214</span>    <span class="c">/*******************************************/</span>
<span class="number"> 215</span>    <span class="c">/* Text                                    */</span>
<span class="number"> 216</span>    <span class="c">/* Create the info text                    */</span>
<span class="number"> 217</span>
<span class="number"> 218</span>    <span class="c">/* initialize the font addon (really? ttf below...) */</span>
<span class="number"> 219</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"> 220</span>    
<span class="number"> 221</span>    <span class="c">/* initialize the ttf (True Type Font) addon */</span>
<span class="number"> 222</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"> 223</span>
<span class="number"> 224</span>    <a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a> <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">".\\data\\pixlkrud.ttf"</span>, <span class="n">18</span>, <span class="n">0</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 225</span>
<span class="number"> 226</span>    <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a><span class="k2">)</span><span class="k2">{</span>
<span class="number"> 227</span>      <a href="http://www.allegro.cc/manual/al_show_native_message_box"><span class="a">al_show_native_message_box</span></a><span class="k2">(</span>display, <span class="s">"Error"</span>, <span class="s">"Error"</span>, <span class="s">"Failed to load 'pixlkrud.ttf!"</span>,
<span class="number"> 228</span>                                 NULL, ALLEGRO_MESSAGEBOX_ERROR<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 229</span>
<span class="number"> 230</span>      <a href="http://www.allegro.cc/manual/al_destroy_font"><span class="a">al_destroy_font</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 231</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"> 232</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"> 233</span>      <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 234</span>    <span class="k2">}</span>
<span class="number"> 235</span>
<span class="number"> 236</span>    <span class="c">/*******************************************/</span>
<span class="number"> 237</span>    <span class="c">/* Background bitmap                       */</span>
<span class="number"> 238</span>    <span class="c">/* Create bitmap picture background        */</span>
<span class="number"> 239</span>    backGround <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_bitmap"><span class="a">al_load_bitmap</span></a><span class="k2">(</span><span class="s">".\\data\\backGround.bmp"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 240</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>backGround<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 241</span>      <a href="http://www.allegro.cc/manual/al_show_native_message_box"><span class="a">al_show_native_message_box</span></a><span class="k2">(</span>display, <span class="s">"Error"</span>, <span class="s">"Error"</span>, <span class="s">"Failed to load image background!"</span>,
<span class="number"> 242</span>                                 NULL, ALLEGRO_MESSAGEBOX_ERROR<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 243</span>
<span class="number"> 244</span>      <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>backGround<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 245</span>      <a href="http://www.allegro.cc/manual/al_destroy_font"><span class="a">al_destroy_font</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 246</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"> 247</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"> 248</span>      <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 249</span>    <span class="k2">}</span>
<span class="number"> 250</span>
<span class="number"> 251</span>    <span class="c">/* Mask "Magic pink" */</span>
<span class="number"> 252</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>backGround<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 253</span>    <a href="http://www.allegro.cc/manual/al_set_blender"><span class="a">al_set_blender</span></a><span class="k2">(</span>ALLEGRO_ADD, ALLEGRO_ONE, ALLEGRO_INVERSE_ALPHA<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 254</span>    <a href="http://www.allegro.cc/manual/al_convert_mask_to_alpha"><span class="a">al_convert_mask_to_alpha</span></a><span class="k2">(</span>backGround, <a href="http://www.allegro.cc/manual/al_map_rgba_f"><span class="a">al_map_rgba_f</span></a><span class="k2">(</span><span class="n">1</span>, <span class="n">0</span>, <span class="n">1</span>, <span class="n">1</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 255</span>
<span class="number"> 256</span>    <span class="c">/*******************************************/</span>
<span class="number"> 257</span>    <span class="c">/* Player bitmaps                          */</span>
<span class="number"> 258</span>    <span class="c">/* Create bitmap picture player playerShot */</span>
<span class="number"> 259</span>    playerShot.bitmap <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_bitmap"><span class="a">al_load_bitmap</span></a><span class="k2">(</span><span class="s">".\\data\\Bullet.bmp"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 260</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>playerShot.bitmap<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 261</span>      <a href="http://www.allegro.cc/manual/al_show_native_message_box"><span class="a">al_show_native_message_box</span></a><span class="k2">(</span>display, <span class="s">"Error"</span>, <span class="s">"Error"</span>, <span class="s">"Failed to load image playerShot.bitmap!"</span>,
<span class="number"> 262</span>                                 NULL, ALLEGRO_MESSAGEBOX_ERROR<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 263</span>
<span class="number"> 264</span>      <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>playerShot.bitmap<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 265</span>      <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>backGround<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 266</span>      <a href="http://www.allegro.cc/manual/al_destroy_font"><span class="a">al_destroy_font</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 267</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"> 268</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"> 269</span>      <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 270</span>    <span class="k2">}</span>
<span class="number"> 271</span>
<span class="number"> 272</span>    <span class="c">/* Mask "Magic pink" */</span>
<span class="number"> 273</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>playerShot.bitmap<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 274</span>    <a href="http://www.allegro.cc/manual/al_set_blender"><span class="a">al_set_blender</span></a><span class="k2">(</span>ALLEGRO_ADD, ALLEGRO_ONE, ALLEGRO_INVERSE_ALPHA<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 275</span>    <a href="http://www.allegro.cc/manual/al_convert_mask_to_alpha"><span class="a">al_convert_mask_to_alpha</span></a><span class="k2">(</span>playerShot.bitmap, <a href="http://www.allegro.cc/manual/al_map_rgba_f"><span class="a">al_map_rgba_f</span></a><span class="k2">(</span><span class="n">1</span>, <span class="n">0</span>, <span class="n">1</span>, <span class="n">1</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 276</span>
<span class="number"> 277</span>    <span class="c">/* Create bitmap picture player tank */</span>
<span class="number"> 278</span>    playerTank.bitmap <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_bitmap"><span class="a">al_load_bitmap</span></a><span class="k2">(</span><span class="s">".\\data\\TankBlack.bmp"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 279</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>playerTank.bitmap<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 280</span>      <a href="http://www.allegro.cc/manual/al_show_native_message_box"><span class="a">al_show_native_message_box</span></a><span class="k2">(</span>display, <span class="s">"Error"</span>, <span class="s">"Error"</span>, <span class="s">"Failed to load image playerTank.bitmap!"</span>,
<span class="number"> 281</span>                                 NULL, ALLEGRO_MESSAGEBOX_ERROR<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 282</span>
<span class="number"> 283</span>      <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>playerTank.bitmap<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 284</span>      <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>playerShot.bitmap<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 285</span>      <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>backGround<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 286</span>      <a href="http://www.allegro.cc/manual/al_destroy_font"><span class="a">al_destroy_font</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 287</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"> 288</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"> 289</span>      <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 290</span>    <span class="k2">}</span>
<span class="number"> 291</span>
<span class="number"> 292</span>    <span class="c">/* Mask "Magic pink" */</span>
<span class="number"> 293</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>playerTank.bitmap<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 294</span>    <a href="http://www.allegro.cc/manual/al_set_blender"><span class="a">al_set_blender</span></a><span class="k2">(</span>ALLEGRO_ADD, ALLEGRO_ONE, ALLEGRO_INVERSE_ALPHA<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 295</span>    <a href="http://www.allegro.cc/manual/al_convert_mask_to_alpha"><span class="a">al_convert_mask_to_alpha</span></a><span class="k2">(</span>playerTank.bitmap, <a href="http://www.allegro.cc/manual/al_map_rgba_f"><span class="a">al_map_rgba_f</span></a><span class="k2">(</span><span class="n">1</span>, <span class="n">0</span>, <span class="n">1</span>, <span class="n">1</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 296</span>
<span class="number"> 297</span>    <span class="c">/*******************************************/</span>
<span class="number"> 298</span>    <span class="c">/* Enemy bitmaps                          */</span>
<span class="number"> 299</span>    <span class="c">/* Create bitmap picture enemy playerShot */</span>
<span class="number"> 300</span>    enemyShot.bitmap <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_bitmap"><span class="a">al_load_bitmap</span></a><span class="k2">(</span><span class="s">".\\data\\Bullet.bmp"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 301</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>enemyShot.bitmap<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 302</span>      <a href="http://www.allegro.cc/manual/al_show_native_message_box"><span class="a">al_show_native_message_box</span></a><span class="k2">(</span>display, <span class="s">"Error"</span>, <span class="s">"Error"</span>, <span class="s">"Failed to load image enemyShot.bitmap!"</span>,
<span class="number"> 303</span>                                 NULL, ALLEGRO_MESSAGEBOX_ERROR<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 304</span>
<span class="number"> 305</span>      <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>enemyShot.bitmap<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 306</span>      <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>playerTank.bitmap<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 307</span>      <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>playerShot.bitmap<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 308</span>      <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>backGround<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 309</span>      <a href="http://www.allegro.cc/manual/al_destroy_font"><span class="a">al_destroy_font</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 310</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"> 311</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"> 312</span>      <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 313</span>    <span class="k2">}</span>
<span class="number"> 314</span>
<span class="number"> 315</span>    <span class="c">/* Mask "Magic pink" */</span>
<span class="number"> 316</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>enemyShot.bitmap<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 317</span>    <a href="http://www.allegro.cc/manual/al_set_blender"><span class="a">al_set_blender</span></a><span class="k2">(</span>ALLEGRO_ADD, ALLEGRO_ONE, ALLEGRO_INVERSE_ALPHA<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 318</span>    <a href="http://www.allegro.cc/manual/al_convert_mask_to_alpha"><span class="a">al_convert_mask_to_alpha</span></a><span class="k2">(</span>enemyShot.bitmap, <a href="http://www.allegro.cc/manual/al_map_rgba_f"><span class="a">al_map_rgba_f</span></a><span class="k2">(</span><span class="n">1</span>, <span class="n">0</span>, <span class="n">1</span>, <span class="n">1</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 319</span>
<span class="number"> 320</span>    <span class="c">/* Create bitmap picture enemy tank */</span>
<span class="number"> 321</span>    enemyTank.bitmap <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_bitmap"><span class="a">al_load_bitmap</span></a><span class="k2">(</span><span class="s">".\\data\\TankRed.bmp"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 322</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>enemyTank.bitmap<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 323</span>      <a href="http://www.allegro.cc/manual/al_show_native_message_box"><span class="a">al_show_native_message_box</span></a><span class="k2">(</span>display, <span class="s">"Error"</span>, <span class="s">"Error"</span>, <span class="s">"Failed to load image enemyTank.bitmap!"</span>,
<span class="number"> 324</span>                                 NULL, ALLEGRO_MESSAGEBOX_ERROR<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 325</span>
<span class="number"> 326</span>      <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>enemyTank.bitmap<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 327</span>      <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>enemyShot.bitmap<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 328</span>      <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>playerTank.bitmap<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 329</span>      <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>playerShot.bitmap<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 330</span>      <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>backGround<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 331</span>      <a href="http://www.allegro.cc/manual/al_destroy_font"><span class="a">al_destroy_font</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 332</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"> 333</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"> 334</span>      <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 335</span>    <span class="k2">}</span>
<span class="number"> 336</span>
<span class="number"> 337</span>    <span class="c">/* Mask "Magic pink" */</span>
<span class="number"> 338</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>enemyTank.bitmap<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 339</span>    <a href="http://www.allegro.cc/manual/al_set_blender"><span class="a">al_set_blender</span></a><span class="k2">(</span>ALLEGRO_ADD, ALLEGRO_ONE, ALLEGRO_INVERSE_ALPHA<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 340</span>    <a href="http://www.allegro.cc/manual/al_convert_mask_to_alpha"><span class="a">al_convert_mask_to_alpha</span></a><span class="k2">(</span>enemyTank.bitmap, <a href="http://www.allegro.cc/manual/al_map_rgba_f"><span class="a">al_map_rgba_f</span></a><span class="k2">(</span><span class="n">1</span>, <span class="n">0</span>, <span class="n">1</span>, <span class="n">1</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 341</span>
<span class="number"> 342</span>    <span class="c">/* Create event queue */</span>
<span class="number"> 343</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"> 344</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>event_queue<span class="k2">)</span>
<span class="number"> 345</span>    <span class="k2">{</span>
<span class="number"> 346</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"> 347</span>      <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>enemyTank.bitmap<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 348</span>      <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>enemyShot.bitmap<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 349</span>      <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>playerTank.bitmap<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 350</span>      <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>playerShot.bitmap<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 351</span>      <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>backGround<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 352</span>      <a href="http://www.allegro.cc/manual/al_destroy_font"><span class="a">al_destroy_font</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 353</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"> 354</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"> 355</span>      <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 356</span>    <span class="k2">}</span>
<span class="number"> 357</span>
<span class="number"> 358</span>    <span class="c">/* Display event */</span>
<span class="number"> 359</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"> 360</span>
<span class="number"> 361</span>    <span class="c">/* Timer event */</span>
<span class="number"> 362</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"> 363</span>
<span class="number"> 364</span>    <span class="c">/* Key event */</span>
<span class="number"> 365</span>    <span class="c">//al_register_event_source(event_queue, al_get_keyboard_event_source());</span>
<span class="number"> 366</span>
<span class="number"> 367</span>    <span class="c">/* Clear screen to white */</span>
<span class="number"> 368</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"> 369</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">255</span>, <span class="n">255</span>, <span class="n">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 370</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"> 371</span>
<span class="number"> 372</span>    <span class="c">/* Start timer */</span>
<span class="number"> 373</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"> 374</span>
<span class="number"> 375</span>    <span class="c">/* Draw window area */</span>
<span class="number"> 376</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"> 377</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">255</span>, <span class="n">255</span>, <span class="n">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 378</span>
<span class="number"> 379</span>    <span class="c">/* Draw text */</span>
<span class="number"> 380</span>    <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a>, <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">200</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/SCREEN_W"><span class="a">SCREEN_W</span></a> <span class="k3">/</span> <span class="n">2</span><span class="k2">)</span>, <span class="k2">(</span><a href="http://www.allegro.cc/manual/SCREEN_H"><span class="a">SCREEN_H</span></a> <span class="k3">/</span> <span class="n">2</span><span class="k2">)</span>, ALLEGRO_ALIGN_CENTRE, <span class="s">"Press fire when ready"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 381</span>
<span class="number"> 382</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"> 383</span>
<span class="number"> 384</span>    <span class="c">/* SPACE pressed */</span>
<span class="number"> 385</span>    <span class="k1">do</span>
<span class="number"> 386</span>    <span class="k2">{</span>
<span class="number"> 387</span>      <a href="http://www.allegro.cc/manual/al_get_keyboard_state"><span class="a">al_get_keyboard_state</span></a><span class="k2">(</span><span class="k3">&amp;</span>kbdstate<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 388</span>    <span class="k2">}</span> <span class="k1">while</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/al_key_down"><span class="a">al_key_down</span></a><span class="k2">(</span><span class="k3">&amp;</span>kbdstate, ALLEGRO_KEY_SPACE<span class="k2">)</span> <span class="k3">!</span><span class="k3">=</span> <span class="k1">true</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 389</span>    
<span class="number"> 390</span>    <span class="c">/* SPACE released */</span>
<span class="number"> 391</span>    <span class="k1">do</span>
<span class="number"> 392</span>    <span class="k2">{</span>
<span class="number"> 393</span>      <a href="http://www.allegro.cc/manual/al_get_keyboard_state"><span class="a">al_get_keyboard_state</span></a><span class="k2">(</span><span class="k3">&amp;</span>kbdstate<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 394</span>    <span class="k2">}</span> <span class="k1">while</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/al_key_down"><span class="a">al_key_down</span></a><span class="k2">(</span><span class="k3">&amp;</span>kbdstate, ALLEGRO_KEY_SPACE<span class="k2">)</span> <span class="k3">=</span><span class="k3">=</span> <span class="k1">true</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 395</span>
<span class="number"> 396</span>
<span class="number"> 397</span>    <span class="c">/*************/</span>
<span class="number"> 398</span>    <span class="c">/* MAIN LOOP */</span>
<span class="number"> 399</span>    
<span class="number"> 400</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">"Starting main loop\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 401</span>    <span class="k1">while</span><span class="k2">(</span>doexit <span class="k3">=</span><span class="k3">=</span> <span class="k1">false</span><span class="k2">)</span>
<span class="number"> 402</span>    <span class="k2">{</span>
<span class="number"> 403</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"> 404</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"> 405</span>      <span class="k2">{</span>
<span class="number"> 406</span>        <span class="c">/* Enemy tank - checked if turn left */</span>
<span class="number"> 407</span>        <span class="k1">if</span> <span class="k2">(</span>SetEnemyDirectionLeft<span class="k2">(</span><span class="k3">&amp;</span>enemyTank, <span class="k3">&amp;</span>playerTank<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 408</span>        <span class="k2">{</span>
<span class="number"> 409</span>          enKey<span class="k2">[</span>KEY_LEFT<span class="k2">]</span>  <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 410</span>          enKey<span class="k2">[</span>KEY_RIGHT<span class="k2">]</span>  <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 411</span>        <span class="k2">}</span>
<span class="number"> 412</span>        <span class="c">/* Enemy tank - checked if turn right */</span>
<span class="number"> 413</span>        <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span>enKey<span class="k2">[</span>KEY_RIGHT<span class="k2">]</span> <span class="k3">=</span> SetEnemyDirectionRight<span class="k2">(</span><span class="k3">&amp;</span>enemyTank, <span class="k3">&amp;</span>playerTank<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 414</span>        <span class="k2">{</span>
<span class="number"> 415</span>          enKey<span class="k2">[</span>KEY_RIGHT<span class="k2">]</span>  <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 416</span>          enKey<span class="k2">[</span>KEY_LEFT<span class="k2">]</span>  <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 417</span>        <span class="k2">}</span>
<span class="number"> 418</span>
<span class="number"> 419</span>        enKey<span class="k2">[</span>KEY_UP<span class="k2">]</span>    <span class="k3">=</span> SetEnemyDirectionFwd<span class="k2">(</span><span class="k3">&amp;</span>enemyTank, <span class="k3">&amp;</span>playerTank<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 420</span>        enKey<span class="k2">[</span>KEY_SPACE<span class="k2">]</span> <span class="k3">=</span> SetEnemyFire<span class="k2">(</span><span class="k3">&amp;</span>enemyTank, <span class="k3">&amp;</span>playerTank<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 421</span>
<span class="number"> 422</span>        <span class="c">/* TODO: Use keyb event! */</span>
<span class="number"> 423</span>        <a href="http://www.allegro.cc/manual/al_get_keyboard_state"><span class="a">al_get_keyboard_state</span></a><span class="k2">(</span><span class="k3">&amp;</span>kbdstate<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 424</span>        <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>KEY_UP<span class="k2">]</span>    <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_key_down"><span class="a">al_key_down</span></a><span class="k2">(</span><span class="k3">&amp;</span>kbdstate, ALLEGRO_KEY_UP<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 425</span>        <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>KEY_DOWN<span class="k2">]</span>  <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_key_down"><span class="a">al_key_down</span></a><span class="k2">(</span><span class="k3">&amp;</span>kbdstate, ALLEGRO_KEY_DOWN<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 426</span>        <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>KEY_LEFT<span class="k2">]</span>  <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_key_down"><span class="a">al_key_down</span></a><span class="k2">(</span><span class="k3">&amp;</span>kbdstate, ALLEGRO_KEY_LEFT<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 427</span>        <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>KEY_RIGHT<span class="k2">]</span> <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_key_down"><span class="a">al_key_down</span></a><span class="k2">(</span><span class="k3">&amp;</span>kbdstate, ALLEGRO_KEY_RIGHT<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 428</span>        <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>KEY_SPACE<span class="k2">]</span> <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_key_down"><span class="a">al_key_down</span></a><span class="k2">(</span><span class="k3">&amp;</span>kbdstate, ALLEGRO_KEY_SPACE<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 429</span>        
<span class="number"> 430</span>        <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/al_key_down"><span class="a">al_key_down</span></a><span class="k2">(</span><span class="k3">&amp;</span>kbdstate, ALLEGRO_KEY_ESCAPE<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 431</span>        <span class="k2">{</span>
<span class="number"> 432</span>          <span class="c">/* Quit */</span>
<span class="number"> 433</span>          <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 434</span>        <span class="k2">}</span>
<span class="number"> 435</span>        
<span class="number"> 436</span>        enemyTank.active  <span class="k3">=</span> MoveTank<span class="k2">(</span><span class="k3">&amp;</span>playerTank, <span class="k3">&amp;</span>enemyTank,  <span class="k3">&amp;</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 437</span>        playerTank.active <span class="k3">=</span> MoveTank<span class="k2">(</span><span class="k3">&amp;</span>enemyTank,  <span class="k3">&amp;</span>playerTank, <span class="k3">&amp;</span>enKey<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 438</span>        
<span class="number"> 439</span>        <span class="c">/* Check if player FIRE */</span>
<span class="number"> 440</span>        <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>KEY_SPACE<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k3">!</span>playerShot.active <span class="k3">&amp;</span><span class="k3">&amp;</span> playerTank.active<span class="k2">)</span>
<span class="number"> 441</span>        <span class="k2">{</span>
<span class="number"> 442</span>          <span class="c">/* Shoot! */</span>
<span class="number"> 443</span>          playerShot.x        <span class="k3">=</span> playerTank.x<span class="k2">;</span>
<span class="number"> 444</span>          playerShot.y        <span class="k3">=</span> playerTank.y<span class="k2">;</span>
<span class="number"> 445</span>          playerShot.movAngle <span class="k3">=</span> playerTank.movAngle<span class="k2">;</span>
<span class="number"> 446</span>          playerShot.rotAngle <span class="k3">=</span> playerShot.movAngle<span class="k2">;</span>
<span class="number"> 447</span>          playerShot.active   <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 448</span>          playerShot.cnt      <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 449</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">"Player shoot! playerShot.cnt = %d\n"</span>, playerShot.cnt<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 450</span>        <span class="k2">}</span>
<span class="number"> 451</span>
<span class="number"> 452</span>        <span class="k1">if</span> <span class="k2">(</span>playerShot.active <span class="k3">&amp;</span><span class="k3">&amp;</span> playerShot.cnt <span class="k3">&lt;</span> BULLET_COUNT<span class="k2">)</span>
<span class="number"> 453</span>        <span class="k2">{</span>
<span class="number"> 454</span>          <span class="c">/* Bullet's moving */</span>
<span class="number"> 455</span>          playerShot.y <span class="k3">-</span><span class="k3">=</span> playerShot.speed <span class="k3">*</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_113.html" target="_blank">cos</a><span class="k2">(</span>playerShot.movAngle<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 456</span>          playerShot.x <span class="k3">+</span><span class="k3">=</span> playerShot.speed <span class="k3">*</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_728.html" target="_blank">sin</a><span class="k2">(</span>playerShot.movAngle<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 457</span>          playerShot.cnt <span class="k3">+</span><span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 458</span>        <span class="k2">}</span>
<span class="number"> 459</span>        <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>playerShot.active<span class="k2">)</span>
<span class="number"> 460</span>        <span class="k2">{</span>
<span class="number"> 461</span>          <span class="c">/* Bullet reached end */</span>
<span class="number"> 462</span>          playerShot.cnt <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 463</span>          playerShot.active <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 464</span>        <span class="k2">}</span>
<span class="number"> 465</span>
<span class="number"> 466</span>        <span class="c">/* Collision detection player bullet / enemy tank */</span>
<span class="number"> 467</span>        <span class="k1">if</span> <span class="k2">(</span>CollDetectShot<span class="k2">(</span><span class="k3">&amp;</span>playerShot, <span class="k3">&amp;</span>enemyTank<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> playerShot.active<span class="k2">)</span>
<span class="number"> 468</span>        <span class="k2">{</span>
<span class="number"> 469</span>          <span class="c">/* Collision */</span>
<span class="number"> 470</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">"Collision (player shot - enemy tank)!\n\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 471</span>          playerShot.active <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 472</span>          playerTank.active <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 473</span>          playerTank.points <span class="k3">+</span><span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 474</span>          
<span class="number"> 475</span>          enemyTank.hit <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 476</span>          enemyTank.active <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 477</span>          enemyTank.movAngle <span class="k3">=</span> playerShot.movAngle<span class="k2">;</span>
<span class="number"> 478</span>          enemyTank.speed <span class="k3">=</span> BULLET_SPEED<span class="k2">;</span>
<span class="number"> 479</span>        <span class="k2">}</span>
<span class="number"> 480</span>
<span class="number"> 481</span>
<span class="number"> 482</span>
<span class="number"> 483</span>        <span class="c">/* Check if enemy FIRE */</span>
<span class="number"> 484</span>        <span class="k1">if</span> <span class="k2">(</span>enKey<span class="k2">[</span>KEY_SPACE<span class="k2">]</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k3">!</span>enemyShot.active <span class="k3">&amp;</span><span class="k3">&amp;</span> enemyTank.active<span class="k2">)</span>
<span class="number"> 485</span>        <span class="k2">{</span>
<span class="number"> 486</span>          <span class="c">/* Shoot! */</span>
<span class="number"> 487</span>          enemyShot.x        <span class="k3">=</span> enemyTank.x<span class="k2">;</span>
<span class="number"> 488</span>          enemyShot.y        <span class="k3">=</span> enemyTank.y<span class="k2">;</span>
<span class="number"> 489</span>          enemyShot.movAngle <span class="k3">=</span> enemyTank.movAngle<span class="k2">;</span>
<span class="number"> 490</span>          enemyShot.rotAngle <span class="k3">=</span> enemyTank.movAngle<span class="k2">;</span>
<span class="number"> 491</span>          enemyShot.active   <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 492</span>          enemyShot.cnt      <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 493</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">"Enemy shoot! playerShot.cnt = %d\n"</span>, enemyShot.cnt<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 494</span>        <span class="k2">}</span>
<span class="number"> 495</span>
<span class="number"> 496</span>        <span class="k1">if</span> <span class="k2">(</span>enemyShot.active <span class="k3">&amp;</span><span class="k3">&amp;</span> enemyShot.cnt <span class="k3">&lt;</span> BULLET_COUNT<span class="k2">)</span>
<span class="number"> 497</span>        <span class="k2">{</span>
<span class="number"> 498</span>          <span class="c">/* Bullet's moving */</span>
<span class="number"> 499</span>          enemyShot.y <span class="k3">-</span><span class="k3">=</span> enemyShot.speed <span class="k3">*</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_113.html" target="_blank">cos</a><span class="k2">(</span>enemyShot.movAngle<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 500</span>          enemyShot.x <span class="k3">+</span><span class="k3">=</span> enemyShot.speed <span class="k3">*</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_728.html" target="_blank">sin</a><span class="k2">(</span>enemyShot.movAngle<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 501</span>          enemyShot.cnt <span class="k3">+</span><span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 502</span>        <span class="k2">}</span>
<span class="number"> 503</span>        <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>enemyShot.active<span class="k2">)</span>
<span class="number"> 504</span>        <span class="k2">{</span>
<span class="number"> 505</span>          <span class="c">/* Bullet reached end */</span>
<span class="number"> 506</span>          enemyShot.cnt <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 507</span>          enemyShot.active <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 508</span>        <span class="k2">}</span>
<span class="number"> 509</span>
<span class="number"> 510</span>        <span class="c">/* Collision detection player bullet / enemy tank */</span>
<span class="number"> 511</span>        <span class="k1">if</span> <span class="k2">(</span>CollDetectShot<span class="k2">(</span><span class="k3">&amp;</span>enemyShot, <span class="k3">&amp;</span>playerTank<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> enemyShot.active<span class="k2">)</span>
<span class="number"> 512</span>        <span class="k2">{</span>
<span class="number"> 513</span>          <span class="c">/* Collision */</span>
<span class="number"> 514</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">"Collision (enemy shot - player tank)!\n\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 515</span>          enemyShot.active <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 516</span>          enemyTank.active <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 517</span>          enemyTank.points <span class="k3">+</span><span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 518</span>          
<span class="number"> 519</span>          playerTank.hit <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 520</span>          playerTank.active <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 521</span>          playerTank.movAngle <span class="k3">=</span> enemyShot.movAngle<span class="k2">;</span>
<span class="number"> 522</span>          playerTank.speed <span class="k3">=</span> BULLET_SPEED<span class="k2">;</span>
<span class="number"> 523</span>        <span class="k2">}</span>
<span class="number"> 524</span>        
<span class="number"> 525</span>        <span class="c">/* Collision detection outer walls (Y) */</span>
<span class="number"> 526</span>        <span class="k2">(</span><span class="k1">void</span><span class="k2">)</span> CollDetectWalls<span class="k2">(</span><span class="k3">&amp;</span>playerTank<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 527</span>
<span class="number"> 528</span>        <span class="c">/* Collision detection outer walls */</span>
<span class="number"> 529</span>        <span class="k2">(</span><span class="k1">void</span><span class="k2">)</span> CollDetectWalls<span class="k2">(</span><span class="k3">&amp;</span>enemyTank<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 530</span>        
<span class="number"> 531</span>        redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 532</span>      <span class="k2">}</span>
<span class="number"> 533</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"> 534</span>      <span class="k2">{</span>
<span class="number"> 535</span>        <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 536</span>      <span class="k2">}</span>
<span class="number"> 537</span>
<span class="number"> 538</span>      <span class="k1">if</span><span class="k2">(</span>redraw <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/al_is_event_queue_empty"><span class="a">al_is_event_queue_empty</span></a><span class="k2">(</span>event_queue<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 539</span>      <span class="k2">{</span>
<span class="number"> 540</span>        redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 541</span>
<span class="number"> 542</span>        <span class="c">/* Draw window area */</span>
<span class="number"> 543</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"> 544</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">255</span>, <span class="n">255</span>, <span class="n">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 545</span>
<span class="number"> 546</span>        <span class="c">/* Draw text */</span>
<span class="number"> 547</span>        <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a>, <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">200</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/SCREEN_W"><span class="a">SCREEN_W</span></a> <span class="k3">/</span> <span class="n">2</span><span class="k2">)</span>, <span class="k2">(</span>GAME_AREA_OFFSY <span class="k3">/</span> <span class="n">2</span><span class="k2">)</span>, ALLEGRO_ALIGN_CENTRE, <span class="s">"T.A.N.K.S"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 548</span>
<span class="number"> 549</span>        <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a>, <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">200</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span>, INFO_TEXT_X, PLAYER_TEXT_Y, ALLEGRO_ALIGN_LEFT, <span class="s">"PLAYER"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 550</span>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>tmpText, <span class="s">"%d"</span>, playerTank.points<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 551</span>        <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a>, <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">200</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span>, INFO_TEXT_X, PLAYER_TEXT_Y <span class="k3">+</span> <a href="http://www.allegro.cc/manual/al_get_font_line_height"><span class="a">al_get_font_line_height</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a><span class="k2">)</span>, ALLEGRO_ALIGN_LEFT, tmpText<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 552</span>
<span class="number"> 553</span>        <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a>, <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">200</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span>, INFO_TEXT_X, ENEMY_TEXT_Y, ALLEGRO_ALIGN_LEFT, <span class="s">"ENEMY"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 554</span>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>tmpText, <span class="s">"%d"</span>, enemyTank.points<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 555</span>        <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a>, <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">200</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span>, INFO_TEXT_X, ENEMY_TEXT_Y <span class="k3">+</span> <a href="http://www.allegro.cc/manual/al_get_font_line_height"><span class="a">al_get_font_line_height</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a><span class="k2">)</span>, ALLEGRO_ALIGN_LEFT, tmpText<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 556</span>
<span class="number"> 557</span>        <span class="c">/* Draw background */</span>
<span class="number"> 558</span>        <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>backGround, GAME_AREA_OFFSX, GAME_AREA_OFFSY, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 559</span>
<span class="number"> 560</span>        <span class="c">/* Draw player */</span>
<span class="number"> 561</span>        <a href="http://www.allegro.cc/manual/al_draw_rotated_bitmap"><span class="a">al_draw_rotated_bitmap</span></a><span class="k2">(</span>playerTank.bitmap, TANK_OFFS_X, TANK_OFFS_Y, playerTank.x, playerTank.y, playerTank.rotAngle, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 562</span>        <span class="k1">if</span> <span class="k2">(</span>playerShot.active<span class="k2">)</span>
<span class="number"> 563</span>        <span class="k2">{</span>
<span class="number"> 564</span>          <a href="http://www.allegro.cc/manual/al_draw_rotated_bitmap"><span class="a">al_draw_rotated_bitmap</span></a><span class="k2">(</span>playerShot.bitmap, BULLET_OFFS_X, BULLET_OFFS_Y, playerShot.x, playerShot.y, playerShot.rotAngle, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 565</span>        <span class="k2">}</span>
<span class="number"> 566</span>        
<span class="number"> 567</span>        <span class="c">/* Draw enemy */</span>
<span class="number"> 568</span>        <a href="http://www.allegro.cc/manual/al_draw_rotated_bitmap"><span class="a">al_draw_rotated_bitmap</span></a><span class="k2">(</span>enemyTank.bitmap, TANK_OFFS_X, TANK_OFFS_Y, enemyTank.x, enemyTank.y, enemyTank.rotAngle, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 569</span>        <span class="k1">if</span> <span class="k2">(</span>enemyShot.active<span class="k2">)</span>
<span class="number"> 570</span>        <span class="k2">{</span>
<span class="number"> 571</span>          <a href="http://www.allegro.cc/manual/al_draw_rotated_bitmap"><span class="a">al_draw_rotated_bitmap</span></a><span class="k2">(</span>enemyShot.bitmap, BULLET_OFFS_X, BULLET_OFFS_Y, enemyShot.x, enemyShot.y, enemyShot.rotAngle, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 572</span>        <span class="k2">}</span>
<span class="number"> 573</span>       
<span class="number"> 574</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"> 575</span>      <span class="k2">}</span>
<span class="number"> 576</span>    <span class="k2">}</span>
<span class="number"> 577</span>
<span class="number"> 578</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"> 579</span>    <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>enemyTank.bitmap<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 580</span>    <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>enemyShot.bitmap<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 581</span>    <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>playerTank.bitmap<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 582</span>    <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>playerShot.bitmap<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 583</span>    <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>backGround<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 584</span>    <a href="http://www.allegro.cc/manual/al_destroy_font"><span class="a">al_destroy_font</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 585</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"> 586</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"> 587</span>    
<span class="number"> 588</span>    <a href="http://www.allegro.cc/manual/al_uninstall_system"><span class="a">al_uninstall_system</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 589</span>
<span class="number"> 590</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 591</span>  <span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Fredrik Beckman)</author>
		<pubDate>Sun, 22 Dec 2013 02:03:35 +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/613674/994123#target">Fredrik Beckman</a> said:</div><div class="quote"><p> the problem: it seems like my program starts without waiting for my keypress. After loading bitmaps, fonts and stuff I added a wait loop for pressing space, but if I start the program, wait for about 5 sec and then press space, I can see that the game started without me, kind of.</p></div></div><p>That&#39;s way too much unformatted code to wade through, but at a guess I&#39;d say it does wait for the keypress, but then it &quot;catches up&quot; all at once before settling back down to the correct timer rate.  Is there something you increment each loop then decrement every display flip?  Set that to zero when the keypress finally comes.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Arthur Kalliokoski)</author>
		<pubDate>Sun, 22 Dec 2013 02:09:56 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>No increments, just a timer event.</p><p>Should I wait to start the timer until I press the key, maybe?</p><p>[EDIT]<br />Right on spot! Thanks Arthur. Solved - no timer event start until key press....</p><p><img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Fredrik Beckman)</author>
		<pubDate>Sun, 22 Dec 2013 02:16:38 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Don&#39;t use a busy loop like that.</p><p>Anyway, to fix your problem, start the timer after you&#39;ve waited for the keypresses. I think your event queue is filled with unhandled timer events before starting your program.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (l j)</author>
		<pubDate>Sun, 22 Dec 2013 02:26:28 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I just threw this little demo together real quick.  It has the 
</p><div class="source-code snippet"><div class="inner"><pre><span class="p">#define NUM_BLITS 100000</span>
</pre></div></div><p>
 to bog down the video card to simulate a slow card, at 100000 redraws of the ball per frame it slows down to 6.8 fps on my computer, but the ball still moves at the correct speed overall.  Adjust to suit, or set to 1 to see how fast the ball will move unloaded.</p><p>Change
</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">char</span> font_string<span class="k2">[</span><span class="k2">]</span> <span class="k3">=</span> <span class="s">"DejaVuSans.ttf"</span><span class="k2">;</span>
</pre></div></div><p>
to whatever ttf font you have handy.</p><p><a href="https://www.allegro.cc/files/attachment/608190">Source code</a></p><p>I have to shower up and go to work now.</p><p>[EDIT]</p><p>I forgot to add stuff so it doesn&#39;t use 100% cpu, I&#39;ll update it tomorrow.</p><p>[EDIT2]</p><p>It doesn&#39;t hog cpu with NUMBLITS 1
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Arthur Kalliokoski)</author>
		<pubDate>Sun, 22 Dec 2013 03:32:54 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://">taron</a> said:</div><div class="quote"><p>Don&#39;t use a busy loop like that.</p></div></div><p>

If you mean:
</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="c">/* SPACE pressed */</span>
<span class="number">  2</span>    <span class="k1">do</span>
<span class="number">  3</span>    <span class="k2">{</span>
<span class="number">  4</span>      <a href="http://www.allegro.cc/manual/al_get_keyboard_state"><span class="a">al_get_keyboard_state</span></a><span class="k2">(</span><span class="k3">&amp;</span>kbdstate<span class="k2">)</span><span class="k2">;</span>
<span class="number">  5</span>    <span class="k2">}</span> <span class="k1">while</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/al_key_down"><span class="a">al_key_down</span></a><span class="k2">(</span><span class="k3">&amp;</span>kbdstate, ALLEGRO_KEY_SPACE<span class="k2">)</span> <span class="k3">!</span><span class="k3">=</span> <span class="k1">true</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  6</span>    
<span class="number">  7</span>    <span class="c">/* SPACE released */</span>
<span class="number">  8</span>    <span class="k1">do</span>
<span class="number">  9</span>    <span class="k2">{</span>
<span class="number"> 10</span>      <a href="http://www.allegro.cc/manual/al_get_keyboard_state"><span class="a">al_get_keyboard_state</span></a><span class="k2">(</span><span class="k3">&amp;</span>kbdstate<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 11</span>    <span class="k2">}</span> <span class="k1">while</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/al_key_down"><span class="a">al_key_down</span></a><span class="k2">(</span><span class="k3">&amp;</span>kbdstate, ALLEGRO_KEY_SPACE<span class="k2">)</span> <span class="k3">=</span><span class="k3">=</span> <span class="k1">true</span><span class="k2">)</span><span class="k2">;</span>
</div></div><p>
then I couldn&#39;t agree more, that&#39;s ugly, but added before I saw the problem. Will fix that soon along with a lot of other stuff... and yes - you saw the problem too. Timer event started too soon.</p><div class="quote_container"><div class="title"><a href="http://">Arthur Kalliokoski</a> said:</div><div class="quote"><p>I just threw this little demo together real quick</p></div></div><p>
Too kind <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /> It looked interesting, will check it a bit deeper tomorrow if I get a chance. Close to Christmas though, so maybe I don&#39;t get get more time until later in the week.</p><p>thanks for the comments and merry christmas!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Fredrik Beckman)</author>
		<pubDate>Sun, 22 Dec 2013 04:42:29 +0000</pubDate>
	</item>
</rss>
