<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>3D problem, drawing a plane, sprites, camera</title>
		<link>http://www.allegro.cc/forums/view/586279</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Wed, 05 Jul 2006 20:58:54 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hi<br />So, I&#39;m trying to make a 3d multiplayer soccer game. It would be like each player sees from the POV of his own football guy. The graphics will be very simple so I don&#39;t need to use OpenGL (although maybe it would be more simple, I don&#39;t know <img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" />). The problem is I don&#39;t get all that Allegro 3D stuff. What I need is a very basic textured plane drawing function (for the 3D rectangular football pitch floating in space :], it will be only visible from the top) and a 3D sprite drawing function for the ball and the players -- I don&#39;t need models. Just that kind of sprites like you see in the old Doom game, guys predrawn from 8 sides (Problems: How to check which side relatively to the camera should be drawn? How to scale the sprites relatively to the camera position and like put them in the right places?). Also camera stuff etc. I think I don&#39;t need also depth-cueing, because it might look okay -- all in all everything in a football match is fully lit <img src="http://www.allegro.cc/forums/smileys/cheesy.gif" alt=":D" />. Maybe there&#39;s someone here who could help me with this dirty work. If someone comes up with some actual source code he will be very nicely credited in the game <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />. I know I&#39;m freaking lazy. Doh ;]<br />Greets.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (giewueron)</author>
		<pubDate>Wed, 05 Jul 2006 03:29:02 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
