<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Using An Array of DATAFILES</title>
		<link>http://www.allegro.cc/forums/view/575239</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Thu, 06 Apr 2006 00:25:54 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I am trying to make it so that my level editor will read a directory, get all the file names of datafiles, and then count the number of bitmaps inside of the file. I am trying to make it this way so I can add and remove datafiles without hardcoding it into the editor. I can do all but the last. I read how do do it with a single declared datafile here: <a href="http://www.allegro.cc/forums/thread/311301">http://www.allegro.cc/forums/thread/311301</a> . My question is how do this with an array of datafiles or What other method should I use?</p><p>std::string filelist[50];//array of the data file names <br />int filecount            //number of datafiles int he directory<br />DATAFILE* TileFiles[50]; //array of data files<br />int NumberOfBitmaps[50]; //number of bitmaps in the datafile</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> CSelectTileWindow::LoadDataFiles<span class="k2">(</span><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>  </td></tr><tr><td class="number">4</td><td>  <span class="k1">for</span> <span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> filecount<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</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>    TileFiles<span class="k3">&lt;</span>i&gt; <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>filelist<span class="k3">&lt;</span>i&gt;.c_str<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">7</td><td>    NumberOfBitmaps<span class="k3">&lt;</span>i&gt; <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">8</td><td>                </td></tr><tr><td class="number">9</td><td>                <span class="c">//This part crashes. I do not know what to do here</span></td></tr><tr><td class="number">10</td><td>    <span class="k1">while</span> <span class="k2">(</span>TileFiles<span class="k3">&lt;</span>i&gt;<span class="k2">[</span>NumberOfBitmaps<span class="k3">&lt;</span>i&gt;<span class="k2">]</span>.type <span class="k3">!</span><span class="k3">=</span> DAT_END<span class="k2">)</span></td></tr><tr><td class="number">11</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">12</td><td>      NumberOfBitmaps<span class="k3">&lt;</span>i&gt;<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span></td></tr><tr><td class="number">13</td><td>    <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><span class="k2">}</span></td></tr></tbody></table></div></div><p>

Thank you for your time.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (cd wheat)</author>
		<pubDate>Mon, 27 Mar 2006 14:55:49 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I would do it something like...</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td>std::string filelist<span class="k2">[</span><span class="n">50</span><span class="k2">]</span><span class="k2">;</span><span class="c">//array of the data file names</span></td></tr><tr><td class="number">2</td><td><span class="k1">int</span> filecount<span class="k2">;</span> <span class="c">//number of datafiles int he directory</span></td></tr><tr><td class="number">3</td><td><a href="http://www.allegro.cc/manual/DATAFILE" target="_blank"><span class="a">DATAFILE</span></a><span class="k3">*</span> TileFiles<span class="k2">[</span><span class="n">50</span><span class="k2">]</span><span class="k2">;</span> <span class="c">//array of data files</span></td></tr><tr><td class="number">4</td><td><a href="http://www.allegro.cc/manual/DATAFILE" target="_blank"><span class="a">DATAFILE</span></a> <span class="k3">*</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_470.html" target="_blank">index</a><span class="k2">;</span></td></tr><tr><td class="number">5</td><td><span class="k1">int</span> NumberOfBitmaps<span class="k2">[</span><span class="n">50</span><span class="k2">]</span><span class="k2">;</span> <span class="c">//number of bitmaps in the datafile</span></td></tr><tr><td class="number">6</td><td>&#160;</td></tr><tr><td class="number">7</td><td><span class="k1">void</span> CSelectTileWindow::LoadDataFiles<span class="k2">(</span><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">for</span> <span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> filecount<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span></td></tr><tr><td class="number">10</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">11</td><td>        TileFiles<span class="k3">&lt;</span>i&gt; <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>filelist<span class="k3">&lt;</span>i&gt;.c_str<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">12</td><td>        <span class="k1">if</span> <span class="k2">(</span>TileFiles<span class="k3">&lt;</span>i&gt; <span class="k3">!</span><span class="k3">=</span> NULL<span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">13</td><td>            NumberOfBitmaps<span class="k3">&lt;</span>i&gt; <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td>&#160;</td></tr><tr><td class="number">15</td><td>            <a href="http://www.delorie.com/djgpp/doc/libc/libc_470.html" target="_blank">index</a> <span class="k3">=</span> TileFiles<span class="k3">&lt;</span>i&gt;<span class="k2">;</span></td></tr><tr><td class="number">16</td><td>            <span class="k1">while</span> <span class="k2">(</span>index-&gt;type <span class="k3">!</span><span class="k3">=</span> DAT_END<span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">17</td><td>                <span class="k1">if</span> <span class="k2">(</span>index-&gt;type <span class="k3">=</span><span class="k3">=</span> DAT_BITMAP<span class="k2">)</span></td></tr><tr><td class="number">18</td><td>                    NumberOfBitmaps<span class="k3">&lt;</span>i&gt;<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span></td></tr><tr><td class="number">19</td><td>                <a href="http://www.delorie.com/djgpp/doc/libc/libc_470.html" target="_blank">index</a><span class="k3">+</span><span class="k3">+</span><span class="k2">;</span></td></tr><tr><td class="number">20</td><td>            <span class="k2">}</span></td></tr><tr><td class="number">21</td><td>&#160;</td></tr><tr><td class="number">22</td><td>            <a href="http://www.allegro.cc/manual/unload_datafile" target="_blank"><span class="a">unload_datafile</span></a><span class="k2">(</span>TileFiles<span class="k3">&lt;</span>i&gt;<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">23</td><td>         <span class="k2">}</span></td></tr><tr><td class="number">24</td><td>    <span class="k2">}</span></td></tr><tr><td class="number">25</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>

