<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Failing to load font [basic program]</title>
		<link>http://www.allegro.cc/forums/view/611310</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Sun, 28 Oct 2012 11:37:41 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hey guys I&#39;ve just been playing around with allegro 5, and playing with examples from codingmadeeasy, this is an example from him, and It works fine when he compiles it. He is however using vs and i&#39;m using codeblocks. The code is</p><p>[code]// C++ ALLEGRO 5 MADE EASY TUTORIAL 5 - FONT &amp; TEXT<br />// CODINGMADEEASY</p><p>#include &lt;allegro5/allegro.h&gt;<br />#include &lt;allegro5/allegro_native_dialog.h&gt;<br />#include &lt;allegro5/allegro_ttf.h&gt;<br />#include &lt;allegro5/allegro_font.h&gt;</p><p>#define ScreenWidth 800<br />#define ScreenHeight 600</p><p>int main()<br />{<br />	ALLEGRO_DISPLAY *display;</p><p>	if(!al_init())<br />	{<br />		al_show_native_message_box(NULL, NULL, &quot;Error&quot;, &quot;Could not initialize Allegro 5&quot;, NULL, ALLEGRO_MESSAGEBOX_ERROR);<br />		return -1;<br />	}<br />	display = al_create_display(ScreenWidth, ScreenHeight);</p><p>	if(!display)<br />	{<br />		al_show_native_message_box(NULL, NULL, &quot;Error&quot;, &quot;Could not create Allegro 5 display&quot;, NULL, ALLEGRO_MESSAGEBOX_ERROR);<br />		return -1;<br />	}</p><p>	// You generally want to do this after you check to see if the display was created. If the display wasn&#39;t created then there&#39;s<br />	// no point in calling this function<br />	al_set_new_display_flags(ALLEGRO_NOFRAME);<br />	al_set_window_position(display, 200, 100);<br />	al_set_window_title(display, &quot;CodingMadeEasy&quot;);</p><p>	al_init_font_addon();<br />	al_init_ttf_addon();</p><p>	ALLEGRO_FONT *font = al_load_font(&quot;font.ttf&quot;, 36, NULL);<br />	al_draw_text(font, al_map_rgb(44, 117, 255), ScreenWidth / 2, ScreenHeight / 2, ALLEGRO_ALIGN_CENTRE, &quot;www.codingmadeeasy.ca&quot;);</p><p>	al_flip_display();<br />	al_rest(10.0);</p><p>	al_destroy_font(font);<br />	al_destroy_display(display);</p><p>	return 0;<br />}<br />[/code]</p><p>The error given is .. </p><p>Assertion failed C:\ ... <br />File:allegro-5.0.x/addons/font/text.c<br />line 73</p><p>expression : Font </p><p>So my original though was maybe I needed to use my own font, So I downloaded it from urban fonts, placed it in project folder and set it up to use it, the font name is molten and was set accordingly and doesn&#39;t give the error when it pops up...but after a few seconds it crashes..</p><p>and advice/help appreciated.<br />thanks for reading.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (tikonwc3)</author>
		<pubDate>Wed, 24 Oct 2012 01:53:34 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>That program will shut down after it has been open for 10 seconds.</p><p>Also this site uses SGML/HTML/XML style tags. Like: &lt;code&gt;
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (l j)</author>
		<pubDate>Wed, 24 Oct 2012 01:58:50 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Use <tt>&lt;code&gt;</tt>, not <tt>[code]</tt> to show code in your post.</p><p>If I&#39;m not wrong, al_load_font() (Actually, al_load_ttf_font(), since you&#39;re using a truetype font) returns NULL on error.<br />Check if variable <b>font</b> isn&#39;t null after loading. If it is, a problem happened while loading it. You can try changing the folder it is placed. Also, try checking if the font&#39;s name(and extension) is exactly the same of what you&#39;re trying to load.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Cassio Renan)</author>
		<pubDate>Wed, 24 Oct 2012 02:04:31 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Thanks for the quick response, I double checked to make sure I had the extension and name correct, both are <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /></p><p>As far as checking the value of font, I tried using cout to print its value to the console, however nothing comes out
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (tikonwc3)</author>
		<pubDate>Wed, 24 Oct 2012 02:12:11 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>for that you can just test it against NULL.</p><div class="source-code snippet"><div class="inner"><pre><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> <a href="http://www.allegro.cc/manual/al_load_font"><span class="a">al_load_font</span></a><span class="k2">(</span><span class="s">"font.ttf"</span>, <span class="n">36</span>, NULL<span class="k2">)</span><span class="k2">;</span>