I&#39;m trying to make a 3d<br />.....<br />The graphics will be very simple so I don&#39;t need to use OpenGL
</p></div></div><p>
Wah! Contradiction!</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
The problem is I don&#39;t get all that Allegro 3D stuff.
</p></div></div><p>
Me neither.</p><p>What I mean is, you <i>should</i> use OpenGL because it&#39;s faster and the calculations would be done for you and all. The camera solution is there for you in related tutorials plus there is lots of help. I&#39;m not sure if Allegro&#39;s 3D functions will be around in the future.</p><p>Look up &#39;billboarding&#39; if you are still doing Doom-style character drawings.</p><p>Moving the camera around is a breeze. You just need to move everything else the opposite of where you want to go (because they <i>appear</i> to move like that).
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Archon)</author>
		<pubDate>Wed, 05 Jul 2006 04:22:28 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I actually did something but doesn&#39;t work. What&#39;s wrong? ;&lt;</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;allegro.h&gt;</span></td></tr><tr><td class="number">2</td><td>&#160;</td></tr><tr><td class="number">3</td><td><span class="k1">typedef</span> <span class="k1">struct</span></td></tr><tr><td class="number">4</td><td><span class="k2">{</span></td></tr><tr><td class="number">5</td><td>    <a href="http://www.allegro.cc/manual/fixed" target="_blank"><span class="a">fixed</span></a> x, y, z<span class="k2">;</span></td></tr><tr><td class="number">6</td><td><span class="k2">}</span> VTX<span class="k2">;</span></td></tr><tr><td class="number">7</td><td>&#160;</td></tr><tr><td class="number">8</td><td><span class="k1">typedef</span> <span class="k1">struct</span></td></tr><tr><td class="number">9</td><td><span class="k2">{</span></td></tr><tr><td class="number">10</td><td>    VTX vertices<span class="k2">[</span><span class="n">4</span><span class="k2">]</span><span class="k2">;</span></td></tr><tr><td class="number">11</td><td>    <a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>texture<span class="k2">;</span></td></tr><tr><td class="number">12</td><td><span class="k2">}</span> PLANE<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">void</span> init<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> deinit<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">16</td><td>&#160;</td></tr><tr><td class="number">17</td><td><span class="k1">volatile</span> <span class="k1">int</span> timer <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">18</td><td>&#160;</td></tr><tr><td class="number">19</td><td><span class="k1">void</span> increment_timer<span class="k2">(</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>     timer<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span></td></tr><tr><td class="number">22</td><td><span class="k2">}</span></td></tr><tr><td class="number">23</td><td>&#160;</td></tr><tr><td class="number">24</td><td><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span> </td></tr><tr><td class="number">25</td><td><span class="k2">{</span></td></tr><tr><td class="number">26</td><td>&#160;</td></tr><tr><td class="number">27</td><td>    </td></tr><tr><td class="number">28</td><td>    <a href="http://www.allegro.cc/manual/BITMAP" target="_blank"><span class="a">BITMAP</span></a> <span class="k3">*</span>double_buffer<span class="k2">;</span></td></tr><tr><td class="number">29</td><td>    </td></tr><tr><td class="number">30</td><td>    PLANE pitch<span class="k2">;</span></td></tr><tr><td class="number">31</td><td> </td></tr><tr><td class="number">32</td><td>    init<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">33</td><td>  </td></tr><tr><td class="number">34</td><td>    double_buffer <span class="k3">=</span> <a href="http://www.allegro.cc/manual/create_bitmap" target="_blank"><span class="a">create_bitmap</span></a><span class="k2">(</span> <a href="http://www.allegro.cc/manual/SCREEN_W" target="_blank"><span class="a">SCREEN_W</span></a>, <a href="http://www.allegro.cc/manual/SCREEN_H" target="_blank"><span class="a">SCREEN_H</span></a> <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>    pitch.vertices<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>.x <span class="k3">=</span> <span class="k3">-</span><span class="n">60</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="n">16</span><span class="k2">;</span></td></tr><tr><td class="number">37</td><td>    pitch.vertices<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>.y <span class="k3">=</span> <span class="k3">-</span><span class="n">45</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="n">16</span><span class="k2">;</span></td></tr><tr><td class="number">38</td><td>    pitch.vertices<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>.z <span class="k3">=</span> <span class="n">0</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="n">16</span><span class="k2">;</span></td></tr><tr><td class="number">39</td><td>    pitch.vertices<span class="k2">[</span><span class="n">1</span><span class="k2">]</span>.x <span class="k3">=</span> <span class="n">60</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="n">16</span><span class="k2">;</span></td></tr><tr><td class="number">40</td><td>    pitch.vertices<span class="k2">[</span><span class="n">1</span><span class="k2">]</span>.y <span class="k3">=</span> <span class="k3">-</span><span class="n">45</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="n">16</span><span class="k2">;</span></td></tr><tr><td class="number">41</td><td>    pitch.vertices<span class="k2">[</span><span class="n">1</span><span class="k2">]</span>.z <span class="k3">=</span> <span class="n">0</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="n">16</span><span class="k2">;</span></td></tr><tr><td class="number">42</td><td>    pitch.vertices<span class="k2">[</span><span class="n">2</span><span class="k2">]</span>.x <span class="k3">=</span> <span class="n">60</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="n">16</span><span class="k2">;</span></td></tr><tr><td class="number">43</td><td>    pitch.vertices<span class="k2">[</span><span class="n">2</span><span class="k2">]</span>.y <span class="k3">=</span> <span class="n">45</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="n">16</span><span class="k2">;</span></td></tr><tr><td class="number">44</td><td>    pitch.vertices<span class="k2">[</span><span class="n">2</span><span class="k2">]</span>.z <span class="k3">=</span> <span class="n">0</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="n">16</span><span class="k2">;</span></td></tr><tr><td class="number">45</td><td>    pitch.vertices<span class="k2">[</span><span class="n">3</span><span class="k2">]</span>.x <span class="k3">=</span> <span class="n">60</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="n">16</span><span class="k2">;</span></td></tr><tr><td class="number">46</td><td>    pitch.vertices<span class="k2">[</span><span class="n">3</span><span class="k2">]</span>.y <span class="k3">=</span> <span class="k3">-</span><span class="n">45</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="n">16</span><span class="k2">;</span></td></tr><tr><td class="number">47</td><td>    pitch.vertices<span class="k2">[</span><span class="n">3</span><span class="k2">]</span>.z <span class="k3">=</span> <span class="n">0</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="n">16</span><span class="k2">;</span></td></tr><tr><td class="number">48</td><td>    pitch.texture <span class="k3">=</span> <a href="http://www.allegro.cc/manual/load_bitmap" target="_blank"><span class="a">load_bitmap</span></a><span class="k2">(</span> <span class="s">"murawa.bmp"</span>, NULL <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">49</td><td>        </td></tr><tr><td class="number">50</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">51</td><td>    <span class="k2">{</span></td></tr><tr><td class="number">52</td><td>        <a href="http://www.allegro.cc/manual/MATRIX" target="_blank"><span class="a">MATRIX</span></a> camera_matrix<span class="k2">;</span>    </td></tr><tr><td class="number">53</td><td>        <span class="k1">int</span> i<span class="k2">;</span></td></tr><tr><td class="number">54</td><td>        <a href="http://www.allegro.cc/manual/V3D" target="_blank"><span class="a">V3D</span></a> pitch_v3d<span class="k2">[</span><span class="n">4</span><span class="k2">]</span><span class="k2">;</span>        </td></tr><tr><td class="number">55</td><td>        </td></tr><tr><td class="number">56</td><td>        <span class="k1">while</span> <span class="k2">(</span>timer<span class="k2">)</span></td></tr><tr><td class="number">57</td><td>        <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>        <a href="http://www.allegro.cc/manual/get_camera_matrix" target="_blank"><span class="a">get_camera_matrix</span></a><span class="k2">(</span> <span class="k3">&amp;</span>camera_matrix, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, <span class="n">1</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="n">16</span>, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, <span class="n">1</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="n">16</span>, <span class="n">32</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="n">16</span>, <span class="n">1</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="n">16</span><span class="k2">)</span><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">for</span> <span class="k2">(</span> i <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> i <span class="k3">&lt;</span> <span class="n">4</span><span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span> <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>            <a href="http://www.allegro.cc/manual/apply_matrix" target="_blank"><span class="a">apply_matrix</span></a><span class="k2">(</span> <span class="k3">&amp;</span>camera_matrix, pitch.vertices<span class="k3">&lt;</span>i&gt;.x, pitch.vertices<span class="k3">&lt;</span>i&gt;.y, pitch.vertices<span class="k3">&lt;</span>i&gt;.z,</td></tr><tr><td class="number">65</td><td>                          <span class="k3">&amp;</span>pitch_v3d<span class="k3">&lt;</span>i&gt;.x, <span class="k3">&amp;</span>pitch_v3d<span class="k3">&lt;</span>i&gt;.y, <span class="k3">&amp;</span>pitch_v3d<span class="k3">&lt;</span>i&gt;.z<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">66</td><td>            pitch_v3d<span class="k3">&lt;</span>i&gt;.u <span class="k3">=</span> pitch_v3d<span class="k3">&lt;</span>i&gt;.v <span class="k3">=</span> <span class="n">0</span><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>        </td></tr><tr><td class="number">69</td><td>        </td></tr><tr><td class="number">70</td><td>&#160;</td></tr><tr><td class="number">71</td><td>        <a href="http://www.allegro.cc/manual/clear_to_color" target="_blank"><span class="a">clear_to_color</span></a><span class="k2">(</span>double_buffer, <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="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/polygon3d" target="_blank"><span class="a">polygon3d</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/POLYTYPE_PTEX" target="_blank"><span class="a">POLYTYPE_PTEX</span></a>, pitch.texture, <span class="n">4</span>, pitch_v3d<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">74</td><td>        <a href="http://www.allegro.cc/manual/blit" target="_blank"><span class="a">blit</span></a><span class="k2">(</span>double_buffer, <a href="http://www.allegro.cc/manual/screen" target="_blank"><span class="a">screen</span></a>, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span>, <a href="http://www.allegro.cc/manual/SCREEN_W" target="_blank"><span class="a">SCREEN_W</span></a>, <a href="http://www.allegro.cc/manual/SCREEN_H" target="_blank"><span class="a">SCREEN_H</span></a><span class="k2">)</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>&#160;</td></tr><tr><td class="number">77</td><td>  deinit<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">78</td><td>  <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span></td></tr><tr><td class="number">79</td><td><span class="k2">}</span></td></tr><tr><td class="number">80</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><span class="k2">;</span></td></tr><tr><td class="number">81</td><td>&#160;</td></tr><tr><td class="number">82</td><td><span class="k1">void</span> init<span class="k2">(</span><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>  <span class="k1">int</span> depth, res<span class="k2">;</span></td></tr><tr><td class="number">85</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">86</td><td>  depth <span class="k3">=</span> <a href="http://www.allegro.cc/manual/desktop_color_depth" target="_blank"><span class="a">desktop_color_depth</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">87</td><td>  <span class="k1">if</span> <span class="k2">(</span>depth <span class="k3">=</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span> depth <span class="k3">=</span> <span class="n">32</span><span class="k2">;</span></td></tr><tr><td class="number">88</td><td>  <a href="http://www.allegro.cc/manual/set_color_depth" target="_blank"><span class="a">set_color_depth</span></a><span class="k2">(</span>depth<span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">89</td><td>  res <span class="k3">=</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_AUTODETECT_FULLSCREEN, <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">90</td><td>  <span class="k1">if</span> <span class="k2">(</span>res <span class="k3">!</span><span class="k3">=</span> <span class="n">0</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>    <a href="http://www.allegro.cc/manual/allegro_message" target="_blank"><span class="a">allegro_message</span></a><span class="k2">(</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></td></tr><tr><td class="number">93</td><td>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><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">94</td><td>  <span class="k2">}</span></td></tr><tr><td class="number">95</td><td>&#160;</td></tr><tr><td class="number">96</td><td>  <a href="http://www.allegro.cc/manual/install_timer" target="_blank"><span class="a">install_timer</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">97</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">98</td><td>  <a href="http://www.allegro.cc/manual/install_mouse" target="_blank"><span class="a">install_mouse</span></a><span class="k2">(</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>    <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">101</td><td>     </td></tr><tr><td class="number">102</td><td>    <a href="http://www.allegro.cc/manual/LOCK_VARIABLE" target="_blank"><span class="a">LOCK_VARIABLE</span></a><span class="k2">(</span> timer <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">103</td><td>    <a href="http://www.allegro.cc/manual/LOCK_FUNCTION" target="_blank"><span class="a">LOCK_FUNCTION</span></a><span class="k2">(</span> increment_timer <span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">104</td><td>    <a href="http://www.allegro.cc/manual/install_int_ex" target="_blank"><span class="a">install_int_ex</span></a><span class="k2">(</span> increment_timer, BPS_TO_TIMER<span class="k2">(</span><span class="n">200</span><span class="k2">)</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>    <a href="http://www.allegro.cc/manual/set_projection_viewport" target="_blank"><span class="a">set_projection_viewport</span></a> <span class="k2">(</span><span class="n">0</span>, <span class="n">0</span>, <a href="http://www.allegro.cc/manual/SCREEN_W" target="_blank"><span class="a">SCREEN_W</span></a>, <a href="http://www.allegro.cc/manual/SCREEN_H" target="_blank"><span class="a">SCREEN_H</span></a><span class="k2">)</span><span class="k2">;</span></td></tr><tr><td class="number">107</td><td><span class="k2">}</span></td></tr><tr><td class="number">108</td><td>&#160;</td></tr><tr><td class="number">109</td><td><span class="k1">void</span> deinit<span class="k2">(</span><span class="k2">)</span> <span class="k2">{</span></td></tr><tr><td class="number">110</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">111</td><td><span class="k2">}</span></td></tr></tbody></table></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (giewueron)</author>
		<pubDate>Wed, 05 Jul 2006 05:34:15 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Matt Smith posted starter code which could give you a boost in the right direction -- it sets up the ball and the pitch for you.  He posted it over in <a href="http://www.allegro.cc/forums/thread/586182">this thread</a> ...</p><p>edits:<br />Oh, and for your code, I didn&#39;t read over it closely but in the main loop you have:
</p><div class="source-code snippet"><div class="inner"><pre>        <span class="k1">while</span> <span class="k2">(</span>timer<span class="k2">)</span>
        <span class="k2">{</span>
        <span class="k2">}</span>
</pre></div></div><p>
and it doesn&#39;t look like you ever decrement timer, only increment.  You probably meant
</p><div class="source-code snippet"><div class="inner"><pre>        <span class="k1">while</span> <span class="k2">(</span>timer<span class="k2">)</span>
        <span class="k2">{</span>
            <span class="c">// logic to go here later</span>
            timer--<span class="k2">;</span>
        <span class="k2">}</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Zaphos)</author>
		<pubDate>Wed, 05 Jul 2006 05:59:29 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Maybe you can use &quot;mode7&quot; trick to render the grass and render sprites using <a href="http://www.allegro.cc/manual/api/blitting-and-sprites/pivot_scaled_sprite">pivot_scaled_sprite</a>.</p><p><a href="http://pixwiki.bafsoft.com">Pixwiki</a> still broken so I&#39;ve attached (again) the tutorial that explains &quot;mode7&quot; using Allegro.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Niunio)</author>
		<pubDate>Wed, 05 Jul 2006 14:36:53 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I looked at that mode 7 stuff and seems it would fit here. Maybe instead of that textured plane or stretch sprite I could just line by line draw it, using that divide by z, so it would be like a little perspective correct.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (giewueron)</author>
		<pubDate>Wed, 05 Jul 2006 18:28:04 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
Pixwiki [pixwiki.bafsoft.com] still broken so...
</p></div></div><p>

Fixed.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (BAF)</author>
		<pubDate>Wed, 05 Jul 2006 18:44:51 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Thanks for the mode 7 suggestion. All works like it should.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (giewueron)</author>
		<pubDate>Wed, 05 Jul 2006 20:58:54 +0000</pubDate>
	</item>
</rss>
