<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>How to delete a file outside of main( ) &amp; How to change mouse speed</title>
		<link>http://www.allegro.cc/forums/view/586720</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Sun, 30 Jul 2006 04:22:57 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;m almost done with my first original game, but I have two little problems that I&#39;m hooked up on.</p><p>1. In trying to delete a file, the remove() function isn&#39;t working in an if() or switch() statement or outside of main(). I want to be able to do this outside of main(), in its own function, but I&#39;ve searched and searched and I can&#39;t find a single example program of that, even in C programming books. The way I&#39;m using it is: &quot;remove(&quot;mb1.txt&quot;);&quot; Apparently it is returning a fail on the delete, but I have no clue as to why. If I put that same line of code in main() with no if() or switch() statements, it&#39;ll delete it. But that&#39;s useless.</p><p>EDIT: Found a solution to my second question. Thanks allegro.cc
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Seraph6)</author>
		<pubDate>Fri, 28 Jul 2006 04:45:50 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I only see one question???</p><p>Anyway can you show me your code that fails.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Steve Terry)</author>
		<pubDate>Fri, 28 Jul 2006 05:11:09 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>He removed it, because he solved it.<br />But it´s still in the title.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (count)</author>
		<pubDate>Fri, 28 Jul 2006 05:24:03 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I call the function from another function in the program similar to this:</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">for</span><span class="k2">(</span>n<span class="k3">=</span><span class="n">0</span><span class="k2">;</span> n<span class="k3">&lt;</span><span class="n">4</span><span class="k2">;</span> n<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>cursor-&gt;x <span class="k3">&gt;</span><span class="k3">=</span> sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>x <span class="k3">+</span> <span class="n">120</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>cursor-&gt;y <span class="k3">&gt;</span> sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>y<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span>
   <span class="k2">(</span>cursor-&gt;x <span class="k3">&lt;</span> sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>x <span class="k3">+</span> <span class="n">200</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>cursor-&gt;y <span class="k3">&lt;</span> sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>y <span class="k3">+</span> <span class="n">125</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span>
   <span class="k2">(</span><a href="http://www.allegro.cc/manual/mouse_b" target="_blank"><span class="a">mouse_b</span></a> <span class="k3">&amp;</span> <span class="n">1</span><span class="k2">)</span><span class="k2">)</span>
    trash_file<span class="k2">(</span>n<span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>

And the actual function trash_file(int x) is like so:</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="k1">void</span> trash_file<span class="k2">(</span>x<span class="k2">)</span></td></tr><tr><td class="number">2</td><td><span class="k2">{</span></td></tr><tr><td class="number">3</td><td>           <span class="k1">switch</span><span class="k2">(</span>x<span class="k2">)</span></td></tr><tr><td class="number">4</td><td>           <span class="k2">{</span></td></tr><tr><td class="number">5</td><td>              <span class="k1">case</span> <span class="n">0</span><span class="k2">:</span></td></tr><tr><td class="number">6</td><td>                   <a href="http://www.delorie.com/djgpp/doc/libc/libc_659.html" target="_blank">remove</a><span class="k2">(</span><span class="s">"mb1.txt"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">7</td><td>                   <span class="k1">break</span><span class="k2">;</span></td></tr><tr><td class="number">8</td><td>              <span class="k1">case</span> <span class="n">1</span><span class="k2">:</span></td></tr><tr><td class="number">9</td><td>                   <a href="http://www.delorie.com/djgpp/doc/libc/libc_659.html" target="_blank">remove</a><span class="k2">(</span><span class="s">"mb2.txt"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">10</td><td>                   <span class="k1">break</span><span class="k2">;</span></td></tr><tr><td class="number">11</td><td>              <span class="k1">case</span> <span class="n">2</span><span class="k2">:</span></td></tr><tr><td class="number">12</td><td>                   <a href="http://www.delorie.com/djgpp/doc/libc/libc_659.html" target="_blank">remove</a><span class="k2">(</span><span class="s">"mb3.txt"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">13</td><td>                   <span class="k1">break</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td>              <span class="k1">case</span> <span class="n">3</span><span class="k2">:</span></td></tr><tr><td class="number">15</td><td>                   <a href="http://www.delorie.com/djgpp/doc/libc/libc_659.html" target="_blank">remove</a><span class="k2">(</span><span class="s">"mb4.txt"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">16</td><td>                   <span class="k1">break</span><span class="k2">;</span></td></tr><tr><td class="number">17</td><td>           <span class="k2">}</span></td></tr><tr><td class="number">18</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>

I had it set up before so that it would return an error and exit the program if the deletion didn&#39;t work. But I guess I deleted that code.<br />I also tried without the switch() statement, and just called trash_file(int x) to see what would happen, and it still failed.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Seraph6)</author>
		<pubDate>Fri, 28 Jul 2006 05:31:56 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Your code looks ok, not sure what would cause it to fail. How exactly is it failing? Is it not compiling or is the code just not doing anything? Try &quot;./mb1.txt&quot;.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Steve Terry)</author>
		<pubDate>Fri, 28 Jul 2006 06:57:52 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>The code just isn&#39;t doing anything. The program will compile and run without any errors or warnings. I also have another action occur when the user clicks that is grouped with the trash_file(int x), and it works. So the program is definitely reading the click. But when I tested remove() for a fail with...</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">if</span><span class="k2">(</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_659.html" target="_blank">remove</a><span class="k2">(</span><span class="s">"mb1.txt"</span><span class="k2">)</span><span class="k2">)</span> <span class="k2">{</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_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>
<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: File deletion unsuccessful"</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>
<span class="k2">}</span>
</pre></div></div><p>

...it confirmed that the remove was failing. Also, I just look every time to see if the file is there, and it remains there... just as stubborn as ever.</p><p>The only time I got it to work is when I typed &quot;remove(&quot;mb1.txt&quot;);&quot; right in the main() function with no if loops or switch statements. This, however, is of course useless.</p><p>I tried your suggestion of &quot;./mb1.txt&quot; and that didn&#39;t work either. I greatly appreciate the effort though.</p><p>Oh, and if it helps. The function that calls trash_file(int x) and the function trash_file(int x) itself are in two different .c files.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Seraph6)</author>
		<pubDate>Fri, 28 Jul 2006 07:15:28 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Are the files open?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (BAF)</author>
		<pubDate>Fri, 28 Jul 2006 07:16:25 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>When they are deleted, no. I think I tried it with them open once (which doesn&#39;t sound right, but I tried it anyway), and I got an error.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Seraph6)</author>
		<pubDate>Fri, 28 Jul 2006 07:18:01 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>What does it say when you use this:<br /><span class="source-code"><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: File deletion unsuccessful: %s"</span>, <a href="http://www.delorie.com/djgpp/doc/libc/libc_759.html" target="_blank">strerror</a><span class="k2">(</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_293.html" target="_blank">errno</a><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></span>? And you really should compile with warnings enabled (and not ignore them).
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Kitty Cat)</author>
		<pubDate>Fri, 28 Jul 2006 07:38:39 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Thanks, that was really handy. I wasn&#39;t aware of strerror(errno).<br />The response was: &quot;ERROR: File deletion unsuccessful: Permission denied&quot;</p><p>However, as useful as that was, I&#39;m not sure why that is the case. The file is not read only or hidden, and it shouldn&#39;t be open.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Seraph6)</author>
		<pubDate>Fri, 28 Jul 2006 07:45:35 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>How is the file created? What Operating System?<br />You need to have the necessary permissions to delete the file. Under Windows you just need to be owner, in most cases, unless you&#39;ve got a crazy configuration. Under Linux, I&#39;m not sure what permission flag it is (I&#39;m not too studied on permissions in Linux). I suppose the write permission would do it?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Billybob)</author>
		<pubDate>Fri, 28 Jul 2006 08:05:13 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>The file was created with the games save_file(int x) function.</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="k1">void</span> save_file<span class="k2">(</span>x<span class="k2">)</span></td></tr><tr><td class="number">2</td><td><span class="k2">{</span></td></tr><tr><td class="number">3</td><td>     FILE<span class="k3">*</span> mb_save<span class="k2">;</span></td></tr><tr><td class="number">4</td><td>     </td></tr><tr><td class="number">5</td><td>     <span class="k1">int</span> tx, ty, tw, th, tr, tg, tb<span class="k2">;</span> <span class="c">//temporary numbers, mainly for float to int conversion</span></td></tr><tr><td class="number">6</td><td>     </td></tr><tr><td class="number">7</td><td>     <span class="k1">switch</span><span class="k2">(</span>x<span class="k2">)</span></td></tr><tr><td class="number">8</td><td>     <span class="k2">{</span></td></tr><tr><td class="number">9</td><td>              <span class="k1">case</span> <span class="n">0</span><span class="k2">:</span></td></tr><tr><td class="number">10</td><td>                   mb_save <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_337.html" target="_blank">fopen</a><span class="k2">(</span><span class="s">"mb1.txt"</span>, <span class="s">"w+"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">11</td><td>                   </td></tr><tr><td class="number">12</td><td>                   <span class="c">//save information to file</span></td></tr><tr><td class="number">13</td><td>                   <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>mb_save, <span class="s">"c%-5d"</span>, r<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td>                   <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>mb_save, <span class="s">":%-5d"</span>, g<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">15</td><td>                   <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>mb_save, <span class="s">":%-5d"</span>, b<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">16</td><td>                   <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>mb_save, <span class="s">"\n"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">17</td><td>                   </td></tr><tr><td class="number">18</td><td>                   <span class="k1">for</span><span class="k2">(</span>n<span class="k3">=</span><span class="n">0</span><span class="k2">;</span> n<span class="k3">&lt;</span>MAX_SHAPES<span class="k2">;</span> n<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span></td></tr><tr><td class="number">19</td><td>                   <span class="k1">if</span><span class="k2">(</span>n <span class="k3">!</span><span class="k3">=</span> <span class="n">994</span><span class="k2">)</span> <span class="c">//for some reason, this shape doesn't get saved right, so ignore it</span></td></tr><tr><td class="number">20</td><td>                   <span class="k2">{</span></td></tr><tr><td class="number">21</td><td>                            tx <span class="k3">=</span> shape<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>x<span class="k2">;</span></td></tr><tr><td class="number">22</td><td>                            ty <span class="k3">=</span> shape<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>y<span class="k2">;</span></td></tr><tr><td class="number">23</td><td>                            tw <span class="k3">=</span> shape<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>width<span class="k2">;</span></td></tr><tr><td class="number">24</td><td>                            th <span class="k3">=</span> shape<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>height<span class="k2">;</span></td></tr><tr><td class="number">25</td><td>                            tr <span class="k3">=</span> shape<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>red<span class="k2">;</span></td></tr><tr><td class="number">26</td><td>                            tg <span class="k3">=</span> shape<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>green<span class="k2">;</span></td></tr><tr><td class="number">27</td><td>                            tb <span class="k3">=</span> shape<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>blue<span class="k2">;</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_345.html" target="_blank">fprintf</a><span class="k2">(</span>mb_save, <span class="s">"s%-5d"</span>, n<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">30</td><td>                            <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>mb_save, <span class="s">":%-5d"</span>, shape<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>alive<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">31</td><td>                            <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>mb_save, <span class="s">":%-5d"</span>, tx<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">32</td><td>                            <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>mb_save, <span class="s">":%-5d"</span>, ty<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">33</td><td>                            <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>mb_save, <span class="s">":%-5d"</span>, shape<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>width<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">34</td><td>                            <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>mb_save, <span class="s">":%-5d"</span>, shape<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>height<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">35</td><td>                            <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>mb_save, <span class="s">":%-5d"</span>, shape<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>type<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">36</td><td>                            <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>mb_save, <span class="s">":%-5d"</span>, tr<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">37</td><td>                            <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>mb_save, <span class="s">":%-5d"</span>, tg<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">38</td><td>                            <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>mb_save, <span class="s">":%-5d"</span>, tb<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">39</td><td>                            <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>mb_save, <span class="s">"\n"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">40</td><td>                   <span class="k2">}</span></td></tr><tr><td class="number">41</td><td>                   <span class="k1">break</span><span class="k2">;</span></td></tr><tr><td class="number">42</td><td>              <span class="k1">case</span> <span class="n">1</span><span class="k2">:</span></td></tr><tr><td class="number">43</td><td>                   mb_save <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_337.html" target="_blank">fopen</a><span class="k2">(</span><span class="s">"mb2.txt"</span>, <span class="s">"w+"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">44</td><td>                   <span class="k1">break</span><span class="k2">;</span></td></tr><tr><td class="number">45</td><td>              <span class="k1">case</span> <span class="n">2</span><span class="k2">:</span></td></tr><tr><td class="number">46</td><td>                   mb_save <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_337.html" target="_blank">fopen</a><span class="k2">(</span><span class="s">"mb3.txt"</span>, <span class="s">"w+"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">47</td><td>                   <span class="k1">break</span><span class="k2">;</span></td></tr><tr><td class="number">48</td><td>              <span class="k1">case</span> <span class="n">3</span><span class="k2">:</span></td></tr><tr><td class="number">49</td><td>                   mb_save <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_337.html" target="_blank">fopen</a><span class="k2">(</span><span class="s">"mb4.txt"</span>, <span class="s">"w+"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">50</td><td>                   <span class="k1">break</span><span class="k2">;</span></td></tr><tr><td class="number">51</td><td>     <span class="k2">}</span></td></tr><tr><td class="number">52</td><td>&#160;</td></tr><tr><td class="number">53</td><td>     <a href="http://www.delorie.com/djgpp/doc/libc/libc_308.html" target="_blank">fclose</a><span class="k2">(</span>mb_save<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">54</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>

My operating system is WinXP and I am the owner of this PC, not to mention the sole user.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Seraph6)</author>
		<pubDate>Fri, 28 Jul 2006 08:11:31 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>how are you running the app? Your CWD is probably not being set to the one containing the files. Open up the shell, go to the directory and run it and see if you have the same results.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (juvinious)</author>
		<pubDate>Fri, 28 Jul 2006 08:41:50 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;m sorry, but that comment just went over my head.<br />If you&#39;re talking about command-line compiling, I&#39;m just using Dev-c++ to compile.<br />I don&#39;t know what a CWD is and I&#39;m not sure what you mean by open up the shell.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Seraph6)</author>
		<pubDate>Fri, 28 Jul 2006 08:50:04 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Both your code examples start like<br /><span class="source-code"><span class="k1">void</span> trash_file<span class="k2">(</span>x<span class="k2">)</span></span><br />when it should be like<br /><span class="source-code"><span class="k1">void</span> trash_file<span class="k2">(</span><span class="k1">int</span> x<span class="k2">)</span></span></p><p>That&#39;s strange. Sure you haven&#39;t <i>typed</i> in the code in your post, but pasted? You should get compiler errors from that. OTOH x might be a macro that compiles fine but screws everything.</p><p>Before remove(), try to examin the state of the file and write it on the screen. Is the file open, is it protected, whatever. I bet it is open.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Johan Halmén)</author>
		<pubDate>Fri, 28 Jul 2006 09:51:17 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I agree with Johan, &quot;Permission denied&quot; under Windows is usually only caused by the file still being open, either by the same or another process. Double-check that all handles to the file are closed.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Jakub Wasilewski)</author>
		<pubDate>Fri, 28 Jul 2006 20:49:52 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Indeed, in Windows &quot;Permission denied&quot; means &quot;the OS won&#39;t let you&quot; <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /></p><p>You can try Sysinternals&#39; &quot;Process Explorer&quot; to check for open files: This program is very much like a task manager on steroids.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Audric)</author>
		<pubDate>Fri, 28 Jul 2006 21:22:47 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I think the explanation is that you are in the wrong directory. Does Dev-C++ run your programs from its bin directory or from the directory you loaded the project from?</p><p>EDIT:<br />You could try typing the full path to the file:</p><p><span class="source-code"><a href="http://www.delorie.com/djgpp/doc/libc/libc_659.html" target="_blank">remove</a><span class="k2">(</span><span class="s">"C:/home/you/mb1.txt"</span><span class="k2">)</span><span class="k2">;</span></span></p><p>Or whatever Windows uses.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (James Stanley)</author>
		<pubDate>Fri, 28 Jul 2006 23:38:37 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>[quote Johan]it should be like<br />void trash_file(int x)&lt;/quote&gt;</p><p>You&#039;re correct. However, when I changed that, it didn&#039;t fix the error.</p><p>[quote Johan]Sure you haven&#039;t typed in the code in your post, but pasted?&lt;/quote&gt;</p><p>I copied and pasted my code right in. Except for the very first for loop near the top of this post. That was just an example. The actual code is like this.</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">   1</span><span class="k1">void</span> update_po_menu<span class="k2">(</span><span class="k2">)</span>
<span class="number">   2</span><span class="k2">{</span>
<span class="number">   3</span>     <span class="k1">if</span><span class="k2">(</span>cursor-&gt;x <span class="k3">&lt;</span> <span class="k2">(</span>menu-&gt;x <span class="k3">+</span> <span class="n">300</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">   4</span>     <span class="k2">{</span>
<span class="number">   5</span>         scroll_disabled <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">   6</span>         menu-&gt;state <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">   7</span>         <span class="k1">for</span><span class="k2">(</span>n<span class="k3">=</span><span class="n">0</span><span class="k2">;</span> n<span class="k3">&lt;</span><span class="n">4</span><span class="k2">;</span> n<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span> sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>alive <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span> <span class="c">//draw save frames</span>
<span class="number">   8</span>         
<span class="number">   9</span>         <span class="k1">if</span><span class="k2">(</span>menu-&gt;x <span class="k3">&lt;</span> <span class="n">0</span><span class="k2">)</span>
<span class="number">  10</span>         <span class="k2">{</span>
<span class="number">  11</span>             menu-&gt;x <span class="k3">+</span><span class="k3">=</span> menu-&gt;speed<span class="k2">;</span>
<span class="number">  12</span>             <span class="k1">if</span><span class="k2">(</span>menu-&gt;x <span class="k3">&gt;</span> <span class="n">0</span><span class="k2">)</span> menu-&gt;x <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> <span class="c">//don't push the menu out too far</span>
<span class="number">  13</span>         <span class="k2">}</span>
<span class="number">  14</span>         <span class="k1">else</span> <span class="c">//operations available once the pop-out menu is fully extended</span>
<span class="number">  15</span>         <span class="k2">{</span>
<span class="number">  16</span>             <span class="c">//play/credits view switcher</span>
<span class="number">  17</span>             <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>cursor-&gt;x <span class="k3">&gt;</span> <span class="n">50</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>cursor-&gt;y <span class="k3">&gt;</span> <span class="n">20</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>cursor-&gt;x <span class="k3">&lt;</span> <span class="n">125</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>cursor-&gt;y <span class="k3">&lt;</span> <span class="n">70</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span>
<span class="number">  18</span>                <span class="k2">(</span><a href="http://www.allegro.cc/manual/mouse_b" target="_blank"><span class="a">mouse_b</span></a> <span class="k3">&amp;</span> <span class="n">1</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>view_ct <span class="k3">=</span><span class="k3">=</span> button_delay<span class="k2">)</span><span class="k2">)</span>
<span class="number">  19</span>             <span class="k2">{</span>
<span class="number">  20</span>                 credits <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  21</span>             <span class="k2">}</span>
<span class="number">  22</span>             <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>cursor-&gt;x <span class="k3">&gt;</span><span class="k3">=</span> <span class="n">125</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>cursor-&gt;y <span class="k3">&gt;</span> <span class="n">20</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>cursor-&gt;x <span class="k3">&lt;</span> <span class="n">200</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>cursor-&gt;y <span class="k3">&lt;</span> <span class="n">70</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span>
<span class="number">  23</span>                     <span class="k2">(</span><a href="http://www.allegro.cc/manual/mouse_b" target="_blank"><span class="a">mouse_b</span></a> <span class="k3">&amp;</span> <span class="n">1</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>view_ct <span class="k3">=</span><span class="k3">=</span> button_delay<span class="k2">)</span><span class="k2">)</span>
<span class="number">  24</span>             <span class="k2">{</span>
<span class="number">  25</span>                  credits <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="k1">else</span>
<span class="number">  28</span>             <span class="k2">{</span>
<span class="number">  29</span>                 view_ct<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number">  30</span>                 
<span class="number">  31</span>                 <span class="k1">if</span><span class="k2">(</span>view_ct <span class="k3">&gt;</span> button_delay<span class="k2">)</span> view_ct <span class="k3">=</span> button_delay<span class="k2">;</span>
<span class="number">  32</span>             <span class="k2">}</span>
<span class="number">  33</span>             
<span class="number">  34</span>             <span class="c">//color pickers</span>
<span class="number">  35</span>             <span class="k1">if</span><span class="k2">(</span>cursor-&gt;y <span class="k3">&gt;</span> <span class="n">650</span><span class="k2">)</span>
<span class="number">  36</span>             <span class="k2">{</span>
<span class="number">  37</span>                          <span class="c">//if cursor is over red color slider and left-mouse button is held</span>
<span class="number">  38</span>                          <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>cursor-&gt;x <span class="k3">&gt;</span><span class="k3">=</span> <span class="n">55</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>cursor-&gt;y <span class="k3">&gt;</span> <span class="n">656</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>cursor-&gt;x <span class="k3">&lt;</span><span class="k3">=</span> <span class="n">210</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>cursor-&gt;y <span class="k3">&lt;</span> <span class="n">682</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/mouse_b" target="_blank"><span class="a">mouse_b</span></a> <span class="k3">&amp;</span> <span class="n">1</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  39</span>                          <span class="k2">{</span>
<span class="number">  40</span>                                   r <span class="k3">=</span> .<span class="n">68</span> <span class="k3">*</span> cursor-&gt;x <span class="k3">+</span> <span class="n">100</span><span class="k2">;</span>
<span class="number">  41</span>                                   <span class="k1">if</span><span class="k2">(</span>r <span class="k3">&lt;</span> <span class="n">140</span><span class="k2">)</span> r <span class="k3">=</span> <span class="n">140</span><span class="k2">;</span>
<span class="number">  42</span>                                   <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>r <span class="k3">&gt;</span> <span class="n">240</span><span class="k2">)</span> r <span class="k3">=</span> <span class="n">240</span><span class="k2">;</span>
<span class="number">  43</span>                          <span class="k2">}</span>
<span class="number">  44</span>                          <span class="c">//if cursor is over green color slider and left-mouse button is held</span>
<span class="number">  45</span>                          <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>cursor-&gt;x <span class="k3">&gt;</span><span class="k3">=</span> <span class="n">55</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>cursor-&gt;y <span class="k3">&gt;</span> <span class="n">687</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>cursor-&gt;x <span class="k3">&lt;</span><span class="k3">=</span> <span class="n">210</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>cursor-&gt;y <span class="k3">&lt;</span> <span class="n">713</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/mouse_b" target="_blank"><span class="a">mouse_b</span></a> <span class="k3">&amp;</span> <span class="n">1</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  46</span>                          <span class="k2">{</span>
<span class="number">  47</span>                                   g <span class="k3">=</span> .<span class="n">68</span> <span class="k3">*</span> cursor-&gt;x <span class="k3">+</span> <span class="n">100</span><span class="k2">;</span>
<span class="number">  48</span>                                   <span class="k1">if</span><span class="k2">(</span>g <span class="k3">&lt;</span> <span class="n">140</span><span class="k2">)</span> g <span class="k3">=</span> <span class="n">140</span><span class="k2">;</span>
<span class="number">  49</span>                                   <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>g <span class="k3">&gt;</span> <span class="n">240</span><span class="k2">)</span> g <span class="k3">=</span> <span class="n">240</span><span class="k2">;</span>
<span class="number">  50</span>                          <span class="k2">}</span>
<span class="number">  51</span>                          <span class="c">//if cursor is over red color slider and left-mouse button is held</span>
<span class="number">  52</span>                          <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>cursor-&gt;x <span class="k3">&gt;</span><span class="k3">=</span> <span class="n">55</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>cursor-&gt;y <span class="k3">&gt;</span> <span class="n">718</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>cursor-&gt;x <span class="k3">&lt;</span><span class="k3">=</span> <span class="n">210</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>cursor-&gt;y <span class="k3">&lt;</span> <span class="n">744</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/mouse_b" target="_blank"><span class="a">mouse_b</span></a> <span class="k3">&amp;</span> <span class="n">1</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  53</span>                          <span class="k2">{</span>
<span class="number">  54</span>                                   b <span class="k3">=</span> .<span class="n">68</span> <span class="k3">*</span> cursor-&gt;x <span class="k3">+</span> <span class="n">100</span><span class="k2">;</span>
<span class="number">  55</span>                                   <span class="k1">if</span><span class="k2">(</span>b <span class="k3">&lt;</span> <span class="n">140</span><span class="k2">)</span> b <span class="k3">=</span> <span class="n">140</span><span class="k2">;</span>
<span class="number">  56</span>                                   <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>b <span class="k3">&gt;</span> <span class="n">240</span><span class="k2">)</span> b <span class="k3">=</span> <span class="n">240</span><span class="k2">;</span>
<span class="number">  57</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">//save frames</span>
<span class="number">  61</span>             <span class="k1">for</span><span class="k2">(</span>n<span class="k3">=</span><span class="n">0</span><span class="k2">;</span> n<span class="k3">&lt;</span><span class="n">4</span><span class="k2">;</span> n<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number">  62</span>             <span class="k2">{</span>
<span class="number">  63</span>                      <span class="c">//if cursor is over save frame...</span>
<span class="number">  64</span>                      <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>cursor-&gt;x <span class="k3">&gt;</span> sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>x<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>cursor-&gt;y <span class="k3">&gt;</span> sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>y<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span>
<span class="number">  65</span>                         <span class="k2">(</span>cursor-&gt;x <span class="k3">&lt;</span> sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>x <span class="k3">+</span> <span class="n">200</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>cursor-&gt;y <span class="k3">&lt;</span> sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>y <span class="k3">+</span> <span class="n">125</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  66</span>                      <span class="k2">{</span>
<span class="number">  67</span>                           <span class="k1">if</span><span class="k2">(</span>save_check<span class="k2">(</span>n<span class="k2">)</span> <span class="k3">=</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span> <span class="c">//if no save file, make save option</span>
<span class="number">  68</span>                           <span class="k2">{</span>
<span class="number">  69</span>                                    sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>red <span class="k3">=</span> <span class="n">150</span><span class="k2">;</span>
<span class="number">  70</span>                                    sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>green <span class="k3">=</span> <span class="n">255</span><span class="k2">;</span>
<span class="number">  71</span>                                    sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>blue <span class="k3">=</span> <span class="n">150</span><span class="k2">;</span>
<span class="number">  72</span>                                    
<span class="number">  73</span>                                    sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>type <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  74</span>                                    
<span class="number">  75</span>                                    <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/mouse_b" target="_blank"><span class="a">mouse_b</span></a> <span class="k3">&amp;</span> <span class="n">1</span><span class="k2">)</span>
<span class="number">  76</span>                                    <span class="k2">{</span>
<span class="number">  77</span>                                               save_file<span class="k2">(</span>n<span class="k2">)</span><span class="k2">;</span>
<span class="number">  78</span>                                               
<span class="number">  79</span>                                               sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>red <span class="k3">=</span> <span class="n">250</span><span class="k2">;</span>
<span class="number">  80</span>                                               sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>green <span class="k3">=</span> <span class="n">255</span><span class="k2">;</span>
<span class="number">  81</span>                                               sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>blue <span class="k3">=</span> <span class="n">250</span><span class="k2">;</span>
<span class="number">  82</span>                                    <span class="k2">}</span>
<span class="number">  83</span>                           <span class="k2">}</span>
<span class="number">  84</span>                           <span class="k1">else</span> <span class="c">//if there is a save file, make save/load/delete options</span>
<span class="number">  85</span>                           <span class="k2">{</span>
<span class="number">  86</span>                                    sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>type <span class="k3">=</span> <span class="n">2</span><span class="k2">;</span>
<span class="number">  87</span>                                    
<span class="number">  88</span>                                    <span class="c">//if cursor is over save icon</span>
<span class="number">  89</span>                                    <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>cursor-&gt;x <span class="k3">&gt;</span> sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>x<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>cursor-&gt;y <span class="k3">&gt;</span> sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>y<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span>
<span class="number">  90</span>                                       <span class="k2">(</span>cursor-&gt;x <span class="k3">&lt;</span> sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>x <span class="k3">+</span> <span class="n">65</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>cursor-&gt;y <span class="k3">&lt;</span> sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>y <span class="k3">+</span> <span class="n">125</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  91</span>                                    <span class="k2">{</span>
<span class="number">  92</span>                                        sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>red <span class="k3">=</span> <span class="n">150</span><span class="k2">;</span>
<span class="number">  93</span>                                        sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>green <span class="k3">=</span> <span class="n">255</span><span class="k2">;</span>
<span class="number">  94</span>                                        sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>blue <span class="k3">=</span> <span class="n">150</span><span class="k2">;</span>
<span class="number">  95</span>                                        
<span class="number">  96</span>                                        <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/mouse_b" target="_blank"><span class="a">mouse_b</span></a> <span class="k3">&amp;</span> <span class="n">1</span><span class="k2">)</span>
<span class="number">  97</span>                                        <span class="k2">{</span>
<span class="number">  98</span>                                                   save_file<span class="k2">(</span>n<span class="k2">)</span><span class="k2">;</span>
<span class="number">  99</span>                                                   
<span class="number"> 100</span>                                                   sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>red <span class="k3">=</span> <span class="n">250</span><span class="k2">;</span>
<span class="number"> 101</span>                                                   sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>green <span class="k3">=</span> <span class="n">255</span><span class="k2">;</span>
<span class="number"> 102</span>                                                   sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>blue <span class="k3">=</span> <span class="n">250</span><span class="k2">;</span>
<span class="number"> 103</span>                                        <span class="k2">}</span>
<span class="number"> 104</span>                                    <span class="k2">}</span>
<span class="number"> 105</span>                                    <span class="c">//if cursor is over load icon</span>
<span class="number"> 106</span>                                    <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>cursor-&gt;x <span class="k3">&gt;</span><span class="k3">=</span> sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>x <span class="k3">+</span> <span class="n">65</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>cursor-&gt;y <span class="k3">&gt;</span> sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>y<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span>
<span class="number"> 107</span>                                       <span class="k2">(</span>cursor-&gt;x <span class="k3">&lt;</span> sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>x <span class="k3">+</span> <span class="n">120</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>cursor-&gt;y <span class="k3">&lt;</span> sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>y <span class="k3">+</span> <span class="n">125</span><span class="k2">)</span><span class="k2">)</span>
<span class="number"> 108</span>                                    <span class="k2">{</span>
<span class="number"> 109</span>                                        sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>red <span class="k3">=</span> <span class="n">150</span><span class="k2">;</span>
<span class="number"> 110</span>                                        sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>green <span class="k3">=</span> <span class="n">150</span><span class="k2">;</span>
<span class="number"> 111</span>                                        sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>blue <span class="k3">=</span> <span class="n">255</span><span class="k2">;</span>
<span class="number"> 112</span>                                    <span class="k2">}</span>
<span class="number"> 113</span>                                    <span class="c">//if cursor is over delete icon</span>
<span class="number"> 114</span>                                    <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>cursor-&gt;x <span class="k3">&gt;</span><span class="k3">=</span> sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>x <span class="k3">+</span> <span class="n">120</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>cursor-&gt;y <span class="k3">&gt;</span> sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>y<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span>
<span class="number"> 115</span>                                       <span class="k2">(</span>cursor-&gt;x <span class="k3">&lt;</span> sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>x <span class="k3">+</span> <span class="n">200</span><span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>cursor-&gt;y <span class="k3">&lt;</span> sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>y <span class="k3">+</span> <span class="n">125</span><span class="k2">)</span><span class="k2">)</span>
<span class="number"> 116</span>                                    <span class="k2">{</span>
<span class="number"> 117</span>                                        sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>red <span class="k3">=</span> <span class="n">255</span><span class="k2">;</span>
<span class="number"> 118</span>                                        sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>green <span class="k3">=</span> <span class="n">150</span><span class="k2">;</span>
<span class="number"> 119</span>                                        sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>blue <span class="k3">=</span> <span class="n">150</span><span class="k2">;</span>
<span class="number"> 120</span>                                        
<span class="number"> 121</span>                                        <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/mouse_b" target="_blank"><span class="a">mouse_b</span></a> <span class="k3">&amp;</span> <span class="n">1</span><span class="k2">)</span>
<span class="number"> 122</span>                                        <span class="k2">{</span>
<span class="number"> 123</span>                                                   trash_file<span class="k2">(</span>n<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 124</span>                                                   
<span class="number"> 125</span>                                                   sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>red <span class="k3">=</span> <span class="n">255</span><span class="k2">;</span>
<span class="number"> 126</span>                                                   sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>green <span class="k3">=</span> <span class="n">250</span><span class="k2">;</span>
<span class="number"> 127</span>                                                   sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>blue <span class="k3">=</span> <span class="n">250</span><span class="k2">;</span>
<span class="number"> 128</span>                                        <span class="k2">}</span>
<span class="number"> 129</span>                                    <span class="k2">}</span>
<span class="number"> 130</span>                           <span class="k2">}</span>
<span class="number"> 131</span>                      <span class="k2">}</span>
<span class="number"> 132</span>                      <span class="c">//otherwise get color back to normal</span>
<span class="number"> 133</span>                      <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span><span class="k2">(</span>sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>red <span class="k3">&lt;</span> <span class="n">255</span><span class="k2">)</span> <span class="k3">|</span><span class="k3">|</span> <span class="k2">(</span>sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>green <span class="k3">&lt;</span> <span class="n">255</span><span class="k2">)</span> <span class="k3">|</span><span class="k3">|</span> <span class="k2">(</span>sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>blue <span class="k3">&lt;</span> <span class="n">255</span><span class="k2">)</span><span class="k2">)</span>
<span class="number"> 134</span>                      <span class="k2">{</span>
<span class="number"> 135</span>                           sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>type <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 136</span>                           
<span class="number"> 137</span>                           <span class="k1">if</span><span class="k2">(</span>sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>red <span class="k3">&lt;</span> <span class="n">255</span><span class="k2">)</span> sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>red<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 138</span>                           <span class="k1">if</span><span class="k2">(</span>sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>green <span class="k3">&lt;</span> <span class="n">255</span><span class="k2">)</span> sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>green<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 139</span>                           <span class="k1">if</span><span class="k2">(</span>sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>blue <span class="k3">&lt;</span> <span class="n">255</span><span class="k2">)</span> sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>blue<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 140</span>                      <span class="k2">}</span>
<span class="number"> 141</span>             <span class="k2">}</span>
<span class="number"> 142</span>         <span class="k2">}</span>
<span class="number"> 143</span>     <span class="k2">}</span>
<span class="number"> 144</span>     <span class="k1">else</span>
<span class="number"> 145</span>     <span class="k2">{</span>
<span class="number"> 146</span>         scroll_disabled <span class="k3">=</span> head-&gt;state<span class="k2">;</span>
<span class="number"> 147</span>         menu-&gt;state <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 148</span>         <span class="k1">for</span><span class="k2">(</span>n<span class="k3">=</span><span class="n">0</span><span class="k2">;</span> n<span class="k3">&lt;</span><span class="n">4</span><span class="k2">;</span> n<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span> sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>alive <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> <span class="c">//don't draw save frames</span>
<span class="number"> 149</span>         
<span class="number"> 150</span>         <span class="k1">if</span><span class="k2">(</span>menu-&gt;x <span class="k3">&gt;</span> <span class="k3">-</span><span class="n">250</span><span class="k2">)</span>
<span class="number"> 151</span>         <span class="k2">{</span>
<span class="number"> 152</span>             menu-&gt;x <span class="k3">-</span><span class="k3">=</span> menu-&gt;speed<span class="k2">;</span>
<span class="number"> 153</span>             <span class="k1">if</span><span class="k2">(</span>menu-&gt;x <span class="k3">&lt;</span> <span class="k3">-</span><span class="n">250</span><span class="k2">)</span> menu-&gt;x <span class="k3">=</span> <span class="k3">-</span><span class="n">250</span><span class="k2">;</span> <span class="c">//don't push the menu in too far</span>
<span class="number"> 154</span>             <span class="k1">for</span><span class="k2">(</span>n<span class="k3">=</span><span class="n">0</span><span class="k2">;</span> n<span class="k3">&lt;</span><span class="n">4</span><span class="k2">;</span> n<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span> sframe<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>alive <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span> <span class="c">//draw save frames</span>
<span class="number"> 155</span>         <span class="k2">}</span>
<span class="number"> 156</span>     <span class="k2">}</span>
<span class="number"> 157</span><span class="k2">}</span>
</div></div><p>

I just figured it would be a lot of code to go through.</p><p>[quote Johan]Before remove(), try to examin the state of the file and write it on the screen. Is the file open, is it protected, whatever. I bet it is open.&lt;/quote&gt;</p><p>Capital idea! However, file handling in C is new to me, and I wasn&#039;t really well versed with it in C++ to begin with. So I&#039;m not sure how to do that, but I am currently googling it.</p><p>[quote Jakub]&quot;Permission denied&quot; under Windows is usually only caused by the file still being open, either by the same or another process. Double-check that all handles to the file are closed.&lt;/quote&gt;</p><p>Yup, that sounds like the case. However, every function that handles a file starts with <span class="source-code">FILE<span class="k3">*</span> mb_save<span class="k2">;</span></span> and ends with <span class="source-code"><a href="http://www.delorie.com/djgpp/doc/libc/libc_308.html" target="_blank">fclose</a><span class="k2">(</span>mb_save<span class="k2">)</span><span class="k2">;</span></span> And it&#039;s only three functions, so it&#039;s not easy to miss one.</p><p>[quote Audric]You can try Sysinternals&#039; &quot;Process Explorer&quot; to check for open files&lt;/quote&gt;</p><p>Thanks, I will look into that.</p><p>[quote James]I think the explanation is that you are in the wrong directory. Does Dev-C++ run your programs from its bin directory or from the directory you loaded the project from?&lt;/quote&gt;</p><p>I do believe it runs programs from the directory the project was loaded from. Also, the fact that it can be deleted in main() leads me to believe this as well.</p><p>[quote James]You could try typing the full path to the file&lt;/quote&gt;</p><p>No good, the error remains the same. You don&#039;t think that the file being on a partitioned drive would affect it do you? I mean, this works in main(), so I assume that&#039;s not the problem.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Seraph6)</author>
		<pubDate>Sat, 29 Jul 2006 01:41:04 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>
Are you sure that no other program has the file or directory open?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Richard Phipps)</author>
		<pubDate>Sat, 29 Jul 2006 01:57:19 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;m gonna throw this up in case anyone really wants to check my file handling.<br />Here&#39;s the only file that does any file handling on the saves. 
