<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>What lines are missing?</title>
		<link>http://www.allegro.cc/forums/view/611997</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Tue, 05 Feb 2013 02:21:39 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p><b>Feel free to upload a working project folder. I bet I could get it working if I saw one. This is probably the best and easiest way to help if you can. please &amp; thanks</b></p><p>This is directly out of the allegro5.1.5.tar.gz from <a href="http://sourceforge.net/projects/alleg/files/allegro-unstable/5.1.5/">http://sourceforge.net/projects/alleg/files/allegro-unstable/5.1.5/</a></p><p>How would this be modified to run an audio file of ANY type located in the asset directory? I am assuming the code is different for android than windows.</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;allegro5/allegro_primitives.h&gt;</span>
<span class="number">   4</span><span class="p">#include &lt;allegro5/allegro_android.h&gt; /* al_android_set_apk_file_interface */</span>
<span class="number">   5</span>
<span class="number">   6</span>ALLEGRO_DEBUG_CHANNEL<span class="k2">(</span><span class="s">"main"</span><span class="k2">)</span>
<span class="number">   7</span>
<span class="number">   8</span><span class="p">#define MAX_TOUCH 10</span>
<span class="number">   9</span>
<span class="number">  10</span><span class="k1">struct</span> touch <span class="k2">{</span>
<span class="number">  11</span>   <span class="k1">bool</span> down<span class="k2">;</span>
<span class="number">  12</span>   <span class="k1">double</span> x, y<span class="k2">;</span>
<span class="number">  13</span><span class="k2">}</span> touch<span class="k2">[</span>MAX_TOUCH<span class="k2">]</span><span class="k2">;</span>
<span class="number">  14</span>
<span class="number">  15</span><span class="c">/* debugging */</span>
<span class="number">  16</span><span class="p">#define print_standard_path(std)                           \</span>
<span class="number">  17</span><span class="p">   do {                                                    \ </span>
<span class="number">  18</span><span class="p">      ALLEGRO_PATH *path = al_get_standard_path(std);      \ </span>
<span class="number">  19</span><span class="p">      ALLEGRO_DEBUG(#std ": %s", al_path_cstr(path, '/')); \ </span>
<span class="number">  20</span><span class="p">   } while (0) </span>
<span class="number">  21</span>
<span class="number">  22</span><span class="k1">static</span> <span class="k1">void</span> print_standard_paths<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>
<span class="number">  23</span><span class="k2">{</span>
<span class="number">  24</span>   print_standard_path<span class="k2">(</span>ALLEGRO_RESOURCES_PATH<span class="k2">)</span><span class="k2">;</span>
<span class="number">  25</span>   print_standard_path<span class="k2">(</span>ALLEGRO_TEMP_PATH<span class="k2">)</span><span class="k2">;</span>
<span class="number">  26</span>   print_standard_path<span class="k2">(</span>ALLEGRO_USER_DATA_PATH<span class="k2">)</span><span class="k2">;</span>
<span class="number">  27</span>   print_standard_path<span class="k2">(</span>ALLEGRO_USER_HOME_PATH<span class="k2">)</span><span class="k2">;</span>
<span class="number">  28</span>   print_standard_path<span class="k2">(</span>ALLEGRO_USER_SETTINGS_PATH<span class="k2">)</span><span class="k2">;</span>
<span class="number">  29</span>   print_standard_path<span class="k2">(</span>ALLEGRO_USER_DOCUMENTS_PATH<span class="k2">)</span><span class="k2">;</span>
<span class="number">  30</span>   print_standard_path<span class="k2">(</span>ALLEGRO_EXENAME_PATH<span class="k2">)</span><span class="k2">;</span>
<span class="number">  31</span><span class="k2">}</span>
<span class="number">  32</span>
<span class="number">  33</span><span class="k1">static</span> <span class="k1">void</span> set_transform<span class="k2">(</span><a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a> <span class="k3">*</span>dpy<span class="k2">)</span>
<span class="number">  34</span><span class="k2">{</span>
<span class="number">  35</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_TRANSFORM"><span class="a">ALLEGRO_TRANSFORM</span></a> t<span class="k2">;</span>
<span class="number">  36</span>   <span class="k1">int</span> w <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_get_display_width"><span class="a">al_get_display_width</span></a><span class="k2">(</span>dpy<span class="k2">)</span><span class="k2">;</span>
<span class="number">  37</span>   <span class="k1">int</span> h <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_get_display_height"><span class="a">al_get_display_height</span></a><span class="k2">(</span>dpy<span class="k2">)</span><span class="k2">;</span>
<span class="number">  38</span>
<span class="number">  39</span>   <span class="c">// XXX we shouldn't need this in user code</span>
<span class="number">  40</span>   <span class="c">// glViewport(0, 0, w, h);</span>
<span class="number">  41</span>
<span class="number">  42</span>   <a href="http://www.allegro.cc/manual/al_identity_transform"><span class="a">al_identity_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>t<span class="k2">)</span><span class="k2">;</span>
<span class="number">  43</span>   al_ortho_transform<span class="k2">(</span><span class="k3">&amp;</span>t, <span class="n">0</span>, w, h, <span class="n">0</span>, <span class="k3">-</span><span class="n">1</span>, <span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  44</span>   al_set_projection_transform<span class="k2">(</span>dpy, <span class="k3">&amp;</span>t<span class="k2">)</span><span class="k2">;</span>
<span class="number">  45</span><span class="k2">}</span>
<span class="number">  46</span>
<span class="number">  47</span><span class="k1">static</span> <span class="k1">void</span> draw_touches<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>
<span class="number">  48</span><span class="k2">{</span>
<span class="number">  49</span>   <span class="k1">int</span> i<span class="k2">;</span>
<span class="number">  50</span>
<span class="number">  51</span>   <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> MAX_TOUCH<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number">  52</span>      <span class="k1">if</span> <span class="k2">(</span>touch<span class="k2">[</span>i<span class="k2">]</span>.down<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  53</span>         <a href="http://www.allegro.cc/manual/al_draw_filled_rectangle"><span class="a">al_draw_filled_rectangle</span></a><span class="k2">(</span>
<span class="number">  54</span>            touch<span class="k2">[</span>i<span class="k2">]</span>.x-40, touch<span class="k2">[</span>i<span class="k2">]</span>.y-40,
<span class="number">  55</span>            touch<span class="k2">[</span>i<span class="k2">]</span>.x<span class="k3">+</span><span class="n">40</span>, touch<span class="k2">[</span>i<span class="k2">]</span>.y<span class="k3">+</span><span class="n">40</span>,
<span class="number">  56</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">100</span><span class="k3">+</span>i<span class="k3">*</span><span class="n">20</span>, <span class="n">40</span><span class="k3">+</span>i<span class="k3">*</span><span class="n">20</span>, <span class="n">40</span><span class="k3">+</span>i<span class="k3">*</span><span class="n">20</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  57</span>      <span class="k2">}</span>
<span class="number">  58</span>   <span class="k2">}</span>
<span class="number">  59</span><span class="k2">}</span>
<span class="number">  60</span>
<span class="number">  61</span><span class="k1">int</span> main<span class="k2">(</span><span class="k1">int</span> argc, <span class="k1">char</span> <span class="k3">*</span><span class="k3">*</span>argv<span class="k2">)</span>
<span class="number">  62</span><span class="k2">{</span>
<span class="number">  63</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a> <span class="k3">*</span>dpy<span class="k2">;</span>
<span class="number">  64</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a> <span class="k3">*</span>queue<span class="k2">;</span>
<span class="number">  65</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> event<span class="k2">;</span>
<span class="number">  66</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">  67</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>image<span class="k2">;</span>
<span class="number">  68</span>
<span class="number">  69</span>   <span class="k2">(</span><span class="k1">void</span><span class="k2">)</span> argc<span class="k2">;</span>
<span class="number">  70</span>   <span class="k2">(</span><span class="k1">void</span><span class="k2">)</span> argv<span class="k2">;</span>
<span class="number">  71</span>
<span class="number">  72</span>   ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"init allegro!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  73</span>   <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</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="k2">{</span>
<span class="number">  74</span>      <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  75</span>   <span class="k2">}</span>
<span class="number">  76</span>
<span class="number">  77</span>   ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"init primitives"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  78</span>   <a href="http://www.allegro.cc/manual/al_init_primitives_addon"><span class="a">al_init_primitives_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  79</span>
<span class="number">  80</span>   ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"init image addon"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  81</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">  82</span>
<span class="number">  83</span>   ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"init touch input"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  84</span>   al_install_touch_input<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  85</span>
<span class="number">  86</span>   ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"init keyboard"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  87</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">  88</span>
<span class="number">  89</span>   ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"creating display"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  90</span>   dpy <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><span class="n">800</span>, <span class="n">480</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  91</span>   <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>dpy<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  92</span>      ALLEGRO_ERROR<span class="k2">(</span><span class="s">"failed to create display!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  93</span>      <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  94</span>   <span class="k2">}</span>
<span class="number">  95</span>
<span class="number">  96</span>   print_standard_paths<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  97</span>
<span class="number">  98</span>   <span class="c">/* This is loaded from assets in the apk. */</span>
<span class="number">  99</span>   al_android_set_apk_file_interface<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 100</span>   image <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">"alexlogo.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 101</span>   <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>image<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 102</span>      ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"failed to load alexlogo.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 103</span>      <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 104</span>   <span class="k2">}</span>
<span class="number"> 105</span>   <a href="http://www.allegro.cc/manual/al_set_standard_file_interface"><span class="a">al_set_standard_file_interface</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 106</span>
<span class="number"> 107</span>   <a href="http://www.allegro.cc/manual/al_convert_mask_to_alpha"><span class="a">al_convert_mask_to_alpha</span></a><span class="k2">(</span>image, <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">255</span>,<span class="n">0</span>,<span class="n">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 108</span>
<span class="number"> 109</span>   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"> 110</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>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>dpy<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 111</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>queue, al_get_touch_input_event_source<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 112</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>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"> 113</span>
<span class="number"> 114</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="k3">/</span><span class="n">60</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 115</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>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"> 116</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"> 117</span>
<span class="number"> 118</span>   <span class="k1">bool</span> draw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 119</span>   <span class="k1">bool</span> running <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 120</span>   <span class="k1">bool</span> paused <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 121</span>   <span class="k1">int</span> count <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 122</span>
<span class="number"> 123</span>   <span class="k1">while</span> <span class="k2">(</span>running<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 124</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>queue, <span class="k3">&amp;</span>event<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 125</span>
<span class="number"> 126</span>      <span class="k1">switch</span> <span class="k2">(</span>event.type<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 127</span>         <span class="k1">case</span> ALLEGRO_EVENT_TOUCH_BEGIN:
<span class="number"> 128</span>            <span class="c">//ALLEGRO_DEBUG("touch %i begin", event.touch.id);</span>
<span class="number"> 129</span>            touch<span class="k2">[</span>event.touch.id<span class="k2">]</span>.down <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 130</span>            touch<span class="k2">[</span>event.touch.id<span class="k2">]</span>.x <span class="k3">=</span> event.touch.x<span class="k2">;</span>
<span class="number"> 131</span>            touch<span class="k2">[</span>event.touch.id<span class="k2">]</span>.y <span class="k3">=</span> event.touch.y<span class="k2">;</span>
<span class="number"> 132</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 133</span>
<span class="number"> 134</span>         <span class="k1">case</span> ALLEGRO_EVENT_TOUCH_END:
<span class="number"> 135</span>            <span class="c">//ALLEGRO_DEBUG("touch %i end", event.touch.id);</span>
<span class="number"> 136</span>            touch<span class="k2">[</span>event.touch.id<span class="k2">]</span>.down <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 137</span>            touch<span class="k2">[</span>event.touch.id<span class="k2">]</span>.x <span class="k3">=</span> <span class="n">0</span>.<span class="n">0</span><span class="k2">;</span>
<span class="number"> 138</span>            touch<span class="k2">[</span>event.touch.id<span class="k2">]</span>.y <span class="k3">=</span> <span class="n">0</span>.<span class="n">0</span><span class="k2">;</span>
<span class="number"> 139</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 140</span>
<span class="number"> 141</span>         <span class="k1">case</span> ALLEGRO_EVENT_TOUCH_MOVE:
<span class="number"> 142</span>            <span class="c">//ALLEGRO_DEBUG("touch %i move: %fx%f", event.touch.id, event.touch.x, event.touch.y);</span>
<span class="number"> 143</span>            touch<span class="k2">[</span>event.touch.id<span class="k2">]</span>.x <span class="k3">=</span> event.touch.x<span class="k2">;</span>
<span class="number"> 144</span>            touch<span class="k2">[</span>event.touch.id<span class="k2">]</span>.y <span class="k3">=</span> event.touch.y<span class="k2">;</span>
<span class="number"> 145</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 146</span>
<span class="number"> 147</span>         <span class="k1">case</span> ALLEGRO_EVENT_TOUCH_CANCEL:
<span class="number"> 148</span>            <span class="c">//ALLEGRO_DEBUG("touch %i canceled", event.touch.id);</span>
<span class="number"> 149</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 150</span>
<span class="number"> 151</span>         <span class="k1">case</span> ALLEGRO_EVENT_KEY_UP:
<span class="number"> 152</span>            <span class="k1">if</span> <span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_BACK<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 153</span>               ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"back key pressed, exit!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 154</span>               running <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 155</span>            <span class="k2">}</span>
<span class="number"> 156</span>            <span class="k1">else</span> <span class="k2">{</span>
<span class="number"> 157</span>               ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"%i key pressed"</span>, event.keyboard.keycode<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 158</span>            <span class="k2">}</span>
<span class="number"> 159</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 160</span>
<span class="number"> 161</span>         <span class="k1">case</span> ALLEGRO_EVENT_TIMER:
<span class="number"> 162</span>            draw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 163</span>            <span class="k1">if</span> <span class="k2">(</span>count <span class="k3">=</span><span class="k3">=</span> <span class="n">60</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 164</span>               ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"tick"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 165</span>               count <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 166</span>            <span class="k2">}</span>
<span class="number"> 167</span>            count<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 168</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 169</span>
<span class="number"> 170</span>         <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_CLOSE:
<span class="number"> 171</span>            ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"display close"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 172</span>            running <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 173</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 174</span>
<span class="number"> 175</span>         <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_HALT_DRAWING:
<span class="number"> 176</span>            ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"halt drawing"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 177</span>            <span class="c">// Stop the timer so we don't run at all while our display isn't</span>
<span class="number"> 178</span>            <span class="c">// active.</span>
<span class="number"> 179</span>            <a href="http://www.allegro.cc/manual/al_stop_timer"><span class="a">al_stop_timer</span></a><span class="k2">(</span>timer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 180</span>            <span class="c">//al_set_target_backbuffer(0);</span>
<span class="number"> 181</span>            ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"after set target"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 182</span>            paused <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 183</span>            draw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 184</span>            al_acknowledge_drawing_halt<span class="k2">(</span>dpy<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 185</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 186</span>
<span class="number"> 187</span>         <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_RESUME_DRAWING:
<span class="number"> 188</span>            ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"resume drawing"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 189</span>
<span class="number"> 190</span>            al_acknowledge_drawing_resume<span class="k2">(</span>dpy, NULL<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 191</span>            ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"done waiting for surface recreated"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 192</span>
<span class="number"> 193</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"> 194</span>            <span class="c">//al_set_target_backbuffer(dpy);</span>
<span class="number"> 195</span>            <span class="c">//_al_android_setup_opengl_view(dpy);</span>
<span class="number"> 196</span>            paused <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 197</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 198</span>
<span class="number"> 199</span>         <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_RESIZE:
<span class="number"> 200</span>            ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"display resize"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 201</span>            <a href="http://www.allegro.cc/manual/al_acknowledge_resize"><span class="a">al_acknowledge_resize</span></a><span class="k2">(</span>dpy<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 202</span>            ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"done resize"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 203</span>            set_transform<span class="k2">(</span>dpy<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 204</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 205</span>
<span class="number"> 206</span>         <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_ORIENTATION:
<span class="number"> 207</span>            set_transform<span class="k2">(</span>dpy<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 208</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 209</span>      <span class="k2">}</span>
<span class="number"> 210</span>
<span class="number"> 211</span>      <span class="k1">if</span> <span class="k2">(</span>draw <span class="k3">&amp;</span><span class="k3">&amp;</span> al_event_queue_is_empty<span class="k2">(</span>queue<span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 212</span>         draw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 213</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">255</span>, <span class="n">255</span>, <span class="n">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 214</span>         <span class="k1">if</span> <span class="k2">(</span>image<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 215</span>            <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>image,
<span class="number"> 216</span>               <a href="http://www.allegro.cc/manual/al_get_display_width"><span class="a">al_get_display_width</span></a><span class="k2">(</span>dpy<span class="k2">)</span><span class="k3">/</span><span class="n">2</span> <span class="k3">-</span> <a href="http://www.allegro.cc/manual/al_get_bitmap_width"><span class="a">al_get_bitmap_width</span></a><span class="k2">(</span>image<span class="k2">)</span><span class="k3">/</span><span class="n">2</span>,
<span class="number"> 217</span>               <a href="http://www.allegro.cc/manual/al_get_display_height"><span class="a">al_get_display_height</span></a><span class="k2">(</span>dpy<span class="k2">)</span><span class="k3">/</span><span class="n">2</span> <span class="k3">-</span> <a href="http://www.allegro.cc/manual/al_get_bitmap_height"><span class="a">al_get_bitmap_height</span></a><span class="k2">(</span>image<span class="k2">)</span><span class="k3">/</span><span class="n">2</span>,
<span class="number"> 218</span>               <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 219</span>         <span class="k2">}</span>
<span class="number"> 220</span>         draw_touches<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 221</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"> 222</span>      <span class="k2">}</span>
<span class="number"> 223</span>   <span class="k2">}</span>
<span class="number"> 224</span>
<span class="number"> 225</span>   ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"done"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 226</span>   <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 227</span><span class="k2">}</span>
<span class="number"> 228</span>
<span class="number"> 229</span><span class="c">/* vim: set sts=3 sw=3 et: */</span>
</div></div><p>

Thanks.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (alehbeer)</author>
		<pubDate>Mon, 04 Feb 2013 23:46:34 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hi there.</p><p>Firstly, you need to establish the necessary includes.</p><div class="source-code snippet"><div class="inner"><pre><span class="p">#include &lt;allegro5/allegro_audio.h&gt;</span>
<span class="p">#include &lt;allegro5/allegro_acoded.h&gt;</span>
</pre></div></div><p>

Then, you&#39;ll need to initialize them.</p><div class="source-code snippet"><div class="inner"><pre><a href="http://www.allegro.cc/manual/al_install_audio"><span class="a">al_install_audio</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<a href="http://www.allegro.cc/manual/al_init_acodec_addon"><span class="a">al_init_acodec_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Eric Johnson)</author>
		<pubDate>Tue, 05 Feb 2013 01:13:25 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Ok, so in theory, this should work, right?:</p><p>additions at lines 4,102,149, and 277.
</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;allegro5/allegro_primitives.h&gt;</span>
<span class="number">   4</span><span class="c">////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////</span>
<span class="number">   5</span><span class="c">////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////</span>
<span class="number">   6</span><span class="c">////////////////////////////////////////////////////////////////////////</span>
<span class="number">   7</span>
<span class="number">   8</span>
<span class="number">   9</span><span class="p">#include &lt;allegro5/allegro_audio.h&gt;</span>
<span class="number">  10</span><span class="p">#include &lt;allegro5/allegro_acodec.h&gt;</span>
<span class="number">  11</span>
<span class="number">  12</span>
<span class="number">  13</span><span class="c">////////////////////////////////////////////////////////////////////////</span>
<span class="number">  14</span><span class="c">////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////</span>
<span class="number">  15</span><span class="c">////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////</span>
<span class="number">  16</span><span class="p">#include &lt;allegro5/allegro_android.h&gt; /* al_android_set_apk_file_interface */</span>
<span class="number">  17</span>
<span class="number">  18</span>ALLEGRO_DEBUG_CHANNEL<span class="k2">(</span><span class="s">"main"</span><span class="k2">)</span>
<span class="number">  19</span>
<span class="number">  20</span><span class="p">#define MAX_TOUCH 10</span>
<span class="number">  21</span>
<span class="number">  22</span><span class="k1">struct</span> touch <span class="k2">{</span>
<span class="number">  23</span>   <span class="k1">bool</span> down<span class="k2">;</span>
<span class="number">  24</span>   <span class="k1">double</span> x, y<span class="k2">;</span>
<span class="number">  25</span><span class="k2">}</span> touch<span class="k2">[</span>MAX_TOUCH<span class="k2">]</span><span class="k2">;</span>
<span class="number">  26</span>
<span class="number">  27</span><span class="c">/* debugging */</span>
<span class="number">  28</span><span class="p">#define print_standard_path(std)                           \</span>
<span class="number">  29</span><span class="p">   do {                                                    \  </span>
<span class="number">  30</span>      ALLEGRO_PATH <span class="k3">*</span>path <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_get_standard_path"><span class="a">al_get_standard_path</span></a><span class="k2">(</span>std<span class="k2">)</span><span class="k2">;</span>      \ 
<span class="number">  31</span>      ALLEGRO_DEBUG<span class="k2">(</span>#std <span class="s">": %s"</span>, <a href="http://www.allegro.cc/manual/al_path_cstr"><span class="a">al_path_cstr</span></a><span class="k2">(</span>path, <span class="s">'/'</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span> \ 
<span class="number">  32</span>   <span class="k2">}</span> <span class="k1">while</span> <span class="k2">(</span><span class="n">0</span><span class="k2">)</span> 
<span class="number">  33</span>
<span class="number">  34</span><span class="k1">static</span> <span class="k1">void</span> print_standard_paths<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>
<span class="number">  35</span><span class="k2">{</span>
<span class="number">  36</span>   print_standard_path<span class="k2">(</span>ALLEGRO_RESOURCES_PATH<span class="k2">)</span><span class="k2">;</span>
<span class="number">  37</span>   print_standard_path<span class="k2">(</span>ALLEGRO_TEMP_PATH<span class="k2">)</span><span class="k2">;</span>
<span class="number">  38</span>   print_standard_path<span class="k2">(</span>ALLEGRO_USER_DATA_PATH<span class="k2">)</span><span class="k2">;</span>
<span class="number">  39</span>   print_standard_path<span class="k2">(</span>ALLEGRO_USER_HOME_PATH<span class="k2">)</span><span class="k2">;</span>
<span class="number">  40</span>   print_standard_path<span class="k2">(</span>ALLEGRO_USER_SETTINGS_PATH<span class="k2">)</span><span class="k2">;</span>
<span class="number">  41</span>   print_standard_path<span class="k2">(</span>ALLEGRO_USER_DOCUMENTS_PATH<span class="k2">)</span><span class="k2">;</span>
<span class="number">  42</span>   print_standard_path<span class="k2">(</span>ALLEGRO_EXENAME_PATH<span class="k2">)</span><span class="k2">;</span>
<span class="number">  43</span><span class="k2">}</span>
<span class="number">  44</span>
<span class="number">  45</span><span class="k1">static</span> <span class="k1">void</span> set_transform<span class="k2">(</span><a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a> <span class="k3">*</span>dpy<span class="k2">)</span>
<span class="number">  46</span><span class="k2">{</span>
<span class="number">  47</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_TRANSFORM"><span class="a">ALLEGRO_TRANSFORM</span></a> t<span class="k2">;</span>
<span class="number">  48</span>   <span class="k1">int</span> w <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_get_display_width"><span class="a">al_get_display_width</span></a><span class="k2">(</span>dpy<span class="k2">)</span><span class="k2">;</span>
<span class="number">  49</span>   <span class="k1">int</span> h <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_get_display_height"><span class="a">al_get_display_height</span></a><span class="k2">(</span>dpy<span class="k2">)</span><span class="k2">;</span>
<span class="number">  50</span>
<span class="number">  51</span>   <span class="c">// XXX we shouldn't need this in user code</span>
<span class="number">  52</span>   <span class="c">// glViewport(0, 0, w, h);</span>
<span class="number">  53</span>
<span class="number">  54</span>   <a href="http://www.allegro.cc/manual/al_identity_transform"><span class="a">al_identity_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>t<span class="k2">)</span><span class="k2">;</span>
<span class="number">  55</span>   al_ortho_transform<span class="k2">(</span><span class="k3">&amp;</span>t, <span class="n">0</span>, w, h, <span class="n">0</span>, <span class="k3">-</span><span class="n">1</span>, <span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  56</span>   al_set_projection_transform<span class="k2">(</span>dpy, <span class="k3">&amp;</span>t<span class="k2">)</span><span class="k2">;</span>
<span class="number">  57</span><span class="k2">}</span>
<span class="number">  58</span>
<span class="number">  59</span><span class="k1">static</span> <span class="k1">void</span> draw_touches<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>
<span class="number">  60</span><span class="k2">{</span>
<span class="number">  61</span>   <span class="k1">int</span> i<span class="k2">;</span>
<span class="number">  62</span>
<span class="number">  63</span>   <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> MAX_TOUCH<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number">  64</span>      <span class="k1">if</span> <span class="k2">(</span>touch<span class="k2">[</span>i<span class="k2">]</span>.down<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  65</span>         <a href="http://www.allegro.cc/manual/al_draw_filled_rectangle"><span class="a">al_draw_filled_rectangle</span></a><span class="k2">(</span>
<span class="number">  66</span>            touch<span class="k2">[</span>i<span class="k2">]</span>.x-40, touch<span class="k2">[</span>i<span class="k2">]</span>.y-40,
<span class="number">  67</span>            touch<span class="k2">[</span>i<span class="k2">]</span>.x<span class="k3">+</span><span class="n">40</span>, touch<span class="k2">[</span>i<span class="k2">]</span>.y<span class="k3">+</span><span class="n">40</span>,
<span class="number">  68</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">100</span><span class="k3">+</span>i<span class="k3">*</span><span class="n">20</span>, <span class="n">40</span><span class="k3">+</span>i<span class="k3">*</span><span class="n">20</span>, <span class="n">40</span><span class="k3">+</span>i<span class="k3">*</span><span class="n">20</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  69</span>      <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">int</span> main<span class="k2">(</span><span class="k1">int</span> argc, <span class="k1">char</span> <span class="k3">*</span><span class="k3">*</span>argv<span class="k2">)</span>
<span class="number">  74</span><span class="k2">{</span>
<span class="number">  75</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a> <span class="k3">*</span>dpy<span class="k2">;</span>
<span class="number">  76</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a> <span class="k3">*</span>queue<span class="k2">;</span>
<span class="number">  77</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> event<span class="k2">;</span>
<span class="number">  78</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">  79</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>image<span class="k2">;</span>
<span class="number">  80</span>
<span class="number">  81</span>   <span class="k2">(</span><span class="k1">void</span><span class="k2">)</span> argc<span class="k2">;</span>
<span class="number">  82</span>   <span class="k2">(</span><span class="k1">void</span><span class="k2">)</span> argv<span class="k2">;</span>
<span class="number">  83</span>
<span class="number">  84</span>   ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"init allegro!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  85</span>   <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</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="k2">{</span>
<span class="number">  86</span>      <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  87</span>   <span class="k2">}</span>
<span class="number">  88</span>
<span class="number">  89</span>   ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"init primitives"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  90</span>   <a href="http://www.allegro.cc/manual/al_init_primitives_addon"><span class="a">al_init_primitives_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  91</span>
<span class="number">  92</span>   ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"init image addon"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  93</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">  94</span>
<span class="number">  95</span>   ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"init touch input"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  96</span>   al_install_touch_input<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  97</span>
<span class="number">  98</span>   ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"init keyboard"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  99</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"> 100</span>   
<span class="number"> 101</span>   
<span class="number"> 102</span><span class="c">////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////</span>
<span class="number"> 103</span><span class="c">////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////</span>
<span class="number"> 104</span>
<span class="number"> 105</span>
<span class="number"> 106</span><a href="http://www.allegro.cc/manual/al_install_audio"><span class="a">al_install_audio</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 107</span><a href="http://www.allegro.cc/manual/al_init_acodec_addon"><span class="a">al_init_acodec_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 108</span>
<span class="number"> 109</span>
<span class="number"> 110</span><span class="c">////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////</span>
<span class="number"> 111</span><span class="c">////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////</span>
<span class="number"> 112</span>   
<span class="number"> 113</span>
<span class="number"> 114</span>   ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"creating display"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 115</span>   dpy <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><span class="n">800</span>, <span class="n">480</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 116</span>   <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>dpy<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 117</span>      ALLEGRO_ERROR<span class="k2">(</span><span class="s">"failed to create display!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 118</span>      <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 119</span>   <span class="k2">}</span>
<span class="number"> 120</span>
<span class="number"> 121</span>   print_standard_paths<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 122</span>
<span class="number"> 123</span>   <span class="c">/* This is loaded from assets in the apk. */</span>
<span class="number"> 124</span>   al_android_set_apk_file_interface<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 125</span>   image <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">"alexlogo.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 126</span>   <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>image<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 127</span>      ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"failed to load alexlogo.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 128</span>      <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 129</span>   <span class="k2">}</span>
<span class="number"> 130</span>   <a href="http://www.allegro.cc/manual/al_set_standard_file_interface"><span class="a">al_set_standard_file_interface</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 131</span>
<span class="number"> 132</span>   <a href="http://www.allegro.cc/manual/al_convert_mask_to_alpha"><span class="a">al_convert_mask_to_alpha</span></a><span class="k2">(</span>image, <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">255</span>,<span class="n">0</span>,<span class="n">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 133</span>
<span class="number"> 134</span>   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"> 135</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>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>dpy<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 136</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>queue, al_get_touch_input_event_source<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 137</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>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"> 138</span>
<span class="number"> 139</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="k3">/</span><span class="n">60</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 140</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>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"> 141</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"> 142</span>
<span class="number"> 143</span>   <span class="k1">bool</span> draw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 144</span>   <span class="k1">bool</span> running <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 145</span>   <span class="k1">bool</span> paused <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 146</span>   <span class="k1">int</span> count <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 147</span>
<span class="number"> 148</span>
<span class="number"> 149</span><span class="c">////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////</span>
<span class="number"> 150</span><span class="c">////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////</span>
<span class="number"> 151</span><span class="c">////////////////////////////////////////////////////////////////////////</span>
<span class="number"> 152</span>
<span class="number"> 153</span><a href="http://www.allegro.cc/manual/ALLEGRO_SAMPLE"><span class="a">ALLEGRO_SAMPLE</span></a> <span class="k3">*</span>sample<span class="k3">=</span>NULL<span class="k2">;</span>
<span class="number"> 154</span><span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_reserve_samples"><span class="a">al_reserve_samples</span></a><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">)</span><span class="k2">{</span>
<span class="number"> 155</span>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_345.html" target="_blank">fprintf</a><span class="k2">(</span>stderr, <span class="s">"failed to reserve samples!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 156</span>  <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number"> 157</span><span class="k2">}</span>
<span class="number"> 158</span>
<span class="number"> 159</span>sample <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_sample"><span class="a">al_load_sample</span></a><span class="k2">(</span> <span class="s">"footstep.wav"</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 160</span>
<span class="number"> 161</span><span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>sample<span class="k2">)</span><span class="k2">{</span>
<span class="number"> 162</span>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span> <span class="s">"Audio clip sample not loaded!\n"</span> <span class="k2">)</span><span class="k2">;</span> 
<span class="number"> 163</span>  <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number"> 164</span><span class="k2">}</span>
<span class="number"> 165</span>
<span class="number"> 166</span><span class="c">/* Loop the sample until the display closes. */</span>
<span class="number"> 167</span><a href="http://www.allegro.cc/manual/al_play_sample"><span class="a">al_play_sample</span></a><span class="k2">(</span>sample, <span class="n">1</span>.<span class="n">0</span>, <span class="n">0</span>.<span class="n">0</span>,<span class="n">1</span>.<span class="n">0</span>,ALLEGRO_PLAYMODE_LOOP,NULL<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 168</span><span class="c">////////////////////////////////////////////////////////////////////////</span>
<span class="number"> 169</span><span class="c">////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////</span>
<span class="number"> 170</span><span class="c">////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////</span>
<span class="number"> 171</span>
<span class="number"> 172</span>
<span class="number"> 173</span>   <span class="k1">while</span> <span class="k2">(</span>running<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 174</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>queue, <span class="k3">&amp;</span>event<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 175</span>
<span class="number"> 176</span>      <span class="k1">switch</span> <span class="k2">(</span>event.type<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 177</span>         <span class="k1">case</span> ALLEGRO_EVENT_TOUCH_BEGIN:
<span class="number"> 178</span>            <span class="c">//ALLEGRO_DEBUG("touch %i begin", event.touch.id);</span>
<span class="number"> 179</span>            touch<span class="k2">[</span>event.touch.id<span class="k2">]</span>.down <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 180</span>            touch<span class="k2">[</span>event.touch.id<span class="k2">]</span>.x <span class="k3">=</span> event.touch.x<span class="k2">;</span>
<span class="number"> 181</span>            touch<span class="k2">[</span>event.touch.id<span class="k2">]</span>.y <span class="k3">=</span> event.touch.y<span class="k2">;</span>
<span class="number"> 182</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 183</span>
<span class="number"> 184</span>         <span class="k1">case</span> ALLEGRO_EVENT_TOUCH_END:
<span class="number"> 185</span>            <span class="c">//ALLEGRO_DEBUG("touch %i end", event.touch.id);</span>
<span class="number"> 186</span>            touch<span class="k2">[</span>event.touch.id<span class="k2">]</span>.down <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 187</span>            touch<span class="k2">[</span>event.touch.id<span class="k2">]</span>.x <span class="k3">=</span> <span class="n">0</span>.<span class="n">0</span><span class="k2">;</span>
<span class="number"> 188</span>            touch<span class="k2">[</span>event.touch.id<span class="k2">]</span>.y <span class="k3">=</span> <span class="n">0</span>.<span class="n">0</span><span class="k2">;</span>
<span class="number"> 189</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 190</span>
<span class="number"> 191</span>         <span class="k1">case</span> ALLEGRO_EVENT_TOUCH_MOVE:
<span class="number"> 192</span>            <span class="c">//ALLEGRO_DEBUG("touch %i move: %fx%f", event.touch.id, event.touch.x, event.touch.y);</span>
<span class="number"> 193</span>            touch<span class="k2">[</span>event.touch.id<span class="k2">]</span>.x <span class="k3">=</span> event.touch.x<span class="k2">;</span>
<span class="number"> 194</span>            touch<span class="k2">[</span>event.touch.id<span class="k2">]</span>.y <span class="k3">=</span> event.touch.y<span class="k2">;</span>
<span class="number"> 195</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 196</span>
<span class="number"> 197</span>         <span class="k1">case</span> ALLEGRO_EVENT_TOUCH_CANCEL:
<span class="number"> 198</span>            <span class="c">//ALLEGRO_DEBUG("touch %i canceled", event.touch.id);</span>
<span class="number"> 199</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 200</span>
<span class="number"> 201</span>         <span class="k1">case</span> ALLEGRO_EVENT_KEY_UP:
<span class="number"> 202</span>            <span class="k1">if</span> <span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_BACK<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 203</span>               ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"back key pressed, exit!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 204</span>               running <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 205</span>            <span class="k2">}</span>
<span class="number"> 206</span>            <span class="k1">else</span> <span class="k2">{</span>
<span class="number"> 207</span>               ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"%i key pressed"</span>, event.keyboard.keycode<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 208</span>            <span class="k2">}</span>
<span class="number"> 209</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 210</span>
<span class="number"> 211</span>         <span class="k1">case</span> ALLEGRO_EVENT_TIMER:
<span class="number"> 212</span>            draw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 213</span>            <span class="k1">if</span> <span class="k2">(</span>count <span class="k3">=</span><span class="k3">=</span> <span class="n">60</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 214</span>               ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"tick"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 215</span>               count <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 216</span>            <span class="k2">}</span>
<span class="number"> 217</span>            count<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 218</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 219</span>
<span class="number"> 220</span>         <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_CLOSE:
<span class="number"> 221</span>            ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"display close"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 222</span>            running <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 223</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 224</span>
<span class="number"> 225</span>         <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_HALT_DRAWING:
<span class="number"> 226</span>            ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"halt drawing"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 227</span>            <span class="c">// Stop the timer so we don't run at all while our display isn't</span>
<span class="number"> 228</span>            <span class="c">// active.</span>
<span class="number"> 229</span>            <a href="http://www.allegro.cc/manual/al_stop_timer"><span class="a">al_stop_timer</span></a><span class="k2">(</span>timer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 230</span>            <span class="c">//al_set_target_backbuffer(0);</span>
<span class="number"> 231</span>            ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"after set target"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 232</span>            paused <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 233</span>            draw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 234</span>            al_acknowledge_drawing_halt<span class="k2">(</span>dpy<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 235</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 236</span>
<span class="number"> 237</span>         <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_RESUME_DRAWING:
<span class="number"> 238</span>            ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"resume drawing"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 239</span>
<span class="number"> 240</span>            al_acknowledge_drawing_resume<span class="k2">(</span>dpy, NULL<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 241</span>            ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"done waiting for surface recreated"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 242</span>
<span class="number"> 243</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"> 244</span>            <span class="c">//al_set_target_backbuffer(dpy);</span>
<span class="number"> 245</span>            <span class="c">//_al_android_setup_opengl_view(dpy);</span>
<span class="number"> 246</span>            paused <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 247</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 248</span>
<span class="number"> 249</span>         <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_RESIZE:
<span class="number"> 250</span>            ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"display resize"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 251</span>            <a href="http://www.allegro.cc/manual/al_acknowledge_resize"><span class="a">al_acknowledge_resize</span></a><span class="k2">(</span>dpy<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 252</span>            ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"done resize"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 253</span>            set_transform<span class="k2">(</span>dpy<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 254</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 255</span>
<span class="number"> 256</span>         <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_ORIENTATION:
<span class="number"> 257</span>            set_transform<span class="k2">(</span>dpy<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 258</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 259</span>      <span class="k2">}</span>
<span class="number"> 260</span>
<span class="number"> 261</span>      <span class="k1">if</span> <span class="k2">(</span>draw <span class="k3">&amp;</span><span class="k3">&amp;</span> al_event_queue_is_empty<span class="k2">(</span>queue<span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 262</span>         draw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 263</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">255</span>, <span class="n">255</span>, <span class="n">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 264</span>         <span class="k1">if</span> <span class="k2">(</span>image<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 265</span>            <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>image,
<span class="number"> 266</span>               <a href="http://www.allegro.cc/manual/al_get_display_width"><span class="a">al_get_display_width</span></a><span class="k2">(</span>dpy<span class="k2">)</span><span class="k3">/</span><span class="n">2</span> <span class="k3">-</span> <a href="http://www.allegro.cc/manual/al_get_bitmap_width"><span class="a">al_get_bitmap_width</span></a><span class="k2">(</span>image<span class="k2">)</span><span class="k3">/</span><span class="n">2</span>,
<span class="number"> 267</span>               <a href="http://www.allegro.cc/manual/al_get_display_height"><span class="a">al_get_display_height</span></a><span class="k2">(</span>dpy<span class="k2">)</span><span class="k3">/</span><span class="n">2</span> <span class="k3">-</span> <a href="http://www.allegro.cc/manual/al_get_bitmap_height"><span class="a">al_get_bitmap_height</span></a><span class="k2">(</span>image<span class="k2">)</span><span class="k3">/</span><span class="n">2</span>,
<span class="number"> 268</span>               <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 269</span>         <span class="k2">}</span>
<span class="number"> 270</span>         draw_touches<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 271</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"> 272</span>      <span class="k2">}</span>
<span class="number"> 273</span>   <span class="k2">}</span>
<span class="number"> 274</span>
<span class="number"> 275</span>   ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"done"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 276</span>   
<span class="number"> 277</span><span class="c">////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////</span>
<span class="number"> 278</span><span class="c">////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////</span>
<span class="number"> 279</span><span class="c">////////////////////////////////////////////////////////////////////////</span>
<span class="number"> 280</span>
<span class="number"> 281</span>
<span class="number"> 282</span><a href="http://www.allegro.cc/manual/al_destroy_sample"><span class="a">al_destroy_sample</span></a><span class="k2">(</span>sample<span class="k2">)</span><span class="k2">;</span>   
<span class="number"> 283</span>
<span class="number"> 284</span>
<span class="number"> 285</span><span class="c">////////////////////////////////////////////////////////////////////////   </span>
<span class="number"> 286</span><span class="c">////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////   </span>
<span class="number"> 287</span><span class="c">////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////   </span>
<span class="number"> 288</span>   
<span class="number"> 289</span>   
<span class="number"> 290</span>   <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 291</span><span class="k2">}</span>
<span class="number"> 292</span>
<span class="number"> 293</span><span class="c">/* vim: set sts=3 sw=3 et: */</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (alehbeer)</author>
		<pubDate>Tue, 05 Feb 2013 01:24:54 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>So far so good.</p><p>I suggest checking out Allegro 5&#39;s manual for audio routines.<br /><a href="https://www.allegro.cc/manual/5/audio.html">Here</a> is a good start.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Eric Johnson)</author>
		<pubDate>Tue, 05 Feb 2013 01:45:42 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I have attached a project folder. Change the &quot;#sdk.dir=~/android-sdk-linux&quot; (line 10) in the file &quot;local.properties&quot; to match your setup.</p><p>Ok, after 1) fixing allegro_coded.h to *codec.h <br />2) rebuilding allegro5.1.5<br />3) copying the includes and libs to every folder I can imagine it pullling from<br />4) adding a local.properties file  with a correct &quot;sdk.dir=/home/user/sdk&quot; in it.<br /><s>It seems to compile, and upload fine, but when run the program crashes. adb logcat gives info such as &quot;Cannot load library: reloc_library[1290]: 102 cannot locate &#39;al_reserve_samples&#39;...&quot; then the program crashes although it seems to still be running in memory.</s></p><p>Feel free to upload a working project folder. I bet I could get it working if I saw one.</p><h3>Update</h3><p>
after fixing the AllegroApp java part and mk files, and using this:
</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;allegro5/allegro_primitives.h&gt;</span>
<span class="number">   4</span><span class="c">////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////</span>
<span class="number">   5</span><span class="c">////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////</span>
<span class="number">   6</span><span class="c">////////////////////////////////////////////////////////////////////////</span>
<span class="number">   7</span>
<span class="number">   8</span>
<span class="number">   9</span><span class="p">#include &lt;allegro5/allegro_audio.h&gt;</span>
<span class="number">  10</span><span class="p">#include &lt;allegro5/allegro_acodec.h&gt;</span>
<span class="number">  11</span>
<span class="number">  12</span>
<span class="number">  13</span><span class="c">////////////////////////////////////////////////////////////////////////</span>
<span class="number">  14</span><span class="c">////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////</span>
<span class="number">  15</span><span class="c">////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////</span>
<span class="number">  16</span><span class="p">#include &lt;allegro5/allegro_android.h&gt; /* al_android_set_apk_file_interface */</span>
<span class="number">  17</span>
<span class="number">  18</span>ALLEGRO_DEBUG_CHANNEL<span class="k2">(</span><span class="s">"main"</span><span class="k2">)</span>
<span class="number">  19</span>
<span class="number">  20</span><span class="p">#define MAX_TOUCH 10</span>
<span class="number">  21</span>
<span class="number">  22</span><span class="k1">struct</span> touch <span class="k2">{</span>
<span class="number">  23</span>   <span class="k1">bool</span> down<span class="k2">;</span>
<span class="number">  24</span>   <span class="k1">double</span> x, y<span class="k2">;</span>
<span class="number">  25</span><span class="k2">}</span> touch<span class="k2">[</span>MAX_TOUCH<span class="k2">]</span><span class="k2">;</span>
<span class="number">  26</span>
<span class="number">  27</span><span class="c">/* debugging */</span>
<span class="number">  28</span><span class="p">#define print_standard_path(std)                           \</span>
<span class="number">  29</span><span class="p">   do {                                                    \   </span>
<span class="number">  30</span>      ALLEGRO_PATH <span class="k3">*</span>path <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_get_standard_path"><span class="a">al_get_standard_path</span></a><span class="k2">(</span>std<span class="k2">)</span><span class="k2">;</span>      \ 
<span class="number">  31</span>      ALLEGRO_DEBUG<span class="k2">(</span>#std <span class="s">": %s"</span>, <a href="http://www.allegro.cc/manual/al_path_cstr"><span class="a">al_path_cstr</span></a><span class="k2">(</span>path, <span class="s">'/'</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span> \ 
<span class="number">  32</span>   <span class="k2">}</span> <span class="k1">while</span> <span class="k2">(</span><span class="n">0</span><span class="k2">)</span> 
<span class="number">  33</span>
<span class="number">  34</span><span class="k1">static</span> <span class="k1">void</span> print_standard_paths<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>
<span class="number">  35</span><span class="k2">{</span>
<span class="number">  36</span>   print_standard_path<span class="k2">(</span>ALLEGRO_RESOURCES_PATH<span class="k2">)</span><span class="k2">;</span>
<span class="number">  37</span>   print_standard_path<span class="k2">(</span>ALLEGRO_TEMP_PATH<span class="k2">)</span><span class="k2">;</span>
<span class="number">  38</span>   print_standard_path<span class="k2">(</span>ALLEGRO_USER_DATA_PATH<span class="k2">)</span><span class="k2">;</span>
<span class="number">  39</span>   print_standard_path<span class="k2">(</span>ALLEGRO_USER_HOME_PATH<span class="k2">)</span><span class="k2">;</span>
<span class="number">  40</span>   print_standard_path<span class="k2">(</span>ALLEGRO_USER_SETTINGS_PATH<span class="k2">)</span><span class="k2">;</span>
<span class="number">  41</span>   print_standard_path<span class="k2">(</span>ALLEGRO_USER_DOCUMENTS_PATH<span class="k2">)</span><span class="k2">;</span>
<span class="number">  42</span>   print_standard_path<span class="k2">(</span>ALLEGRO_EXENAME_PATH<span class="k2">)</span><span class="k2">;</span>
<span class="number">  43</span><span class="k2">}</span>
<span class="number">  44</span>
<span class="number">  45</span><span class="k1">static</span> <span class="k1">void</span> set_transform<span class="k2">(</span><a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a> <span class="k3">*</span>dpy<span class="k2">)</span>
<span class="number">  46</span><span class="k2">{</span>
<span class="number">  47</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_TRANSFORM"><span class="a">ALLEGRO_TRANSFORM</span></a> t<span class="k2">;</span>
<span class="number">  48</span>   <span class="k1">int</span> w <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_get_display_width"><span class="a">al_get_display_width</span></a><span class="k2">(</span>dpy<span class="k2">)</span><span class="k2">;</span>
<span class="number">  49</span>   <span class="k1">int</span> h <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_get_display_height"><span class="a">al_get_display_height</span></a><span class="k2">(</span>dpy<span class="k2">)</span><span class="k2">;</span>
<span class="number">  50</span>
<span class="number">  51</span>   <span class="c">// XXX we shouldn't need this in user code</span>
<span class="number">  52</span>   <span class="c">// glViewport(0, 0, w, h);</span>
<span class="number">  53</span>
<span class="number">  54</span>   <a href="http://www.allegro.cc/manual/al_identity_transform"><span class="a">al_identity_transform</span></a><span class="k2">(</span><span class="k3">&amp;</span>t<span class="k2">)</span><span class="k2">;</span>
<span class="number">  55</span>   al_ortho_transform<span class="k2">(</span><span class="k3">&amp;</span>t, <span class="n">0</span>, w, h, <span class="n">0</span>, <span class="k3">-</span><span class="n">1</span>, <span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  56</span>   al_set_projection_transform<span class="k2">(</span>dpy, <span class="k3">&amp;</span>t<span class="k2">)</span><span class="k2">;</span>
<span class="number">  57</span><span class="k2">}</span>
<span class="number">  58</span>
<span class="number">  59</span><span class="k1">static</span> <span class="k1">void</span> draw_touches<span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>
<span class="number">  60</span><span class="k2">{</span>
<span class="number">  61</span>   <span class="k1">int</span> i<span class="k2">;</span>
<span class="number">  62</span>
<span class="number">  63</span>   <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> MAX_TOUCH<span class="k2">;</span> i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number">  64</span>      <span class="k1">if</span> <span class="k2">(</span>touch<span class="k2">[</span>i<span class="k2">]</span>.down<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  65</span>         <a href="http://www.allegro.cc/manual/al_draw_filled_rectangle"><span class="a">al_draw_filled_rectangle</span></a><span class="k2">(</span>
<span class="number">  66</span>            touch<span class="k2">[</span>i<span class="k2">]</span>.x-40, touch<span class="k2">[</span>i<span class="k2">]</span>.y-40,
<span class="number">  67</span>            touch<span class="k2">[</span>i<span class="k2">]</span>.x<span class="k3">+</span><span class="n">40</span>, touch<span class="k2">[</span>i<span class="k2">]</span>.y<span class="k3">+</span><span class="n">40</span>,
<span class="number">  68</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">100</span><span class="k3">+</span>i<span class="k3">*</span><span class="n">20</span>, <span class="n">40</span><span class="k3">+</span>i<span class="k3">*</span><span class="n">20</span>, <span class="n">40</span><span class="k3">+</span>i<span class="k3">*</span><span class="n">20</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  69</span>      <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">int</span> main<span class="k2">(</span><span class="k1">int</span> argc, <span class="k1">char</span> <span class="k3">*</span><span class="k3">*</span>argv<span class="k2">)</span>
<span class="number">  74</span><span class="k2">{</span>
<span class="number">  75</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a> <span class="k3">*</span>dpy<span class="k2">;</span>
<span class="number">  76</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a> <span class="k3">*</span>queue<span class="k2">;</span>
<span class="number">  77</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> event<span class="k2">;</span>
<span class="number">  78</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">  79</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>image<span class="k2">;</span>
<span class="number">  80</span>
<span class="number">  81</span>   <span class="k2">(</span><span class="k1">void</span><span class="k2">)</span> argc<span class="k2">;</span>
<span class="number">  82</span>   <span class="k2">(</span><span class="k1">void</span><span class="k2">)</span> argv<span class="k2">;</span>
<span class="number">  83</span>
<span class="number">  84</span>   ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"init allegro!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  85</span>   <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</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="k2">{</span>
<span class="number">  86</span>      <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  87</span>   <span class="k2">}</span>
<span class="number">  88</span>
<span class="number">  89</span>   ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"init primitives"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  90</span>   <a href="http://www.allegro.cc/manual/al_init_primitives_addon"><span class="a">al_init_primitives_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  91</span>
<span class="number">  92</span>   ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"init image addon"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  93</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">  94</span>
<span class="number">  95</span>   ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"init touch input"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  96</span>   al_install_touch_input<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  97</span>
<span class="number">  98</span>   ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"init keyboard"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  99</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"> 100</span>   
<span class="number"> 101</span>   
<span class="number"> 102</span><span class="c">////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////</span>
<span class="number"> 103</span><span class="c">////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////</span>
<span class="number"> 104</span>
<span class="number"> 105</span>
<span class="number"> 106</span><a href="http://www.allegro.cc/manual/al_install_audio"><span class="a">al_install_audio</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 107</span><a href="http://www.allegro.cc/manual/al_init_acodec_addon"><span class="a">al_init_acodec_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 108</span>
<span class="number"> 109</span>
<span class="number"> 110</span><span class="c">////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////</span>
<span class="number"> 111</span><span class="c">////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////</span>
<span class="number"> 112</span>   
<span class="number"> 113</span>
<span class="number"> 114</span>   ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"creating display"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 115</span>   dpy <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><span class="n">800</span>, <span class="n">480</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 116</span>   <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>dpy<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 117</span>      ALLEGRO_ERROR<span class="k2">(</span><span class="s">"failed to create display!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 118</span>      <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 119</span>   <span class="k2">}</span>
<span class="number"> 120</span>
<span class="number"> 121</span>   print_standard_paths<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 122</span>
<span class="number"> 123</span>   <span class="c">/* This is loaded from assets in the apk. */</span>
<span class="number"> 124</span>   al_android_set_apk_file_interface<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 125</span>   image <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">"alexlogo.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 126</span>   <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>image<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 127</span>      ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"failed to load alexlogo.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 128</span>      <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 129</span>   <span class="k2">}</span>
<span class="number"> 130</span>   <a href="http://www.allegro.cc/manual/al_set_standard_file_interface"><span class="a">al_set_standard_file_interface</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 131</span>
<span class="number"> 132</span>   <a href="http://www.allegro.cc/manual/al_convert_mask_to_alpha"><span class="a">al_convert_mask_to_alpha</span></a><span class="k2">(</span>image, <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">255</span>,<span class="n">0</span>,<span class="n">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 133</span>
<span class="number"> 134</span>   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"> 135</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>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>dpy<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 136</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>queue, al_get_touch_input_event_source<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 137</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>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"> 138</span>
<span class="number"> 139</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="k3">/</span><span class="n">60</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 140</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>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"> 141</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"> 142</span>
<span class="number"> 143</span>   <span class="k1">bool</span> draw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 144</span>   <span class="k1">bool</span> running <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 145</span>   <span class="k1">bool</span> paused <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 146</span>   <span class="k1">int</span> count <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 147</span>
<span class="number"> 148</span>
<span class="number"> 149</span><span class="c">////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////</span>
<span class="number"> 150</span><span class="c">////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////</span>
<span class="number"> 151</span><span class="c">////////////////////////////////////////////////////////////////////////</span>
<span class="number"> 152</span>
<span class="number"> 153</span><a href="http://www.allegro.cc/manual/ALLEGRO_SAMPLE"><span class="a">ALLEGRO_SAMPLE</span></a> <span class="k3">*</span>sample<span class="k3">=</span>NULL<span class="k2">;</span>
<span class="number"> 154</span>
<span class="number"> 155</span>
<span class="number"> 156</span>sample <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_sample"><span class="a">al_load_sample</span></a><span class="k2">(</span> <span class="s">"song.wav"</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 157</span>
<span class="number"> 158</span>
<span class="number"> 159</span><span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_reserve_samples"><span class="a">al_reserve_samples</span></a><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">)</span><span class="k2">{</span>
<span class="number"> 160</span>  ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"failed to reserve samples!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 161</span>  <span class="c">//return -1;</span>
<span class="number"> 162</span><span class="k2">}</span>
<span class="number"> 163</span>
<span class="number"> 164</span><span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>sample<span class="k2">)</span><span class="k2">{</span>
<span class="number"> 165</span>  ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"Audio clip sample not loaded!\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 166</span>  <span class="c">//return -1;</span>
<span class="number"> 167</span><span class="k2">}</span>
<span class="number"> 168</span>
<span class="number"> 169</span><span class="c">/* Loop the sample until the display closes. */</span>
<span class="number"> 170</span><a href="http://www.allegro.cc/manual/al_play_sample"><span class="a">al_play_sample</span></a><span class="k2">(</span>sample, <span class="n">1</span>.<span class="n">0</span>, <span class="n">0</span>.<span class="n">0</span>,<span class="n">1</span>.<span class="n">0</span>,ALLEGRO_PLAYMODE_LOOP,NULL<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 171</span><span class="c">////////////////////////////////////////////////////////////////////////</span>
<span class="number"> 172</span><span class="c">////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////</span>
<span class="number"> 173</span><span class="c">////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////</span>
<span class="number"> 174</span>
<span class="number"> 175</span>
<span class="number"> 176</span>   <span class="k1">while</span> <span class="k2">(</span>running<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 177</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>queue, <span class="k3">&amp;</span>event<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 178</span>
<span class="number"> 179</span>      <span class="k1">switch</span> <span class="k2">(</span>event.type<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 180</span>         <span class="k1">case</span> ALLEGRO_EVENT_TOUCH_BEGIN:
<span class="number"> 181</span>            <span class="c">//ALLEGRO_DEBUG("touch %i begin", event.touch.id);</span>
<span class="number"> 182</span>            touch<span class="k2">[</span>event.touch.id<span class="k2">]</span>.down <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 183</span>            touch<span class="k2">[</span>event.touch.id<span class="k2">]</span>.x <span class="k3">=</span> event.touch.x<span class="k2">;</span>
<span class="number"> 184</span>            touch<span class="k2">[</span>event.touch.id<span class="k2">]</span>.y <span class="k3">=</span> event.touch.y<span class="k2">;</span>
<span class="number"> 185</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 186</span>
<span class="number"> 187</span>         <span class="k1">case</span> ALLEGRO_EVENT_TOUCH_END:
<span class="number"> 188</span>            <span class="c">//ALLEGRO_DEBUG("touch %i end", event.touch.id);</span>
<span class="number"> 189</span>            touch<span class="k2">[</span>event.touch.id<span class="k2">]</span>.down <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 190</span>            touch<span class="k2">[</span>event.touch.id<span class="k2">]</span>.x <span class="k3">=</span> <span class="n">0</span>.<span class="n">0</span><span class="k2">;</span>
<span class="number"> 191</span>            touch<span class="k2">[</span>event.touch.id<span class="k2">]</span>.y <span class="k3">=</span> <span class="n">0</span>.<span class="n">0</span><span class="k2">;</span>
<span class="number"> 192</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 193</span>
<span class="number"> 194</span>         <span class="k1">case</span> ALLEGRO_EVENT_TOUCH_MOVE:
<span class="number"> 195</span>            <span class="c">//ALLEGRO_DEBUG("touch %i move: %fx%f", event.touch.id, event.touch.x, event.touch.y);</span>
<span class="number"> 196</span>            touch<span class="k2">[</span>event.touch.id<span class="k2">]</span>.x <span class="k3">=</span> event.touch.x<span class="k2">;</span>
<span class="number"> 197</span>            touch<span class="k2">[</span>event.touch.id<span class="k2">]</span>.y <span class="k3">=</span> event.touch.y<span class="k2">;</span>
<span class="number"> 198</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 199</span>
<span class="number"> 200</span>         <span class="k1">case</span> ALLEGRO_EVENT_TOUCH_CANCEL:
<span class="number"> 201</span>            <span class="c">//ALLEGRO_DEBUG("touch %i canceled", event.touch.id);</span>
<span class="number"> 202</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 203</span>
<span class="number"> 204</span>         <span class="k1">case</span> ALLEGRO_EVENT_KEY_UP:
<span class="number"> 205</span>            <span class="k1">if</span> <span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_BACK<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 206</span>               ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"back key pressed, exit!"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 207</span>               running <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 208</span>            <span class="k2">}</span>
<span class="number"> 209</span>            <span class="k1">else</span> <span class="k2">{</span>
<span class="number"> 210</span>               ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"%i key pressed"</span>, event.keyboard.keycode<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 211</span>            <span class="k2">}</span>
<span class="number"> 212</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 213</span>
<span class="number"> 214</span>         <span class="k1">case</span> ALLEGRO_EVENT_TIMER:
<span class="number"> 215</span>            draw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 216</span>            <span class="k1">if</span> <span class="k2">(</span>count <span class="k3">=</span><span class="k3">=</span> <span class="n">60</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 217</span>               ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"tick"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 218</span>               count <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 219</span>            <span class="k2">}</span>
<span class="number"> 220</span>            count<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 221</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 222</span>
<span class="number"> 223</span>         <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_CLOSE:
<span class="number"> 224</span>            ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"display close"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 225</span>            running <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 226</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 227</span>
<span class="number"> 228</span>         <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_HALT_DRAWING:
<span class="number"> 229</span>            ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"halt drawing"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 230</span>            <span class="c">// Stop the timer so we don't run at all while our display isn't</span>
<span class="number"> 231</span>            <span class="c">// active.</span>
<span class="number"> 232</span>            <a href="http://www.allegro.cc/manual/al_stop_timer"><span class="a">al_stop_timer</span></a><span class="k2">(</span>timer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 233</span>            <span class="c">//al_set_target_backbuffer(0);</span>
<span class="number"> 234</span>            ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"after set target"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 235</span>            paused <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 236</span>            draw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 237</span>            al_acknowledge_drawing_halt<span class="k2">(</span>dpy<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 238</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 239</span>
<span class="number"> 240</span>         <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_RESUME_DRAWING:
<span class="number"> 241</span>            ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"resume drawing"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 242</span>
<span class="number"> 243</span>            al_acknowledge_drawing_resume<span class="k2">(</span>dpy, NULL<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 244</span>            ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"done waiting for surface recreated"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 245</span>
<span class="number"> 246</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"> 247</span>            <span class="c">//al_set_target_backbuffer(dpy);</span>
<span class="number"> 248</span>            <span class="c">//_al_android_setup_opengl_view(dpy);</span>
<span class="number"> 249</span>            paused <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 250</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 251</span>
<span class="number"> 252</span>         <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_RESIZE:
<span class="number"> 253</span>            ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"display resize"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 254</span>            <a href="http://www.allegro.cc/manual/al_acknowledge_resize"><span class="a">al_acknowledge_resize</span></a><span class="k2">(</span>dpy<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 255</span>            ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"done resize"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 256</span>            set_transform<span class="k2">(</span>dpy<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 257</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 258</span>
<span class="number"> 259</span>         <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_ORIENTATION:
<span class="number"> 260</span>            set_transform<span class="k2">(</span>dpy<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 261</span>            <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 262</span>      <span class="k2">}</span>
<span class="number"> 263</span>
<span class="number"> 264</span>      <span class="k1">if</span> <span class="k2">(</span>draw <span class="k3">&amp;</span><span class="k3">&amp;</span> al_event_queue_is_empty<span class="k2">(</span>queue<span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 265</span>         draw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 266</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">255</span>, <span class="n">255</span>, <span class="n">255</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 267</span>         <span class="k1">if</span> <span class="k2">(</span>image<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 268</span>            <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>image,
<span class="number"> 269</span>               <a href="http://www.allegro.cc/manual/al_get_display_width"><span class="a">al_get_display_width</span></a><span class="k2">(</span>dpy<span class="k2">)</span><span class="k3">/</span><span class="n">2</span> <span class="k3">-</span> <a href="http://www.allegro.cc/manual/al_get_bitmap_width"><span class="a">al_get_bitmap_width</span></a><span class="k2">(</span>image<span class="k2">)</span><span class="k3">/</span><span class="n">2</span>,
<span class="number"> 270</span>               <a href="http://www.allegro.cc/manual/al_get_display_height"><span class="a">al_get_display_height</span></a><span class="k2">(</span>dpy<span class="k2">)</span><span class="k3">/</span><span class="n">2</span> <span class="k3">-</span> <a href="http://www.allegro.cc/manual/al_get_bitmap_height"><span class="a">al_get_bitmap_height</span></a><span class="k2">(</span>image<span class="k2">)</span><span class="k3">/</span><span class="n">2</span>,
<span class="number"> 271</span>               <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 272</span>         <span class="k2">}</span>
<span class="number"> 273</span>         draw_touches<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 274</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"> 275</span>      <span class="k2">}</span>
<span class="number"> 276</span>   <span class="k2">}</span>
<span class="number"> 277</span>
<span class="number"> 278</span>   ALLEGRO_DEBUG<span class="k2">(</span><span class="s">"done"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 279</span>   
<span class="number"> 280</span><span class="c">////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////</span>
<span class="number"> 281</span><span class="c">////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////</span>
<span class="number"> 282</span><span class="c">////////////////////////////////////////////////////////////////////////</span>
<span class="number"> 283</span>
<span class="number"> 284</span>
<span class="number"> 285</span><a href="http://www.allegro.cc/manual/al_destroy_sample"><span class="a">al_destroy_sample</span></a><span class="k2">(</span>sample<span class="k2">)</span><span class="k2">;</span>   
<span class="number"> 286</span>
<span class="number"> 287</span>
<span class="number"> 288</span><span class="c">////////////////////////////////////////////////////////////////////////   </span>
<span class="number"> 289</span><span class="c">////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////   </span>
<span class="number"> 290</span><span class="c">////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////   </span>
<span class="number"> 291</span>   
<span class="number"> 292</span>   
<span class="number"> 293</span>   <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 294</span><span class="k2">}</span>
<span class="number"> 295</span>
<span class="number"> 296</span><span class="c">/* vim: set sts=3 sw=3 et: */</span>
</div></div><p>
With output from &quot;  <span class="source-code">$ adb logcat <span class="k3">|</span> grep llegro</span>  &quot; of:
</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="number">   2</span>I<span class="k3">/</span>ActivityManager<span class="k2">(</span>  <span class="n">204</span><span class="k2">)</span><span class="k2">:</span> Start proc org.liballeg.app <span class="k1">for</span> activity org.liballeg.app<span class="k3">/</span>.AllegroActivity: pid<span class="k3">=</span><span class="n">20245</span> uid<span class="k3">=</span><span class="n">10151</span> gids<span class="k3">=</span><span class="k2">{</span><span class="n">1015</span><span class="k2">}</span>
<span class="number">   3</span>D<span class="k3">/</span>dalvikvm<span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> Trying to load lib <span class="k3">/</span>data<span class="k3">/</span>data<span class="k3">/</span>org.liballeg.app<span class="k3">/</span>lib<span class="k3">/</span>liballegro-debug.so <span class="n">0x40d6b240</span>
<span class="number">   4</span>D<span class="k3">/</span>dalvikvm<span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> Added shared lib <span class="k3">/</span>data<span class="k3">/</span>data<span class="k3">/</span>org.liballeg.app<span class="k3">/</span>lib<span class="k3">/</span>liballegro-debug.so <span class="n">0x40d6b240</span>
<span class="number">   5</span>D<span class="k3">/</span>dalvikvm<span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> Trying to load lib <span class="k3">/</span>data<span class="k3">/</span>data<span class="k3">/</span>org.liballeg.app<span class="k3">/</span>lib<span class="k3">/</span>liballegro_primitives-debug.so <span class="n">0x40d6b240</span>
<span class="number">   6</span>D<span class="k3">/</span>dalvikvm<span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> Added shared lib <span class="k3">/</span>data<span class="k3">/</span>data<span class="k3">/</span>org.liballeg.app<span class="k3">/</span>lib<span class="k3">/</span>liballegro_primitives-debug.so <span class="n">0x40d6b240</span>
<span class="number">   7</span>D<span class="k3">/</span>dalvikvm<span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> No JNI_OnLoad found in <span class="k3">/</span>data<span class="k3">/</span>data<span class="k3">/</span>org.liballeg.app<span class="k3">/</span>lib<span class="k3">/</span>liballegro_primitives-debug.so <span class="n">0x40d6b240</span>, skipping init
<span class="number">   8</span>D<span class="k3">/</span>dalvikvm<span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> Trying to load lib <span class="k3">/</span>data<span class="k3">/</span>data<span class="k3">/</span>org.liballeg.app<span class="k3">/</span>lib<span class="k3">/</span>liballegro_image-debug.so <span class="n">0x40d6b240</span>
<span class="number">   9</span>D<span class="k3">/</span>dalvikvm<span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> Added shared lib <span class="k3">/</span>data<span class="k3">/</span>data<span class="k3">/</span>org.liballeg.app<span class="k3">/</span>lib<span class="k3">/</span>liballegro_image-debug.so <span class="n">0x40d6b240</span>
<span class="number">  10</span>D<span class="k3">/</span>dalvikvm<span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> No JNI_OnLoad found in <span class="k3">/</span>data<span class="k3">/</span>data<span class="k3">/</span>org.liballeg.app<span class="k3">/</span>lib<span class="k3">/</span>liballegro_image-debug.so <span class="n">0x40d6b240</span>, skipping init
<span class="number">  11</span>D<span class="k3">/</span>dalvikvm<span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> Trying to load lib <span class="k3">/</span>data<span class="k3">/</span>data<span class="k3">/</span>org.liballeg.app<span class="k3">/</span>lib<span class="k3">/</span>liballegro_audio-debug.so <span class="n">0x40d6b240</span>
<span class="number">  12</span>D<span class="k3">/</span>dalvikvm<span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> Added shared lib <span class="k3">/</span>data<span class="k3">/</span>data<span class="k3">/</span>org.liballeg.app<span class="k3">/</span>lib<span class="k3">/</span>liballegro_audio-debug.so <span class="n">0x40d6b240</span>
<span class="number">  13</span>D<span class="k3">/</span>dalvikvm<span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> No JNI_OnLoad found in <span class="k3">/</span>data<span class="k3">/</span>data<span class="k3">/</span>org.liballeg.app<span class="k3">/</span>lib<span class="k3">/</span>liballegro_audio-debug.so <span class="n">0x40d6b240</span>, skipping init
<span class="number">  14</span>D<span class="k3">/</span>dalvikvm<span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> Trying to load lib <span class="k3">/</span>data<span class="k3">/</span>data<span class="k3">/</span>org.liballeg.app<span class="k3">/</span>lib<span class="k3">/</span>liballegro_acodec-debug.so <span class="n">0x40d6b240</span>
<span class="number">  15</span>D<span class="k3">/</span>dalvikvm<span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> Added shared lib <span class="k3">/</span>data<span class="k3">/</span>data<span class="k3">/</span>org.liballeg.app<span class="k3">/</span>lib<span class="k3">/</span>liballegro_acodec-debug.so <span class="n">0x40d6b240</span>
<span class="number">  16</span>D<span class="k3">/</span>dalvikvm<span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> No JNI_OnLoad found in <span class="k3">/</span>data<span class="k3">/</span>data<span class="k3">/</span>org.liballeg.app<span class="k3">/</span>lib<span class="k3">/</span>liballegro_acodec-debug.so <span class="n">0x40d6b240</span>, skipping init
<span class="number">  17</span>D<span class="k3">/</span>AllegroActivity<span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> onCreate
<span class="number">  18</span>D<span class="k3">/</span>AllegroActivity<span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> Files Dir: <span class="k3">/</span>data<span class="k3">/</span>data<span class="k3">/</span>org.liballeg.app<span class="k3">/</span>files
<span class="number">  19</span>D<span class="k3">/</span>AllegroActivity<span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> External Storage Dir: <span class="k3">/</span>mnt<span class="k3">/</span>sdcard
<span class="number">  20</span>D<span class="k3">/</span>AllegroActivity<span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> External Files Dir: <span class="k3">/</span>mnt<span class="k3">/</span>sdcard<span class="k3">/</span>Android<span class="k3">/</span>data<span class="k3">/</span>org.liballeg.app<span class="k3">/</span>files
<span class="number">  21</span>D<span class="k3">/</span>AllegroActivity<span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> external: avail <span class="k3">=</span> <span class="k1">true</span> writable <span class="k3">=</span> <span class="k1">true</span>
<span class="number">  22</span>D<span class="k3">/</span>AllegroActivity<span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> sourceDir: <span class="k3">/</span>data<span class="k3">/</span>app<span class="k3">/</span>org.liballeg.app-1.apk
<span class="number">  23</span>D<span class="k3">/</span>AllegroActivity<span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> publicSourceDir: <span class="k3">/</span>data<span class="k3">/</span>app<span class="k3">/</span>org.liballeg.app-1.apk
<span class="number">  24</span>D<span class="k3">/</span>AllegroActivity<span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> before nativeOnCreate
<span class="number">  25</span>I<span class="k3">/</span>allegro <span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> android  D <span class="n">20245</span><span class="k2">:</span>     android_system.c:194  Java_org_liballeg_app_AllegroActivity_nativeOnCreate <span class="k2">[</span>   <span class="n">0</span>.<span class="n">00000</span><span class="k2">]</span> entered nativeOnCreate
<span class="number">  26</span>I<span class="k3">/</span>allegro <span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> android  D <span class="n">20245</span><span class="k2">:</span>     android_system.c:202  Java_org_liballeg_app_AllegroActivity_nativeOnCreate <span class="k2">[</span>   <span class="n">0</span>.<span class="n">00000</span><span class="k2">]</span> pthread_self:0x401364c8
<span class="number">  27</span>I<span class="k3">/</span>allegro <span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> android  D <span class="n">20245</span><span class="k2">:</span>     android_system.c:203  Java_org_liballeg_app_AllegroActivity_nativeOnCreate <span class="k2">[</span>   <span class="n">0</span>.<span class="n">00000</span><span class="k2">]</span> nativeOnCreate begin
<span class="number">  28</span>I<span class="k3">/</span>allegro <span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> android  D <span class="n">20245</span><span class="k2">:</span>     android_system.c:207  Java_org_liballeg_app_AllegroActivity_nativeOnCreate <span class="k2">[</span>   <span class="n">0</span>.<span class="n">00000</span><span class="k2">]</span> grab activity global refs
<span class="number">  29</span>I<span class="k3">/</span>allegro <span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> android  D <span class="n">20245</span><span class="k2">:</span>     android_system.c:220  Java_org_liballeg_app_AllegroActivity_nativeOnCreate <span class="k2">[</span>   <span class="n">0</span>.<span class="n">00000</span><span class="k2">]</span> create mutex <span class="k1">and</span> cond objects
<span class="number">  30</span>I<span class="k3">/</span>allegro <span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> android  D <span class="n">20245</span><span class="k2">:</span>     android_system.c:224  Java_org_liballeg_app_AllegroActivity_nativeOnCreate <span class="k2">[</span>   <span class="n">0</span>.<span class="n">00000</span><span class="k2">]</span> get directories
<span class="number">  31</span>I<span class="k3">/</span>allegro <span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> android  D <span class="n">20245</span><span class="k2">:</span>     android_system.c:230  Java_org_liballeg_app_AllegroActivity_nativeOnCreate <span class="k2">[</span>   <span class="n">0</span>.<span class="n">00000</span><span class="k2">]</span> lib_dir: <span class="k3">/</span>data<span class="k3">/</span>data<span class="k3">/</span>org.liballeg.app<span class="k3">/</span>lib
<span class="number">  32</span>I<span class="k3">/</span>allegro <span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> android  D <span class="n">20245</span><span class="k2">:</span>     android_system.c:231  Java_org_liballeg_app_AllegroActivity_nativeOnCreate <span class="k2">[</span>   <span class="n">0</span>.<span class="n">00000</span><span class="k2">]</span> app_name: allegro-example
<span class="number">  33</span>I<span class="k3">/</span>allegro <span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> android  D <span class="n">20245</span><span class="k2">:</span>     android_system.c:232  Java_org_liballeg_app_AllegroActivity_nativeOnCreate <span class="k2">[</span>   <span class="n">0</span>.<span class="n">00000</span><span class="k2">]</span> resources_dir: <span class="k3">/</span>data<span class="k3">/</span>data<span class="k3">/</span>org.liballeg.app<span class="k3">/</span>files
<span class="number">  34</span>I<span class="k3">/</span>allegro <span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> android  D <span class="n">20245</span><span class="k2">:</span>     android_system.c:233  Java_org_liballeg_app_AllegroActivity_nativeOnCreate <span class="k2">[</span>   <span class="n">0</span>.<span class="n">00000</span><span class="k2">]</span> data_dir: <span class="k3">/</span>mnt<span class="k3">/</span>sdcard<span class="k3">/</span>Android<span class="k3">/</span>data<span class="k3">/</span>org.liballeg.app<span class="k3">/</span>files
<span class="number">  35</span>I<span class="k3">/</span>allegro <span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> android  D <span class="n">20245</span><span class="k2">:</span>     android_system.c:234  Java_org_liballeg_app_AllegroActivity_nativeOnCreate <span class="k2">[</span>   <span class="n">0</span>.<span class="n">00000</span><span class="k2">]</span> apk_path: <span class="k3">/</span>data<span class="k3">/</span>app<span class="k3">/</span>org.liballeg.app-1.apk
<span class="number">  36</span>I<span class="k3">/</span>allegro <span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> android  D <span class="n">20245</span><span class="k2">:</span>     android_system.c:236  Java_org_liballeg_app_AllegroActivity_nativeOnCreate <span class="k2">[</span>   <span class="n">0</span>.<span class="n">00000</span><span class="k2">]</span> creating ALLEGRO_SYSTEM_ANDROID <span class="k1">struct</span>
<span class="number">  37</span>I<span class="k3">/</span>allegro <span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> android  D <span class="n">20245</span><span class="k2">:</span>     android_system.c:240  Java_org_liballeg_app_AllegroActivity_nativeOnCreate <span class="k2">[</span>   <span class="n">0</span>.<span class="n">00000</span><span class="k2">]</span> get <a href="http://www.delorie.com/djgpp/doc/libc/libc_802.html" target="_blank">system</a> pointer
<span class="number">  38</span>I<span class="k3">/</span>allegro <span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> android  D <span class="n">20245</span><span class="k2">:</span>     android_system.c:242  Java_org_liballeg_app_AllegroActivity_nativeOnCreate <span class="k2">[</span>   <span class="n">0</span>.<span class="n">00000</span><span class="k2">]</span> get <a href="http://www.delorie.com/djgpp/doc/libc/libc_802.html" target="_blank">system</a> interface
<span class="number">  39</span>I<span class="k3">/</span>allegro <span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> android  D <span class="n">20245</span><span class="k2">:</span>     android_system.c:245  Java_org_liballeg_app_AllegroActivity_nativeOnCreate <span class="k2">[</span>   <span class="n">0</span>.<span class="n">00000</span><span class="k2">]</span> init display vector
<span class="number">  40</span>I<span class="k3">/</span>allegro <span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> android  D <span class="n">20245</span><span class="k2">:</span>     android_system.c:248  Java_org_liballeg_app_AllegroActivity_nativeOnCreate <span class="k2">[</span>   <span class="n">0</span>.<span class="n">00000</span><span class="k2">]</span> init <a href="http://www.delorie.com/djgpp/doc/libc/libc_821.html" target="_blank">time</a>
<span class="number">  41</span>I<span class="k3">/</span>allegro <span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> android  D <span class="n">20245</span><span class="k2">:</span>     android_system.c:251  Java_org_liballeg_app_AllegroActivity_nativeOnCreate <span class="k2">[</span>   <span class="n">0</span>.<span class="n">00015</span><span class="k2">]</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_758.html" target="_blank">strdup</a> app_name
<span class="number">  42</span>I<span class="k3">/</span>allegro <span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> android  D <span class="n">20245</span><span class="k2">:</span>     android_system.c:270  Java_org_liballeg_app_AllegroActivity_nativeOnCreate <span class="k2">[</span>   <span class="n">0</span>.<span class="n">00085</span><span class="k2">]</span> load user lib: <span class="k3">/</span>data<span class="k3">/</span>data<span class="k3">/</span>org.liballeg.app<span class="k3">/</span>lib<span class="k3">/</span>liballegro-example.so
<span class="number">  43</span>I<span class="k3">/</span>allegro <span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> android  D <span class="n">20245</span><span class="k2">:</span>     android_system.c:278  Java_org_liballeg_app_AllegroActivity_nativeOnCreate <span class="k2">[</span>   <span class="n">0</span>.<span class="n">00369</span><span class="k2">]</span> grab user main
<span class="number">  44</span>I<span class="k3">/</span>allegro <span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> android  D <span class="n">20245</span><span class="k2">:</span>     android_system.c:286  Java_org_liballeg_app_AllegroActivity_nativeOnCreate <span class="k2">[</span>   <span class="n">0</span>.<span class="n">00415</span><span class="k2">]</span> creating trampoline <span class="k1">for</span> app thread
<span class="number">  45</span>I<span class="k3">/</span>allegro <span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> android  D <span class="n">20245</span><span class="k2">:</span>     android_system.c:290  Java_org_liballeg_app_AllegroActivity_nativeOnCreate <span class="k2">[</span>   <span class="n">0</span>.<span class="n">00488</span><span class="k2">]</span> waiting <span class="k1">for</span> app trampoline to <a href="http://www.delorie.com/djgpp/doc/libc/libc_724.html" target="_blank">signal</a> running
<span class="number">  46</span>I<span class="k3">/</span>allegro <span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> android  D <span class="n">20258</span><span class="k2">:</span>     android_system.c:145  android_app_trampoline           <span class="k2">[</span>   <span class="n">0</span>.<span class="n">00558</span><span class="k2">]</span> signaling running
<span class="number">  47</span>I<span class="k3">/</span>allegro <span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> android  D <span class="n">20245</span><span class="k2">:</span>     android_system.c:297  Java_org_liballeg_app_AllegroActivity_nativeOnCreate <span class="k2">[</span>   <span class="n">0</span>.<span class="n">00604</span><span class="k2">]</span> setup done. returning to dalvik.
<span class="number">  48</span>I<span class="k3">/</span>allegro <span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> android  D <span class="n">20245</span><span class="k2">:</span>     android_system.c:411  Java_org_liballeg_app_AllegroActivity_nativeOnOrientationChange <span class="k2">[</span>   <span class="n">0</span>.<span class="n">00619</span><span class="k2">]</span> got orientation change<span class="k3">!</span>
<span class="number">  49</span>D<span class="k3">/</span>AllegroActivity<span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> onCreate end
<span class="number">  50</span>D<span class="k3">/</span>AllegroActivity<span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> onStart.
<span class="number">  51</span>D<span class="k3">/</span>AllegroActivity<span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> onResume
<span class="number">  52</span>I<span class="k3">/</span>allegro <span class="k2">(</span><span class="n">20245</span><span class="k2">)</span><span class="k2">:</span> android  D <span class="n">20258</span><span class="k2">:</span>     android_system.c:152  android_app_trampoline           <span class="k2">[</span>   <span class="n">0</span>.<span class="n">00897</span><span class="k2">]</span> entering app<span class="s">'s main function</span>
<span class="number">  53</span><span class="s">I/allegro (20245): main     D 20258:               main.c:84   main                             [   0.00949] init allegro!</span>
<span class="number">  54</span><span class="s">I/allegro (20245): android  D 20245:     android_system.c:338  Java_org_liballeg_app_AllegroActivity_nativeOnResume [   0.01437] resume activity</span>
<span class="number">  55</span><span class="s">I/allegro (20245): android  D 20245:     android_system.c:346  Java_org_liballeg_app_AllegroActivity_nativeOnResume [   0.01489] no display, not sending SWITCH_IN event</span>
<span class="number">  56</span><span class="s">D/AllegroActivity(20245): onResume end</span>
<span class="number">  57</span><span class="s">I/allegro (20245): android  D 20258:     android_system.c:465  android_initialize               [   0.01965] android_initialize</span>
<span class="number">  58</span><span class="s">I/allegro (20245): system   I 20258:             system.c:272  al_install_system                [   0.02011] Allegro version: 5.1.5 (WIP)</span>
<span class="number">  59</span><span class="s">I/allegro (20245): main     D 20258:               main.c:89   main                             [   0.03082] init primitives</span>
<span class="number">  60</span><span class="s">I/allegro (20245): main     D 20258:               main.c:92   main                             [   0.03107] init image addon</span>
<span class="number">  61</span><span class="s">I/allegro (20245): main     D 20258:               main.c:95   main                             [   0.03168] init touch input</span>
<span class="number">  62</span><span class="s">I/allegro (20245): main     D 20258:               main.c:98   main                             [   0.03213] init keyboard</span>
<span class="number">  63</span><span class="s">I/allegro (20245): audio    I 20258:              audio.c:262  do_install_audio                 [   0.03293] Using OpenSL driver</span>
<span class="number">  64</span><span class="s">I/allegro (20245): main     D 20258:               main.c:114  main                             [   0.03360] creating display</span>
<span class="number">  65</span><span class="s">I/allegro (20245): display  D 20258:    android_display.c:472  android_create_display           [   0.03403] begin</span>
<span class="number">  66</span><span class="s">D/AllegroActivity(20245): postCreateSurface</span>
<span class="number">  67</span><span class="s">I/allegro (20245): display  D 20258:    android_display.c:517  android_create_display           [   0.03662] waiting for surface onChange</span>
<span class="number">  68</span><span class="s">D/AllegroActivity(20245): createSurface</span>
<span class="number">  69</span><span class="s">D/AllegroSurface(20245): PixelFormat=1</span>
<span class="number">  70</span><span class="s">D/AllegroSurface(20245): ctor</span>
<span class="number">  71</span><span class="s">D/AllegroSurface(20245): ctor end</span>
<span class="number">  72</span><span class="s">D/AllegroActivity(20245): createSurface end</span>
<span class="number">  73</span><span class="s">D/AllegroSurface(20245): surfaceCreated</span>
<span class="number">  74</span><span class="s">I/allegro (20245): display  D 20245:    android_display.c:50   Java_org_liballeg_app_AllegroSurface_nativeOnCreate [   0.15884] nativeOnCreate</span>
<span class="number">  75</span><span class="s">I/allegro (20245): display  D 20245:    android_display.c:57   Java_org_liballeg_app_AllegroSurface_nativeOnCreate [   0.15952] AllegroSurface_nativeOnCreate</span>
<span class="number">  76</span><span class="s">D/AllegroSurface(20245): Grabbing focus</span>
<span class="number">  77</span><span class="s">D/AllegroSurface(20245): surfaceCreated end</span>
<span class="number">  78</span><span class="s">D/AllegroSurface(20245): surfaceChanged (width=480 height=800)</span>
<span class="number">  79</span><span class="s">I/allegro (20245): display  D 20245:    android_display.c:119  Java_org_liballeg_app_AllegroSurface_nativeOnChange [   0.16367] on change!</span>
<span class="number">  80</span><span class="s">I/allegro (20245): display  D 20245:    android_display.c:120  Java_org_liballeg_app_AllegroSurface_nativeOnChange [   0.16406] sys: 0x40101011</span>
<span class="number">  81</span><span class="s">I/allegro (20245): display  D 20245:    android_display.c:292  _al_android_init_display         [   0.16455] calling egl_Init</span>
<span class="number">  82</span><span class="s">D/AllegroSurface(20245): egl_Init</span>
<span class="number">  83</span><span class="s">D/AllegroSurface(20245): egl_Init end</span>
<span class="number">  84</span><span class="s">I/allegro (20245): display  D 20245:    android_display.c:301  _al_android_init_display         [   0.16617] updating visuals</span>
<span class="number">  85</span><span class="s">I/allegro (20245): display  D 20245:    android_display.c:457  _al_android_update_visuals       [   0.16663] calling egl_setConfigAttrib(17, 0)</span>
<span class="number">  86</span><span class="s">I/allegro (20245): display  D 20245:    android_display.c:458  _al_android_update_visuals       [   0.16742] calling egl_setConfigAttrib(18, 0)</span>
<span class="number">  87</span><span class="s">I/allegro (20245): display  D 20245:    android_display.c:303  _al_android_init_display         [   0.16800] done updating visuals</span>
<span class="number">  88</span><span class="s">I/allegro (20245): display  D 20245:    android_display.c:314  _al_android_init_display         [   0.16840] calling egl_createContext</span>
<span class="number">  89</span><span class="s">D/AllegroSurface(20245): egl_createContext</span>
<span class="number">  90</span><span class="s">D/AllegroSurface(20245): egl_attribs[0] = 12338</span>
<span class="number">  91</span><span class="s">D/AllegroSurface(20245): egl_attribs[1] = 0</span>
<span class="number">  92</span><span class="s">D/AllegroSurface(20245): egl_attribs[2] = 12337</span>
<span class="number">  93</span><span class="s">D/AllegroSurface(20245): egl_attribs[3] = 0</span>
<span class="number">  94</span><span class="s">D/AllegroSurface(20245): egl_attribs[4] = 12352</span>
<span class="number">  95</span><span class="s">D/AllegroSurface(20245): egl_attribs[5] = 1</span>
<span class="number">  96</span><span class="s">D/AllegroSurface(20245): EGL context created</span>
<span class="number">  97</span><span class="s">D/AllegroSurface(20245): egl_createContext end</span>
<span class="number">  98</span><span class="s">I/allegro (20245): display  D 20245:    android_display.c:326  _al_android_init_display         [   0.17996] calling egl_createSurface</span>
<span class="number">  99</span><span class="s">D/AllegroSurface(20245): created new surface: com.google.android.gles_jni.EGLSurfaceImpl@1f552c0</span>
<span class="number"> 100</span><span class="s">I/allegro (20245): display  D 20245:    android_display.c:334  _al_android_init_display         [   0.18936] initialize ogl extensions</span>
<span class="number"> 101</span><span class="s">I/allegro (20245): opengl   D 20245:         extensions.c:703  _al_ogl_manage_extensions        [   0.19003] OpenGL Extensions:</span>
<span class="number"> 102</span><span class="s">I/allegro (20245): opengl   D 20245:         extensions.c:200  print_extensions                 [   0.19058] GL_AMD_compressed_ATC_texture</span>
<span class="number"> 103</span><span class="s">I/allegro (20245): opengl   D 20245:         extensions.c:200  print_extensions                 [   0.19104] GL_AMD_performance_monitor</span>
<span class="number"> 104</span><span class="s">I/allegro (20245): opengl   D 20245:         extensions.c:200  print_extensions                 [   0.19147] GL_APPLE_texture_2D_limited_npot</span>
<span class="number"> 105</span><span class="s">I/allegro (20245): opengl   D 20245:         extensions.c:200  print_extensions                 [   0.19217] GL_ARB_vertex_buffer_object</span>
<span class="number"> 106</span><span class="s">I/allegro (20245): opengl   D 20245:         extensions.c:200  print_extensions                 [   0.19318] GL_EXT_texture_filter_anisotropic</span>
<span class="number"> 107</span><span class="s">I/allegro (20245): opengl   D 20245:         extensions.c:200  print_extensions                 [   0.19367] GL_EXT_texture_format_BGRA8888</span>
<span class="number"> 108</span><span class="s">I/allegro (20245): opengl   D 20245:         extensions.c:200  print_extensions                 [   0.19412] GL_EXT_texture_type_2_10_10_10_REV</span>
<span class="number"> 109</span><span class="s">I/allegro (20245): opengl   D 20245:         extensions.c:200  print_extensions                 [   0.19458] GL_OES_blend_equation_separate</span>
<span class="number"> 110</span><span class="s">I/allegro (20245): opengl   D 20245:         extensions.c:200  print_extensions                 [   0.19501] GL_OES_blend_func_separate</span>
<span class="number"> 111</span><span class="s">I/allegro (20245): opengl   D 20245:         extensions.c:200  print_extensions                 [   0.19544] GL_OES_blend_subtract</span>
<span class="number"> 112</span><span class="s">I/allegro (20245): opengl   D 20245:         extensions.c:200  print_extensions                 [   0.19586] GL_OES_compressed_ETC1_RGB8_texture</span>
<span class="number"> 113</span><span class="s">I/allegro (20245): opengl   D 20245:         extensions.c:200  print_extensions                 [   0.19632] GL_OES_compressed_paletted_texture</span>
<span class="number"> 114</span><span class="s">I/allegro (20245): opengl   D 20245:         extensions.c:200  print_extensions                 [   0.19672] GL_OES_depth_texture</span>
<span class="number"> 115</span><span class="s">I/allegro (20245): opengl   D 20245:         extensions.c:200  print_extensions                 [   0.19717] GL_OES_depth24</span>
<span class="number"> 116</span><span class="s">I/allegro (20245): opengl   D 20245:         extensions.c:200  print_extensions                 [   0.19763] GL_OES_draw_texture</span>
<span class="number"> 117</span><span class="s">I/allegro (20245): opengl   D 20245:         extensions.c:200  print_extensions                 [   0.19827] GL_OES_EGL_image</span>
<span class="number"> 118</span><span class="s">I/allegro (20245): opengl   D 20245:         extensions.c:200  print_extensions                 [   0.19870] GL_OES_EGL_image_external</span>
<span class="number"> 119</span><span class="s">I/allegro (20245): opengl   D 20245:         extensions.c:200  print_extensions                 [   0.19934] GL_OES_framebuffer_object</span>
<span class="number"> 120</span><span class="s">I/allegro (20245): opengl   D 20245:         extensions.c:200  print_extensions                 [   0.19980] GL_OES_matrix_palette</span>
<span class="number"> 121</span><span class="s">I/allegro (20245): opengl   D 20245:         extensions.c:200  print_extensions                 [   0.20068] GL_OES_packed_depth_stencil</span>
<span class="number"> 122</span><span class="s">I/allegro (20245): opengl   D 20245:         extensions.c:200  print_extensions                 [   0.20136] GL_OES_point_size_array</span>
<span class="number"> 123</span><span class="s">I/allegro (20245): opengl   D 20245:         extensions.c:200  print_extensions                 [   0.20203] GL_OES_point_sprite</span>
<span class="number"> 124</span><span class="s">I/allegro (20245): opengl   D 20245:         extensions.c:200  print_extensions                 [   0.20249] GL_OES_read_format</span>
<span class="number"> 125</span><span class="s">I/allegro (20245): opengl   D 20245:         extensions.c:200  print_extensions                 [   0.20319] GL_OES_rgb8_rgba8</span>
<span class="number"> 126</span><span class="s">I/allegro (20245): opengl   D 20245:         extensions.c:200  print_extensions                 [   0.20383] GL_OES_stencil_wrap</span>
<span class="number"> 127</span><span class="s">I/allegro (20245): opengl   D 20245:         extensions.c:200  print_extensions                 [   0.20444] GL_OES_texture_cube_map</span>
<span class="number"> 128</span><span class="s">I/allegro (20245): opengl   D 20245:         extensions.c:200  print_extensions                 [   0.20490] GL_OES_texture_env_crossbar</span>
<span class="number"> 129</span><span class="s">I/allegro (20245): opengl   D 20245:         extensions.c:200  print_extensions                 [   0.20551] GL_OES_texture_float</span>
<span class="number"> 130</span><span class="s">I/allegro (20245): opengl   D 20245:         extensions.c:200  print_extensions                 [   0.20596] GL_OES_texture_half_float</span>
<span class="number"> 131</span><span class="s">I/allegro (20245): opengl   D 20245:         extensions.c:200  print_extensions                 [   0.20639] GL_OES_texture_half_float_linear</span>
<span class="number"> 132</span><span class="s">I/allegro (20245): opengl   D 20245:         extensions.c:200  print_extensions                 [   0.20703] GL_OES_texture_npot</span>
<span class="number"> 133</span><span class="s">I/allegro (20245): opengl   D 20245:         extensions.c:200  print_extensions                 [   0.20746] GL_OES_texture_mirrored_repeat</span>
<span class="number"> 134</span><span class="s">I/allegro (20245): opengl   D 20245:         extensions.c:200  print_extensions                 [   0.20807] GL_QCOM_binning_control</span>
<span class="number"> 135</span><span class="s">I/allegro (20245): opengl   D 20245:         extensions.c:200  print_extensions                 [   0.20853] GL_QCOM_extended_get</span>
<span class="number"> 136</span><span class="s">I/allegro (20245): opengl   D 20245:         extensions.c:200  print_extensions                 [   0.20895] GL_QCOM_tiled_rendering</span>
<span class="number"> 137</span><span class="s">I/allegro (20245): opengl   D 20245:         extensions.c:200  print_extensions                 [   0.20941] GL_AMD_compressed_3DC_texture</span>
<span class="number"> 138</span><span class="s">I/allegro (20245): opengl   I 20245:         extensions.c:674  fill_in_info_struct              [   0.21002] Assumed OpenGL version: 1.1.0.0</span>
<span class="number"> 139</span><span class="s">I/allegro (20245): opengl   I 20245:         extensions.c:879  _al_ogl_manage_extensions        [   0.21945] Use of non-power-of-two textures enabled.</span>
<span class="number"> 140</span><span class="s">I/allegro (20245): opengl   I 20245:         extensions.c:889  _al_ogl_manage_extensions        [   0.21961] Use of FBO to draw to textures enabled.</span>
<span class="number"> 141</span><span class="s">I/allegro (20245): opengl   D 20245:        ogl_display.c:551  _al_ogl_create_backbuffer        [   0.21997] Creating backbuffer</span>
<span class="number"> 142</span><span class="s">I/allegro (20245): display  I 20245:        ogl_display.c:574  _al_ogl_create_backbuffer        [   0.22076] Deduced format ABGR_8888_LE for backbuffer.</span>
<span class="number"> 143</span><span class="s">I/allegro (20245): opengl   D 20245:        ogl_display.c:583  _al_ogl_create_backbuffer        [   0.22116] Creating backbuffer bitmap</span>
<span class="number"> 144</span><span class="s">I/allegro (20245): display  I 20245:        ogl_display.c:601  _al_ogl_create_backbuffer        [   0.22168] Created backbuffer bitmap (actual format: ABGR_8888_LE)</span>
<span class="number"> 145</span><span class="s">D/AllegroSurface(20245): egl_clearCurrent</span>
<span class="number"> 146</span><span class="s">D/AllegroSurface(20245): egl_clearCurrent done</span>
<span class="number"> 147</span><span class="s">I/allegro (20245): display  D 20258:    android_display.c:522  android_create_display           [   0.22382] done waiting for surface onChange</span>
<span class="number"> 148</span><span class="s">I/allegro (20245): display  D 20258:    android_display.c:534  android_create_display           [   0.22388] display: 0x1e82628 480x800</span>
<span class="number"> 149</span><span class="s">D/AllegroSurface(20245): egl_clearCurrent</span>
<span class="number"> 150</span><span class="s">D/AllegroSurface(20245): egl_clearCurrent done</span>
<span class="number"> 151</span><span class="s">I/allegro (20245): display  D 20258:    android_display.c:271  _al_android_setup_opengl_view    [   0.22412] setup opengl view d-&gt;w=480 d-&gt;h=800</span>
<span class="number"> 152</span><span class="s">I/allegro (20245): display  D 20258:    android_display.c:544  android_create_display           [   0.22586] end</span>
<span class="number"> 153</span><span class="s">D/AllegroSurface(20245): egl_clearCurrent</span>
<span class="number"> 154</span><span class="s">D/AllegroSurface(20245): egl_clearCurrent done</span>
<span class="number"> 155</span><span class="s">I/allegro (20245): display  D 20258:    android_display.c:595  android_set_current_display      [   0.22620] make current 0x1e82628</span>
<span class="number"> 156</span><span class="s">I/allegro (20245): main     D 20258:               main.c:36   print_standard_paths             [   0.22681] ALLEGRO_RESOURCES_PATH: /data/data/org.liballeg.app/files/</span>
<span class="number"> 157</span><span class="s">I/allegro (20245): main     D 20258:               main.c:37   print_standard_paths             [   0.22690] ALLEGRO_TEMP_PATH: /mnt/sdcard/Android/data/org.liballeg.app/files/</span>
<span class="number"> 158</span><span class="s">I/allegro (20245): main     D 20258:               main.c:38   print_standard_paths             [   0.22699] ALLEGRO_USER_DATA_PATH: /mnt/sdcard/Android/data/org.liballeg.app/files/</span>
<span class="number"> 159</span><span class="s">I/allegro (20245): main     D 20258:               main.c:39   print_standard_paths             [   0.22705] ALLEGRO_USER_HOME_PATH: /mnt/sdcard/Android/data/org.liballeg.app/files/</span>
<span class="number"> 160</span><span class="s">I/allegro (20245): main     D 20258:               main.c:40   print_standard_paths             [   0.22714] ALLEGRO_USER_SETTINGS_PATH: /mnt/sdcard/Android/data/org.liballeg.app/files/</span>
<span class="number"> 161</span><span class="s">I/allegro (20245): main     D 20258:               main.c:41   print_standard_paths             [   0.22720] ALLEGRO_USER_DOCUMENTS_PATH: /mnt/sdcard/Android/data/org.liballeg.app/files/</span>
<span class="number"> 162</span><span class="s">I/allegro (20245): main     D 20258:               main.c:42   print_standard_paths             [   0.22723] ALLEGRO_EXENAME_PATH: /data/app/org.liballeg.app-1.apk</span>
<span class="number"> 163</span><span class="s">D/AllegroActivity(20245): decodeBitmap begin</span>
<span class="number"> 164</span><span class="s">D/AllegroSurface(20245): surfaceChanged end</span>
<span class="number"> 165</span><span class="s">D/AllegroActivity(20245): done waiting for decodeStream</span>
<span class="number"> 166</span><span class="s">D/AllegroActivity(20245): decodeBitmap end</span>
<span class="number"> 167</span><span class="s">I/allegro (20245): android  D 20258:     android_system.c:672  _al_android_load_image           [   0.25366] bitmap dimensions: 128, 128</span>
<span class="number"> 168</span><span class="s">I/allegro (20245): opengl   D 20258:         ogl_bitmap.c:410  ogl_upload_bitmap                [   0.25699] Created new OpenGL texture 1 (128x128, format ABGR_8888_LE)</span>
<span class="number"> 169</span><span class="s">I/allegro (20245): dtor     D 20258:               dtor.c:184  _al_register_destructor          [   0.25815] added dtor for object 0x1fc21d8, func 0x51e687ed</span>
<span class="number"> 170</span><span class="s">I/allegro (20245): opengl   D 20258:         ogl_bitmap.c:660  ogl_lock_region_old              [   0.25864] Locking non-backbuffer WRITEONLY</span>
<span class="number"> 171</span><span class="s">I/allegro (20245): opengl   D 20258:         ogl_bitmap.c:970  ogl_unlock_region_old            [   0.26157] Unlocking non-backbuffer with conversion</span>
<span class="number"> 172</span><span class="s">I/allegro (20245): opengl   D 20258:         ogl_bitmap.c:674  ogl_lock_region_old              [   0.26807] Locking non-backbuffer READWRITE</span>
<span class="number"> 173</span><span class="s">I/allegro (20245): opengl   D 20258:        ogl_display.c:276  setup_fbo                        [   0.26834] Created FBO: 1</span>
<span class="number"> 174</span><span class="s">I/allegro (20245): opengl   D 20258:         ogl_bitmap.c:999  ogl_unlock_region_old            [   0.30310] Unlocking non-backbuffer without conversion</span>
<span class="number"> 175</span><span class="s">I/allegro (20245): dtor     D 20258:               dtor.c:184  _al_register_destructor          [   0.30362] added dtor for object 0x1f7c5d0, func 0x51e886a5</span>
<span class="number"> 176</span><span class="s">I/allegro (20245): dtor     D 20258:               dtor.c:184  _al_register_destructor          [   0.30411] added dtor for object 0x1fc37f8, func 0x51e992d1</span>
<span class="number"> 177</span><span class="s">I/allegro (20245): dtor     D 20258:               dtor.c:184  _al_register_destructor          [   0.32581] added dtor for object 0x1fadd48, func 0x4f0252f9</span>
<span class="number"> 178</span><span class="s">I/allegro (20245): dtor     D 20258:               dtor.c:184  _al_register_destructor          [   0.33173] added dtor for object 0x1ff20f8, func 0x4f021525</span>
<span class="number"> 179</span><span class="s">I/allegro (20245): dtor     D 20258:               dtor.c:184  _al_register_destructor          [   0.33359] added dtor for object 0x1ff21f8, func 0x4f01b509</span>
<span class="number"> 180</span><span class="s">I/allegro (20245): audio    D 20258:          kcm_mixer.c:121  _al_rechannel_matrix             [   0.33417] sample matrix:</span>
<span class="number"> 181</span><span class="s">I/allegro (20245): audio    D 20258:          kcm_mixer.c:127  _al_rechannel_matrix             [   0.33423] </span>
<span class="number"> 182</span><span class="s">I/allegro (20245): audio    D 20258:          kcm_mixer.c:127  _al_rechannel_matrix             [   0.33429] </span>
<span class="number"> 183</span><span class="s">I/allegro (20245): main     D 20258:               main.c:165  main                             [   0.33432] Audio clip sample not loaded!</span>
<span class="number"> 184</span><span class="s">I/ActivityManager(  204): Displayed org.liballeg.app/.AllegroActivity: +763ms</span>
<span class="number"> 185</span><span class="s">I/DEBUG   (20182):     52030d68  51f11b99  /data/data/org.liballeg.app/lib/liballegro-debug.so</span>
<span class="number"> 186</span><span class="s">I/DEBUG   (20182):     52030d7c  4f0289f4  /data/data/org.liballeg.app/lib/liballegro_audio-debug.so</span>
<span class="number"> 187</span><span class="s">I/DEBUG   (20182):     52030d98  4f0289f4  /data/data/org.liballeg.app/lib/liballegro_audio-debug.so</span>
<span class="number"> 188</span><span class="s">I/DEBUG   (20182):     52030da4  4f028c88  /data/data/org.liballeg.app/lib/liballegro_audio-debug.so</span>
<span class="number"> 189</span><span class="s">I/DEBUG   (20182):     52030da8  4f028c88  /data/data/org.liballeg.app/lib/liballegro_audio-debug.so</span>
<span class="number"> 190</span><span class="s">I/DEBUG   (20182):     52030dac  4f046f2c  /data/data/org.liballeg.app/lib/liballegro-example.so</span>
<span class="number"> 191</span><span class="s">I/DEBUG   (20182):     52030db0  51f11b99  /data/data/org.liballeg.app/lib/liballegro-debug.so</span>
<span class="number"> 192</span><span class="s">I/DEBUG   (20182):     52030db4  4f022de7  /data/data/org.liballeg.app/lib/liballegro_audio-debug.so</span>
<span class="number"> 193</span><span class="s">I/DEBUG   (20182):     52030dbc  51e67fdd  /data/data/org.liballeg.app/lib/liballegro-debug.so</span>
<span class="number"> 194</span><span class="s">I/DEBUG   (20182):     52030dd4  4f046f2c  /data/data/org.liballeg.app/lib/liballegro-example.so</span>
<span class="number"> 195</span><span class="s">I/DEBUG   (20182):     52030ddc  4f03f801  /data/data/org.liballeg.app/lib/liballegro-example.so</span>
<span class="number"> 196</span><span class="s">I/DEBUG   (20182):     52030de0  4f0400d8  /data/data/org.liballeg.app/lib/liballegro-example.so</span>
<span class="number"> 197</span><span class="s">I/DEBUG   (20182):     52030de4  4f046f2c  /data/data/org.liballeg.app/lib/liballegro-example.so</span>
<span class="number"> 198</span><span class="s">I/WindowManager(  204): WIN DEATH: Window{41764550 org.liballeg.app/org.liballeg.app.AllegroActivity paused=false}</span>
<span class="number"> 199</span><span class="s">W/WindowManager(  204): Force-removing child win Window{417d0b28 SurfaceView paused=false} from container Window{41764550 org.liballeg.app/org.liballeg.app.AllegroActivity paused=false}</span>
<span class="number"> 200</span><span class="s">W/ActivityManager(  204): Force removing ActivityRecord{4127e1a0 org.liballeg.app/.AllegroActivity}: app died, no saved state</span>
</div></div><p>

<b>The sample loads as NULL (and thus fails) everytime. Everything else should work.</b></p><p>Please note this I am NOT making this on my clean VirtualMachine Developement Box install, as I am waiting to hear of the correct way to install allegro before using that. This is a separate attempt, and thus a separate post. I figure maybe the way I&#39;ve been writing the main.c is the issue, hence the title &quot;what line are missing&quot;.</p><p>I am using the dev machine I&#39;ve used continuously, one which seems to support sound via OpenAL, and can compile SDL and Allegro apps without sound. Note the Device can run &#39;MonsterRPG2&#39;, &#39;Bobby&#39; and &#39;Elemental-aMusical&#39; all with sound.</p><p>Device :=
</p><ul><li><p>Android 4.0.3 (Kernel = 3.0....) with HTC Sense 4.0</p></li><li><p>HTC One V, Hardware Version 0002</p></li><li><p>Single Core, 512MB ram</p></li><li><p>HTC SDK API 4.21</p></li><li><p>3.7 inch WVGA resolution display</p></li></ul><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (alehbeer)</author>
		<pubDate>Tue, 05 Feb 2013 02:21:39 +0000</pubDate>
	</item>
</rss>