Note that I don&#39;t remember if it is DAT_BITMAP or DAT_BMP, though. And I haven&#39;t checked it.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ReyBrujo)</author>
		<pubDate>Mon, 27 Mar 2006 21:28:40 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Why don&#39;t you use nested datafiles?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Rampage)</author>
		<pubDate>Tue, 28 Mar 2006 03:00:45 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Thankyou ReyBrujo. That works perfectly.</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
Why don&#39;t you use nested datafiles?
</p></div></div><p>

I didn&#39;t think of doing that. It sounds like a good idea though.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (cd wheat)</author>
		<pubDate>Tue, 28 Mar 2006 03:41:28 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Why aren&#39;t you using a class or a struct?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ImLeftFooted)</author>
		<pubDate>Tue, 28 Mar 2006 09:11:45 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
Why aren&#39;t you using a class or a struct?
</p></div></div><p>

I am using one; it is called CSelectTileWindow. LoadDataFiles() is a function of it that I had trouble getting to work, the rest of those variables were other variables in the class that were used in that function. I am trying to make a box in my tile/map/enemy placement editor that one can select stuff from and then draw it onto the map. Since I am doing my graphics last I needed a way to load datafiles and graphics in them without knowing what they are yet or how many. For right now most of the bitmaps are just randomly colored so that I know the editor is working how it is supposed to.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (cd wheat)</author>
		<pubDate>Tue, 28 Mar 2006 10:19:20 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>No.  Thats not what I meant.<br />This:
</p><div class="source-code snippet"><div class="inner"><pre>std::string filelist<span class="k2">[</span><span class="n">50</span><span class="k2">]</span><span class="k2">;</span><span class="c">//array of the data file names</span>
<span class="k1">int</span> filecount <span class="c">//number of datafiles int he directory</span>
<a href="http://www.allegro.cc/manual/DATAFILE" target="_blank"><span class="a">DATAFILE</span></a><span class="k3">*</span> TileFiles<span class="k2">[</span><span class="n">50</span><span class="k2">]</span><span class="k2">;</span> <span class="c">//array of data files</span>
<span class="k1">int</span> NumberOfBitmaps<span class="k2">[</span><span class="n">50</span><span class="k2">]</span><span class="k2">;</span> <span class="c">//number of bitmaps in the datafile</span>
</pre></div></div><p>
should be:
</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">class</span> SomeName <span class="k2">{</span>
  std::string file<span class="k2">;</span>
  <a href="http://www.allegro.cc/manual/DATAFILE" target="_blank"><span class="a">DATAFILE</span></a> <span class="k3">*</span>TileFile<span class="k2">;</span>
  <span class="k1">int</span> NumberOfBitmaps<span class="k2">;</span>