</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="c">////////////////////////////////////////////////////////////////////////////////</span></td></tr><tr><td class="number">2</td><td><span class="c">//Corey Gardner</span></td></tr><tr><td class="number">3</td><td><span class="c">//Music Box.exe</span></td></tr><tr><td class="number">4</td><td><span class="c">//save.c</span></td></tr><tr><td class="number">5</td><td><span class="c">//7/20/2006</span></td></tr><tr><td class="number">6</td><td><span class="c">////////////////////////////////////////////////////////////////////////////////</span></td></tr><tr><td class="number">7</td><td>&#160;</td></tr><tr><td class="number">8</td><td><span class="k1">void</span> load_file<span class="k2">(</span><span class="k1">int</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">9</td><td><span class="k1">void</span> trash_file<span class="k2">(</span><span class="k1">int</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">10</td><td><span class="k1">int</span> save_check<span class="k2">(</span><span class="k1">int</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">11</td><td><span class="k1">void</span> save_file<span class="k2">(</span><span class="k1">int</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">12</td><td>&#160;</td></tr><tr><td class="number">13</td><td><span class="k1">void</span> load_file<span class="k2">(</span><span class="k1">int</span> x<span class="k2">)</span></td></tr><tr><td class="number">14</td><td><span class="k2">{</span></td></tr><tr><td class="number">15</td><td>     FILE<span class="k3">*</span> mb_save<span class="k2">;</span></td></tr><tr><td class="number">16</td><td>     </td></tr><tr><td class="number">17</td><td>     <span class="k1">switch</span><span class="k2">(</span>x<span class="k2">)</span></td></tr><tr><td class="number">18</td><td>     <span class="k2">{</span></td></tr><tr><td class="number">19</td><td>              <span class="k1">case</span> <span class="n">0</span><span class="k2">:</span></td></tr><tr><td class="number">20</td><td>                   mb_save <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_337.html" target="_blank">fopen</a><span class="k2">(</span><span class="s">"mb1.txt"</span>, <span class="s">"r+"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">21</td><td>                   <span class="k1">break</span><span class="k2">;</span></td></tr><tr><td class="number">22</td><td>              <span class="k1">case</span> <span class="n">1</span><span class="k2">:</span></td></tr><tr><td class="number">23</td><td>                   <a href="http://www.delorie.com/djgpp/doc/libc/libc_659.html" target="_blank">remove</a><span class="k2">(</span><span class="s">"mb2.txt"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">24</td><td>                   <span class="k1">break</span><span class="k2">;</span></td></tr><tr><td class="number">25</td><td>              <span class="k1">case</span> <span class="n">2</span><span class="k2">:</span></td></tr><tr><td class="number">26</td><td>                   <a href="http://www.delorie.com/djgpp/doc/libc/libc_659.html" target="_blank">remove</a><span class="k2">(</span><span class="s">"mb3.txt"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">27</td><td>                   <span class="k1">break</span><span class="k2">;</span></td></tr><tr><td class="number">28</td><td>              <span class="k1">case</span> <span class="n">3</span><span class="k2">:</span></td></tr><tr><td class="number">29</td><td>                   <a href="http://www.delorie.com/djgpp/doc/libc/libc_659.html" target="_blank">remove</a><span class="k2">(</span><span class="s">"mb4.txt"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">30</td><td>                   <span class="k1">break</span><span class="k2">;</span></td></tr><tr><td class="number">31</td><td>     <span class="k2">}</span></td></tr><tr><td class="number">32</td><td>     </td></tr><tr><td class="number">33</td><td>     <a href="http://www.delorie.com/djgpp/doc/libc/libc_308.html" target="_blank">fclose</a><span class="k2">(</span>mb_save<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">34</td><td><span class="k2">}</span></td></tr><tr><td class="number">35</td><td>&#160;</td></tr><tr><td class="number">36</td><td><span class="k1">void</span> trash_file<span class="k2">(</span><span class="k1">int</span> x<span class="k2">)</span></td></tr><tr><td class="number">37</td><td><span class="k2">{</span></td></tr><tr><td class="number">38</td><td>     <span class="k1">switch</span><span class="k2">(</span>x<span class="k2">)</span></td></tr><tr><td class="number">39</td><td>     <span class="k2">{</span></td></tr><tr><td class="number">40</td><td>              <span class="k1">case</span> <span class="n">0</span><span class="k2">:</span></td></tr><tr><td class="number">41</td><td>                   <a href="http://www.delorie.com/djgpp/doc/libc/libc_659.html" target="_blank">remove</a><span class="k2">(</span><span class="s">"mb1.txt"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">42</td><td>                   <span class="c">/*if(remove("mb1.txt"))</span></td></tr><tr><td class="number">43</td><td><span class="c">                   set_gfx_mode(GFX_TEXT, 0, 0, 0, 0);</span></td></tr><tr><td class="number">44</td><td><span class="c">                   allegro_message("ERROR: File deletion unsuccessful: %s", strerror(errno));*/</span></td></tr><tr><td class="number">45</td><td>                   <span class="k1">break</span><span class="k2">;</span></td></tr><tr><td class="number">46</td><td>              <span class="k1">case</span> <span class="n">1</span><span class="k2">:</span></td></tr><tr><td class="number">47</td><td>                   <a href="http://www.delorie.com/djgpp/doc/libc/libc_659.html" target="_blank">remove</a><span class="k2">(</span><span class="s">"mb2.txt"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">48</td><td>                   <span class="k1">break</span><span class="k2">;</span></td></tr><tr><td class="number">49</td><td>              <span class="k1">case</span> <span class="n">2</span><span class="k2">:</span></td></tr><tr><td class="number">50</td><td>                   <a href="http://www.delorie.com/djgpp/doc/libc/libc_659.html" target="_blank">remove</a><span class="k2">(</span><span class="s">"mb3.txt"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">51</td><td>                   <span class="k1">break</span><span class="k2">;</span></td></tr><tr><td class="number">52</td><td>              <span class="k1">case</span> <span class="n">3</span><span class="k2">:</span></td></tr><tr><td class="number">53</td><td>                   <a href="http://www.delorie.com/djgpp/doc/libc/libc_659.html" target="_blank">remove</a><span class="k2">(</span><span class="s">"mb4.txt"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">54</td><td>                   <span class="k1">break</span><span class="k2">;</span></td></tr><tr><td class="number">55</td><td>     <span class="k2">}</span></td></tr><tr><td class="number">56</td><td><span class="k2">}</span></td></tr><tr><td class="number">57</td><td>&#160;</td></tr><tr><td class="number">58</td><td><span class="k1">int</span> save_check<span class="k2">(</span><span class="k1">int</span> x<span class="k2">)</span></td></tr><tr><td class="number">59</td><td><span class="k2">{</span></td></tr><tr><td class="number">60</td><td>     FILE<span class="k3">*</span> mb_save<span class="k2">;</span></td></tr><tr><td class="number">61</td><td>     </td></tr><tr><td class="number">62</td><td>     <span class="k1">switch</span><span class="k2">(</span>x<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>              <span class="k1">case</span> <span class="n">0</span><span class="k2">:</span></td></tr><tr><td class="number">65</td><td>                   mb_save <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_337.html" target="_blank">fopen</a><span class="k2">(</span><span class="s">"mb1.txt"</span>, <span class="s">"r+"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">66</td><td>                   <span class="k1">if</span><span class="k2">(</span>mb_save <span class="k3">=</span><span class="k3">=</span> NULL<span class="k2">)</span> <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">67</td><td>                   <span class="k1">else</span> <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span></td></tr><tr><td class="number">68</td><td>                   <span class="k1">break</span><span class="k2">;</span></td></tr><tr><td class="number">69</td><td>              <span class="k1">case</span> <span class="n">1</span><span class="k2">:</span></td></tr><tr><td class="number">70</td><td>                   mb_save <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_337.html" target="_blank">fopen</a><span class="k2">(</span><span class="s">"mb2.txt"</span>, <span class="s">"r+"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">71</td><td>                   <span class="k1">if</span><span class="k2">(</span>mb_save <span class="k3">=</span><span class="k3">=</span> NULL<span class="k2">)</span> <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">72</td><td>                   <span class="k1">else</span> <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span></td></tr><tr><td class="number">73</td><td>                   <span class="k1">break</span><span class="k2">;</span></td></tr><tr><td class="number">74</td><td>              <span class="k1">case</span> <span class="n">2</span><span class="k2">:</span></td></tr><tr><td class="number">75</td><td>                   mb_save <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_337.html" target="_blank">fopen</a><span class="k2">(</span><span class="s">"mb3.txt"</span>, <span class="s">"r+"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">76</td><td>                   <span class="k1">if</span><span class="k2">(</span>mb_save <span class="k3">=</span><span class="k3">=</span> NULL<span class="k2">)</span> <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">77</td><td>                   <span class="k1">else</span> <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span></td></tr><tr><td class="number">78</td><td>                   <span class="k1">break</span><span class="k2">;</span></td></tr><tr><td class="number">79</td><td>              <span class="k1">case</span> <span class="n">3</span><span class="k2">:</span></td></tr><tr><td class="number">80</td><td>                   mb_save <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_337.html" target="_blank">fopen</a><span class="k2">(</span><span class="s">"mb4.txt"</span>, <span class="s">"r+"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">81</td><td>                   <span class="k1">if</span><span class="k2">(</span>mb_save <span class="k3">=</span><span class="k3">=</span> NULL<span class="k2">)</span> <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">82</td><td>                   <span class="k1">else</span> <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span></td></tr><tr><td class="number">83</td><td>                   <span class="k1">break</span><span class="k2">;</span></td></tr><tr><td class="number">84</td><td>     <span class="k2">}</span></td></tr><tr><td class="number">85</td><td>     </td></tr><tr><td class="number">86</td><td>     <a href="http://www.delorie.com/djgpp/doc/libc/libc_308.html" target="_blank">fclose</a><span class="k2">(</span>mb_save<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">87</td><td><span class="k2">}</span></td></tr><tr><td class="number">88</td><td>&#160;</td></tr><tr><td class="number">89</td><td><span class="k1">void</span> save_file<span class="k2">(</span><span class="k1">int</span> x<span class="k2">)</span></td></tr><tr><td class="number">90</td><td><span class="k2">{</span></td></tr><tr><td class="number">91</td><td>     FILE<span class="k3">*</span> mb_save<span class="k2">;</span></td></tr><tr><td class="number">92</td><td>     </td></tr><tr><td class="number">93</td><td>     <span class="k1">int</span> tx, ty, tw, th, tr, tg, tb<span class="k2">;</span> <span class="c">//temporary numbers, mainly for float to int conversion</span></td></tr><tr><td class="number">94</td><td>     </td></tr><tr><td class="number">95</td><td>     <span class="k1">switch</span><span class="k2">(</span>x<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>              <span class="k1">case</span> <span class="n">0</span><span class="k2">:</span></td></tr><tr><td class="number">98</td><td>                   mb_save <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_337.html" target="_blank">fopen</a><span class="k2">(</span><span class="s">"mb1.txt"</span>, <span class="s">"w+"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">99</td><td>                   </td></tr><tr><td class="number">100</td><td>                   <span class="c">//save information to file</span></td></tr><tr><td class="number">101</td><td>                   <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>mb_save, <span class="s">"c%-5d"</span>, r<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">102</td><td>                   <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>mb_save, <span class="s">":%-5d"</span>, g<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">103</td><td>                   <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>mb_save, <span class="s">":%-5d"</span>, b<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">104</td><td>                   <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>mb_save, <span class="s">"\n"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">105</td><td>                   </td></tr><tr><td class="number">106</td><td>                   <span class="k1">for</span><span class="k2">(</span>n<span class="k3">=</span><span class="n">0</span><span class="k2">;</span> n<span class="k3">&lt;</span>MAX_SHAPES<span class="k2">;</span> n<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span></td></tr><tr><td class="number">107</td><td>                   <span class="k1">if</span><span class="k2">(</span>n <span class="k3">!</span><span class="k3">=</span> <span class="n">994</span><span class="k2">)</span> <span class="c">//for some reason, this shape doesn't get saved right, so ignore it</span></td></tr><tr><td class="number">108</td><td>                   <span class="k2">{</span></td></tr><tr><td class="number">109</td><td>                            tx <span class="k3">=</span> shape<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>x<span class="k2">;</span></td></tr><tr><td class="number">110</td><td>                            ty <span class="k3">=</span> shape<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>y<span class="k2">;</span></td></tr><tr><td class="number">111</td><td>                            tw <span class="k3">=</span> shape<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>width<span class="k2">;</span></td></tr><tr><td class="number">112</td><td>                            th <span class="k3">=</span> shape<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>height<span class="k2">;</span></td></tr><tr><td class="number">113</td><td>                            tr <span class="k3">=</span> shape<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>red<span class="k2">;</span></td></tr><tr><td class="number">114</td><td>                            tg <span class="k3">=</span> shape<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>green<span class="k2">;</span></td></tr><tr><td class="number">115</td><td>                            tb <span class="k3">=</span> shape<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>blue<span class="k2">;</span></td></tr><tr><td class="number">116</td><td>                            </td></tr><tr><td class="number">117</td><td>                            <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>mb_save, <span class="s">"s%-5d"</span>, n<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">118</td><td>                            <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>mb_save, <span class="s">":%-5d"</span>, shape<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>alive<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">119</td><td>                            <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>mb_save, <span class="s">":%-5d"</span>, tx<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">120</td><td>                            <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>mb_save, <span class="s">":%-5d"</span>, ty<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">121</td><td>                            <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>mb_save, <span class="s">":%-5d"</span>, shape<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>width<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">122</td><td>                            <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>mb_save, <span class="s">":%-5d"</span>, shape<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>height<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">123</td><td>                            <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>mb_save, <span class="s">":%-5d"</span>, shape<span class="k2">[</span>n<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>type<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">124</td><td>                            <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>mb_save, <span class="s">":%-5d"</span>, tr<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">125</td><td>                            <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>mb_save, <span class="s">":%-5d"</span>, tg<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">126</td><td>                            <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>mb_save, <span class="s">":%-5d"</span>, tb<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">127</td><td>                            <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>mb_save, <span class="s">"\n"</span><span class="k2">)</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">break</span><span class="k2">;</span></td></tr><tr><td class="number">130</td><td>              <span class="k1">case</span> <span class="n">1</span><span class="k2">:</span></td></tr><tr><td class="number">131</td><td>                   mb_save <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_337.html" target="_blank">fopen</a><span class="k2">(</span><span class="s">"mb2.txt"</span>, <span class="s">"w+"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">132</td><td>                   <span class="k1">break</span><span class="k2">;</span></td></tr><tr><td class="number">133</td><td>              <span class="k1">case</span> <span class="n">2</span><span class="k2">:</span></td></tr><tr><td class="number">134</td><td>                   mb_save <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_337.html" target="_blank">fopen</a><span class="k2">(</span><span class="s">"mb3.txt"</span>, <span class="s">"w+"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">135</td><td>                   <span class="k1">break</span><span class="k2">;</span></td></tr><tr><td class="number">136</td><td>              <span class="k1">case</span> <span class="n">3</span><span class="k2">:</span></td></tr><tr><td class="number">137</td><td>                   mb_save <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_337.html" target="_blank">fopen</a><span class="k2">(</span><span class="s">"mb4.txt"</span>, <span class="s">"w+"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">138</td><td>                   <span class="k1">break</span><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.delorie.com/djgpp/doc/libc/libc_308.html" target="_blank">fclose</a><span class="k2">(</span>mb_save<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">142</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>

