<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>passing a string to textprinf_ex</title>
		<link>http://www.allegro.cc/forums/view/589657</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Sun, 21 Jan 2007 15:24:35 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I want to store a description inside of a map tile structure array and display it on the screen.</p><p>so i create this structure type:</p><p>struct tile<br />       {<br />        const char *desc;<br />        bool walkable;<br />        char img;<br />        int colorR,colorG,colorB;<br />        unsigned int sapling, tree, rock;<br />        } floor, rock, rocksoil, grass, wall;</p><p>define it with:</p><p>    floor.desc=&quot;Stone floor.&quot;;<br />    floor.walkable=1;<br />    floor.img=46;<br />    floor.colorR = 100;<br />    floor.colorG = 200;<br />    floor.colorB = 100;</p><p>move a little &#39;@&#39; left and right along a single horizontal line</p><p>        if (key[KEY_4_PAD]&amp;&amp; player.x&gt;0){<br />           player.x-=8;<br />           clear_bitmap(screen);<br />           }</p><p>           <br />        if (key[KEY_6_PAD]&amp;&amp; player.x&lt;472){<br />           player.x+=8;<br />           clear_bitmap(screen);<br />           }</p><p>and everything falls apart when i add the line</p><p>textprintf_ex(screen, font, 0, 8, makecol(map[player.x].colorR, map[player.x].colorG, map[player.x].colorB), -1, &quot;%s&quot;, map[player.x].desc);
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (notwist)</author>
		<pubDate>Sun, 21 Jan 2007 07:55:11 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Is player.x within the parameters of map?<br />Meaning if map is defined as map[ n ] then player.x should be from 0 to n-1</p><p>Is desc defined of map[ player.x ].desc?</p><p>what is desc? what type of variable is it. You said string. Is it a C string or a C++ string?</p><p>std::string desc or<br />char desc[] or<br />char *desc or <br />...</p><p>Without seeing more code, that&#39;s all I say about that.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (DanielH)</author>
		<pubDate>Sun, 21 Jan 2007 07:57:06 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>    struct Player<br />           {<br />           char img;<br />           int colorR, colorG, colorB;<br />           int x;                <br />           } player;<br />           <br />           player.img=64;<br />           player.colorR=140;<br />           player.colorG=140;<br />           player.colorB=140;<br />           player.x=0;  </p><p>tile map[80];<br /> for(x=0;x&lt;79;x++)<br />                  {<br />                  <br />                 <br />                  i=rand()%8+1;<br />                  if(i==1)<br />                           map[x]=grass;<br />                          else<br />                           <br />                            map[x]=rocksoil;<br />                            <br />                           <br />                  }
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (notwist)</author>
		<pubDate>Sun, 21 Jan 2007 07:58:59 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Now I see that map is of tile</p><p>and tile is of <br />char *desc</p><p>Is player.x defined before you use it?</p><p>And when is each tile in map defined?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (DanielH)</author>
		<pubDate>Sun, 21 Jan 2007 08:02:08 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>player x is defined and set to 0 before it is referenced</p><p>this is the main screen drawing loop</p><p>        for(x=0;x&lt;80;x++)<br />        {<br />                                  /* multiply by 8 to allow for 8 pixels per character */<br />                                    xa=x*8;<br />                                           if (xa == player.x) <br />                                           {<br />         textprintf_ex(screen, font, xa, 0, makecol(0, 0, 0),-1, &quot;%c&quot;, 32);<br />                                           }<br />         else                  {<br />                                                           <br />         textprintf_ex(screen, font, xa, 0, makecol(map[x].colorR, map[x].colorG, map[x].colorB),-1, &quot;%c&quot;, map[x].img);<br />                               }                 <br />                                   <br />         textprintf_ex(screen, font, 0, 8, makecol(map[player.x].colorR, map[player.x].colorG, map[player.x].colorB), -1, &quot;%s&quot;, map[player.x].desc);<br />         textprintf_ex(screen, font, 0, 16, makecol(player.colorR, player.colorG, player.colorB), -1, &quot;%d &quot;, player.x/8 );<br />         <br />         <br />         textprintf_ex(screen, font, player.x, 0, makecol(player.colorR, player.colorG,player.colorB),-1, &quot;%c&quot;, player.img);<br />         }
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (notwist)</author>
		<pubDate>Sun, 21 Jan 2007 08:05:28 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
