<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Allegro 5 fails to load TTF font</title>
		<link>http://www.allegro.cc/forums/view/605931</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Fri, 31 Dec 2010 07:41:56 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>So i&#39;ve been using Allegro 5 to create a client and I just recently got to the font part. I started off by trying to load the arial TTF font. It failed. The odd thing about this is I had made another program using the exact same font(it was identical code) and it worked on my other computer. But it fails here. I am quite confused right now why this could be.<br />The order that I initialize the addons. Not sure if it matters.
</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><a href="http://www.allegro.cc/manual/al_init_image_addon"><span class="a">al_init_image_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 2</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"> 3</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"> 4</span><a href="http://www.allegro.cc/manual/al_init_primitives_addon"><span class="a">al_init_primitives_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 5</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>
</div></div><p>

The peice of code where I try to retrieve the font.<br /><span class="source-code"><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">"arial.ttf"</span>, <span class="n">12</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span></span></p><p>If there is any additional information you need to know then you&#39;re welcome to ask me. I would just like to solve this problem so I can continue on.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Addison Elliott)</author>
		<pubDate>Thu, 30 Dec 2010 01:02:54 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Have you tried:</p><div class="source-code snippet"><div class="inner"><pre><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>
<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>
<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>
<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>
<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>
</pre></div></div><p>

The logic here is that you are trying to turn on the radio without first putting the key in the ignition <img src="http://www.allegro.cc/forums/smileys/wink.gif" alt=";)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (jmasterx)</author>
		<pubDate>Thu, 30 Dec 2010 01:58:43 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I just tried replacing it with my old code and it didn&#39;t seem to fix anything.</p><p>Edit: I do get your logic now <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" /><br />Another thing I might need to add is that i&#39;m using 4.9.22. Not sure if there was a bug in it that was solved in another version or something.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Addison Elliott)</author>
		<pubDate>Thu, 30 Dec 2010 02:09:51 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>hmmm</p><p>maybe you can check if anything is not initing...</p><div class="source-code snippet"><div class="inner"><pre><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="c">//uh ohs</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="k2">{</span>
  <span class="c">//uh ohs</span>
<span class="k2">}</span>
</pre></div></div><p>

