<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>[a5] Multisampling not working in Direct3D</title>
		<link>http://www.allegro.cc/forums/view/615347</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Sun, 10 May 2015 07:13:47 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I think I may have reported this issue a while back, but I can&#39;t remember exactly.  I apologize if this is a known issue.  Essentially, multisampling does not work in Direct3D mode.  I&#39;m using the <a href="https://www.allegro.cc/forums/thread/615346">latest release of 5.1.10</a>.</p><p>With Direct3D<br /><a href="https://d1cxvcw9gjxu2x.cloudfront.net/attachments/609419">https://d1cxvcw9gjxu2x.cloudfront.net/attachments/609419</a></p><p>With OpenGL<br /><a href="https://d1cxvcw9gjxu2x.cloudfront.net/attachments/609418">https://d1cxvcw9gjxu2x.cloudfront.net/attachments/609418</a></p><p>Here is a program that demonstrates the issue (using <span class="source-code">ALLEGRO_DIRECT3D_INTERNAL</span>)</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span>
<span class="number">  2</span><span class="p">#include &lt;allegro5/allegro.h&gt;</span>
<span class="number">  3</span>
<span class="number">  4</span><span class="p">#include &lt;allegro5/allegro_color.h&gt;</span>
<span class="number">  5</span><span class="p">#include &lt;allegro5/allegro_primitives.h&gt;</span>
<span class="number">  6</span>
<span class="number">  7</span>
<span class="number">  8</span><span class="k1">int</span> main<span class="k2">(</span><span class="k1">int</span> argc, <span class="k1">char</span> <span class="k3">*</span><span class="k3">*</span>argv<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  9</span><span class="k2">{</span>
<span class="number"> 10</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="number"> 12</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"> 13</span>
<span class="number"> 14</span>  <a href="http://www.allegro.cc/manual/al_set_new_display_option"><span class="a">al_set_new_display_option</span></a><span class="k2">(</span>ALLEGRO_SAMPLE_BUFFERS, <span class="n">1</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 15</span>  <a href="http://www.allegro.cc/manual/al_set_new_display_option"><span class="a">al_set_new_display_option</span></a><span class="k2">(</span>ALLEGRO_SAMPLES, <span class="n">8</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 16</span>
<span class="number"> 17</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_DIRECT3D_INTERNAL<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 18</span>
<span class="number"> 19</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a> <span class="k3">*</span>display <span class="k3">=</span> <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">1024</span>, <span class="n">600</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 20</span>  <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_color_name"><span class="a">al_color_name</span></a><span class="k2">(</span><span class="s">"black"</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 21</span>
<span class="number"> 22</span>  <a href="http://www.allegro.cc/manual/al_draw_circle"><span class="a">al_draw_circle</span></a><span class="k2">(</span><span class="n">500</span>, <span class="n">300</span>, <span class="n">200</span>, <a href="http://www.allegro.cc/manual/al_color_name"><span class="a">al_color_name</span></a><span class="k2">(</span><span class="s">"white"</span><span class="k2">)</span>, <span class="n">5</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 23</span>  <a href="http://www.allegro.cc/manual/al_draw_line"><span class="a">al_draw_line</span></a><span class="k2">(</span><span class="n">200</span>, <span class="n">200</span>, <span class="n">700</span>, <span class="n">300</span>, <a href="http://www.allegro.cc/manual/al_color_name"><span class="a">al_color_name</span></a><span class="k2">(</span><span class="s">"white"</span><span class="k2">)</span>, <span class="n">5</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 24</span>  
<span class="number"> 25</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"> 26</span>
<span class="number"> 27</span>  <a href="http://www.allegro.cc/manual/al_rest"><span class="a">al_rest</span></a><span class="k2">(</span><span class="n">3</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 28</span>
<span class="number"> 29</span>  <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 30</span><span class="k2">}</span>
</div></div><p>


[edit: sorry had some screenshot issues, should be fixed now]
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Mark Oates)</author>
		<pubDate>Wed, 06 May 2015 20:27:01 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I tried to reproduce your problem, but the OpenGL and the Direct3D one look the same to me, and they both look aliased. Note that I used ALLEGRO_DIRECT3D, not &#39;ALLEGRO_DIRECT3D_INTERNAL&#39; as that shouldn&#39;t be visible anyway. Why are you trying to use _INTERNAL?</p><p>Here&#39;s the code I used :
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span>
<span class="number">  2</span><span class="p">#include &lt;allegro5/allegro.h&gt;</span>
<span class="number">  3</span><span class="p">#include &lt;allegro5/allegro_color.h&gt;</span>
<span class="number">  4</span><span class="p">#include &lt;allegro5/allegro_primitives.h&gt; </span>
<span class="number">  5</span><span class="p">#include &lt;allegro5/allegro_direct3d.h&gt;</span>
<span class="number">  6</span>
<span class="number">  7</span><span class="p">#include &lt;cstdio&gt;</span>
<span class="number">  8</span>
<span class="number">  9</span><span class="k1">int</span> main<span class="k2">(</span><span class="k1">int</span> argc, <span class="k1">char</span> <span class="k3">*</span><span class="k3">*</span>argv<span class="k2">)</span> <span class="k2">{</span> 
<span class="number"> 10</span>
<span class="number"> 11</span>   <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span><a href="http://www.allegro.cc/manual/al_init"><span class="a">al_init</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span><span class="k1">return</span> <span class="n">1</span><span class="k2">;</span><span class="k2">}</span> 
<span class="number"> 12</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"> 13</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"> 14</span>
<span class="number"> 15</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_EVENT_QUEUE"><span class="a">ALLEGRO_EVENT_QUEUE</span></a><span class="k3">*</span> queue <span class="k3">=</span> <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"> 16</span>   <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>queue<span class="k2">)</span> <span class="k2">{</span><span class="k1">return</span> <span class="n">2</span><span class="k2">;</span><span class="k2">}</span>
<span class="number"> 17</span>   <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>queue , <a href="http://www.allegro.cc/manual/al_get_keyboard_event_source"><span class="a">al_get_keyboard_event_source</span></a><span class="k2">(</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 18</span>
<span class="number"> 19</span>   <a href="http://www.allegro.cc/manual/al_set_new_display_option"><span class="a">al_set_new_display_option</span></a><span class="k2">(</span>ALLEGRO_SAMPLE_BUFFERS, <span class="n">1</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 20</span>   <a href="http://www.allegro.cc/manual/al_set_new_display_option"><span class="a">al_set_new_display_option</span></a><span class="k2">(</span>ALLEGRO_SAMPLES, <span class="n">8</span>, ALLEGRO_SUGGEST<span class="k2">)</span><span class="k2">;</span> 
<span class="number"> 21</span>
<span class="number"> 22</span>   <span class="k1">int</span> use_opengl <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 23</span>   <span class="k1">if</span> <span class="k2">(</span>argc <span class="k3">&gt;</span> <span class="n">1</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 24</span>      <span class="k1">if</span> <span class="k2">(</span><span class="n">1</span> <span class="k3">=</span><span class="k3">=</span> <a href="http://www.delorie.com/djgpp/doc/libc/libc_741.html" target="_blank">sscanf</a><span class="k2">(</span>argv<span class="k2">[</span><span class="n">1</span><span class="k2">]</span> , <span class="s">"%i"</span> , <span class="k3">&amp;</span>use_opengl<span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 25</span>         
<span class="number"> 26</span>      <span class="k2">}</span>
<span class="number"> 27</span>      <span class="k1">else</span> <span class="k2">{</span>
<span class="number"> 28</span>         use_opengl <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 29</span>      <span class="k2">}</span>
<span class="number"> 30</span>   <span class="k2">}</span>
<span class="number"> 31</span>
<span class="number"> 32</span>   <span class="k1">if</span> <span class="k2">(</span>use_opengl<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 33</span>      <a href="http://www.allegro.cc/manual/al_set_new_display_flags"><span class="a">al_set_new_display_flags</span></a><span class="k2">(</span>ALLEGRO_OPENGL<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 34</span>   <span class="k2">}</span>
<span class="number"> 35</span>   <span class="k1">else</span> <span class="k2">{</span>
<span class="number"> 36</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_DIRECT3D<span class="k2">)</span><span class="k2">;</span> 
<span class="number"> 37</span>   <span class="k2">}</span>
<span class="number"> 38</span>   
<span class="number"> 39</span>   <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a> <span class="k3">*</span>display <span class="k3">=</span> <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">1024</span>, <span class="n">600</span><span class="k2">)</span><span class="k2">;</span> 
<span class="number"> 40</span>   <span class="k1">if</span> <span class="k2">(</span><span class="k3">!</span>display<span class="k2">)</span> <span class="k2">{</span><span class="k1">return</span> <span class="n">2</span><span class="k2">;</span><span class="k2">}</span>
<span class="number"> 41</span>   <a href="http://www.allegro.cc/manual/al_register_event_source"><span class="a">al_register_event_source</span></a><span class="k2">(</span>queue , <a href="http://www.allegro.cc/manual/al_get_display_event_source"><span class="a">al_get_display_event_source</span></a><span class="k2">(</span>display<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 42</span>
<span class="number"> 43</span>   <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_color_name"><span class="a">al_color_name</span></a><span class="k2">(</span><span class="s">"black"</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span> 
<span class="number"> 44</span>   <a href="http://www.allegro.cc/manual/al_draw_circle"><span class="a">al_draw_circle</span></a><span class="k2">(</span><span class="n">500</span>, <span class="n">300</span>, <span class="n">200</span>, <a href="http://www.allegro.cc/manual/al_color_name"><span class="a">al_color_name</span></a><span class="k2">(</span><span class="s">"white"</span><span class="k2">)</span>, <span class="n">5</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span> 
<span class="number"> 45</span>   <a href="http://www.allegro.cc/manual/al_draw_line"><span class="a">al_draw_line</span></a><span class="k2">(</span><span class="n">200</span>, <span class="n">200</span>, <span class="n">700</span>, <span class="n">300</span>, <a href="http://www.allegro.cc/manual/al_color_name"><span class="a">al_color_name</span></a><span class="k2">(</span><span class="s">"white"</span><span class="k2">)</span>, <span class="n">5</span>.<span class="n">0</span><span class="k2">)</span><span class="k2">;</span> 
<span class="number"> 46</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"> 47</span>
<span class="number"> 48</span>   <span class="k1">bool</span> quit <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 49</span>   <span class="k1">while</span> <span class="k2">(</span><span class="k3">!</span>quit<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 50</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"> 51</span>      <a href="http://www.allegro.cc/manual/al_wait_for_event"><span class="a">al_wait_for_event</span></a><span class="k2">(</span>queue , <span class="k3">&amp;</span>ev<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 52</span>      <span class="k1">if</span> <span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_KEY_DOWN <span class="k3">&amp;</span><span class="k3">&amp;</span> ev.keyboard.keycode <span class="k3">=</span><span class="k3">=</span> ALLEGRO_KEY_ESCAPE<span class="k2">)</span> <span class="k2">{</span>quit <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span><span class="k2">}</span>
<span class="number"> 53</span>      <span class="k1">if</span> <span class="k2">(</span>ev.type <span class="k3">=</span><span class="k3">=</span> ALLEGRO_EVENT_DISPLAY_CLOSE<span class="k2">)</span> <span class="k2">{</span>quit <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span><span class="k2">}</span>
<span class="number"> 54</span>   <span class="k2">}</span>
<span class="number"> 55</span>   <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 56</span><span class="k2">}</span>
</div></div><p>

<span class="remote-thumbnail"><span class="json">{"name":"609420","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/a\/1\/a1b96f63099bc65d333f5b6ca484ba5e.png","w":1036,"h":632,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/a\/1\/a1b96f63099bc65d333f5b6ca484ba5e"}</span><img src="http://www.allegro.cc//djungxnpq2nug.cloudfront.net/image/cache/a/1/a1b96f63099bc65d333f5b6ca484ba5e-240.jpg" alt="609420" width="240" height="146" /></span>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Thu, 07 May 2015 11:06:00 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Having dug deeper into the issue, it seems like I have some dated drivers (2012) for this onboard graphic card (Intel HD 4000).  My laptop won&#39;t let me update to the latest drivers (2015) due to a <i>custom</i> driver for this specific model of laptop (Sony Vaio Z Series).</p><p>But, the laptop <i>does</i> come with an external graphics card, an AMD Radeon HD 7670M.  With the Radeon in use, it <b>does render multisampling</b> as expected but the window doesn&#39;t show up on the desktop when created.  According to <span class="source-code"><a href="http://www.allegro.cc/manual/al_get_window_position"><span class="a">al_get_window_position</span></a></span> a newly created <span class="source-code"><a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a></span> is placed all the way at (32767, 32767), so I have to <span class="source-code"><a href="http://www.allegro.cc/manual/al_set_window_position"><span class="a">al_set_window_position</span></a></span> to move it back in place.</p><p>It&#39;s kind of a cluster<span class="cuss"><span>fuck</span></span>. <img src="http://www.allegro.cc/forums/smileys/wink.gif" alt=";)" /></p><p>Attached are screenshots using the Radeon card.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Mark Oates)</author>
		<pubDate>Thu, 07 May 2015 22:53:58 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>So that window positioning bug is still there? <b>sigh</b> I thought it was gone.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Fri, 08 May 2015 02:57:17 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>It won&#39;t be gone until somebody fixes it <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (SiegeLord)</author>
		<pubDate>Fri, 08 May 2015 07:02:55 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>There can&#39;t be that many places a window is registered and created. (On Windows I mean) Fix it each time it is and you&#39;re done.</p><p>Also a simple hack would be to alter al_create_display to center the window after creation.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Fri, 08 May 2015 09:29:29 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Let the person who is using Allegro on Windows make the first patch. <img src="http://www.allegro.cc/forums/smileys/wink.gif" alt=";)" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (beoran)</author>
		<pubDate>Fri, 08 May 2015 10:15:41 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title">Allegro Git 5.1.X said:</div><div class="quote"><p>
</p><div class="source-code"><div class="toolbar"><span class="name">win\wwindow.c</span><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"> 125</span>
<span class="number"> 126</span>HWND _al_win_create_window<span class="k2">(</span><a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a> <span class="k3">*</span>display, <span class="k1">int</span> width, <span class="k1">int</span> height, <span class="k1">int</span> flags<span class="k2">)</span>
<span class="number"> 127</span><span class="k2">{</span>
<span class="number"> 128</span>   HWND my_window<span class="k2">;</span>
<span class="number"> 129</span>   DWORD style<span class="k2">;</span>
<span class="number"> 130</span>   DWORD ex_style<span class="k2">;</span>
<div class="highlight"><span class="number"> 131</span>   <span class="k1">int</span> pos_x, pos_y<span class="k2">;</span></div><span class="number"> 132</span>   <span class="k1">bool</span> center <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 133</span>   ALLEGRO_DISPLAY_WIN <span class="k3">*</span>win_display <span class="k3">=</span> <span class="k2">(</span>ALLEGRO_DISPLAY_WIN <span class="k3">*</span><span class="k2">)</span>display<span class="k2">;</span>
<span class="number"> 134</span>   WINDOWINFO wi<span class="k2">;</span>
<span class="number"> 135</span>   <span class="k1">int</span> lsize, rsize, tsize, bsize<span class="k2">;</span> <span class="c">// left, right, top, bottom border sizes</span>
<span class="number"> 136</span>
<span class="number"> 137</span>   wi.cbSize <span class="k3">=</span> <span class="k1">sizeof</span><span class="k2">(</span>WINDOWINFO<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 138</span>
<span class="number"> 139</span>   display_flags_to_window_styles<span class="k2">(</span>flags, <span class="k3">&amp;</span>style, <span class="k3">&amp;</span>ex_style<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 140</span>
<span class="number"> 141</span>   <a href="http://www.allegro.cc/manual/al_get_new_window_position"><span class="a">al_get_new_window_position</span></a><span class="k2">(</span><span class="k3">&amp;</span>pos_x, <span class="k3">&amp;</span>pos_y<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 142</span>   <span class="k1">if</span> <span class="k2">(</span><span class="k2">(</span>flags <span class="k3">&amp;</span> ALLEGRO_FULLSCREEN<span class="k2">)</span> <span class="k3">|</span><span class="k3">|</span> <span class="k2">(</span>flags <span class="k3">&amp;</span> ALLEGRO_FULLSCREEN_WINDOW<span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 143</span>      pos_x <span class="k3">=</span> pos_y <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 144</span>   <span class="k2">}</span>
<span class="number"> 145</span>   <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span>pos_x <span class="k3">=</span><span class="k3">=</span> INT_MAX<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 146</span>      pos_x <span class="k3">=</span> pos_y <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 147</span>      center <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 148</span>   <span class="k2">}</span>
<span class="number"> 149</span>
<span class="number"> 150</span>   <span class="k1">if</span> <span class="k2">(</span>center<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 151</span>      _al_win_get_window_center<span class="k2">(</span>win_display, width, height, <span class="k3">&amp;</span>pos_x, <span class="k3">&amp;</span>pos_y<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 152</span>   <span class="k2">}</span>
<span class="number"> 153</span>
<span class="number"> 154</span>   my_window <span class="k3">=</span> CreateWindowEx<span class="k2">(</span>ex_style,
<span class="number"> 155</span>      L<span class="s">"ALEX"</span>, L<span class="s">"Allegro"</span>, style,
<span class="number"> 156</span>      pos_x, pos_y, width, height,
<span class="number"> 157</span>      NULL,NULL,window_class.hInstance,<span class="n">0</span><span class="k2">)</span><span class="k2">;</span>
</div></div><p>
</p></div></div><p>
Uninitialized values for pos_x and pos_y cause the problem. <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" /></p><p><span class="remote-thumbnail"><span class="json">{"name":"4179768.jpg","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/0\/4\/046208b5daa5779b471042af34eb0c8a.jpg","w":400,"h":300,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/0\/4\/046208b5daa5779b471042af34eb0c8a"}</span><img src="http://www.allegro.cc//djungxnpq2nug.cloudfront.net/image/cache/0/4/046208b5daa5779b471042af34eb0c8a-240.jpg" alt="4179768.jpg" width="240" height="180" /></span></p><p>Dude. A monkey could&#39;ve fixed that. Wait. Maybe I am a monkey! <img src="http://www.allegro.cc/forums/smileys/shocked.gif" alt=":o" /></p><p>Attached is a patch <a href="https://www.allegro.cc/files/attachment/609426">https://www.allegro.cc/files/attachment/609426</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> src<span class="k3">/</span>win<span class="k3">/</span>wwindow.c <span class="k3">|</span> <span class="n">13</span> <span class="k3">+</span><span class="k3">+</span><span class="k3">+</span><span class="k3">+</span><span class="k3">+</span><span class="k3">-</span><span class="k3">-</span><span class="k3">-</span><span class="k3">-</span><span class="k3">-</span><span class="k3">-</span><span class="k3">-</span><span class="k3">-</span>
<span class="number">  2</span> <span class="n">1</span> file changed, <span class="n">5</span> insertions<span class="k2">(</span><span class="k3">+</span><span class="k2">)</span>, <span class="n">8</span> deletions<span class="k2">(</span><span class="k3">-</span><span class="k2">)</span>
<span class="number">  3</span>
<span class="number">  4</span>diff <span class="k3">-</span><span class="k3">-</span>git a<span class="k3">/</span>src<span class="k3">/</span>win<span class="k3">/</span>wwindow.c b<span class="k3">/</span>src<span class="k3">/</span>win<span class="k3">/</span>wwindow.c
<span class="number">  5</span><a href="http://www.delorie.com/djgpp/doc/libc/libc_470.html" target="_blank">index</a> a18acea..b0767bc <span class="n">100644</span>
<span class="number">  6</span><span class="k3">-</span><span class="k3">-</span><span class="k3">-</span> a<span class="k3">/</span>src<span class="k3">/</span>win<span class="k3">/</span>wwindow.c
<span class="number">  7</span><span class="k3">+</span><span class="k3">+</span><span class="k3">+</span> b<span class="k3">/</span>src<span class="k3">/</span>win<span class="k3">/</span>wwindow.c
<span class="number">  8</span>@@ <span class="k3">-</span><span class="n">128</span>,<span class="n">8</span> <span class="k3">+</span><span class="n">128</span>,<span class="n">9</span> @@ HWND _al_win_create_window<span class="k2">(</span><a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a> <span class="k3">*</span>display, <span class="k1">int</span> width, <span class="k1">int</span> height, <span class="k1">int</span>
<span class="number">  9</span>    HWND my_window<span class="k2">;</span>
<span class="number"> 10</span>    DWORD style<span class="k2">;</span>
<span class="number"> 11</span>    DWORD ex_style<span class="k2">;</span>
<span class="number"> 12</span><span class="k3">-</span>   <span class="k1">int</span> pos_x, pos_y<span class="k2">;</span>
<span class="number"> 13</span><span class="k3">-</span>   <span class="k1">bool</span> center <span class="k3">=</span> <span class="k1">false</span><span class="k2">;</span>
<span class="number"> 14</span><span class="k3">+</span>   <span class="k1">int</span> pos_x <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 15</span><span class="k3">+</span>   <span class="k1">int</span> pos_y <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 16</span><span class="k3">+</span><span class="c">//   bool center = false;// center windows automatically for now</span>
<span class="number"> 17</span>    ALLEGRO_DISPLAY_WIN <span class="k3">*</span>win_display <span class="k3">=</span> <span class="k2">(</span>ALLEGRO_DISPLAY_WIN <span class="k3">*</span><span class="k2">)</span>display<span class="k2">;</span>
<span class="number"> 18</span>    WINDOWINFO wi<span class="k2">;</span>
<span class="number"> 19</span>    <span class="k1">int</span> lsize, rsize, tsize, bsize<span class="k2">;</span> <span class="c">// left, right, top, bottom border sizes</span>
<span class="number"> 20</span>@@ <span class="k3">-</span><span class="n">142</span>,<span class="n">12</span> <span class="k3">+</span><span class="n">143</span>,<span class="n">8</span> @@ HWND _al_win_create_window<span class="k2">(</span><a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a> <span class="k3">*</span>display, <span class="k1">int</span> width, <span class="k1">int</span> height, <span class="k1">int</span>
<span class="number"> 21</span>    <span class="k1">if</span> <span class="k2">(</span><span class="k2">(</span>flags <span class="k3">&amp;</span> ALLEGRO_FULLSCREEN<span class="k2">)</span> <span class="k3">|</span><span class="k3">|</span> <span class="k2">(</span>flags <span class="k3">&amp;</span> ALLEGRO_FULLSCREEN_WINDOW<span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 22</span>       pos_x <span class="k3">=</span> pos_y <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 23</span>    <span class="k2">}</span>
<span class="number"> 24</span><span class="k3">-</span>   <span class="k1">else</span> <span class="k1">if</span> <span class="k2">(</span>pos_x <span class="k3">=</span><span class="k3">=</span> INT_MAX<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 25</span><span class="k3">-</span>      pos_x <span class="k3">=</span> pos_y <span class="k3">=</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 26</span><span class="k3">-</span>      center <span class="k3">=</span> <span class="k1">true</span><span class="k2">;</span>
<span class="number"> 27</span><span class="k3">-</span>   <span class="k2">}</span>
<span class="number"> 28</span><span class="k3">-</span>
<span class="number"> 29</span><span class="k3">-</span>   <span class="k1">if</span> <span class="k2">(</span>center<span class="k2">)</span> <span class="k2">{</span>
<span class="number"> 30</span><span class="k3">+</span>   <span class="k1">else</span> <span class="k2">{</span>
<span class="number"> 31</span><span class="k3">+</span>      <span class="c">// window, center for now, unless we can remember the old position somehow</span>
<span class="number"> 32</span>       _al_win_get_window_center<span class="k2">(</span>win_display, width, height, <span class="k3">&amp;</span>pos_x, <span class="k3">&amp;</span>pos_y<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 33</span>    <span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Fri, 08 May 2015 10:58:16 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Thanks for looking into this! However ...
</p><div class="source-code snippet"><div class="inner"><pre> <a href="http://www.allegro.cc/manual/al_get_new_window_position"><span class="a">al_get_new_window_position</span></a><span class="k2">(</span><span class="k3">&amp;</span>pos_x, <span class="k3">&amp;</span>pos_y<span class="k2">)</span><span class="k2">;</span>
</pre></div></div><p>
...should initialize those variables. Most likely the problem in in that function. The rabbit hole goes deeper...</p><p>Edit: </p><p>It turns out al_get_new_window_position sets those values to INT_MAX by default! <br />This means that an al_set_new_window_position(0, 0) or whatever would be needed somewhere (but where?) to fix this. </p><p>I also noticed that in wwindow.c we don&#39;t check properly the return values of GetWindowRect()and SetWindowRect() for success. Hilarity ensues! :p
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (beoran)</author>
		<pubDate>Fri, 08 May 2015 11:12:13 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Edit2<br />I totally didn&#39;t see that call to <span class="source-code"><a href="http://www.allegro.cc/manual/al_get_new_window_position"><span class="a">al_get_new_window_position</span></a></span>. <img src="http://www.allegro.cc/forums/smileys/shocked.gif" alt=":o" /></p><p>Wasn&#39;t aware that function existed. Now you&#39;re gonna have to store new_win_x and new_win_y somewhere and use those instead.</p><p>Edit<br />We don&#39;t want 0,0 as the default though, rather to center the window or put it into its last known location.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Fri, 08 May 2015 11:19:07 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/615347/1013016#target">Edgar Reynaldo</a> said:</div><div class="quote"><p>We don&#39;t want 0,0 as the default though, rather to center the window or put it into its last known location.</p></div></div><p>If a custom position isn&#39;t set, we should let the window manager place the window.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Fri, 08 May 2015 12:18:49 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Well you have to pass CreateWindow a certain value to use default positioning, CW_USEDEFAULT for the x value of the window.</p><div class="quote_container"><div class="title"><a href="https://msdn.microsoft.com/en-us/library/windows/desktop/ms632679%28v=vs.85%29.aspx">CreateWindow</a> said:</div><div class="quote"><p>
x [in]</p><p>    Type: int</p><p>    The initial horizontal position of the window. For an overlapped or pop-up window, the x parameter is the initial x-coordinate of the window&#39;s upper-left corner, in screen coordinates. For a child window, x is the x-coordinate of the upper-left corner of the window relative to the upper-left corner of the parent window&#39;s client area. If this parameter is set to CW_USEDEFAULT, the system selects the default position for the window&#39;s upper-left corner and ignores the y parameter. CW_USEDEFAULT is valid only for overlapped windows; if it is specified for a pop-up or child window, the x and y parameters are set to zero.<br />y [in]</p><p>    Type: int</p><p>    The initial vertical position of the window. For an overlapped or pop-up window, the y parameter is the initial y-coordinate of the window&#39;s upper-left corner, in screen coordinates. For a child window, y is the initial y-coordinate of the upper-left corner of the child window relative to the upper-left corner of the parent window&#39;s client area. For a list box, y is the initial y-coordinate of the upper-left corner of the list box&#39;s client area relative to the upper-left corner of the parent window&#39;s client area.</p><p>    If an overlapped window is created with the WS_VISIBLE style bit set and the x parameter is set to CW_USEDEFAULT, then the y parameter determines how the window is shown. If the y parameter is CW_USEDEFAULT, then the window manager calls ShowWindow with the SW_SHOW flag after the window has been created. If the y parameter is some other value, then the window manager calls ShowWindow with that value as the nCmdShow parameter.
</p></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Fri, 08 May 2015 12:27:26 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>They are defines as followed in windows:</p><div class="source-code snippet"><div class="inner"><pre><span class="p">#define CW_USEDEFAULT     ((int)0x80000000) /* 2147483648 */</span>
<span class="p">#define INT_MAX           2147483647</span>
</pre></div></div><p>

That&#39;s quite suspicious, I guess the current Allegro code happens to work &quot;by accident&quot; but not in all cases?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (beoran)</author>
		<pubDate>Fri, 08 May 2015 13:49:24 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Well, we never pass INT_MAX to Windows from what I see...</p><p>But this is very suspicious: <a href="https://github.com/liballeg/allegro5/blob/HEAD/src/win/d3d_disp.cpp#L1251">https://github.com/liballeg/allegro5/blob/HEAD/src/win/d3d_disp.cpp#L1251</a></p><p>Why would the internal D3D code ever call al_set_new_window_position which is our user API function to set a window position? Even if it&#39;s just for the case that INT_MAX was passed by the user it seems wrong to overwrite that.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Elias)</author>
		<pubDate>Fri, 08 May 2015 16:50:16 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>As a workaround, I tried positioning the window in the center of the screen by using <span class="source-code"><a href="http://www.allegro.cc/manual/al_get_monitor_info"><span class="a">al_get_monitor_info</span></a></span> and <span class="source-code"><a href="http://www.allegro.cc/manual/al_set_window_position"><span class="a">al_set_window_position</span></a></span>, but the numbers returned by <span class="source-code"><a href="http://www.allegro.cc/manual/al_get_monitor_info"><span class="a">al_get_monitor_info</span></a></span> not sane. <img src="http://www.allegro.cc/forums/smileys/undecided.gif" alt=":-/" /> It was the same with the <span class="source-code">ALLEGRO_OPENGL</span> flag or not.</p><p>Also, the <span class="source-code"><a href="http://www.allegro.cc/manual/al_get_new_window_position"><span class="a">al_get_new_window_position</span></a></span> did not match the <span class="source-code"><a href="http://www.allegro.cc/manual/al_get_window_position"><span class="a">al_get_window_position</span></a></span> after creation.  All of them were crazy values.</p><p><span class="remote-thumbnail"><span class="json">{"name":"609427","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/b\/e\/be6d0bb7cc13f5e13cc404812c6fddb4.png","w":1513,"h":837,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/b\/e\/be6d0bb7cc13f5e13cc404812c6fddb4"}</span><img src="http://www.allegro.cc//djungxnpq2nug.cloudfront.net/image/cache/b/e/be6d0bb7cc13f5e13cc404812c6fddb4-240.jpg" alt="609427" width="240" height="132" /></span></p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span><span class="p">#include &lt;allegro5/allegro.h&gt;</span>
<span class="number">  2</span><span class="p">#include &lt;allegro5/allegro_color.h&gt;</span>
<span class="number">  3</span><span class="p">#include &lt;allegro5/allegro_primitives.h&gt;</span>
<span class="number">  4</span><span class="p">#include &lt;iostream&gt;</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><span class="k3">*</span>argv<span class="k2">(</span><span class="k2">)</span><span class="k2">)</span>
<span class="number">  7</span><span class="k2">{</span>
<span class="number">  8</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">  9</span>  
<span class="number"> 10</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"> 11</span>
<span class="number"> 12</span>  <span class="k1">int</span> newx, newy<span class="k2">;</span>
<span class="number"> 13</span>  <a href="http://www.allegro.cc/manual/al_get_new_window_position"><span class="a">al_get_new_window_position</span></a><span class="k2">(</span><span class="k3">&amp;</span>newx, <span class="k3">&amp;</span>newy<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 14</span>  std::cout <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">"al_get_new_window_position("</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> newx <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">", "</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> newy <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">")"</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> std::endl<span class="k2">;</span>
<span class="number"> 15</span>
<span class="number"> 16</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_DISPLAY"><span class="a">ALLEGRO_DISPLAY</span></a> <span class="k3">*</span>display <span class="k3">=</span> <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">1024</span>, <span class="n">600</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 17</span>
<span class="number"> 18</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_MONITOR_INFO"><span class="a">ALLEGRO_MONITOR_INFO</span></a> monitor_info<span class="k2">;</span>
<span class="number"> 19</span>  <a href="http://www.allegro.cc/manual/al_get_monitor_info"><span class="a">al_get_monitor_info</span></a><span class="k2">(</span><span class="n">0</span>, <span class="k3">&amp;</span>monitor_info<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 20</span>  std::cout <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">"ALLEGRO_MONITOR_INFO("</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> monitor_info.x1 <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">", "</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> monitor_info.y1
<span class="number"> 21</span>          <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">", "</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> monitor_info.x2 <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">", "</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> monitor_info.y2 <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">")"</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> std::endl<span class="k2">;</span>
<span class="number"> 22</span>
<span class="number"> 23</span>  <span class="k1">int</span> winx, winy<span class="k2">;</span>
<span class="number"> 24</span>  <a href="http://www.allegro.cc/manual/al_get_window_position"><span class="a">al_get_window_position</span></a><span class="k2">(</span>display, <span class="k3">&amp;</span>winx, <span class="k3">&amp;</span>winy<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 25</span>  std::cout <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">"al_get_window_position("</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> monitor_info.x2 <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">", "</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> monitor_info.y2 <span class="k3">&lt;</span><span class="k3">&lt;</span> <span class="s">")"</span> <span class="k3">&lt;</span><span class="k3">&lt;</span> std::endl<span class="k2">;</span>
<span class="number"> 26</span>
<span class="number"> 27</span>
<span class="number"> 28</span>
<span class="number"> 29</span>  <a href="http://www.allegro.cc/manual/al_clear_to_color"><span class="a">al_clear_to_color</span></a><span class="k2">(</span><a href="http://www.allegro.cc/manual/al_color_name"><span class="a">al_color_name</span></a><span class="k2">(</span><span class="s">"white"</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 30</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><span class="n">300</span>, <span class="n">300</span>, <span class="n">500</span>, <span class="n">380</span>, <a href="http://www.allegro.cc/manual/al_color_name"><span class="a">al_color_name</span></a><span class="k2">(</span><span class="s">"orange"</span><span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 31</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"> 32</span>
<span class="number"> 33</span>  <a href="http://www.allegro.cc/manual/al_rest"><span class="a">al_rest</span></a><span class="k2">(</span><span class="n">300</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 34</span>
<span class="number"> 35</span>  <span class="k1">return</span> <span class="n">0</span><span class="k2">;</span>
<span class="number"> 36</span><span class="k2">}</span>
</div></div><p>

It could totally just be my computer, guys.  Unless anybody else has reported these bugs.  I can&#39;t update any drivers, so I can&#39;t eliminate that possibility.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Mark Oates)</author>
		<pubDate>Fri, 08 May 2015 21:44:58 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Even if your drivers are a bit weird, Allegro should do something sensible, or as sensible as possible in your case. Actually <i>checking</i> the return values of the Windows API to see if what we are trying to do is working would be a good start...
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (beoran)</author>
		<pubDate>Fri, 08 May 2015 22:18:06 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Your current video adapter is not guaranteed to be number 0 in the adapter list. You need to enumerate all the adapters and see which one is the primary adapter (it is the one at 0,0).</p><div class="source-code snippet"><div class="inner"><pre>   <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"Monitor info :\n"</span><span class="k2">)</span><span class="k2">;</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> <a href="http://www.allegro.cc/manual/al_get_num_video_adapters"><span class="a">al_get_num_video_adapters</span></a><span class="k2">(</span><span class="k2">)</span> <span class="k2">;</span> <span class="k3">+</span><span class="k3">+</span>i<span class="k2">)</span> <span class="k2">{</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="k1">if</span> <span class="k2">(</span><a href="http://www.allegro.cc/manual/al_get_monitor_info"><span class="a">al_get_monitor_info</span></a><span class="k2">(</span>i , <span class="k3">&amp;</span>info<span class="k2">)</span><span class="k2">)</span> <span class="k2">{</span>
         <a href="http://www.delorie.com/djgpp/doc/libc/libc_624.html" target="_blank">printf</a><span class="k2">(</span><span class="s">"Adapter #%d : x1 y1 x2 y2 = %d %d %d %d\n"</span> , i , info.x1 , info.y1 , info.x2 , info.y2<span class="k2">)</span><span class="k2">;</span>
      <span class="k2">}</span>
      <span class="k1">else</span> <span class="k2">{</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 read monitor info for adapter #%d\n"</span> , i<span class="k2">)</span><span class="k2">;</span>
      <span class="k2">}</span>
   <span class="k2">}</span>
</pre></div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Edgar Reynaldo)</author>
		<pubDate>Sat, 09 May 2015 05:04:23 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/615347/1013049#target">Edgar Reynaldo</a> said:</div><div class="quote"><p>Your current video adapter is not guaranteed to be number 0 in the adapter list. </p></div></div><p>True, but the values he was getting were completely invalid. Whether that&#39;s allegro&#39;s fault or windows&#39;s, I don&#39;t know.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Sun, 10 May 2015 07:13:47 +0000</pubDate>
	</item>
</rss>
