<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>A5 can&#39;t get load_bitmap to find image</title>
		<link>http://www.allegro.cc/forums/view/606773</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Sun, 20 Mar 2011 05:48:28 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hey people, I was here a while ago learning A4 then I took a short break, I came back just a few days ago and A5 appears to have been out for a bit, I had a look at it and looked at some examples and such, I wanted to see if I could load an image and draw it to the screen so I created a bitmap object and set it to NULL then I tried to assign it an image from my HDD called bob, which is a bitmap image. The problem is when the program runs I get an exception : </p><p>First-chance exception at 0x00000000 in AllegroProject.exe: 0xC0000005: Access violation.</p><p>Unhandled exception at 0x00000000 in AllegroProject.exe: 0xC0000005: Access violation.</p><p>I presume this is because the image assign fails because it can&#39;t find my image, I tried quite a few things to get this working, first I tried an absolute path, which did not work, then I put it in the same folder as the .exe that also did not work, I also tried something using the path &quot;hack&quot; someone was calling it although I only partially understood what it was doing and it kept failing at compile so I left it.</p><p>So I would really appreciate it if someone could tell me whats wrong with my program.</p><p>Line that is the main culprit: al_load_bitmap(&quot;bob.bmp&quot;);
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (kyle motherwell)</author>
		<pubDate>Sun, 20 Mar 2011 04:58:47 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Please post some source code. Use &lt;code&gt;&lt;/code&gt; tags.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Trent Gamblin)</author>
		<pubDate>Sun, 20 Mar 2011 05:08:52 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Call <span class="source-code"><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> first.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Sun, 20 Mar 2011 05:13:39 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>To mat, I just put it in now and it still seems to give exceptions. </p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">   1</span><span class="p">#include "stdafx.h"</span>
