<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>NPC Conversation</title>
		<link>http://www.allegro.cc/forums/view/614384</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Fri, 20 Jun 2014 12:33:03 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I noticed no has done a post regarding dialogue between player and NPC, im sure it would help alot of people.</p><p>Does anyone have some advice for organizing a conversation  between a player and npc in allegro.</p><p>Right now i have  blue box made in photoshop  that appears when i draw text on the screen. this occurence only happens once then im unable to have the player reply and so on.</p><p>for <a>example://when</a> enter is pressed goes to next line</p><p>NPC:HI How are you<br />press enter<br />Player: hello<br />press enter<br />NPC: go here<br />press enter<br />player: okay</p><p>can this be organized in simple if statement?</p><p>if (npc.boundx.boundy&gt;player.boundx)//this is example I know how to code detection<br />{<br />al_draw_textf(line1)<br />}<br />then what if their are 4 lines
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (allegro programmer)</author>
		<pubDate>Mon, 16 Jun 2014 22:22:36 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>What you&#39;re probably looking for is a GUI(Graphical User Interface). You can try designing your own, or you can search for a good one with allegro support. TGUI is a nice one that comes to mind.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Cassio Renan)</author>
		<pubDate>Mon, 16 Jun 2014 22:26:40 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>so allegro doesnt have any built in string management seems like i could <br />do <br />line1=aldrawtext(line1)<br />line2=aldrawtext(line2)<br />line3=aldrawtext(line3)<br />line4=aldrawtext(line4)</p><p>then</p><p> if (keys[ENTER])<br />   for ( i=0; i&lt;4;i++)<br />if(i&gt;0)<br />line 1 <br />if(i&gt;1)<br />line2 and so  on</p><p>it doesnt work though for some reason
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (allegro programmer)</author>
		<pubDate>Mon, 16 Jun 2014 22:44:56 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p><a href="http://guihacker.com/">http://guihacker.com/</a>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Arthur Kalliokoski)</author>
		<pubDate>Tue, 17 Jun 2014 00:25:51 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>i download tgui it seems cool, but outdated.also no tutorials or videos using it.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (allegro programmer)</author>
		<pubDate>Tue, 17 Jun 2014 01:41:10 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Is Guichan still a viable option?  Edgar&#39;s working on a GUI lib, as well...  There are so many GUI libraries that I lose track.</p><p>Arthur:</p><p><a href="http://hackertyper.com/">http://hackertyper.com/</a>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Gideon Weems)</author>
		<pubDate>Tue, 17 Jun 2014 05:00:42 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>id prefer not to use a gui lib if possible how do i modify my if statement for it to display one line after the next upon pressing enter..</p><p>what is this hacker stuff?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (allegro programmer)</author>
		<pubDate>Tue, 17 Jun 2014 08:06:02 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>There have actually been quite a few discussions here on this topic. You can try using the site search engine to find them, or use Google to search the site.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (LennyLen)</author>
		<pubDate>Tue, 17 Jun 2014 09:15:33 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You don&#39;t need a gui, you just need a little more skill with C.</p><p>To carry on a conversation, you just need to use a little linked list that moves from one conversation event to another. Or if your conversation is linear and doesn&#39;t have any branches you could use a vector.</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">typedef</span> std::list<span class="k3">&lt;</span><span class="k1">const</span> <span class="k1">char</span><span class="k3">*</span><span class="k3">&gt;</span> CLIST<span class="k2">;</span>
CLIST Conversation<span class="k2">;</span>
conversation.push_back<span class="k2">(</span><span class="s">"Hello"</span><span class="k2">)</span><span class="k2">;</span>
conversation.push_back<span class="k2">(</span><span class="s">"How are you"</span><span class="k2">)</span><span class="k2">;</span>
conversation.push_back<span class="k2">(</span><span class="s">"Just fine thanks."</span><span class="k2">)</span><span class="k2">;</span>
conversation.push_back<span class="k2">(</span><span class="s">"So on..."</span><span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>

</p><div class="source-code snippet"><div class="inner"><pre>CLIST::iterator cit <span class="k3">=</span> conversation.begin<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>

<span class="k1">if</span> <span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_KEY_DOWN <span class="k3">&amp;</span><span class="k3">&amp;</span> ev.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_ENTER<span class="k2">)</span> <span class="k2">{</span>
   CLIST::iterator cit2 <span class="k3">=</span> cit<span class="k2">;</span>
   <span class="k3">+</span><span class="k3">+</span>cit2<span class="k2">;</span>
   <span class="k1">if</span> <span class="k2">(</span>cit2 <span class="k3">!</span><span class="k3">=</span> conversation.end<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span>
      cit <span class="k3">=</span> cit2<span class="k2">;</span>
   <span class="k2">}</span>
<span class="k2">}</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Tue, 17 Jun 2014 09:55:44 +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/614384/1002229#target">Edgar Reynaldo</a> said:</div><div class="quote"><p> You don&#39;t need a gui, you just need a little more skill with <b>C++</b>.</p></div></div><p>FTFY
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (LennyLen)</author>
		<pubDate>Tue, 17 Jun 2014 11:02:39 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>In C you could do it like this (untested code):</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="c">/* Before your event loop function: */</span>