<span class="k2">}</span><span class="k2">;</span>

std::vector<span class="k3">&lt;</span>SomeName&gt; someVariableName
</pre></div></div><p>
If you can&#39;t understand this concept halt all your projects until you do.  Your code will suck if you can&#39;t make the distinction I&#39;m describing here.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ImLeftFooted)</author>
		<pubDate>Tue, 28 Mar 2006 10:31:41 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I am using a class but not making a vector of them; I am using a class just to keep it organized somewhat. I just haven&#39;t had much experience with pointers or allegro but I am working on it. I just copied and pasted the code that needed to be worked on, not the whole project. This is what I have so far for this class though; I think I can do the rest.</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="p">#ifndef SELECTTILEBOX_H</span></td></tr><tr><td class="number">2</td><td><span class="p">#define SELECTTILEBOX_H</span></td></tr><tr><td class="number">3</td><td>&#160;</td></tr><tr><td class="number">4</td><td><span class="p">#include &lt;iostream&gt;</span></td></tr><tr><td class="number">5</td><td><span class="p">#include &lt;dirent.h&gt; </span></td></tr><tr><td class="number">6</td><td><span class="p">#include "Globals.h"</span></td></tr><tr><td class="number">7</td><td>&#160;</td></tr><tr><td class="number">8</td><td><span class="k1">class</span> CSelectTileBox</td></tr><tr><td class="number">9</td><td><span class="k2">{</span></td></tr><tr><td class="number">10</td><td>public:</td></tr><tr><td class="number">11</td><td>  CSelectTileBox<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">12</td><td>  ~CSelectTileBox<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">13</td><td>  </td></tr><tr><td class="number">14</td><td>  <span class="k1">void</span> LoadDataFiles<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">15</td><td>  <span class="k1">void</span> UnloadDataFiles<span class="k2">(</span><span class="k2">)</span><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">void</span> Draw<span class="k2">(</span><span class="k1">int</span> x, <span class="k1">int</span> y<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">18</td><td>  <span class="k1">void</span> UpdateState<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">19</td><td>  </td></tr><tr><td class="number">20</td><td>private:</td></tr><tr><td class="number">21</td><td>  </td></tr><tr><td class="number">22</td><td>  <a href="http://www.allegro.cc/manual/DATAFILE" target="_blank"><span class="a">DATAFILE</span></a><span class="k3">*</span> TileFiles<span class="k2">[</span><span class="n">50</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">23</td><td>  <a href="http://www.allegro.cc/manual/DATAFILE" target="_blank"><span class="a">DATAFILE</span></a> <span class="k3">*</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_470.html" target="_blank">index</a><span class="k2">;</span></td></tr><tr><td class="number">24</td><td>  <span class="k1">int</span> NumberOfBitmaps<span class="k2">[</span><span class="n">50</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">25</td><td>  <span class="k1">int</span> CurrentFile<span class="k2">;</span></td></tr><tr><td class="number">26</td><td>  </td></tr><tr><td class="number">27</td><td>  <span class="k1">void</span> ReadDir<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">28</td><td>  std::string filelist<span class="k2">[</span><span class="n">50</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">29</td><td>  <span class="k1">int</span> FileCount<span class="k2">;</span></td></tr><tr><td class="number">30</td><td>&#160;</td></tr><tr><td class="number">31</td><td><span class="k2">}</span><span class="k2">;</span></td></tr><tr><td class="number">32</td><td>&#160;</td></tr><tr><td class="number">33</td><td><span class="p">#endif</span></td></tr></tbody></table></div></div><p>

