<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>floodfill question</title>
		<link>http://www.allegro.cc/forums/view/417376</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Wed, 13 Oct 2004 02:15:57 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>In flood.c of the allegro source I see it grows an area of scratch memory. Which is defined in the aintern.h file:</p><div class="source-code snippet"><div class="inner"><pre>AL_INLINE<span class="k2">(</span><span class="k1">void</span>, _grow_scratch_mem, <span class="k2">(</span><span class="k1">int</span> size<span class="k2">)</span>,
<span class="k2">{</span>
   <span class="k1">if</span> <span class="k2">(</span>size <span class="k3">&gt;</span> _scratch_mem_size<span class="k2">)</span> <span class="k2">{</span>
      size <span class="k3">=</span> <span class="k2">(</span>size<span class="k3">+</span><span class="n">1023</span><span class="k2">)</span> <span class="k3">&amp;</span> <span class="n">0xFFFFFC00</span><span class="k2">;</span>
      _scratch_mem <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_648.html" target="_blank">realloc</a><span class="k2">(</span>_scratch_mem, size<span class="k2">)</span><span class="k2">;</span>
      _scratch_mem_size <span class="k3">=</span> size<span class="k2">;</span>
   <span class="k2">}</span>
<span class="k2">}</span><span class="k2">)</span>
</pre></div></div><p>

But I can&#39;t see where this memory is freed, does this memory always sit in the background after a floodfill? Am I missing something..???
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Richard Phipps)</author>
		<pubDate>Tue, 12 Oct 2004 23:38:26 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>scratch memory is used throughout Allegro and is shared everywhere. It&#39;s only freed when Allegro exits.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Bob)</author>
		<pubDate>Wed, 13 Oct 2004 00:33:07 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yeah, I was at a miss the first time I checked polygon source. I wonder if you declare it extern and link with Allegro, later you can use it for your own purposes...</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">/* allegro_exit:</span></td></tr><tr><td class="number">2</td><td><span class="c"> *  Closes down the Allegro system.</span></td></tr><tr><td class="number">3</td><td><span class="c"> */</span></td></tr><tr><td class="number">4</td><td><span class="k1">void</span> <a href="http://www.allegro.cc/manual/allegro_exit" target="_blank"><span class="a">allegro_exit</span></a><span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">5</td><td><span class="k2">{</span></td></tr><tr><td class="number">6</td><td>   <span class="k1">while</span> <span class="k2">(</span>exit_func_list<span class="k2">)</span></td></tr><tr><td class="number">7</td><td>      <span class="k2">(</span><span class="k3">*</span><span class="k2">(</span>exit_func_list-&gt;funcptr<span class="k2">)</span><span class="k2">)</span><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">8</td><td>&#160;</td></tr><tr><td class="number">9</td><td>   <span class="k1">if</span> <span class="k2">(</span>system_driver<span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">10</td><td>      system_driver-&gt;exit<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">11</td><td>      system_driver <span class="k3">=</span> NULL<span class="k2">;</span></td></tr><tr><td class="number">12</td><td>   <span class="k2">}</span></td></tr><tr><td class="number">13</td><td>&#160;</td></tr><tr><td class="number">14</td><td>   <span class="k1">if</span> <span class="k2">(</span>_scratch_mem<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_350.html" target="_blank">free</a><span class="k2">(</span>_scratch_mem<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">16</td><td>      _scratch_mem <span class="k3">=</span> NULL<span class="k2">;</span></td></tr><tr><td class="number">17</td><td>      _scratch_mem_size <span class="k3">=</span> <span class="n">0</span><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="k2">}</span></td></tr></tbody></table></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ReyBrujo)</author>
		<pubDate>Wed, 13 Oct 2004 00:43:21 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>
Repeated use of floodfill seems to be growing this scratch_memory too much. Is there a way I can free the memory after each fill, without damaging the rest of Allegro?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Richard Phipps)</author>
		<pubDate>Wed, 13 Oct 2004 02:03:32 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>Repeated use of floodfill seems to be growing this scratch_memory too much. Is there a way I can free the memory after each fill, without damaging the rest of Allegro?</p></div></div><p>
The scratch memory is reused between floodfills. You&#39;ll only end up allocating enough scratch to do the largest floodfill you&#39;ve ever done.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Bob)</author>
		<pubDate>Wed, 13 Oct 2004 02:06:24 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>
Ah I see, I misunderstood. Sorry about that! <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Richard Phipps)</author>
		<pubDate>Wed, 13 Oct 2004 02:15:57 +0000</pubDate>
	</item>
</rss>
