<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Level Editor crashes when keyboard input checked</title>
		<link>http://www.allegro.cc/forums/view/572715</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Thu, 16 Mar 2006 09:02:20 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hello, i seem to have run into a problem with a pet project of mine. Any help would be greatly appreciated. This particular project is a 2D Tile Map. A multi-dimensional array is created and drawn to the buffer (double buffering). This program is the likes of a level-editor in progress. I get the typical (WinXP, &quot;This program has encountered an error and must close, to see debug......blah blah blah&quot;) error ONLY when i include the keyboard check for the spacebar. Otherwise, there is no problem.</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="p">#include &lt;allegro.h&gt; // You must include the Allegro Header file</span></td></tr><tr><td class="number">2</td><td><span class="p">#include &lt;time.h&gt;</span></td></tr><tr><td class="number">3</td><td><span class="p">#include &lt;iostream.h&gt;</span></td></tr><tr><td class="number">4</td><td><span class="p">#include &lt;fstream.h&gt;</span></td></tr><tr><td class="number">5</td><td><span class="p">#include &lt;string.h&gt;</span></td></tr><tr><td class="number">6</td><td>&#160;</td></tr><tr><td class="number">7</td><td><span class="p">#define WIDTH 640</span></td></tr><tr><td class="number">8</td><td><span class="p">#define HEIGHT 480</span></td></tr><tr><td class="number">9</td><td>&#160;</td></tr><tr><td class="number">10</td><td><span class="k1">volatile</span> <span class="k1">long</span> speed_counter <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> <span class="c">// A long integer which will store the value of the</span></td></tr><tr><td class="number">11</td><td>                                             <span class="c">// speed counter. </span></td></tr><tr><td class="number">12</td><td><span class="k1">void</span> increment_speed_counter<span class="k2">(</span><span class="k2">)</span> <span class="c">// A function to increment the speed counter</span></td></tr><tr><td class="number">13</td><td><span class="k2">{</span></td></tr><tr><td class="number">14</td><td>  speed_counter<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span> <span class="c">// This will just increment the speed counter by one. :)</span></td></tr><tr><td class="number">15</td><td><span class="k2">}</span></td></tr><tr><td class="number">16</td><td><a href="http://www.allegro.cc/manual/END_OF_FUNCTION" target="_blank"><span class="a">END_OF_FUNCTION</span></a><span class="k2">(</span>increment_speed_counter<span class="k2">)</span><span class="k2">;</span> <span class="c">// Make sure you tell it that it's the end of the</span></td></tr><tr><td class="number">17</td><td>&#160;</td></tr><tr><td class="number">18</td><td><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></td></tr><tr><td class="number">19</td><td><span class="k2">{</span></td></tr><tr><td class="number">20</td><td>  <span class="k1">bool</span> done <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>  <span class="c">// game state</span></td></tr><tr><td class="number">21</td><td>  </td></tr><tr><td class="number">22</td><td>  <span class="k1">int</span> ii, jj<span class="k2">;</span> <span class="c">// counter variables map</span></td></tr><tr><td class="number">23</td><td>    </td></tr><tr><td class="number">24</td><td>  <span class="k1">short</span> <span class="k1">unsigned</span> <span class="k1">int</span> x <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">25</td><td>  <span class="k1">short</span> <span class="k1">unsigned</span> <span class="k1">int</span> y <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">26</td><td>&#160;</td></tr><tr><td class="number">27</td><td>  <span class="c">//int frame_counter = 0; // A counter for understanding fps</span></td></tr><tr><td class="number">28</td><td>  </td></tr><tr><td class="number">29</td><td>  <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="c">// seed the random number generator</span></td></tr><tr><td class="number">30</td><td>    </td></tr><tr><td class="number">31</td><td>  <a href="http://www.allegro.cc/manual/allegro_init" target="_blank"><span class="a">allegro_init</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>        <span class="c">// Initialize Allegro</span></td></tr><tr><td class="number">32</td><td>&#160;</td></tr><tr><td class="number">33</td><td>  <a href="http://www.allegro.cc/manual/install_keyboard" target="_blank"><span class="a">install_keyboard</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// Initialize keyboard routines</span></td></tr><tr><td class="number">34</td><td>  <a href="http://www.allegro.cc/manual/install_timer" target="_blank"><span class="a">install_timer</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>  <span class="c">// initialize the timer routine</span></td></tr><tr><td class="number">35</td><td>&#160;</td></tr><tr><td class="number">36</td><td>  <a href="http://www.allegro.cc/manual/LOCK_VARIABLE" target="_blank"><span class="a">LOCK_VARIABLE</span></a><span class="k2">(</span>speed_counter<span class="k2">)</span><span class="k2">;</span> <span class="c">//Used to set the timer - which regulates the game's</span></td></tr><tr><td class="number">37</td><td>  <a href="http://www.allegro.cc/manual/LOCK_FUNCTION" target="_blank"><span class="a">LOCK_FUNCTION</span></a><span class="k2">(</span>increment_speed_counter<span class="k2">)</span><span class="k2">;</span><span class="c">//speed.</span></td></tr><tr><td class="number">38</td><td>&#160;</td></tr><tr><td class="number">39</td><td>  <a href="http://www.allegro.cc/manual/install_int_ex" target="_blank"><span class="a">install_int_ex</span></a><span class="k2">(</span>increment_speed_counter, BPS_TO_TIMER<span class="k2">(</span><span class="n">20</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span><span class="c">//Set our BPS</span></td></tr><tr><td class="number">40</td><td>&#160;</td></tr><tr><td class="number">41</td><td>  <a href="http://www.allegro.cc/manual/set_color_depth" target="_blank"><span class="a">set_color_depth</span></a><span class="k2">(</span><span class="n">16</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// Set the color depth</span></td></tr><tr><td class="number">42</td><td>  <a href="http://www.allegro.cc/manual/set_gfx_mode" target="_blank"><span class="a">set_gfx_mode</span></a><span class="k2">(</span>GFX_AUTODETECT_WINDOWED, WIDTH, HEIGHT, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">43</td><td>  <a href="http://www.allegro.cc/manual/set_window_title" target="_blank"><span class="a">set_window_title</span></a><span class="k2">(</span><span class="s">"template"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">44</td><td>&#160;</td></tr><tr><td class="number">45</td><td>  <a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>buffer <span class="k3">=</span> <a href="http://www.allegro.cc/manual/create_bitmap" target="_blank"><span class="a">create_bitmap</span></a><span class="k2">(</span>WIDTH,HEIGHT<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">46</td><td>  <a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>tile_grid <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bitmap" target="_blank"><span class="a">load_bitmap</span></a><span class="k2">(</span><span class="s">"tile_grid.bmp"</span>, NULL<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">47</td><td>  <a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>cursor <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bitmap" target="_blank"><span class="a">load_bitmap</span></a><span class="k2">(</span><span class="s">"cursor.bmp"</span>, NULL<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">48</td><td>  <a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>brick <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bitmap" target="_blank"><span class="a">load_bitmap</span></a><span class="k2">(</span><span class="s">"brick.bmp"</span>, NULL<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">49</td><td>  </td></tr><tr><td class="number">50</td><td>  <span class="k1">char</span> map<span class="k2">[</span><span class="n">16</span><span class="k2">]</span><span class="k2">[</span><span class="n">12</span><span class="k2">]</span><span class="k2">;</span> <span class="c">// 192 tile map</span></td></tr><tr><td class="number">51</td><td>&#160;</td></tr><tr><td class="number">52</td><td>  <span class="c">//create map</span></td></tr><tr><td class="number">53</td><td>  map<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">[</span><span class="n">0</span><span class="k2">]</span> <span class="k3">=</span> <span class="s">'b'</span><span class="k2">;</span></td></tr><tr><td class="number">54</td><td>  map<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">[</span><span class="n">1</span><span class="k2">]</span> <span class="k3">=</span> <span class="s">'b'</span><span class="k2">;</span></td></tr><tr><td class="number">55</td><td>  map<span class="k2">[</span><span class="n">2</span><span class="k2">]</span><span class="k2">[</span><span class="n">0</span><span class="k2">]</span> <span class="k3">=</span> <span class="s">'b'</span><span class="k2">;</span></td></tr><tr><td class="number">56</td><td>&#160;</td></tr><tr><td class="number">57</td><td>  <span class="k1">bool</span> draw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span></td></tr><tr><td class="number">58</td><td>&#160;</td></tr><tr><td class="number">59</td><td>  <span class="c">// draw the entire map array to the buffer </span></td></tr><tr><td class="number">60</td><td>  </td></tr><tr><td class="number">61</td><td>  <span class="c">// main game loop</span></td></tr><tr><td class="number">62</td><td>  <span class="k1">while</span> <span class="k2">(</span>done <span class="k3">!</span><span class="k3">=</span> <span class="k1">true</span><span class="k2">)</span></td></tr><tr><td class="number">63</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">64</td><td>    </td></tr><tr><td class="number">65</td><td>    <span class="c">// while loop for logic</span></td></tr><tr><td class="number">66</td><td>    <span class="k1">while</span> <span class="k2">(</span>speed_counter <span class="k3">&gt;</span> <span class="n">0</span><span class="k2">)</span></td></tr><tr><td class="number">67</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">68</td><td>  </td></tr><tr><td class="number">69</td><td>    <span class="c">// keyboard input</span></td></tr><tr><td class="number">70</td><td>    <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_ENTER<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">71</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">72</td><td>      <span class="c">// pause the game</span></td></tr><tr><td class="number">73</td><td>      <a href="http://www.allegro.cc/manual/allegro_message" target="_blank"><span class="a">allegro_message</span></a><span class="k2">(</span><span class="s">"Game Paused"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">74</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">75</td><td>    <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_RIGHT<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">76</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">77</td><td>      x <span class="k3">=</span> x <span class="k3">+</span> <span class="n">1</span><span class="k2">;</span></td></tr><tr><td class="number">78</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">79</td><td>&#160;</td></tr><tr><td class="number">80</td><td>    <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_LEFT<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">81</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">82</td><td>      x <span class="k3">=</span> x <span class="k3">-</span> <span class="n">1</span><span class="k2">;</span>  </td></tr><tr><td class="number">83</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">84</td><td>&#160;</td></tr><tr><td class="number">85</td><td>    <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_UP<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">86</td><td>    <span class="k2">{</span>  </td></tr><tr><td class="number">87</td><td>      y <span class="k3">=</span> y <span class="k3">-</span> <span class="n">1</span><span class="k2">;</span></td></tr><tr><td class="number">88</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">89</td><td>&#160;</td></tr><tr><td class="number">90</td><td>    <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_DOWN<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">91</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">92</td><td>      y <span class="k3">=</span> y <span class="k3">+</span> <span class="n">1</span><span class="k2">;</span></td></tr><tr><td class="number">93</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">94</td><td>&#160;</td></tr><tr><td class="number">95</td><td>    <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_SPACE<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">96</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">97</td><td>      map<span class="k2">[</span>ii<span class="k2">]</span><span class="k2">[</span>jj<span class="k2">]</span> <span class="k3">=</span> <span class="s">'b'</span><span class="k2">;</span></td></tr><tr><td class="number">98</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">99</td><td>&#160;</td></tr><tr><td class="number">100</td><td>    <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_ESC<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">101</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">102</td><td>      done <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span></td></tr><tr><td class="number">103</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">104</td><td>&#160;</td></tr><tr><td class="number">105</td><td>    <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_T<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">106</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">107</td><td>      draw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span></td></tr><tr><td class="number">108</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">109</td><td>    <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_F<span class="k2">]</span><span class="k2">)</span></td></tr><tr><td class="number">110</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">111</td><td>      draw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span></td></tr><tr><td class="number">112</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">113</td><td>&#160;</td></tr><tr><td class="number">114</td><td>&#160;</td></tr><tr><td class="number">115</td><td>    speed_counter--<span class="k2">;</span></td></tr><tr><td class="number">116</td><td>  <span class="c">//  frame_counter++;</span></td></tr><tr><td class="number">117</td><td>&#160;</td></tr><tr><td class="number">118</td><td>    <span class="k2">}</span>  <span class="c">// end of logic while loop</span></td></tr><tr><td class="number">119</td><td>    </td></tr><tr><td class="number">120</td><td>    <span class="c">// do all graphic drawing routines after the end of the logic while loop</span></td></tr><tr><td class="number">121</td><td>    <span class="c">// the drawing is done immediately after the speed_counter decrement.</span></td></tr><tr><td class="number">122</td><td>&#160;</td></tr><tr><td class="number">123</td><td>    <span class="c">// draw experimental grid to the buffer</span></td></tr><tr><td class="number">124</td><td>    <a href="http://www.allegro.cc/manual/draw_sprite" target="_blank"><span class="a">draw_sprite</span></a><span class="k2">(</span>buffer, tile_grid, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">125</td><td>&#160;</td></tr><tr><td class="number">126</td><td>    <span class="c">//draw tile map</span></td></tr><tr><td class="number">127</td><td>    <span class="k1">if</span> <span class="k2">(</span>draw <span class="k3">=</span><span class="k3">=</span> <span class="k1">true</span><span class="k2">)</span></td></tr><tr><td class="number">128</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">129</td><td>    <span class="k1">for</span> <span class="k2">(</span>ii<span class="k3">=</span><span class="n">0</span><span class="k2">;</span> ii<span class="k3">&lt;</span><span class="n">16</span><span class="k2">;</span> ii<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span></td></tr><tr><td class="number">130</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">131</td><td>      <span class="k1">for</span> <span class="k2">(</span>jj<span class="k3">=</span><span class="n">0</span><span class="k2">;</span> jj<span class="k3">&lt;</span><span class="n">12</span><span class="k2">;</span> jj<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span></td></tr><tr><td class="number">132</td><td>      <span class="k2">{</span></td></tr><tr><td class="number">133</td><td>        <span class="k1">if</span> <span class="k2">(</span>map<span class="k2">[</span>ii<span class="k2">]</span><span class="k2">[</span>jj<span class="k2">]</span> <span class="k3">=</span><span class="k3">=</span> <span class="s">'b'</span><span class="k2">)</span></td></tr><tr><td class="number">134</td><td>        <span class="k2">{</span></td></tr><tr><td class="number">135</td><td>          <a href="http://www.allegro.cc/manual/draw_sprite" target="_blank"><span class="a">draw_sprite</span></a><span class="k2">(</span>buffer, brick, ii<span class="k3">*</span><span class="n">40</span>, jj<span class="k3">*</span><span class="n">40</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">136</td><td>        <span class="k2">}</span></td></tr><tr><td class="number">137</td><td>      <span class="k2">}</span></td></tr><tr><td class="number">138</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">139</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">140</td><td>&#160;</td></tr><tr><td class="number">141</td><td>    <a href="http://www.allegro.cc/manual/draw_sprite" target="_blank"><span class="a">draw_sprite</span></a><span class="k2">(</span>buffer, cursor, <span class="n">40</span><span class="k3">*</span>x, <span class="n">40</span><span class="k3">*</span>y<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">142</td><td>    </td></tr><tr><td class="number">143</td><td>    <span class="c">// draw diagnostic information to buffer</span></td></tr><tr><td class="number">144</td><td>    <span class="k1">if</span> <span class="k2">(</span>draw <span class="k3">=</span><span class="k3">=</span> <span class="k1">true</span><span class="k2">)</span></td></tr><tr><td class="number">145</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">146</td><td>      <a href="http://www.allegro.cc/manual/textprintf_ex" target="_blank"><span class="a">textprintf_ex</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="n">2</span>, <span class="k2">(</span>HEIGHT-10<span class="k2">)</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">0</span>,<span class="n">255</span>,<span class="n">255</span><span class="k2">)</span>, <span class="k3">-</span><span class="n">1</span>, <span class="s">"draw: %c"</span>, <span class="s">'t'</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">147</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">148</td><td>    <span class="k1">if</span> <span class="k2">(</span>draw <span class="k3">=</span><span class="k3">=</span> <span class="k1">false</span><span class="k2">)</span></td></tr><tr><td class="number">149</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">150</td><td>      <a href="http://www.allegro.cc/manual/textprintf_ex" target="_blank"><span class="a">textprintf_ex</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="n">2</span>, <span class="k2">(</span>HEIGHT-10<span class="k2">)</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">0</span>,<span class="n">255</span>,<span class="n">255</span><span class="k2">)</span>, <span class="k3">-</span><span class="n">1</span>, <span class="s">"draw: %c"</span>, <span class="s">'f'</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">151</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">152</td><td>&#160;</td></tr><tr><td class="number">153</td><td>    </td></tr><tr><td class="number">154</td><td>    <span class="c">// draw the buffer to the screen</span></td></tr><tr><td class="number">155</td><td>        </td></tr><tr><td class="number">156</td><td>    <a href="http://www.allegro.cc/manual/blit" target="_blank"><span class="a">blit</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, <span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span>,WIDTH,HEIGHT<span class="k2">)</span><span class="k2">;</span> </td></tr><tr><td class="number">157</td><td>    <a href="http://www.allegro.cc/manual/clear_bitmap" target="_blank"><span class="a">clear_bitmap</span></a><span class="k2">(</span>buffer<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">158</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">159</td><td>&#160;</td></tr><tr><td class="number">160</td><td>  <a href="http://www.allegro.cc/manual/destroy_bitmap" target="_blank"><span class="a">destroy_bitmap</span></a><span class="k2">(</span>tile_grid<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">161</td><td>  <a href="http://www.allegro.cc/manual/destroy_bitmap" target="_blank"><span class="a">destroy_bitmap</span></a><span class="k2">(</span>buffer<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">162</td><td>  <a href="http://www.allegro.cc/manual/destroy_bitmap" target="_blank"><span class="a">destroy_bitmap</span></a><span class="k2">(</span>cursor<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">163</td><td>  <a href="http://www.allegro.cc/manual/destroy_bitmap" target="_blank"><span class="a">destroy_bitmap</span></a><span class="k2">(</span>brick<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">164</td><td>  </td></tr><tr><td class="number">165</td><td>  </td></tr><tr><td class="number">166</td><td>  <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span> <span class="c">// Exit with no errors</span></td></tr><tr><td class="number">167</td><td><span class="k2">}</span></td></tr><tr><td class="number">168</td><td>&#160;</td></tr><tr><td class="number">169</td><td><a href="http://www.allegro.cc/manual/END_OF_MAIN" target="_blank"><span class="a">END_OF_MAIN</span></a><span class="k2">(</span><span class="k2">)</span> <span class="c">// This must be called right after the closing bracket of your MAIN function.</span></td></tr><tr><td class="number">170</td><td>                      <span class="c">// It is Allegro specific.</span></td></tr></tbody></table></div></div><p>