</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="p">#include "SelectTileBox.h"</span></td></tr><tr><td class="number">2</td><td>&#160;</td></tr><tr><td class="number">3</td><td>CSelectTileBox::CSelectTileBox<span class="k2">(</span><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>  FileCount <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">6</td><td>  CurrentFile <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">7</td><td>  ReadDir<span class="k2">(</span><span class="k2">)</span><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>&#160;</td></tr><tr><td class="number">10</td><td>CSelectTileBox::~CSelectTileBox<span class="k2">(</span><span class="k2">)</span> <span class="k2">{</span><span class="k2">}</span></td></tr><tr><td class="number">11</td><td>&#160;</td></tr><tr><td class="number">12</td><td><span class="k1">void</span> CSelectTileBox::ReadDir<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">13</td><td><span class="k2">{</span></td></tr><tr><td class="number">14</td><td>  DIR <span class="k3">*</span>d <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_602.html" target="_blank">opendir</a><span class="k2">(</span><span class="s">"GFX"</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">15</td><td>  <span class="k1">struct</span> dirent <span class="k3">*</span>dir<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">int</span> loc<span class="k2">;</span></td></tr><tr><td class="number">18</td><td>  std::string filename<span class="k2">;</span></td></tr><tr><td class="number">19</td><td>  </td></tr><tr><td class="number">20</td><td>  <span class="k1">if</span><span class="k2">(</span>d<span class="k2">)</span></td></tr><tr><td class="number">21</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">22</td><td>    <span class="k1">while</span> <span class="k2">(</span><span class="k2">(</span>dir <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_646.html" target="_blank">readdir</a><span class="k2">(</span>d<span class="k2">)</span><span class="k2">)</span> <span class="k3">!</span><span class="k3">=</span> NULL<span class="k2">)</span></td></tr><tr><td class="number">23</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">24</td><td>      filename <span class="k3">=</span> dir-&gt;d_name<span class="k2">;</span></td></tr><tr><td class="number">25</td><td>      loc <span class="k3">=</span> filename.find<span class="k2">(</span><span class="s">".dat"</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">26</td><td>&#160;</td></tr><tr><td class="number">27</td><td>      <span class="k1">if</span> <span class="k2">(</span>loc <span class="k3">!</span><span class="k3">=</span> std::string::npos<span class="k2">)</span></td></tr><tr><td class="number">28</td><td>      <span class="k2">{</span></td></tr><tr><td class="number">29</td><td>        filelist<span class="k2">[</span>FileCount<span class="k2">]</span> <span class="k3">=</span> <span class="s">"GFX\\"</span> <span class="k3">+</span> filename<span class="k2">;</span></td></tr><tr><td class="number">30</td><td>        FileCount<span class="k3">+</span><span class="k3">+</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>    <span class="k2">}</span></td></tr><tr><td class="number">33</td><td>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_106.html" target="_blank">closedir</a><span class="k2">(</span>d<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><span class="k2">}</span></td></tr><tr><td class="number">36</td><td>&#160;</td></tr><tr><td class="number">37</td><td><span class="k1">void</span> CSelectTileBox::LoadDataFiles<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">38</td><td><span class="k2">{</span></td></tr><tr><td class="number">39</td><td>  <span class="k1">for</span> <span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> FileCount<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</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>     TileFiles<span class="k3">&lt;</span>i&gt; <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>filelist<span class="k3">&lt;</span>i&gt;.c_str<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">42</td><td>    </td></tr><tr><td class="number">43</td><td>      <span class="k1">if</span> <span class="k2">(</span>TileFiles<span class="k3">&lt;</span>i&gt; <span class="k3">!</span><span class="k3">=</span> NULL<span class="k2">)</span> </td></tr><tr><td class="number">44</td><td>      <span class="k2">{</span></td></tr><tr><td class="number">45</td><td>         NumberOfBitmaps<span class="k3">&lt;</span>i&gt; <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">46</td><td>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_470.html" target="_blank">index</a> <span class="k3">=</span> TileFiles<span class="k3">&lt;</span>i&gt;<span class="k2">;</span></td></tr><tr><td class="number">47</td><td>         <span class="k1">while</span> <span class="k2">(</span>index-&gt;type <span class="k3">!</span><span class="k3">=</span> DAT_END<span class="k2">)</span> </td></tr><tr><td class="number">48</td><td>   <span class="k2">{</span></td></tr><tr><td class="number">49</td><td>            <span class="k1">if</span> <span class="k2">(</span>index-&gt;type <span class="k3">=</span><span class="k3">=</span> DAT_BITMAP<span class="k2">)</span></td></tr><tr><td class="number">50</td><td>            <span class="k2">{</span></td></tr><tr><td class="number">51</td><td>               NumberOfBitmaps<span class="k3">&lt;</span>i&gt;<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span></td></tr><tr><td class="number">52</td><td>      <span class="k2">}</span></td></tr><tr><td class="number">53</td><td>           <a href="http://www.delorie.com/djgpp/doc/libc/libc_470.html" target="_blank">index</a><span class="k3">+</span><span class="k3">+</span><span class="k2">;</span></td></tr><tr><td class="number">54</td><td>         <span class="k2">}</span></td></tr><tr><td class="number">55</td><td>        <span class="k2">}</span></td></tr><tr><td class="number">56</td><td>     <span class="k2">}</span></td></tr><tr><td class="number">57</td><td>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_470.html" target="_blank">index</a> <span class="k3">=</span> TileFiles<span class="k2">[</span>CurrentFile<span class="k2">]</span><span class="k2">;</span>  </td></tr><tr><td class="number">58</td><td><span class="k2">}</span></td></tr><tr><td class="number">59</td><td>&#160;</td></tr><tr><td class="number">60</td><td>&#160;</td></tr><tr><td class="number">61</td><td><span class="k1">void</span> CSelectTileBox::UnloadDataFiles<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">62</td><td><span class="k2">{</span></td></tr><tr><td class="number">63</td><td>  <span class="k1">for</span> <span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> FileCount<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span></td></tr><tr><td class="number">64</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">65</td><td>    <a href="http://www.allegro.cc/manual/unload_datafile" target="_blank"><span class="a">unload_datafile</span></a><span class="k2">(</span>TileFiles<span class="k3">&lt;</span>i&gt;<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">66</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">67</td><td><span class="k2">}</span></td></tr><tr><td class="number">68</td><td>&#160;</td></tr><tr><td class="number">69</td><td><span class="k1">void</span> CSelectTileBox::Draw<span class="k2">(</span><span class="k1">int</span> x, <span class="k1">int</span> y<span class="k2">)</span></td></tr><tr><td class="number">70</td><td><span class="k2">{</span></td></tr><tr><td class="number">71</td><td>  <a href="http://www.allegro.cc/manual/textprintf_ex" target="_blank"><span class="a">textprintf_ex</span></a><span class="k2">(</span>buffer, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, x,  y-16, COLOR_WHITE, <span class="k3">-</span><span class="n">1</span>, <span class="s">"%s"</span>,filelist<span class="k2">[</span>CurrentFile<span class="k2">]</span>.c_str<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">72</td><td>  </td></tr><tr><td class="number">73</td><td>  <a href="http://www.allegro.cc/manual/rectfill" target="_blank"><span class="a">rectfill</span></a><span class="k2">(</span>buffer,x,y,x<span class="k3">+</span><span class="n">640</span>,y<span class="k3">+</span><span class="n">160</span>,COLOR_MAGNETA<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">74</td><td>  </td></tr><tr><td class="number">75</td><td>  <span class="k1">for</span> <span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> NumberOfBitmaps<span class="k2">[</span>CurrentFile<span class="k2">]</span><span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span></td></tr><tr><td class="number">76</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">77</td><td>    <a href="http://www.allegro.cc/manual/draw_sprite" target="_blank"><span class="a">draw_sprite</span></a><span class="k2">(</span>buffer,<span class="k2">(</span><a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a><span class="k3">*</span><span class="k2">)</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_470.html" target="_blank">index</a><span class="k3">&lt;</span>i&gt;.dat , x<span class="k3">+</span>i<span class="k3">*</span>TILE_SIZE, y<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">78</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">79</td><td>  </td></tr><tr><td class="number">80</td><td>  <span class="k1">for</span> <span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> x<span class="k2">;</span> i <span class="k3">&lt;</span> x <span class="k3">+</span> <span class="n">640</span><span class="k2">;</span> i <span class="k3">+</span><span class="k3">=</span> TILE_SIZE<span class="k2">)</span></td></tr><tr><td class="number">81</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">82</td><td>    <span class="k1">for</span> <span class="k2">(</span><span class="k1">int</span> j <span class="k3">=</span> y<span class="k2">;</span> j <span class="k3">&lt;</span> y<span class="k3">+</span> <span class="n">160</span><span class="k2">;</span> j <span class="k3">+</span><span class="k3">=</span> TILE_SIZE<span class="k2">)</span></td></tr><tr><td class="number">83</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">84</td><td>      <a href="http://www.allegro.cc/manual/line" target="_blank"><span class="a">line</span></a><span class="k2">(</span>buffer,i,j,i<span class="k3">+</span>TILE_SIZE,j,COLOR_YELLOW<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">85</td><td>      <a href="http://www.allegro.cc/manual/line" target="_blank"><span class="a">line</span></a><span class="k2">(</span>buffer,i,j,i,j<span class="k3">+</span>TILE_SIZE,COLOR_YELLOW<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">86</td><td>    <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><span class="k2">}</span></td></tr><tr><td class="number">89</td><td>&#160;</td></tr><tr><td class="number">90</td><td><span class="k1">void</span> CSelectTileBox::UpdateState<span class="k2">(</span><span class="k2">)</span></td></tr><tr><td class="number">91</td><td><span class="k2">{</span></td></tr><tr><td class="number">92</td><td>  </td></tr><tr><td class="number">93</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (cd wheat)</author>
		<pubDate>Wed, 29 Mar 2006 03:11:17 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>My point is you should be using <b>another</b> class.  You don&#39;t seem able to recognize this need.</p><p>It is completely legal and possible to have &#39;child&#39; classes.  Heres an example of this:
</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">class</span> Parent <span class="k2">{</span>
  <span class="k1">class</span> Child <span class="k2">{</span>
    ...
  <span class="k2">}</span><span class="k2">;</span>
  
  .. stuff ..

  Child child<span class="k2">;</span>
<span class="k2">}</span><span class="k2">;</span>
</pre></div></div><p>
I refuse to help you until you can make this distinction
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (ImLeftFooted)</author>
		<pubDate>Mon, 03 Apr 2006 11:55:25 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I know one can have classes declared and used inside classes because I use it for my tile map class. The class above is just to handle the selection area of the window where one chooses tiles that they want to draw on the map area of the window handled by the class below.</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="p">#ifndef MAP_H</span></td></tr><tr><td class="number">2</td><td><span class="p">#define MAP_H</span></td></tr><tr><td class="number">3</td><td>&#160;</td></tr><tr><td class="number">4</td><td><span class="p">#include "Globals.h"</span></td></tr><tr><td class="number">5</td><td>&#160;</td></tr><tr><td class="number">6</td><td><span class="k1">class</span> CMap  </td></tr><tr><td class="number">7</td><td><span class="k2">{</span></td></tr><tr><td class="number">8</td><td>private:</td></tr><tr><td class="number">9</td><td>  <span class="k1">class</span> CLayer</td></tr><tr><td class="number">10</td><td>  <span class="k2">{</span></td></tr><tr><td class="number">11</td><td>  private:</td></tr><tr><td class="number">12</td><td>      <span class="k1">class</span> CTile</td></tr><tr><td class="number">13</td><td>      <span class="k2">{</span></td></tr><tr><td class="number">14</td><td>      public:</td></tr><tr><td class="number">15</td><td>        <span class="k1">short</span> Index<span class="k2">;</span></td></tr><tr><td class="number">16</td><td>        <span class="k1">short</span> Zcoord<span class="k2">;</span></td></tr><tr><td class="number">17</td><td>        <span class="k1">short</span> Transparency<span class="k2">;</span></td></tr><tr><td class="number">18</td><td>      <span class="k2">}</span><span class="k2">;</span></td></tr><tr><td class="number">19</td><td>  public:</td></tr><tr><td class="number">20</td><td>    CTile TileMap<span class="k2">[</span><span class="n">256</span><span class="k2">]</span><span class="k2">[</span><span class="n">256</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">21</td><td>    <span class="k1">bool</span> IsEmpty<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">22</td><td>  <span class="k2">}</span><span class="k2">;</span>  </td></tr><tr><td class="number">23</td><td>  </td></tr><tr><td class="number">24</td><td>  <a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a><span class="k3">*</span> Image<span class="k2">[</span><span class="n">512</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">25</td><td>  <span class="k1">int</span> x, y<span class="k2">;</span></td></tr><tr><td class="number">26</td><td>  </td></tr><tr><td class="number">27</td><td>  CLayer TileLayer<span class="k2">[</span><span class="n">7</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">28</td><td>  </td></tr><tr><td class="number">29</td><td>public:</td></tr><tr><td class="number">30</td><td>  CMap<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">31</td><td>  ~CMap<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">32</td><td>  </td></tr><tr><td class="number">33</td><td>  <span class="k1">void</span> MoveMap<span class="k2">(</span><span class="k1">int</span> xscroll, <span class="k1">int</span> yscroll<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">34</td><td>  <span class="k1">void</span> DrawMap<span class="k2">(</span><span class="k1">int</span> startx, <span class="k1">int</span> starty<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">35</td><td>  </td></tr><tr><td class="number">36</td><td>  <span class="k1">void</span> SaveMap<span class="k2">(</span>std::string filename<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">37</td><td>  <span class="k1">void</span> LoadMap<span class="k2">(</span>std::string filename<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">38</td><td>  </td></tr><tr><td class="number">39</td><td>  <span class="k1">void</span> LoadBitmaps<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">40</td><td>  <span class="k1">void</span> UnloadBitmaps<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">41</td><td>  </td></tr><tr><td class="number">42</td><td><span class="k2">}</span><span class="k2">;</span></td></tr><tr><td class="number">43</td><td>&#160;</td></tr><tr><td class="number">44</td><td><span class="p">#endif</span></td></tr></tbody></table></div></div><p>


