<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Game Crashing and I&#39;m not sure why?</title>
		<link>http://www.allegro.cc/forums/view/618159</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Mon, 22 Jun 2020 17:49:10 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hi. I am very new to Allegro and trying to make an RPG game.</p><p>In game_run(), I intend to show a couple of dialogues before continuing the game in the if(dialogue) bit. Though for some reason after the dialogue ends, the game will crash and the console says:</p><p><b>Process returned -1073741819 (0xC0000005)</b></p><p>I&#39;m not sure what I did wrong, can somebody point out my mistakes?</p><p>Please take a look at my really messy code and bear with me:<br />[EDIT] some clean up, which I&#39;m not even sure will matter <img src="http://www.allegro.cc/forums/smileys/cry.gif" alt=":&#39;(" /></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;stdio.h&gt;</span>
<span class="number">   2</span><span class="p">#include &lt;allegro5/allegro_native_dialog.h&gt;</span>
<span class="number">   3</span><span class="p">#include &lt;allegro5/allegro.h&gt;</span>
<span class="number">   4</span><span class="p">#include &lt;allegro5/allegro_font.h&gt;</span>
<span class="number">   5</span><span class="p">#include &lt;allegro5/allegro_ttf.h&gt;</span>
<span class="number">   6</span><span class="p">#include &lt;allegro5/allegro_audio.h&gt;</span>
<span class="number">   7</span><span class="p">#include &lt;allegro5/allegro_acodec.h&gt;</span>
<span class="number">   8</span><span class="p">#include &lt;allegro5/allegro_primitives.h&gt;</span>
<span class="number">   9</span><span class="p">#include &lt;allegro5/allegro_image.h&gt;</span>
<span class="number">  10</span><span class="p">#include &lt;string&gt;</span>
<span class="number">  11</span><span class="p">#define GAME_TERMINATE -1</span>
<span class="number">  12</span>
<span class="number">  13</span>
<span class="number">  14</span><a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a><span class="k3">*</span> timer <span class="k3">=</span>  NULL<span class="k2">;</span>
<span class="number">  15</span><a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a><span class="k3">*</span> timer2 <span class="k3">=</span>  NULL<span class="k2">;</span>
<span class="number">  16</span><a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a><span class="k3">*</span> display <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  17</span><a href="http://www.allegro.cc/manual/ALLEGRO_FONT"><span class="a">ALLEGRO_FONT</span></a><span class="k3">*</span> <a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a> <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  18</span><a href="http://www.allegro.cc/manual/ALLEGRO_SAMPLE"><span class="a">ALLEGRO_SAMPLE</span></a><span class="k3">*</span> song <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  19</span><a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a><span class="k3">*</span> player <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  20</span><a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a><span class="k3">*</span> bg <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  21</span><a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a><span class="k3">*</span> title <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  22</span><a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a><span class="k3">*</span> papa <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  23</span><a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a><span class="k3">*</span> shadow <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  24</span><a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a><span class="k3">*</span> titlejohnny <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  25</span><a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a><span class="k3">*</span> textbox <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  26</span>
<span class="number">  27</span><span class="c">//new bitmaps for window 2 here</span>
<span class="number">  28</span><a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a><span class="k3">*</span> papa_1 <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  29</span><a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a><span class="k3">*</span> door <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  30</span><a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a><span class="k3">*</span> frame <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  31</span><a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a><span class="k3">*</span> family <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  32</span>
<span class="number">  33</span><a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a> <span class="k3">*</span>event_queue <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  34</span>
<span class="number">  35</span><span class="k1">enum</span> KEYS <span class="k2">{</span> DOWN, LEFT, RIGHT, UP<span class="k2">}</span><span class="k2">;</span>
<span class="number">  36</span><span class="k1">enum</span> STATE <span class="k2">{</span>IDLE, DIALOGUE, FRAME, DOOR1<span class="k2">}</span><span class="k2">;</span>
<span class="number">  37</span>
<span class="number">  38</span><span class="k1">const</span> <span class="k1">char</span> <span class="k3">*</span>gametitle <span class="k3">=</span> <span class="s">"johnny johnny"</span><span class="k2">;</span>
<span class="number">  39</span><span class="k1">const</span> <span class="k1">int</span> width <span class="k3">=</span> <span class="n">1280</span><span class="k2">;</span>
<span class="number">  40</span><span class="k1">const</span> <span class="k1">int</span> height <span class="k3">=</span> <span class="n">720</span><span class="k2">;</span>
<span class="number">  41</span><span class="k1">int</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_865.html" target="_blank">window</a> <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number">  42</span><span class="k1">int</span> state<span class="k2">;</span>
<span class="number">  43</span><span class="k1">bool</span> next_window <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  44</span><span class="k1">bool</span> draw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  45</span><span class="k1">bool</span> active <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  46</span>
<span class="number">  47</span><span class="k1">int</span> pos_x <span class="k3">=</span> width <span class="k3">/</span> <span class="n">2</span> <span class="k3">-</span> <span class="n">50</span><span class="k2">;</span> <span class="c">//starting pos_x</span>
<span class="number">  48</span><span class="k1">int</span> pos_y <span class="k3">=</span> height <span class="k3">/</span> <span class="n">2</span> <span class="k3">+</span> <span class="n">200</span><span class="k2">;</span> <span class="c">//starting pos_y</span>
<span class="number">  49</span><span class="k1">int</span> dir <span class="k3">=</span> DOWN, sourcex <span class="k3">=</span> <span class="n">0</span>, sourcey <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  50</span><span class="k1">float</span> movespeed <span class="k3">=</span> <span class="n">5</span><span class="k2">;</span>
<span class="number">  51</span>
<span class="number">  52</span><span class="k1">void</span> show_err_msg<span class="k2">(</span><span class="k1">int</span> msg<span class="k2">)</span><span class="k2">;</span>
<span class="number">  53</span><span class="k1">void</span> game_init<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  54</span><span class="k1">void</span> game_begin<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  55</span><span class="k1">void</span> game_destroy<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  56</span><span class="k1">int</span> game_run<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  57</span><span class="k1">int</span> process_event<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  58</span>
<span class="number">  59</span><span class="c">//dialogue stuff</span>
<span class="number">  60</span>
<span class="number">  61</span><span class="k1">int</span> dialogueindex <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  62</span><span class="k1">char</span><span class="k3">*</span> dialogue1<span class="k2">[</span><span class="n">12</span><span class="k2">]</span> <span class="k3">=</span> <span class="k2">{</span><span class="s">"papa: johnny, johnny..."</span>,<span class="s">"johnny: yes papa?"</span>,<span class="s">"papa: eating sugar?"</span>,<span class="s">"johnny: no, papa..."</span>,<span class="s">"papa: telling lies?"</span>,<span class="s">"johnny: no, papa..."</span>,<span class="s">"papa: well, then. prove it."</span>,<span class="s">"johnny: 'i really did not eat sugar."</span>, <span class="s">"what should i say to convince him?'"</span>,<span class="s">"johnny: 'oh, i know... i will give"</span>,<span class="s">"papa's favorite letters.'"</span>,<span class="s">"hint: find papa's favorite letters."</span><span class="k2">}</span><span class="k2">;</span>
<span class="number">  63</span>
<span class="number">  64</span><span class="k1">char</span><span class="k3">*</span> door1text<span class="k3">=</span> <span class="s">"what's papa's favorite word?"</span><span class="k2">;</span>
<span class="number">  65</span>
<span class="number">  66</span><span class="k1">typedef</span> <span class="k1">struct</span> character
<span class="number">  67</span><span class="k2">{</span>
<span class="number">  68</span>    <span class="k1">int</span> x <span class="k3">=</span> <span class="n">10</span><span class="k2">;</span>
<span class="number">  69</span>    <span class="k1">int</span> y <span class="k3">=</span> <span class="n">10</span><span class="k2">;</span>
<span class="number">  70</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>image_path<span class="k2">;</span>
<span class="number">  71</span>
<span class="number">  72</span><span class="k2">}</span> Character<span class="k2">;</span>
<span class="number">  73</span>
<span class="number">  74</span>Character character1<span class="k2">;</span>
<span class="number">  75</span>
<span class="number">  76</span><span class="k1">bool</span> Collision<span class="k2">(</span><span class="k1">float</span> x, <span class="k1">float</span> y, <span class="k1">float</span> ex, <span class="k1">float</span> ey, <span class="k1">int</span> width, <span class="k1">int</span> height<span class="k2">)</span>
<span class="number">  77</span><span class="k2">{</span>
<span class="number">  78</span>    <span class="k1">if</span><span class="k2">(</span>x <span class="k3">+</span> width <span class="k3">&lt;</span> ex <span class="k3">|</span><span class="k3">|</span> x <span class="k3">&gt;</span> ex <span class="k3">+</span> width <span class="k3">|</span><span class="k3">|</span> y <span class="k3">+</span> height <span class="k3">&lt;</span> ey <span class="k3">|</span><span class="k3">|</span> y <span class="k3">&gt;</span> ey <span class="k3">+</span> height<span class="k2">)</span>
<span class="number">  79</span>    <span class="k2">{</span>
<span class="number">  80</span>        <span class="k1">return</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  81</span>    <span class="k2">}</span>
<span class="number">  82</span>    <span class="k1">return</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  83</span><span class="k2">}</span>
<span class="number">  84</span>
<span class="number">  85</span><span class="k1">void</span> stopmoving<span class="k2">(</span><span class="k2">)</span>
<span class="number">  86</span><span class="k2">{</span>
<span class="number">  87</span>    <span class="k1">if</span><span class="k2">(</span>dir <span class="k3">=</span><span class="k3">=</span> DOWN<span class="k2">)</span>
<span class="number">  88</span>    character1.y-<span class="k3">=</span> movespeed<span class="k2">;</span>
<span class="number">  89</span>    <span class="k1">if</span> <span class="k2">(</span>dir <span class="k3">=</span><span class="k3">=</span> LEFT<span class="k2">)</span>
<span class="number">  90</span>        character1.x<span class="k3">+</span><span class="k3">=</span>movespeed<span class="k2">;</span>
<span class="number">  91</span>    <span class="k1">if</span><span class="k2">(</span>dir <span class="k3">=</span><span class="k3">=</span> RIGHT<span class="k2">)</span>
<span class="number">  92</span>        character1.x-<span class="k3">=</span>movespeed<span class="k2">;</span>
<span class="number">  93</span>    <span class="k1">if</span><span class="k2">(</span>dir <span class="k3">=</span><span class="k3">=</span> UP<span class="k2">)</span>
<span class="number">  94</span>        character1.y<span class="k3">+</span><span class="k3">=</span>movespeed<span class="k2">;</span>
<span class="number">  95</span><span class="k2">}</span>
<span class="number">  96</span>
<span class="number">  97</span>
<span class="number">  98</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>argv<span class="k2">[</span><span class="k2">]</span><span class="k2">)</span>
<span class="number">  99</span><span class="k2">{</span>
<span class="number"> 100</span>    <span class="k1">int</span> msg <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 101</span>
<span class="number"> 102</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"Loading...\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 103</span>    game_init<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 104</span>    game_begin<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 105</span>
<span class="number"> 106</span>    <span class="k1">while</span> <span class="k2">(</span>msg <span class="k3">!</span><span class="k3">=</span> GAME_TERMINATE<span class="k2">)</span>
<span class="number"> 107</span>    <span class="k2">{</span>
<span class="number"> 108</span>        msg <span class="k3">=</span> game_run<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 109</span>        <span class="k1">if</span> <span class="k2">(</span>msg <span class="k3">=</span><span class="k3">=</span> GAME_TERMINATE<span class="k2">)</span>
<span class="number"> 110</span>            <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"Bye\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 111</span>    <span class="k2">}</span>
<span class="number"> 112</span>    game_destroy<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 113</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 114</span><span class="k2">}</span>
<span class="number"> 115</span>
<span class="number"> 116</span>
<span class="number"> 117</span><span class="k1">void</span> show_err_msg<span class="k2">(</span><span class="k1">int</span> msg<span class="k2">)</span>
<span class="number"> 118</span><span class="k2">{</span>
<span class="number"> 119</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">"unexpected msg: %d"</span>, msg<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 120</span>    game_destroy<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 121</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">(</span><span class="n">9</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 122</span><span class="k2">}</span>
<span class="number"> 123</span>
<span class="number"> 124</span><span class="k1">void</span> game_init<span class="k2">(</span><span class="k2">)</span>
<span class="number"> 125</span><span class="k2">{</span>
<span class="number"> 126</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="number"> 127</span>        show_err_msg<span class="k2">(</span><span class="k3">-</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 128</span>
<span class="number"> 129</span>    <span class="c">//Initialize Timer</span>
<span class="number"> 130</span>    <span class="k1">float</span> FPS <span class="k3">=</span> <span class="n">60</span>.<span class="n">0</span><span class="k2">;</span>
<span class="number"> 131</span>    timer  <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_timer"><span class="a">al_create_timer</span></a><span class="k2">(</span><span class="n">1</span>.<span class="n">0</span><span class="k3">/</span>FPS<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 132</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"> 133</span>
<span class="number"> 134</span>    event_queue <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_event_queue"><span class="a">al_create_event_queue</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 135</span>    display <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_display"><span class="a">al_create_display</span></a><span class="k2">(</span>width,height<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 136</span>
<span class="number"> 137</span>    <a href="http://www.allegro.cc/manual/al_set_window_position"><span class="a">al_set_window_position</span></a><span class="k2">(</span>display, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 138</span>    <a href="http://www.allegro.cc/manual/al_set_window_title"><span class="a">al_set_window_title</span></a><span class="k2">(</span>display, gametitle<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 139</span>    <a href="http://www.allegro.cc/manual/al_init_font_addon"><span class="a">al_init_font_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 140</span>    <a href="http://www.allegro.cc/manual/al_init_ttf_addon"><span class="a">al_init_ttf_addon</span></a><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_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"> 142</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"> 143</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"> 144</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"> 145</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"> 146</span>
<span class="number"> 147</span>    <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>event_queue,<a href="http://www.allegro.cc/manual/al_get_display_event_source"><span class="a">al_get_display_event_source</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 148</span>    <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>event_queue,<a href="http://www.allegro.cc/manual/al_get_keyboard_event_source"><span class="a">al_get_keyboard_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 149</span>    <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>event_queue,<a href="http://www.allegro.cc/manual/al_get_timer_event_source"><span class="a">al_get_timer_event_source</span></a><span class="k2">(</span>timer<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 150</span>
<span class="number"> 151</span>
<span class="number"> 152</span><span class="k2">}</span>
<span class="number"> 153</span>
<span class="number"> 154</span>
<span class="number"> 155</span><span class="k1">void</span> game_begin<span class="k2">(</span><span class="k2">)</span>
<span class="number"> 156</span><span class="k2">{</span>
<span class="number"> 157</span>    song <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">"liar.ogg"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 158</span>    <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>song<span class="k2">)</span><span class="k2">{</span>
<span class="number"> 159</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"> 160</span>        show_err_msg<span class="k2">(</span><span class="k3">-</span><span class="n">6</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 161</span>    <span class="k2">}</span>
<span class="number"> 162</span>    <span class="c">// Loop the song until the display closes</span>
<span class="number"> 163</span>    <a href="http://www.allegro.cc/manual/al_play_sample"><span class="a">al_play_sample</span></a><span class="k2">(</span>song, <span class="n">1</span>,<span class="n">0</span>,<span class="n">1</span>,ALLEGRO_PLAYMODE_LOOP, NULL<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 164</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_COLOR"><span class="a">ALLEGRO_COLOR</span></a> <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="k1">unsigned</span> <span class="k1">char</span> r, <span class="k1">unsigned</span> <span class="k1">char</span> g, <span class="k1">unsigned</span> <span class="k1">char</span> b<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 165</span>    <a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a> <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_ttf_font"><span class="a">al_load_ttf_font</span></a><span class="k2">(</span><span class="s">"Wildy-Sans.ttf"</span>, <span class="n">40</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 166</span>    player <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">"spritejohnny.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 167</span>    <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>player,<span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span> <span class="c">//for character</span>
<span class="number"> 168</span>    bg <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">"title_bg.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 169</span>    title <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">"title.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 170</span>    shadow <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">"shadow.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 171</span>    papa <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">"papa.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 172</span>    titlejohnny <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">"title_johnny.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 173</span>
<span class="number"> 174</span>    <span class="c">//for window 2</span>
<span class="number"> 175</span>    papa_1 <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">"papa_1.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 176</span>    textbox <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">"textbox.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 177</span>    family <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">"family.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 178</span>    frame <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">"frame.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 179</span>    door <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">"door.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 180</span>    bg <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">"title_bg.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 181</span>
<span class="number"> 182</span>
<span class="number"> 183</span>    <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>bg, <span class="n">0</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 184</span>    <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>shadow, <span class="n">55</span>, <span class="n">10</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 185</span>    <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>papa, <span class="n">150</span>, <span class="n">0</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 186</span>    <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>title, <span class="n">500</span>, <span class="n">250</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 187</span>    <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>titlejohnny, <span class="n">220</span>, <span class="n">350</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 188</span>    <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a>,<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="n">800</span>,<span class="n">500</span>,<span class="n">0</span>,<span class="s">"press enter to start"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 189</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"> 190</span>
<span class="number"> 191</span><span class="k2">}</span>
<span class="number"> 192</span>
<span class="number"> 193</span><span class="k1">int</span> process_event<span class="k2">(</span><span class="k2">)</span>
<span class="number"> 194</span><span class="k2">{</span>
<span class="number"> 195</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"> 196</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_KEYBOARD_STATE"><span class="a">ALLEGRO_KEYBOARD_STATE</span></a> keystate<span class="k2">;</span>
<span class="number"> 197</span>    <a href="http://www.allegro.cc/manual/al_wait_for_event"><span class="a">al_wait_for_event</span></a><span class="k2">(</span>event_queue, <span class="k3">&amp;</span>event<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 198</span>    <a href="http://www.allegro.cc/manual/al_get_keyboard_state"><span class="a">al_get_keyboard_state</span></a><span class="k2">(</span><span class="k3">&amp;</span>keystate<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 199</span>    <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="number"> 200</span>    <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="number"> 201</span>
<span class="number"> 202</span>    <span class="k1">bool</span> hitframe <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 203</span>
<span class="number"> 204</span>    <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_key_down"><span class="a">al_key_down</span></a><span class="k2">(</span><span class="k3">&amp;</span>keystate, ALLEGRO_KEY_ENTER<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 205</span>        next_window <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 206</span>
<span class="number"> 207</span>    <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_key_down"><span class="a">al_key_down</span></a><span class="k2">(</span><span class="k3">&amp;</span>keystate, ALLEGRO_KEY_ESCAPE<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 208</span>        <span class="k1">return</span> GAME_TERMINATE<span class="k2">;</span>
<span class="number"> 209</span>
<span class="number"> 210</span>    active <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 211</span>    <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_key_down"><span class="a">al_key_down</span></a><span class="k2">(</span><span class="k3">&amp;</span>keystate, ALLEGRO_KEY_DOWN<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 212</span>    <span class="k2">{</span>
<span class="number"> 213</span>        character1.y <span class="k3">+</span><span class="k3">=</span> movespeed<span class="k2">;</span>
<span class="number"> 214</span>        dir <span class="k3">=</span> DOWN<span class="k2">;</span>
<span class="number"> 215</span>    <span class="k2">}</span>
<span class="number"> 216</span>    <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_key_down"><span class="a">al_key_down</span></a><span class="k2">(</span><span class="k3">&amp;</span>keystate, ALLEGRO_KEY_UP<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 217</span>    <span class="k2">{</span>
<span class="number"> 218</span>        character1.y <span class="k3">-</span><span class="k3">=</span> movespeed<span class="k2">;</span>
<span class="number"> 219</span>        dir <span class="k3">=</span> UP<span class="k2">;</span>
<span class="number"> 220</span>    <span class="k2">}</span>
<span class="number"> 221</span>    <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_key_down"><span class="a">al_key_down</span></a><span class="k2">(</span><span class="k3">&amp;</span>keystate, ALLEGRO_KEY_RIGHT<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 222</span>    <span class="k2">{</span>
<span class="number"> 223</span>        character1.x <span class="k3">+</span><span class="k3">=</span> movespeed<span class="k2">;</span>
<span class="number"> 224</span>        dir <span class="k3">=</span> RIGHT<span class="k2">;</span>
<span class="number"> 225</span>    <span class="k2">}</span>
<span class="number"> 226</span>    <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_key_down"><span class="a">al_key_down</span></a><span class="k2">(</span><span class="k3">&amp;</span>keystate, ALLEGRO_KEY_LEFT<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 227</span>    <span class="k2">{</span>
<span class="number"> 228</span>        character1.x <span class="k3">-</span><span class="k3">=</span> movespeed<span class="k2">;</span>
<span class="number"> 229</span>        dir <span class="k3">=</span> LEFT<span class="k2">;</span>
<span class="number"> 230</span>    <span class="k2">}</span>
<span class="number"> 231</span>    <span class="k1">else</span>
<span class="number"> 232</span>    active <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 233</span>
<span class="number"> 234</span>    <span class="k1">if</span><span class="k2">(</span>active<span class="k2">)</span>
<span class="number"> 235</span>    sourcex <span class="k3">+</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>player<span class="k2">)</span> <span class="k3">/</span> <span class="n">3</span><span class="k2">;</span>
<span class="number"> 236</span>    <span class="k1">else</span>
<span class="number"> 237</span>    sourcex <span class="k3">=</span> <span class="n">100</span><span class="k2">;</span>
<span class="number"> 238</span>
<span class="number"> 239</span>    <span class="k1">if</span><span class="k2">(</span>sourcex <span class="k3">&gt;</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>player<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 240</span>    sourcex <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 241</span>    sourcey <span class="k3">=</span> dir<span class="k2">;</span>
<span class="number"> 242</span>    draw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 243</span>
<span class="number"> 244</span>    <span class="k1">if</span><span class="k2">(</span>Collision<span class="k2">(</span>character1.x, character1.y,<span class="n">260</span>,<span class="n">160</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>frame<span class="k2">)</span><span class="k3">/</span><span class="n">2</span><span class="k3">+</span><span class="n">10</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>frame<span class="k2">)</span><span class="k3">/</span><span class="n">2</span><span class="k2">)</span><span class="k2">)</span>
<span class="number"> 245</span>    <span class="k2">{</span>
<span class="number"> 246</span>        state <span class="k3">=</span> FRAME<span class="k2">;</span>
<span class="number"> 247</span>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"frame"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 248</span>        stopmoving<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 249</span>    <span class="k2">}</span>
<span class="number"> 250</span>
<span class="number"> 251</span>    <span class="k1">if</span><span class="k2">(</span>Collision<span class="k2">(</span>character1.x, character1.y,<span class="n">950</span>,<span class="n">280</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>papa_1<span class="k2">)</span><span class="k3">/</span><span class="n">2</span><span class="k3">+</span><span class="n">10</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>papa_1<span class="k2">)</span><span class="k3">/</span><span class="n">2</span><span class="k2">)</span><span class="k2">)</span>
<span class="number"> 252</span>    <span class="k2">{</span>
<span class="number"> 253</span>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"dad"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 254</span>        stopmoving<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 255</span>    <span class="k2">}</span>
<span class="number"> 256</span>
<span class="number"> 257</span>    <span class="k1">if</span><span class="k2">(</span>Collision<span class="k2">(</span>character1.x, character1.y,<span class="n">585</span>,<span class="n">0</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>door<span class="k2">)</span><span class="k3">/</span><span class="n">2</span><span class="k3">-</span><span class="n">10</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>door<span class="k2">)</span><span class="k3">/</span><span class="n">2</span><span class="k2">)</span><span class="k2">)</span>
<span class="number"> 258</span>    <span class="k2">{</span>
<span class="number"> 259</span>        state <span class="k3">=</span> DOOR1<span class="k2">;</span>
<span class="number"> 260</span>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"door1"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 261</span>        stopmoving<span class="k2">(</span><span class="k2">)</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>event.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_KEY_DOWN<span class="k2">)</span>
<span class="number"> 265</span>    <span class="k2">{</span>
<span class="number"> 266</span>        <span class="k1">if</span><span class="k2">(</span>event.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_Z<span class="k2">)</span>
<span class="number"> 267</span>        <span class="k2">{</span>
<span class="number"> 268</span>            <span class="k1">switch</span><span class="k2">(</span>state<span class="k2">)</span>
<span class="number"> 269</span>                <span class="k2">{</span>
<span class="number"> 270</span>                <span class="k1">case</span> DIALOGUE:
<span class="number"> 271</span>                    dialogueindex<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 272</span>                    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 273</span>                <span class="c">/*case FRAME:</span>
<span class="number"> 274</span><span class="c">                    al_draw_bitmap(family,300,200,0);</span>
<span class="number"> 275</span><span class="c">                    break;</span>
<span class="number"> 276</span><span class="c">                case DOOR1:</span>
<span class="number"> 277</span><span class="c">                    al_draw_bitmap(textbox,300,200,0);</span>
<span class="number"> 278</span><span class="c">                    al_draw_text(font,al_map_rgb(255,255,255),600,250,ALLEGRO_ALIGN_CENTER,door1text);</span>
<span class="number"> 279</span><span class="c">                    break;*/</span>
<span class="number"> 280</span>                <span class="k2">}</span>
<span class="number"> 281</span>
<span class="number"> 282</span>            <span class="k2">}</span>
<span class="number"> 283</span>    <span class="k2">}</span>
<span class="number"> 284</span>
<span class="number"> 285</span>    <span class="c">/*if(event.type == ALLEGRO_EVENT_KEY_CHAR &amp;&amp; door1)</span>
<span class="number"> 286</span><span class="c">    {</span>
<span class="number"> 287</span><span class="c">        const int inputChar = event.keyboard.unichar;</span>
<span class="number"> 288</span><span class="c">        if</span>
<span class="number"> 289</span><span class="c">        (</span>
<span class="number"> 290</span><span class="c">        (inputChar &gt;= 48 &amp;&amp; inputChar &lt;= 57) //is a number</span>
<span class="number"> 291</span><span class="c">        || ( inputChar &gt;= 65 &amp;&amp; inputChar &lt;= 90) //is a capital letter</span>
<span class="number"> 292</span><span class="c">        || ( inputChar &gt;= 97 &amp;&amp; inputChar &lt;= 122) //is a lower-case letter</span>
<span class="number"> 293</span><span class="c">        || ( inputChar == 95) //is an underscore</span>
<span class="number"> 294</span><span class="c">        ){</span>
<span class="number"> 295</span><span class="c">        keyboard_string += inputChar;</span>
<span class="number"> 296</span><span class="c">        }</span>
<span class="number"> 297</span><span class="c">    }*/</span>
<span class="number"> 298</span>
<span class="number"> 299</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 300</span><span class="k2">}</span>
<span class="number"> 301</span>
<span class="number"> 302</span>
<span class="number"> 303</span><span class="k1">int</span> game_run<span class="k2">(</span><span class="k2">)</span>
<span class="number"> 304</span><span class="k2">{</span>
<span class="number"> 305</span>    <span class="k1">int</span> error <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 306</span>    <a href="http://www.allegro.cc/manual/al_play_sample"><span class="a">al_play_sample</span></a><span class="k2">(</span>song,<span class="n">5</span>,<span class="n">0</span>,<span class="n">1</span>,ALLEGRO_PLAYMODE_LOOP,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 307</span>    <span class="k1">if</span><span class="k2">(</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_865.html" target="_blank">window</a> <span class="k3">=</span><span class="k3">=</span> <span class="n">1</span><span class="k2">)</span>
<span class="number"> 308</span>    <span class="k2">{</span>
<span class="number"> 309</span>        <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_is_event_queue_empty"><span class="a">al_is_event_queue_empty</span></a><span class="k2">(</span>event_queue<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 310</span>        <span class="k2">{</span>
<span class="number"> 311</span>            error <span class="k3">=</span> process_event<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 312</span>            <span class="k1">if</span><span class="k2">(</span>next_window<span class="k2">)</span>
<span class="number"> 313</span>            <span class="k2">{</span>
<span class="number"> 314</span>                <a href="http://www.delorie.com/djgpp/doc/libc/libc_865.html" target="_blank">window</a><span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 315</span>                character1.x <span class="k3">=</span> pos_x<span class="k2">;</span>
<span class="number"> 316</span>                character1.y <span class="k3">=</span> pos_y<span class="k2">;</span>
<span class="number"> 317</span>                character1.image_path <span class="k3">=</span> player<span class="k2">;</span>
<span class="number"> 318</span>                <span class="c">//bg = al_load_bitmap("title_bg.png"); --&gt; moved to game-begin</span>
<span class="number"> 319</span>            <span class="k2">}</span>
<span class="number"> 320</span>        <span class="k2">}</span>
<span class="number"> 321</span>    <span class="k2">}</span>
<span class="number"> 322</span>    <span class="c">// Second window(Main Game)</span>
<span class="number"> 323</span>    <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_865.html" target="_blank">window</a> <span class="k3">=</span><span class="k3">=</span> <span class="n">2</span><span class="k2">)</span>
<span class="number"> 324</span>    <span class="k2">{</span>
<span class="number"> 325</span>        <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>bg, <span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 326</span>        <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>papa_1,<span class="n">950</span>,<span class="n">250</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 327</span>        <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>frame,<span class="n">290</span>,<span class="n">220</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 328</span>        <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>door,<span class="n">550</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 329</span>
<span class="number"> 330</span>        <span class="c">// Change Image for animation</span>
<span class="number"> 331</span>        <span class="k1">if</span><span class="k2">(</span>draw<span class="k2">)</span>
<span class="number"> 332</span>        <span class="k2">{</span>
<span class="number"> 333</span>            <a href="http://www.allegro.cc/manual/al_draw_bitmap_region"><span class="a">al_draw_bitmap_region</span></a><span class="k2">(</span>character1.image_path, sourcex, sourcey <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>character1.image_path<span class="k2">)</span> <span class="k3">/</span> <span class="n">4</span>, <span class="n">100</span>, <span class="n">100</span>, character1.x, character1.y, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 334</span>        <span class="k2">}</span>
<span class="number"> 335</span>
<span class="number"> 336</span>        state <span class="k3">=</span> DIALOGUE<span class="k2">;</span>
<span class="number"> 337</span>
<span class="number"> 338</span>        <span class="k1">switch</span><span class="k2">(</span>state<span class="k2">)</span>
<span class="number"> 339</span>            <span class="k2">{</span>
<span class="number"> 340</span>            <span class="k1">case</span> IDLE:
<span class="number"> 341</span>                <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>bg, <span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 342</span>                <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>papa_1,<span class="n">950</span>,<span class="n">250</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 343</span>                <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>frame,<span class="n">290</span>,<span class="n">220</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 344</span>                <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>door,<span class="n">550</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 345</span>                <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 346</span>            <span class="k1">case</span> DIALOGUE:
<span class="number"> 347</span>                <span class="k1">if</span><span class="k2">(</span>dialogueindex<span class="k3">&lt;</span><span class="k1">sizeof</span><span class="k2">(</span>dialogue1<span class="k2">)</span><span class="k3">-</span><span class="n">1</span><span class="k2">)</span>
<span class="number"> 348</span>                <span class="k2">{</span>
<span class="number"> 349</span>                <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>textbox,<span class="n">300</span>,<span class="n">200</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 350</span>                <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a>,<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="n">600</span>,<span class="n">250</span>,ALLEGRO_ALIGN_CENTER,dialogue1<span class="k2">[</span>dialogueindex<span class="k2">]</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 351</span>                <span class="k2">}</span>
<span class="number"> 352</span>                <span class="k1">else</span> state <span class="k3">=</span> IDLE<span class="k2">;</span>
<span class="number"> 353</span>                <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 354</span>            <span class="k1">case</span> FRAME:
<span class="number"> 355</span>                <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>family,<span class="n">300</span>,<span class="n">200</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 356</span>                <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 357</span>            <span class="k1">case</span> DOOR1:
<span class="number"> 358</span>                <a href="http://www.allegro.cc/manual/al_draw_bitmap"><span class="a">al_draw_bitmap</span></a><span class="k2">(</span>textbox,<span class="n">300</span>,<span class="n">200</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 359</span>                <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a>,<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="n">600</span>,<span class="n">250</span>,ALLEGRO_ALIGN_CENTER,door1text<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 360</span>                <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 361</span>            default:
<span class="number"> 362</span>                <a href="http://www.allegro.cc/manual/al_draw_bitmap_region"><span class="a">al_draw_bitmap_region</span></a><span class="k2">(</span>character1.image_path, sourcex, sourcey <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>character1.image_path<span class="k2">)</span> <span class="k3">/</span> <span class="n">4</span>, <span class="n">100</span>, <span class="n">100</span>, character1.x, character1.y, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 363</span>            <span class="k2">}</span>
<span class="number"> 364</span>
<span class="number"> 365</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"> 366</span>
<span class="number"> 367</span>        <span class="c">// Listening for new event</span>
<span class="number"> 368</span>        <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_is_event_queue_empty"><span class="a">al_is_event_queue_empty</span></a><span class="k2">(</span>event_queue<span class="k2">)</span><span class="k2">)</span>
<span class="number"> 369</span>        <span class="k2">{</span>
<span class="number"> 370</span>            error <span class="k3">=</span> process_event<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 371</span>        <span class="k2">}</span>
<span class="number"> 372</span>    <span class="k2">}</span>
<span class="number"> 373</span>    <span class="k1">return</span> error<span class="k2">;</span>
<span class="number"> 374</span><span class="k2">}</span>
<span class="number"> 375</span>
<span class="number"> 376</span><span class="k1">void</span> game_destroy<span class="k2">(</span><span class="k2">)</span>
<span class="number"> 377</span><span class="k2">{</span>
<span class="number"> 378</span>    <a href="http://www.allegro.cc/manual/al_destroy_display"><span class="a">al_destroy_display</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 379</span>    <a href="http://www.allegro.cc/manual/al_destroy_font"><span class="a">al_destroy_font</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 380</span>    <a href="http://www.allegro.cc/manual/al_destroy_event_queue"><span class="a">al_destroy_event_queue</span></a><span class="k2">(</span>event_queue<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 381</span>    <a href="http://www.allegro.cc/manual/al_destroy_timer"><span class="a">al_destroy_timer</span></a><span class="k2">(</span>timer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 382</span>    <a href="http://www.allegro.cc/manual/al_destroy_timer"><span class="a">al_destroy_timer</span></a><span class="k2">(</span>timer2<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 383</span>    <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>player<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 384</span>    <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>papa<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 385</span>    <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>title<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 386</span>    <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>bg<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 387</span>    <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>titlejohnny<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 388</span>    <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>papa_1<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 389</span>    <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>textbox<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 390</span>    <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>family<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 391</span>    <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>frame<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 392</span>    <a href="http://www.allegro.cc/manual/al_destroy_bitmap"><span class="a">al_destroy_bitmap</span></a><span class="k2">(</span>door<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 393</span>    <a href="http://www.allegro.cc/manual/al_uninstall_keyboard"><span class="a">al_uninstall_keyboard</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 394</span>    <a href="http://www.allegro.cc/manual/al_destroy_sample"><span class="a">al_destroy_sample</span></a><span class="k2">(</span>song<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 395</span><span class="k2">}</span>
</div></div><p>

Thank you so much!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (childski)</author>
		<pubDate>Sat, 20 Jun 2020 20:47:16 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Can you not step through it with a debugger and see the stack trace... That would help you loads
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (pmprog)</author>
		<pubDate>Sat, 20 Jun 2020 21:21:35 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I believe you need to move your:
</p><div class="source-code snippet"><div class="inner"><pre>timer  <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_timer"><span class="a">al_create_timer</span></a><span class="k2">(</span><span class="n">1</span>.<span class="n">0</span><span class="k3">/</span>FPS<span class="k2">)</span><span class="k2">;</span>
<a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>event_queue, <a href="http://www.allegro.cc/manual/al_get_timer_event_source"><span class="a">al_get_timer_event_source</span></a><span class="k2">(</span>timer<span class="k2">)</span><span class="k2">)</span> <span class="k2">;</span>
<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>
</pre></div></div><p>
outside of the game loop (possibly to your init function) - right now I believe you are creating a new timer each iterration of the loop.</p><p>EDIT: Also, your process_event(); function does not contain the part that would be processing the timer events. Have a look at <a href="https://github.com/liballeg/allegro5/blob/master/examples/ex_timer.c">https://github.com/liballeg/allegro5/blob/master/examples/ex_timer.c</a> lines from 141-161 for an example of an event processing loop. <br />Eventually if you get stuck please let us know and we&#39;ll do our best to help you fix this.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (MikiZX)</author>
		<pubDate>Sat, 20 Jun 2020 22:29:57 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hi, thank you for all the replies.</p><p>@pmprog: sorry, what is a stack trace?</p><p>@MikiZX: thank you for the reference and suggestions. I&#39;ve moved the timer to init now. From the sample code that I&#39;ve seen, they only used the timer to animate some sprites. I&#39;m still confused about the timer concept; is it to make sure that the game runs on a stable FPS?</p><p>---</p><p>From the source codes that I&#39;ve seen in Allegro game development, it&#39;s either too complicated that I can&#39;t understand the structure or too basic.</p><p>As my function if(dialogue) causes the game to crash due to infinite loop, I want to ask: is there a way to show a dialogue text box like in most RPG style games?</p><p>Again, thanks for the feedback and guidance.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (childski)</author>
		<pubDate>Sun, 21 Jun 2020 15:50:32 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/618159/1046389#target">childski</a> said:</div><div class="quote"><p> I&#39;m still confused about the timer concept; is it to make sure that the game runs on a stable FPS?</p></div></div><p>The main purpose of timers is to ensure that your game runs at the same speed on different computers.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (LennyLen)</author>
		<pubDate>Sun, 21 Jun 2020 16:29:56 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>@childski, A stack trace is a list of functions that the current execution leading up to your crash.</p><p>Personally, i think debugging is just as important as coding, so I&#39;d honestly recommend learning how to use a debugger. Depending on what language/toolchain you&#39;re using, they&#39;re all a little different, but the concepts are generally consistent
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (pmprog)</author>
		<pubDate>Sun, 21 Jun 2020 16:42:54 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>@LennyLen thanks! that cleared me up a bit. I&#39;ll just have to somehow implement it...</p><p>@pmprog Ok, so I&#39;ve found that my problem is in the if(dialogue) part, which now I&#39;ve cleaned up a bit, but still have problems with. </p><p>In my game_run() function, I understand that it loops until the game stops. The problem arises when I set dialogue=false (i.e the dialogueindex reaches 12), and then the game crashes. Until today, I&#39;m still not sure why and what could be done to actually fix it <img src="http://www.allegro.cc/forums/smileys/cry.gif" alt=":&#39;(" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (childski)</author>
		<pubDate>Sun, 21 Jun 2020 17:12:56 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I had a second look at your source and possibly you need to test this line:<br />case DIALOGUE:<br />        if(dialogueindex&lt;sizeof(dialogue1)-1)</p><p>My programming skill is not that good (and I&#39;m too lazy to test) but maybe sizeof(char* x) will not return the number of elements in the array?<br />Maybe test this part with something like:<br />case DIALOGUE:<br />        if(dialogueindex&lt;5)</p><p>As for displaying the dialogue there is no special way - you choose how to do it (you can just print text to the screen).</p><p>Some people here that understand C++ better can also confirm if your code is C or C++ since you are using #include &lt;string&gt; .. I am not sure if this changes anything.</p><p>As for timers....</p><p>Hm.. I&#39;ll try to explain part of the situation.</p><p>I have had a look at your game code and your game actually does not have a fixed speed at which it is executed because at the moment you only make things happen when there is some input to your game (like a keypresses for example) - the main loop of your game is executed as fast as your computer/operating system can run it.</p><p>Even if this is OK for a game to run only when there is input - this is not what majority of game devs do.<br />You can make a game without using a timer - they are only there to help with things (like animations and movement being executed at a fixed speed on different computers). In your case you can remove the timer completely and depend on keypresses to advance the dialog.</p><p>You can create multiple timers that can run in parallel - one timer to be executed 60 times a second, another that executes only once every 5 minutes, etc... Each time the timer ticks (is executed) there will be a new ALLEGRO_EVENT_TIMER in the event queue and your main loop can be designed to do something when it this event appears. <br />Timers are there to provide timing facility - a tool for you to use if you see the need.</p><p>On the other hand, you will have to add processing for different events in your loop (like window managment for example).<br />This is needed as things will happen outside the game (at operating system level) but that will cause Allegro5 to add a new event to the event queue. Your game needs to process these events to continue working without hickups (example here is when someone tries to close the game by clicking on the X button (or red circle) in the corner of the window - your game needs to process even this and close itself; another example is when someone resizes the window that your game has opened) - you process these events in your main loop(s) as you see fit - there is no special procedure to follow.</p><p>If your game was just running in a loop without a timer (as it is doing so now) then you will need to calculate time elapsed between two frames (two iterrations of the loop) of the game and move and animate the game assets using this delta time in order for the movement and animation to be done at the same speed/rate on different computers. Using a fixed timer simplyfies things in this regard as you can always use the same values to advance animation or change position.<br />Using a fixed timer that ticks 30 or 60 times a second will not change your game code much (actually very little) but might prove to be easier to manage later when you will want to add ide animation to your main game character or similar.</p><p>Do not take all this I have written as 100% true (as I am learning Allegro as well) but it is there to give you some general idea of why timers could be usefull for you (or not needed at all).</p><p>Please let me know if there is any particuar reason you wish to create your game without a fixed timer - or if you see no problem to re-arranging your main loop so it fits the 30 or 60 ticks per second type of executing as I can eventually (if you get stuck) change your code so it runs at fixed rate using a timer.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (MikiZX)</author>
		<pubDate>Sun, 21 Jun 2020 18:46:25 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I think i know what your problem is, but seriously, invest some time into a debugger.</p><p>Failing that... I used to be taught what was called a dryrun. Where you run line by line through your head, keeping track of the variables on a bit of paper</p><p>I really just want to say the problem i see, but part of me hopes you&#39;ll try the debugging </p><p>Edit: A hint is that you are actually overflowing your dialogue array, which is why it&#39;s crashing<br />Edit 2: Hmmm, maybe that&#39;s not even totally correct, but you can never leave the dialogue system
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (pmprog)</author>
		<pubDate>Sun, 21 Jun 2020 18:48:03 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>@MikiZX That was very helpful and eye-opening! Thanks a lot for the explanation. And yes, I&#39;ve now implemented the correct way to calculate the elements of the char* array, now it&#39;s fixed! :&#39;)</p><p>It&#39;s not that I do not want to use a timer, it&#39;s just that I probably have no idea how to correctly use one. Though I am currently trying to incorporate it into my game loop. I do wish my game can be run consistently on every computer, just... figuring it out.</p><p>Again, thanks for the great help <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /></p><p>---<br />@pmprog I am running this code in code::blocks using the GDB debugger and there were no errors regarding the array part. Although now I&#39;ve solved it. The mistake is in calculating the elements of the char* array. I used sizeof(), which does not return the number of elements.</p><p>I&#39;m not sure if you&#39;re referring to another type of debugger/debugging? I&#39;m confused.<br />but thanks for the hints and suggestions!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (childski)</author>
		<pubDate>Sun, 21 Jun 2020 19:33:10 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>@childski: Then yes, you were overrunning the array. Whilst that in itself doesn&#39;t error, it leads you to access incorrect/invalid memory, which is what causes the error.</p><p>Also line 336 always sets your state to DIALOGUE, you&#39;ll never be able move on from the dialogue section
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (pmprog)</author>
		<pubDate>Sun, 21 Jun 2020 20:25:20 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>There are multiple ways to use a debugger. CB is just handling the interface for you. Setting breakpoints, stepping, so on....</p><p>There&#39;s a little guide I wrote to gdb here : (you&#39;ll notice there is a terminal in CB for talking to gdb)<br /><a href="https://github.com/liballeg/allegro_wiki/wiki/Debugging-and-logging-with-A5#debugging-with-gdb">https://github.com/liballeg/allegro_wiki/wiki/Debugging-and-logging-with-A5#debugging-with-gdb</a>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Mon, 22 Jun 2020 17:49:10 +0000</pubDate>
	</item>
</rss>