<span class="number">  2</span>
<span class="number">  3</span><span class="k1">struct</span> conversation_struct <span class="k2">{</span>
<span class="number">  4</span>  <span class="k1">int</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_470.html" target="_blank">index</a><span class="k2">;</span>
<span class="number">  5</span>  <span class="k1">const</span> <span class="k1">char</span> <span class="k3">*</span> text<span class="k2">[</span><span class="k2">]</span><span class="k2">;</span>
<span class="number">  6</span><span class="k2">}</span><span class="k2">;</span>
<span class="number">  7</span>
<span class="number">  8</span><span class="k1">struct</span> conversation_struct 
<span class="number">  9</span>conversation <span class="k3">=</span> <span class="k2">{</span>
<span class="number"> 10</span>  <span class="n">0</span>,
<span class="number"> 11</span>  <span class="k2">{</span> <span class="s">"Hello"</span>, <span class="s">"How Are You"</span>, <span class="s">"Just Fine Thanks"</span>, <span class="s">"So On"</span>, NULL <span class="k2">}</span>
<span class="number"> 12</span><span class="k2">}</span><span class="k2">;</span>   
<span class="number"> 13</span>
<span class="number"> 14</span>
<span class="number"> 15</span><span class="c">/* In your main event loop : */</span>
<span class="number"> 16</span><span class="k1">const</span> <span class="k1">char</span> <span class="k3">*</span> text_to_draw <span class="k3">=</span> NULL<span class="k2">;</span> 
<span class="number"> 17</span>
<span class="number"> 18</span><span class="k1">if</span> <span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_KEY_DOWN <span class="k3">&amp;</span><span class="k3">&amp;</span> ev.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_ENTER<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 19</span>   <span class="k1">if</span> <span class="k2">(</span>conversation.text<span class="k2">[</span>conversation.index<span class="k2">]</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 20</span>     text_to_draw <span class="k3">=</span> conversation.text<span class="k2">[</span>conversation.index<span class="k2">]</span><span class="k2">;</span>
<span class="number"> 21</span>     conversation.index<span class="k3">+</span><span class="k3">+</span><span class="k2">;</span>
<span class="number"> 22</span>   <span class="k2">}</span> <span class="k1">else</span> <span class="k2">{</span>
<span class="number"> 23</span>     conversation.index <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 24</span>     text_to_draw       <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number"> 25</span>   <span class="k2">}</span>
<span class="number"> 26</span><span class="k2">}</span>
<span class="number"> 27</span>
<span class="number"> 28</span><span class="c">/* Draw text here with al_draw_text or al_draw_textf. */</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (beoran)</author>
		<pubDate>Tue, 17 Jun 2014 11:46:28 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Well, just to really confuse things, I do mine like this (I like each character to appear at a time, rather than whole lines); I use little codes in the string to decide what happens next, something like:</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="k1">char</span> NPC_Chat<span class="k2">[</span>CHAT_SIZE<span class="k2">]</span><span class="k2">;</span>
