<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Tic</title>
		<link>http://www.allegro.cc/forums/view/614558</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Sun, 17 Aug 2014 19:24:04 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Title was supposed to be tic tac toe. haha</p><p>Ok. i dont know what i am doing wrong. It takes a couple of clicks sometimes to get the X or O to go onto the board. please help. what am i doing wrong?</p><p>The next feature i am going to add is a button on the bottom to reset the game. but i know how to do that.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Antone333)</author>
		<pubDate>Fri, 15 Aug 2014 10:09:51 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I think it is because you are constantly trying to render which is crippling the event queue.</p><p>Set up a timer and only render when there are no events in the queue and you get a tick<br />Here is my scene manager which does this sort of thing:
</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>  SceneManager::SceneManager<span class="k2">(</span> DeviceManager<span class="k3">*</span> settings, DynamicUIManager<span class="k3">*</span> dynamicUImanager <span class="k2">)</span>
<span class="number">   2</span>  <span class="k2">:</span> m_devices<span class="k2">(</span>settings<span class="k2">)</span>,m_gameIsRunning<span class="k2">(</span><span class="k1">true</span><span class="k2">)</span>, m_nextScene<span class="k2">(</span>LOGIN<span class="k2">)</span>,
<span class="number">   3</span>  m_currentScene<span class="k2">(</span>NULL<span class="k2">)</span>,m_needsRedraw<span class="k2">(</span><span class="k1">true</span><span class="k2">)</span>,m_frameRate<span class="k2">(</span><span class="n">60</span>.<span class="n">0f</span><span class="k2">)</span>,
<span class="number">   4</span>  m_dynamicUI<span class="k2">(</span>dynamicUImanager<span class="k2">)</span>, m_currentSceneType<span class="k2">(</span>NO_SCENE<span class="k2">)</span>,
<span class="number">   5</span>  m_needsResize<span class="k2">(</span><span class="k1">false</span><span class="k2">)</span>,m_newScreenHeight<span class="k2">(</span><span class="n">0</span><span class="k2">)</span>,m_newScreenWidth<span class="k2">(</span><span class="n">0</span><span class="k2">)</span>,
<span class="number">   6</span>  m_guiImageManager<span class="k2">(</span><span class="s">"res/gui/gui_image_mapping.conf"</span>,<span class="s">"res/gui/"</span><span class="k2">)</span>
<span class="number">   7</span>  <span class="k2">{</span>
<span class="number">   8</span>    queue <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_event_queue"><span class="a">al_create_event_queue</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">   9</span>    m_gameTimer <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> m_frameRate<span class="k2">)</span><span class="k2">;</span>
<span class="number">  10</span>    registerEventSources<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  11</span>    <span class="c">//Instance the first scene</span>
<span class="number">  12</span>    processMessages<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  13</span>    Log::write<span class="k2">(</span><span class="s">"Scene Manager"</span>,<span class="s">"Scene Manager Started"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  14</span>    m_g.setBuffering<span class="k2">(</span><span class="k1">false</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  15</span>  <span class="k2">}</span>
<span class="number">  16</span>
<span class="number">  17</span>  SceneManager::~SceneManager<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>
<span class="number">  18</span>  <span class="k2">{</span>
<span class="number">  19</span>    <span class="c">//delete the current scene</span>
<span class="number">  20</span>    <span class="k1">if</span><span class="k2">(</span>m_currentScene<span class="k2">)</span>
<span class="number">  21</span>    <span class="k2">{</span>
<span class="number">  22</span>      m_currentScene-&gt;sceneEnd<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  23</span>      <span class="k1">delete</span> m_currentScene<span class="k2">;</span>
<span class="number">  24</span>      m_currentScene <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  25</span>    <span class="k2">}</span>
<span class="number">  26</span>
<span class="number">  27</span>    <a href="http://www.allegro.cc/manual/al_destroy_timer"><span class="a">al_destroy_timer</span></a><span class="k2">(</span>m_gameTimer<span class="k2">)</span><span class="k2">;</span>
<span class="number">  28</span>    <a href="http://www.allegro.cc/manual/al_destroy_event_queue"><span class="a">al_destroy_event_queue</span></a><span class="k2">(</span>queue<span class="k2">)</span><span class="k2">;</span>
<span class="number">  29</span>    Log::write<span class="k2">(</span><span class="s">"Scene Manager"</span>,<span class="s">"Scene Manager Destroyed"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  30</span>  
<span class="number">  31</span>  <span class="k2">}</span>
<span class="number">  32</span>
<span class="number">  33</span>  <span class="k1">void</span> SceneManager::run<span class="k2">(</span><span class="k2">)</span>
<span class="number">  34</span>  <span class="k2">{</span>  
<span class="number">  35</span>    m_devices-&gt;setSceneMessenger<span class="k2">(</span><span class="k1">this</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  36</span>
<span class="number">  37</span>    <a href="http://www.allegro.cc/manual/al_start_timer"><span class="a">al_start_timer</span></a><span class="k2">(</span>m_gameTimer<span class="k2">)</span><span class="k2">;</span>
<span class="number">  38</span>
<span class="number">  39</span>    <span class="c">//is the event handled?</span>
<span class="number">  40</span>    <span class="k1">bool</span> handled <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  41</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> next<span class="k2">;</span>
<span class="number">  42</span>    <span class="k1">int</span> numTicks <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  43</span>
<span class="number">  44</span>    <span class="c">//main loop</span>
<span class="number">  45</span>    <span class="k1">while</span><span class="k2">(</span>m_gameIsRunning<span class="k2">)</span>
<span class="number">  46</span>    <span class="k2">{</span>
<span class="number">  47</span>    
<span class="number">  48</span>      handled <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  49</span>      <a href="http://www.allegro.cc/manual/al_wait_for_event"><span class="a">al_wait_for_event</span></a><span class="k2">(</span>queue,<span class="k3">&amp;</span>evt<span class="k2">)</span><span class="k2">;</span>
<span class="number">  50</span>
<span class="number">  51</span>      <span class="k1">bool</span> hasNext <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_peek_next_event"><span class="a">al_peek_next_event</span></a><span class="k2">(</span>queue,<span class="k3">&amp;</span>next<span class="k2">)</span><span class="k2">;</span>
<span class="number">  52</span>      <span class="k1">if</span><span class="k2">(</span>hasNext <span class="k3">&amp;</span><span class="k3">&amp;</span> next.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_TIMER<span class="k2">)</span>
<span class="number">  53</span>      <span class="k2">{</span>
<span class="number">  54</span>        <a href="http://www.allegro.cc/manual/al_drop_next_event"><span class="a">al_drop_next_event</span></a><span class="k2">(</span>queue<span class="k2">)</span><span class="k2">;</span>
<span class="number">  55</span>      <span class="k2">}</span>
<span class="number">  56</span>      <span class="c">//render the scene</span>
<span class="number">  57</span>      <span class="k1">if</span><span class="k2">(</span>m_needsRedraw <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/al_is_event_queue_empty"><span class="a">al_is_event_queue_empty</span></a><span class="k2">(</span>queue<span class="k2">)</span><span class="k2">)</span>
<span class="number">  58</span>      <span class="k2">{</span>
<span class="number">  59</span>        m_g.begin<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  60</span>        m_currentScene-&gt;render<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  61</span>        m_g.end<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  62</span>      
<span class="number">  63</span>        m_needsRedraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  64</span>      <span class="k2">}</span>
<span class="number">  65</span>
<span class="number">  66</span>      defaultBeginEventHandler<span class="k2">(</span><span class="k3">&amp;</span>evt<span class="k2">)</span><span class="k2">;</span>
<span class="number">  67</span>      m_currentScene-&gt;processEvent<span class="k2">(</span><span class="k3">&amp;</span>evt,handled<span class="k2">)</span><span class="k2">;</span>
<span class="number">  68</span>
<span class="number">  69</span>      <span class="c">//do default behavior if event was not handled by the scene</span>
<span class="number">  70</span>      <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>handled<span class="k2">)</span>
<span class="number">  71</span>      <span class="k2">{</span>
<span class="number">  72</span>        defaultEndEventHandler<span class="k2">(</span><span class="k3">&amp;</span>evt<span class="k2">)</span><span class="k2">;</span>
<span class="number">  73</span>      <span class="k2">}</span>
<span class="number">  74</span>
<span class="number">  75</span>      processMessages<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  76</span>    <span class="k2">}</span>
<span class="number">  77</span>  <span class="k2">}</span>
<span class="number">  78</span>
<span class="number">  79</span>  <span class="k1">void</span> SceneManager::registerEventSources<span class="k2">(</span><span class="k2">)</span>
<span class="number">  80</span>  <span class="k2">{</span>
<span class="number">  81</span>    <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>queue, <span class="k2">(</span><a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_SOURCE"><span class="a">ALLEGRO_EVENT_SOURCE</span></a><span class="k3">*</span><span class="k2">)</span><a href="http://www.allegro.cc/manual/al_get_keyboard_event_source"><span class="a">al_get_keyboard_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  82</span>    <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>queue, <span class="k2">(</span><a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_SOURCE"><span class="a">ALLEGRO_EVENT_SOURCE</span></a><span class="k3">*</span><span class="k2">)</span><a href="http://www.allegro.cc/manual/al_get_mouse_event_source"><span class="a">al_get_mouse_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  83</span>    <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>queue, <span class="k2">(</span><a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_SOURCE"><span class="a">ALLEGRO_EVENT_SOURCE</span></a><span class="k3">*</span><span class="k2">)</span>m_gameTimer<span class="k2">)</span><span class="k2">;</span>
<span class="number">  84</span>    <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>queue, <span class="k2">(</span><a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_SOURCE"><span class="a">ALLEGRO_EVENT_SOURCE</span></a><span class="k3">*</span><span class="k2">)</span>m_devices-&gt;getDisplay<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>getContext<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  85</span>    Log::write<span class="k2">(</span><span class="s">"Scene Manager"</span>,<span class="s">"Event sources registered"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  86</span>
<span class="number">  87</span>  <span class="k2">}</span>
<span class="number">  88</span>
<span class="number">  89</span>  <span class="k1">void</span> SceneManager::sendSceneChangeMessage<span class="k2">(</span> SceneEnum scene <span class="k2">)</span>
<span class="number">  90</span>  <span class="k2">{</span>
<span class="number">  91</span>    m_nextScene <span class="k3">=</span> scene<span class="k2">;</span>
<span class="number">  92</span>  <span class="k2">}</span>
<span class="number">  93</span>
<span class="number">  94</span>  <span class="k1">void</span> SceneManager::sendQuitMessage<span class="k2">(</span><span class="k2">)</span>
<span class="number">  95</span>  <span class="k2">{</span>
<span class="number">  96</span>    m_gameIsRunning <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  97</span>  <span class="k2">}</span>
<span class="number">  98</span>
<span class="number">  99</span>  <span class="k1">void</span> SceneManager::processMessages<span class="k2">(</span><span class="k2">)</span>
<span class="number"> 100</span>  <span class="k2">{</span>
<span class="number"> 101</span>    changeScene<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 102</span>  <span class="k2">}</span>
<span class="number"> 103</span>
<span class="number"> 104</span>  <span class="k1">void</span> SceneManager::changeScene<span class="k2">(</span><span class="k2">)</span>
<span class="number"> 105</span>  <span class="k2">{</span>
<span class="number"> 106</span>    <span class="k1">if</span><span class="k2">(</span>m_nextScene <span class="k3">!</span><span class="k3">=</span> NO_SCENE<span class="k2">)</span>
<span class="number"> 107</span>    <span class="k2">{</span>
<span class="number"> 108</span>
<span class="number"> 109</span>      <span class="c">//delete the current scene</span>
<span class="number"> 110</span>      <span class="k1">if</span><span class="k2">(</span>m_currentScene<span class="k2">)</span>
<span class="number"> 111</span>      <span class="k2">{</span>
<span class="number"> 112</span>        m_currentScene-&gt;sceneEnd<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 113</span>        m_currentScene-&gt;deinitBaseScene<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 114</span>        <span class="k1">delete</span> m_currentScene<span class="k2">;</span>
<span class="number"> 115</span>        m_currentScene <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number"> 116</span>        Log::write<span class="k2">(</span><span class="s">"Scene Manager"</span>,<span class="s">"Scene Ended"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 117</span>      <span class="k2">}</span>
<span class="number"> 118</span>
<span class="number"> 119</span>      m_currentSceneType <span class="k3">=</span> m_nextScene<span class="k2">;</span>
<span class="number"> 120</span>  
<span class="number"> 121</span>      <span class="c">//instance the requested scene</span>
<span class="number"> 122</span>      <span class="k1">switch</span><span class="k2">(</span>m_nextScene<span class="k2">)</span>
<span class="number"> 123</span>      <span class="k2">{</span>
<span class="number"> 124</span>      <span class="k1">case</span> SceneManagerMessage::GAME:
<span class="number"> 125</span>        m_currentScene <span class="k3">=</span> <span class="k1">new</span> GameScene<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 126</span>        Log::write<span class="k2">(</span><span class="s">"Scene Manager"</span>,<span class="s">"Changed to Game Scene"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 127</span>        <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 128</span>      <span class="k1">case</span> SceneManagerMessage::LOBBY:
<span class="number"> 129</span>        m_currentScene <span class="k3">=</span> <span class="k1">new</span> LobbyScene<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 130</span>        Log::write<span class="k2">(</span><span class="s">"Scene Manager"</span>,<span class="s">"Changed to Lobby Scene"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 131</span>        <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 132</span>      <span class="k1">case</span> SceneManagerMessage::LOGIN:
<span class="number"> 133</span>        m_currentScene <span class="k3">=</span> <span class="k1">new</span> LoginScene<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 134</span>        Log::write<span class="k2">(</span><span class="s">"Scene Manager"</span>,<span class="s">"Changed to Login Scene"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 135</span>        <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 136</span>      <span class="k2">}</span>
<span class="number"> 137</span>
<span class="number"> 138</span>      m_nextScene <span class="k3">=</span> NO_SCENE<span class="k2">;</span>
<span class="number"> 139</span>
<span class="number"> 140</span>      <span class="c">//set some class pointers</span>
<span class="number"> 141</span>      m_currentScene-&gt;setGraphics<span class="k2">(</span><span class="k3">&amp;</span>m_g<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 142</span>      m_currentScene-&gt;setDeviceManager<span class="k2">(</span>m_devices<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 143</span>      m_currentScene-&gt;setDynamicUIManager<span class="k2">(</span>m_dynamicUI<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 144</span>      m_currentScene-&gt;setGuiImageManager<span class="k2">(</span><span class="k3">&amp;</span>m_guiImageManager<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 145</span>      m_currentScene-&gt;setSceneMessenger<span class="k2">(</span><span class="k1">this</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 146</span>      m_currentScene-&gt;setGameTimer<span class="k2">(</span>m_gameTimer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 147</span>      m_currentScene-&gt;initBaseScene<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 148</span>      m_currentScene-&gt;sceneBegin<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 149</span>      m_currentScene-&gt;resizeEvent<span class="k2">(</span>
<span class="number"> 150</span>        m_devices-&gt;getDisplay<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>getResolution<span class="k2">(</span><span class="k2">)</span>.getX<span class="k2">(</span><span class="k2">)</span>,
<span class="number"> 151</span>        m_devices-&gt;getDisplay<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>getResolution<span class="k2">(</span><span class="k2">)</span>.getY<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 152</span>      m_currentScene-&gt;initialResizeCompleted<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 153</span>      m_currentScene-&gt;sceneLogic<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 154</span>      m_currentScene-&gt;logic<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 155</span>
<span class="number"> 156</span>    
<span class="number"> 157</span>    <span class="k2">}</span>
<span class="number"> 158</span>  <span class="k2">}</span>
<span class="number"> 159</span>
<span class="number"> 160</span>  <span class="k1">void</span> SceneManager::defaultEndEventHandler<span class="k2">(</span> <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a><span class="k3">*</span> evt <span class="k2">)</span>
<span class="number"> 161</span>  <span class="k2">{</span>
<span class="number"> 162</span>    <span class="k1">switch</span><span class="k2">(</span>evt-&gt;type<span class="k2">)</span>
<span class="number"> 163</span>    <span class="k2">{</span>
<span class="number"> 164</span>    <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_CLOSE:
<span class="number"> 165</span>
<span class="number"> 166</span>      sendQuitMessage<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 167</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 168</span>    default:
<span class="number"> 169</span>      <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 170</span>    <span class="k2">}</span>
<span class="number"> 171</span>  <span class="k2">}</span>
<span class="number"> 172</span>
<span class="number"> 173</span>  <span class="k1">void</span> SceneManager::defaultBeginEventHandler<span class="k2">(</span> <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a><span class="k3">*</span>evt <span class="k2">)</span>
<span class="number"> 174</span>  <span class="k2">{</span>
<span class="number"> 175</span>
<span class="number"> 176</span>    m_currentScene-&gt;processGuiInputEvent<span class="k2">(</span>evt<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 177</span>
<span class="number"> 178</span>    <span class="k1">if</span><span class="k2">(</span>evt-&gt;type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_TIMER <span class="k3">&amp;</span><span class="k3">&amp;</span> evt-&gt;timer.source <span class="k3">=</span><span class="k3">=</span> m_gameTimer<span class="k2">)</span>
<span class="number"> 179</span>    <span class="k2">{</span>
<span class="number"> 180</span>      m_needsRedraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 181</span>      m_currentScene-&gt;sceneLogic<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 182</span>      m_currentScene-&gt;processGuiLogic<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 183</span>      m_currentScene-&gt;logic<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 184</span>      m_devices-&gt;getNetClient<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>tick<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 185</span>    <span class="k2">}</span>
<span class="number"> 186</span>    <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>evt-&gt;type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_DISPLAY_RESIZE<span class="k2">)</span>
<span class="number"> 187</span>    <span class="k2">{</span>
<span class="number"> 188</span>      m_needsResize <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 189</span>      m_newScreenWidth <span class="k3">=</span> evt-&gt;display.width<span class="k2">;</span>
<span class="number"> 190</span>      m_newScreenHeight <span class="k3">=</span> evt-&gt;display.height<span class="k2">;</span>
<span class="number"> 191</span>      sendResizeMessage<span class="k2">(</span>m_newScreenWidth,m_newScreenHeight<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 192</span>    <span class="k2">}</span>
<span class="number"> 193</span>    <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>m_needsResize<span class="k2">)</span>
<span class="number"> 194</span>    <span class="k2">{</span>
<span class="number"> 195</span>      m_needsResize <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 196</span>      
<span class="number"> 197</span>    <span class="k2">}</span>
<span class="number"> 198</span>  <span class="k2">}</span>
<span class="number"> 199</span>
<span class="number"> 200</span>  <span class="k1">void</span> SceneManager::sendResizeMessage<span class="k2">(</span> <span class="k1">int</span> w, <span class="k1">int</span> h <span class="k2">)</span>
<span class="number"> 201</span>  <span class="k2">{</span>
<span class="number"> 202</span>    <span class="c">//this is a bug in Allegro</span>
<span class="number"> 203</span>    <span class="k1">if</span><span class="k2">(</span>w <span class="k3">=</span><span class="k3">=</span> <span class="n">0</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> h <span class="k3">=</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span>
<span class="number"> 204</span>    <span class="k2">{</span>
<span class="number"> 205</span>      <span class="k1">return</span><span class="k2">;</span>
<span class="number"> 206</span>    <span class="k2">}</span>
<span class="number"> 207</span>
<span class="number"> 208</span>    <a href="http://www.allegro.cc/manual/al_acknowledge_resize"><span class="a">al_acknowledge_resize</span></a><span class="k2">(</span>m_devices-&gt;getDisplay<span class="k2">(</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>getContext<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 209</span>    m_g.resizeBuffer<span class="k2">(</span>w,h<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 210</span>    m_currentScene-&gt;processGuiResizeEvent<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 211</span>    m_currentScene-&gt;resizeEvent<span class="k2">(</span>
<span class="number"> 212</span>      w,h<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 213</span>    Log::write<span class="k2">(</span><span class="s">"Scene Manager"</span>,<span class="s">"Resize Event: Width:"</span> <span class="k3">+</span>  StringUtil::toString<span class="k2">(</span>w<span class="k2">)</span> <span class="k3">+</span> 
<span class="number"> 214</span>      <span class="s">" Height:"</span> <span class="k3">+</span> StringUtil::toString<span class="k2">(</span>h<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 215</span>  <span class="k2">}</span>
<span class="number"> 216</span>
<span class="number"> 217</span>  SceneManagerMessage::SceneEnum SceneManager::getCurrentScene<span class="k2">(</span><span class="k2">)</span> <span class="k1">const</span>
<span class="number"> 218</span>  <span class="k2">{</span>
<span class="number"> 219</span>    <span class="k1">return</span> m_currentSceneType<span class="k2">;</span>
<span class="number"> 220</span>  <span class="k2">}</span>
<span class="number"> 221</span>
<span class="number"> 222</span>  <span class="k1">bool</span> SceneManager::willSceneChange<span class="k2">(</span><span class="k2">)</span> <span class="k1">const</span>
<span class="number"> 223</span>  <span class="k2">{</span>
<span class="number"> 224</span>    <span class="k1">return</span> m_nextScene <span class="k3">!</span><span class="k3">=</span> NO_SCENE<span class="k2">;</span>
<span class="number"> 225</span>  <span class="k2">}</span>
<span class="number"> 226</span><span class="k2">}</span>
</div></div><p>

An easy fix that might work is:
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span>      <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_is_event_queue_empty"><span class="a">al_is_event_queue_empty</span></a><span class="k2">(</span>EventQueue<span class="k2">)</span><span class="k2">)</span>
<span class="number">  2</span>    <span class="k2">{</span>
<span class="number">  3</span>      <span class="k1">if</span><span class="k2">(</span>one <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span>
<span class="number">  4</span>      <span class="k2">{</span>
<span class="number">  5</span>        <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>X, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  6</span>      <span class="k2">}</span>
<span class="number">  7</span>      <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>one <span class="k3">=</span><span class="k3">=</span> <span class="n">2</span><span class="k2">)</span>
<span class="number">  8</span>      <span class="k2">{</span>
<span class="number">  9</span>        <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>O, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 10</span>      <span class="k2">}</span>
<span class="number"> 11</span>      <span class="k1">if</span><span class="k2">(</span>two <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span>
<span class="number"> 12</span>      <span class="k2">{</span>
<span class="number"> 13</span>        <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>X, <span class="n">32</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 14</span>      <span class="k2">}</span>
<span class="number"> 15</span>      <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>two <span class="k3">=</span><span class="k3">=</span> <span class="n">2</span><span class="k2">)</span>
<span class="number"> 16</span>      <span class="k2">{</span>
<span class="number"> 17</span>        <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>O, <span class="n">32</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 18</span>      <span class="k2">}</span>
<span class="number"> 19</span>      <span class="k1">if</span><span class="k2">(</span>three <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span>
<span class="number"> 20</span>      <span class="k2">{</span>
<span class="number"> 21</span>        <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>X, <span class="n">64</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 22</span>      <span class="k2">}</span>
<span class="number"> 23</span>      <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>three <span class="k3">=</span><span class="k3">=</span> <span class="n">2</span><span class="k2">)</span>
<span class="number"> 24</span>      <span class="k2">{</span>
<span class="number"> 25</span>        <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>O, <span class="n">64</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 26</span>      <span class="k2">}</span>
<span class="number"> 27</span>      <span class="k1">if</span><span class="k2">(</span>four <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span>
<span class="number"> 28</span>      <span class="k2">{</span>
<span class="number"> 29</span>        <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>X, <span class="n">0</span>, <span class="n">32</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 30</span>      <span class="k2">}</span>
<span class="number"> 31</span>      <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>four <span class="k3">=</span><span class="k3">=</span> <span class="n">2</span><span class="k2">)</span>
<span class="number"> 32</span>      <span class="k2">{</span>
<span class="number"> 33</span>        <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>O, <span class="n">0</span>, <span class="n">32</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 34</span>      <span class="k2">}</span>
<span class="number"> 35</span>      <span class="k1">if</span><span class="k2">(</span>five <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span>
<span class="number"> 36</span>      <span class="k2">{</span>
<span class="number"> 37</span>        <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>X, <span class="n">32</span>, <span class="n">32</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 38</span>      <span class="k2">}</span>
<span class="number"> 39</span>      <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>five <span class="k3">=</span><span class="k3">=</span> <span class="n">2</span><span class="k2">)</span>
<span class="number"> 40</span>      <span class="k2">{</span>
<span class="number"> 41</span>        <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>O, <span class="n">32</span>, <span class="n">32</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 42</span>      <span class="k2">}</span>
<span class="number"> 43</span>      <span class="k1">if</span><span class="k2">(</span>six <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span>
<span class="number"> 44</span>      <span class="k2">{</span>
<span class="number"> 45</span>        <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>X, <span class="n">64</span>, <span class="n">32</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 46</span>      <span class="k2">}</span>
<span class="number"> 47</span>      <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>six <span class="k3">=</span><span class="k3">=</span> <span class="n">2</span><span class="k2">)</span>
<span class="number"> 48</span>      <span class="k2">{</span>
<span class="number"> 49</span>        <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>O, <span class="n">64</span>, <span class="n">32</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 50</span>      <span class="k2">}</span>
<span class="number"> 51</span>      <span class="k1">if</span><span class="k2">(</span>seven <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span>
<span class="number"> 52</span>      <span class="k2">{</span>
<span class="number"> 53</span>        <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>X, <span class="n">0</span>, <span class="n">64</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 54</span>      <span class="k2">}</span>
<span class="number"> 55</span>      <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>seven <span class="k3">=</span><span class="k3">=</span> <span class="n">2</span><span class="k2">)</span>
<span class="number"> 56</span>      <span class="k2">{</span>
<span class="number"> 57</span>        <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>O, <span class="n">0</span>, <span class="n">64</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 58</span>      <span class="k2">}</span>
<span class="number"> 59</span>      <span class="k1">if</span><span class="k2">(</span>eight <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><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/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>X, <span class="n">32</span>, <span class="n">64</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 62</span>      <span class="k2">}</span>
<span class="number"> 63</span>      <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>eight <span class="k3">=</span><span class="k3">=</span> <span class="n">2</span><span class="k2">)</span>
<span class="number"> 64</span>      <span class="k2">{</span>
<span class="number"> 65</span>        <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>O, <span class="n">32</span>, <span class="n">64</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 66</span>      <span class="k2">}</span>
<span class="number"> 67</span>      <span class="k1">if</span><span class="k2">(</span>nine <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span>
<span class="number"> 68</span>      <span class="k2">{</span>
<span class="number"> 69</span>        <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>X, <span class="n">64</span>, <span class="n">64</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 70</span>      <span class="k2">}</span>
<span class="number"> 71</span>      <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>nine <span class="k3">=</span><span class="k3">=</span> <span class="n">2</span><span class="k2">)</span>
<span class="number"> 72</span>      <span class="k2">{</span>
<span class="number"> 73</span>        <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>O, <span class="n">64</span>, <span class="n">64</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 74</span>      <span class="k2">}</span>
<span class="number"> 75</span>
<span class="number"> 76</span>      <a href="http://www.allegro.cc/manual/al_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"> 77</span>    <span class="k2">}</span>
</div></div><p>

But the timer solution is more robust.</p><p>EDIT: Another option is to only render when:<br />-The window loses focus<br />-The window gains focus<br />-A mouse event</p><p>This would, in general consume less cpu than the timer solution, but, timers are still better in 2014.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (jmasterx)</author>
		<pubDate>Fri, 15 Aug 2014 18:47:02 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>so i tried using al_is_event_queue_empty() and it allows me to place the first x but then after that the program freezes. or appears to freeze at least. because it is still running just nothing happens.</p><p>next what i was going to try was the timer.</p><p>but also does not work. it gives the same results as the empty queue</p><p>int fps = 60;</p><p>ALLEGRO_TIMER *timer = NULL;</p><p>timer = al_create_timer(1.0/FPS);</p><p>al_register_event_source(EventQueue, al_get_timer_event_source(timer));</p><p>al_start_timer(timer);<br />while(!Exit)<br />{<br />     if(button click)<br />     {all the button clicks}</p><p>     if(Event.type == ALLEGRO_EVENT_TIMER)<br />     {<br />         if(one == 1)<br />         {<br />              al_draw_bitmap(X, 0, 0, 0);<br />         }<br />         else if(one == 2)<br />         {<br />              al_draw_bitmap(O, 0, 0, 0);<br />         }<br />         if(two == 1)<br />         {<br />              al_draw_bitmap(X, 32, 0, 0);<br />         }<br />         else if(two == 2)<br />         {<br />              al_draw_bitmap(O, 32, 0, 0);<br />         }<br />         if(three == 1)<br />         {<br />              al_draw_bitmap(X, 64, 0, 0);<br />         }<br />         else if(three == 2)<br />         {<br />              al_draw_bitmap(O, 64, 0, 0);<br />         }<br />         if(four == 1)<br />         {<br />              al_draw_bitmap(X, 0, 32, 0);<br />         }<br />         else if(four == 2)<br />         {<br />              al_draw_bitmap(O, 0, 32, 0);<br />         }<br />         if(five == 1)<br />         {<br />              al_draw_bitmap(X, 32, 32, 0);<br />         }<br />         else if(five == 2)<br />         {<br />              al_draw_bitmap(O, 32, 32, 0);<br />         }<br />         if(six == 1)<br />         {<br />              al_draw_bitmap(X, 64, 32, 0);<br />         }<br />         else if(six == 2)<br />         {<br />              al_draw_bitmap(O, 64, 32, 0);<br />         }<br />         if(seven == 1)<br />         {<br />              al_draw_bitmap(X, 0, 64, 0);<br />         }<br />         else if(seven == 2)<br />         {<br />              al_draw_bitmap(O, 0, 64, 0);<br />         }<br />         if(eight == 1)<br />         {<br />              al_draw_bitmap(X, 32, 64, 0);<br />         }<br />         else if(eight == 2)<br />         {<br />              al_draw_bitmap(O, 32, 64, 0);<br />         }<br />         if(nine == 1)<br />         {<br />              al_draw_bitmap(X, 64, 64, 0);<br />         }<br />         else if(nine == 2)<br />         {<br />              al_draw_bitmap(O, 64, 64, 0);<br />         }<br />     }<br />}
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Antone333)</author>
		<pubDate>Fri, 15 Aug 2014 20:15:27 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Not quite,</p><p>you need a bool needsRedraw;</p><p>When you get a timer event, set needs redraw to true.</p><p>Then in your main loop, right after you wait for event, do:
</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">if</span><span class="k2">(</span>event queue is empty <span class="k1">and</span> needs redraw<span class="k2">)</span>
<span class="k2">{</span>
   clear the <a href="http://www.allegro.cc/manual/screen"><span class="a">screen</span></a>,
     draw
     flip
set needsRedraw to <span class="k1">false</span>
<span class="k2">}</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (jmasterx)</author>
		<pubDate>Fri, 15 Aug 2014 20:30:43 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>so for the bool redraw. i set every time the mouse button is pressed down it makes redraw true?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Antone333)</author>
		<pubDate>Fri, 15 Aug 2014 20:35:44 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You could do that if you only ever plan to have that as your only trigger. Otherwise, the timer will ensure it happens 60 times per second if you set it true in there. I recommend the timer since you might want to add animation in the future.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (jmasterx)</author>
		<pubDate>Fri, 15 Aug 2014 20:43:07 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>so would i do this?</p><p>when i try that i now just get a black screen.</p><p>if(Event.type == ALLEGRO_EVENT_TIMER &amp;&amp; Redraw == true)
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Antone333)</author>
		<pubDate>Fri, 15 Aug 2014 20:47:08 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>No,</p><div class="source-code snippet"><div class="inner"><pre><a href="http://www.allegro.cc/manual/al_wait_for_event"><span class="a">al_wait_for_event</span></a>
<span class="k1">if</span><span class="k2">(</span>Event.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_TIMER<span class="k2">)</span>
<span class="k2">{</span>
   redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="k2">}</span> 
<span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>mouse event<span class="k2">)</span>
<span class="k2">{</span>
<span class="k2">}</span>

<span class="k1">if</span><span class="k2">(</span>al_event_queue_empty <span class="k3">&amp;</span><span class="k3">&amp;</span> redraw<span class="k2">)</span>
<span class="k2">{</span>
   <span class="c">//do all drawing code</span>
   redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="k2">}</span>
</pre></div></div><p>

The logic is:<br />if it has been at least 17ms, you have permission to redraw yourself.<br />if there are no events in the queue and you have permission to redraw yourself, then redraw yourself and revoke your permission to draw yourself.</p><p>Just a little tip,<br />instead of if(x == true) and if(x == false) you can write: if(x) and if(!x)</p><p>Also, if you have code, then put it in code blocks:
</p><div class="source-code snippet"><div class="inner"><pre><span class="k3">&lt;</span>code&gt;
your code
<span class="k3">&lt;</span><span class="k3">/</span>code&gt;
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (jmasterx)</author>
		<pubDate>Fri, 15 Aug 2014 20:55:16 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>getting there? it is still pretty spotty with it working.</p><p>seems like its working a little bit better though.</p><p>else if(ev.mouse.button &amp; 1 &amp;&amp; PTwo == 1 &amp;&amp; nine == 0 &amp;&amp; Event.mouse.x &gt;= 64 &amp;&amp; Event.mouse.x &lt;= 96 &amp;&amp; Event.mouse.y &gt;= 64 &amp;&amp; Event.mouse.y &lt;= 96)<br />              {<br />                   nine = 2;<br />                   POne = 1;<br />                   PTwo = 0;<br />              }<br />              else if(ev.mouse.button &amp; 1 &amp;&amp; Event.mouse.x &gt;= 32 &amp;&amp; Event.mouse.x &lt;= 64 &amp;&amp; Event.mouse.y &gt;= 96 &amp;&amp; Event.mouse.y &lt;= 128)<br />              {<br />                   Exit = true;<br />                   Restart = true;<br />              }<br />         }<br />         <br />    if(Event.type == ALLEGRO_EVENT_TIMER)<br />    {<br />         Redraw = true;<br />    }<br />         <br />    if(al_is_event_queue_empty(EventQueue) &amp;&amp; Redraw)<br />    {<br />         if(one == 1)<br />         {<br />              al_draw_bitmap(X, 0, 0, 0);<br />         }
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Antone333)</author>
		<pubDate>Fri, 15 Aug 2014 21:10:34 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Could you try to integrate your code into this main.cpp template I have; I know this template works; Just that it&#39;s a little old:</p><p>Comment out whatever you do not need.</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">/*======================================</span>
<span class="number">   2</span><span class="c">ALLEGRO 5 TEMPLATE</span>
<span class="number">   3</span><span class="c">======================================== */</span>
<span class="number">   4</span>
<span class="number">   5</span><span class="p">#include &lt;stdlib.h&gt;  //Standard library</span>
<span class="number">   6</span><span class="p">#include &lt;string.h&gt;  //String functions</span>
<span class="number">   7</span><span class="p">#include &lt;sstream&gt;  //More string functions</span>
<span class="number">   8</span>
<span class="number">   9</span><span class="p">#include &lt;allegro5/allegro.h&gt;</span>
<span class="number">  10</span><span class="p">#include &lt;allegro5/allegro5.h&gt;</span>
<span class="number">  11</span><span class="p">#include &lt;allegro5/allegro_image.h&gt;</span>
<span class="number">  12</span><span class="p">#include &lt;allegro5/allegro_primitives.h&gt;</span>
<span class="number">  13</span><span class="p">#include &lt;allegro5/allegro_audio.h&gt;</span>
<span class="number">  14</span><span class="p">#include &lt;allegro5/allegro_font.h&gt;</span>
<span class="number">  15</span><span class="p">#include &lt;allegro5/allegro_ttf.h&gt;</span>
<span class="number">  16</span><span class="p">#include &lt;allegro5/allegro_vorbis.h&gt;</span>
<span class="number">  17</span><span class="p">#include &lt;allegro5/allegro_flac.h&gt;</span>
<span class="number">  18</span><span class="p">#include &lt;allegro5/allegro_opengl.h&gt;</span>
<span class="number">  19</span><span class="p">#include &lt;allegro5/allegro_physfs.h&gt;</span>
<span class="number">  20</span><span class="c">//#include &lt;physfs.h&gt;</span>
<span class="number">  21</span>
<span class="number">  22</span><span class="p">#include &lt;Windows.h&gt;</span>
<span class="number">  23</span>
<span class="number">  24</span><span class="p">#include &lt;vector&gt;   //Dynamic array data structure</span>
<span class="number">  25</span><span class="p">#include &lt;queue&gt;  //Queue FIFO data structure</span>
<span class="number">  26</span><span class="p">#include &lt;cmath&gt;    // C Math functions</span>
<span class="number">  27</span><span class="p">#include &lt;ctime&gt;  // C Time functions</span>
<span class="number">  28</span>
<span class="number">  29</span><span class="p">#define FRAME_RATE 60</span>
<span class="number">  30</span>
<span class="number">  31</span><span class="c">//Declarations</span>
<span class="number">  32</span><a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a> <span class="k3">*</span>display<span class="k2">;</span>
<span class="number">  33</span><a href="http://www.allegro.cc/manual/ALLEGRO_MONITOR_INFO"><span class="a">ALLEGRO_MONITOR_INFO</span></a> info<span class="k2">;</span>
<span class="number">  34</span><a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a> <span class="k3">*</span>timer<span class="k2">;</span>
<span class="number">  35</span><span class="k1">bool</span> done<span class="k2">;</span>
<span class="number">  36</span><span class="c">//color</span>
<span class="number">  37</span><a href="http://www.allegro.cc/manual/ALLEGRO_COLOR"><span class="a">ALLEGRO_COLOR</span></a> BLACK <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  38</span>
<span class="number">  39</span><span class="c">//Keyboard</span>
<span class="number">  40</span><span class="k1">bool</span> <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span><span class="n">256</span><span class="k2">]</span><span class="k2">;</span>
<span class="number">  41</span>
<span class="number">  42</span><span class="c">//Mouse</span>
<span class="number">  43</span><span class="k1">int</span> mX <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  44</span><span class="k1">int</span> mY <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  45</span>
<span class="number">  46</span><span class="k1">void</span> init<span class="k2">(</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number">  47</span>  <span class="c">//Install event handlers</span>
<span class="number">  48</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">  49</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="number">  50</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">  51</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">  52</span>  <a href="http://www.allegro.cc/manual/al_install_mouse"><span class="a">al_install_mouse</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  53</span>  <a href="http://www.allegro.cc/manual/al_install_keyboard"><span class="a">al_install_keyboard</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  54</span>  <a href="http://www.allegro.cc/manual/al_install_joystick"><span class="a">al_install_joystick</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  55</span>  <a href="http://www.allegro.cc/manual/al_install_audio"><span class="a">al_install_audio</span></a><span class="k2">(</span>ALLEGRO_AUDIO_DRIVER_AUTODETECT<span class="k2">)</span><span class="k2">;</span>
<span class="number">  56</span>  al_init_ogg_vorbis_addon<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  57</span>  
<span class="number">  58</span>  <span class="c">//For PhysFS</span>
<span class="number">  59</span>  <span class="c">//PHYSFS_init(0);</span>
<span class="number">  60</span>  <span class="c">//PHYSFS_addToSearchPath("",1);</span>
<span class="number">  61</span>    
<span class="number">  62</span>  <span class="c">// Start a timer to regulate speed</span>
<span class="number">  63</span>
<span class="number">  64</span>  timer <span class="k3">=</span> al_install_timer<span class="k2">(</span><span class="n">1</span>.<span class="n">0</span><span class="k3">/</span>FRAME_RATE<span class="k2">)</span><span class="k2">;</span>
<span class="number">  65</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">  66</span>
<span class="number">  67</span>  <span class="c">//for audio....</span>
<span class="number">  68</span>  <a href="http://www.allegro.cc/manual/al_reserve_samples"><span class="a">al_reserve_samples</span></a><span class="k2">(</span><span class="n">64</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  69</span>
<span class="number">  70</span>  <span class="c">//for keyboard...</span>
<span class="number">  71</span>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_569.html" target="_blank">memset</a><span class="k2">(</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a>,<span class="n">0</span>,<span class="k1">sizeof</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  72</span>
<span class="number">  73</span>  <span class="c">//show the mouse</span>
<span class="number">  74</span>  <a href="http://www.allegro.cc/manual/al_show_mouse_cursor"><span class="a">al_show_mouse_cursor</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> 
<span class="number">  75</span>
<span class="number">  76</span>  <span class="c">//make the random function randomer</span>
<span class="number">  77</span>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_739.html" target="_blank">srand</a><span class="k2">(</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_821.html" target="_blank">time</a><span class="k2">(</span>NULL<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  78</span>
<span class="number">  79</span>
<span class="number">  80</span>  <span class="c">//show screen</span>
<span class="number">  81</span>  <a href="http://www.allegro.cc/manual/al_set_new_display_flags"><span class="a">al_set_new_display_flags</span></a><span class="k2">(</span>ALLEGRO_RESIZABLE<span class="k2">)</span><span class="k2">;</span>
<span class="number">  82</span>  display <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_display"><span class="a">al_create_display</span></a><span class="k2">(</span><span class="n">640</span>, <span class="n">480</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  83</span>
<span class="number">  84</span>  <span class="c">//For PhysFS</span>
<span class="number">  85</span>  <span class="c">//al_set_physfs_file_interface();</span>
<span class="number">  86</span>
<span class="number">  87</span>  <span class="c">//Window Title</span>
<span class="number">  88</span>  <a href="http://www.allegro.cc/manual/al_set_window_title"><span class="a">al_set_window_title</span></a><span class="k2">(</span><span class="s">"Allegro 5 Template"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  89</span>
<span class="number">  90</span>
<span class="number">  91</span>  
<span class="number">  92</span>  
<span class="number">  93</span><span class="k2">}</span>
<span class="number">  94</span>
<span class="number">  95</span><span class="c">//Mouse_Down</span>
<span class="number">  96</span><span class="k1">void</span> mousedown<span class="k2">(</span>ALLEGRO_MOUSE_EVENT <span class="k3">*</span>mouse<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  97</span>
<span class="number">  98</span>  <span class="k2">}</span>
<span class="number">  99</span><span class="c">//Mouse Up</span>
<span class="number"> 100</span><span class="k1">void</span> mouseup<span class="k2">(</span>ALLEGRO_MOUSE_EVENT <span class="k3">*</span>mouse<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 101</span>  
<span class="number"> 102</span>  <span class="k2">}</span>
<span class="number"> 103</span>
<span class="number"> 104</span><span class="c">// If a key is pressed down, add it to the key array</span>
<span class="number"> 105</span><span class="k1">void</span> keydown<span class="k2">(</span>ALLEGRO_KEYBOARD_EVENT <span class="k3">*</span>kb<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 106</span>  <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>kb-&gt;keycode<span class="k2">]</span> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 107</span>
<span class="number"> 108</span>
<span class="number"> 109</span>  <span class="k1">if</span><span class="k2">(</span>kb-&gt;keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_ESCAPE<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 110</span>    
<span class="number"> 111</span>    done <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 112</span>  <span class="k2">}</span>
<span class="number"> 113</span><span class="k2">}</span>
<span class="number"> 114</span>
<span class="number"> 115</span><span class="c">// If a key is released, mark it as unpressed</span>
<span class="number"> 116</span><span class="k1">void</span> keyup<span class="k2">(</span>ALLEGRO_KEYBOARD_EVENT <span class="k3">*</span>kb<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 117</span>  <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>kb-&gt;keycode<span class="k2">]</span> <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 118</span><span class="k2">}</span>
<span class="number"> 119</span>
<span class="number"> 120</span><span class="c">// If an operating system repeat event comes in, set the flag</span>
<span class="number"> 121</span><span class="k1">void</span> keyrepeat<span class="k2">(</span>ALLEGRO_KEYBOARD_EVENT <span class="k3">*</span>kb<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 122</span>
<span class="number"> 123</span><span class="k2">}</span>
<span class="number"> 124</span>
<span class="number"> 125</span><span class="c">//Mouse Move</span>
<span class="number"> 126</span>
<span class="number"> 127</span><span class="k1">void</span> mouseaxes<span class="k2">(</span>ALLEGRO_MOUSE_EVENT <span class="k3">*</span>mouse<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 128</span>  mX <span class="k3">=</span> mouse-&gt;x<span class="k2">;</span>
<span class="number"> 129</span>  mY <span class="k3">=</span> mouse-&gt;y<span class="k2">;</span>
<span class="number"> 130</span>
<span class="number"> 131</span>  <span class="k2">}</span>
<span class="number"> 132</span><span class="c">//RENDER CURRENT FRAME</span>
<span class="number"> 133</span>  <span class="k1">void</span> render<span class="k2">(</span><span class="k2">)</span>
<span class="number"> 134</span>  <span class="k2">{</span>
<span class="number"> 135</span>   <span class="c">//draw to the screen</span>
<span class="number"> 136</span>   <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 137</span>   <span class="c">//code goes here</span>
<span class="number"> 138</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"> 139</span>
<span class="number"> 140</span>  <span class="k2">}</span>
<span class="number"> 141</span>
<span class="number"> 142</span><span class="k1">int</span> main<span class="k2">(</span><span class="k1">int</span> argc, <span class="k1">char</span> <span class="k3">*</span>argv<span class="k2">[</span><span class="k2">]</span><span class="k2">)</span>
<span class="number"> 143</span>
<span class="number"> 144</span><span class="k2">{</span>
<span class="number"> 145</span>  <span class="c">//initialize game</span>
<span class="number"> 146</span>  init<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 147</span>  <span class="k1">bool</span> need_redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 148</span>
<span class="number"> 149</span>  <span class="c">//Main Loop</span>
<span class="number"> 150</span>
<span class="number"> 151</span><span class="c">//***** Start Main Code Here *****</span>
<span class="number"> 152</span>
<span class="number"> 153</span>  <span class="c">// Start the event queue to handle keyboard input and our timer</span>
<span class="number"> 154</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a> <span class="k3">*</span>queue <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_event_queue"><span class="a">al_create_event_queue</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 155</span>  <a href="http://www.allegro.cc/manual/al_set_new_bitmap_flags"><span class="a">al_set_new_bitmap_flags</span></a><span class="k2">(</span>ALLEGRO_VIDEO_BITMAP<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 156</span>  <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>queue, <span class="k2">(</span><a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_SOURCE"><span class="a">ALLEGRO_EVENT_SOURCE</span></a><span class="k3">*</span><span class="k2">)</span><a href="http://www.allegro.cc/manual/al_get_keyboard_event_source"><span class="a">al_get_keyboard_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 157</span>  <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>queue, <span class="k2">(</span><a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_SOURCE"><span class="a">ALLEGRO_EVENT_SOURCE</span></a><span class="k3">*</span><span class="k2">)</span><a href="http://www.allegro.cc/manual/al_get_mouse_event_source"><span class="a">al_get_mouse_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 158</span>  <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>queue, <span class="k2">(</span><a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_SOURCE"><span class="a">ALLEGRO_EVENT_SOURCE</span></a><span class="k3">*</span><span class="k2">)</span>timer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 159</span>  <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>queue, <span class="k2">(</span><a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_SOURCE"><span class="a">ALLEGRO_EVENT_SOURCE</span></a><span class="k3">*</span><span class="k2">)</span>display<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 160</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> event<span class="k2">;</span>
<span class="number"> 161</span>  <span class="k1">while</span><span class="k2">(</span><span class="k3">!</span>done<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 162</span>  
<span class="number"> 163</span>    <span class="c">// Block until an event enters the queue</span>
<span class="number"> 164</span>        <span class="k1">if</span> <span class="k2">(</span>need_redraw <span class="k3">&amp;</span><span class="k3">&amp;</span> al_event_queue_is_empty<span class="k2">(</span>queue<span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 165</span>        render<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 166</span>        need_redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 167</span>      <span class="k2">}</span>
<span class="number"> 168</span>    <a href="http://www.allegro.cc/manual/al_wait_for_event"><span class="a">al_wait_for_event</span></a><span class="k2">(</span>queue, <span class="k3">&amp;</span>event<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 169</span>
<span class="number"> 170</span>    <span class="c">//We only get here if there is an event in the queue</span>
<span class="number"> 171</span>    <span class="k1">switch</span><span class="k2">(</span>event.type<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 172</span>    <span class="k1">case</span> ALLEGRO_EVENT_MOUSE_AXES:
<span class="number"> 173</span>    mouseaxes<span class="k2">(</span><span class="k3">&amp;</span>event.mouse<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 174</span>    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 175</span>  
<span class="number"> 176</span>  <span class="k1">case</span> ALLEGRO_EVENT_MOUSE_BUTTON_DOWN:
<span class="number"> 177</span>    mousedown<span class="k2">(</span><span class="k3">&amp;</span>event.mouse<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 178</span>    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 179</span>  
<span class="number"> 180</span>  <span class="k1">case</span> ALLEGRO_EVENT_MOUSE_BUTTON_UP:
<span class="number"> 181</span>    mouseup<span class="k2">(</span><span class="k3">&amp;</span>event.mouse<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 182</span>    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 183</span>
<span class="number"> 184</span>  <span class="k1">case</span> ALLEGRO_EVENT_KEY_DOWN:
<span class="number"> 185</span>    keydown<span class="k2">(</span><span class="k3">&amp;</span>event.keyboard<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 186</span>    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 187</span>
<span class="number"> 188</span>  <span class="k1">case</span> ALLEGRO_EVENT_KEY_UP:
<span class="number"> 189</span>    keyup<span class="k2">(</span><span class="k3">&amp;</span>event.keyboard<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 190</span>    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 191</span>      
<span class="number"> 192</span>  <span class="k1">case</span> ALLEGRO_EVENT_KEY_REPEAT:
<span class="number"> 193</span>    keyrepeat<span class="k2">(</span><span class="k3">&amp;</span>event.keyboard<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 194</span>    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 195</span>  
<span class="number"> 196</span>  <span class="k1">case</span> ALLEGRO_EVENT_TIMER:
<span class="number"> 197</span>    need_redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 198</span>    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 199</span>  <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_RESIZE:
<span class="number"> 200</span>    <a href="http://www.allegro.cc/manual/al_acknowledge_resize"><span class="a">al_acknowledge_resize</span></a><span class="k2">(</span>event.display.source<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 201</span>    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 202</span>  <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_CLOSE:
<span class="number"> 203</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 204</span>    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 205</span>    <span class="k2">}</span>
<span class="number"> 206</span>    
<span class="number"> 207</span>  
<span class="number"> 208</span>  <span class="k2">}</span>
<span class="number"> 209</span><span class="c">//***** End Main Code Here *****</span>
<span class="number"> 210</span>
<span class="number"> 211</span>
<span class="number"> 212</span>  <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 213</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (jmasterx)</author>
		<pubDate>Fri, 15 Aug 2014 21:16:18 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>sure. i could do that.</p><p>I will work on it later today. i have to go for now. probably have it finished by tomorrow morning. I greatly appreciate all your trying to help and hope we can continue talking when i get around to finishing this.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Antone333)</author>
		<pubDate>Fri, 15 Aug 2014 21:17:40 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Ok great. I&#39;m just typing so you can respond when you&#39;re done.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (jmasterx)</author>
		<pubDate>Fri, 15 Aug 2014 21:20:17 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>already came to a problem though. at first i compiled it and got errors from </p><p>//#include &lt;allegro5/allegro_vorbis.h&gt;<br />//#include &lt;allegro5/allegro_flac.h&gt;<br />//#include &lt;physfs.h&gt;</p><p>because it could not find them and errors from im assuming everything that use those headers. so i commented them out. program runs but all that comes up is console window and a message box that says &quot;Project1.exe has stopped working&quot; a problem caused it to stop working bla bla bla
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Antone333)</author>
		<pubDate>Fri, 15 Aug 2014 21:34:32 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hi</p><p>Here is a revised version of the template that I just tested and works perfectly:
</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">/*======================================</span>
<span class="number">   2</span><span class="c">ALLEGRO 5 TEMPLATE</span>
<span class="number">   3</span><span class="c">======================================== */</span>
<span class="number">   4</span>
<span class="number">   5</span><span class="p">#include &lt;stdlib.h&gt;  //Standard library</span>
<span class="number">   6</span><span class="p">#include &lt;string.h&gt;  //String functions</span>
<span class="number">   7</span><span class="p">#include &lt;sstream&gt;  //More string functions</span>
<span class="number">   8</span>
<span class="number">   9</span><span class="p">#include &lt;allegro5/allegro.h&gt;</span>
<span class="number">  10</span><span class="p">#include &lt;allegro5/allegro5.h&gt;</span>
<span class="number">  11</span><span class="p">#include &lt;allegro5/allegro_image.h&gt;</span>
<span class="number">  12</span><span class="p">#include &lt;allegro5/allegro_primitives.h&gt;</span>
<span class="number">  13</span><span class="p">#include &lt;allegro5/allegro_audio.h&gt;</span>
<span class="number">  14</span><span class="p">#include &lt;allegro5/allegro_font.h&gt;</span>
<span class="number">  15</span><span class="p">#include &lt;allegro5/allegro_ttf.h&gt;</span>
<span class="number">  16</span><span class="p">#include &lt;allegro5/allegro_opengl.h&gt;</span>
<span class="number">  17</span>
<span class="number">  18</span><span class="p">#include &lt;vector&gt;   //Dynamic array data structure</span>
<span class="number">  19</span><span class="p">#include &lt;queue&gt;  //Queue FIFO data structure</span>
<span class="number">  20</span><span class="p">#include &lt;cmath&gt;    // C Math functions</span>
<span class="number">  21</span><span class="p">#include &lt;ctime&gt;  // C Time functions</span>
<span class="number">  22</span>
<span class="number">  23</span><span class="p">#define FRAME_RATE 60</span>
<span class="number">  24</span>
<span class="number">  25</span><span class="c">//Declarations</span>
<span class="number">  26</span><a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a> <span class="k3">*</span>display<span class="k2">;</span>
<span class="number">  27</span><a href="http://www.allegro.cc/manual/ALLEGRO_MONITOR_INFO"><span class="a">ALLEGRO_MONITOR_INFO</span></a> info<span class="k2">;</span>
<span class="number">  28</span><a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a> <span class="k3">*</span>timer<span class="k2">;</span>
<span class="number">  29</span><span class="k1">bool</span> done<span class="k2">;</span>
<span class="number">  30</span><span class="c">//color</span>
<span class="number">  31</span><a href="http://www.allegro.cc/manual/ALLEGRO_COLOR"><span class="a">ALLEGRO_COLOR</span></a> BLACK <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  32</span>
<span class="number">  33</span><span class="c">//Keyboard</span>
<span class="number">  34</span><span class="k1">bool</span> <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span><span class="n">256</span><span class="k2">]</span><span class="k2">;</span>
<span class="number">  35</span>
<span class="number">  36</span><span class="c">//Mouse</span>
<span class="number">  37</span><span class="k1">int</span> mX <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  38</span><span class="k1">int</span> mY <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  39</span>
<span class="number">  40</span><span class="k1">void</span> init<span class="k2">(</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number">  41</span>  <span class="c">//Install event handlers</span>
<span class="number">  42</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">  43</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="number">  44</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">  45</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">  46</span>  <a href="http://www.allegro.cc/manual/al_install_mouse"><span class="a">al_install_mouse</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  47</span>  <a href="http://www.allegro.cc/manual/al_install_keyboard"><span class="a">al_install_keyboard</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  48</span>
<span class="number">  49</span>  <span class="c">//For PhysFS</span>
<span class="number">  50</span>  <span class="c">//PHYSFS_init(0);</span>
<span class="number">  51</span>  <span class="c">//PHYSFS_addToSearchPath("",1);</span>
<span class="number">  52</span>    
<span class="number">  53</span>  <span class="c">// Start a timer to regulate speed</span>
<span class="number">  54</span>
<span class="number">  55</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>FRAME_RATE<span class="k2">)</span><span class="k2">;</span>
<span class="number">  56</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">  57</span>
<span class="number">  58</span>  <span class="c">//for keyboard...</span>
<span class="number">  59</span>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_569.html" target="_blank">memset</a><span class="k2">(</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a>,<span class="n">0</span>,<span class="k1">sizeof</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  60</span>
<span class="number">  61</span>  <span class="c">//show the mouse</span>
<span class="number">  62</span>  <a href="http://www.allegro.cc/manual/al_show_mouse_cursor"><span class="a">al_show_mouse_cursor</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">;</span> 
<span class="number">  63</span>
<span class="number">  64</span>  <span class="c">//make the random function randomer</span>
<span class="number">  65</span>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_739.html" target="_blank">srand</a><span class="k2">(</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_821.html" target="_blank">time</a><span class="k2">(</span>NULL<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  66</span>
<span class="number">  67</span>
<span class="number">  68</span>  <span class="c">//show screen</span>
<span class="number">  69</span>  display <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_display"><span class="a">al_create_display</span></a><span class="k2">(</span><span class="n">640</span>, <span class="n">480</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  70</span>
<span class="number">  71</span>  <span class="c">//For PhysFS</span>
<span class="number">  72</span>  <span class="c">//al_set_physfs_file_interface();</span>
<span class="number">  73</span>
<span class="number">  74</span>  <span class="c">//Window Title</span>
<span class="number">  75</span>  <a href="http://www.allegro.cc/manual/al_set_window_title"><span class="a">al_set_window_title</span></a><span class="k2">(</span>display,<span class="s">"Allegro 5 Template"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  76</span><span class="k2">}</span>
<span class="number">  77</span>
<span class="number">  78</span><span class="c">//Mouse_Down</span>
<span class="number">  79</span><span class="k1">void</span> mousedown<span class="k2">(</span>ALLEGRO_MOUSE_EVENT <span class="k3">*</span>mouse<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  80</span>
<span class="number">  81</span>  <span class="k2">}</span>
<span class="number">  82</span><span class="c">//Mouse Up</span>
<span class="number">  83</span><span class="k1">void</span> mouseup<span class="k2">(</span>ALLEGRO_MOUSE_EVENT <span class="k3">*</span>mouse<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  84</span>  
<span class="number">  85</span>  <span class="k2">}</span>
<span class="number">  86</span>
<span class="number">  87</span><span class="c">// If a key is pressed down, add it to the key array</span>
<span class="number">  88</span><span class="k1">void</span> keydown<span class="k2">(</span>ALLEGRO_KEYBOARD_EVENT <span class="k3">*</span>kb<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  89</span>  <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>kb-&gt;keycode<span class="k2">]</span> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  90</span>  <span class="k1">if</span><span class="k2">(</span>kb-&gt;keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_ESCAPE<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  91</span>    
<span class="number">  92</span>    done <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  93</span>  <span class="k2">}</span>
<span class="number">  94</span><span class="k2">}</span>
<span class="number">  95</span>
<span class="number">  96</span><span class="c">// If a key is released, mark it as unpressed</span>
<span class="number">  97</span><span class="k1">void</span> keyup<span class="k2">(</span>ALLEGRO_KEYBOARD_EVENT <span class="k3">*</span>kb<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  98</span>  <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>kb-&gt;keycode<span class="k2">]</span> <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  99</span><span class="k2">}</span>
<span class="number"> 100</span>
<span class="number"> 101</span><span class="c">// If an operating system repeat event comes in, set the flag</span>
<span class="number"> 102</span><span class="k1">void</span> keyrepeat<span class="k2">(</span>ALLEGRO_KEYBOARD_EVENT <span class="k3">*</span>kb<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 103</span>
<span class="number"> 104</span><span class="k2">}</span>
<span class="number"> 105</span>
<span class="number"> 106</span><span class="c">//Mouse Move</span>
<span class="number"> 107</span>
<span class="number"> 108</span><span class="k1">void</span> mouseaxes<span class="k2">(</span>ALLEGRO_MOUSE_EVENT <span class="k3">*</span>mouse<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 109</span>  mX <span class="k3">=</span> mouse-&gt;x<span class="k2">;</span>
<span class="number"> 110</span>  mY <span class="k3">=</span> mouse-&gt;y<span class="k2">;</span>
<span class="number"> 111</span>
<span class="number"> 112</span>  <span class="k2">}</span>
<span class="number"> 113</span><span class="c">//RENDER CURRENT FRAME</span>
<span class="number"> 114</span>  <span class="k1">void</span> render<span class="k2">(</span><span class="k2">)</span>
<span class="number"> 115</span>  <span class="k2">{</span>
<span class="number"> 116</span>   <span class="c">//draw to the screen</span>
<span class="number"> 117</span>   <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 118</span>   <span class="c">//code goes here</span>
<span class="number"> 119</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"> 120</span>
<span class="number"> 121</span>  <span class="k2">}</span>
<span class="number"> 122</span>
<span class="number"> 123</span><span class="k1">int</span> main<span class="k2">(</span><span class="k1">int</span> argc, <span class="k1">char</span> <span class="k3">*</span>argv<span class="k2">[</span><span class="k2">]</span><span class="k2">)</span>
<span class="number"> 124</span>
<span class="number"> 125</span><span class="k2">{</span>
<span class="number"> 126</span>  <span class="c">//initialize game</span>
<span class="number"> 127</span>  init<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 128</span>  <span class="k1">bool</span> need_redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 129</span>
<span class="number"> 130</span>  <span class="c">//Main Loop</span>
<span class="number"> 131</span>
<span class="number"> 132</span><span class="c">//***** Start Main Code Here *****</span>
<span class="number"> 133</span>
<span class="number"> 134</span>  <span class="c">// Start the event queue to handle keyboard input and our timer</span>
<span class="number"> 135</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a> <span class="k3">*</span>queue <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_event_queue"><span class="a">al_create_event_queue</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 136</span>  <a href="http://www.allegro.cc/manual/al_set_new_bitmap_flags"><span class="a">al_set_new_bitmap_flags</span></a><span class="k2">(</span>ALLEGRO_VIDEO_BITMAP<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 137</span>  <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>queue, <span class="k2">(</span><a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_SOURCE"><span class="a">ALLEGRO_EVENT_SOURCE</span></a><span class="k3">*</span><span class="k2">)</span><a href="http://www.allegro.cc/manual/al_get_keyboard_event_source"><span class="a">al_get_keyboard_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 138</span>  <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>queue, <span class="k2">(</span><a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_SOURCE"><span class="a">ALLEGRO_EVENT_SOURCE</span></a><span class="k3">*</span><span class="k2">)</span><a href="http://www.allegro.cc/manual/al_get_mouse_event_source"><span class="a">al_get_mouse_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 139</span>  <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>queue, <span class="k2">(</span><a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_SOURCE"><span class="a">ALLEGRO_EVENT_SOURCE</span></a><span class="k3">*</span><span class="k2">)</span>timer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 140</span>  <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>queue, <span class="k2">(</span><a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_SOURCE"><span class="a">ALLEGRO_EVENT_SOURCE</span></a><span class="k3">*</span><span class="k2">)</span>display<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 141</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> event<span class="k2">;</span>
<span class="number"> 142</span>  <span class="k1">while</span><span class="k2">(</span><span class="k3">!</span>done<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 143</span>  
<span class="number"> 144</span>    <span class="c">// Block until an event enters the queue</span>
<span class="number"> 145</span>        <span class="k1">if</span> <span class="k2">(</span>need_redraw <span class="k3">&amp;</span><span class="k3">&amp;</span> al_event_queue_is_empty<span class="k2">(</span>queue<span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 146</span>        render<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 147</span>        need_redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 148</span>      <span class="k2">}</span>
<span class="number"> 149</span>    <a href="http://www.allegro.cc/manual/al_wait_for_event"><span class="a">al_wait_for_event</span></a><span class="k2">(</span>queue, <span class="k3">&amp;</span>event<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 150</span>
<span class="number"> 151</span>    <span class="c">//We only get here if there is an event in the queue</span>
<span class="number"> 152</span>    <span class="k1">switch</span><span class="k2">(</span>event.type<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 153</span>    <span class="k1">case</span> ALLEGRO_EVENT_MOUSE_AXES:
<span class="number"> 154</span>    mouseaxes<span class="k2">(</span><span class="k3">&amp;</span>event.mouse<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 155</span>    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 156</span>  
<span class="number"> 157</span>  <span class="k1">case</span> ALLEGRO_EVENT_MOUSE_BUTTON_DOWN:
<span class="number"> 158</span>    mousedown<span class="k2">(</span><span class="k3">&amp;</span>event.mouse<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 159</span>    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 160</span>  
<span class="number"> 161</span>  <span class="k1">case</span> ALLEGRO_EVENT_MOUSE_BUTTON_UP:
<span class="number"> 162</span>    mouseup<span class="k2">(</span><span class="k3">&amp;</span>event.mouse<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 163</span>    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 164</span>
<span class="number"> 165</span>  <span class="k1">case</span> ALLEGRO_EVENT_KEY_DOWN:
<span class="number"> 166</span>    keydown<span class="k2">(</span><span class="k3">&amp;</span>event.keyboard<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 167</span>    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 168</span>
<span class="number"> 169</span>  <span class="k1">case</span> ALLEGRO_EVENT_KEY_UP:
<span class="number"> 170</span>    keyup<span class="k2">(</span><span class="k3">&amp;</span>event.keyboard<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 171</span>    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 172</span>  <span class="k1">case</span> ALLEGRO_EVENT_TIMER:
<span class="number"> 173</span>    need_redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 174</span>    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 175</span>  <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_RESIZE:
<span class="number"> 176</span>    <a href="http://www.allegro.cc/manual/al_acknowledge_resize"><span class="a">al_acknowledge_resize</span></a><span class="k2">(</span>event.display.source<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 177</span>    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 178</span>  <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_CLOSE:
<span class="number"> 179</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 180</span>    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 181</span>    <span class="k2">}</span>
<span class="number"> 182</span>    
<span class="number"> 183</span>  
<span class="number"> 184</span>  <span class="k2">}</span>
<span class="number"> 185</span><span class="c">//***** End Main Code Here *****</span>
<span class="number"> 186</span>
<span class="number"> 187</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>
</div></div><p>

The crash came from the line:<br />al_reserve_samples(64) which now requires a default mixer to work.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (jmasterx)</author>
		<pubDate>Fri, 15 Aug 2014 22:15:10 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>OK so i spent a good two hours last night and the template was proving to be way beyond me. but i will keep trying. It runs quite a bit better. but still not exactly right.</p><p>I put my code into this:<br /><a href="https://wiki.allegro.cc/index.php?title=Allegro_5_Tutorial/Timers">https://wiki.allegro.cc/index.php?title=Allegro_5_Tutorial/Timers</a>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Antone333)</author>
		<pubDate>Sat, 16 Aug 2014 20:19:01 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>feel free to ask questions about the stuff you don&#39;t understand. it may make good material for the wiki or a faq. <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Sat, 16 Aug 2014 20:37:25 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>well yeah but im very much a beginner with allegro 5 and am by no means good with general c++ so the stuff i dont understand is like half the template jmasterx has posted.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Antone333)</author>
		<pubDate>Sun, 17 Aug 2014 00:38:53 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Well, after you have a shot at figuring out, if you still have questions, you&#39;re always welcome to ask <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Sun, 17 Aug 2014 00:44:41 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yeah i for sure will.</p><p>I am quite happy with my tic tac toe game as it is right now. it works out moderately well. not 100% but i will keep working on it.</p><p>Edit:<br />Just made some new parts to the board. i added a menu icon that does nothing. i mean its tic tac toe. but maybe ill use it for something eventually. and a quit button
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Antone333)</author>
		<pubDate>Sun, 17 Aug 2014 00:46:38 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yeah, that&#39;s cool <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /></p><p>Like Thomas said, if you have any questions, we are all happy to answer. The template breaks things down into separate functions to keep the code more organized. You might not be familiar with functions yet and that&#39;s fine. With some more practice you will get the hang of it.</p><p>One of my first programs was a tic-tac-toe with A.I in vb .net, maybe you can eventually look into making a computer player for it.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (jmasterx)</author>
		<pubDate>Sun, 17 Aug 2014 05:14:51 +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/614558/1004288#target">jmasterx</a> said:</div><div class="quote"><p>One of my first programs was a tic-tac-toe with A.I in vb .net</p></div></div><p>vb.net? GET OFF MY LAWN. damn kids. <img src="http://www.allegro.cc/forums/smileys/angry.gif" alt="&gt;:(" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Sun, 17 Aug 2014 08:28:34 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yup, I learned programming in this order:<br />VB .NET -&gt; C++/C -&gt; C# -&gt; SQL -&gt; JavaScript -&gt; Java -&gt; PHP -&gt; Objective-C.</p><p>I have not written anything in VB .NET in nearly 5 years though, but hey, you have to start somewhere; we young whipper-snappers can&#39;t imagine starting with assembly or cobol <img src="http://www.allegro.cc/forums/smileys/wink.gif" alt=";)" /></p><p>6 years ago I never imagined myself being able to program, but, one day I decided I wanted to learn it and I became really good at it quite quickly.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (jmasterx)</author>
		<pubDate>Sun, 17 Aug 2014 08:37:21 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>This is another game i have been working on. I need to really revise it though. What i need done is completely redo the inventory and bank system to make the items structures instead. only problem is im not fantastic with dealing with structures. but how i have it works... its just hard to add new items. tic tac toe was getting started with graphics so i can hopefully make this rpg using graphics. the character and tiles are what i made to try and get into that game.</p><p>And also something i think i should add. i am going to be starting my senior year of highschool and will be taking robotics. we will be using robotc vex sets. After highschool i plan on going to san francisco state university to study computer science with software engineering base.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Antone333)</author>
		<pubDate>Sun, 17 Aug 2014 08:54:01 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Nice!</p><p>From my own experience of being in a computer science program, still continue to do as much hobby programming as you can. I find the types of problems you run into with school projects are not always representative of the problems you face as a professional software developer.In Uni, you can tell the students that do hobby programming, and those that just do the assignments.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (jmasterx)</author>
		<pubDate>Sun, 17 Aug 2014 19:24:04 +0000</pubDate>
	</item>
</rss>