The only other file handling that the program does is the main() function with the data file. Speaking of which, you don&#39;t think the *argv[] in main&#39;s parameters would be causing this do you?</p><p>EDIT: I think I may have figured it out. Apparently the constant checking of if a file exists is interfering with completing other actions on the file. Which is odd because logically, the way the functions run, they shouldn&#39;t be interfering with each other. But I got rid of constantly checking on the file&#39;s existance, and it deleted fine. Now I just have to reprogram the same effect without constantly checking the file.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Seraph6)</author>
		<pubDate>Sat, 29 Jul 2006 02:13:01 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I hope you realize your save_check function does NOT close the file if it is found, notice you return from the function yet your flcose statement is at the bottom. If you close it before returning, it should fix your issue. Why would you check to see if a file exists anyway every time in a loop? Besides that use stat instead of fopen to check if a file exists, it will be much quicker and less resources will be used.</p><div class="source-code snippet"><div class="inner"><pre>include <span class="k3">&lt;</span>stat.h&gt;

<span class="k1">int</span> fexist<span class="k2">(</span> <span class="k1">char</span> <span class="k3">*</span>filename <span class="k2">)</span> <span class="k2">{</span>
  <span class="k1">struct</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_744.html" target="_blank">stat</a> buffer <span class="k2">;</span>
  <span class="k1">if</span> <span class="k2">(</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_744.html" target="_blank">stat</a><span class="k2">(</span> filename, <span class="k3">&amp;</span>buffer <span class="k2">)</span> <span class="k2">)</span> <span class="k1">return</span> <span class="n">1</span> <span class="k2">;</span>
  <span class="k1">return</span> <span class="n">0</span> <span class="k2">;</span>
<span class="k2">}</span>
</pre></div></div><p>
Cookies for teh win!!!!!!!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Steve Terry)</author>
		<pubDate>Sat, 29 Jul 2006 03:27:42 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>What&#39;s wrong with using Allegro&#39;s exists() function?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Evert)</author>
		<pubDate>Sat, 29 Jul 2006 03:40:31 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Steve said:</div><div class="quote"><p>