The window looks something like this so far.
</p><div class="source-code snippet"><div class="inner"><pre>whole <a href="http://www.delorie.com/djgpp/doc/libc/libc_865.html" target="_blank">window</a> 
<span class="highlight"><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span></span>
<span class="k3">*</span>               <span class="k3">*</span> BA<span class="k3">*</span>      
<span class="k3">*</span>  Map<span class="k3">/</span>Level     <span class="k3">*</span> UR<span class="k3">*</span>
<span class="k3">*</span>  <span class="n">640</span><span class="k3">*</span><span class="n">480</span>     <span class="k3">*</span> TE<span class="k3">*</span>
<span class="k3">*</span>       <span class="k3">*</span> TA<span class="k3">*</span>
<span class="k3">*</span>       <span class="k3">*</span> O <span class="k3">*</span>
<span class="k3">*</span>       <span class="k3">*</span> N <span class="k3">*</span>
<span class="highlight"><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span></span>
<span class="k3">*</span>Tile Selection Area   <span class="k3">*</span>            
<span class="k3">*</span>           <span class="k3">*</span>
<span class="highlight"><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span><span class="k3">*</span></span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (cd wheat)</author>
		<pubDate>Thu, 06 Apr 2006 00:25:54 +0000</pubDate>
	</item>
</rss>