<span class="number">   2</span><span class="p">#include &lt;stdio.h&gt;</span>
<span class="number">   3</span><span class="p">#include &lt;allegro5/allegro.h&gt;</span>
<span class="number">   4</span><span class="p">#include &lt;allegro5/allegro_image.h&gt;</span>
<span class="number">   5</span> 
<span class="number">   6</span><span class="k1">int</span> main<span class="k2">(</span><span class="k1">int</span> argc, <span class="k1">char</span> <span class="k3">*</span><span class="k3">*</span>argv<span class="k2">)</span>
<span class="number">   7</span><span class="k2">{</span>
<span class="number">   8</span>
<span class="number">   9</span><span class="c">//Create a display and an event queue</span>
<span class="number">  10</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a> <span class="k3">*</span>display <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  11</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a> <span class="k3">*</span>event_queue <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  12</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span> testBMP <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  13</span>
<span class="number">  14</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">  15</span>
<span class="number">  16</span><a href="http://www.allegro.cc/manual/al_load_bitmap"><span class="a">al_load_bitmap</span></a><span class="k2">(</span><span class="s">"bob.bmp"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  17</span>
<span class="number">  18</span>   <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>testBMP<span class="k2">)</span>
<span class="number">  19</span>   <span class="k2">{</span>
<span class="number">  20</span>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr,<span class="s">"failed to initialize testBMP!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  21</span>  <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  22</span>
<span class="number">  23</span>   <span class="k2">}</span>
<span class="number">  24</span>
<span class="number">  25</span>
<span class="number">  26</span>   <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_init_image_addon"><span class="a">al_init_image_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  27</span>   <span class="k2">{</span>
<span class="number">  28</span>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr,<span class="s">"failed to initialize image addon!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  29</span>  <span class="k1">return</span> <span class="k3">-</span><span class="n">1</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="number">  34</span>
<span class="number">  35</span> 
<span class="number">  36</span> <span class="c">//Test if allegro failed to initiliaze, if it did print a message to the console and leave with error code -1</span>
<span class="number">  37</span>   <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_init"><span class="a">al_init</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number">  38</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to initialize allegro!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  39</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  40</span>   <span class="k2">}</span>
<span class="number">  41</span> <span class="c">//Set the display by assisnging it the properties returned from the function al_create_display(640, 480) this sets the display to a resoloution of 640x480</span>
<span class="number">  42</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">  43</span>
<span class="number">  44</span>   <span class="c">//check to see if the display was properly set</span>
<span class="number">  45</span>   <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>display<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  46</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to create display!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  47</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  48</span>   <span class="k2">}</span>
<span class="number">  49</span> 
<span class="number">  50</span>   <span class="c">//Create an even queue, event queues can be filled with different evens that happen from sources, sources include keyboard, mouse and display, we will use display</span>
<span class="number">  51</span>   event_queue <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_event_queue"><span class="a">al_create_event_queue</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  52</span>
<span class="number">  53</span>   <span class="c">//We check if the queue was set properly</span>
<span class="number">  54</span>   <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>event_queue<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  55</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to create event_queue!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  56</span>      <a href="http://www.allegro.cc/manual/al_destroy_display"><span class="a">al_destroy_display</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">;</span>
<span class="number">  57</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number">  58</span>   <span class="k2">}</span>
<span class="number">  59</span> 
<span class="number">  60</span>   <span class="c">//We set the queue to watch all the events from the source, our source is the display, so resizing or closing the window would be an event for the display</span>
<span class="number">  61</span>   <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>event_queue, <a href="http://www.allegro.cc/manual/al_get_display_event_source"><span class="a">al_get_display_event_source</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  62</span> 
<span class="number">  63</span>   <span class="c">//We clear the screen to the colour black</span>
<span class="number">  64</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">  65</span> 
<span class="number">  66</span>   <span class="c">//We swap the drawing buffer to show our changes since we last swapped buffers, search up double buffering to find out more about what this means</span>
<span class="number">  67</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">  68</span> 
<span class="number">  69</span>
<span class="number">  70</span>   <span class="k1">while</span><span class="k2">(</span><span class="n">1</span><span class="k2">)</span>
<span class="number">  71</span>   <span class="k2">{</span>
<span class="number">  72</span>     <span class="c">//We createa an event to hold the event</span>
<span class="number">  73</span>      <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> ev<span class="k2">;</span>
<span class="number">  74</span>    <span class="c">//A timeout to be initiliased </span>
<span class="number">  75</span>      <a href="http://www.allegro.cc/manual/ALLEGRO_TIMEOUT"><span class="a">ALLEGRO_TIMEOUT</span></a> timeout<span class="k2">;</span>
<span class="number">  76</span>    <span class="c">//Here we initliase timeout and set it to 0.06, or 60 miliseconds</span>
<span class="number">  77</span>      <a href="http://www.allegro.cc/manual/al_init_timeout"><span class="a">al_init_timeout</span></a><span class="k2">(</span><span class="k3">&amp;</span>timeout, <span class="n">0</span>.<span class="n">06</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  78</span> 
<span class="number">  79</span>    <span class="c">//Here the bool is assigned either true of false depending if the event queue is updated with an event or it gets set to false if the timeout occurs before the event finishes.</span>
<span class="number">  80</span>      <span class="k1">bool</span> got_event <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_wait_for_event_until"><span class="a">al_wait_for_event_until</span></a><span class="k2">(</span>event_queue, <span class="k3">&amp;</span>ev, <span class="k3">&amp;</span>timeout<span class="k2">)</span><span class="k2">;</span>
<span class="number">  81</span> 
<span class="number">  82</span>    <span class="c">//We check if the event was close</span>
<span class="number">  83</span>      <span class="k1">if</span><span class="k2">(</span>got_event <span class="k3">&amp;</span><span class="k3">&amp;</span> ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_DISPLAY_CLOSE<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  84</span>
<span class="number">  85</span>      <span class="c">//This ends the program loop, closing the program</span>
<span class="number">  86</span>         <span class="k1">break</span><span class="k2">;</span>
<span class="number">  87</span>      <span class="k2">}</span>
<span class="number">  88</span> 
<span class="number">  89</span>    <span class="c">//Clear to black and swap buffers</span>
<span class="number">  90</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">  91</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">  92</span>   <span class="k2">}</span>
<span class="number">  93</span> 
<span class="number">  94</span>   <span class="c">//Destroy display object and queue object</span>
<span class="number">  95</span>   <a href="http://www.allegro.cc/manual/al_destroy_display"><span class="a">al_destroy_display</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">;</span>
<span class="number">  96</span>   <a href="http://www.allegro.cc/manual/al_destroy_event_queue"><span class="a">al_destroy_event_queue</span></a><span class="k2">(</span>event_queue<span class="k2">)</span><span class="k2">;</span>
<span class="number">  97</span> 
<span class="number">  98</span>
<span class="number">  99</span>   <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 100</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (kyle motherwell)</author>
		<pubDate>Sun, 20 Mar 2011 05:16:48 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You&#39;ve got it in there twice now, both in the wrong place. Before you use any other allegro functions, call al_init.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Trent Gamblin)</author>
		<pubDate>Sun, 20 Mar 2011 05:18:18 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Call load bitmap after initializing Allegro, after initializing the image addon, and after creating the display. Use an absolute path until you know for sure it is working.</p><p>Also, your test is bogus because you never assign the value of load_bitmap to anything.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Sun, 20 Mar 2011 05:21:17 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Forgive me for how messy and badly done it all is, I done it pretty quickly and didn&#39;t see what I had done wrong. I fixed the mistakes (not all of them I&#39;m sure) and now my test code runs and tells me that it cannot initiliaze the image. I used a absolute path too.</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span><span class="p">#include "stdafx.h"</span>
<span class="number">  2</span><span class="p">#include &lt;stdio.h&gt;</span>
<span class="number">  3</span><span class="p">#include &lt;allegro5/allegro.h&gt;</span>
<span class="number">  4</span><span class="p">#include &lt;allegro5/allegro_image.h&gt;</span>
<span class="number">  5</span> 
<span class="number">  6</span><span class="k1">int</span> main<span class="k2">(</span><span class="k1">int</span> argc, <span class="k1">char</span> <span class="k3">*</span><span class="k3">*</span>argv<span class="k2">)</span>
<span class="number">  7</span><span class="k2">{</span>
<span class="number">  8</span>
<span class="number">  9</span><span class="c">//Create a display and an event queue</span>
<span class="number"> 10</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a> <span class="k3">*</span>display <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number"> 11</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a> <span class="k3">*</span>event_queue <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number"> 12</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span> testBMP <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number"> 13</span>
<span class="number"> 14</span><span class="c">//Test if allegro failed to initiliaze, if it did print a message to the console and leave with error code -1</span>
<span class="number"> 15</span>   <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_init"><span class="a">al_init</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 16</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to initialize allegro!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 17</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number"> 18</span>   <span class="k2">}</span>
<span class="number"> 19</span> <span class="c">//Set the display by assisnging it the properties returned from the function al_create_display(640, 480) this sets the display to a resoloution of 640x480</span>
<span class="number"> 20</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"> 21</span>
<span class="number"> 22</span>   <span class="c">//check to see if the display was properly set</span>
<span class="number"> 23</span>   <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>display<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 24</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to create display!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 25</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number"> 26</span>   <span class="k2">}</span>
<span class="number"> 27</span>
<span class="number"> 28</span>    testBMP <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_bitmap"><span class="a">al_load_bitmap</span></a><span class="k2">(</span><span class="s">"C:\Users\Kyle\Desktop\kyle-and-liams-project\AllegroProject\bob.bmp"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 29</span>
<span class="number"> 30</span>      <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>testBMP<span class="k2">)</span>
<span class="number"> 31</span>   <span class="k2">{</span>
<span class="number"> 32</span>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr,<span class="s">"failed to initialize testBMP!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 33</span>  <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number"> 34</span>
<span class="number"> 35</span>   <span class="k2">}</span>
<span class="number"> 36</span> 
<span class="number"> 37</span>   <span class="c">//Create an even queue, event queues can be filled with different evens that happen from sources, sources include keyboard, mouse and display, we will use display</span>
<span class="number"> 38</span>   event_queue <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_event_queue"><span class="a">al_create_event_queue</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 39</span>
<span class="number"> 40</span>   <span class="c">//We check if the queue was set properly</span>
<span class="number"> 41</span>   <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>event_queue<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 42</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to create event_queue!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 43</span>      <a href="http://www.allegro.cc/manual/al_destroy_display"><span class="a">al_destroy_display</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 44</span>      <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number"> 45</span>   <span class="k2">}</span>
<span class="number"> 46</span>
<span class="number"> 47</span> 
<span class="number"> 48</span>  <span class="c">//We set the queue to watch all the events from the source, our source is the display, so resizing or closing the window would be an event for the display</span>
<span class="number"> 49</span>   <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>event_queue, <a href="http://www.allegro.cc/manual/al_get_display_event_source"><span class="a">al_get_display_event_source</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 50</span> 
<span class="number"> 51</span>   <span class="c">//We clear the screen to the colour black</span>
<span class="number"> 52</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"> 53</span> 
<span class="number"> 54</span>   <span class="c">//We swap the drawing buffer to show our changes since we last swapped buffers, search up double buffering to find out more about what this means</span>
<span class="number"> 55</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"> 56</span> 
<span class="number"> 57</span>
<span class="number"> 58</span>   <span class="k1">while</span><span class="k2">(</span><span class="n">1</span><span class="k2">)</span>
<span class="number"> 59</span>   <span class="k2">{</span>
<span class="number"> 60</span>     <span class="c">//We createa an event to hold the event</span>
<span class="number"> 61</span>      <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> ev<span class="k2">;</span>
<span class="number"> 62</span>    <span class="c">//A timeout to be initiliased </span>
<span class="number"> 63</span>      <a href="http://www.allegro.cc/manual/ALLEGRO_TIMEOUT"><span class="a">ALLEGRO_TIMEOUT</span></a> timeout<span class="k2">;</span>
<span class="number"> 64</span>    <span class="c">//Here we initliase timeout and set it to 0.06, or 60 miliseconds</span>
<span class="number"> 65</span>      <a href="http://www.allegro.cc/manual/al_init_timeout"><span class="a">al_init_timeout</span></a><span class="k2">(</span><span class="k3">&amp;</span>timeout, <span class="n">0</span>.<span class="n">06</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 66</span> 
<span class="number"> 67</span>    <span class="c">//Here the bool is assigned either true of false depending if the event queue is updated with an event or it gets set to false if the timeout occurs before the event finishes.</span>
<span class="number"> 68</span>      <span class="k1">bool</span> got_event <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_wait_for_event_until"><span class="a">al_wait_for_event_until</span></a><span class="k2">(</span>event_queue, <span class="k3">&amp;</span>ev, <span class="k3">&amp;</span>timeout<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 69</span> 
<span class="number"> 70</span>    <span class="c">//We check if the event was close</span>
<span class="number"> 71</span>      <span class="k1">if</span><span class="k2">(</span>got_event <span class="k3">&amp;</span><span class="k3">&amp;</span> ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_DISPLAY_CLOSE<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 72</span>
<span class="number"> 73</span>      <span class="c">//This ends the program loop, closing the program</span>
<span class="number"> 74</span>         <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 75</span>      <span class="k2">}</span>
<span class="number"> 76</span> 
<span class="number"> 77</span>    <span class="c">//Clear to black and swap buffers</span>
<span class="number"> 78</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"> 79</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"> 80</span>   <span class="k2">}</span>
<span class="number"> 81</span> 
<span class="number"> 82</span>   <span class="c">//Destroy display object and queue object</span>
<span class="number"> 83</span>   <a href="http://www.allegro.cc/manual/al_destroy_display"><span class="a">al_destroy_display</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 84</span>   <a href="http://www.allegro.cc/manual/al_destroy_event_queue"><span class="a">al_destroy_event_queue</span></a><span class="k2">(</span>event_queue<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 85</span> 
<span class="number"> 86</span>
<span class="number"> 87</span>   <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 88</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (kyle motherwell)</author>
		<pubDate>Sun, 20 Mar 2011 05:33:47 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>The answer is in my previous post.</p><p>Edit: And use &#39;/&#39; or &#39;\\&#39; for path separators. A single backslash will cause problems.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Sun, 20 Mar 2011 05:35:43 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Thanks, it was the slashes that were causing the problem.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (kyle motherwell)</author>
		<pubDate>Sun, 20 Mar 2011 05:48:28 +0000</pubDate>
	</item>
</rss>