Although I doubt this is the problem, maybe font is being mangled with something else since it is a common name. Maybe try arialFont instead.</p><p>I used 4.9.22 for a while with no problems,</p><p>Here is my cheezy, messy, testbed for my gui api,<br />maybe you can find your answer somewhere it it <img src="http://www.allegro.cc/forums/smileys/wink.gif" alt=";)" /></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">/*======================================</span>
<span class="number">   2</span><span class="c">ALLEGRO 5 TEMPLATE</span>
<span class="number">   3</span><span class="c">======================================== */</span>
<span class="number">   4</span>
<span class="number">   5</span><span class="p">#include "Agui/Agui.hpp"</span>
<span class="number">   6</span><span class="p">#include "Agui/Widgets/Label/AguiLabel.hpp"</span>
<span class="number">   7</span><span class="p">#include "Agui/Widgets/Button/AguiButton.hpp"</span>
<span class="number">   8</span><span class="p">#include "Agui/Widgets/CheckBox/AguiCheckBox.hpp"</span>
<span class="number">   9</span><span class="p">#include "Agui/Widgets/RadioButton/AguiRadioButton.hpp"</span>
<span class="number">  10</span><span class="p">#include "agui/Widgets/RadioButton/AguiRadioButtonGroup.hpp"</span>
<span class="number">  11</span><span class="p">#include "Agui/Widgets/ScrollBar/AguiVScrollBar.hpp"</span>
<span class="number">  12</span><span class="p">#include "Agui/Widgets/ScrollBar/AguiHScrollBar.hpp"</span>
<span class="number">  13</span><span class="p">#include "Agui/Backends/Allegro5/AguiAllegro5.hpp"</span>
<span class="number">  14</span>
<span class="number">  15</span><span class="p">#include &lt;stdlib.h&gt;  //Standard library</span>
<span class="number">  16</span><span class="p">#include &lt;string.h&gt;  //String functions</span>
<span class="number">  17</span><span class="p">#include &lt;sstream&gt;  //More string functions</span>
<span class="number">  18</span>
<span class="number">  19</span><span class="p">#include &lt;allegro5/allegro.h&gt;</span>
<span class="number">  20</span><span class="p">#include &lt;allegro5/allegro5.h&gt;</span>
<span class="number">  21</span><span class="p">#include &lt;allegro5/allegro_image.h&gt;</span>
<span class="number">  22</span><span class="p">#include &lt;allegro5/allegro_primitives.h&gt;</span>
<span class="number">  23</span><span class="p">#include &lt;allegro5/allegro_audio.h&gt;</span>
<span class="number">  24</span><span class="p">#include &lt;allegro5/allegro_font.h&gt;</span>
<span class="number">  25</span><span class="p">#include &lt;allegro5/allegro_ttf.h&gt;</span>
<span class="number">  26</span><span class="p">#include &lt;allegro5/allegro_acodec.h&gt;</span>
<span class="number">  27</span><span class="p">#include &lt;allegro5/allegro_opengl.h&gt;</span>
<span class="number">  28</span><span class="c">//#include &lt;allegro5/allegro_physfs.h&gt;</span>
<span class="number">  29</span><span class="c">//#include &lt;physfs.h&gt;</span>
<span class="number">  30</span>
<span class="number">  31</span><span class="p">#include &lt;vector&gt;   //Dynamic array data structure</span>
<span class="number">  32</span><span class="p">#include &lt;math.h&gt;   // C99 Math functions</span>
<span class="number">  33</span><span class="p">#include &lt;ctime&gt;  // C Time functions</span>
<span class="number">  34</span><span class="p">#include &lt;iostream&gt;</span>
<span class="number">  35</span><span class="k1">bool</span> yes <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number">  36</span>
<span class="number">  37</span><span class="p">#define FRAME_RATE 60</span>
<span class="number">  38</span>
<span class="number">  39</span><span class="c">//Declarations</span>
<span class="number">  40</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">  41</span><a href="http://www.allegro.cc/manual/ALLEGRO_MONITOR_INFO"><span class="a">ALLEGRO_MONITOR_INFO</span></a> info<span class="k2">;</span>
<span class="number">  42</span><a href="http://www.allegro.cc/manual/ALLEGRO_TIMER"><span class="a">ALLEGRO_TIMER</span></a> <span class="k3">*</span>timer<span class="k2">;</span>
<span class="number">  43</span><a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> event<span class="k2">;</span>
<span class="number">  44</span><a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a> <span class="k3">*</span>queue<span class="k2">;</span>
<span class="number">  45</span><a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a> <span class="k3">*</span>flow<span class="k2">;</span>
<span class="number">  46</span><span class="k1">bool</span> done<span class="k2">;</span>
<span class="number">  47</span>AguiBitmap glass<span class="k2">;</span>
<span class="number">  48</span>AguiButton <span class="k3">*</span>myButton<span class="k2">;</span>
<span class="number">  49</span>AguiButton <span class="k3">*</span>mySecondButton<span class="k2">;</span>
<span class="number">  50</span>AguiWidgetManager <span class="k3">*</span>con<span class="k2">;</span>
<span class="number">  51</span>AguiEventManager<span class="k3">*</span> Eman<span class="k2">;</span>
<span class="number">  52</span>AguiAllegro5GraphicsManager<span class="k3">*</span> Gman<span class="k2">;</span>
<span class="number">  53</span>AguiTextAreaManager TextAreaMan<span class="k2">;</span>
<span class="number">  54</span> AguiBitmap button<span class="k2">;</span>
<span class="number">  55</span> AguiFont segoe<span class="k2">;</span>
<span class="number">  56</span><a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a><span class="k3">*</span> rawww<span class="k2">;</span>
<span class="number">  57</span>AguiRectangle test<span class="k2">;</span>
<span class="number">  58</span>AguiBitmap buttPic<span class="k2">[</span><span class="n">3</span><span class="k2">]</span><span class="k2">;</span>
<span class="number">  59</span>AguiRadioButton <span class="k3">*</span>checkbox<span class="k2">[</span><span class="n">9</span><span class="k2">]</span><span class="k2">[</span><span class="n">9</span><span class="k2">]</span><span class="k2">;</span>
<span class="number">  60</span>AguiVScrollBar <span class="k3">*</span>vscroll<span class="k2">;</span>
<span class="number">  61</span>AguiHScrollBar <span class="k3">*</span>hscroll<span class="k2">;</span>
<span class="number">  62</span>std::vector<span class="k3">&lt;</span>std::string&gt; testVec<span class="k2">;</span>
<span class="number">  63</span>std::vector<span class="k3">&lt;</span>std::string&gt; lineTestVec<span class="k2">;</span>
<span class="number">  64</span>
<span class="number">  65</span>
<span class="number">  66</span>AguiLabel <span class="k3">*</span>label<span class="k2">;</span>
<span class="number">  67</span>
<span class="number">  68</span><a href="http://www.allegro.cc/manual/ALLEGRO_COLOR"><span class="a">ALLEGRO_COLOR</span></a> BLACK <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">0</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  69</span><span class="k1">int</span> ret<span class="k2">;</span>
<span class="number">  70</span><span class="k1">bool</span> <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span><span class="n">256</span><span class="k2">]</span><span class="k2">;</span>
<span class="number">  71</span>
<span class="number">  72</span><span class="c">//Mouse</span>
<span class="number">  73</span><span class="k1">int</span> mX <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  74</span><span class="k1">int</span> mY <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number">  75</span>
<span class="number">  76</span>
<span class="number">  77</span><span class="k1">void</span> init<span class="k2">(</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number">  78</span>  <span class="c">//Install event handlers</span>
<span class="number">  79</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">  80</span>  <a href="http://www.allegro.cc/manual/al_init_image_addon"><span class="a">al_init_image_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  81</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">  82</span>  <a href="http://www.allegro.cc/manual/al_init_primitives_addon"><span class="a">al_init_primitives_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  83</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">  84</span>  <a href="http://www.allegro.cc/manual/al_install_mouse"><span class="a">al_install_mouse</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  85</span>  <a href="http://www.allegro.cc/manual/al_install_keyboard"><span class="a">al_install_keyboard</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  86</span>  <a href="http://www.allegro.cc/manual/al_install_joystick"><span class="a">al_install_joystick</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  87</span>  <a href="http://www.allegro.cc/manual/al_install_audio"><span class="a">al_install_audio</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  88</span>  <a href="http://www.allegro.cc/manual/al_init_acodec_addon"><span class="a">al_init_acodec_addon</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  89</span>  
<span class="number">  90</span>  <span class="c">//For PhysFS</span>
<span class="number">  91</span>  <span class="c">//PHYSFS_init(0);</span>
<span class="number">  92</span>  <span class="c">//PHYSFS_addToSearchPath("",1);</span>
<span class="number">  93</span>    
<span class="number">  94</span>  <span class="c">// Start a timer to regulate speed</span>
<span class="number">  95</span>
<span class="number">  96</span>
<span class="number">  97</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>FRAME_RATE<span class="k2">)</span><span class="k2">;</span>
<span class="number">  98</span>  <a href="http://www.allegro.cc/manual/al_start_timer"><span class="a">al_start_timer</span></a><span class="k2">(</span>timer<span class="k2">)</span><span class="k2">;</span>
<span class="number">  99</span>
<span class="number"> 100</span>  <span class="c">//for audio....</span>
<span class="number"> 101</span>  <span class="c">//al_reserve_samples(64);</span>
<span class="number"> 102</span>
<span class="number"> 103</span>  <span class="c">//for keyboard...</span>
<span class="number"> 104</span>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_569.html" target="_blank">memset</a><span class="k2">(</span><a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a>,<span class="n">0</span>,<span class="k1">sizeof</span><span class="k2">(</span><span class="k1">bool</span><span class="k2">)</span> <span class="k3">*</span> <span class="n">256</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 105</span>
<span class="number"> 106</span>
<span class="number"> 107</span>  <span class="c">//make the random function randomer</span>
<span class="number"> 108</span>  <a href="http://www.delorie.com/djgpp/doc/libc/libc_739.html" target="_blank">srand</a><span class="k2">(</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_821.html" target="_blank">time</a><span class="k2">(</span>NULL<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 109</span>
<span class="number"> 110</span>
<span class="number"> 111</span>  <span class="c">//show screen</span>
<span class="number"> 112</span>  <span class="c">//al_set_new_display_option(ALLEGRO_SAMPLE_BUFFERS, 1, ALLEGRO_REQUIRE);</span>
<span class="number"> 113</span>  <span class="c">//al_set_new_display_option(ALLEGRO_SAMPLES, 4, ALLEGRO_REQUIRE);</span>
<span class="number"> 114</span>
<span class="number"> 115</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_RESIZABLE <span class="k3">|</span> ALLEGRO_OPENGL_3_0<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 116</span>
<span class="number"> 117</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"> 118</span>
<span class="number"> 119</span>  <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>display<span class="k2">)</span>
<span class="number"> 120</span>  <span class="k2">{</span>
<span class="number"> 121</span>    done <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 122</span>  <span class="k2">}</span>
<span class="number"> 123</span>  <span class="c">//show the mouse</span>
<span class="number"> 124</span>  <a href="http://www.allegro.cc/manual/al_show_mouse_cursor"><span class="a">al_show_mouse_cursor</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">;</span> 
<span class="number"> 125</span>
<span class="number"> 126</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>ALLEGRO_VIDEO_BITMAP<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 127</span>
<span class="number"> 128</span>  <span class="c">//For PhysFS</span>
<span class="number"> 129</span>  <span class="c">//al_set_physfs_file_interface();</span>
<span class="number"> 130</span>
<span class="number"> 131</span>  <span class="c">//Window Title</span>
<span class="number"> 132</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">"Allegro 5 Template"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 133</span>
<span class="number"> 134</span>  queue <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_event_queue"><span class="a">al_create_event_queue</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 135</span>
<span class="number"> 136</span>  AguiBitmap::setBitmapManager<span class="k2">(</span><span class="k1">new</span> AguiAllegro5BitmapManager<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 137</span>  AguiFont::setFontManager<span class="k2">(</span><span class="k1">new</span> AguiAllegro5FontManager<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 138</span>
<span class="number"> 139</span>   Eman <span class="k3">=</span> <span class="k1">new</span> AguiAllegro5EventManager<span class="k2">(</span><span class="k3">&amp;</span>event,queue<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 140</span>   Gman <span class="k3">=</span> <span class="k1">new</span> AguiAllegro5GraphicsManager<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 141</span>
<span class="number"> 142</span>  con <span class="k3">=</span> <span class="k1">new</span> AguiWidgetManager<span class="k2">(</span>Eman,Gman<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 143</span>
<span class="number"> 144</span>  segoe <span class="k3">=</span> AguiFont<span class="k2">(</span>std::string<span class="k2">(</span><span class="s">"test.ttf"</span><span class="k2">)</span>,<span class="n">18</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 145</span>  AguiWidget::setGlobalFont<span class="k2">(</span>segoe<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 146</span>
<span class="number"> 147</span>  <span class="k1">if</span><span class="k2">(</span><span class="k3">!</span>display<span class="k2">)</span>
<span class="number"> 148</span>  <span class="k2">{</span>
<span class="number"> 149</span>    std::cerr <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">" EPIC display fail \n"</span><span class="k2">;</span>
<span class="number"> 150</span>    done <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 151</span>  <span class="k2">}</span>
<span class="number"> 152</span>
<span class="number"> 153</span>
<span class="number"> 154</span>
<span class="number"> 155</span><span class="k2">}</span>
<span class="number"> 156</span>AguiRectangle r<span class="k2">;</span> 
<span class="number"> 157</span>
<span class="number"> 158</span>
<span class="number"> 159</span><span class="c">//Mouse_Down</span>
<span class="number"> 160</span><span class="k1">void</span> mousedown<span class="k2">(</span>ALLEGRO_MOUSE_EVENT <span class="k3">*</span>mouse<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 161</span>
<span class="number"> 162</span>  <span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>mouse<span class="k2">;</span>
<span class="number"> 163</span>  <span class="k2">}</span>
<span class="number"> 164</span><span class="c">//Mouse Up</span>
<span class="number"> 165</span><span class="k1">void</span> mouseup<span class="k2">(</span>ALLEGRO_MOUSE_EVENT <span class="k3">*</span>mouse<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 166</span>  <span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>mouse<span class="k2">;</span>
<span class="number"> 167</span>  <span class="k2">}</span>
<span class="number"> 168</span><span class="c">// If a key is pressed down, add it to the key array</span>
<span class="number"> 169</span><span class="k1">void</span> keydown<span class="k2">(</span>ALLEGRO_KEYBOARD_EVENT <span class="k3">*</span>kb<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 170</span>  <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>kb-&gt;keycode<span class="k2">]</span> <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 171</span>
<span class="number"> 172</span>  <span class="k1">if</span><span class="k2">(</span>kb-&gt;keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_ESCAPE<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 173</span>    
<span class="number"> 174</span>    done <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 175</span>  <span class="k2">}</span>
<span class="number"> 176</span>
<span class="number"> 177</span><span class="k2">}</span>
<span class="number"> 178</span>
<span class="number"> 179</span><span class="c">// If a key is released, mark it as unpressed</span>
<span class="number"> 180</span><span class="k1">void</span> keyup<span class="k2">(</span>ALLEGRO_KEYBOARD_EVENT <span class="k3">*</span>kb<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 181</span>  <a href="http://www.allegro.cc/manual/key"><span class="a">key</span></a><span class="k2">[</span>kb-&gt;keycode<span class="k2">]</span> <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 182</span><span class="k2">}</span>
<span class="number"> 183</span>
<span class="number"> 184</span><span class="c">// If an operating system repeat event comes in, set the flag</span>
<span class="number"> 185</span><span class="k1">void</span> keyrepeat<span class="k2">(</span>ALLEGRO_KEYBOARD_EVENT <span class="k3">*</span>kb<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 186</span><span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>kb<span class="k2">;</span>
<span class="number"> 187</span><span class="k2">}</span>
<span class="number"> 188</span>
<span class="number"> 189</span><span class="c">//Mouse Move</span>
<span class="number"> 190</span>
<span class="number"> 191</span><span class="c">//texty</span>
<span class="number"> 192</span>AguiRectangle re <span class="k3">=</span> AguiRectangle<span class="k2">(</span><span class="n">0</span>,<span class="n">0</span>,<span class="n">300</span>,<span class="n">300</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 193</span><span class="k1">void</span> mouseaxes<span class="k2">(</span>ALLEGRO_MOUSE_EVENT <span class="k3">*</span>mouse<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 194</span>  mX <span class="k3">=</span> mouse-&gt;x<span class="k2">;</span>
<span class="number"> 195</span>  mY <span class="k3">=</span> mouse-&gt;y<span class="k2">;</span>
<span class="number"> 196</span>
<span class="number"> 197</span>  <span class="k2">}</span>
<span class="number"> 198</span>  <span class="k1">void</span> render<span class="k2">(</span><span class="k2">)</span>
<span class="number"> 199</span>  <span class="k2">{</span>
<span class="number"> 200</span>   <span class="c">//draw to the screen</span>
<span class="number"> 201</span>  
<span class="number"> 202</span>   <span class="c">//code goes here</span>
<span class="number"> 203</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>BLACK<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 204</span>
<span class="number"> 205</span>  con-&gt;handleRender<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 206</span>
<span class="number"> 207</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"> 208</span>
<span class="number"> 209</span>  <span class="k2">}</span>
<span class="number"> 210</span>
<span class="number"> 211</span><span class="k1">int</span> main<span class="k2">(</span><span class="k1">int</span> argc, <span class="k1">char</span> <span class="k3">*</span>argv<span class="k2">[</span><span class="k2">]</span><span class="k2">)</span>
<span class="number"> 212</span>
<span class="number"> 213</span><span class="k2">{</span>
<span class="number"> 214</span>  <span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>argc<span class="k2">;</span>
<span class="number"> 215</span>  <span class="k2">(</span><span class="k1">void</span><span class="k2">)</span>argv<span class="k2">;</span>
<span class="number"> 216</span>  <span class="c">//initialize game</span>
<span class="number"> 217</span>  init<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 218</span>  <span class="k1">bool</span> need_redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 219</span>
<span class="number"> 220</span>  <span class="c">//Main Loop</span>
<span class="number"> 221</span>
<span class="number"> 222</span><span class="c">//***** Start Main Code Here *****</span>
<span class="number"> 223</span>
<span class="number"> 224</span>  <span class="c">// Start the event queue to handle keyboard input and our timer</span>
<span class="number"> 225</span>  
<span class="number"> 226</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, <span class="k2">(</span><a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_SOURCE"><span class="a">ALLEGRO_EVENT_SOURCE</span></a><span class="k3">*</span><span class="k2">)</span><a href="http://www.allegro.cc/manual/al_get_keyboard_event_source"><span class="a">al_get_keyboard_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 227</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, <span class="k2">(</span><a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_SOURCE"><span class="a">ALLEGRO_EVENT_SOURCE</span></a><span class="k3">*</span><span class="k2">)</span><a href="http://www.allegro.cc/manual/al_get_mouse_event_source"><span class="a">al_get_mouse_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 228</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, <span class="k2">(</span><a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_SOURCE"><span class="a">ALLEGRO_EVENT_SOURCE</span></a><span class="k3">*</span><span class="k2">)</span>timer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 229</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, <span class="k2">(</span><a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_SOURCE"><span class="a">ALLEGRO_EVENT_SOURCE</span></a><span class="k3">*</span><span class="k2">)</span>display<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 230</span>
<span class="number"> 231</span>  
<span class="number"> 232</span>
<span class="number"> 233</span>    
<span class="number"> 234</span>  <span class="k1">while</span><span class="k2">(</span><span class="k3">!</span>done<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 235</span>  
<span class="number"> 236</span>    <span class="c">// Block until an event enters the queue</span>
<span class="number"> 237</span>        <span class="k1">if</span> <span class="k2">(</span>need_redraw <span class="k3">&amp;</span><span class="k3">&amp;</span> al_event_queue_is_empty<span class="k2">(</span>queue<span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 238</span>        render<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 239</span>
<span class="number"> 240</span>        need_redraw <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 241</span>      <span class="k2">}</span>
<span class="number"> 242</span>    <a href="http://www.allegro.cc/manual/al_wait_for_event"><span class="a">al_wait_for_event</span></a><span class="k2">(</span>queue, <span class="k3">&amp;</span>event<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 243</span>    con-&gt;handleEvent<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 244</span>
<span class="number"> 245</span>    <span class="c">//We only get here if there is an event in the queue</span>
<span class="number"> 246</span>    <span class="k1">switch</span><span class="k2">(</span>event.type<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 247</span>    <span class="k1">case</span> ALLEGRO_EVENT_MOUSE_AXES:
<span class="number"> 248</span>    mouseaxes<span class="k2">(</span><span class="k3">&amp;</span>event.mouse<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 249</span>    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 250</span>  
<span class="number"> 251</span>  <span class="k1">case</span> ALLEGRO_EVENT_MOUSE_BUTTON_DOWN:
<span class="number"> 252</span>    mousedown<span class="k2">(</span><span class="k3">&amp;</span>event.mouse<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 253</span>    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 254</span>  
<span class="number"> 255</span>  <span class="k1">case</span> ALLEGRO_EVENT_MOUSE_BUTTON_UP:
<span class="number"> 256</span>    mouseup<span class="k2">(</span><span class="k3">&amp;</span>event.mouse<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 257</span>    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 258</span>
<span class="number"> 259</span>  <span class="k1">case</span> ALLEGRO_EVENT_KEY_DOWN:
<span class="number"> 260</span>    keydown<span class="k2">(</span><span class="k3">&amp;</span>event.keyboard<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 261</span>    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 262</span>
<span class="number"> 263</span>  <span class="k1">case</span> ALLEGRO_EVENT_KEY_UP:
<span class="number"> 264</span>    keyup<span class="k2">(</span><span class="k3">&amp;</span>event.keyboard<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 265</span>    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 266</span>      
<span class="number"> 267</span>  
<span class="number"> 268</span>  <span class="k1">case</span> ALLEGRO_EVENT_TIMER:
<span class="number"> 269</span>    <span class="k1">if</span><span class="k2">(</span>event.timer.source <span class="k3">=</span><span class="k3">=</span> timer<span class="k2">)</span>
<span class="number"> 270</span>    <span class="k2">{</span>
<span class="number"> 271</span>
<span class="number"> 272</span>      need_redraw <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 273</span>    <span class="k2">}</span>
<span class="number"> 274</span>    
<span class="number"> 275</span>    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 276</span>  <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_RESIZE:
<span class="number"> 277</span>    <a href="http://www.allegro.cc/manual/al_acknowledge_resize"><span class="a">al_acknowledge_resize</span></a><span class="k2">(</span>event.display.source<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 278</span>
<span class="number"> 279</span>    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 280</span>  <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_CLOSE:
<span class="number"> 281</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 282</span>    <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 283</span>    <span class="k2">}</span>
<span class="number"> 284</span>    
<span class="number"> 285</span>  
<span class="number"> 286</span>  <span class="k2">}</span>
<span class="number"> 287</span><span class="c">//***** End Main Code Here *****</span>
<span class="number"> 288</span>
<span class="number"> 289</span>  <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 290</span><span class="k2">}</span>
</div></div><p>

If you want to post your code, I&#39;ll look and see if I see something fishy
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (jmasterx)</author>
		<pubDate>Thu, 30 Dec 2010 02:48:12 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I tried checking if it fails initializing but it doesn&#39;t. Then I copied the arial font into the folder and tried that, nothing. Then I renamed the arial font to arialFont.ttf and still nothing. Not sure what else it could be.</p><p>Edit: I&#39;m really bad at reading text after code. I saw the code then skipped over that last message of me showing you that code. Anyways, I don&#39;t want to throw it all at you so i&#39;ll just give you the file that it is in. If you think it could be anything else tell me. </p><p>Note: I do use a A5 wrapper class that a friend of mine has made. It pretty much is the same as any others code. And so you know, when something doesn&#39;t work I try to comment it out and make it more simple. I remove it all once I fix it <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" /></p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span><span class="p">#include "../renderer.hpp"</span>
<span class="number">  2</span><span class="p">#include "../../client.hpp"</span>
<span class="number">  3</span>
<span class="number">  4</span><span class="k1">static</span> <span class="k1">void</span> ButtonClick<span class="k2">(</span><span class="k1">void</span> <span class="k3">*</span>sender<span class="k2">)</span>
<span class="number">  5</span><span class="k2">{</span>
<span class="number">  6</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"the button was clicked\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  7</span><span class="k2">}</span>
<span class="number">  8</span>
<span class="number">  9</span><span class="k1">static</span> <span class="k1">void</span> LoadMainMenu<span class="k2">(</span>Renderer <span class="k3">*</span>renderer<span class="k2">)</span>
<span class="number"> 10</span><span class="k2">{</span>
<span class="number"> 11</span>    renderer-&gt;gui-&gt;background <span class="k3">=</span> renderer-&gt;bitmapLoader-&gt;Get<span class="k2">(</span><span class="s">"gui/background.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 12</span>
<span class="number"> 13</span>    <span class="c">//GUIControls::Icon *icon = new GUIControls::Icon(renderer-&gt;bitmapLoader-&gt;Get("gui/icon.png"));</span>
<span class="number"> 14</span>    <span class="c">//renderer-&gt;gui-&gt;AddChild(icon, a5::Rectangle(100, 300, 0, 0));</span>
<span class="number"> 15</span>
<span class="number"> 16</span>    <span class="c">//GUIControls::Button *button = new GUIControls::Button(renderer-&gt;bitmapLoader-&gt;Get("gui/regular.png"), renderer-&gt;bitmapLoader-&gt;Get("gui/hover.png"), 8);</span>
<span class="number"> 17</span>    <span class="c">//button-&gt;OnClick({ButtonClick, renderer});</span>
<span class="number"> 18</span>    <span class="c">//renderer-&gt;gui-&gt;AddChild(button, a5::Rectangle(300, 300, 0, 0));</span>
<span class="number"> 19</span>
<span class="number"> 20</span>    GUIControls::Primitive <span class="k3">*</span>primitive <span class="k3">=</span> <span class="k1">new</span> GUIControls::Primitive<span class="k2">(</span>GUIControls::Primitive::FilledRectangle, a5::RGB<span class="k2">(</span><span class="n">255</span>, <span class="n">201</span>, <span class="n">14</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 21</span>    renderer-&gt;gui-&gt;AddChild<span class="k2">(</span>primitive, a5::Rectangle<span class="k2">(</span><span class="n">100</span>, <span class="n">100</span>, <span class="n">400</span>, <span class="n">112</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 22</span>
<span class="number"> 23</span>    std::string fontDirectory <span class="k3">=</span> renderer-&gt;client-&gt;settings<span class="k2">[</span><span class="s">"FontDirectory"</span><span class="k2">]</span><span class="k2">;</span>
<span class="number"> 24</span>    <span class="c">//printf("grr: %s\n", (std::string(fontDirectory + "arial.ttf").c_str()));</span>
<span class="number"> 25</span>    <span class="c">//a5::Font *font = new a5::Font(std::string(fontDirectory + "arial.ttf").c_str(), 12);</span>
<span class="number"> 26</span>    <span class="c">//a5::Font *font = new a5::Font("arialFont.ttf", 15);</span>
<span class="number"> 27</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_ttf_font"><span class="a">al_load_ttf_font</span></a><span class="k2">(</span><span class="s">"./arialFont.ttf"</span>, <span class="k3">-</span><span class="n">12</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 28</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="number"> 29</span>    <span class="k2">{</span>
<span class="number"> 30</span>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"Failure to load font\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 31</span>    <span class="k2">}</span>
<span class="number"> 32</span>    <span class="c">//GUIControls::Textbox *textbox = new GUIControls::Textbox();</span>
<span class="number"> 33</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Addison Elliott)</author>
		<pubDate>Thu, 30 Dec 2010 03:18:41 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>what I meant was your ALLEGRO_FONT *font to become ALLEGRO_FONT *arialFont
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (jmasterx)</author>
		<pubDate>Thu, 30 Dec 2010 04:18:46 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Just tried that as well. Didn&#39;t affect anything.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Addison Elliott)</author>
		<pubDate>Thu, 30 Dec 2010 04:23:26 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>
 did you check the return value of al_init_ttf_font_addon() ?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (William Labbett)</author>
		<pubDate>Thu, 30 Dec 2010 04:36:36 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Then the best I can do is ask you to post some code so I can look through it for errors <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (jmasterx)</author>
		<pubDate>Thu, 30 Dec 2010 04:36:44 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Does ex_ttf work, with the supplied font or arial.ttf?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Peter Wang)</author>
		<pubDate>Thu, 30 Dec 2010 05:11:54 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yes William I did and it is fine. I&#39;ll post the code, it&#39;ll have to be a few files of coding.</p><p>Note: I do use a5ses(Allegro 5 Sepples Edition, just a C++ wrapper). I am quite sure that it is not the problem because the creator has gotten the font to work before. If you would like to research it just in case, this is the link: <a href="http://tehsausage.com/a5ses/">a5ses</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="c">//This is main.cpp</span>
<span class="number">  2</span><span class="p">#include &lt;a5ses/a5ses.hpp&gt; // This includes allegro_font, allegro_image on its own.</span>
<span class="number">  3</span>
<span class="number">  4</span><span class="p">#include "client.hpp"</span>
<span class="number">  5</span>
<span class="number">  6</span><span class="k1">int</span> main<span class="k2">(</span><span class="k1">int</span> argc, <span class="k1">char</span> <span class="k3">*</span>argv<span class="k2">[</span><span class="n">0</span><span class="k2">]</span><span class="k2">)</span>
<span class="number">  7</span><span class="k2">{</span>
<span class="number">  8</span>    <span class="k1">try</span>
<span class="number">  9</span>    <span class="k2">{</span>
<span class="number"> 10</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"> 11</span>        <span class="k2">{</span>
<span class="number"> 12</span>            <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"Failed to initialize allegro.\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 13</span>            <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 14</span>        <span class="k2">}</span>
<span class="number"> 15</span>
<span class="number"> 16</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="number"> 17</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">"Failed to initialize allegro image addon.\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 19</span>            <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 20</span>        <span class="k2">}</span>
<span class="number"> 21</span>
<span class="number"> 22</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"> 23</span>
<span class="number"> 24</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="number"> 25</span>        <span class="k2">{</span>
<span class="number"> 26</span>            <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"Failed to initialize allegro TTF addon.\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 27</span>            <span class="k1">return</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="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="number"> 31</span>        <span class="k2">{</span>
<span class="number"> 32</span>            <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"Failed to initialize allegro primitives addon.\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 33</span>            <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 34</span>        <span class="k2">}</span>
<span class="number"> 35</span>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"Checked them all\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 36</span>
<span class="number"> 37</span>
<span class="number"> 38</span>        Client <span class="k3">*</span>client <span class="k3">=</span> <span class="k1">new</span> Client<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 39</span>        client-&gt;LoadState<span class="k2">(</span>Client::MainMenu<span class="k2">)</span><span class="k2">;</span> <span class="c">// This is just a simple function that calls LoadMainMenu</span>
<span class="number"> 40</span>        client-&gt;Main<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span> <span class="c">// This does not matter since it doesn't get here</span>
<span class="number"> 41</span>    <span class="k2">}</span>
<span class="number"> 42</span>    <span class="k1">catch</span> <span class="k2">(</span>std::runtime_error <span class="k3">&amp;</span>e<span class="k2">)</span>
<span class="number"> 43</span>  <span class="k2">{</span>
<span class="number"> 44</span>      <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span>e.what<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 45</span>      <span class="k1">return</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 46</span>  <span class="k2">}</span>
<span class="number"> 47</span>    <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 48</span><span class="k2">}</span>
</div></div><p>

Now, the next file is in &quot;renderer/States/MainMenu.cpp&quot;. Most of this code I don&#39;t believe is relevant until you get to the part where it loads the font. So you know, I started with a5::Font, moved to al_load_font, and finally al_load_ttf_font. They all had failed.
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span><span class="p">#include "../renderer.hpp"</span>
<span class="number">  2</span><span class="p">#include "../../client.hpp"</span>
<span class="number">  3</span>
<span class="number">  4</span><span class="k1">static</span> <span class="k1">void</span> ButtonClick<span class="k2">(</span><span class="k1">void</span> <span class="k3">*</span>sender<span class="k2">)</span>
<span class="number">  5</span><span class="k2">{</span>
<span class="number">  6</span>    <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"the button was clicked\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  7</span><span class="k2">}</span>
<span class="number">  8</span>
<span class="number">  9</span><span class="k1">static</span> <span class="k1">void</span> LoadMainMenu<span class="k2">(</span>Renderer <span class="k3">*</span>renderer<span class="k2">)</span>
<span class="number"> 10</span><span class="k2">{</span>
<span class="number"> 11</span>    renderer-&gt;gui-&gt;background <span class="k3">=</span> renderer-&gt;bitmapLoader-&gt;Get<span class="k2">(</span><span class="s">"gui/background.png"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 12</span>
<span class="number"> 13</span>    <span class="c">//GUIControls::Icon *icon = new GUIControls::Icon(renderer-&gt;bitmapLoader-&gt;Get("gui/icon.png"));</span>
<span class="number"> 14</span>    <span class="c">//renderer-&gt;gui-&gt;AddChild(icon, a5::Rectangle(100, 300, 0, 0));</span>
<span class="number"> 15</span>
<span class="number"> 16</span>    <span class="c">//GUIControls::Button *button = new GUIControls::Button(renderer-&gt;bitmapLoader-&gt;Get("gui/regular.png"), renderer-&gt;bitmapLoader-&gt;Get("gui/hover.png"), 8);</span>
<span class="number"> 17</span>    <span class="c">//button-&gt;OnClick({ButtonClick, renderer});</span>
<span class="number"> 18</span>    <span class="c">//renderer-&gt;gui-&gt;AddChild(button, a5::Rectangle(300, 300, 0, 0));</span>
<span class="number"> 19</span>
<span class="number"> 20</span>    GUIControls::Primitive <span class="k3">*</span>primitive <span class="k3">=</span> <span class="k1">new</span> GUIControls::Primitive<span class="k2">(</span>GUIControls::Primitive::FilledRectangle, a5::RGB<span class="k2">(</span><span class="n">255</span>, <span class="n">201</span>, <span class="n">14</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 21</span>    renderer-&gt;gui-&gt;AddChild<span class="k2">(</span>primitive, a5::Rectangle<span class="k2">(</span><span class="n">100</span>, <span class="n">100</span>, <span class="n">400</span>, <span class="n">112</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 22</span>
<span class="number"> 23</span>    std::string fontDirectory <span class="k3">=</span> renderer-&gt;client-&gt;settings<span class="k2">[</span><span class="s">"FontDirectory"</span><span class="k2">]</span><span class="k2">;</span>
<span class="number"> 24</span>    <span class="c">//printf("grr: %s\n", (std::string(fontDirectory + "arial.ttf").c_str()));</span>
<span class="number"> 25</span>    <span class="c">//a5::Font *font = new a5::Font(std::string(fontDirectory + "arial.ttf").c_str(), 12);</span>
<span class="number"> 26</span>    <span class="c">//a5::Font *font = new a5::Font("arialFont.ttf", 15);</span>
<span class="number"> 27</span>    <a href="http://www.allegro.cc/manual/ALLEGRO_FONT"><span class="a">ALLEGRO_FONT</span></a> <span class="k3">*</span>arialFont <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">"./arialFont.ttf"</span>, <span class="k3">-</span><span class="n">12</span>, <span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 28</span>    <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>arialFont<span class="k2">)</span>
<span class="number"> 29</span>    <span class="k2">{</span>
<span class="number"> 30</span>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"Failure to load font\n"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 31</span>    <span class="k2">}</span>
<span class="number"> 32</span>    <span class="c">//GUIControls::Textbox *textbox = new GUIControls::Textbox();</span>
<span class="number"> 33</span><span class="k2">}</span>
</div></div><p>

If there is any other peices of code that you&#39;d like to see(I decided not to show the client class or the gui class) then just ask.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Addison Elliott)</author>
		<pubDate>Thu, 30 Dec 2010 05:14:13 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Geez, i&#39;m really sorry, I&#39;ve looked through several times and see nothing wrong with your code <img src="http://www.allegro.cc/forums/smileys/sad.gif" alt=":(" />, I really wish I could do more to help but I don&#39;t know at this point, hopefully someone else will know <img src="http://www.allegro.cc/forums/smileys/smiley.gif" alt=":)" /> </p><p>I saw the A5 wrapper is called 4.9.21.2 and you use 4.9.22, I don&#39;t know if that could be it, just putting it out there.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (jmasterx)</author>
		<pubDate>Thu, 30 Dec 2010 06:24:23 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Yeah the creator is lazy <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" /> I manually updated to 4.9.22 and made sure everything is the same. Another friend of mine uses 4.9.22 and also uses the wrapper and said font loading worked fine.</p><p>To answer Peter&#39;s question, I just tried to compile ex_ttf.c and it worked fine. Maybe I should analyze my code with the example and see if I see anything different.</p><p>Edit: I have an idea. I will use the debug version of the .ttf and see where exactly it fails. I will edit this post to show my results.</p><p>A weird thing I noticed while just screwing around with the code is that it loads the font fine when it&#39;s in the main function, but when it goes to LoadMainMenu it fails there.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Addison Elliott)</author>
		<pubDate>Thu, 30 Dec 2010 06:52:15 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>If the main menu executes on a different thread than it will fail. I don&#39;t know if that is your case.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (jmasterx)</author>
		<pubDate>Fri, 31 Dec 2010 01:34:42 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Alright, I think we&#39;re getting closer and closer to solving this. I found another peice of interesting information. It seems that it loads the font fine only if it&#39;s before this line of code in main &quot;Client *client = new Client();&quot; and after it it will always fail. Here is what the constructor contains. Any ideas on how to fix it or what might be causing it?</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>Client::Client<span class="k2">(</span><span class="k2">)</span> <span class="k2">:</span> running<span class="k2">(</span><span class="k1">true</span><span class="k2">)</span>
<span class="number"> 2</span><span class="k2">{</span>
<span class="number"> 3</span>    queue.Register<span class="k2">(</span>keyboard<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 4</span>    queue.Register<span class="k2">(</span>mouse<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 5</span>
<span class="number"> 6</span>    settings.Read<span class="k2">(</span><span class="s">".\\config\\settings.ini"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 7</span>    renderer <span class="k3">=</span> <span class="k1">new</span> Renderer<span class="k2">(</span><span class="k1">this</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 8</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Addison Elliott)</author>
		<pubDate>Fri, 31 Dec 2010 06:23:23 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Check what <span class="source-code">settings.read<span class="k2">(</span><span class="k2">)</span></span> and <span class="source-code"><span class="k1">new</span> Renderer<span class="k2">(</span><span class="k2">)</span></span> do. Maybe the the file interface gets changed or bitmap flags are set.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Fri, 31 Dec 2010 06:29:53 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>settings.Read is just opening a file to read line by line. I doubt it&#39;s the problem. But I do think it may be new Renderer. Here is the constructor. This is where the screen is created, so that may be the problem.</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>Renderer::Renderer<span class="k2">(</span>Client <span class="k3">*</span>client_<span class="k2">)</span> <span class="k2">:</span> client<span class="k2">(</span>client_<span class="k2">)</span>, <a href="http://www.allegro.cc/manual/screen"><span class="a">screen</span></a><span class="k2">(</span><span class="n">640</span>, <span class="n">480</span>, a5::Display::Windowed<span class="k2">)</span>, fps<span class="k2">(</span><span class="n">0</span><span class="k2">)</span>, redraw<span class="k2">(</span><span class="k1">true</span><span class="k2">)</span>
<span class="number">  2</span><span class="k2">{</span>
<span class="number">  3</span>    screen.SetTitle<span class="k2">(</span><span class="s">"Chronos Online"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  4</span>    screen.Target<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  5</span>
<span class="number">  6</span>    client-&gt;queue.Register<span class="k2">(</span><a href="http://www.allegro.cc/manual/screen"><span class="a">screen</span></a><span class="k2">)</span><span class="k2">;</span>
<span class="number">  7</span>
<span class="number">  8</span>    a5::Timer <span class="k3">*</span>fpsTimer <span class="k3">=</span> <span class="k1">new</span> a5::Timer<span class="k2">(</span><span class="n">1</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  9</span>    fpsTimer-&gt;Start<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 10</span>    client-&gt;timers.insert<span class="k2">(</span>std::pair<span class="k3">&lt;</span>a5::Timer <span class="k3">*</span>, InputCallbackData&gt;<span class="k2">(</span>fpsTimer, <span class="k2">{</span>FpsTimer, <span class="k1">this</span><span class="k2">}</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 11</span>    client-&gt;queue.Register<span class="k2">(</span><span class="k3">*</span>fpsTimer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 12</span>
<span class="number"> 13</span>    bitmapLoader <span class="k3">=</span> <span class="k1">new</span> BitmapLoader<span class="k2">(</span>client-&gt;settings<span class="k2">[</span><span class="s">"ImageCacheLimit"</span><span class="k2">]</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 14</span>    fontLoader <span class="k3">=</span> <span class="k1">new</span> FontLoader<span class="k2">(</span>client-&gt;settings<span class="k2">[</span><span class="s">"FontDirectory"</span><span class="k2">]</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 15</span>    gui <span class="k3">=</span> <span class="k1">new</span> GUI<span class="k2">(</span><span class="k1">this</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 16</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Addison Elliott)</author>
		<pubDate>Fri, 31 Dec 2010 06:33:54 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>What does the font loader do? Why do array brackets [] take in a cstring?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (jmasterx)</author>
		<pubDate>Fri, 31 Dec 2010 07:20:36 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Don&#39;t worry about that. settings is a Config class. The Config classes base is a map. So if this is the config file:<br />Test = 0<br />Rawr = no<br />The Config class would have this in the array:<br />Test =&gt; 0<br />Rawr =&gt; &quot;no&quot;</p><p>I&#39;m almost positive of the problem now. I was using PHYSFS for loading bitmaps and it was calling al_set_physfs_interface inside the BitmapLoader interface. So I decided to call it in the main function instead but it&#39;s still having problems.</p><p>Edit: Finally solved it. God, it was so simple, but that&#39;s how most of my errors go. The problem was that I was using PHYSFS and whenever it was searching for the font, it was looking in the search paths. Thank you all for the help.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Addison Elliott)</author>
		<pubDate>Fri, 31 Dec 2010 07:41:56 +0000</pubDate>
	</item>
</rss>
