<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>Segmentation fault al_map_rgb</title>
		<link>http://www.allegro.cc/forums/view/616134</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Fri, 18 Mar 2016 14:36:45 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>In my new startrek game I ran into a nasty problem..<br />since I added the communication class I get a segmentation fault in the engine constructor when making the colors needed with al_map_rgb..<br />Could any of you guys take a look at it ?</p><p>I&#39;m staring at it for quite some time but I don&#39;t see the problem... <img src="http://www.allegro.cc/forums/smileys/sad.gif" alt=":(" /></p><p>It should compile on windows and linux</p><p>Thanx in advance</p><p>also you have to copy the resources from the debug map to the release map to do a release build.. including resources in both maps was too big.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Ariesnl)</author>
		<pubDate>Fri, 18 Mar 2016 00:37:33 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Is the constructor being called before allegro is initialized?</p><p>If you have a global / singleton that&#39;s calling constructors before Allegro gets initialized, it&#39;s going to crash.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Chris Katko)</author>
		<pubDate>Fri, 18 Mar 2016 01:06:35 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>No al_init() is the first thing I call</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">// Setup Allegro</span>
<span class="number">   2</span><span class="k1">bool</span> Setup<span class="k2">(</span><span class="k2">)</span>
<span class="number">   3</span><span class="k2">{</span>
<span class="number">   4</span>  <span class="k1">if</span><span class="k2">(</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">   5</span>  <span class="k2">{</span>
<span class="number">   6</span><span class="p">#ifdef DEBUG</span>
<span class="number">   7</span>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_756.html" target="_blank">strcpy</a><span class="k2">(</span>g_szSector,<span class="s">""</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">   8</span><span class="p">#endif // DEBUG</span>
<span class="number">   9</span>
<span class="number">  10</span>    g_nScreenWidth  <span class="k3">=</span> <span class="n">1024</span><span class="k2">;</span>
<span class="number">  11</span>      g_nScreenHeight <span class="k3">=</span>  <span class="n">768</span><span class="k2">;</span>
<span class="number">  12</span>    <span class="c">//al_set_new_display_option(ALLEGRO_VSYNC, 1, ALLEGRO_SUGGEST);</span>
<span class="number">  13</span><span class="p">#ifdef DEBUG</span>
<span class="number">  14</span>    <a href="http://www.allegro.cc/manual/al_set_new_display_flags"><span class="a">al_set_new_display_flags</span></a><span class="k2">(</span>ALLEGRO_WINDOWED<span class="k2">)</span><span class="k2">;</span>
<span class="number">  15</span><span class="p">#else</span>
<span class="number">  16</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_FULLSCREEN<span class="k2">)</span><span class="k2">;</span>
<span class="number">  17</span><span class="p">#endif</span>
<span class="number">  18</span>    g_pDisplay <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>g_nScreenWidth, g_nScreenHeight<span class="k2">)</span><span class="k2">;</span>
<span class="number">  19</span>    <span class="k1">if</span> <span class="k2">(</span>g_pDisplay <span class="k3">!</span><span class="k3">=</span> NULL<span class="k2">)</span>
<span class="number">  20</span>    <span class="k2">{</span>
<span class="number">  21</span>      <span class="c">// Install allegro modules</span>
<span class="number">  22</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">  23</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">  24</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">  25</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">  26</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">  27</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">  28</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">  29</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">  30</span>
<span class="number">  31</span>
<span class="number">  32</span>      g_pTimer<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">000</span><span class="k3">/</span>g_nCyclesPerSecond<span class="k2">)</span><span class="k2">;</span>
<span class="number">  33</span>
<span class="number">  34</span>      <span class="c">// install event queue</span>
<span class="number">  35</span>      g_pEventQueue <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">  36</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>g_pEventQueue, <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">  37</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>g_pEventQueue, <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">  38</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>g_pEventQueue, <a href="http://www.allegro.cc/manual/al_get_display_event_source"><span class="a">al_get_display_event_source</span></a><span class="k2">(</span>g_pDisplay<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  39</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>g_pEventQueue, <a href="http://www.allegro.cc/manual/al_get_timer_event_source"><span class="a">al_get_timer_event_source</span></a><span class="k2">(</span>g_pTimer<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  40</span>
<span class="number">  41</span>
<span class="number">  42</span>      <span class="c">// Set Fontpath</span>
<span class="number">  43</span>            g_pFontPath  <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_RESOURCES_PATH<span class="k2">)</span><span class="k2">;</span>
<span class="number">  44</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>g_pFontPath, <span class="s">"font"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  45</span>
<span class="number">  46</span>            <span class="c">// set Soundpath</span>
<span class="number">  47</span>            g_pSoundPath <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_RESOURCES_PATH<span class="k2">)</span><span class="k2">;</span>
<span class="number">  48</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>g_pSoundPath, <span class="s">"sound"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  49</span>
<span class="number">  50</span>
<span class="number">  51</span>      <span class="c">// Load a font</span>
<span class="number">  52</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>g_pFontPath,<span class="s">"font.ttf"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  53</span>      g_pFont<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><a href="http://www.allegro.cc/manual/al_path_cstr"><span class="a">al_path_cstr</span></a><span class="k2">(</span>g_pFontPath,ALLEGRO_NATIVE_PATH_SEP<span class="k2">)</span>,<span class="n">10</span>,ALLEGRO_TTF_MONOCHROME<span class="k2">)</span><span class="k2">;</span>
<span class="number">  54</span>      <span class="k1">if</span> <span class="k2">(</span>g_pFont <span class="k3">=</span><span class="k3">=</span> NULL<span class="k2">)</span>
<span class="number">  55</span>      <span class="k2">{</span>
<span class="number">  56</span>        cout <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">"Could not load font"</span><span class="k2">;</span>
<span class="number">  57</span>        <span class="k1">return</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  58</span>      <span class="k2">}</span>
<span class="number">  59</span>
<span class="number">  60</span>            g_pInfoFont<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><a href="http://www.allegro.cc/manual/al_path_cstr"><span class="a">al_path_cstr</span></a><span class="k2">(</span>g_pFontPath,ALLEGRO_NATIVE_PATH_SEP<span class="k2">)</span>,<span class="n">15</span>,<span class="n">0</span> <span class="c">/*ALLEGRO_TTF_MONOCHROME*/</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  61</span>            <span class="k1">if</span> <span class="k2">(</span>g_pInfoFont <span class="k3">=</span><span class="k3">=</span> NULL<span class="k2">)</span>
<span class="number">  62</span>      <span class="k2">{</span>
<span class="number">  63</span>        cout <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">"Could not load font"</span><span class="k2">;</span>
<span class="number">  64</span>        <span class="k1">return</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  65</span>      <span class="k2">}</span>
<span class="number">  66</span>
<span class="number">  67</span>
<span class="number">  68</span>      g_pBigFont <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><a href="http://www.allegro.cc/manual/al_path_cstr"><span class="a">al_path_cstr</span></a><span class="k2">(</span>g_pFontPath,ALLEGRO_NATIVE_PATH_SEP<span class="k2">)</span>,<span class="n">20</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  69</span>      <span class="k1">if</span> <span class="k2">(</span>g_pBigFont <span class="k3">=</span><span class="k3">=</span> NULL<span class="k2">)</span>
<span class="number">  70</span>      <span class="k2">{</span>
<span class="number">  71</span>        cout <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">"Could not load big font"</span><span class="k2">;</span>
<span class="number">  72</span>        <span class="k1">return</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  73</span>      <span class="k2">}</span>
<span class="number">  74</span>
<span class="number">  75</span>      <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_reserve_samples"><span class="a">al_reserve_samples</span></a><span class="k2">(</span>RESERVED_SAMPLES<span class="k2">)</span><span class="k2">)</span>
<span class="number">  76</span>      <span class="k2">{</span>
<span class="number">  77</span>        cout <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">"Could not Reserve samples"</span><span class="k2">;</span>
<span class="number">  78</span>        <span class="k1">return</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  79</span>      <span class="k2">}</span>
<span class="number">  80</span>
<span class="number">  81</span>      <span class="c">// Load sounds</span>
<span class="number">  82</span>      <span class="k1">for</span> <span class="k2">(</span><span class="k1">int</span> i<span class="k3">=</span><span class="n">0</span><span class="k2">;</span>i<span class="k3">&lt;</span>SND_MAX<span class="k2">;</span>i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number">  83</span>      <span class="k2">{</span>
<span class="number">  84</span>        <span class="k1">char</span> szFileName<span class="k2">[</span><span class="n">255</span><span class="k2">]</span><span class="k2">;</span>
<span class="number">  85</span>        <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>szFileName,<span class="s">"%04d.wav"</span>,i<span class="k3">+</span><span class="n">1</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  86</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>g_pSoundPath,szFileName<span class="k2">)</span><span class="k2">;</span>
<span class="number">  87</span>        g_pSample<span class="k2">[</span>i<span class="k2">]</span> <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_sample"><span class="a">al_load_sample</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_path_cstr"><span class="a">al_path_cstr</span></a><span class="k2">(</span>g_pSoundPath,ALLEGRO_NATIVE_PATH_SEP<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  88</span>        <span class="k1">if</span> <span class="k2">(</span>g_pSample<span class="k2">[</span>i<span class="k2">]</span><span class="k3">=</span><span class="k3">=</span>NULL<span class="k2">)</span>
<span class="number">  89</span>        <span class="k2">{</span>
<span class="number">  90</span>            cout <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">"Wrong sample"</span><span class="k2">;</span>
<span class="number">  91</span>            <span class="k1">return</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  92</span>        <span class="k2">}</span>
<span class="number">  93</span>      <span class="k2">}</span>
<span class="number">  94</span>
<span class="number">  95</span>      <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>InitObjects<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  96</span>      <span class="k2">{</span>
<span class="number">  97</span>        cout <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">"Could not init Objects"</span><span class="k2">;</span>
<span class="number">  98</span>        <span class="k1">return</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number">  99</span>      <span class="k2">}</span>
<span class="number"> 100</span>
<span class="number"> 101</span>
<span class="number"> 102</span>      <span class="c">// set quit to false</span>
<span class="number"> 103</span>      g_blQuit <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 104</span>
<span class="number"> 105</span>            g_pEngine <span class="k3">=</span> <span class="k1">new</span> TEngine<span class="k2">(</span>g_nScreenWidth,g_nScreenHeight<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 106</span>      g_pParalax <span class="k3">=</span> <span class="k1">new</span> Paralax<span class="k2">(</span>g_nScreenWidth,g_nScreenHeight,<span class="n">300</span>,<span class="n">5</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 107</span>      g_pEnterprise <span class="k3">=</span> <span class="k1">new</span> TEnterprise<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 108</span>      g_pEngine-&gt;Add<span class="k2">(</span>g_pEnterprise<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 109</span>
<span class="number"> 110</span>            g_pKeyMapper <span class="k3">=</span> <span class="k1">new</span> TKeyMapper<span class="k2">(</span>g_pEngine-&gt;m_clGREEN, g_pEngine-&gt;m_clYELLOW,g_pBigFont<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 111</span>
<span class="number"> 112</span>      NewUniverse<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 113</span>      NewSector<span class="k2">(</span>g_pEnterprise-&gt;m_nSectorPositionX,g_pEnterprise-&gt;m_nSectorPositionY<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 114</span>            g_pEnterprise-&gt;SetPosition<span class="k2">(</span>g_pUniverse-&gt;m_nSectorCenter, g_pUniverse-&gt;m_nSectorCenter<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 115</span>            g_pEngine-&gt;SetOrigin<span class="k2">(</span>g_pUniverse-&gt;m_nSectorCenter, g_pUniverse-&gt;m_nSectorCenter<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 116</span>
<span class="number"> 117</span>            g_vGameState.push_back<span class="k2">(</span>GS_GAME<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 118</span>
<span class="number"> 119</span>
<span class="number"> 120</span><span class="p">#ifdef DEBUG</span>
<span class="number"> 121</span>            <a href="http://www.delorie.com/djgpp/doc/libc/libc_737.html" target="_blank">sprintf</a><span class="k2">(</span>g_szSector,<span class="s">"SECTOR: %d,%d"</span>,g_pEnterprise-&gt;m_nSectorPositionX,g_pEnterprise-&gt;m_nSectorPositionY<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 122</span><span class="p">#endif // DEBUG</span>
<span class="number"> 123</span>
<span class="number"> 124</span>      <a href="http://www.allegro.cc/manual/al_hide_mouse_cursor"><span class="a">al_hide_mouse_cursor</span></a><span class="k2">(</span>g_pDisplay<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 125</span>      <a href="http://www.allegro.cc/manual/al_start_timer"><span class="a">al_start_timer</span></a><span class="k2">(</span>g_pTimer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 126</span>      g_dLastTime <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_get_time"><span class="a">al_get_time</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 127</span>    <span class="k2">}</span>
<span class="number"> 128</span>    <span class="k1">else</span>
<span class="number"> 129</span>    <span class="k2">{</span>
<span class="number"> 130</span>      <span class="k1">return</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 131</span>    <span class="k2">}</span>
<span class="number"> 132</span>  <span class="k2">}</span>
<span class="number"> 133</span>  <span class="k1">else</span>
<span class="number"> 134</span>  <span class="k2">{</span>
<span class="number"> 135</span>    <span class="k1">return</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 136</span>  <span class="k2">}</span>
<span class="number"> 137</span>
<span class="number"> 138</span>  <span class="k1">return</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 139</span><span class="k2">}</span>
</div></div><p>


...and setup is called from main...</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">  2</span><span class="k1">int</span> main<span class="k2">(</span><span class="k1">int</span> argc, <span class="k1">char</span> <span class="k3">*</span><span class="k3">*</span>argv<span class="k2">)</span>
<span class="number">  3</span><span class="k2">{</span>
<span class="number">  4</span>  <span class="k1">try</span>
<span class="number">  5</span>  <span class="k2">{</span>
<span class="number">  6</span>
<span class="number">  7</span>
<span class="number">  8</span>  <span class="k1">if</span> <span class="k2">(</span>Setup<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  9</span>  <span class="k2">{</span>
<span class="number"> 10</span>    <span class="k1">while</span> <span class="k2">(</span><span class="k3">!</span>g_blQuit<span class="k2">)</span>
<span class="number"> 11</span>    <span class="k2">{</span>
<span class="number"> 12</span>      <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT"><span class="a">ALLEGRO_EVENT</span></a> ev<span class="k2">;</span>
<span class="number"> 13</span>      <span class="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/al_get_next_event"><span class="a">al_get_next_event</span></a><span class="k2">(</span>g_pEventQueue, <span class="k3">&amp;</span>ev<span class="k2">)</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">switch</span> <span class="k2">(</span>ev.type<span class="k2">)</span>
<span class="number"> 17</span>        <span class="k2">{</span>
<span class="number"> 18</span>        <span class="k1">case</span> ALLEGRO_EVENT_KEY_DOWN:
<span class="number"> 19</span>          KeyDown<span class="k2">(</span>ev.keyboard.keycode<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 20</span>          <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 21</span>        <span class="k1">case</span> ALLEGRO_EVENT_KEY_UP:
<span class="number"> 22</span>          KeyUp<span class="k2">(</span>ev.keyboard.keycode<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 23</span>          <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 24</span>
<span class="number"> 25</span>        <span class="k1">case</span> ALLEGRO_EVENT_DISPLAY_CLOSE:
<span class="number"> 26</span>          g_blQuit <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 27</span>          <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 28</span>
<span class="number"> 29</span>        <span class="k1">case</span> ALLEGRO_EVENT_MOUSE_AXES:
<span class="number"> 30</span>           Mouse<span class="k2">(</span><span class="k3">&amp;</span>ev.mouse<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 31</span>           <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 32</span>
<span class="number"> 33</span>                <span class="k1">case</span> ALLEGRO_EVENT_MOUSE_BUTTON_DOWN:
<span class="number"> 34</span>           MouseButtonDown<span class="k2">(</span><span class="k3">&amp;</span>ev.mouse<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 35</span>           <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 36</span>
<span class="number"> 37</span>                <span class="k1">case</span> ALLEGRO_EVENT_MOUSE_BUTTON_UP:
<span class="number"> 38</span>           MouseButtonUp<span class="k2">(</span><span class="k3">&amp;</span>ev.mouse<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 39</span>           <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 40</span>
<span class="number"> 41</span>        <span class="k1">case</span> ALLEGRO_EVENT_TIMER:
<span class="number"> 42</span>           Timer<span class="k2">(</span><span class="k3">&amp;</span>ev.timer<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 43</span>           <span class="k1">break</span><span class="k2">;</span>
<span class="number"> 44</span>                <span class="k2">}</span>
<span class="number"> 45</span>      <span class="k2">}</span>
<span class="number"> 46</span>      <span class="k1">else</span>
<span class="number"> 47</span>      <span class="k2">{</span>
<span class="number"> 48</span>        Render<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 49</span>      <span class="k2">}</span>
<span class="number"> 50</span>      <span class="k2">}</span>
<span class="number"> 51</span>  <span class="k2">}</span>
<span class="number"> 52</span>  <span class="k1">else</span>
<span class="number"> 53</span>  <span class="k2">{</span>
<span class="number"> 54</span>    <span class="k1">return</span> <span class="k3">-</span><span class="n">1</span><span class="k2">;</span>
<span class="number"> 55</span>  <span class="k2">}</span>
<span class="number"> 56</span>  <span class="k2">}</span>
<span class="number"> 57</span>
<span class="number"> 58</span>  <span class="k1">catch</span> <span class="k2">(</span>A5Exception except<span class="k2">)</span>
<span class="number"> 59</span>  <span class="k2">{</span>
<span class="number"> 60</span>        cout <span class="k3">&lt;</span><span class="k3">&lt;</span> except.what<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 61</span>
<span class="number"> 62</span>
<span class="number"> 63</span>  <span class="k2">}</span>
<span class="number"> 64</span>
<span class="number"> 65</span>  ShutDown<span class="k2">(</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 66</span>  <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 67</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Ariesnl)</author>
		<pubDate>Fri, 18 Mar 2016 01:12:54 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>So where is it failing inside setup()? I don&#39;t see al_map_rgb() in there, but I do see them in TEngine::TEngine. Do you have a stack trace from GDB for the failure? Do any specific debug options / defines cause it to fail?</p><p>Also, did anything change recently that started the problem? That is, did they fail the second you started putting them in, or did they fail after you changed something else?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Chris Katko)</author>
		<pubDate>Fri, 18 Mar 2016 01:47:45 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Like I sayed, the segmentationfault pops up in the engine constructor after a few calls to al_map_rgb.. exactly where the color white is made.. but If you remove that one the next color becomes the problem.. so it probably isn&#39;t the true location of 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">  3</span>TEngine::TEngine<span class="k2">(</span><span class="k1">int</span> a_nWidth,<span class="k1">int</span> a_nHeight<span class="k2">)</span>
<span class="number">  4</span><span class="k2">{</span>
<span class="number">  5</span>  m_blSensorStatic<span class="k3">=</span><span class="k1">false</span><span class="k2">;</span>
<span class="number">  6</span>  m_nCount    <span class="k3">=</span>   <span class="n">0</span><span class="k2">;</span>
<span class="number">  7</span>  m_nGameOver <span class="k3">=</span>   GO_PLAYING<span class="k2">;</span>
<span class="number">  8</span>  m_dX        <span class="k3">=</span>   <span class="n">5000</span><span class="k2">;</span>
<span class="number">  9</span>  m_dY        <span class="k3">=</span>   <span class="n">5000</span><span class="k2">;</span>
<span class="number"> 10</span>  m_dPosx     <span class="k3">=</span>   m_dX<span class="k2">;</span>
<span class="number"> 11</span>  m_dPosy     <span class="k3">=</span>   m_dY<span class="k2">;</span>
<span class="number"> 12</span>
<span class="number"> 13</span>  m_nScreenWidth <span class="k3">=</span> a_nWidth<span class="k2">;</span>
<span class="number"> 14</span>  m_nScreenHeight <span class="k3">=</span> a_nHeight<span class="k2">;</span>
<span class="number"> 15</span>  m_nScreenMidX <span class="k3">=</span> m_nScreenWidth<span class="k3">/</span><span class="n">2</span><span class="k2">;</span>
<span class="number"> 16</span>    m_nScreenMidY <span class="k3">=</span> m_nScreenHeight<span class="k3">/</span><span class="n">2</span><span class="k2">;</span>
<span class="number"> 17</span>
<span class="number"> 18</span>  <span class="c">// set some colors</span>
<span class="number"> 19</span>  m_clBLACK   <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"> 20</span>  m_clRED     <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">255</span>,<span class="n">0</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 21</span>  m_clGREEN   <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">255</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 22</span>  m_clBLUE    <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">255</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 23</span>  m_clYELLOW  <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">255</span>,<span class="n">255</span>,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 24</span>  m_clBROWN   <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">100</span>,<span class="n">100</span>,<span class="n">70</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 25</span>  m_clWHITE   <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">255</span>,<span class="n">255</span>,<span class="n">255</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 26</span>  m_clMAGENTA <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_map_rgb"><span class="a">al_map_rgb</span></a><span class="k2">(</span><span class="n">255</span>,<span class="n">0</span>,<span class="n">255</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 27</span>    m_clAQUA    <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">255</span>,<span class="n">255</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 28</span>    m_clATHM    <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">80</span>,<span class="n">80</span>,<span class="n">60</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 29</span>
<span class="number"> 30</span>    <span class="k1">for</span><span class="k2">(</span><span class="k1">int</span> i<span class="k3">=</span><span class="n">0</span><span class="k2">;</span> i<span class="k3">&lt;</span>KEY_MAX<span class="k2">;</span>i<span class="k3">+</span><span class="k3">+</span><span class="k2">)</span>
<span class="number"> 31</span>  <span class="k2">{</span>
<span class="number"> 32</span>    m_blKeys<span class="k2">[</span>i<span class="k2">]</span><span class="k3">=</span><span class="k1">false</span><span class="k2">;</span>
<span class="number"> 33</span>  <span class="k2">}</span>
<span class="number"> 34</span>
<span class="number"> 35</span><span class="k2">}</span>
</div></div><p>

#0 00402E00	TEngine::TEngine(this=0x2ef3df0, a_nWidth=1024, a_nHeight=768) (C:\Documents and Settings\Owner\Desktop\StarTrekV3_Linux\Engine.cpp:366)<br />#1 004139AC	Setup() (C:\Documents and Settings\Owner\Desktop\StarTrekV3_Linux\StartrekV3.cpp:233)<br />#2 004152C7	main(argc=&lt;error reading variable: Cannot access memory at address 0x22ff38&gt;, argv=&lt;error reading variable: Cannot access memory at address 0x22ff38&gt;) (C:\Documents and Settings\Owner\Desktop\StarTrekV3_Linux\StartrekV3.cpp:767)
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Ariesnl)</author>
		<pubDate>Fri, 18 Mar 2016 02:06:22 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Stack is so fkcd up, it can&#39;t even read argv.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (GullRaDriel)</author>
		<pubDate>Fri, 18 Mar 2016 02:20:22 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>how is that possible ?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Ariesnl)</author>
		<pubDate>Fri, 18 Mar 2016 02:25:54 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>That means some pointer, some where, is thrashing everything and its most likely completely unrelated to the actual al_map_rgb call. </p><p>It&#39;s likely that if you change the compiling options (debug/optimize levels) the error will jump around to a different line because the overall organization of the game and memory layout will have changed slightly.</p><p>Check all pointers. Check all arrays. Check all classes to make sure you&#39;re not using a non-pointer version of a derived class in a base class array (because if they&#39;re not pointers, the base class constructor/deconstructor never gets called).</p><p>Get Valgrind with:</p><div class="source-code snippet"><div class="inner"><pre>sudo apt-get install valgrind
</pre></div></div><p>

And run your program with Valgrind. Valgrind is GREAT for finding memory problems because it runs the entire program in a fake (virtual) CPU that is smart enough to know when something inside it is wrong.</p><p>A sample valgrind line I found from a tutorial is this:
</p><div class="source-code snippet"><div class="inner"><pre>valgrind <span class="k3">-</span><span class="k3">-</span>tool<span class="k3">=</span>memcheck <span class="k3">-</span><span class="k3">-</span>leak-check<span class="k3">=</span>yes <span class="k3">-</span><span class="k3">-</span>show-reachable<span class="k3">=</span>yes <span class="k3">-</span><span class="k3">-</span>num-callers<span class="k3">=</span><span class="n">20</span> <span class="k3">-</span><span class="k3">-</span>track-fds<span class="k3">=</span>yes .<span class="k3">/</span>test
</pre></div></div><p>
Where test is your program name. Valgrind has hundreds of options so it can be daunting at first glance.</p><p>[edit] I tried downloading your code but I cannot get it to compile. Clang throws tons of compile errors including missing constants, missing STD namespace, and more. What did you use on Linux  to compile 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>In file included from GameEngine.cpp:21:
<span class="number">   2</span>In file included from .<span class="k3">/</span>Ship.h:33:
<span class="number">   3</span>.<span class="k3">/</span>Engine.h:97:3: error: <span class="k1">typedef</span> redefinition with different types <span class="k2">(</span><span class="s">'struct sGameObject'</span> vs <span class="s">'struct sGameObject'</span><span class="k2">)</span>
<span class="number">   4</span><span class="k2">}</span> sGameObject<span class="k2">;</span>
<span class="number">   5</span>  ^
<span class="number">   6</span>.<span class="k3">/</span>GameEngine.h:85:3: note: previous definition is here
<span class="number">   7</span><span class="k2">}</span> sGameObject<span class="k2">;</span>
<span class="number">   8</span>  ^
<span class="number">   9</span>In file included from GameEngine.cpp:21:
<span class="number">  10</span>In file included from .<span class="k3">/</span>Ship.h:33:
<span class="number">  11</span>.<span class="k3">/</span>Engine.h:105:7: error: redefinition of <span class="s">'TSprite'</span>
<span class="number">  12</span><span class="k1">class</span> TSprite
<span class="number">  13</span>      ^
<span class="number">  14</span>.<span class="k3">/</span>GameEngine.h:92:7: note: previous definition is here
<span class="number">  15</span><span class="k1">class</span> TSprite
<span class="number">  16</span>      ^
<span class="number">  17</span>GameEngine.cpp:152:59: error: use of undeclared identifier <span class="s">'ID_SHIP'</span>
<span class="number">  18</span>                <span class="k1">if</span> <span class="k2">(</span><span class="k2">(</span>hulp<span class="k3">!</span><span class="k3">=</span>NULL<span class="k2">)</span><span class="k3">&amp;</span><span class="k3">&amp;</span><span class="k2">(</span><span class="k3">!</span>hulp-&gt;m_blDestroyed<span class="k2">)</span><span class="k3">&amp;</span><span class="k3">&amp;</span><span class="k2">(</span>hulp-&gt;m_nID&gt;<span class="k3">=</span>ID_SHIP<span class="k2">)</span><span class="k2">)</span>
<span class="number">  19</span>                                                                        ^
<span class="number">  20</span>GameEngine.cpp:173:21: error: use of undeclared identifier <span class="s">'ID_SHIP'</span>
<span class="number">  21</span>                        <span class="k1">if</span> <span class="k2">(</span>hulp-&gt;m_nID&gt;<span class="k3">=</span>ID_SHIP<span class="k2">)</span>
<span class="number">  22</span>                                         ^
<span class="number">  23</span>GameEngine.cpp:229:21: error: use of undeclared identifier <span class="s">'ID_SHIP'</span>
<span class="number">  24</span>                        <span class="k1">if</span> <span class="k2">(</span>hulp-&gt;m_nID&gt;<span class="k3">=</span>ID_SHIP<span class="k2">)</span>
<span class="number">  25</span>                                         ^
<span class="number">  26</span>GameEngine.cpp:387:45: error: use of undeclared identifier <span class="s">'ID_STARBASE'</span><span class="k2">;</span> did you mean <span class="s">'ID_STAR_BLUE'</span>?
<span class="number">  27</span>          <span class="k1">if</span> <span class="k2">(</span><span class="k2">(</span>a_pPlayer-&gt;m_pTarget-&gt;m_nID<span class="k3">=</span><span class="k3">=</span>ID_STARBASE<span class="k2">)</span><span class="k3">&amp;</span><span class="k3">&amp;</span><span class="k2">(</span>a_pPlayer-&gt;m_pTarget-&gt;m_nMember<span class="k3">=</span><span class="k3">=</span>MEM_FEDERATION<span class="k2">)</span><span class="k2">)</span> color <span class="k3">=</span> m_clBLUE<span class="k2">;</span>
<span class="number">  28</span>                                            ^~~~~~~~~~~
<span class="number">  29</span>                                            ID_STAR_BLUE
<span class="number">  30</span>.<span class="k3">/</span>types.h:136:5: note: <span class="s">'ID_STAR_BLUE'</span> declared here
<span class="number">  31</span>    ID_STAR_BLUE,
<span class="number">  32</span>    ^
<span class="number">  33</span>GameEngine.cpp:435:24: error: use of undeclared identifier <span class="s">'ID_SHIP'</span>
<span class="number">  34</span>                        <span class="k1">if</span> <span class="k2">(</span><span class="k2">(</span>hulp-&gt;m_nID <span class="k3">&gt;</span><span class="k3">=</span> ID_SHIP<span class="k2">)</span><span class="k3">&amp;</span><span class="k3">&amp;</span><span class="k2">(</span>hulp-&gt;m_blDestroyed <span class="k3">=</span><span class="k3">=</span> <span class="k1">false</span><span class="k2">)</span><span class="k3">&amp;</span><span class="k3">&amp;</span><span class="k2">(</span>hulp-&gt;m_nMember<span class="k3">!</span><span class="k3">=</span>a_nMember<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>hulp-&gt;m_blCanFind<span class="k2">)</span> <span class="k2">)</span>
<span class="number">  35</span>                                            ^
<span class="number">  36</span>GameEngine.cpp:447:24: error: use of undeclared identifier <span class="s">'ID_SHIP'</span>
<span class="number">  37</span>                        <span class="k1">if</span> <span class="k2">(</span><span class="k2">(</span>hulp-&gt;m_nID <span class="k3">&gt;</span><span class="k3">=</span> ID_SHIP<span class="k2">)</span><span class="k3">&amp;</span><span class="k3">&amp;</span><span class="k2">(</span>hulp-&gt;m_blDestroyed <span class="k3">=</span><span class="k3">=</span> <span class="k1">false</span><span class="k2">)</span><span class="k3">&amp;</span><span class="k3">&amp;</span><span class="k2">(</span>hulp-&gt;m_nMember<span class="k3">=</span><span class="k3">=</span>a_nMember<span class="k2">)</span> <span class="k3">&amp;</span><span class="k3">&amp;</span> <span class="k2">(</span>hulp-&gt;m_blCanFind<span class="k2">)</span> <span class="k2">)</span>
<span class="number">  38</span>                                            ^
<span class="number">  39</span>GameEngine.cpp:477:24: error: use of undeclared identifier <span class="s">'ID_STARBASE'</span><span class="k2">;</span> did you mean <span class="s">'ID_STAR_BLUE'</span>?
<span class="number">  40</span>                        <span class="k1">if</span> <span class="k2">(</span><span class="k2">(</span>hulp-&gt;m_nID <span class="k3">&gt;</span><span class="k3">=</span> ID_STARBASE<span class="k2">)</span><span class="k3">&amp;</span><span class="k3">&amp;</span><span class="k2">(</span>hulp-&gt;m_blDestroyed<span class="k3">=</span><span class="k3">=</span><span class="k1">false</span><span class="k2">)</span><span class="k3">&amp;</span><span class="k3">&amp;</span><span class="k2">(</span>hulp-&gt;m_nMember<span class="k3">!</span><span class="k3">=</span>a_nMember<span class="k2">)</span><span class="k2">)</span>
<span class="number">  41</span>                                            ^~~~~~~~~~~
<span class="number">  42</span>                                            ID_STAR_BLUE
<span class="number">  43</span>.<span class="k3">/</span>types.h:136:5: note: <span class="s">'ID_STAR_BLUE'</span> declared here
<span class="number">  44</span>    ID_STAR_BLUE,
<span class="number">  45</span>    ^
<span class="number">  46</span>GameEngine.cpp:489:24: error: use of undeclared identifier <span class="s">'ID_STARBASE'</span><span class="k2">;</span> did you mean <span class="s">'ID_STAR_BLUE'</span>?
<span class="number">  47</span>                        <span class="k1">if</span> <span class="k2">(</span><span class="k2">(</span>hulp-&gt;m_nID <span class="k3">&gt;</span><span class="k3">=</span> ID_STARBASE<span class="k2">)</span><span class="k3">&amp;</span><span class="k3">&amp;</span><span class="k2">(</span>hulp-&gt;m_blDestroyed<span class="k3">=</span><span class="k3">=</span><span class="k1">false</span><span class="k2">)</span><span class="k3">&amp;</span><span class="k3">&amp;</span><span class="k2">(</span>hulp-&gt;m_nMember<span class="k3">=</span><span class="k3">=</span>a_nMember<span class="k2">)</span><span class="k2">)</span>
<span class="number">  48</span>                                            ^~~~~~~~~~~
<span class="number">  49</span>                                            ID_STAR_BLUE
<span class="number">  50</span>.<span class="k3">/</span>types.h:136:5: note: <span class="s">'ID_STAR_BLUE'</span> declared here
<span class="number">  51</span>    ID_STAR_BLUE,
<span class="number">  52</span>    ^
<span class="number">  53</span>GameEngine.cpp:511:69: error: <span class="s">'m_nPhaserEnergy'</span> is a <span class="k1">protected</span> member of <span class="s">'TShip'</span>
<span class="number">  54</span>                <a href="http://www.allegro.cc/manual/al_draw_filled_rectangle"><span class="a">al_draw_filled_rectangle</span></a><span class="k2">(</span>dx<span class="k3">+</span><span class="n">64</span>, dy<span class="k3">+</span><span class="n">50</span>, dx<span class="k3">+</span><span class="n">69</span>, <span class="k2">(</span>dy<span class="k3">+</span><span class="n">50</span><span class="k2">)</span><span class="k3">-</span><span class="k2">(</span>a_pPlayer-&gt;m_nPhaserEnergy<span class="k2">)</span>,m_clRED<span class="k2">)</span><span class="k2">;</span>
<span class="number">  55</span>                                                                                  ^
<span class="number">  56</span>.<span class="k3">/</span>Ship.h:67:2: note: declared <span class="k1">protected</span> here
<span class="number">  57</span>        m_nPhaserEnergy,
<span class="number">  58</span>        ^
<span class="number">  59</span>GameEngine.cpp:593:26: error: use of undeclared identifier <span class="s">'TBullet'</span>
<span class="number">  60</span>                  object.m_nTarget <span class="k3">=</span> <span class="k2">(</span><span class="k2">(</span>TBullet <span class="k3">*</span><span class="k2">)</span><span class="k2">(</span><span class="k3">*</span>p<span class="k2">)</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>m_nTarget<span class="k2">;</span>
<span class="number">  61</span>                                       ^
<span class="number">  62</span>GameEngine.cpp:593:35: error: expected expression
<span class="number">  63</span>                  object.m_nTarget <span class="k3">=</span> <span class="k2">(</span><span class="k2">(</span>TBullet <span class="k3">*</span><span class="k2">)</span><span class="k2">(</span><span class="k3">*</span>p<span class="k2">)</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>m_nTarget<span class="k2">;</span>
<span class="number">  64</span>                                                ^
<span class="number">  65</span>GameEngine.cpp:597:21: error: use of undeclared identifier <span class="s">'ID_SHIP'</span>
<span class="number">  66</span>           <span class="k1">if</span> <span class="k2">(</span><span class="k2">(</span><span class="k3">*</span>p<span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>m_nID&gt;ID_SHIP<span class="k2">)</span>
<span class="number">  67</span>                           ^
<span class="number">  68</span>GameEngine.cpp:608:45: error: <span class="s">'m_dWaypointX'</span> is a <span class="k1">protected</span> member of <span class="s">'TShip'</span>
<span class="number">  69</span>                   object.m_dWaypointX <span class="k3">=</span> <span class="k2">(</span><span class="k2">(</span>TShip <span class="k3">*</span><span class="k2">)</span><span class="k2">(</span><span class="k3">*</span>p<span class="k2">)</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>m_dWaypointX<span class="k2">;</span>
<span class="number">  70</span>                                                          ^
<span class="number">  71</span>.<span class="k3">/</span>Ship.h:60:5: note: declared <span class="k1">protected</span> here
<span class="number">  72</span>           m_dWaypointX,
<span class="number">  73</span>           ^
<span class="number">  74</span>GameEngine.cpp:609:45: error: <span class="s">'m_dWaypointY'</span> is a <span class="k1">protected</span> member of <span class="s">'TShip'</span>
<span class="number">  75</span>                   object.m_dWaypointY <span class="k3">=</span> <span class="k2">(</span><span class="k2">(</span>TShip <span class="k3">*</span><span class="k2">)</span><span class="k2">(</span><span class="k3">*</span>p<span class="k2">)</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>m_dWaypointY<span class="k2">;</span>
<span class="number">  76</span>                                                          ^
<span class="number">  77</span>.<span class="k3">/</span>Ship.h:61:5: note: declared <span class="k1">protected</span> here
<span class="number">  78</span>           m_dWaypointY,
<span class="number">  79</span>           ^
<span class="number">  80</span>GameEngine.cpp:611:45: error: <span class="s">'m_nTorpedoes'</span> is a <span class="k1">protected</span> member of <span class="s">'TShip'</span>
<span class="number">  81</span>                   object.m_nTorpedoes <span class="k3">=</span> <span class="k2">(</span><span class="k2">(</span>TShip <span class="k3">*</span><span class="k2">)</span><span class="k2">(</span><span class="k3">*</span>p<span class="k2">)</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>m_nTorpedoes<span class="k2">;</span>
<span class="number">  82</span>                                                          ^
<span class="number">  83</span>.<span class="k3">/</span>Ship.h:70:2: note: declared <span class="k1">protected</span> here
<span class="number">  84</span>        m_nTorpedoes,
<span class="number">  85</span>        ^
<span class="number">  86</span>GameEngine.cpp:612:46: error: <span class="s">'m_nRepairItem'</span> is a <span class="k1">protected</span> member of <span class="s">'TShip'</span>
<span class="number">  87</span>                   object.m_nRepairItem <span class="k3">=</span> <span class="k2">(</span><span class="k2">(</span>TShip <span class="k3">*</span><span class="k2">)</span><span class="k2">(</span><span class="k3">*</span>p<span class="k2">)</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>m_nRepairItem<span class="k2">;</span>
<span class="number">  88</span>                                                           ^
<span class="number">  89</span>.<span class="k3">/</span>Ship.h:65:5: note: declared <span class="k1">protected</span> here
<span class="number">  90</span><span class="k1">int</span> m_nRepairItem,
<span class="number">  91</span>    ^
<span class="number">  92</span>GameEngine.cpp:613:40: error: <span class="s">'m_nCrew'</span> is a <span class="k1">protected</span> member of <span class="s">'TShip'</span>
<span class="number">  93</span>                   object.m_nCrew <span class="k3">=</span> <span class="k2">(</span><span class="k2">(</span>TShip <span class="k3">*</span><span class="k2">)</span><span class="k2">(</span><span class="k3">*</span>p<span class="k2">)</span><span class="k2">)</span><span class="k3">-</span><span class="k3">&gt;</span>m_nCrew<span class="k2">;</span>
<span class="number">  94</span>                                                     ^
<span class="number">  95</span>.<span class="k3">/</span>Ship.h:66:2: note: declared <span class="k1">protected</span> here
<span class="number">  96</span>        m_nCrew,
<span class="number">  97</span>        ^
<span class="number">  98</span>fatal error: too many errors emitted, stopping now <span class="k2">[</span><span class="k3">-</span>ferror-limit<span class="k3">=</span><span class="k2">]</span>
<span class="number">  99</span><span class="n">20</span> errors generated.
<span class="number"> 100</span>In file included from MathVectors.cpp:1:
<span class="number"> 101</span>.<span class="k3">/</span>MathVectors.h:9:17: warning: <span class="k1">using</span> directive refers to implicitly-defined <span class="k1">namespace</span> <span class="s">'std'</span>
<span class="number"> 102</span><span class="k1">using</span> <span class="k1">namespace</span> std<span class="k2">;</span>
<span class="number"> 103</span>                ^
<span class="number"> 104</span><span class="n">1</span> warning generated.
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Chris Katko)</author>
		<pubDate>Fri, 18 Mar 2016 02:49:19 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Ik was coding on Windows yesterday, But I built and ran it several times on Linux (ubuntu) using code::blocks (gcc).<br />I had to reinstall ubuntu some time ago so I need to install and setup allegro again.  I&#39;ll try it tonight.</p><p>Edit.. I was missing permissions to run .. errrm</p><p>however.. strange thing is I can build on linux..  the debug version runs fine now.. <br />how that is possible the devil may know... the release build gives error 255 however.. stack overflow ?   I thought a debug used up more stack than a release <img src="http://www.allegro.cc/forums/smileys/huh.gif" alt="???" /></p><p><span class="remote-thumbnail"><span class="json">{"name":"610242","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/1\/c\/1ca328eaed59fabaa186e693d99191c9.png","w":1280,"h":1024,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/1\/c\/1ca328eaed59fabaa186e693d99191c9"}</span><img src="http://www.allegro.cc//djungxnpq2nug.cloudfront.net/image/cache/1/c/1ca328eaed59fabaa186e693d99191c9-240.jpg" alt="610242" width="240" height="192" /></span></p><p>Edit:  after some testing with other code I found the version of allegro I was using caused the problem.. I have no idea why but with version 5.0.4 I get the segmentation fault. With version 5.0.1 everything runs fine....<br />it could be that the 5.0.4 version was build wrong somehow since I built that one myself some time ago. The 5.0.1 version is from allegro.cc</p><p>Buy why ?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Ariesnl)</author>
		<pubDate>Fri, 18 Mar 2016 14:36:45 +0000</pubDate>
	</item>
</rss>
