<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>images dont load [a5]</title>
		<link>http://www.allegro.cc/forums/view/606701</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Mon, 21 Mar 2011 18:11:57 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I made a simple that loads and displays an image. at my house every thing worked ok. then when I bring it to school the image wont load(i have error checking after and it returns 1 if the file is still null.) it returns 1 every time. its the same source file and the image is the same and in the spot in the folder. why do you think it does this?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (shadyvillian)</author>
		<pubDate>Mon, 14 Mar 2011 19:04:00 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>What size is the image? It may be too large for the school computer&#39;s GPU to be able to handle as a texture.  If so, you can always try loading it as a memory bitmap rather than as a video bitmap.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (LennyLen)</author>
		<pubDate>Mon, 14 Mar 2011 19:23:13 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>How do I load it as a memory bitmap and whats the difference? I think I&#39;ve heard of it but never used it before.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (shadyvillian)</author>
		<pubDate>Tue, 15 Mar 2011 00:49:16 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>

al_set_new_bitmap_flags(ALLEGRO_MEMORY_BITMAP);</p><p>memory bitmaps are stored in normal RAM</p><p>video bitmaps are stored in RAM on the gfx card
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (William Labbett)</author>
		<pubDate>Tue, 15 Mar 2011 00:56:26 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Try explicitly stating the path in the load function, it could be a working folder issue, e.g. debug mode.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Neil Walker)</author>
		<pubDate>Tue, 15 Mar 2011 00:59:23 +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/606701/907734#target">shadyvillian</a> said:</div><div class="quote"><p> How do I load it as a memory bitmap and whats the difference? 
</p></div></div><p>Memory bitmaps are slower to use, but can be larger than the default video bitmaps. </p><p>Thus, you should try to load images as a regular video bitmap. If a large image fails to load, then you can load it as a memory bitmap instead. But you should detect that at run time, so that better computers will not use memory bitmaps when they could be using hardware accelerated ones.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Tue, 15 Mar 2011 02:01:31 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;ve tried using memory bitmaps, different sized images, different formats and typing out the complete path and still it wont load.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (shadyvillian)</author>
		<pubDate>Tue, 15 Mar 2011 17:10:04 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Post your code with image then.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Neil Walker)</author>
		<pubDate>Tue, 15 Mar 2011 17:28:59 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span><span class="p">#include &lt;allegro5/allegro.h&gt;</span>
<span class="number">  2</span><span class="p">#include &lt;allegro5/allegro_image.h&gt;</span>
<span class="number">  3</span>
<span class="number">  4</span><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span>
<span class="number">  5</span><span class="k2">{</span>
<span class="number">  6</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a> <span class="k3">*</span>Screen <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  7</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>Image <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  8</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a> <span class="k3">*</span>EventQueue<span class="k2">;</span>
<span class="number">  9</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"> 10</span>
<span class="number"> 11</span>    <span class="k1">bool</span> Quit <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 12</span>
<span class="number"> 13</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"> 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>    <span class="c">// al_set_new_bitmap_flags(ALLEGRO_MEMORY_BITMAP);</span>
<span class="number"> 17</span>
<span class="number"> 18</span>    EventQueue <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"> 19</span>
<span class="number"> 20</span>    Screen <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">800</span>, <span class="n">600</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 21</span>
<span class="number"> 22</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>EventQueue, <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>Screen<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 23</span>
<span class="number"> 24</span>    Image <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">"Media/NextShapeBox.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 25</span>
<span class="number"> 26</span>    <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>Image<span class="k2">)</span>
<span class="number"> 27</span>    <span class="k2">{</span>
<span class="number"> 28</span>        <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 29</span>    <span class="k2">}</span>
<span class="number"> 30</span>
<span class="number"> 31</span>    <span class="k1">while</span><span class="k2">(</span>Quit <span class="k3">=</span><span class="k3">=</span> <span class="k1">false</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>Image, <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"> 34</span>
<span class="number"> 35</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"> 36</span>
<span class="number"> 37</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>EventQueue, <span class="k3">&amp;</span>Event<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 38</span>
<span class="number"> 39</span>        <span class="k1">if</span><span class="k2">(</span>Event.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_DISPLAY_CLOSE<span class="k2">)</span>
<span class="number"> 40</span>        <span class="k2">{</span>
<span class="number"> 41</span>            Quit <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 42</span>        <span class="k2">}</span>
<span class="number"> 43</span>    <span class="k2">}</span>
<span class="number"> 44</span>
<span class="number"> 45</span>    <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>Image<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 46</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>EventQueue<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 47</span>
<span class="number"> 48</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 49</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (shadyvillian)</author>
		<pubDate>Wed, 16 Mar 2011 01:13:37 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Windows doesn&#39;t like to run your executable from the directory you think it should be, so when you try to use a relative path like you are, it will be relative to whatever windows has set as the current working directory, not the one you <i>think</i> it is.</p><p>First try using an abosolute path to your files, then play with the <span class="source-code"><a href="http://www.allegro.cc/manual/al_get_standard_path"><span class="a">al_get_standard_path</span></a></span> to locate your files.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Wed, 16 Mar 2011 03:16:41 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>What do i do with al_get_standard_path? al_get_standard_path(ALLEGRO_EXENAME_PATH);?<br />what would I do with this?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (shadyvillian)</author>
		<pubDate>Thu, 17 Mar 2011 18:58:07 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>On Windows, make sure the data is stored <i>relative</i> to the exe</p><div class="source-code snippet"><div class="inner"><pre>ALLEGRO_PATH <span class="k3">*</span>path <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_get_standard_path"><span class="a">al_get_standard_path</span></a><span class="k2">(</span>ALLEGRO_RESOURCES_PATH<span class="k2">)</span><span class="k2">;</span>