I hope you realize your save_check function does NOT close the file if it is found
</p></div></div><p>

Thanks, I notice that now. Very stupid mistake that slipped by me.</p><div class="quote_container"><div class="title">Steve said:</div><div class="quote"><p>
Why would you check to see if a file exists anyway every time in a loop?
</p></div></div><p>

I think I did it so that... you know what? I don&#39;t remember why. Hmm...</p><div class="quote_container"><div class="title">Steve said:</div><div class="quote"><p>
Besides that use stat instead of fopen to check if a file exists, it will be much quicker and less resources will be used.
</p></div></div><p>

Thanks, I assume that checks the status of the file (hence &quot;stat&quot;). I&#39;m not sure I completely get how it works quite yet, but it&#39;s not too hard to understand.</p><div class="quote_container"><div class="title">Evert said:</div><div class="quote"><p>
What&#39;s wrong with using Allegro&#39;s exists() function?
</p></div></div><p>

I&#39;m not familiar with that function. Is there somewhere on allegro.cc I could read about it?</p><p>A note to everyone who posted here, my credits for the game are short, so I decided I could fit all who contributed help in a little thanks section of the credits.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Seraph6)</author>
		<pubDate>Sun, 30 Jul 2006 02:33:37 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="source-code snippet"><div class="inner"><pre><span class="k1">int</span> <a href="http://www.allegro.cc/manual/file_exists" target="_blank"><span class="a">file_exists</span></a><span class="k2">(</span><span class="k1">const</span> <span class="k1">char</span> <span class="k3">*</span>filename, <span class="k1">int</span> attrib, <span class="k1">int</span> <span class="k3">*</span>aret<span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>

And your switch way of figuring out which file to load is very ugly. You could just make the filename based on the id:</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">void</span> blah<span class="k2">(</span><span class="k1">int</span> id<span class="k2">)</span>
<span class="k2">{</span>
    <span class="k1">char</span> filename<span class="k2">[</span><span class="n">512</span><span class="k2">]</span><span class="k2">;</span>
    <a href="http://www.delorie.com/djgpp/doc/libc/libc_732.html" target="_blank">snprintf</a><span class="k2">(</span>filename, <span class="n">512</span>, <span class="s">"fileblah%d.txt"</span>, id<span class="k2">)</span><span class="k2">;</span> <span class="c">// makes fileblah{id}.txt</span>
    <a href="http://www.delorie.com/djgpp/doc/libc/libc_337.html" target="_blank">fopen</a><span class="k2">(</span>filename, ...<span class="k2">)</span><span class="k2">;</span>
    <span class="c">// ...</span>
<span class="k2">}</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (BAF)</author>
		<pubDate>Sun, 30 Jul 2006 04:22:57 +0000</pubDate>
	</item>
</rss>