<span class="number">  2</span>
<span class="number">  3</span>...
<span class="number">  4</span>
<span class="number">  5</span><span class="c">//NPC_Chat would hold a string like this:</span>
<span class="number">  6</span>
<span class="number">  7</span><span class="s">"Hello,~005my name is Dizzy!~005¬How can I help today?@"</span><span class="k2">;</span>
<span class="number">  8</span>
<span class="number">  9</span>...
<span class="number"> 10</span>
<span class="number"> 11</span><span class="c">//Then, in my conversation function</span>
<span class="number"> 12</span>
<span class="number"> 13</span><span class="k1">while</span><span class="k2">(</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_764.html" target="_blank">strlen</a><span class="k2">(</span>NPC_Chat<span class="k2">)</span> <span class="k3">&gt;</span> <span class="n">0</span><span class="k2">)</span>
<span class="number"> 14</span><span class="k2">{</span>
<span class="number"> 15</span>    <span class="k1">char</span> c <span class="k3">=</span> getNextChar<span class="k2">(</span>NPC_Chat<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 16</span>  
<span class="number"> 17</span>    <span class="k1">if</span><span class="k2">(</span>c <span class="k3">=</span><span class="k3">=</span> <span class="s">'~'</span><span class="k2">)</span> <span class="c">//Chat delay</span>
<span class="number"> 18</span>    <span class="k2">{</span>
<span class="number"> 19</span>        <span class="c">//extract 3 character time, and delay</span>
<span class="number"> 20</span>    <span class="k2">}</span>
<span class="number"> 21</span>    <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>c <span class="k3">=</span><span class="k3">=</span> <span class="s">'¬'</span><span class="k2">)</span>
<span class="number"> 22</span>    <span class="k2">{</span>
<span class="number"> 23</span>        <span class="c">//new line, increase line yPos and reset line xPos</span>
<span class="number"> 24</span>    <span class="k2">}</span>
<span class="number"> 25</span>    <span class="k1">else</span> <span class="k1">if</span><span class="k2">(</span>c <span class="k3">=</span><span class="k3">=</span> <span class="s">'@'</span><span class="k2">)</span>
<span class="number"> 26</span>    <span class="k2">{</span>
<span class="number"> 27</span>        <span class="c">//prompt, wait for enter key to be pressed</span>
<span class="number"> 28</span>    <span class="k2">}</span>
<span class="number"> 29</span>    <span class="k1">else</span>
<span class="number"> 30</span>    <span class="k2">{</span>
<span class="number"> 31</span>        <span class="c">//not a special character, so just print character, increase xPos and continue</span>
<span class="number"> 32</span>        xPos <span class="k3">+</span><span class="k3">=</span> characterWidth<span class="k2">(</span>c<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 33</span>    <span class="k2">}</span>
<span class="number"> 34</span><span class="k2">}</span>
</div></div><p>

So basically I pick characters (like &#39;¬&#39; and &#39;~&#39;) and use those as little codes in the string. This way I can have a whole multiline conversation, with delays/colour changes/prompts etc etc, that all look like:</p><p>&quot;Welcome!...~010listen, I don&#39;t suppose¬you know where...~005...oh, nevermind!@&quot;<br />&quot;They say that ^082Mythril^255 is¬the strongest metal...~010¬bring me some ^020NOW^255!@&quot;</p><p>etc etc...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Dizzy Egg)</author>
		<pubDate>Tue, 17 Jun 2014 14:39:26 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>My guess would be, just look at you&#39;re conversation as an automat or machine. <br />This would reduce the possibility dramatically. </p><p>PC can, quit, choose an item. You only have to organize this, which is a more or less sizeable problem. </p><p>Furthermore you can organize options as a tree. Each options spawns new options, which can be choosen or not. <br />It is rather a logic thing than an gui thing, IMHO.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (#00JMP00)</author>
		<pubDate>Tue, 17 Jun 2014 15:46:26 +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/614384/1002231#target">LennyLen</a> said:</div><div class="quote"><p>
FTFY
</p></div></div><p>
I just meant C in general, like C and C++ together.</p><p>This is what I was going to put up. It&#39;s a <span class="cuss"><span>bastard</span></span>ization of C and C++. But there&#39;s a working example and source code.<br /><a href="https://www.allegro.cc/files/attachment/608738">NPC_conversation.7z</a></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>
<span class="number">   3</span><span class="p">#include "allegro5/allegro.h"</span>
<span class="number">   4</span><span class="p">#include "allegro5/allegro_image.h"</span>
<span class="number">   5</span><span class="p">#include "allegro5/allegro_font.h"</span>
<span class="number">   6</span><span class="p">#include "allegro5/allegro_ttf.h"</span>
<span class="number">   7</span><span class="p">#include "allegro5/allegro_primitives.h"</span>
<span class="number">   8</span><span class="p">#include &lt;cstdio&gt;</span>
<span class="number">   9</span>
<span class="number">  10</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">  11</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="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  12</span><a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a><span class="k3">*</span> image <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  13</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">  14</span><a href="http://www.allegro.cc/manual/ALLEGRO_FONT"><span class="a">ALLEGRO_FONT</span></a><span class="k3">*</span> font1 <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  15</span><a href="http://www.allegro.cc/manual/ALLEGRO_FONT"><span class="a">ALLEGRO_FONT</span></a><span class="k3">*</span> font2 <span class="k3">=</span> NULL<span class="k2">;</span>
<span class="number">  16</span><a href="http://www.allegro.cc/manual/ALLEGRO_COLOR"><span class="a">ALLEGRO_COLOR</span></a> color1<span class="k2">;</span>
<span class="number">  17</span><a href="http://www.allegro.cc/manual/ALLEGRO_COLOR"><span class="a">ALLEGRO_COLOR</span></a> color2<span class="k2">;</span>
<span class="number">  18</span>
<span class="number">  19</span>
<span class="number">  20</span><span class="k1">int</span> keys<span class="k2">[</span>ALLEGRO_KEY_MAX<span class="k2">]</span><span class="k2">;</span>
<span class="number">  21</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> MakeTile<span class="k2">(</span><span class="k2">)</span> <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> tile <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_bitmap"><span class="a">al_create_bitmap</span></a><span class="k2">(</span><span class="n">256</span>,<span class="n">256</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  24</span>   <a href="http://www.allegro.cc/manual/al_set_target_bitmap"><span class="a">al_set_target_bitmap</span></a><span class="k2">(</span>tile<span class="k2">)</span><span class="k2">;</span>
<span class="number">  25</span>   <span class="k1">for</span> <span class="k2">(</span><span class="k1">int</span> y <span class="k3">=</span> <span class="n">0</span> <span class="k2">;</span> y <span class="k3">&lt;</span> <span class="n">256</span> <span class="k2">;</span> <span class="k3">+</span><span class="k3">+</span>y<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  26</span>      <span class="k1">for</span> <span class="k2">(</span><span class="k1">int</span> x <span class="k3">=</span> <span class="n">0</span> <span class="k2">;</span> x <span class="k3">&lt;</span> <span class="n">256</span> <span class="k2">;</span> <span class="k3">+</span><span class="k3">+</span>x<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  27</span>         <a href="http://www.allegro.cc/manual/al_draw_pixel"><span class="a">al_draw_pixel</span></a><span class="k2">(</span>x , y , <a href="http://www.allegro.cc/manual/al_map_rgba"><span class="a">al_map_rgba</span></a><span class="k2">(</span>x , y , <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">  28</span>      <span class="k2">}</span>
<span class="number">  29</span>   <span class="k2">}</span>
<span class="number">  30</span>   <span class="k1">return</span> tile<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">class</span> CONVERSATION <span class="k2">{</span>
<span class="number">  34</span><span class="k1">public</span> <span class="k2">:</span>
<span class="number">  35</span>   <span class="k1">const</span> <span class="k1">char</span><span class="k3">*</span> text<span class="k2">;</span>
<span class="number">  36</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_COLOR"><span class="a">ALLEGRO_COLOR</span></a> text_color<span class="k2">;</span>
<span class="number">  37</span>   CONVERSATION<span class="k3">*</span> next<span class="k2">;</span>
<span class="number">  38</span>   CONVERSATION<span class="k3">*</span> prev<span class="k2">;</span>
<span class="number">  39</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="k2">;</span>
<span class="number">  40</span><span class="k2">}</span><span class="k2">;</span>
<span class="number">  41</span>CONVERSATION<span class="k3">*</span> CreateConversationElement<span class="k2">(</span><span class="k1">const</span> <span class="k1">char</span><span class="k3">*</span> text , <a href="http://www.allegro.cc/manual/ALLEGRO_COLOR"><span class="a">ALLEGRO_COLOR</span></a> text_color , <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="k2">)</span> <span class="k2">{</span>
<span class="number">  42</span>   CONVERSATION<span class="k3">*</span> c <span class="k3">=</span> <span class="k1">new</span> CONVERSATION<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  43</span>   c-&gt;text <span class="k3">=</span> text<span class="k2">;</span>
<span class="number">  44</span>   c-&gt;text_color <span class="k3">=</span> text_color<span class="k2">;</span>
<span class="number">  45</span>   c-&gt;font <span class="k3">=</span> <a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a><span class="k2">;</span>
<span class="number">  46</span>   <span class="k1">return</span> c<span class="k2">;</span>
<span class="number">  47</span><span class="k2">}</span>
<span class="number">  48</span>
<span class="number">  49</span>CONVERSATION<span class="k3">*</span> SetConversationPrev<span class="k2">(</span>CONVERSATION<span class="k3">*</span> c , CONVERSATION<span class="k3">*</span> cprev<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  50</span>   c-&gt;prev <span class="k3">=</span> cprev<span class="k2">;</span>
<span class="number">  51</span>   <span class="k1">if</span> <span class="k2">(</span>cprev<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  52</span>      cprev-&gt;next <span class="k3">=</span> c<span class="k2">;</span>
<span class="number">  53</span>   <span class="k2">}</span>
<span class="number">  54</span>   <span class="k1">return</span> cprev<span class="k2">;</span>
<span class="number">  55</span><span class="k2">}</span>
<span class="number">  56</span>
<span class="number">  57</span>
<span class="number">  58</span>CONVERSATION<span class="k3">*</span> SetConversationNext<span class="k2">(</span>CONVERSATION<span class="k3">*</span> c , CONVERSATION<span class="k3">*</span> cnext<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  59</span>   c-&gt;next <span class="k3">=</span> cnext<span class="k2">;</span>
<span class="number">  60</span>   <span class="k1">if</span> <span class="k2">(</span>cnext<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  61</span>      cnext-&gt;prev <span class="k3">=</span> c<span class="k2">;</span>
<span class="number">  62</span>   <span class="k2">}</span>
<span class="number">  63</span>   <span class="k1">return</span> cnext<span class="k2">;</span>
<span class="number">  64</span><span class="k2">}</span>
<span class="number">  65</span>
<span class="number">  66</span>CONVERSATION<span class="k3">*</span> MakeFirstConversation<span class="k2">(</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number">  67</span>   CONVERSATION<span class="k3">*</span> npcAroot <span class="k3">=</span> CreateConversationElement<span class="k2">(</span><span class="s">"Hello. This is the beginning of the conversation."</span> , color1 , font1<span class="k2">)</span><span class="k2">;</span>
<span class="number">  68</span>   CONVERSATION<span class="k3">*</span> npcBroot <span class="k3">=</span> CreateConversationElement<span class="k2">(</span><span class="s">"Oh? We're going to have a conversation?"</span> , color2 , font2<span class="k2">)</span><span class="k2">;</span>
<span class="number">  69</span>   SetConversationPrev<span class="k2">(</span>npcAroot , <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  70</span>   SetConversationPrev<span class="k2">(</span>npcBroot , npcAroot<span class="k2">)</span><span class="k2">;</span>
<span class="number">  71</span>
<span class="number">  72</span>   CONVERSATION<span class="k3">*</span> A2 <span class="k3">=</span> CreateConversationElement<span class="k2">(</span><span class="s">"Yes. Is there anything you'd like to talk about?"</span> , color1 , font1<span class="k2">)</span><span class="k2">;</span>
<span class="number">  73</span>   SetConversationPrev<span class="k2">(</span>A2 , npcBroot<span class="k2">)</span><span class="k2">;</span>
<span class="number">  74</span>   
<span class="number">  75</span>   CONVERSATION<span class="k3">*</span> B2 <span class="k3">=</span> CreateConversationElement<span class="k2">(</span><span class="s">"Could we talk about NPC programming?"</span> , color2 , font2<span class="k2">)</span><span class="k2">;</span>
<span class="number">  76</span>   SetConversationPrev<span class="k2">(</span>B2 , A2<span class="k2">)</span><span class="k2">;</span>
<span class="number">  77</span>   
<span class="number">  78</span>   CONVERSATION<span class="k3">*</span> A3 <span class="k3">=</span> CreateConversationElement<span class="k2">(</span><span class="s">"Sure, what do you want to know?"</span> , color1 , font1<span class="k2">)</span><span class="k2">;</span>
<span class="number">  79</span>   SetConversationPrev<span class="k2">(</span>A3 , B2<span class="k2">)</span><span class="k2">;</span>
<span class="number">  80</span>   
<span class="number">  81</span>   CONVERSATION<span class="k3">*</span> B3 <span class="k3">=</span> CreateConversationElement<span class="k2">(</span><span class="s">"How do I make a conversation?"</span> , color2 , font2<span class="k2">)</span><span class="k2">;</span>
<span class="number">  82</span>   SetConversationPrev<span class="k2">(</span>B3 , A3<span class="k2">)</span><span class="k2">;</span>
<span class="number">  83</span>   
<span class="number">  84</span>   CONVERSATION<span class="k3">*</span> A4 <span class="k3">=</span> CreateConversationElement<span class="k2">(</span><span class="s">"Well, you could use a linked list."</span> , color1 , font1<span class="k2">)</span><span class="k2">;</span>
<span class="number">  85</span>   SetConversationPrev<span class="k2">(</span>A4 , B3<span class="k2">)</span><span class="k2">;</span>
<span class="number">  86</span>   SetConversationNext<span class="k2">(</span>A4 , <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  87</span>   
<span class="number">  88</span>   <span class="k1">return</span> npcAroot<span class="k2">;</span>
<span class="number">  89</span><span class="k2">}</span>
<span class="number">  90</span>
<span class="number">  91</span><span class="k1">void</span> DestroyConversation<span class="k2">(</span>CONVERSATION<span class="k3">*</span> root<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  92</span>   <span class="k1">if</span> <span class="k2">(</span>root-&gt;next<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  93</span>      DestroyConversation<span class="k2">(</span>root-&gt;next<span class="k2">)</span><span class="k2">;</span>
<span class="number">  94</span>   <span class="k2">}</span>
<span class="number">  95</span>   <span class="k1">delete</span> root<span class="k2">;</span>
<span class="number">  96</span><span class="k2">}</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><span class="k3">*</span> argv<span class="k2">)</span> <span class="k2">{</span>
<span class="number">  99</span>   
<span class="number"> 100</span>   <span class="k1">for</span> <span class="k2">(</span><span class="k1">int</span> i <span class="k3">=</span> <span class="n">0</span> <span class="k2">;</span> i <span class="k3">&lt;</span> ALLEGRO_KEY_MAX <span class="k2">;</span> <span class="k3">+</span><span class="k3">+</span>i<span class="k2">)</span> <span class="k2">{</span>keys<span class="k2">[</span>i<span class="k2">]</span> <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span><span class="k2">}</span>
<span class="number"> 101</span>   
<span class="number"> 102</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="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span><span class="k2">}</span>
<span class="number"> 103</span>   <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</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="k2">{</span><span class="k1">return</span> <span class="k3">-</span><span class="n">2</span><span class="k2">;</span><span class="k2">}</span>
<span class="number"> 104</span>   <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</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="k2">{</span><span class="k1">return</span> <span class="k3">-</span><span class="n">3</span><span class="k2">;</span><span class="k2">}</span>
<span class="number"> 105</span>   <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</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="k2">{</span><span class="k1">return</span> <span class="k3">-</span><span class="n">4</span><span class="k2">;</span><span class="k2">}</span>
<span class="number"> 106</span>   <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</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="k2">{</span><span class="k1">return</span> <span class="k3">-</span><span class="n">5</span><span class="k2">;</span><span class="k2">}</span>
<span class="number"> 107</span>   <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</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="k2">{</span><span class="k1">return</span> <span class="k3">-</span><span class="n">6</span><span class="k2">;</span><span class="k2">}</span>
<span class="number"> 108</span>   
<span class="number"> 109</span>   
<span class="number"> 110</span>   <a href="http://www.allegro.cc/manual/al_set_new_display_flags"><span class="a">al_set_new_display_flags</span></a><span class="k2">(</span>ALLEGRO_WINDOWED <span class="k3">|</span> ALLEGRO_RESIZABLE<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 111</span>   
<span class="number"> 112</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><span class="n">640</span>,<span class="n">480</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 113</span>   
<span class="number"> 114</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"> 115</span>   <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>queue<span class="k2">)</span> <span class="k2">{</span><span class="k1">return</span> <span class="k3">-</span><span class="n">4</span><span class="k2">;</span><span class="k2">}</span>
<span class="number"> 116</span>   
<span class="number"> 117</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><span class="n">60</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 118</span>   <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>timer<span class="k2">)</span> <span class="k2">{</span><span class="k1">return</span> <span class="k3">-</span><span class="n">5</span><span class="k2">;</span><span class="k2">}</span>
<span class="number"> 119</span>   
<span class="number"> 120</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>display<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 121</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"> 122</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"> 123</span>   
<span class="number"> 124</span>   
<span class="number"> 125</span>   image <span class="k3">=</span> MakeTile<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 126</span>   <a href="http://www.allegro.cc/manual/al_set_target_bitmap"><span class="a">al_set_target_bitmap</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_get_backbuffer"><span class="a">al_get_backbuffer</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 127</span>   
<span class="number"> 128</span>   font1 <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">"consola.ttf"</span> , <span class="n">20</span> , <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 129</span>   font2 <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">"verdana.ttf"</span> , <span class="n">20</span> , <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 130</span>   
<span class="number"> 131</span>   color1 <span class="k3">=</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">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 132</span>   color2 <span class="k3">=</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">127</span>,<span class="n">64</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 133</span>   
<span class="number"> 134</span>   
<span class="number"> 135</span>   
<span class="number"> 136</span>   <span class="k1">bool</span> redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 137</span>   <span class="k1">bool</span> quit <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 138</span>   
<span class="number"> 139</span>   CONVERSATION<span class="k3">*</span> c <span class="k3">=</span> MakeFirstConversation<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 140</span>   
<span class="number"> 141</span>   <span class="k1">do</span> <span class="k2">{</span>
<span class="number"> 142</span>      <span class="k1">if</span> <span class="k2">(</span>redraw<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 143</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"> 144</span><span class="c">/*</span>
<span class="number"> 145</span><span class="c">         for (int y = 0 ; y &lt; al_get_display_height(display) / al_get_bitmap_height(image) + 1 ; ++y) {</span>
<span class="number"> 146</span><span class="c">            for (int x = 0 ; x &lt; al_get_display_width(display) / al_get_bitmap_width(image) + 1; ++x) {</span>
<span class="number"> 147</span><span class="c">               al_draw_bitmap(image , x*al_get_bitmap_width(image) , y*al_get_bitmap_height(image) , 0);</span>
<span class="number"> 148</span><span class="c">            }</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">// draw current part of conversation</span>
<span class="number"> 152</span>         <span class="k1">int</span> tw <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_get_text_width"><span class="a">al_get_text_width</span></a><span class="k2">(</span>c-&gt;font , c-&gt;text<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 153</span>         <span class="k1">int</span> th <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_get_font_line_height"><span class="a">al_get_font_line_height</span></a><span class="k2">(</span>c-&gt;font<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 154</span>         <span class="k1">int</span> tx <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>display<span class="k2">)</span><span class="k3">/</span><span class="n">2</span> <span class="k3">-</span> tw<span class="k3">/</span><span class="n">2</span> <span class="k3">-</span> <span class="n">20</span><span class="k2">;</span>
<span class="number"> 155</span>         <span class="k1">int</span> ty <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>display<span class="k2">)</span><span class="k3">/</span><span class="n">2</span> <span class="k3">-</span> th<span class="k3">/</span><span class="n">2</span> <span class="k3">-</span> <span class="n">20</span><span class="k2">;</span>
<span class="number"> 156</span>         
<span class="number"> 157</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>tx , ty , tx <span class="k3">+</span> tw <span class="k3">+</span> <span class="n">40</span> , ty <span class="k3">+</span> th <span class="k3">+</span> <span class="n">40</span> , <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">0</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 158</span>         <a href="http://www.allegro.cc/manual/al_draw_text"><span class="a">al_draw_text</span></a><span class="k2">(</span>c-&gt;font , c-&gt;text_color , <a href="http://www.allegro.cc/manual/al_get_display_width"><span class="a">al_get_display_width</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k3">/</span><span class="n">2</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>display<span class="k2">)</span><span class="k3">/</span><span class="n">2</span> ,
<span class="number"> 159</span>                      ALLEGRO_ALIGN_CENTER , c-&gt;text<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 160</span>         
<span class="number"> 161</span>         
<span class="number"> 162</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"> 163</span>         redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 164</span>      <span class="k2">}</span>
<span class="number"> 165</span>      <span class="k1">do</span> <span class="k2">{</span>
<span class="number"> 166</span>         <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> ev<span class="k2">;</span>
<span class="number"> 167</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>ev<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 168</span>         <span class="k1">if</span> <span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_DISPLAY_CLOSE<span class="k2">)</span> <span class="k2">{</span>quit <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span><span class="k2">}</span>
<span class="number"> 169</span>         <span class="k1">if</span> <span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_KEY_DOWN <span class="k3">&amp;</span><span class="k3">&amp;</span> ev.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_ESCAPE<span class="k2">)</span> <span class="k2">{</span>quit <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span><span class="k2">}</span>
<span class="number"> 170</span>         <span class="k1">if</span> <span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_DISPLAY_RESIZE<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 171</span>            <a href="http://www.allegro.cc/manual/al_acknowledge_resize"><span class="a">al_acknowledge_resize</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 172</span>            redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 173</span>         <span class="k2">}</span>
<span class="number"> 174</span>         <span class="k1">if</span> <span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_TIMER<span class="k2">)</span> <span class="k2">{</span>redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span><span class="k2">}</span>
<span class="number"> 175</span>         
<span class="number"> 176</span>         <span class="k1">if</span> <span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_KEY_DOWN <span class="k3">|</span><span class="k3">|</span> ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_KEY_UP<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 177</span>            <span class="k1">if</span> <span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_KEY_DOWN<span class="k2">)</span> <span class="k2">{</span>keys<span class="k2">[</span>ev.keyboard.keycode<span class="k2">]</span> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span><span class="k2">}</span>
<span class="number"> 178</span>            <span class="k1">if</span> <span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_KEY_UP<span class="k2">)</span> <span class="k2">{</span>keys<span class="k2">[</span>ev.keyboard.keycode<span class="k2">]</span> <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span><span class="k2">}</span>
<span class="number"> 179</span>         <span class="k2">}</span>
<span class="number"> 180</span>         <span class="k1">if</span> <span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_KEY_DOWN <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>ev.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_ENTER <span class="k3">|</span><span class="k3">|</span> ev.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_SPACE<span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 181</span>            <span class="k1">if</span> <span class="k2">(</span>c-&gt;next<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 182</span>               c <span class="k3">=</span> c-&gt;next<span class="k2">;</span>
<span class="number"> 183</span>            <span class="k2">}</span>
<span class="number"> 184</span>            redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 185</span>         <span class="k2">}</span>
<span class="number"> 186</span>         <span class="k1">if</span> <span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_KEY_DOWN <span class="k3">&amp;</span><span class="k3">&amp;</span> ev.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_BACKSPACE<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 187</span>            <span class="k1">if</span> <span class="k2">(</span>c-&gt;prev<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 188</span>               c <span class="k3">=</span> c-&gt;prev<span class="k2">;</span>
<span class="number"> 189</span>            <span class="k2">}</span>
<span class="number"> 190</span>            redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 191</span>         <span class="k2">}</span>
<span class="number"> 192</span>         
<span class="number"> 193</span>         
<span class="number"> 194</span>      <span class="k2">}</span> <span class="k1">while</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>queue<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 195</span>         
<span class="number"> 196</span>   <span class="k2">}</span> <span class="k1">while</span> <span class="k2">(</span><span class="k3">!</span>quit<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 197</span>   
<span class="number"> 198</span>   DestroyConversation<span class="k2">(</span>c<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 199</span>   
<span class="number"> 200</span>   <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 201</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Wed, 18 Jun 2014 04:08:57 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Just so we&#39;re clear on this, we&#39;re talking about a &quot;window&quot; that scrolls like a console?  While using TTF fonts in A5 of course.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Arthur Kalliokoski)</author>
		<pubDate>Wed, 18 Jun 2014 05:09:22 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>First off thanks for taking the time to reply ive been applying some of the ideas to my code trying to get them to work.</p><p>edgar: im getting an abortrun error  saying vector-item-0 line 174 when running the main file.</p><p><b>*idk if this is relevant to the problem</b>*  when im looking through the zip in bittorrent.. when i click the npcexe saying im missing the libz.dll.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (allegro programmer)</author>
		<pubDate>Wed, 18 Jun 2014 09:00:00 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p><a href="https://www.allegro.cc/files/attachment/608740">try this libzlib.dll</a></p><p>It&#39;s all I&#39;ve got.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Wed, 18 Jun 2014 20:21:40 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>thanks edgar, nice code. I saved this in a word document  and researching vectors a bit more so i can use this for my game.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (allegro programmer)</author>
		<pubDate>Fri, 20 Jun 2014 12:33:03 +0000</pubDate>
	</item>
</rss>