<a href="http://www.allegro.cc/manual/al_append_path_component"><span class="a">al_append_path_component</span></a><span class="k2">(</span>path, <span class="s">"Media"</span><span class="k2">)</span><span class="k2">;</span>
<a href="http://www.allegro.cc/manual/al_set_path_filename"><span class="a">al_set_path_filename</span></a><span class="k2">(</span>path, <span class="s">"foo.png"</span><span class="k2">)</span><span class="k2">;</span>

<span class="c">// a hack, but this probably works in place of the 'append':</span>
<span class="c">// al_set_path_filename(path, "Media/foo.png");</span>

<a href="http://www.allegro.cc/manual/al_load_bitmap"><span class="a">al_load_bitmap</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_path_cstr"><span class="a">al_path_cstr</span></a><span class="k2">(</span>path, <span class="s">'/'</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>

The above code assumes the image is in a folder called &#39;Media&#39; next to the executable. The documentation explains this clearly:
</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p> If you bundle data in a location relative to your executable, then you should use this path (ALLEGRO_RESOURCES_PATH) to locate that data.
</p></div></div></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Thu, 17 Mar 2011 23:30:14 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Oh I see. Just curious why do you consider it a hack?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (shadyvillian)</author>
		<pubDate>Fri, 18 Mar 2011 01:18:14 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>It&#39;s a hack, because you&#39;re abusing the structure a bit. An Allegro path is a vector of path components, eg: &quot;usr&quot;, &quot;share&quot;, &quot;mygame&quot;. Then it has a filename: &quot;img.png&quot;.</p><p>When you call <span class="source-code"><a href="http://www.allegro.cc/manual/al_path_cstr"><span class="a">al_path_cstr</span></a><span class="k2">(</span><span class="k2">)</span></span>, it joins them together with the delimiter you supply.</p><p>So if you add something like &quot;foo/bar&quot; via <span class="source-code"><a href="http://www.allegro.cc/manual/al_append_path_component"><span class="a">al_append_path_component</span></a><span class="k2">(</span><span class="k2">)</span></span> or <span class="source-code"><a href="http://www.allegro.cc/manual/al_set_path_filename"><span class="a">al_set_path_filename</span></a><span class="k2">(</span><span class="k2">)</span></span>, you are putting two pieces together in a single slot of the vector. </p><p>It doesn&#39;t really matter in that when you call <span class="source-code"><a href="http://www.allegro.cc/manual/al_path_cstr"><span class="a">al_path_cstr</span></a><span class="k2">(</span><span class="k2">)</span></span> you&#39;ll get the same result. However, you cannot traverse each component individually now, since Allegro will treat your &quot;combo&quot; component as a single entity.</p><p>I doubt the functionality will ever change, so it should be safe to use.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Fri, 18 Mar 2011 01:32:48 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Its crashing at path = al_get_standard_path. this must be the universe telling me that this just isn&#39;t going to work. Its probably has to do with some sort of restrictions on the computers. looks like I wont be able to show off my programs to people in my programming class <img src="http://www.allegro.cc/forums/smileys/sad.gif" alt=":(" /> because I cant even run the exe there because it just closes instantly from the images failing to load.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (shadyvillian)</author>
		<pubDate>Mon, 21 Mar 2011 05:49:44 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Make sure you are calling <span class="source-code"><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> first.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Mon, 21 Mar 2011 05:51:16 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;ll double check tomorrow. Its still a pain in the butt to have to do this especially if i have to load like 50 images. Is this standard or something special you do?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (shadyvillian)</author>
		<pubDate>Mon, 21 Mar 2011 05:56:10 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You can also do it this way:
</p><div class="source-code snippet"><div class="inner"><pre>ALLEGRO_PATH <span class="k3">*</span>path <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_get_standard_path"><span class="a">al_get_standard_path</span></a><span class="k2">(</span>ALLEGRO_RESOURCES_PATH<span class="k2">)</span><span class="k2">;</span>
<a href="http://www.allegro.cc/manual/al_change_directory"><span class="a">al_change_directory</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_path_cstr"><span class="a">al_path_cstr</span></a><span class="k2">(</span>path<span class="k2">)</span>, <span class="s">'/'</span><span class="k2">)</span><span class="k2">;</span>
<a href="http://www.allegro.cc/manual/al_destroy_path"><span class="a">al_destroy_path</span></a><span class="k2">(</span>path<span class="k2">)</span><span class="k2">;</span>

foo1 <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">"images/foo1.png"</span><span class="k2">)</span><span class="k2">;</span>
foo2 <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">"images/foo2.png"</span><span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Mon, 21 Mar 2011 06:05:40 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>It looks like this will be useful to you: <a href="http://wiki.allegro.cc/index.php?title=Return_values">http://wiki.allegro.cc/index.php?title=Return_values</a>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (bamccaig)</author>
		<pubDate>Mon, 21 Mar 2011 11:15:31 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>It still doesn&#39;t work after doing the thing with the paths.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (shadyvillian)</author>
		<pubDate>Mon, 21 Mar 2011 18:11:57 +0000</pubDate>
	</item>
</rss>