<span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a> <span class="k3">=</span><span class="k3">=</span> NULL<span class="k2">)</span> <span class="k1">return</span> ERR_CANT_LOAD_FONT <span class="c">// fictitious error constant. You might want to return 1 or any other non-zero value</span>
</pre></div></div><p>

alternatively,</p><div class="source-code snippet"><div class="inner"><pre><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> <a href="http://www.allegro.cc/manual/al_load_font"><span class="a">al_load_font</span></a><span class="k2">(</span><span class="s">"font.ttf"</span>, <span class="n">36</span>, NULL<span class="k2">)</span><span class="k2">;</span>
<span class="k1">if</span><span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a><span class="k2">)</span> <span class="k1">return</span> ERR_CANT_LOAD_FONT <span class="c">// fictitious error constant. You might want to return 1 or any other non-zero value</span>
</pre></div></div><p>

</p><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/611310/968730#target">tikonwc3</a> said:</div><div class="quote"><p>
doesn&#39;t give the error when it pops up
</p></div></div><p>

You mean the display or the text? I mean, is the text showing, or there&#39;s only a black window?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Cassio Renan)</author>
		<pubDate>Wed, 24 Oct 2012 02:28:18 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Sorry, to clarify what I meant by nothing pops up, is that there is no text. </p><p>The window is white though, and I have it set so a console will appear for purposes of debugging, but more specifically I  meant that it won&#39;t print anything to console, its entirely blank when the program crashes. </p><p>Thanks!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (tikonwc3)</author>
		<pubDate>Wed, 24 Oct 2012 02:50:20 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>If you have a console, you should be able to see</p><div class="source-code snippet"><div class="inner"><pre><span class="p">#include &lt;stdio.h&gt;  //for fprintf()</span>
<span class="p">#include &lt;stdlib.h&gt; //for exit()</span>
<span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a> <span class="k3">=</span><span class="k3">=</span> NULL<span class="k2">)</span>
<span class="k2">{</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">"Can't load font\n"</span><span class="k2">)</span><span class="k2">;</span>
   <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="k2">}</span>
</pre></div></div><p>

That said, if it can&#39;t load the font it might be the compiler changing the directory, you can get around this with <a href="http://www.allegro.cc/manual/5/al_get_standard_path">al_get_standard_path(ALLEGRO_EXENAME_PATH);</a>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Arthur Kalliokoski)</author>
		<pubDate>Wed, 24 Oct 2012 02:59:26 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Thank you for the reply.</p><p>I added in this.</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span><span class="c">// C++ ALLEGRO 5 MADE EASY TUTORIAL 5 - FONT &amp; TEXT</span>
