<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>For some reason my code only runs from MinGWStudio...</title>
		<link>http://www.allegro.cc/forums/view/565394</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Thu, 09 Feb 2006 06:39:43 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>My code has absolutely no errors in it, and runs fine if I Run it from my Dev environment after compiling. However, when I try to run it without mingwstudio, it says there was an error in alleg42.dll...</p><p>I just installed allegro 4.2 if that has anything to do with it...<br />If you need to see my code, it&#39;s (xero.h is just a bunch of global variables used for multiple source files):
</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;</span></td></tr><tr><td class="number">2</td><td><span class="p">#include "xero.h"</span></td></tr><tr><td class="number">3</td><td>&#160;</td></tr><tr><td class="number">4</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="k2">;</span></td></tr><tr><td class="number">5</td><td><a href="http://www.allegro.cc/manual/MIDI" target="_blank"><span class="a">MIDI</span></a> <span class="k3">*</span>bgmusic<span class="k2">;</span></td></tr><tr><td class="number">6</td><td>&#160;</td></tr><tr><td class="number">7</td><td>&#160;</td></tr><tr><td class="number">8</td><td><span class="k1">int</span> Allegro_Init<span class="k2">(</span><span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">9</td><td>  <span class="k1">int</span> rtv<span class="k2">;</span></td></tr><tr><td class="number">10</td><td>  <span class="k1">if</span> <span class="k2">(</span><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="k3">!</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span> <span class="k2">{</span><span class="k1">return</span> <span class="n">1</span><span class="k2">;</span><span class="k2">}</span></td></tr><tr><td class="number">11</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></td></tr><tr><td class="number">12</td><td>  <a href="http://www.allegro.cc/manual/install_sound" target="_blank"><span class="a">install_sound</span></a><span class="k2">(</span>DIGI_AUTODETECT, MIDI_AUTODETECT, NULL<span class="k2">)</span><span class="k2">;</span> </td></tr><tr><td class="number">13</td><td>  <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/install_sound" target="_blank"><span class="a">install_sound</span></a><span class="k2">(</span>DIGI_AUTODETECT, MIDI_AUTODETECT, NULL<span class="k2">)</span> <span class="k3">!</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">14</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">"Error initialising sound system\n%s\n"</span>, <a href="http://www.allegro.cc/manual/allegro_error" target="_blank"><span class="a">allegro_error</span></a><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">15</td><td>    <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span></td></tr><tr><td class="number">16</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">17</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></td></tr><tr><td class="number">18</td><td>  rtv<span class="k3">=</span><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, <span class="n">640</span>,<span class="n">480</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">19</td><td>  <span class="k1">if</span> <span class="k2">(</span>rtv<span class="k3">!</span><span class="k3">=</span><span class="n">0</span><span class="k2">)</span></td></tr><tr><td class="number">20</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">21</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_TEXT,<span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">22</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">"Error setting graphics mode\n%s\n"</span>, <a href="http://www.allegro.cc/manual/allegro_error" target="_blank"><span class="a">allegro_error</span></a><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">23</td><td>    <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span></td></tr><tr><td class="number">24</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">25</td><td>  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><span class="n">640</span>,<span class="n">480</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">26</td><td><span class="k2">}</span></td></tr><tr><td class="number">27</td><td>&#160;</td></tr><tr><td class="number">28</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><span class="k2">{</span></td></tr><tr><td class="number">29</td><td>  Allegro_Init<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">30</td><td>  <span class="k1">int</span> mcy <span class="k3">=</span> <span class="n">150</span><span class="k2">;</span></td></tr><tr><td class="number">31</td><td>  <span class="k1">int</span> enter <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">32</td><td>  <a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>curs <span class="k3">=</span> NULL<span class="k2">;</span>  </td></tr><tr><td class="number">33</td><td>  <a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>menu <span class="k3">=</span> NULL<span class="k2">;</span></td></tr><tr><td class="number">34</td><td>  <a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>bg <span class="k3">=</span> NULL<span class="k2">;</span></td></tr><tr><td class="number">35</td><td>  bgmusic <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_midi" target="_blank"><span class="a">load_midi</span></a><span class="k2">(</span><span class="s">"bgmusic.mid"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">36</td><td>  <a href="http://www.allegro.cc/manual/play_midi" target="_blank"><span class="a">play_midi</span></a><span class="k2">(</span>bgmusic, TRUE<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">37</td><td>  bg <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">"bg.bmp"</span>, NULL<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">38</td><td>  curs <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">"curs.bmp"</span>, NULL<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">39</td><td>  menu <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">"menu.bmp"</span>, NULL<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">40</td><td><span class="k1">do</span> <span class="k2">{</span></td></tr><tr><td class="number">41</td><td>    <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>bgmusic<span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">42</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">"Error reading MIDI file '%s'\n"</span>, argv<span class="k2">[</span><span class="n">1</span><span class="k2">]</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">43</td><td>      <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span></td></tr><tr><td class="number">44</td><td>     <span class="k2">}</span></td></tr><tr><td class="number">45</td><td>    <a href="http://www.allegro.cc/manual/blit" target="_blank"><span class="a">blit</span></a><span class="k2">(</span>bg,buffer,<span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span>,<span class="n">640</span>,<span class="n">480</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">46</td><td>    <a href="http://www.allegro.cc/manual/blit" target="_blank"><span class="a">blit</span></a><span class="k2">(</span>menu,buffer,<span class="n">0</span>,<span class="n">0</span>,<span class="n">190</span>,<span class="n">100</span>,<span class="n">240</span>,<span class="n">192</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">47</td><td>    <a href="http://www.allegro.cc/manual/blit" target="_blank"><span class="a">blit</span></a><span class="k2">(</span>curs,buffer,<span class="n">0</span>,<span class="n">0</span>,<span class="n">240</span>,mcy,<span class="n">30</span>,<span class="n">11</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">48</td><td>    textout<span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="s">"Xero Gunman -- Lone Hero"</span>, <span class="n">220</span>, <span class="n">5</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">255</span>,<span class="n">255</span>,<span class="n">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">49</td><td>    textout<span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="s">"Start Game"</span>, <span class="n">280</span>, <span class="n">152</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">255</span>,<span class="n">255</span>,<span class="n">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">50</td><td>    textout<span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="s">"Quit Game"</span>, <span class="n">280</span>, <span class="n">177</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">255</span>,<span class="n">255</span>,<span class="n">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">51</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>,<span class="n">640</span>,<span class="n">480</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">52</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><span class="k2">{</span></td></tr><tr><td class="number">53</td><td>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">(</span>enter<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">54</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">55</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><span class="k2">{</span></td></tr><tr><td class="number">56</td><td>    enter <span class="k3">+</span><span class="k3">=</span> <span class="n">1</span><span class="k2">;</span></td></tr><tr><td class="number">57</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">58</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="k3">&amp;</span><span class="k3">&amp;</span> mcy <span class="k3">=</span><span class="k3">=</span> <span class="n">150</span><span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">59</td><td>      mcy <span class="k3">+</span><span class="k3">=</span> <span class="n">25</span><span class="k2">;</span></td></tr><tr><td class="number">60</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">61</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">62</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="k3">&amp;</span><span class="k3">&amp;</span> mcy <span class="k3">=</span><span class="k3">=</span> <span class="n">175</span><span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">63</td><td>      mcy <span class="k3">-</span><span class="k3">=</span> <span class="n">25</span><span class="k2">;</span></td></tr><tr><td class="number">64</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">65</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">66</td><td>    <span class="k1">if</span><span class="k2">(</span>mcy <span class="k3">=</span><span class="k3">=</span> <span class="n">175</span> <span class="k3">&amp;</span><span class="k3">&amp;</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><span class="k2">{</span></td></tr><tr><td class="number">67</td><td>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">(</span>enter<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">68</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">69</td><td>    <span class="k1">if</span><span class="k2">(</span>mcy <span class="k3">=</span><span class="k3">=</span> <span class="n">150</span> <span class="k3">&amp;</span><span class="k3">&amp;</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><span class="k2">{</span></td></tr><tr><td class="number">70</td><td>      enter <span class="k3">=</span> <span class="n">1</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="k2">}</span></td></tr><tr><td class="number">73</td><td>  <span class="k1">while</span><span class="k2">(</span>enter <span class="k3">=</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">74</td><td>  <a href="http://www.allegro.cc/manual/stop_midi" target="_blank"><span class="a">stop_midi</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">75</td><td>  <span class="k1">return</span> <span class="n">0</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><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></td></tr></tbody></table></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (spiroth10)</author>
		<pubDate>Thu, 09 Feb 2006 04:02:41 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
