<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>[A5] Pointless Thread about what I have been attempting</title>
		<link>http://www.allegro.cc/forums/view/611486</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Sat, 24 Nov 2012 04:31:44 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Just sitting here goofing around with things I&#39;ve not really dabbled with. I attempted tile mapping for the first time this morning.</p><p>Tile sheet:<br /><img src="http://www.allegro.cc//djungxnpq2nug.cloudfront.net/image/cache/b/4/b44093e02f7b6558c29f92f712409bea.png" alt="606876" width="64" height="64" /></p><p>Screenshot of Test Running:<br /><span class="remote-thumbnail"><span class="json">{"name":"606875","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/8\/e\/8e486e77b94eae78ff1606cfc6e58799.png","w":642,"h":512,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/8\/e\/8e486e77b94eae78ff1606cfc6e58799"}</span><img src="http://www.allegro.cc//djungxnpq2nug.cloudfront.net/image/cache/8/e/8e486e77b94eae78ff1606cfc6e58799-240.jpg" alt="606875" width="240" height="191" /></span></p><p>Code for it (used ugly globals and terrible practices, but I was in a hurry so I did it sporadic) :
</p><div class="spoiler"><p>
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">   1</span><span class="p">#include &lt;allegro5/allegro.h&gt;</span>
<span class="number">   2</span><span class="p">#include &lt;allegro5/allegro_image.h&gt;</span>
<span class="number">   3</span><span class="p">#include &lt;fstream&gt;</span>
<span class="number">   4</span><span class="p">#include &lt;vector&gt;</span>
<span class="number">   5</span><span class="p">#include &lt;iostream&gt;</span>
<span class="number">   6</span>
<span class="number">   7</span><span class="k1">using</span> <span class="k1">namespace</span> std<span class="k2">;</span>
<span class="number">   8</span>
<span class="number">   9</span><span class="k1">const</span> <span class="k1">int</span> BLOCK_SIZE <span class="k3">=</span> <span class="n">32</span><span class="k2">;</span>
<span class="number">  10</span>vector <span class="k3">&lt;</span><a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a><span class="k3">*</span><span class="k3">&gt;</span> tiles<span class="k2">;</span>
<span class="number">  11</span>
<span class="number">  12</span><span class="k1">int</span> loadCounterX <span class="k3">=</span> <span class="n">0</span>, loadCounterY <span class="k3">=</span> <span class="n">0</span>, mapSizeX, mapSizeY<span class="k2">;</span>
<span class="number">  13</span>
<span class="number">  14</span><span class="k1">void</span> loadMap<span class="k2">(</span><span class="k1">const</span> <span class="k1">char</span><span class="k3">*</span> filename, <span class="k1">int</span> map<span class="k2">[</span><span class="k2">]</span><span class="k2">[</span><span class="n">100</span><span class="k2">]</span><span class="k2">)</span>
<span class="number">  15</span><span class="k2">{</span>
<span class="number">  16</span>    ifstream openfile<span class="k2">(</span>filename<span class="k2">)</span><span class="k2">;</span>
<span class="number">  17</span>    <span class="k1">if</span><span class="k2">(</span>openfile.is_open<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  18</span>    <span class="k2">{</span>
<span class="number">  19</span>        openfile <span class="k3">&gt;</span><span class="k3">&gt;</span> mapSizeX <span class="k3">&gt;</span><span class="k3">&gt;</span> mapSizeY<span class="k2">;</span>
<span class="number">  20</span>        <span class="k1">while</span><span class="k2">(</span><span class="k3">!</span>openfile.eof<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  21</span>        <span class="k2">{</span>
<span class="number">  22</span>            openfile <span class="k3">&gt;</span><span class="k3">&gt;</span> map<span class="k2">[</span>loadCounterX<span class="k2">]</span><span class="k2">[</span>loadCounterY<span class="k2">]</span><span class="k2">;</span>
<span class="number">  23</span>            loadCounterX<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number">  24</span>
<span class="number">  25</span>            <span class="k1">if</span><span class="k2">(</span>loadCounterX <span class="k3">&gt;</span><span class="k3">=</span> mapSizeX<span class="k2">)</span>
<span class="number">  26</span>            <span class="k2">{</span>
<span class="number">  27</span>                loadCounterX <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  28</span>                loadCounterY<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number">  29</span>            <span class="k2">}</span>
<span class="number">  30</span>        <span class="k2">}</span>
<span class="number">  31</span>    <span class="k2">}</span>
<span class="number">  32</span>    <span class="k1">else</span>
<span class="number">  33</span>    <span class="k2">{</span>
<span class="number">  34</span>        cout <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">"Cannot open map.txt. "</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> endl<span class="k2">;</span>
<span class="number">  35</span>    <span class="k2">}</span>
<span class="number">  36</span><span class="k2">}</span>
<span class="number">  37</span>
<span class="number">  38</span><span class="k1">void</span> drawMap<span class="k2">(</span><span class="k1">int</span> map<span class="k2">[</span><span class="k2">]</span><span class="k2">[</span><span class="n">100</span><span class="k2">]</span>,vector<span class="k3">&lt;</span><a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a><span class="k3">*</span><span class="k3">&gt;</span>spr<span class="k2">)</span><span class="k2">;</span>
<span class="number">  39</span>
<span class="number">  40</span><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span>
<span class="number">  41</span><span class="k2">{</span>
<span class="number">  42</span>   <a href="http://www.allegro.cc/manual/al_init"><span class="a">al_init</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  43</span>   <a href="http://www.allegro.cc/manual/al_install_keyboard"><span class="a">al_install_keyboard</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  44</span>   <a href="http://www.allegro.cc/manual/al_init_image_addon"><span class="a">al_init_image_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  45</span>
<span class="number">  46</span>   <span class="k1">int</span> map<span class="k2">[</span><span class="n">100</span><span class="k2">]</span><span class="k2">[</span><span class="n">100</span><span class="k2">]</span><span class="k2">;</span>
<span class="number">  47</span>   loadMap<span class="k2">(</span><span class="s">"map.txt"</span>, map<span class="k2">)</span><span class="k2">;</span>
<span class="number">  48</span>
<span class="number">  49</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>sprite<span class="k2">;</span>
<span class="number">  50</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a> <span class="k3">*</span>display<span class="k2">;</span>
<span class="number">  51</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a> <span class="k3">*</span>event_queue<span class="k2">;</span>
<span class="number">  52</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a> <span class="k3">*</span>timer<span class="k2">;</span>
<span class="number">  53</span>
<span class="number">  54</span>   <span class="k1">const</span> <span class="k1">int</span> FPS <span class="k3">=</span> <span class="n">60</span><span class="k2">;</span>
<span class="number">  55</span>   <span class="k1">const</span> <span class="k1">int</span> <a href="http://www.allegro.cc/manual/SCREEN_W"><span class="a">SCREEN_W</span></a> <span class="k3">=</span> <span class="n">640</span><span class="k2">;</span>
<span class="number">  56</span>   <span class="k1">const</span> <span class="k1">int</span> <a href="http://www.allegro.cc/manual/SCREEN_H"><span class="a">SCREEN_H</span></a> <span class="k3">=</span> <span class="n">480</span><span class="k2">;</span>
<span class="number">  57</span>
<span class="number">  58</span>   timer <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_timer"><span class="a">al_create_timer</span></a><span class="k2">(</span><span class="n">1</span>.<span class="n">0</span><span class="k3">/</span>FPS<span class="k2">)</span><span class="k2">;</span>
<span class="number">  59</span>   display <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_display"><span class="a">al_create_display</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/SCREEN_W"><span class="a">SCREEN_W</span></a>, <a href="http://www.allegro.cc/manual/SCREEN_H"><span class="a">SCREEN_H</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number">  60</span>   event_queue <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_event_queue"><span class="a">al_create_event_queue</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  61</span>
<span class="number">  62</span>   sprite <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_bitmap"><span class="a">al_load_bitmap</span></a><span class="k2">(</span><span class="s">"tilesheet.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  63</span>   <span class="k1">int</span> tileOffset <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  64</span>   <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> <span class="n">2</span><span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number">  65</span>   <span class="k2">{</span>
<span class="number">  66</span>       <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> j <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> j <span class="k3">&lt;</span> <span class="n">2</span><span class="k2">;</span> j<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number">  67</span>       <span class="k2">{</span>
<span class="number">  68</span>           tiles.push_back<span class="k2">(</span><a href="http://www.allegro.cc/manual/al_create_sub_bitmap"><span class="a">al_create_sub_bitmap</span></a><span class="k2">(</span>sprite, i <span class="k3">*</span> BLOCK_SIZE, j <span class="k3">*</span> BLOCK_SIZE, BLOCK_SIZE, BLOCK_SIZE<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  69</span>           tileOffset <span class="k3">=</span> tileOffset <span class="k3">+</span> BLOCK_SIZE<span class="k2">;</span>
<span class="number">  70</span>        <span class="k2">}</span>
<span class="number">  71</span>   <span class="k2">}</span>
<span class="number">  72</span>
<span class="number">  73</span>   <span class="k1">bool</span> redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  74</span>   <span class="k1">bool</span> doexit <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  75</span>
<span class="number">  76</span>   <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>event_queue, <a href="http://www.allegro.cc/manual/al_get_display_event_source"><span class="a">al_get_display_event_source</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  77</span>   <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>event_queue, <a href="http://www.allegro.cc/manual/al_get_timer_event_source"><span class="a">al_get_timer_event_source</span></a><span class="k2">(</span>timer<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  78</span>   <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>event_queue, <a href="http://www.allegro.cc/manual/al_get_keyboard_event_source"><span class="a">al_get_keyboard_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  79</span>
<span class="number">  80</span>   <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</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>
<span class="number">  81</span>   <a href="http://www.allegro.cc/manual/al_flip_display"><span class="a">al_flip_display</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  82</span>   <a href="http://www.allegro.cc/manual/al_start_timer"><span class="a">al_start_timer</span></a><span class="k2">(</span>timer<span class="k2">)</span><span class="k2">;</span>
<span class="number">  83</span>
<span class="number">  84</span>   <span class="k1">while</span><span class="k2">(</span><span class="k3">!</span>doexit<span class="k2">)</span>
<span class="number">  85</span>   <span class="k2">{</span>
<span class="number">  86</span>       <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> ev<span class="k2">;</span>
<span class="number">  87</span>       <a href="http://www.allegro.cc/manual/al_wait_for_event"><span class="a">al_wait_for_event</span></a><span class="k2">(</span>event_queue, <span class="k3">&amp;</span>ev<span class="k2">)</span><span class="k2">;</span>
<span class="number">  88</span>
<span class="number">  89</span>       <span class="k1">if</span><span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_TIMER<span class="k2">)</span>
<span class="number">  90</span>       <span class="k2">{</span>
<span class="number">  91</span>           redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  92</span>       <span class="k2">}</span>
<span class="number">  93</span>       <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_DISPLAY_CLOSE<span class="k2">)</span>
<span class="number">  94</span>       <span class="k2">{</span>
<span class="number">  95</span>           <span class="k1">break</span><span class="k2">;</span>
<span class="number">  96</span>       <span class="k2">}</span>
<span class="number">  97</span>       <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_KEY_DOWN<span class="k2">)</span>
<span class="number">  98</span>       <span class="k2">{</span>
<span class="number">  99</span>           <span class="k1">switch</span><span class="k2">(</span>ev.keyboard.keycode<span class="k2">)</span>
<span class="number"> 100</span>           <span class="k2">{</span>
<span class="number"> 101</span>
<span class="number"> 102</span>           <span class="k2">}</span>
<span class="number"> 103</span>       <span class="k2">}</span>
<span class="number"> 104</span>       <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_KEY_UP<span class="k2">)</span>
<span class="number"> 105</span>       <span class="k2">{</span>
<span class="number"> 106</span>           <span class="k1">switch</span><span class="k2">(</span>ev.keyboard.keycode<span class="k2">)</span>
<span class="number"> 107</span>           <span class="k2">{</span>
<span class="number"> 108</span>               <span class="k1">case</span> ALLEGRO_KEY_ESCAPE:
<span class="number"> 109</span>                doexit <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 110</span>                <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 111</span>           <span class="k2">}</span>
<span class="number"> 112</span>       <span class="k2">}</span>
<span class="number"> 113</span>
<span class="number"> 114</span>       <span class="k1">if</span><span class="k2">(</span>redraw <span class="k3">&amp;</span><span class="k3">&amp;</span> <a href="http://www.allegro.cc/manual/al_is_event_queue_empty"><span class="a">al_is_event_queue_empty</span></a><span class="k2">(</span>event_queue<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 115</span>       <span class="k2">{</span>
<span class="number"> 116</span>           redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 117</span>           <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</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>
<span class="number"> 118</span>           drawMap<span class="k2">(</span>map, tiles<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 119</span>           <a href="http://www.allegro.cc/manual/al_flip_display"><span class="a">al_flip_display</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 120</span>       <span class="k2">}</span>
<span class="number"> 121</span>   <span class="k2">}</span>
<span class="number"> 122</span>
<span class="number"> 123</span>   <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 124</span>
<span class="number"> 125</span><span class="k2">}</span>
<span class="number"> 126</span>
<span class="number"> 127</span><span class="k1">void</span> drawMap<span class="k2">(</span><span class="k1">int</span> map<span class="k2">[</span><span class="k2">]</span><span class="k2">[</span><span class="n">100</span><span class="k2">]</span>, vector<span class="k3">&lt;</span><a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a><span class="k3">*</span><span class="k3">&gt;</span>spr<span class="k2">)</span>
<span class="number"> 128</span><span class="k2">{</span>
<span class="number"> 129</span>    <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> mapSizeX<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number"> 130</span>    <span class="k2">{</span>
<span class="number"> 131</span>        <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> j <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span> j <span class="k3">&lt;</span> mapSizeY<span class="k2">;</span> j<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number"> 132</span>        <span class="k2">{</span>
<span class="number"> 133</span>            <span class="k1">if</span><span class="k2">(</span>map<span class="k2">[</span>i<span class="k2">]</span><span class="k2">[</span>j<span class="k2">]</span> <span class="k3">=</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span>
<span class="number"> 134</span>                <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>spr<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>, i <span class="k3">*</span> BLOCK_SIZE, j <span class="k3">*</span> BLOCK_SIZE, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 135</span>            <span class="k1">if</span><span class="k2">(</span>map<span class="k2">[</span>i<span class="k2">]</span><span class="k2">[</span>j<span class="k2">]</span> <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span>
<span class="number"> 136</span>                <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>spr<span class="k2">[</span><span class="n">1</span><span class="k2">]</span>, i <span class="k3">*</span> BLOCK_SIZE, j <span class="k3">*</span> BLOCK_SIZE, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 137</span>            <span class="k1">if</span><span class="k2">(</span>map<span class="k2">[</span>i<span class="k2">]</span><span class="k2">[</span>j<span class="k2">]</span> <span class="k3">=</span><span class="k3">=</span> <span class="n">2</span><span class="k2">)</span>
<span class="number"> 138</span>                <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>spr<span class="k2">[</span><span class="n">2</span><span class="k2">]</span>, i <span class="k3">*</span> BLOCK_SIZE, j <span class="k3">*</span> BLOCK_SIZE, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 139</span>            <span class="k1">if</span><span class="k2">(</span>map<span class="k2">[</span>i<span class="k2">]</span><span class="k2">[</span>j<span class="k2">]</span> <span class="k3">=</span><span class="k3">=</span> <span class="n">3</span><span class="k2">)</span>
<span class="number"> 140</span>                <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>spr<span class="k2">[</span><span class="n">3</span><span class="k2">]</span>, i <span class="k3">*</span> BLOCK_SIZE, j <span class="k3">*</span> BLOCK_SIZE, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 141</span>        <span class="k2">}</span>
<span class="number"> 142</span>    <span class="k2">}</span>
<span class="number"> 143</span><span class="k2">}</span>
</div></div><p>
</p></div><p>

Just can&#39;t figure why it seems to have the grey lines across it. Not bad for a first time though.</p><p>Even have a semi-working game done too, Global Destruction. I have to tweak some of the things in the code and remove a couple of things, then I&#39;ll post the code here too.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Specter Phoenix)</author>
		<pubDate>Thu, 22 Nov 2012 23:00:49 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>See what you can do SP? Good job. I think the problem is that your grass tile goes one line into the grey part (guessing that because there&#39;s also a black pixel on the edge where the diagonal black lines top pixel is in the tile sheet.)
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Trent Gamblin)</author>
		<pubDate>Thu, 22 Nov 2012 23:47:25 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Depressing <img src="http://www.allegro.cc/forums/smileys/sad.gif" alt=":(" /> Not because of the content, but the form. Giving yourself credit is also an art. <s>I suck at it too</s> <s>I&#39;m trying to improve that too</s> I&#39;m definitely getting better at it, just like you &gt;_&gt;<br />The line might also be an artefact from linear filtering sampling over the bound... maybe. Or from the new floating point screen coordinates<span class="ref"><sup>[<a href="#">1</a>]</sup></span>, where you should use an offset of 0.5.
</p><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/611486/970698#target">Specter Phoenix</a> said:</div><div class="quote"><p> Even have a semi-working game done too, Global Destruction.
</p></div></div><p>Already the name&#39;s good. <img src="http://www.allegro.cc/forums/smileys/grin.gif" alt=";D" />
</p><div class="ref-block"><h2>References</h2><ol><li>There has to be a better name.</li></ol></div></div>]]>
		</description>
		<author>no-reply@allegro.cc (weapon_S)</author>
		<pubDate>Fri, 23 Nov 2012 01:51:39 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>That seems actually as trentsays, you&#39;re having pixels bleed from the neighboring tiles (the gray ones in the grass and the black ones in the frame).</p><p>Still, I can&#39;t get WHY from your code....to me seems spot on for the task <img src="http://www.allegro.cc/forums/smileys/huh.gif" alt="???" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (pkrcel)</author>
		<pubDate>Fri, 23 Nov 2012 02:56:48 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>p.s.</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">if</span><span class="k2">(</span>map<span class="k2">[</span>i<span class="k2">]</span><span class="k2">[</span>j<span class="k2">]</span> <span class="k3">=</span><span class="k3">=</span> <span class="n">0</span><span class="k2">)</span>
    <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>spr<span class="k2">[</span><span class="n">0</span><span class="k2">]</span>, i <span class="k3">*</span> BLOCK_SIZE, j <span class="k3">*</span> BLOCK_SIZE, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="k1">if</span><span class="k2">(</span>map<span class="k2">[</span>i<span class="k2">]</span><span class="k2">[</span>j<span class="k2">]</span> <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span>
    <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>spr<span class="k2">[</span><span class="n">1</span><span class="k2">]</span>, i <span class="k3">*</span> BLOCK_SIZE, j <span class="k3">*</span> BLOCK_SIZE, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="k1">if</span><span class="k2">(</span>map<span class="k2">[</span>i<span class="k2">]</span><span class="k2">[</span>j<span class="k2">]</span> <span class="k3">=</span><span class="k3">=</span> <span class="n">2</span><span class="k2">)</span>
    <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>spr<span class="k2">[</span><span class="n">2</span><span class="k2">]</span>, i <span class="k3">*</span> BLOCK_SIZE, j <span class="k3">*</span> BLOCK_SIZE, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="k1">if</span><span class="k2">(</span>map<span class="k2">[</span>i<span class="k2">]</span><span class="k2">[</span>j<span class="k2">]</span> <span class="k3">=</span><span class="k3">=</span> <span class="n">3</span><span class="k2">)</span>
    <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>spr<span class="k2">[</span><span class="n">3</span><span class="k2">]</span>, i <span class="k3">*</span> BLOCK_SIZE, j <span class="k3">*</span> BLOCK_SIZE, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>

could be replaced with:</p><p><span class="source-code"><a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>spr<span class="k2">[</span>map<span class="k2">[</span>i<span class="k2">]</span><span class="k2">[</span>j<span class="k2">]</span><span class="k2">]</span>, i <span class="k3">*</span> BLOCK_SIZE, j <span class="k3">*</span> BLOCK_SIZE, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span></span>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (LennyLen)</author>
		<pubDate>Fri, 23 Nov 2012 06:08:33 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>@LennyLen<br />I used to have it like that, but once the map showed grey lines I wanted to do it individually to rule out the drawing code. (Figured I had typed out the spr[map[i][j]]wrong, but it didn&#39;t fix it and just forgot to change it back).</p><p>As for the images, I&#39;ll have to try the 0.5 offset because I noticed the grey walls going up and down had a black speck on each one. So upon noticing that I decided to draw the grass and vertical wall on top of the map and found that it is actually on the top of each texture and not the bottom like we thought.</p><p><span class="remote-thumbnail"><span class="json">{"name":"606880","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/c\/0\/c0388ad27e6ec1693aa4bb5f864233c4.png","w":802,"h":632,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/c\/0\/c0388ad27e6ec1693aa4bb5f864233c4"}</span><img src="http://www.allegro.cc//djungxnpq2nug.cloudfront.net/image/cache/c/0/c0388ad27e6ec1693aa4bb5f864233c4-240.jpg" alt="606880" width="240" height="189" /></span></p><p>[REVISION]<br />Well tried an offset of .5 and 1 but still have the lines. Even removed the offset and still changed nothing in that regard.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Specter Phoenix)</author>
		<pubDate>Fri, 23 Nov 2012 06:22:03 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Your code works for me unchanged with this map </p><div class="source-code snippet"><div class="inner"><pre><span class="n">10</span> <span class="n">10</span>
<span class="n">3</span> <span class="n">1</span> <span class="n">1</span> <span class="n">1</span> <span class="n">3</span> <span class="n">1</span> <span class="n">1</span> <span class="n">1</span> <span class="n">1</span> <span class="n">3</span>
<span class="n">2</span> <span class="n">0</span> <span class="n">0</span> <span class="n">0</span> <span class="n">2</span> <span class="n">0</span> <span class="n">0</span> <span class="n">0</span> <span class="n">0</span> <span class="n">2</span>
<span class="n">2</span> <span class="n">0</span> <span class="n">0</span> <span class="n">0</span> <span class="n">2</span> <span class="n">0</span> <span class="n">0</span> <span class="n">0</span> <span class="n">0</span> <span class="n">2</span>
<span class="n">2</span> <span class="n">0</span> <span class="n">0</span> <span class="n">0</span> <span class="n">2</span> <span class="n">0</span> <span class="n">0</span> <span class="n">0</span> <span class="n">0</span> <span class="n">2</span>
<span class="n">3</span> <span class="n">1</span> <span class="n">1</span> <span class="n">1</span> <span class="n">3</span> <span class="n">1</span> <span class="n">1</span> <span class="n">1</span> <span class="n">1</span> <span class="n">3</span>
<span class="n">2</span> <span class="n">0</span> <span class="n">0</span> <span class="n">0</span> <span class="n">2</span> <span class="n">0</span> <span class="n">0</span> <span class="n">0</span> <span class="n">0</span> <span class="n">2</span>
<span class="n">2</span> <span class="n">0</span> <span class="n">0</span> <span class="n">0</span> <span class="n">2</span> <span class="n">0</span> <span class="n">0</span> <span class="n">0</span> <span class="n">0</span> <span class="n">2</span>
<span class="n">2</span> <span class="n">0</span> <span class="n">0</span> <span class="n">0</span> <span class="n">2</span> <span class="n">0</span> <span class="n">0</span> <span class="n">0</span> <span class="n">0</span> <span class="n">2</span>
<span class="n">2</span> <span class="n">0</span> <span class="n">0</span> <span class="n">0</span> <span class="n">2</span> <span class="n">0</span> <span class="n">0</span> <span class="n">0</span> <span class="n">0</span> <span class="n">2</span>
<span class="n">3</span> <span class="n">1</span> <span class="n">1</span> <span class="n">1</span> <span class="n">3</span> <span class="n">1</span> <span class="n">1</span> <span class="n">1</span> <span class="n">1</span> <span class="n">3</span>
</pre></div></div><p>

<span class="remote-thumbnail"><span class="json">{"name":"47058783.png","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/7\/a\/7ab2d353a3840d48c502494acffa37e0.png","w":640,"h":508,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/7\/a\/7ab2d353a3840d48c502494acffa37e0"}</span><img src="http://www.allegro.cc//djungxnpq2nug.cloudfront.net/image/cache/7/a/7ab2d353a3840d48c502494acffa37e0-240.jpg" alt="47058783.png" width="240" height="190" /></span>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (naraku9333)</author>
		<pubDate>Fri, 23 Nov 2012 09:37:05 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Odd, I copied and pasted your map text and still get the grey lines. Maybe it is just an issue with Ubuntu 12.04 and Allegro 5.1.4 <img src="http://www.allegro.cc/forums/smileys/huh.gif" alt="???" />.</p><p><span class="remote-thumbnail"><span class="json">{"name":"606882","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/5\/1\/51b500b33131b4309c9e4e09db97059f.png","w":802,"h":632,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/5\/1\/51b500b33131b4309c9e4e09db97059f"}</span><img src="http://www.allegro.cc//djungxnpq2nug.cloudfront.net/image/cache/5/1/51b500b33131b4309c9e4e09db97059f-240.jpg" alt="606882" width="240" height="189" /></span>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Specter Phoenix)</author>
		<pubDate>Fri, 23 Nov 2012 09:56:54 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I was gonna post a response earlier, until I realized I didn&#39;t have a solution. <img src="http://www.allegro.cc/forums/smileys/undecided.gif" alt=":-/" /></p><p>The problem is a rounding error with the nearest-neighbour texture filtering going on, combined with how Allegro offsets pixels by 0.5f by default so that the middle of each pixel is drawn. Apparently, your video card is rounding the vertical result in the wrong direction.</p><p>You MIGHT be able to solve the problem by offseting your pixels by tiny decimal amounts, like 0.0001f, but this could also affect other players. Adding in linear filtering would theoretically solve this problem too, but linear filtering in Allegro works with the scaling system so I have no idea if it will apply properly to an unscaled image, nor which mode you need to use to accomplish that, MIN or MAG.</p><p>You may wanna go through your graphics card settings instead first to see if there&#39;s any texture related options that could be to blame.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Kris Asick)</author>
		<pubDate>Fri, 23 Nov 2012 11:15:40 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/611486/970734#target">Kris Asick</a> said:</div><div class="quote"><p>Allegro offsets pixels by 0.5f by default</p></div></div><p>

It don&#39;t.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Peter Wang)</author>
		<pubDate>Fri, 23 Nov 2012 11:22:55 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>It doesn&#39;t? Where the heck did I read that then...</p><p>...or wait... that would actually make more sense to Specter&#39;s problem because his textures are starting up by 1 pixel, so if for some obscure reason it&#39;s rounding a precise value of 0 down to the next lowest pixel...</p><p>Hmm... maybe adding 0.0001f really would solve all the problems? <img src="http://www.allegro.cc/forums/smileys/shocked.gif" alt=":o" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Kris Asick)</author>
		<pubDate>Fri, 23 Nov 2012 11:34:46 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I had a video card that would do something similar with the top left dot of every tile drawn... I updated my drivers and that fixed it.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Trent Gamblin)</author>
		<pubDate>Fri, 23 Nov 2012 12:37:17 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;m using Gimp 2.8 to do the images and I thought it started its pixels at 0. Either way I tried doing an offset of 0.5 and 1 and it didn&#39;t fix it. Sadly my laptop is an old piece of <span class="cuss"><span><span class="cuss"><span>shit</span></span></span></span> and has (according to Sysinfo):
</p><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>
Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller
</p></div></div><p>
so I don&#39;t know if a new driver would help or even if they have a new driver.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Specter Phoenix)</author>
		<pubDate>Fri, 23 Nov 2012 14:00:05 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Kris, the 0.5 offset is when drawing primitives. I think.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Neil Walker)</author>
		<pubDate>Fri, 23 Nov 2012 14:34:50 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Direct3D stuff is offset by 0.5 behind the scenes, but that is just to make it match OpenGL so user code is compatible. Unless you know a lot about D3D you don&#39;t even know about this.</p><p>The 0.5 thing people talk about is with some non-filled primitives like lines and rectangles. When you specify x and y of a line you&#39;re specifying the center of the line. So if you want a 1 pixel thick line, you specify the center (by adding 0.5) and 1 for thickness. But it&#39;s not always 0.5 you want. If you want a 1.5 thick line you&#39;d specify 0.75 offsets. The lines &quot;grow out&quot; in both directions away from the center you give.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Trent Gamblin)</author>
		<pubDate>Fri, 23 Nov 2012 14:51:53 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Quote:</div><div class="quote"><p>Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller</p></div></div><p>
...I pity you... <img src="http://www.allegro.cc/forums/smileys/cry.gif" alt=":&#39;(" /></p><p>But yeah, for graphics processing those chipsets are both a POS, which is funny considering they support all the features of DirectX 10 among other things.</p><p>I&#39;ve also learned that the texture quality and accuracy of the graphics component of those chipsets is erratic at best, so even if you do come up with a solution, it could result in inaccuracies on mid-to-high end graphics software, or just other chipsets in general. Normally, I would suggest plopping in something half-decent, but considering it sounds like you&#39;re on a laptop, I dunno what to suggest. <img src="http://www.allegro.cc/forums/smileys/undecided.gif" alt=":-/" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Kris Asick)</author>
		<pubDate>Fri, 23 Nov 2012 17:24:13 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>That screenshot looks just like it is supposed to look if something was adding 0.5 pixels offsets. Maybe try with the OpenGL driver.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Elias)</author>
		<pubDate>Fri, 23 Nov 2012 17:53:48 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/611486/970755#target">Elias</a> said:</div><div class="quote"><p>That screenshot looks just like it is supposed to look if something was adding 0.5 pixels offsets. Maybe try with the OpenGL driver.</p></div></div><p>
Problem is that I tried compensating for it and set the tileOffset to .5 and even 1, but the image still looked the same every time I ran the program. Last I knew Gimp didn&#39;t add a .5 offset though.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Specter Phoenix)</author>
		<pubDate>Fri, 23 Nov 2012 18:09:16 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yes, don&#39;t add any offset yourself. Put this before the al_create_display:
</p><div class="source-code snippet"><div class="inner"><pre><a href="http://www.allegro.cc/manual/al_set_new_display_flags"><span class="a">al_set_new_display_flags</span></a><span class="k2">(</span>ALLEGRO_OPENGL<span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Elias)</author>
		<pubDate>Fri, 23 Nov 2012 18:20:39 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Oh, I thought it was something I had to compensate for in my tileOffset code. Either way not only does <span class="source-code"><a href="http://www.allegro.cc/manual/al_set_new_display_flags"><span class="a">al_set_new_display_flags</span></a><span class="k2">(</span>ALLEGRO_OPENGL<span class="k2">)</span><span class="k2">;</span></span> not fix it, but it also does that on my desktop. </p><p>My laptop is:<br />OS = Ubuntu 12.04<br />Allegro = 5.1.4<br />Graphic = Intel 965GM</p><p>Desktop:<br />OS = Ubuntu 12.04<br />Allegro = 5.1.4<br />Graphic = nVidia GeForce 8600
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Specter Phoenix)</author>
		<pubDate>Fri, 23 Nov 2012 20:28:16 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Oh, you&#39;re using linux, then it already was using OpenGL.</p><p>Looks like you found a bug - we do not support interlaced .png files. I didn&#39;t even know those existed. So, just re-save tilesheet.png in Gimp without interlacing and it should work.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Elias)</author>
		<pubDate>Fri, 23 Nov 2012 21:29:41 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Oh okay, I thought having all those options checked really didn&#39;t effect that png file. Thanks for pointing that out Elias <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />. </p><p>Well as promised, here is the source code for Global Destruction and believe me the title is way cooler sounding than the actual game, which is rather lame. I found that interlace pngs will cause the application using them to crash with different errors so had to go back and redo them without interlacing.</p><p><a href="http://www.allegro.cc/files/attachment/606891"> Here is the compressed directory with Code::Blocks file and everything used and un-used.</a>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Specter Phoenix)</author>
		<pubDate>Fri, 23 Nov 2012 22:16:37 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Two things, in sprite.cpp I added a check on num as I was getting subscript out of range errors.</p><div class="source-code"><div class="toolbar"><span class="name">sprite.cpp</span><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number"> 33</span><span class="k1">void</span> SPRITE::randDraw<span class="k2">(</span><span class="k1">int</span> num<span class="k2">)</span>
<span class="number"> 34</span><span class="k2">{</span>
<span class="number"> 35</span>    <span class="k1">int</span> tileOffset <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 36</span>    <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> frames<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number"> 37</span>    <span class="k2">{</span>
<span class="number"> 38</span>        anim.push_back<span class="k2">(</span><a href="http://www.allegro.cc/manual/al_create_sub_bitmap"><span class="a">al_create_sub_bitmap</span></a><span class="k2">(</span>sprite, tileOffset, <span class="n">0</span>, w, h<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 39</span>        tileOffset <span class="k3">=</span> tileOffset <span class="k3">+</span> w<span class="k2">;</span>
<span class="number"> 40</span>    <span class="k2">}</span>
<span class="number"> 41</span>  <span class="k1">if</span><span class="k2">(</span>num <span class="k3">&lt;</span> anim.size<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
<span class="number"> 42</span>    <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>anim<span class="k2">[</span>num<span class="k2">]</span>, x, y, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 43</span><span class="k2">}</span>
</div></div><p>
And in main line 225 I had to change CENTER to CENTRE.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (naraku9333)</author>
		<pubDate>Fri, 23 Nov 2012 23:34:13 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>&lt;edit&gt; Oh boy, I didn&#39;t even read the post directly above mine. Double-kill^wpost!</p><p>You have a bug in SPRITE::randDraw(int) where you try to access an element of anim[] that doesn&#39;t exist. I added a cout call that shows the size of num, frames, and the size of the anim[] vector. They end up being the same number but since anim[] is 0-based it is one number too large.</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">void</span> SPRITE::randDraw<span class="k2">(</span><span class="k1">int</span> num<span class="k2">)</span>
<span class="k2">{</span>
    <span class="k1">int</span> tileOffset <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
    <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> frames<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
    <span class="k2">{</span>
        anim.push_back<span class="k2">(</span><a href="http://www.allegro.cc/manual/al_create_sub_bitmap"><span class="a">al_create_sub_bitmap</span></a><span class="k2">(</span>sprite, tileOffset, <span class="n">0</span>, w, h<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
        tileOffset <span class="k3">=</span> tileOffset <span class="k3">+</span> w<span class="k2">;</span>
    <span class="k2">}</span>
    <span class="k1">if</span> <span class="k2">(</span>num <span class="k3">&gt;</span><span class="k3">=</span> frames<span class="k2">)</span><span class="k2">{</span>
        std::cout <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">"Num is "</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> num <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">" frames is "</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> frames <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">" Anim length is "</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> anim.size<span class="k2">(</span><span class="k2">)</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> std::endl<span class="k2">;</span>
    <span class="k2">}</span>
    <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>anim<span class="k2">[</span>num<span class="k2">]</span>, x, y, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="k2">}</span>
</pre></div></div><p>
Prints this
</p><div class="source-code snippet"><div class="inner"><pre>Num is <span class="n">4</span> frames is <span class="n">4</span> Anim length is <span class="n">4</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (kazzmir)</author>
		<pubDate>Sat, 24 Nov 2012 01:15:53 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>What number is being higher than 4? According to my test code all three numbers should be 0 to 4 (5 entries). Should have 5 colored ship sprites (0 to 4), randomly pick between those to draw each redraw. Where did I mess up at? GNU never complained about that once when I compiled and ran it.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Specter Phoenix)</author>
		<pubDate>Sat, 24 Nov 2012 03:36:18 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>It looks like most of your sprites have 4 frames in them, not 5.</p><div class="source-code snippet"><div class="inner"><pre>main.cpp:    straggler.setData<span class="k2">(</span><span class="n">32</span>, <span class="n">32</span>, <span class="n">0</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">6</span> <span class="k3">+</span> <span class="n">1</span>, <span class="n">4</span><span class="k2">)</span><span class="k2">;</span>
main.cpp:    wolverine.setData<span class="k2">(</span><span class="n">32</span>, <span class="n">32</span>, <span class="n">0</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">6</span> <span class="k3">+</span> <span class="n">1</span>, <span class="n">4</span><span class="k2">)</span><span class="k2">;</span>
main.cpp:                               aiShip.setData<span class="k2">(</span><span class="n">32</span>, <span class="n">32</span>, <span class="n">0</span>, <span class="k2">(</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">6</span> <span class="k3">+</span> <span class="n">1</span><span class="k2">)</span>, <span class="n">4</span><span class="k2">)</span><span class="k2">;</span>
main.cpp:                aiShip.setData<span class="k2">(</span><span class="n">32</span>, <span class="n">32</span>, <span class="n">0</span>, <span class="k2">(</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">6</span> <span class="k3">+</span> <span class="n">1</span><span class="k2">)</span>, <span class="n">4</span><span class="k2">)</span><span class="k2">;</span>
main.cpp:                straggler.setData<span class="k2">(</span><span class="n">32</span>, <span class="n">32</span>, <span class="n">0</span>, <span class="k2">(</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">6</span> <span class="k3">+</span> <span class="n">1</span><span class="k2">)</span>, <span class="n">4</span><span class="k2">)</span><span class="k2">;</span>
main.cpp:                straggler.setData<span class="k2">(</span><span class="n">32</span>, <span class="n">32</span>, <span class="n">0</span>, <span class="k2">(</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">6</span> <span class="k3">+</span> <span class="n">1</span><span class="k2">)</span>, <span class="n">4</span><span class="k2">)</span><span class="k2">;</span>
main.cpp:                wolverine.setData<span class="k2">(</span><span class="n">32</span>, <span class="n">32</span>, <span class="n">0</span>, <span class="k2">(</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">6</span> <span class="k3">+</span> <span class="n">1</span><span class="k2">)</span>, <span class="n">4</span><span class="k2">)</span><span class="k2">;</span>
main.cpp:                wolverine.setData<span class="k2">(</span><span class="n">32</span>, <span class="n">32</span>, <span class="n">0</span>, <span class="k2">(</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">6</span> <span class="k3">+</span> <span class="n">1</span><span class="k2">)</span>, <span class="n">4</span><span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (kazzmir)</author>
		<pubDate>Sat, 24 Nov 2012 03:54:49 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Oh, I forgot to change that. My first plan was to have 4 different ship sprites and the player sprite and at the last minute I changed to 1 player sprite and 1 AI sheet with 5 colors. Thought I had changed it everywhere, but obviously not. Thanks for pointing that out <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />.</p><p>[REVISION]<br />Now just learn to do a splash screen, do a high score screen, and make the animation for the explosion better. I may have Global Destruction finished one of these days.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Specter Phoenix)</author>
		<pubDate>Sat, 24 Nov 2012 04:31:44 +0000</pubDate>
	</item>
</rss>
