<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-2611934025719730694.post3191049096960156230..comments</id><updated>2008-06-08T10:32:27.712-07:00</updated><title type='text'>Comments on El blog de Frontier: LIBPNG 1.2.26 + PNGU v0.1c para Wii</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://frontier-dev.net/feeds/3191049096960156230/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default'/><link rel='alternate' type='text/html' href='http://frontier-dev.net/2008/04/libpng.html'/><author><name>Frontier</name><email>noreply@blogger.com</email></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>21</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-2611934025719730694.post-6647383139254477009</id><published>2008-06-08T10:32:00.000-07:00</published><updated>2008-06-08T10:32:00.000-07:00</updated><title type='text'>I want to inform you I released my game that use p...</title><content type='html'>I want to inform you I released my game that use pngu for loading images.&lt;BR/&gt;http://scognito.wordpress.com/2008/06/08/scogger-02-for-wii-and-gamecube-is-out/&lt;BR/&gt;&lt;BR/&gt;Thanks for the lib!</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/6647383139254477009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/6647383139254477009'/><link rel='alternate' type='text/html' href='http://frontier-dev.net/2008/04/libpng.html?showComment=1212946320000#c6647383139254477009' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://frontier-dev.net/2008/04/libpng.html' ref='tag:blogger.com,1999:blog-2611934025719730694.post-3191049096960156230' source='http://www.blogger.com/feeds/2611934025719730694/posts/default/3191049096960156230' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-2611934025719730694.post-7530852753926148143</id><published>2008-06-04T08:56:00.000-07:00</published><updated>2008-06-04T08:56:00.000-07:00</updated><title type='text'>Buenas oyzzo, ¡bienvenido a mi humilde cibermorada...</title><content type='html'>Buenas oyzzo, ¡bienvenido a mi humilde cibermorada!&lt;BR/&gt;&lt;BR/&gt;No sólo me lo he planteado sino que es justamente lo que estaba haciendo cuando he visto tu mensaje :D&lt;BR/&gt;&lt;BR/&gt;Ya de paso quiero meterle algunas mejoras extras: Guardado de capturas de pantalla en formato png, lectura del canal alpha y posibilidad de usar la librería en entornos multihilo. Tardaré un poco, pero creo que merecerá la pena.&lt;BR/&gt;&lt;BR/&gt;Un saludo!</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/7530852753926148143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/7530852753926148143'/><link rel='alternate' type='text/html' href='http://frontier-dev.net/2008/04/libpng.html?showComment=1212594960000#c7530852753926148143' title=''/><author><name>Frontier</name><uri>http://www.blogger.com/profile/11652848179300950879</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05216323370037542079'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://frontier-dev.net/2008/04/libpng.html' ref='tag:blogger.com,1999:blog-2611934025719730694.post-3191049096960156230' source='http://www.blogger.com/feeds/2611934025719730694/posts/default/3191049096960156230' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-2611934025719730694.post-1339134970684451361</id><published>2008-06-04T07:55:00.000-07:00</published><updated>2008-06-04T07:55:00.000-07:00</updated><title type='text'>Buenas frontier soy oyzzo :) ahora que ha salido d...</title><content type='html'>Buenas frontier soy oyzzo :) ahora que ha salido devkitppc r15 con la libogc nueva y libfat  me pregunto si te has planteado portar PNGU a libfat. Para el motor Revolution Engine que estamos desarrollando usamos libfat, así que nos interesaria bastante ;)</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/1339134970684451361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/1339134970684451361'/><link rel='alternate' type='text/html' href='http://frontier-dev.net/2008/04/libpng.html?showComment=1212591300000#c1339134970684451361' title=''/><author><name>noel</name><uri>http://www.blogger.com/profile/10357696801367978920</uri><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://frontier-dev.net/2008/04/libpng.html' ref='tag:blogger.com,1999:blog-2611934025719730694.post-3191049096960156230' source='http://www.blogger.com/feeds/2611934025719730694/posts/default/3191049096960156230' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-2611934025719730694.post-4445749809759799893</id><published>2008-06-03T15:39:00.000-07:00</published><updated>2008-06-03T15:39:00.000-07:00</updated><title type='text'>Ehehe I thought at first solution, since for the s...</title><content type='html'>Ehehe I thought at first solution, since for the second i don't know the way to understand how a pair is COLOR-MAGENTA or viceversa.&lt;BR/&gt;Thanks anyway :)</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/4445749809759799893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/4445749809759799893'/><link rel='alternate' type='text/html' href='http://frontier-dev.net/2008/04/libpng.html?showComment=1212532740000#c4445749809759799893' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://frontier-dev.net/2008/04/libpng.html' ref='tag:blogger.com,1999:blog-2611934025719730694.post-3191049096960156230' source='http://www.blogger.com/feeds/2611934025719730694/posts/default/3191049096960156230' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-2611934025719730694.post-6171322448075868273</id><published>2008-06-03T04:12:00.000-07:00</published><updated>2008-06-03T04:12:00.000-07:00</updated><title type='text'>Mmmmm... There are three possible solutions:1 - Th...</title><content type='html'>Mmmmm... There are three possible solutions:&lt;BR/&gt;&lt;BR/&gt;1 - The easiest: Just tell your artist about the problem so he/she can make sprites in wich every pair of pixels is always COLOR-COLOR or MAGENTA-MAGENTA.&lt;BR/&gt;&lt;BR/&gt;2 - The not so easy: Before writing any pair of pixels to xfb you have to test if it is COLOR-MAGENTA or MAGENTA-COLOR. In this case you have to read the pixel's pair stored in xfb and make a new one combining your pair and xfb's pair.  This is an slow solution but it should work.&lt;BR/&gt;&lt;BR/&gt;3 - The hard way: Just forget about writting your sprite directly to xfb. Instead, you can load your sprite to a texture and apply it to a square. Then you can draw the square at the appropiate screen position using GX commands. This solution is way faster than any other, but you have to learn GX, the 3D drawing interface of Wii/GC.&lt;BR/&gt;&lt;BR/&gt;Unless you have a good reason, probably you should try the first solution...</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/6171322448075868273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/6171322448075868273'/><link rel='alternate' type='text/html' href='http://frontier-dev.net/2008/04/libpng.html?showComment=1212491520000#c6171322448075868273' title=''/><author><name>Frontier</name><uri>http://www.blogger.com/profile/11652848179300950879</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05216323370037542079'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://frontier-dev.net/2008/04/libpng.html' ref='tag:blogger.com,1999:blog-2611934025719730694.post-3191049096960156230' source='http://www.blogger.com/feeds/2611934025719730694/posts/default/3191049096960156230' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-2611934025719730694.post-8235165858352848277</id><published>2008-06-03T03:21:00.000-07:00</published><updated>2008-06-03T03:21:00.000-07:00</updated><title type='text'>Also, since you read my post and my drawing functi...</title><content type='html'>Also, since you read my post and my drawing function, how can I deal with  a pair of pixels where one is of a color and the other is "transparent" (magenta)?&lt;BR/&gt;&lt;BR/&gt;For displaying I use this in my for loop (simplified):&lt;BR/&gt;&lt;BR/&gt;z=0;&lt;BR/&gt;&lt;BR/&gt;for(i...&lt;BR/&gt; for(j...&lt;BR/&gt;  if (sprite.ycbImg[z] != COLOR_MAGENTA)&lt;BR/&gt;    xfb[j + fboffset] = sprite.ycbImg[z];&lt;BR/&gt;    z++;&lt;BR/&gt;  }&lt;BR/&gt; fboffset += 320; //move to the next line&lt;BR/&gt;}&lt;BR/&gt;&lt;BR/&gt;This works well when the pair is COLOR+COLOR (it is drawn), and MAGENTA+MAGENTA (whose code is stored in the COLOR_MAGENTA macro).&lt;BR/&gt;The problem is when a pair is COLOR+MAGENTA or MAGENTA + COLOR, where the result is displayed with some magenta variation.&lt;BR/&gt;It would really easy if i could separate the 2 pixels...&lt;BR/&gt;Any hint?&lt;BR/&gt;Thanks as usual, your lib will be quoted in my game.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/8235165858352848277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/8235165858352848277'/><link rel='alternate' type='text/html' href='http://frontier-dev.net/2008/04/libpng.html?showComment=1212488460000#c8235165858352848277' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://frontier-dev.net/2008/04/libpng.html' ref='tag:blogger.com,1999:blog-2611934025719730694.post-3191049096960156230' source='http://www.blogger.com/feeds/2611934025719730694/posts/default/3191049096960156230' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-2611934025719730694.post-7974719268148867614</id><published>2008-06-01T18:08:00.000-07:00</published><updated>2008-06-01T18:08:00.000-07:00</updated><title type='text'>Thanks! It worked!Making a simple wrapper for load...</title><content type='html'>Thanks! It worked!&lt;BR/&gt;Making a simple wrapper for loading png instead of bmp (just for the backgrounds for now) reduced the size of my game from 7.8MB to 1.7MB!!!&lt;BR/&gt;Any chance to have support for transparency? I don't need the alpha blending, just full transparency instead of using magenta, but it's ok even this way!&lt;BR/&gt;Thank you for pngu!</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/7974719268148867614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/7974719268148867614'/><link rel='alternate' type='text/html' href='http://frontier-dev.net/2008/04/libpng.html?showComment=1212368880000#c7974719268148867614' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://frontier-dev.net/2008/04/libpng.html' ref='tag:blogger.com,1999:blog-2611934025719730694.post-3191049096960156230' source='http://www.blogger.com/feeds/2611934025719730694/posts/default/3191049096960156230' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-2611934025719730694.post-6501846037063518244</id><published>2008-06-01T09:06:00.000-07:00</published><updated>2008-06-01T09:06:00.000-07:00</updated><title type='text'>You are right, the xfb always manages two pixels a...</title><content type='html'>You are right, the xfb always manages two pixels at a time. But I'm also right, if the size of two pixels is an u32, the size of one pixel is an u16, so you only need 136*80*2 bytes to store your image.&lt;BR/&gt;&lt;BR/&gt;However, your drawing routine works with pixel pairs instead of single pixels, so you have to declare your buffer as u32 and specify the number of pixels pairs, not the number of single pixels. In your case this should look like "static u32 bufLogo[136*80/2];".&lt;BR/&gt;&lt;BR/&gt;The last thing you have to modify is the line "u32 z = ((136&gt;&gt;1) * 80);". I don´t understand what you are triying to do here, but if you want things to work then you have to replace it by "u32 z = 0;".&lt;BR/&gt;&lt;BR/&gt;I've tested the program with these modifications an works fine. It's very important that you understand YCbYCr format if you are going to work with it. Maybe I'll post an article about Wii/GC pixel formats soon... Maybe, if I have time...</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/6501846037063518244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/6501846037063518244'/><link rel='alternate' type='text/html' href='http://frontier-dev.net/2008/04/libpng.html?showComment=1212336360000#c6501846037063518244' title=''/><author><name>Frontier</name><uri>http://www.blogger.com/profile/11652848179300950879</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05216323370037542079'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://frontier-dev.net/2008/04/libpng.html' ref='tag:blogger.com,1999:blog-2611934025719730694.post-3191049096960156230' source='http://www.blogger.com/feeds/2611934025719730694/posts/default/3191049096960156230' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-2611934025719730694.post-2431915665766316062</id><published>2008-06-01T07:24:00.000-07:00</published><updated>2008-06-01T07:24:00.000-07:00</updated><title type='text'>Ok I think I'm a bit confused than before :PWhat i...</title><content type='html'>Ok I think I'm a bit confused than before :P&lt;BR/&gt;What i know is that the xfb manages a pair of ycb pixels and its size is u32.&lt;BR/&gt;I made few programs drawing to the fb, and I always declared "static u32 *xfb = NULL;", but you use void* and it confuses me much as i'm not very familiar with these things.&lt;BR/&gt;&lt;BR/&gt;In my old stupid library I got bitmaps display correctly, storing the ycb values to a u32 array. I can send you how i did it.&lt;BR/&gt;&lt;BR/&gt;Anyway i modified example fb display example of pngu in this way: http://rafb.net/p/6mlqJ499.html&lt;BR/&gt;&lt;BR/&gt;There are small differences with the example, the image is displayed but in a "wrong" way. (It works on emulator though).&lt;BR/&gt;&lt;BR/&gt;Thanks for help in advance.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/2431915665766316062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/2431915665766316062'/><link rel='alternate' type='text/html' href='http://frontier-dev.net/2008/04/libpng.html?showComment=1212330240000#c2431915665766316062' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://frontier-dev.net/2008/04/libpng.html' ref='tag:blogger.com,1999:blog-2611934025719730694.post-3191049096960156230' source='http://www.blogger.com/feeds/2611934025719730694/posts/default/3191049096960156230' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-2611934025719730694.post-4105994876354851224</id><published>2008-06-01T03:50:00.000-07:00</published><updated>2008-06-01T03:50:00.000-07:00</updated><title type='text'>The way you call PNGU_DecodeToYCbYCr is OK, but th...</title><content type='html'>The way you call PNGU_DecodeToYCbYCr is OK, but the way you obtain memory for the buffer is not.&lt;BR/&gt;&lt;BR/&gt;Firs of all, you are requesting an u32 (4 bytes) for each pixel, and in YCbYCr a pixel only takes 2 bytes (u16). So, yo should request 136*80*2 bytes, or in your case "static u16 bufLogo[136*80];"&lt;BR/&gt;&lt;BR/&gt;Also, I'd change my buffer request to "u8 *bufLogo = memalign (32, 136*80*2);" This way is preferable because you can select buffer size at runtime. The reason I call memalign instead of malloc is to make bufLogo 32 bytes aligned. This is irrelevant in your particular case, but if the GPU is going to access the buffer, for example if you use the image as a texture, it's absolutely necessary. Of course you must call "free (bufLogo);" when you are done with the buffer.&lt;BR/&gt;&lt;BR/&gt;Finally, after performing any PNGU_DecodeTo* call, if the buffer is going to be accessed by the GPU, you have to call "DCFlushRange (bufLogo, 136*80*2);". Again this is not your case, but could be in the future, so you are warned...&lt;BR/&gt;&lt;BR/&gt;I hope this helps you.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/4105994876354851224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/4105994876354851224'/><link rel='alternate' type='text/html' href='http://frontier-dev.net/2008/04/libpng.html?showComment=1212317400000#c4105994876354851224' title=''/><author><name>Frontier</name><uri>http://www.blogger.com/profile/11652848179300950879</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05216323370037542079'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://frontier-dev.net/2008/04/libpng.html' ref='tag:blogger.com,1999:blog-2611934025719730694.post-3191049096960156230' source='http://www.blogger.com/feeds/2611934025719730694/posts/default/3191049096960156230' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-2611934025719730694.post-26965598548403176</id><published>2008-05-31T18:24:00.000-07:00</published><updated>2008-05-31T18:24:00.000-07:00</updated><title type='text'>Hi, since i want to use your lib for making sprite...</title><content type='html'>Hi, since i want to use your lib for making sprite, i want to store the information of each image in ycbycr format after the image is decoded.&lt;BR/&gt;&lt;BR/&gt;This is the example (hardcoded values of x &amp; y) that works drawing directly to the framebuffer:&lt;BR/&gt;&lt;BR/&gt;if (PNGU_SelectFileFromBuffer logo_data) != PNGU_OK)&lt;BR/&gt;printf ("PNGU_SelectFileFromBuffer failed!\n");&lt;BR/&gt;&lt;BR/&gt;PNGU_DECODE_TO_COORDS_YCbYCr (0, 0, 136, 80, 640, 480, xfb);&lt;BR/&gt;&lt;BR/&gt;What I want to do is store the information in an array, for displaying it later using 2 for loops (i did it working with bitmaps). The code I tried to use is:&lt;BR/&gt;&lt;BR/&gt;static u32 bufLogo[136*80];&lt;BR/&gt;PNGU_DecodeToYCbYCr (136, 80, bufLogo, 0);&lt;BR/&gt;&lt;BR/&gt;This doesn't load the image in my array, and i don't know the why... some hint?&lt;BR/&gt;&lt;BR/&gt;Thanks!</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/26965598548403176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/26965598548403176'/><link rel='alternate' type='text/html' href='http://frontier-dev.net/2008/04/libpng.html?showComment=1212283440000#c26965598548403176' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://frontier-dev.net/2008/04/libpng.html' ref='tag:blogger.com,1999:blog-2611934025719730694.post-3191049096960156230' source='http://www.blogger.com/feeds/2611934025719730694/posts/default/3191049096960156230' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-2611934025719730694.post-5467447871942685312</id><published>2008-05-06T06:08:00.000-07:00</published><updated>2008-05-06T06:08:00.000-07:00</updated><title type='text'>I'm sorry to say PNGU currently ignores alpha valu...</title><content type='html'>I'm sorry to say PNGU currently ignores alpha values of input png files and give all pixels an user defined alpha (the same for every pixel in the image) :(&lt;BR/&gt;&lt;BR/&gt;However, reading input alpha is first thing in my TODO list and be available very soon in PNGU 0.1d release.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/5467447871942685312'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/5467447871942685312'/><link rel='alternate' type='text/html' href='http://frontier-dev.net/2008/04/libpng.html?showComment=1210079280000#c5467447871942685312' title=''/><author><name>Frontier</name><uri>http://www.blogger.com/profile/11652848179300950879</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05216323370037542079'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://frontier-dev.net/2008/04/libpng.html' ref='tag:blogger.com,1999:blog-2611934025719730694.post-3191049096960156230' source='http://www.blogger.com/feeds/2611934025719730694/posts/default/3191049096960156230' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-2611934025719730694.post-5047673236620455348</id><published>2008-05-06T05:15:00.000-07:00</published><updated>2008-05-06T05:15:00.000-07:00</updated><title type='text'>I see, yes, it seems to only support PNG (RGB888 f...</title><content type='html'>I see, yes, it seems to only support PNG (RGB888 format) to XFB (YCbYCr format) conversion&lt;BR/&gt;&lt;BR/&gt;I think I will give a try to your implementation instead&lt;BR/&gt;&lt;BR/&gt;do you have advices on how to render transparency effects in EFB, for example using superposed .png files previously computed in Macromedia Fireworks ?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/5047673236620455348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/5047673236620455348'/><link rel='alternate' type='text/html' href='http://frontier-dev.net/2008/04/libpng.html?showComment=1210076100000#c5047673236620455348' title=''/><author><name>Chris</name><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://frontier-dev.net/2008/04/libpng.html' ref='tag:blogger.com,1999:blog-2611934025719730694.post-3191049096960156230' source='http://www.blogger.com/feeds/2611934025719730694/posts/default/3191049096960156230' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-2611934025719730694.post-5731867063573905817</id><published>2008-05-06T03:54:00.000-07:00</published><updated>2008-05-06T03:54:00.000-07:00</updated><title type='text'>Este es otro caso de falta de coordinación en la s...</title><content type='html'>Este es otro caso de falta de coordinación en la scene. Yo no sabía de la existencia del wrapper de softdev, y de haberlo sabido habría hecho el mío partiendo del suyo.&lt;BR/&gt;&lt;BR/&gt;De todas formas creo que el mío es más completo ya que soporta lectura desde la SD frontal, puede pasar la imágen al esotérico formato que usan las texturas de Wii/GC y además sigo añadiendole nuevas funcionalidades.&lt;BR/&gt;&lt;BR/&gt;Lo mejor es que mires la interfaz pública de ambos wrappers y te quedes con el que más convenga a tu propósito.&lt;BR/&gt;&lt;BR/&gt;&lt;BR/&gt;This is another case of descoordination in the scene. I didn't know about softdev's wrapper  and if I would known I've done mine   based in his code.&lt;BR/&gt;&lt;BR/&gt;Anyway I think mine is more complete because it supports reading files from SD card, it can convert images to the esoteric texture format of Wii/GC and I'm still adding new funtionalities to it.&lt;BR/&gt;&lt;BR/&gt;Yo better take a look of the public interfaces of both wrappers and pick the one that best fits your needs.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/5731867063573905817'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/5731867063573905817'/><link rel='alternate' type='text/html' href='http://frontier-dev.net/2008/04/libpng.html?showComment=1210071240000#c5731867063573905817' title=''/><author><name>Frontier</name><uri>http://www.blogger.com/profile/11652848179300950879</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05216323370037542079'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://frontier-dev.net/2008/04/libpng.html' ref='tag:blogger.com,1999:blog-2611934025719730694.post-3191049096960156230' source='http://www.blogger.com/feeds/2611934025719730694/posts/default/3191049096960156230' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-2611934025719730694.post-5438081806901367698</id><published>2008-05-06T02:36:00.000-07:00</published><updated>2008-05-06T02:36:00.000-07:00</updated><title type='text'>http://www.tehskeen.com/forums/showthread.php?t=47...</title><content type='html'>http://www.tehskeen.com/forums/showthread.php?t=4702&lt;BR/&gt;&lt;BR/&gt;what's the difference ?&lt;BR/&gt;thank you</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/5438081806901367698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/5438081806901367698'/><link rel='alternate' type='text/html' href='http://frontier-dev.net/2008/04/libpng.html?showComment=1210066560000#c5438081806901367698' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://frontier-dev.net/2008/04/libpng.html' ref='tag:blogger.com,1999:blog-2611934025719730694.post-3191049096960156230' source='http://www.blogger.com/feeds/2611934025719730694/posts/default/3191049096960156230' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-2611934025719730694.post-4516376354034830819</id><published>2008-05-05T13:00:00.000-07:00</published><updated>2008-05-05T13:00:00.000-07:00</updated><title type='text'>Hola, no encontré tu email, te dejo el mio nodani@...</title><content type='html'>Hola, no encontré tu email, te dejo el mio nodani@gmail.com dame 1 toque y te paso el source (aunque es un tocho). Creo que es una incompatibilidad con GRRLIB, así que no tengo ni idea de cómo solucionarla... =S</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/4516376354034830819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/4516376354034830819'/><link rel='alternate' type='text/html' href='http://frontier-dev.net/2008/04/libpng.html?showComment=1210017600000#c4516376354034830819' title=''/><author><name>theNinjaBunny</name><uri>http://www.blogger.com/profile/18049322689893322317</uri><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://frontier-dev.net/2008/04/libpng.html' ref='tag:blogger.com,1999:blog-2611934025719730694.post-3191049096960156230' source='http://www.blogger.com/feeds/2611934025719730694/posts/default/3191049096960156230' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-2611934025719730694.post-1449264665431752513</id><published>2008-05-05T04:16:00.000-07:00</published><updated>2008-05-05T04:16:00.000-07:00</updated><title type='text'>Eres piratilla pero te queremos igual xD.Un abrazo...</title><content type='html'>Eres piratilla pero te queremos igual xD.&lt;BR/&gt;&lt;BR/&gt;Un abrazo tío ;).</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/1449264665431752513'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/1449264665431752513'/><link rel='alternate' type='text/html' href='http://frontier-dev.net/2008/04/libpng.html?showComment=1209986160000#c1449264665431752513' title=''/><author><name>Lenny</name><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://frontier-dev.net/2008/04/libpng.html' ref='tag:blogger.com,1999:blog-2611934025719730694.post-3191049096960156230' source='http://www.blogger.com/feeds/2611934025719730694/posts/default/3191049096960156230' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-2611934025719730694.post-341610630862536544</id><published>2008-05-03T06:03:00.000-07:00</published><updated>2008-05-03T06:03:00.000-07:00</updated><title type='text'>Muchas gracias por la página. La he visto y te ha ...</title><content type='html'>Muchas gracias por la página. La he visto y te ha quedado muy bien :D&lt;BR/&gt;&lt;BR/&gt;Si quieres pásame el código fuente por email y le doy un vistazo a ver si puedo averiguar que es lo que falla.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/341610630862536544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/341610630862536544'/><link rel='alternate' type='text/html' href='http://frontier-dev.net/2008/04/libpng.html?showComment=1209819780000#c341610630862536544' title=''/><author><name>Frontier</name><uri>http://www.blogger.com/profile/11652848179300950879</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05216323370037542079'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://frontier-dev.net/2008/04/libpng.html' ref='tag:blogger.com,1999:blog-2611934025719730694.post-3191049096960156230' source='http://www.blogger.com/feeds/2611934025719730694/posts/default/3191049096960156230' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-2611934025719730694.post-3791269882629515327</id><published>2008-05-03T04:22:00.000-07:00</published><updated>2008-05-03T04:22:00.000-07:00</updated><title type='text'>Bueno, la página ya está, no es gran cosa pero ten...</title><content type='html'>Bueno, la página ya está, no es gran cosa pero tengo que practicar el inglés de alguna forma xD&lt;BR/&gt;&lt;BR/&gt;Y si, lo que quiero cargar no son png's, pero algo estoy implementando mal en la tinyFat FS porque se me cuelga la aplicación y no sé el motivo</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/3791269882629515327'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/3791269882629515327'/><link rel='alternate' type='text/html' href='http://frontier-dev.net/2008/04/libpng.html?showComment=1209813720000#c3791269882629515327' title=''/><author><name>_CONEJO</name><uri>http://www.theninjabunny.com/</uri><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://frontier-dev.net/2008/04/libpng.html' ref='tag:blogger.com,1999:blog-2611934025719730694.post-3191049096960156230' source='http://www.blogger.com/feeds/2611934025719730694/posts/default/3191049096960156230' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-2611934025719730694.post-4173602802675397770</id><published>2008-05-02T17:54:00.000-07:00</published><updated>2008-05-02T17:54:00.000-07:00</updated><title type='text'>Hola _conejo,En principio no deberías necesitar ni...</title><content type='html'>Hola _conejo,&lt;BR/&gt;&lt;BR/&gt;En principio no deberías necesitar ninguna llamada a f_stat. En su lugar  tienes que llamar a PNGU_GetImageProperties.&lt;BR/&gt;&lt;BR/&gt;Si te hace falta f_stat porque en tu programa cargas otros tipos de archivo además de .png, tienes que desactivar el acceso de PNGU a la SD para no crear conflictos por montar dos veces el sistema de archivos. Eso se hace comentando la línea "#define PNGU_USE_WII_SD" en el archivo "pngu.h".&lt;BR/&gt;&lt;BR/&gt;Si comentas esa línea debes cargar por tu cuenta los archivos .png enteros en un búfer de memoria y usar PNGU_SelectFileFromBuffer en lugar de PNGU_SelectFileFromWiiSD. Si te sigue fallando escríbeme a frontier@frontier-dev.net y trataré de averiguar que está pasando...&lt;BR/&gt;&lt;BR/&gt;La página de wiibrew no tenía intención de escribirla, más que nada por falta de tiempo. Si te  encargas tu te estaría muy agradecido :)&lt;BR/&gt;&lt;BR/&gt;Saludos!</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/4173602802675397770'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/4173602802675397770'/><link rel='alternate' type='text/html' href='http://frontier-dev.net/2008/04/libpng.html?showComment=1209776040000#c4173602802675397770' title=''/><author><name>Frontier</name><uri>http://www.blogger.com/profile/11652848179300950879</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='05216323370037542079'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://frontier-dev.net/2008/04/libpng.html' ref='tag:blogger.com,1999:blog-2611934025719730694.post-3191049096960156230' source='http://www.blogger.com/feeds/2611934025719730694/posts/default/3191049096960156230' type='text/html'/></entry><entry><id>tag:blogger.com,1999:blog-2611934025719730694.post-2521742489791460581</id><published>2008-05-02T12:05:00.000-07:00</published><updated>2008-05-02T12:05:00.000-07:00</updated><title type='text'>Hola,Primero felicidades por la librería. Ahora es...</title><content type='html'>Hola,&lt;BR/&gt;&lt;BR/&gt;Primero felicidades por la librería. Ahora estaba intentando cargar archivos desde el SD frontal y montarlos los monta bien, pero al hacer un f_stat la aplicación se cuelga y crashea. He mirado tu código y sigo sin saber qué falla (también uso tinyFAT-FS). A ver si lo miro con más calma o le puedes echar un vistazo porque me tiene que estar fallando algo.&lt;BR/&gt;&lt;BR/&gt;Por cierto, ¿tienes pensamiento de escribir la página de PNGU en wiibrew? (es por hacerlo yo, porque me parece interesante). Quizás podrías incluir tu librería en GRRLIB y unificar... no sé&lt;BR/&gt;¡adelante!</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/2521742489791460581'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/2611934025719730694/3191049096960156230/comments/default/2521742489791460581'/><link rel='alternate' type='text/html' href='http://frontier-dev.net/2008/04/libpng.html?showComment=1209755100000#c2521742489791460581' title=''/><author><name>_CONEJO</name><uri>http://www.theninjabunny.com/</uri><email>noreply@blogger.com</email></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://frontier-dev.net/2008/04/libpng.html' ref='tag:blogger.com,1999:blog-2611934025719730694.post-3191049096960156230' source='http://www.blogger.com/feeds/2611934025719730694/posts/default/3191049096960156230' type='text/html'/></entry></feed>