bgmusic = load_midi(&quot;bgmusic.mid&quot;);
</p></div></div><p>
Check the return codes. If bgmusic == NULL, then your files aren&#39;t being loaded.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Thu, 09 Feb 2006 04:04:21 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>... the music loads fine...</p><p>the problem is the whole code works for me under mingwstudio, its just that when I run it from outside the program, it doesnt work. But when I click &quot;Build and run&quot; from mingwstudio, it runs perfectly with no error.</p><p>otherwise it says there was an error in alleg42.dll... I think It has to do with me reinstalling allegro to get the new version...</p><p>Im going to attach my program in a .zip...<br />please tell me if it runs without an error... <br />remember, it works fine from my dev environment AND my debugger, just not when I click on the stand alone executable...<br />(the music is NOT copyright to me)
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (spiroth10)</author>
		<pubDate>Thu, 09 Feb 2006 05:12:03 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Perhaps mingwstudio (whatever that is) runs the program from some obscure directory in which the correct version of alleg42.dll is?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Jonatan Hedborg)</author>
		<pubDate>Thu, 09 Feb 2006 05:48:18 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I should have been more clear in describing what &quot;MinGW Studio&quot; is...<br />its an IDE for mingw, much like Dev-CPP with more features, and the full mingw compiler (unlike what dev-cpp used to be... havent used that for years now though...)</p><p>the reason I think it doesnt run outside the interpreter has something to do with my updating allegro is because it worked fine with the old version, but I wanted to stay on edge, so I updated...</p><p>The program itself seems to run fine (albeit its nowhere near finished).<br />the real problem lies in that my computer isnt reading alleg40.dll correctly...</p><p>maybe I&#39;ll try deleting my environment and reinstalling, that might work...</p><p>thanks for trying to help anyway, and sorry I was so brief in explaining my situation...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (spiroth10)</author>
		<pubDate>Thu, 09 Feb 2006 06:37:25 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Search for the dll. I guess it is inside MinGW Studio directory somewhere. Copy it to System32 and it should work.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ReyBrujo)</author>
		<pubDate>Thu, 09 Feb 2006 06:39:43 +0000</pubDate>
	</item>
</rss>
