From WiiBrew
Jump to navigation Jump to search

Author(s)Chaosteil, (Feesh!), Arikado
TypeFramework library

libwiisprite is a sprite library which uses GX as its underlying rendering engine. It is optimized for rapid fast game development, but can also be used for GUI applications.


libwiisprite is a C++ sprite library written for the Wii which utilises GX for all its graphical operations, meaning the GPU is used to accelerate graphics. libwiisprite aims to make developing Wii homebrew simple and fun with better graphical results than currently existing libraries. libwiisprite is currently under heavy development, but this version is a semi-stable version allowing most of the proposed functionality of the library. All possible PNGs can be loaded, even the ones with an alpha layer, so you can get started immediately!

The library comes with full Doxygen documentation to help get development started. You can find it in the docs folder. It is also available online here.

Sample Application (Video)

A simple demonstration of basic libwiisprites capabilities:

Demonstration of a fully featured game which is powered by libwiisprite:

Download & Installation

You can download the libwiisprite library from [1]. You will need libpng installed to use it. Please refer to the README.TXT for further installation instructions.

New Stuff


  • Added examples
  • Changed installation directory(now C:\devkitPro\portlibs\wii)
  • Fixed compatibility with the latest releases of devkitpro and libraries (rel 34)


  • Changed include file organization
  • Fixed compatibility wih the latest releases of devkitpro and libraries (rel 33)


  • Fixed compatibility with the latest releases of libogc and libpng
  • Fixed a bug in the layer manager
  • A few minor tweaks and fixes including freeing up a little memory


  • Fixed a (huge) memory leak in the image class. Thanks to DragonMin for pointing the error out.
  • Fixed a bug where one would reset an image of a sprite with Sprite::SetImage() and not get the previous data if applicable for keeping of the old data.
  • Collision can now also be used with refpixel positioning, however, the pixel has to be at the center of the image for now.


  • Fixed an initializing bug when using a drawable image.

0.3.0 - This is a release in preparation for Galaxy Stations. Enjoy!

  • Added a reference pixel system. It allows to rotate and scale a sprite around a specific point on itself. Check the documentation how to use it. The spritetest example also has a little example on it.
  • Fixed a huge memory leak when loading an image which was in every previous version. Upgrading is recommended.
  • Several speedups which can increase the speed of the library when drawing Sprites and TiledLayers, or even assigning Images.


  • All possible png files can now be loaded.
  • Image has now a "DestroyImage()" method to allow to reload the image after that.

The old changelogs may be found in the RELEASE.TXT file.

Other libwiisprite Examples

Most of the libwiisprite-based applications can be found here.

  • Box2D + libwiisprite - Box2D ported to Wii with an example powered by libwiisprite. Made by 0xtob.
  • TextClass - Print text with libwiisprite
  • libosk - OnScreenKeyboard library based on libwiisprite


A new, extensive, libwiisprite tutorial can be found at Libwiisprite/tutorial. Make sure you check it out if you don't know how to start programming with libwiisprite. It simplifies the first steps as well as teaches some advanced concepts.

Bugs, Suggestions

If you find a bug or have a suggestion (maybe a tutorial to add to the library) please send an e-mail to chaosteil [at] gmail [dot] com or if you're on an EFNet server, send a PM to Chaosteil. Alternatively, you can contact Arikado via e-mail to or /msg Arikado on EFNET or freenode.

Download Previous Builds


You can donate to Arikado using the ChipIn widget on his blog :

To donate to other members of the project, please contact them privately (or wait for them to put their own donation information here).