<?xml version="1.0"?>
<rss version="2.0">
	<channel>
		<title>ALLEGRO_FILE bug?</title>
		<link>http://www.allegro.cc/forums/view/607405</link>
		<description>Allegro.cc Forum Thread</description>
		<webMaster>matthew@allegro.cc (Matthew Leverton)</webMaster>
		<lastBuildDate>Mon, 23 May 2011 21:56:28 +0000</lastBuildDate>
	</channel>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Hi, I save bmp file by two ways. First: windows handle method, Second: ALLEGRO_FILE, and there are some differences. Why?</p><p>Windows handle:<br /><span class="remote-thumbnail"><span class="json">{"name":"122.png","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/3\/9\/394edc1e2178f0ba867142a3ed969b06.png","w":1440,"h":900,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/3\/9\/394edc1e2178f0ba867142a3ed969b06"}</span><img src="http://www.allegro.cc//djungxnpq2nug.cloudfront.net/image/cache/3/9/394edc1e2178f0ba867142a3ed969b06-240.jpg" alt="122.png" width="240" height="150" /></span></p><p>ALLEGRO_FILE:<br /><span class="remote-thumbnail"><span class="json">{"name":"123.png","src":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/e\/9\/e90ea36612f6db405cdf6312b19faa19.png","w":1440,"h":900,"tn":"\/\/djungxnpq2nug.cloudfront.net\/image\/cache\/e\/9\/e90ea36612f6db405cdf6312b19faa19"}</span><img src="http://www.allegro.cc//djungxnpq2nug.cloudfront.net/image/cache/e/9/e90ea36612f6db405cdf6312b19faa19-240.jpg" alt="123.png" width="240" height="150" /></span></p><p>Why ALLEGRO_FILE method saved crap file?</p><p>code:
</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span><span class="k1">void</span> C_Tools::hwndToBitmap<span class="k2">(</span>HWND hwnd<span class="k2">)</span>
<span class="number">  2</span><span class="k2">{</span>
<span class="number">  3</span>  BITMAPFILEHEADER bmfh <span class="k3">=</span> <span class="k2">{</span><span class="n">0</span><span class="k2">}</span><span class="k2">;</span>
<span class="number">  4</span>    BITMAPINFOHEADER bmih <span class="k3">=</span> <span class="k2">{</span><span class="n">0</span><span class="k2">}</span><span class="k2">;</span>
<span class="number">  5</span>  RECT rc <span class="k3">=</span> <span class="k2">{</span><span class="n">0</span><span class="k2">}</span><span class="k2">;</span>
<span class="number">  6</span>  HDC hdc1<span class="k2">;</span>
<span class="number">  7</span>  HDC hdc2<span class="k2">;</span>
<span class="number">  8</span>    HBITMAP aBmp<span class="k2">;</span>
<span class="number">  9</span>    BITMAPINFO bi<span class="k2">;</span>
<span class="number"> 10</span>    HGDIOBJ OldObj<span class="k2">;</span>
<span class="number"> 11</span>    <span class="k1">void</span> <span class="k3">*</span>dibvalues<span class="k2">;</span>
<span class="number"> 12</span>    HANDLE fileHandle<span class="k2">;</span>
<span class="number"> 13</span>    DWORD bytes_written<span class="k2">;</span>
<span class="number"> 14</span>  <span class="k1">int</span> w<span class="k2">;</span>
<span class="number"> 15</span>  <span class="k1">int</span> h<span class="k2">;</span>
<span class="number"> 16</span>
<span class="number"> 17</span>  hdc1 <span class="k3">=</span> GetWindowDC<span class="k2">(</span>hwnd<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 18</span>  hdc2 <span class="k3">=</span> CreateCompatibleDC<span class="k2">(</span>hdc1<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 19</span>  GetWindowRect<span class="k2">(</span>hwnd, <span class="k3">&amp;</span>rc<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 20</span>  w <span class="k3">=</span> rc.right-rc.left<span class="k2">;</span>
<span class="number"> 21</span>  h <span class="k3">=</span> rc.bottom-rc.top<span class="k2">;</span>
<span class="number"> 22</span>
<span class="number"> 23</span>  bmih.biSize <span class="k3">=</span> <span class="k1">sizeof</span><span class="k2">(</span>BITMAPINFOHEADER<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 24</span>  bmih.biWidth <span class="k3">=</span> w<span class="k2">;</span>
<span class="number"> 25</span>  bmih.biHeight <span class="k3">=</span> h<span class="k2">;</span>
<span class="number"> 26</span>  bmih.biPlanes <span class="k3">=</span> <span class="n">1</span><span class="k2">;</span>
<span class="number"> 27</span>  bmih.biBitCount <span class="k3">=</span> <span class="n">24</span><span class="k2">;</span>
<span class="number"> 28</span>  bmih.biCompression <span class="k3">=</span> BI_RGB<span class="k2">;</span>
<span class="number"> 29</span>  bmih.biSizeImage <span class="k3">=</span> <span class="k2">(</span><span class="k2">(</span><span class="k2">(</span><span class="k2">(</span>bmih.biWidth <span class="k3">*</span> bmih.biBitCount<span class="k2">)</span> <span class="k3">+</span> <span class="n">31</span><span class="k2">)</span> <span class="k3">&amp;</span> ~<span class="n">31</span><span class="k2">)</span> <span class="k3">&gt;</span><span class="k3">&gt;</span> <span class="n">3</span><span class="k2">)</span> <span class="k3">*</span> bmih.biHeight<span class="k2">;</span>
<span class="number"> 30</span>  bi.bmiHeader <span class="k3">=</span> bmih<span class="k2">;</span>
<span class="number"> 31</span>
<span class="number"> 32</span>  aBmp <span class="k3">=</span> CreateDIBSection<span class="k2">(</span>hdc1, <span class="k3">&amp;</span>bi ,DIB_RGB_COLORS, <span class="k2">(</span><span class="k1">void</span><span class="k3">*</span><span class="k3">*</span><span class="k2">)</span><span class="k3">&amp;</span>dibvalues, NULL, NULL<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 33</span>  OldObj <span class="k3">=</span> SelectObject<span class="k2">(</span>hdc2, aBmp<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 34</span>  BitBlt<span class="k2">(</span>hdc2, <span class="n">0</span>, <span class="n">0</span>, w, h, hdc1, <span class="n">0</span>, <span class="n">0</span>, SRCCOPY<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 35</span>  bmfh.bfOffBits <span class="k3">=</span> <span class="k1">sizeof</span><span class="k2">(</span>BITMAPFILEHEADER<span class="k2">)</span><span class="k3">+</span><span class="k1">sizeof</span><span class="k2">(</span>BITMAPINFOHEADER<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 36</span>  bmfh.bfSize <span class="k3">=</span> <span class="k2">(</span><span class="n">3</span><span class="k3">*</span>bmih.biHeight<span class="k3">*</span>bmih.biWidth<span class="k2">)</span><span class="k3">+</span><span class="k1">sizeof</span><span class="k2">(</span>BITMAPFILEHEADER<span class="k2">)</span><span class="k3">+</span><span class="k1">sizeof</span><span class="k2">(</span>BITMAPINFOHEADER<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 37</span>  bmfh.bfType <span class="k3">=</span> <span class="n">0x4d42</span><span class="k2">;</span>
<span class="number"> 38</span>
<span class="number"> 39</span>  fileHandle <span class="k3">=</span> CreateFile<span class="k2">(</span>L<span class="s">"aaa.bmp"</span>, GENERIC_WRITE, <span class="n">0</span>, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 40</span>  <a href="http://www.allegro.cc/manual/ALLEGRO_FILE"><span class="a">ALLEGRO_FILE</span></a><span class="k3">*</span> file <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_fopen"><span class="a">al_fopen</span></a><span class="k2">(</span><span class="s">"aaa2.bmp"</span>,<span class="s">"w"</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 41</span>  
<span class="number"> 42</span>  WriteFile<span class="k2">(</span>fileHandle, <span class="k3">&amp;</span>bmfh, <span class="k1">sizeof</span><span class="k2">(</span>BITMAPFILEHEADER<span class="k2">)</span>, <span class="k3">&amp;</span>bytes_written, NULL<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 43</span>  <a href="http://www.allegro.cc/manual/al_fwrite"><span class="a">al_fwrite</span></a><span class="k2">(</span>file, <span class="k3">&amp;</span>bmfh, <span class="k1">sizeof</span><span class="k2">(</span>BITMAPFILEHEADER<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 44</span>
<span class="number"> 45</span>  WriteFile<span class="k2">(</span>fileHandle, <span class="k3">&amp;</span>bmih, <span class="k1">sizeof</span><span class="k2">(</span>BITMAPINFOHEADER<span class="k2">)</span>, <span class="k3">&amp;</span>bytes_written, NULL<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 46</span>  <a href="http://www.allegro.cc/manual/al_fwrite"><span class="a">al_fwrite</span></a><span class="k2">(</span>file, <span class="k3">&amp;</span>bmih, <span class="k1">sizeof</span><span class="k2">(</span>BITMAPINFOHEADER<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 47</span>
<span class="number"> 48</span>  WriteFile<span class="k2">(</span>fileHandle, <span class="k2">(</span><span class="k1">void</span><span class="k3">*</span><span class="k2">)</span>dibvalues, bmih.biSizeImage, <span class="k3">&amp;</span>bytes_written, NULL<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 49</span>  <a href="http://www.allegro.cc/manual/al_fwrite"><span class="a">al_fwrite</span></a><span class="k2">(</span>file, <span class="k2">(</span><span class="k1">void</span><span class="k3">*</span><span class="k2">)</span>dibvalues, bmih.biSizeImage<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 50</span>
<span class="number"> 51</span>  <a href="http://www.allegro.cc/manual/al_fclose"><span class="a">al_fclose</span></a><span class="k2">(</span>file<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 52</span>  CloseHandle<span class="k2">(</span>fileHandle<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 53</span>
<span class="number"> 54</span>    DeleteObject<span class="k2">(</span>SelectObject<span class="k2">(</span>hdc2,OldObj<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number"> 55</span>    DeleteDC<span class="k2">(</span>hdc2<span class="k2">)</span><span class="k2">;</span> 
<span class="number"> 56</span>  ReleaseDC<span class="k2">(</span>hwnd, hdc1<span class="k2">)</span><span class="k2">;</span>
<span class="number"> 57</span><span class="k2">}</span>
</div></div><p>
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (komons)</author>
		<pubDate>Sun, 22 May 2011 22:07:32 +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/607405/918502#target">komons</a> said:</div><div class="quote"><p>
  ALLEGRO_FILE* file = al_fopen(&quot;aaa2.bmp&quot;,&quot;w&quot;);
</p></div></div><p>

tut tut tut </p><p>use al_load_bitmap() to load bmp types. al_fopen() is for txt or binary data </p><p>Isn&#39;t that right guys ?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (William Labbett)</author>
		<pubDate>Sun, 22 May 2011 22:26:02 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>AFAIK it is. Use the structures/functions to do what they are supposed to do. Don&#39;t expect an ALLEGRO_FILE handler to open up an image file(which is supposed to be loaded into an ALLEGRO_BITMAP) correctly.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (J-Gamer)</author>
		<pubDate>Sun, 22 May 2011 22:30:39 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>You want to open your file with &quot;wb&quot; aka: binary mode, or windows will convert any and all \n characters it finds into \r\n sequences.</p><p>Also, why not just convert the hdc/dib to an ALLEGRO_BITMAP and save using <span class="source-code"><a href="http://www.allegro.cc/manual/al_save_bitmap"><span class="a">al_save_bitmap</span></a></span>?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Sun, 22 May 2011 22:33:36 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>

...yeah, I suppose al_fopen will open anything but if you use it instead of al_load_bitmap you have to deal with the file format bmp before you can do anything with the file.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (William Labbett)</author>
		<pubDate>Sun, 22 May 2011 23:28:12 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>I think you guys are misunderstanding the problem. He&#39;s saving a file. not loading one.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Sun, 22 May 2011 23:31:11 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>oops... didn&#39;t take a good look at the line above it <img src="http://www.allegro.cc/forums/smileys/lipsrsealed.gif" alt=":-X" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (J-Gamer)</author>
		<pubDate>Sun, 22 May 2011 23:57:53 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p><img src="http://www.allegro.cc/forums/smileys/undecided.gif" alt=":-/" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (William Labbett)</author>
		<pubDate>Mon, 23 May 2011 03:38:31 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Okay I changed to binary mode and it&#39;s just working. Now When I know that my saving bmp is correct, I changed it to saving in virtual file handle, so:</p><div class="source-code"><div class="toolbar"><span class="button numbers"><b>#</b></span><span class="button select">Select</span><span class="button expand">Expand</span></div><div class="inner"><span class="number">  1</span><a href="http://www.allegro.cc/manual/ALLEGRO_FILE"><span class="a">ALLEGRO_FILE</span></a><span class="k3">*</span> file <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_create_file_handle"><span class="a">al_create_file_handle</span></a><span class="k2">(</span> <a href="http://www.allegro.cc/manual/al_get_new_file_interface"><span class="a">al_get_new_file_interface</span></a><span class="k2">(</span><span class="k2">)</span>, NULL <span class="k2">)</span><span class="k2">;</span>
<span class="number">  2</span>  
<span class="number">  3</span><a href="http://www.allegro.cc/manual/al_fwrite"><span class="a">al_fwrite</span></a><span class="k2">(</span>file, <span class="k3">&amp;</span>bmfh, <span class="k1">sizeof</span><span class="k2">(</span>BITMAPFILEHEADER<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  4</span><a href="http://www.allegro.cc/manual/al_fwrite"><span class="a">al_fwrite</span></a><span class="k2">(</span>file, <span class="k3">&amp;</span>bmih, <span class="k1">sizeof</span><span class="k2">(</span>BITMAPINFOHEADER<span class="k2">)</span><span class="k2">)</span><span class="k2">;</span>
<span class="number">  5</span><a href="http://www.allegro.cc/manual/al_fwrite"><span class="a">al_fwrite</span></a><span class="k2">(</span>file, <span class="k2">(</span><span class="k1">void</span><span class="k3">*</span><span class="k2">)</span>dibvalues, bmih.biSizeImage<span class="k2">)</span><span class="k2">;</span>
<span class="number">  6</span>
<span class="number">  7</span><a href="http://www.allegro.cc/manual/al_fclose"><span class="a">al_fclose</span></a><span class="k2">(</span>file<span class="k2">)</span><span class="k2">;</span>
<span class="number">  8</span>
<span class="number">  9</span><a href="http://www.allegro.cc/manual/ALLEGRO_BITMAP"><span class="a">ALLEGRO_BITMAP</span></a><span class="k3">*</span> ret <span class="k3">=</span> <a href="http://www.allegro.cc/manual/al_load_bitmap_f"><span class="a">al_load_bitmap_f</span></a><span class="k2">(</span> file, <span class="s">".bmp"</span> <span class="k2">)</span><span class="k2">;</span>
</div></div><p>

It crashed at first run of al_fwrite, just out of program. Any error, any message. <img src="http://www.allegro.cc/forums/smileys/huh.gif" alt="???" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (komons)</author>
		<pubDate>Mon, 23 May 2011 19:39:08 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Try using <span class="source-code"><a href="http://www.allegro.cc/manual/al_fopen_interface"><span class="a">al_fopen_interface</span></a></span> instead of <span class="source-code"><a href="http://www.allegro.cc/manual/al_create_file_handle"><span class="a">al_create_file_handle</span></a></span>. al_create_file_handle doesn&#39;t actually open the file, so any file functions called on it will likely fail and/or crash.</p><p>I&#39;m not even sure why al_create_file_handle exists now, after the big file api reorganization. Now theres no way to open an unopened file handle, so its pretty useless.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Mon, 23 May 2011 19:47:28 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>al_fopen_interface open file on disc, so it useless for me. So if there isn&#39;t way for open unopened file handle, I&#39;ll save file on disc, and open it from disc. <img src="http://www.allegro.cc/forums/smileys/tongue.gif" alt=":P" />
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (komons)</author>
		<pubDate>Mon, 23 May 2011 20:02:07 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Out of curiosity, why do you do this ? Is it for a custom utility that needs to embed bitmaps in larger files ?
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Audric)</author>
		<pubDate>Mon, 23 May 2011 20:33:24 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><p>Ignore what I wrote before.</p><p>If you have implemented your file interface correctly, using <span class="source-code"><a href="http://www.allegro.cc/manual/al_create_file_handle"><span class="a">al_create_file_handle</span></a></span> and the al_f* functions should work just fine.</p><p>You may want to take a look at your custom file interface, to make sure it works properly.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Mon, 23 May 2011 21:00:41 +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/607405/918586#target">Thomas Fjellstrom</a> said:</div><div class="quote"><p> I&#39;m not even sure why al_create_file_handle exists now, after the big file api reorganization. Now theres no way to open an unopened file handle, so its pretty useless.
</p></div></div><p> <span class="source-code"><a href="http://www.allegro.cc/manual/al_create_file_handle"><span class="a">al_create_file_handle</span></a></span> is part of the API change that made it so that you no longer have to have access to the internals to create your own interface. With it, the <span class="source-code">fi_open</span> method is not used.</p><p>It is meant only to be used with your own interface, typically wrapped within your own function that takes the place of <span class="source-code"><a href="http://www.allegro.cc/manual/al_fopen"><span class="a">al_fopen</span></a></span>. For example, <span class="source-code"><a href="http://www.allegro.cc/manual/al_open_memfile"><span class="a">al_open_memfile</span></a></span> uses <span class="source-code"><a href="http://www.allegro.cc/manual/al_create_file_handle"><span class="a">al_create_file_handle</span></a></span>.</p><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/607405/918587#target">komons</a> said:</div><div class="quote"><p>  So if there isn&#39;t way for open unopened file handle
</p></div></div><p>Have you created your own interface? I suspect not. What you are doing will <i>not</i> work with the stdio functions. I think perhaps you are looking for the memfile addon.</p><p>Create a memfile, write to it, and then load from it.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Mon, 23 May 2011 21:46:26 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/607405/918598#target">Matthew Leverton</a> said:</div><div class="quote"><p>al_create_file_handle is part of the API change that made it so that you no longer have to have access to the internals to create your own interface. With it, the fi_open method is not used.</p></div></div><p>Yeah no. I wasn&#39;t reading the code correctly. Should your own interface be coded properly, all of the normal file functions should work fine.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Mon, 23 May 2011 21:49:19 +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/607405/918600#target">Thomas Fjellstrom</a> said:</div><div class="quote"><p> Should your own interface be coded properly, all of the normal file functions should work fine.
</p></div></div><p>Except for <span class="source-code"><a href="http://www.allegro.cc/manual/al_fopen"><span class="a">al_fopen</span></a></span>, but one shouldn&#39;t expect it to considering it doesn&#39;t take a file handle as a parameter (and therefore makes no sense given the context).</p><p>The problem here is I think the OP using it with stdio and assuming some virtual, temporary file is created in the void.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Matthew Leverton)</author>
		<pubDate>Mon, 23 May 2011 21:52:26 +0000</pubDate>
	</item>
	<item>
		<description><![CDATA[<div class="mockup v2"><div class="quote_container"><div class="title"><a href="http://www.allegro.cc/forums/thread/607405/918601#target">Matthew Leverton</a> said:</div><div class="quote"><p>Except for al_fopen, but one shouldn&#39;t expect it to considering it doesn&#39;t take a file handle as a parameter (and therefore makes no sense given the context).</p><p>The problem here is I think the OP using it with stdio and assuming some virtual, temporary file is created in the void.</p></div></div><p>Quite. al_create_file_handle is a replacement for al_fopen.</p><p>And yeah, he&#39;s probably not quite understanding how it works.
</p></div>]]>
		</description>
		<author>no-reply@allegro.cc (Thomas Fjellstrom)</author>
		<pubDate>Mon, 23 May 2011 21:56:28 +0000</pubDate>
	</item>
</rss>