Specifically, the spacebar will eventually be a toggle for placing a tile on the map. why it does not work is beyond me. perhaps it has to do with how/when i am drawing the map to the buffer?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Snake Snakes)</author>
		<pubDate>Tue, 14 Mar 2006 01:50:19 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>The first thing you should do is to <i>start checking return values</i>.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (gnolam)</author>
		<pubDate>Tue, 14 Mar 2006 01:58:18 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I did include code to check for the current state of the variable, however i didn&#39;t include it because with or without the &quot;state&quot; checking, it still returns the error. but thank you for the tip!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Snake Snakes)</author>
		<pubDate>Tue, 14 Mar 2006 02:16:59 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Moved to correct forum.</p><p>To help: Download and install DrMinGW, compile your program in debug mode, run and let it crash. When the window appears with the crash report, choose Debug, and see the call stack in DrMinGW.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ReyBrujo)</author>
		<pubDate>Tue, 14 Mar 2006 02:25:53 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>As far as I can see, &#39;ii&#39; &amp; &#39;jj&#39; haven&#39;t been initialized by the loop when you get to them when checking for key_space.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Arthur Kalliokoski)</author>
		<pubDate>Tue, 14 Mar 2006 06:28:16 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>thank you for all the replies they helped a bunch!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Snake Snakes)</author>
		<pubDate>Thu, 16 Mar 2006 09:02:20 +0000</pubDate>
	</item>
</rss>