<span class="number">  2</span><span class="c">// CODINGMADEEASY</span>
<span class="number">  3</span><span class="p">#include &lt;stdio.h&gt;</span>
<span class="number">  4</span><span class="p">#include &lt;iostream&gt;</span>
<span class="number">  5</span><span class="p">#include &lt;allegro5/allegro.h&gt;</span>
<span class="number">  6</span><span class="p">#include &lt;allegro5/allegro_native_dialog.h&gt;</span>
<span class="number">  7</span><span class="p">#include &lt;allegro5/allegro_ttf.h&gt;</span>
<span class="number">  8</span><span class="p">#include &lt;allegro5/allegro_font.h&gt;</span>
<span class="number">  9</span>
<span class="number"> 10</span><span class="p">#define ScreenWidth 800</span>
<span class="number"> 11</span><span class="p">#define ScreenHeight 600</span>
<span class="number"> 12</span>
<span class="number"> 13</span><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span>
<span class="number"> 14</span><span class="k2">{</span>
<span class="number"> 15</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a> <span class="k3">*</span>display<span class="k2">;</span>
<span class="number"> 16</span>
<span class="number"> 17</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"> 18</span>  <span class="k2">{</span>
<span class="number"> 19</span>    <a href="http://www.allegro.cc/manual/al_show_native_message_box"><span class="a">al_show_native_message_box</span></a><span class="k2">(</span>NULL, NULL, <span class="s">"Error"</span>, <span class="s">"Could not initialize Allegro 5"</span>, NULL, ALLEGRO_MESSAGEBOX_ERROR<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 20</span>    <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number"> 21</span>  <span class="k2">}</span>
<span class="number"> 22</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>ScreenWidth, ScreenHeight<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 23</span>
<span class="number"> 24</span>  <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>display<span class="k2">)</span>
<span class="number"> 25</span>  <span class="k2">{</span>
<span class="number"> 26</span>    <a href="http://www.allegro.cc/manual/al_show_native_message_box"><span class="a">al_show_native_message_box</span></a><span class="k2">(</span>NULL, NULL, <span class="s">"Error"</span>, <span class="s">"Could not create Allegro 5 display"</span>, NULL, ALLEGRO_MESSAGEBOX_ERROR<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 27</span>    <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number"> 28</span>  <span class="k2">}</span>
<span class="number"> 29</span>
<span class="number"> 30</span>  <span class="c">// You generally want to do this after you check to see if the display was created. If the display wasn't created then there's</span>
<span class="number"> 31</span>  <span class="c">// no point in calling this function</span>
<span class="number"> 32</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_NOFRAME<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 33</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">200</span>, <span class="n">100</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 34</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, <span class="s">"CodingMadeEasy"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 35</span>
<span class="number"> 36</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"> 37</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"> 38</span>
<span class="number"> 39</span>
<span class="number"> 40</span>    <a href="http://www.allegro.cc/manual/al_get_standard_path"><span class="a">al_get_standard_path</span></a><span class="k2">(</span>ALLEGRO_EXENAME_PATH<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 41</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> <a href="http://www.allegro.cc/manual/al_load_font"><span class="a">al_load_font</span></a><span class="k2">(</span><span class="s">"molten.ttf"</span>, <span class="n">36</span>, NULL<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 42</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">44</span>, <span class="n">117</span>, <span class="n">255</span><span class="k2">)</span>, ScreenWidth <span class="k3">/</span> <span class="n">2</span>, ScreenHeight <span class="k3">/</span> <span class="n">2</span>, ALLEGRO_ALIGN_CENTRE, <span class="s">"www.codingmadeeasy.ca"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 43</span>
<span class="number"> 44</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"> 45</span>  <a href="http://www.allegro.cc/manual/al_rest"><span class="a">al_rest</span></a><span class="k2">(</span><span class="n">10</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 46</span>
<span class="number"> 47</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"> 48</span>  <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a> <span class="k3">=</span><span class="k3">=</span> NULL<span class="k2">)</span>
<span class="number"> 49</span><span class="k2">{</span>
<span class="number"> 50</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">"Can't load font\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 51</span>   <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 52</span><span class="k2">}</span>
<span class="number"> 53</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"> 54</span>
<span class="number"> 55</span>  <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 56</span><span class="k2">}</span>
</div></div><p>

But no change is seen. It still doesn&#39;t print to console and crashes</p><p>Thanks again for reply
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (tikonwc3)</author>
		<pubDate>Wed, 24 Oct 2012 04:52:38 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Two things:</p><p>1. You need to check the return result of al_load_font() IMMEDIATELY after calling it. Currently, you don&#39;t check the return until after your program has run its course.</p><p>2. al_set_new_display_flags() has to be called <i>before</i> calling al_create_display(). This is why the command is called &quot;new display flags&quot;, since it only affects new displays created afterwards.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Kris Asick)</author>
		<pubDate>Wed, 24 Oct 2012 09:03:26 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I can&#39;t believe I didn&#39;t catch that I even put it after it was destroyed, that was stupid of me. I have rectified this so my code is now 
</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">// C++ ALLEGRO 5 MADE EASY TUTORIAL 5 - FONT &amp; TEXT</span>
<span class="number">  2</span><span class="c">// CODINGMADEEASY</span>
<span class="number">  3</span><span class="p">#include &lt;stdio.h&gt;</span>
<span class="number">  4</span><span class="p">#include &lt;iostream&gt;</span>
<span class="number">  5</span><span class="p">#include &lt;allegro5/allegro.h&gt;</span>
<span class="number">  6</span><span class="p">#include &lt;allegro5/allegro_native_dialog.h&gt;</span>
<span class="number">  7</span><span class="p">#include &lt;allegro5/allegro_ttf.h&gt;</span>
<span class="number">  8</span><span class="p">#include &lt;allegro5/allegro_font.h&gt;</span>
<span class="number">  9</span>
<span class="number"> 10</span><span class="p">#define ScreenWidth 800</span>
<span class="number"> 11</span><span class="p">#define ScreenHeight 600</span>
<span class="number"> 12</span>
<span class="number"> 13</span><span class="k1">int</span> main<span class="k2">(</span><span class="k2">)</span>
<span class="number"> 14</span><span class="k2">{</span>
<span class="number"> 15</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a> <span class="k3">*</span>display<span class="k2">;</span>
<span class="number"> 16</span>
<span class="number"> 17</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"> 18</span>  <span class="k2">{</span>
<span class="number"> 19</span>    <a href="http://www.allegro.cc/manual/al_show_native_message_box"><span class="a">al_show_native_message_box</span></a><span class="k2">(</span>NULL, NULL, <span class="s">"Error"</span>, <span class="s">"Could not initialize Allegro 5"</span>, NULL, ALLEGRO_MESSAGEBOX_ERROR<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 20</span>    <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number"> 21</span>  <span class="k2">}</span>
<span class="number"> 22</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_NOFRAME<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 23</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>ScreenWidth, ScreenHeight<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 24</span>
<span class="number"> 25</span>  <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>display<span class="k2">)</span>
<span class="number"> 26</span>  <span class="k2">{</span>
<span class="number"> 27</span>    <a href="http://www.allegro.cc/manual/al_show_native_message_box"><span class="a">al_show_native_message_box</span></a><span class="k2">(</span>NULL, NULL, <span class="s">"Error"</span>, <span class="s">"Could not create Allegro 5 display"</span>, NULL, ALLEGRO_MESSAGEBOX_ERROR<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 28</span>    <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number"> 29</span>  <span class="k2">}</span>
<span class="number"> 30</span>
<span class="number"> 31</span>  <span class="c">// You generally want to do this after you check to see if the display was created. If the display wasn't created then there's</span>
<span class="number"> 32</span>  <span class="c">// no point in calling this function</span>
<span class="number"> 33</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_NOFRAME<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 34</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">200</span>, <span class="n">100</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 35</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, <span class="s">"Font Test"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 36</span>
<span class="number"> 37</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"> 38</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"> 39</span>
<span class="number"> 40</span>
<span class="number"> 41</span>    <a href="http://www.allegro.cc/manual/al_get_standard_path"><span class="a">al_get_standard_path</span></a><span class="k2">(</span>ALLEGRO_EXENAME_PATH<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 42</span>
<span class="number"> 43</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> <a href="http://www.allegro.cc/manual/al_load_font"><span class="a">al_load_font</span></a><span class="k2">(</span><span class="s">"drakon.ttf"</span>, <span class="n">36</span>, NULL<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 44</span>    <span class="k1">if</span><span class="k2">(</span><a href="http://www.allegro.cc/manual/font"><span class="a">font</span></a> <span class="k3">=</span><span class="k3">=</span> NULL<span class="k2">)</span>
<span class="number"> 45</span>    <span class="k2">{</span>
<span class="number"> 46</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">"Can't load font\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 47</span>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_298.html" target="_blank">exit</a><span class="k2">(</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 48</span>    <span class="k2">}</span>
<span class="number"> 49</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">44</span>, <span class="n">117</span>, <span class="n">255</span><span class="k2">)</span>, ScreenWidth <span class="k3">/</span> <span class="n">2</span>, ScreenHeight <span class="k3">/</span> <span class="n">2</span>, ALLEGRO_ALIGN_CENTRE, <span class="s">"www.codingmadeeasy.ca"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 50</span>
<span class="number"> 51</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"> 52</span>  <a href="http://www.allegro.cc/manual/al_rest"><span class="a">al_rest</span></a><span class="k2">(</span><span class="n">10</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 53</span>
<span class="number"> 54</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"> 55</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"> 56</span>
<span class="number"> 57</span>  <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 58</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (tikonwc3)</author>
		<pubDate>Wed, 24 Oct 2012 09:30:08 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>And what happened?</p><p>You won&#39;t see fprintf on Windows unless you build a special way. Try using al_show_native_message_box instead.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Trent Gamblin)</author>
		<pubDate>Wed, 24 Oct 2012 09:57:10 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I used a messagebox instead of printf or cout, however it doesn&#39;t load. It comes right after font is declared and set.</p><p>Thanks!
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (tikonwc3)</author>
		<pubDate>Wed, 24 Oct 2012 10:06:28 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You could try passing an absolute path to your font. If that fails, you probably have a faulty installation of Allegro.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (weapon_S)</author>
		<pubDate>Wed, 24 Oct 2012 22:45:00 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Something else I noticed: al_get_standard_path() doesn&#39;t actually change or set path information. It creates and returns a pointer to an ALLEGRO_PATH object. This means you will have a memory leak if you don&#39;t put the results of the call into an ALLEGRO_PATH pointer, plus if you actually want to use an ALLEGRO_PATH object to properly obtain a file location, you need to use combinations of al_set_path_filename() and al_path_cstr(). Here&#39;s the function I wrote to simplify loading textures from a textures folder off of my main game folder:</p><div class="source-code snippet"><div class="inner"><pre><a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>VZ_LoadBitmap <span class="k2">(</span><span class="k1">const</span> <span class="k1">char</span> <span class="k3">*</span>filepath, <span class="k1">const</span> <span class="k1">char</span> <span class="k3">*</span>filename, <span class="k1">int</span> bitmap_flags<span class="k2">)</span> 
<span class="k2">{</span>
  <span class="c">// This is merely a function to simplify bitmap loading. Return values are identical to al_load_bitmap()</span>
  <a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>tempbmp<span class="k2">;</span>
  <a href="http://www.allegro.cc/manual/al_destroy_path"><span class="a">al_destroy_path</span></a><span class="k2">(</span>temppath<span class="k2">)</span><span class="k2">;</span> temppath <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_clone_path"><span class="a">al_clone_path</span></a><span class="k2">(</span>gamepath<span class="k2">)</span><span class="k2">;</span> <a href="http://www.allegro.cc/manual/al_append_path_component"><span class="a">al_append_path_component</span></a><span class="k2">(</span>temppath,filepath<span class="k2">)</span><span class="k2">;</span> <a href="http://www.allegro.cc/manual/al_set_path_filename"><span class="a">al_set_path_filename</span></a><span class="k2">(</span>temppath,filename<span class="k2">)</span><span class="k2">;</span>
  <a href="http://www.allegro.cc/manual/al_set_new_bitmap_flags"><span class="a">al_set_new_bitmap_flags</span></a><span class="k2">(</span>bitmap_flags<span class="k2">)</span><span class="k2">;</span>
  tempbmp <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><a href="http://www.allegro.cc/manual/al_path_cstr"><span class="a">al_path_cstr</span></a><span class="k2">(</span>temppath,ALLEGRO_NATIVE_PATH_SEP<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
  <span class="k1">return</span> tempbmp<span class="k2">;</span>
<span class="k2">}</span>
</pre></div></div><p>

Note that &quot;temppath&quot; and &quot;gamepath&quot; are defined as global pointers to ALLEGRO_PATH objects and that gamepath has been set at the start of the program using al_get_standard_path(). Also, the first al_destroy_path(temppath) call only works because I specifically set all pointers I use to NULL at the start of my programs, otherwise this would crash everything.</p><p>It also may look like my call to al_path_cstr() is a memory leak, but the pointer is actually tracked by the ALLEGRO_PATH object so I don&#39;t have to worry about it. <img src="http://www.allegro.cc/forums/smileys/wink.gif" alt=";)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Kris Asick)</author>
		<pubDate>Thu, 25 Oct 2012 03:48:58 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Thank you for the detailed post! Could I ask for a little more detail on how to use it though? I&#39;m in a hurry so forgive my quick post, but you said linking to an allegro program file, which I don&#39;t understand, I installed it by drag and drop the bin include and lib folders. </p><p>I&#39;m sorry for the hasty reply but College + work = pain in the <span class="cuss"><span>ass</span></span> &gt;_&lt;</p><p>Thanks again
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (tikonwc3)</author>
		<pubDate>Fri, 26 Oct 2012 05:26:11 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Uhh... slow down and actually have time to read stuff before you respond again. I never said anything like that... *reads up* ...doesn&#39;t look like anyone else did either. <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Kris Asick)</author>
		<pubDate>Fri, 26 Oct 2012 05:40:36 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Sorry about the hasty reply. But thanks a lot for your excerpt. </p><p>I&#39;m pretty new to allegro and I won&#39;t lie that looks pretty scary..But id be a horrible programmer if I let everything scare me away <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" /></p><p>So from what youve told me I&#39;m wanting to do something like this..</p><div class="source-code snippet"><div class="inner"><pre>string <span class="k3">*</span>path <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_path_cstr"><span class="a">al_path_cstr</span></a><span class="k2">(</span><span class="s">"c:\..."</span><span class="k2">;</span>
<span class="c">//then use </span>
<a href="http://www.allegro.cc/manual/al_get_standard_path"><span class="a">al_get_standard_path</span></a><span class="k2">(</span><span class="k3">*</span>path<span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>

Thanks again for reading
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (tikonwc3)</author>
		<pubDate>Sun, 28 Oct 2012 00:37:22 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Uh... No.</p><p>The following is essentially what you need to do to work with filenames and paths with Allegro&#39;s built-in functions. Use the Allegro Manual to get information on the usage of these functions:</p><p>1. Create a pointer to an ALLEGRO_PATH object.<br />2. Use al_get_standard_path() to assign a path to your ALLEGRO_PATH object.<br />3. Use al_set_path_filename() to set the name of the file you want to load in your ALLEGRO_PATH object.<br />4. When you&#39;re ready to load your file, use al_path_cstr() to acquire a string pointer for use directly in a loading command, like al_load_font(). The string returned is stored and tracked by the ALLEGRO_PATH object that generated it, so you can treat the result like a constant instead of as an object that needs to be destroyed.<br />5. When you&#39;re done with your ALLEGRO_PATH object, call al_destroy_path() on it.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Kris Asick)</author>
		<pubDate>Sun, 28 Oct 2012 00:45:23 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;m having trouble with step 3 of that. so far I have this<br />&lt;code&gt;<br />    ALLEGRO_PATH *myPath = al_get_standard_path(ALLEGRO_EXENAME_PATH);<br />    al_set_path_filename(*myPath, const char *filename = &quot;drakon.ttf&quot;);<br />&lt;/code.&gt;</p><p>so in the manual it gives this</p><p>void al_set_path_filename(ALLEGRO_PATH *path, const char *filename)</p><p>I&#39;m at a loss here, I&#39;ve already created my allegro path object, and declared my al_set_path_filename, so why created a function to set them again?</p><p>Thanks
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (tikonwc3)</author>
		<pubDate>Sun, 28 Oct 2012 03:21:18 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I think you might need to study up on C/C++ a bit more. Your code there shows a lack of basic C/C++ knowledge.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Sun, 28 Oct 2012 06:23:33 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>More-so a lack of pointer knowledge. *&#39;s indicate that you either want to create a pointer to a variable, that you want to grab the information from a pointed variable, or that a function wants a pointer as one of its arguements.</p><p>Like:</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">int</span> <span class="k3">*</span>PointerToInt<span class="k2">;</span>
ThisFunctionWantsAPointer<span class="k2">(</span>PointerToInt<span class="k2">)</span><span class="k2">;</span>
ThisFunctionWantsAnInt<span class="k2">(</span><span class="k3">*</span>PointerToInt<span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>

Or, you can grab the pointer of a non-pointer variable using an ampersand, like so:</p><div class="source-code snippet"><div class="inner"><pre><span class="k1">int</span> MyInt<span class="k2">;</span>
ThisFunctionWantsAnInt<span class="k2">(</span>MyInt<span class="k2">)</span><span class="k2">;</span>
ThisFunctionWantsAPointer<span class="k2">(</span><span class="k3">&amp;</span>MyInt<span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Kris Asick)</author>
		<pubDate>Sun, 28 Oct 2012 09:36:16 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I&#39;m fine with pointers, but this explanation really confused me.</p><p>To make it simple, I&#39;ll just state it as is:<br />Pointer is an integer that contains an absolute address to some place in a memory, no more than that. Type of a pointer only helps to know how much data is <i>supposed</i> to be there where pointer points to.</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">int</span> i<span class="k2">;</span>
<span class="number">  2</span><span class="k1">int</span> <span class="k3">*</span> i_ptr<span class="k2">;</span>
<span class="number">  3</span><span class="k1">int</span> <span class="k3">*</span> a<span class="k2">;</span>
<span class="number">  4</span>
<span class="number">  5</span>i <span class="k3">=</span> <span class="n">10</span><span class="k2">;</span>
<span class="number">  6</span><span class="c">/* this puts address of i to a_ptr */</span>
<span class="number">  7</span>i_ptr <span class="k3">=</span> <span class="k3">&amp;</span>i<span class="k2">;</span>
<span class="number">  8</span><span class="c">/* this prints whatever i_ptr actually contains itself */</span>
<span class="number">  9</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a> <span class="k2">(</span> <span class="s">"%p "</span>, i_ptr <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 10</span><span class="c">/* and this prints dereferenced i_ptr, i.e. assuming i_ptr points to an int */</span>
<span class="number"> 11</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a> <span class="k2">(</span> <span class="s">"%d\n"</span>, <span class="k3">*</span>i_ptr <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 12</span><span class="c">/* if you change the value the pointer points to, pointer itself won't change,</span>
<span class="number"> 13</span><span class="c"> * but the value pointed by it - will (duh) */</span>
<span class="number"> 14</span>i <span class="k3">=</span> <span class="n">15</span><span class="k2">;</span>
<span class="number"> 15</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a> <span class="k2">(</span> <span class="s">"%p %d\n"</span>, i_ptr, <span class="k3">*</span>i_ptr <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 16</span><span class="c">/* you can also modify a value by dereferencing a pointer */</span>
<span class="number"> 17</span><span class="k3">*</span>i_ptr <span class="k3">=</span> <span class="n">30</span><span class="k2">;</span>
<span class="number"> 18</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a> <span class="k2">(</span> <span class="s">"%p %d\n"</span>, i_ptr, <span class="k3">*</span>i_ptr <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 19</span><span class="c">/* you can dereference a value pointed by pointer as a different type,</span>
<span class="number"> 20</span><span class="c"> * but it will just give you garbage if types are incompatible */</span>
<span class="number"> 21</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a> <span class="k2">(</span> <span class="s">"%p %c\n"</span>, <span class="k2">(</span><span class="k1">char</span><span class="k3">*</span><span class="k2">)</span>i_ptr, <span class="k3">*</span><span class="k2">(</span><span class="k1">char</span><span class="k3">*</span><span class="k2">)</span>i_ptr <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 22</span><span class="c">/* the most common use of pointers though is remembering where you allocated</span>
<span class="number"> 23</span><span class="c"> * your memory */</span>
<span class="number"> 24</span>a <span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_551.html" target="_blank">malloc</a> <span class="k2">(</span> <span class="k1">sizeof</span> <span class="k2">(</span> <span class="k1">int</span> <span class="k2">)</span> <span class="k3">*</span> <span class="n">32</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 25</span><span class="c">/* With memory allocated like that, you can do pointer math. The pointer acts</span>
<span class="number"> 26</span><span class="c"> * not like an integral value, but as a index number for memory cells exactly as</span>
<span class="number"> 27</span><span class="c"> * large to contain a single int in them. The following sets zeroth cell to 0,</span>
<span class="number"> 28</span><span class="c"> * first cell to 10 and second cell to 20. */</span>
<span class="number"> 29</span><span class="k3">*</span><span class="k2">(</span>a <span class="k3">+</span> <span class="n">0</span><span class="k2">)</span> <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 30</span><span class="k3">*</span><span class="k2">(</span>a <span class="k3">+</span> <span class="n">1</span><span class="k2">)</span> <span class="k3">=</span> <span class="n">10</span><span class="k2">;</span>
<span class="number"> 31</span><span class="k3">*</span><span class="k2">(</span>a <span class="k3">+</span> <span class="n">2</span><span class="k2">)</span> <span class="k3">=</span> <span class="n">20</span><span class="k2">;</span>
<span class="number"> 32</span><span class="c">/* And that would output contents of first four cells. Note that third cell</span>
<span class="number"> 33</span><span class="c"> * contains garbage - this is normal. Memory allocation does not reset anything</span>
<span class="number"> 34</span><span class="c"> * that was in the allocated memory block, so if you require initialzied memory,</span>
<span class="number"> 35</span><span class="c"> * you'll have to either do it yourself or call calloc. */</span>
<span class="number"> 36</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a> <span class="k2">(</span> <span class="s">"%p %d %d %d %d\n"</span>, a, <span class="k3">*</span><span class="k2">(</span>a <span class="k3">+</span> <span class="n">0</span><span class="k2">)</span>, <span class="k3">*</span><span class="k2">(</span>a <span class="k3">+</span> <span class="n">1</span><span class="k2">)</span>, <span class="k3">*</span><span class="k2">(</span>a <span class="k3">+</span> <span class="n">2</span><span class="k2">)</span>, <span class="k3">*</span><span class="k2">(</span>a <span class="k3">+</span> <span class="n">3</span><span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 37</span><span class="c">/* This moves a pointer once cell forward. Note that if you want to call free,</span>
<span class="number"> 38</span><span class="c"> * you will need to provide precisely the value returned by previous malloc. */</span>
<span class="number"> 39</span>a <span class="k3">+</span><span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 40</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a> <span class="k2">(</span> <span class="s">"%p %d %d\n"</span>, a, <span class="k3">*</span><span class="k2">(</span>a <span class="k3">+</span> <span class="n">0</span><span class="k2">)</span>, <span class="k3">*</span><span class="k2">(</span>a <span class="k3">+</span> <span class="n">1</span> <span class="k2">)</span> <span class="k2">)</span><span class="k2">;</span>
<span class="number"> 41</span><span class="c">/* there also another, more conventional notation to dereference allocated</span>
<span class="number"> 42</span><span class="c"> * memory cells */</span>
<span class="number"> 43</span>a <span class="k2">[</span> <span class="n">2</span> <span class="k2">]</span> <span class="k3">=</span> <span class="n">30</span><span class="k2">;</span>
<span class="number"> 44</span>a <span class="k2">[</span> <span class="n">3</span> <span class="k2">]</span> <span class="k3">=</span> <span class="n">40</span><span class="k2">;</span>
<span class="number"> 45</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a> <span class="k2">(</span> <span class="s">"%p %d %d\n"</span>, a, a <span class="k2">[</span> <span class="n">2</span> <span class="k2">]</span>, a <span class="k2">[</span> <span class="n">3</span> <span class="k2">]</span> <span class="k2">)</span><span class="k2">;</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Raidho36)</author>
		<pubDate>Sun, 28 Oct 2012 11:10:10 +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/611310/969038#target">Kris Asick</a> said:</div><div class="quote"><p>More-so a lack of pointer knowledge.</p></div></div><p>
You <i>might</i> want to check his code again:
</p><div class="source-code snippet"><div class="inner"><pre>ALLEGRO_PATH <span class="k3">*</span>myPath <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_get_standard_path"><span class="a">al_get_standard_path</span></a><span class="k2">(</span>ALLEGRO_EXENAME_PATH<span class="k2">)</span><span class="k2">;</span>
<a href="http://www.allegro.cc/manual/al_set_path_filename"><span class="a">al_set_path_filename</span></a><span class="k2">(</span><span class="k3">*</span>myPath, <span class="k1">const</span> <span class="k1">char</span> <span class="k3">*</span>filename <span class="k3">=</span> <span class="s">"drakon.ttf"</span><span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>

Particularly the second argument to <span class="source-code"><a href="http://www.allegro.cc/manual/al_set_path_filename"><span class="a">al_set_path_filename</span></a></span>.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Sun, 28 Oct 2012 11:37:41 +0000</pubDate>
	</item>
</rss>
