<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Getting the number of objects in a datafile?</title>
		<link>http://www.allegro.cc/forums/view/311301</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Thu, 30 Oct 2003 18:20:20 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I have an Allegro datafile with a number of BMP objects (tiles) in it being loaded in my program, and am trying to figure out an easy way to figure out how many objects total are in the datafile, is there an easy/clever way to do this?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Erik Grahn)</author>
		<pubDate>Thu, 30 Oct 2003 17:56:53 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="source-code snippet"><div class="inner"><pre><span class="k1">int</span> NumObjs <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span><span class="k2">;</span>
<a href="http://www.allegro.cc/manual/DATAFILE" target="_blank"><span class="a">DATAFILE</span></a> <span class="k3">*</span>DataFile <span class="k3">=</span> NULL<span class="k2">;</span>

<span class="k1">if</span> <span class="k2">(</span><span class="k2">(</span>DataFile <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_datafile" target="_blank"><span class="a">load_datafile</span></a> <span class="k2">(</span><span class="s">"file.dat"</span><span class="k2">)</span><span class="k3">!</span><span class="k3">=</span>NULL<span class="k2">)</span> <span class="k2">{</span>
   <span class="k1">while</span> <span class="k2">(</span>DataFile<span class="k2">[</span>NumObjs<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>type <span class="k3">!</span><span class="k3">=</span> DAT_END<span class="k2">)</span>
      <span class="k3">+</span><span class="k3">+</span>NumObjs<span class="k2">;</span>
<span class="k2">}</span>
<a href="http://www.allegro.cc/manual/unload_datafile" target="_blank"><span class="a">unload_datafile</span></a> <span class="k2">(</span>DataFile<span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>

Didn&#39;t tested.</p><p>Note that will count the number of objects. To count only bitmaps (no palette):</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">int</span> NumBitmaps <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="k2">(</span>...<span class="k2">)</span>
   <span class="k1">while</span> <span class="k2">(</span>DataFile<span class="k2">[</span>NumObjs<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>type <span class="k3">!</span><span class="k3">=</span> DAT_END<span class="k2">)</span> <span class="k2">{</span>
      <span class="k1">if</span> <span class="k2">(</span>DataFile<span class="k2">[</span>NumObjs<span class="k2">]</span><span class="k3">-</span><span class="k3">&gt;</span>type <span class="k3">=</span><span class="k3">=</span> DAT_BITMAP<span class="k2">)</span>
         <span class="k3">+</span><span class="k3">+</span>NumBitmaps<span class="k2">;</span>
      <span class="k3">+</span><span class="k3">+</span>NumObjs<span class="k2">;</span>
   <span class="k2">}</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Niunio)</author>
		<pubDate>Thu, 30 Oct 2003 18:05:41 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>
There&#39;s a sizable and informative thread on this topic somewhere; try a search ...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (23yrold3yrold)</author>
		<pubDate>Thu, 30 Oct 2003 18:06:48 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yes, cool, thanks both. Actually, Niunio, I saw your first post before you added the checking for BITMAP objects but I came up with something similar myself, this should work now. <img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" /> Methinks it&#39;s rather strange that the number of objects isn&#39;t stored somewhere in the datafile structure though...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Erik Grahn)</author>
		<pubDate>Thu, 30 Oct 2003 18:20:20 +0000</pubDate>
	</item>
</rss>