and everything falls apart when i add the line
</p></div></div><p>

Care to explain what you mean by &#39;falls apart&#39;?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (LennyLen)</author>
		<pubDate>Sun, 21 Jan 2007 08:06:43 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Do this and tell me what happens</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">if</span> <span class="k2">(</span> map<span class="k2">[</span>player.x<span class="k2">]</span>.desc <span class="k2">)</span>
<span class="k2">}</span>
    <a href="http://www.allegro.cc/manual/textprintf_ex" target="_blank"><span class="a">textprintf_ex</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="n">0</span>, <span class="n">8</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span>map<span class="k2">[</span>player.x<span class="k2">]</span>.colorR, map<span class="k2">[</span>player.x<span class="k2">]</span>.colorG, map<span class="k2">[</span>player.x<span class="k2">]</span>.colorB<span class="k2">)</span>, <span class="k3">-</span><span class="n">1</span>, <span class="s">"%s"</span>, map<span class="k2">[</span>player.x<span class="k2">]</span>.desc<span class="k2">)</span><span class="k2">;</span>
<span class="k2">{</span>
<span class="k1">else</span>
<span class="k2">{</span>
    <a href="http://www.allegro.cc/manual/textout_ex" target="_blank"><span class="a">textout_ex</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="s">"null"</span>, <span class="n">0</span>, <span class="n">8</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span>map<span class="k2">[</span>player.x<span class="k2">]</span>.colorR, map<span class="k2">[</span>player.x<span class="k2">]</span>.colorG, map<span class="k2">[</span>player.x<span class="k2">]</span>.colorB<span class="k2">)</span>, <span class="k3">-</span><span class="n">1</span> <span class="k2">)</span><span class="k2">;</span>
<span class="k2">}</span>
</pre></div></div><p>


And I should have said it earlier, but use &#39;code&#39; brackets when displaying code on this website.</p><p><b>[</b><b>code]</b><br /><b>[/</b><b>code]</b>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (DanielH)</author>
		<pubDate>Sun, 21 Jan 2007 08:08:56 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>sure, it compiles, and runs</p><p>i can iterate the character and it will display the string, however the string doesnt coorelate to the tile the character is standing on</p><p>the pointer appears to iterate beyond the array, as it will display strings of desc then it starts to display random symbols then the app freezes </p><p>//same thing happens when i replace my map[].desc with the given conditional display</p><div class="source-code"><div class="toolbar"></div><div class="inner"><table width="100%"><tbody><tr><td class="number">1</td><td><span class="p">#include &lt;cstdlib&gt;</span></td></tr><tr><td class="number">2</td><td><span class="p">#include &lt;iostream&gt;</span></td></tr><tr><td class="number">3</td><td><span class="p">#include &lt;allegro.h&gt;</span></td></tr><tr><td class="number">4</td><td><span class="p">#include &lt;string&gt;</span></td></tr><tr><td class="number">5</td><td><span class="p">#include &lt;time.h&gt;</span></td></tr><tr><td class="number">6</td><td><span class="k1">using</span> <span class="k1">namespace</span> std<span class="k2">;</span></td></tr><tr><td class="number">7</td><td>&#160;</td></tr><tr><td class="number">8</td><td>&#160;</td></tr><tr><td class="number">9</td><td>&#160;</td></tr><tr><td class="number">10</td><td><span class="k1">int</span> main<span class="k2">(</span><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>    <span class="k1">int</span> x, y, xa, ya, i,j ,ii, jj<span class="k2">;</span></td></tr><tr><td class="number">13</td><td>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_739.html" target="_blank">srand</a><span class="k2">(</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_821.html" target="_blank">time</a><span class="k2">(</span>NULL<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">14</td><td>    <a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>buffer<span class="k2">;</span></td></tr><tr><td class="number">15</td><td>&#160;</td></tr><tr><td class="number">16</td><td>    <a href="http://www.allegro.cc/manual/allegro_init" target="_blank"><span class="a">allegro_init</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">17</td><td>    <a href="http://www.allegro.cc/manual/install_keyboard" target="_blank"><span class="a">install_keyboard</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">18</td><td>    <a href="http://www.allegro.cc/manual/set_gfx_mode" target="_blank"><span class="a">set_gfx_mode</span></a><span class="k2">(</span> GFX_AUTODETECT, <span class="n">640</span>, <span class="n">480</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>    </td></tr><tr><td class="number">19</td><td><span class="c">/* tile data type and declarations*/</span>    </td></tr><tr><td class="number">20</td><td>    <span class="k1">struct</span> tile</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">const</span> <span class="k1">char</span> <span class="k3">*</span>desc<span class="k2">;</span></td></tr><tr><td class="number">23</td><td>        <span class="k1">bool</span> walkable<span class="k2">;</span></td></tr><tr><td class="number">24</td><td>        <span class="k1">char</span> img<span class="k2">;</span></td></tr><tr><td class="number">25</td><td>        <span class="k1">int</span> colorR,colorG,colorB<span class="k2">;</span></td></tr><tr><td class="number">26</td><td>        <span class="k1">unsigned</span> <span class="k1">int</span> sapling, tree, rock<span class="k2">;</span></td></tr><tr><td class="number">27</td><td>        <span class="k2">}</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_330.html" target="_blank">floor</a>, rock, rocksoil, grass, wall<span class="k2">;</span></td></tr><tr><td class="number">28</td><td>        </td></tr><tr><td class="number">29</td><td>        </td></tr><tr><td class="number">30</td><td><span class="c">/*player position etc.*/</span></td></tr><tr><td class="number">31</td><td>    <span class="k1">struct</span> Player</td></tr><tr><td class="number">32</td><td>           <span class="k2">{</span></td></tr><tr><td class="number">33</td><td>           <span class="k1">char</span> img<span class="k2">;</span></td></tr><tr><td class="number">34</td><td>           <span class="k1">int</span> colorR, colorG, colorB<span class="k2">;</span></td></tr><tr><td class="number">35</td><td>           <span class="k1">int</span> x<span class="k2">;</span>                </td></tr><tr><td class="number">36</td><td>           <span class="k2">}</span> player<span class="k2">;</span></td></tr><tr><td class="number">37</td><td>           </td></tr><tr><td class="number">38</td><td>           player.img<span class="k3">=</span><span class="n">64</span><span class="k2">;</span></td></tr><tr><td class="number">39</td><td>           player.colorR<span class="k3">=</span><span class="n">140</span><span class="k2">;</span></td></tr><tr><td class="number">40</td><td>           player.colorG<span class="k3">=</span><span class="n">140</span><span class="k2">;</span></td></tr><tr><td class="number">41</td><td>           player.colorB<span class="k3">=</span><span class="n">140</span><span class="k2">;</span></td></tr><tr><td class="number">42</td><td>           player.x<span class="k3">=</span><span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">43</td><td>           </td></tr><tr><td class="number">44</td><td>  <span class="c">/* tile definitions */</span>    </td></tr><tr><td class="number">45</td><td>    floor.desc<span class="k3">=</span><span class="s">"Stone floor."</span><span class="k2">;</span></td></tr><tr><td class="number">46</td><td>    floor.walkable<span class="k3">=</span><span class="n">1</span><span class="k2">;</span></td></tr><tr><td class="number">47</td><td>    floor.img<span class="k3">=</span><span class="n">46</span><span class="k2">;</span></td></tr><tr><td class="number">48</td><td>    floor.colorR <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span></td></tr><tr><td class="number">49</td><td>    floor.colorG <span class="k3">=</span> <span class="n">200</span><span class="k2">;</span></td></tr><tr><td class="number">50</td><td>    floor.colorB <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span></td></tr><tr><td class="number">51</td><td>        </td></tr><tr><td class="number">52</td><td>    rock.walkable<span class="k3">=</span><span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">53</td><td>    rock.img<span class="k3">=</span><span class="n">46</span><span class="k2">;</span></td></tr><tr><td class="number">54</td><td>    rock.colorR <span class="k3">=</span> <span class="n">110</span><span class="k2">;</span></td></tr><tr><td class="number">55</td><td>    rock.colorG <span class="k3">=</span> <span class="n">110</span><span class="k2">;</span></td></tr><tr><td class="number">56</td><td>    rock.colorB <span class="k3">=</span> <span class="n">110</span><span class="k2">;</span></td></tr><tr><td class="number">57</td><td>    rock.desc<span class="k3">=</span><span class="s">"Bare rock."</span><span class="k2">;</span></td></tr><tr><td class="number">58</td><td>    </td></tr><tr><td class="number">59</td><td>    rocksoil.walkable<span class="k3">=</span><span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">60</td><td>    rocksoil.img<span class="k3">=</span><span class="n">35</span><span class="k2">;</span></td></tr><tr><td class="number">61</td><td>    rocksoil.colorR <span class="k3">=</span> <span class="n">120</span><span class="k2">;</span></td></tr><tr><td class="number">62</td><td>    rocksoil.colorG <span class="k3">=</span> <span class="n">44</span><span class="k2">;</span></td></tr><tr><td class="number">63</td><td>    rocksoil.colorB <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span></td></tr><tr><td class="number">64</td><td>    rocksoil.desc<span class="k3">=</span><span class="s">"Rocky soil."</span><span class="k2">;</span></td></tr><tr><td class="number">65</td><td>    </td></tr><tr><td class="number">66</td><td>    grass.walkable<span class="k3">=</span><span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">67</td><td>    grass.img<span class="k3">=</span><span class="n">118</span><span class="k2">;</span></td></tr><tr><td class="number">68</td><td>    grass.colorR <span class="k3">=</span> <span class="n">77</span><span class="k2">;</span></td></tr><tr><td class="number">69</td><td>    grass.colorG <span class="k3">=</span> <span class="n">179</span><span class="k2">;</span></td></tr><tr><td class="number">70</td><td>    grass.colorB <span class="k3">=</span> <span class="n">41</span><span class="k2">;</span></td></tr><tr><td class="number">71</td><td>    grass.desc<span class="k3">=</span><span class="s">"Grassy soil."</span><span class="k2">;</span></td></tr><tr><td class="number">72</td><td>    </td></tr><tr><td class="number">73</td><td>    tile map<span class="k2">[</span><span class="n">80</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">74</td><td> <span class="k1">for</span><span class="k2">(</span>x<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>x<span class="k3">&lt;</span><span class="n">79</span><span class="k2">;</span>x<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span></td></tr><tr><td class="number">75</td><td>                  <span class="k2">{</span></td></tr><tr><td class="number">76</td><td>                  </td></tr><tr><td class="number">77</td><td>                 </td></tr><tr><td class="number">78</td><td>                  i<span class="k3">=</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_637.html" target="_blank">rand</a><span class="k2">(</span><span class="k2">)</span>%<span class="n">8</span><span class="k3">+</span><span class="n">1</span><span class="k2">;</span></td></tr><tr><td class="number">79</td><td>                  <span class="k1">if</span><span class="k2">(</span>i<span class="k3">=</span><span class="k3">=</span><span class="n">1</span><span class="k2">)</span></td></tr><tr><td class="number">80</td><td>                           map<span class="k2">[</span>x<span class="k2">]</span><span class="k3">=</span>grass<span class="k2">;</span></td></tr><tr><td class="number">81</td><td>                          <span class="k1">else</span></td></tr><tr><td class="number">82</td><td>                           </td></tr><tr><td class="number">83</td><td>                            map<span class="k2">[</span>x<span class="k2">]</span><span class="k3">=</span>rocksoil<span class="k2">;</span></td></tr><tr><td class="number">84</td><td>                            </td></tr><tr><td class="number">85</td><td>                           </td></tr><tr><td class="number">86</td><td>                  <span class="k2">}</span></td></tr><tr><td class="number">87</td><td>&#160;</td></tr><tr><td class="number">88</td><td> <span class="c">/*</span></td></tr><tr><td class="number">89</td><td><span class="c">x=rand()%70;</span></td></tr><tr><td class="number">90</td><td><span class="c"></span></td></tr><tr><td class="number">91</td><td><span class="c">            ii=(rand()%9+3)+x;</span></td></tr><tr><td class="number">92</td><td><span class="c">            </span></td></tr><tr><td class="number">93</td><td><span class="c">            for(i=x;i&lt;ii;i++){</span></td></tr><tr><td class="number">94</td><td><span class="c">                              </span></td></tr><tr><td class="number">95</td><td><span class="c">                              map&lt;i&gt;=rock;</span></td></tr><tr><td class="number">96</td><td><span class="c">                              </span></td></tr><tr><td class="number">97</td><td><span class="c">                              }</span></td></tr><tr><td class="number">98</td><td><span class="c">    </span></td></tr><tr><td class="number">99</td><td><span class="c">    /* Do this over and over again as long as the player hasn't pressed the</span></td></tr><tr><td class="number">100</td><td><span class="c">       excape key */</span></td></tr><tr><td class="number">101</td><td>    <span class="k1">while</span> <span class="k2">(</span> <span class="k3">!</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_ESC<span class="k2">]</span> <span class="k2">)</span></td></tr><tr><td class="number">102</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">103</td><td>    </td></tr><tr><td class="number">104</td><td>        </td></tr><tr><td class="number">105</td><td>        <a href="http://www.allegro.cc/manual/clear_keybuf" target="_blank"><span class="a">clear_keybuf</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">106</td><td>        <a href="http://www.allegro.cc/manual/acquire_screen" target="_blank"><span class="a">acquire_screen</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">107</td><td>        </td></tr><tr><td class="number">108</td><td>        </td></tr><tr><td class="number">109</td><td>   <span class="c">/* movement commands allowing left and right movement*/</span>     </td></tr><tr><td class="number">110</td><td>&#160;</td></tr><tr><td class="number">111</td><td>        <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_4_PAD<span class="k2">]</span><span class="k3">&amp;</span><span class="k3">&amp;</span> player.x&gt;0<span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">112</td><td>           player.x-<span class="k3">=</span><span class="n">8</span><span class="k2">;</span></td></tr><tr><td class="number">113</td><td>           <a href="http://www.allegro.cc/manual/clear_bitmap" target="_blank"><span class="a">clear_bitmap</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">114</td><td>           <span class="k2">}</span></td></tr><tr><td class="number">115</td><td>&#160;</td></tr><tr><td class="number">116</td><td>           </td></tr><tr><td class="number">117</td><td>        <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/key" target="_blank"><span class="a">key</span></a><span class="k2">[</span>KEY_6_PAD<span class="k2">]</span><span class="k3">&amp;</span><span class="k3">&amp;</span> player.x<span class="k3">&lt;</span><span class="n">472</span><span class="k2">)</span><span class="k2">{</span></td></tr><tr><td class="number">118</td><td>           player.x<span class="k3">+</span><span class="k3">=</span><span class="n">8</span><span class="k2">;</span></td></tr><tr><td class="number">119</td><td>           <a href="http://www.allegro.cc/manual/clear_bitmap" target="_blank"><span class="a">clear_bitmap</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">120</td><td>           <span class="k2">}</span></td></tr><tr><td class="number">121</td><td>&#160;</td></tr><tr><td class="number">122</td><td>        <span class="c">/* draw the strip of 80 tiles at the top of the screen and the player skipping the tile where the player is located*/</span></td></tr><tr><td class="number">123</td><td>        <span class="k1">for</span><span class="k2">(</span>x<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>x<span class="k3">&lt;</span><span class="n">80</span><span class="k2">;</span>x<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span></td></tr><tr><td class="number">124</td><td>        <span class="k2">{</span></td></tr><tr><td class="number">125</td><td>                                  <span class="c">/* multiply by 8 to allow for 8 pixels per character */</span></td></tr><tr><td class="number">126</td><td>                                    xa<span class="k3">=</span>x<span class="k3">*</span><span class="n">8</span><span class="k2">;</span></td></tr><tr><td class="number">127</td><td>                                           <span class="k1">if</span> <span class="k2">(</span>xa <span class="k3">=</span><span class="k3">=</span> player.x<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>         <a href="http://www.allegro.cc/manual/textprintf_ex" target="_blank"><span class="a">textprintf_ex</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, xa, <span class="n">0</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span>,<span class="k3">-</span><span class="n">1</span>, <span class="s">"%c"</span>, <span class="n">32</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">130</td><td>                                           <span class="k2">}</span></td></tr><tr><td class="number">131</td><td>         <span class="k1">else</span>                  <span class="k2">{</span></td></tr><tr><td class="number">132</td><td>                                                           </td></tr><tr><td class="number">133</td><td>         <a href="http://www.allegro.cc/manual/textprintf_ex" target="_blank"><span class="a">textprintf_ex</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, xa, <span class="n">0</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span>map<span class="k2">[</span>x<span class="k2">]</span>.colorR, map<span class="k2">[</span>x<span class="k2">]</span>.colorG, map<span class="k2">[</span>x<span class="k2">]</span>.colorB<span class="k2">)</span>,<span class="k3">-</span><span class="n">1</span>, <span class="s">"%c"</span>, map<span class="k2">[</span>x<span class="k2">]</span>.img<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">134</td><td>                               <span class="k2">}</span>                 </td></tr><tr><td class="number">135</td><td>                                   </td></tr><tr><td class="number">136</td><td>         <span class="k1">if</span> <span class="k2">(</span> map<span class="k2">[</span>player.x<span class="k2">]</span>.desc <span class="k2">)</span></td></tr><tr><td class="number">137</td><td><span class="k2">{</span></td></tr><tr><td class="number">138</td><td>    <a href="http://www.allegro.cc/manual/textprintf_ex" target="_blank"><span class="a">textprintf_ex</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="n">0</span>, <span class="n">8</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span>map<span class="k2">[</span>player.x<span class="k2">]</span>.colorR, map<span class="k2">[</span>player.x<span class="k2">]</span>.colorG, map<span class="k2">[</span>player.x<span class="k2">]</span>.colorB<span class="k2">)</span>, <span class="k3">-</span><span class="n">1</span>, <span class="s">"%s"</span>, map<span class="k2">[</span>player.x<span class="k2">]</span>.desc<span class="k2">)</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><span class="k1">else</span></td></tr><tr><td class="number">141</td><td><span class="k2">{</span></td></tr><tr><td class="number">142</td><td>    <a href="http://www.allegro.cc/manual/textout_ex" target="_blank"><span class="a">textout_ex</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="s">"null"</span>, <span class="n">0</span>, <span class="n">8</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span>map<span class="k2">[</span>player.x<span class="k2">]</span>.colorR, map<span class="k2">[</span>player.x<span class="k2">]</span>.colorG, map<span class="k2">[</span>player.x<span class="k2">]</span>.colorB<span class="k2">)</span>, <span class="k3">-</span><span class="n">1</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">143</td><td><span class="k2">}</span></td></tr><tr><td class="number">144</td><td>&#160;</td></tr><tr><td class="number">145</td><td>         <a href="http://www.allegro.cc/manual/textprintf_ex" target="_blank"><span class="a">textprintf_ex</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, <span class="n">0</span>, <span class="n">16</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span>player.colorR, player.colorG, player.colorB<span class="k2">)</span>, <span class="k3">-</span><span class="n">1</span>, <span class="s">"%d "</span>, player.x<span class="k3">/</span><span class="n">8</span> <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">146</td><td>         </td></tr><tr><td class="number">147</td><td>         </td></tr><tr><td class="number">148</td><td>         <a href="http://www.allegro.cc/manual/textprintf_ex" target="_blank"><span class="a">textprintf_ex</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, <a href="http://www.allegro.cc/manual/font" target="_blank"><span class="a">font</span></a>, player.x, <span class="n">0</span>, <a href="http://www.allegro.cc/manual/makecol" target="_blank"><span class="a">makecol</span></a><span class="k2">(</span>player.colorR, player.colorG,player.colorB<span class="k2">)</span>,<span class="k3">-</span><span class="n">1</span>, <span class="s">"%c"</span>, player.img<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">149</td><td>         <span class="k2">}</span></td></tr><tr><td class="number">150</td><td>        </td></tr><tr><td class="number">151</td><td>        </td></tr><tr><td class="number">152</td><td>        <a href="http://www.allegro.cc/manual/release_screen" target="_blank"><span class="a">release_screen</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">153</td><td>        </td></tr><tr><td class="number">154</td><td>        <a href="http://www.allegro.cc/manual/rest" target="_blank"><span class="a">rest</span></a><span class="k2">(</span><span class="n">50</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">155</td><td>&#160;</td></tr><tr><td class="number">156</td><td> <span class="k2">}</span>    </td></tr><tr><td class="number">157</td><td>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">158</td><td>    </td></tr><tr><td class="number">159</td><td><span class="k2">}</span> </td></tr><tr><td class="number">160</td><td><a href="http://www.allegro.cc/manual/END_OF_MAIN" target="_blank"><span class="a">END_OF_MAIN</span></a><span class="k2">(</span><span class="k2">)</span></td></tr></tbody></table></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (notwist)</author>
		<pubDate>Sun, 21 Jan 2007 08:09:21 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>EDIT</p><p>I know that you can put structure declarations inside the function, but !!!NO!!!</p><p>map[ x ] = grass;</p><p>What is that?</p><p>How about 
</p><div class="source-code snippet"><div class="inner"><pre>map<span class="k2">[</span> x <span class="k2">]</span>.walkable <span class="k3">=</span> grass.walkable<span class="k2">;</span>
map<span class="k2">[</span> x <span class="k2">]</span>.img <span class="k3">=</span> grass.img<span class="k2">;</span>
map<span class="k2">[</span> x <span class="k2">]</span>.colorR <span class="k3">=</span> grass.colorR<span class="k2">;</span>
map<span class="k2">[</span> x <span class="k2">]</span>.colorG <span class="k3">=</span> grass.colorG<span class="k2">;</span>
map<span class="k2">[</span> x <span class="k2">]</span>.colorB <span class="k3">=</span> grass.colorB<span class="k2">;</span>
map<span class="k2">[</span> x <span class="k2">]</span>.desc <span class="k3">=</span> grass.desc<span class="k2">;</span>
</pre></div></div><p>

Or you could do</p><p>tile *map[ 80 ];</p><p>map[ x ] = &grass;
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (DanielH)</author>
		<pubDate>Sun, 21 Jan 2007 08:16:02 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>if grass is and map[x] are the same data type can&#39;t you just assign the values of grass to the array node x?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (notwist)</author>
		<pubDate>Sun, 21 Jan 2007 08:26:37 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>1) Edit your posts to use code tags. They&#39;re nigh unreadable without indentation.</p><p>2) </p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
floor.desc=&quot;Stone floor.&quot;;
</p></div></div><p>
There&#39;s your problem.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (gnolam)</author>
		<pubDate>Sun, 21 Jan 2007 08:28:41 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>And in case you don&#39;t know what gnolam means, that line should be:</p><p><span class="source-code"><a href="http://www.delorie.com/djgpp/doc/libc/libc_756.html" target="_blank">strcpy</a><span class="k2">(</span>floor.desc, <span class="s">"Stone floor"</span><span class="k2">)</span><span class="k2">;</span></span>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (LennyLen)</author>
		<pubDate>Sun, 21 Jan 2007 15:24:35 +0000</pubDate>
	</item>
</rss>
