In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

Difference between revisions of "List of development tools"

From WiiBrew
Jump to navigation Jump to search
m (Added WiiLÖVE)
 
(140 intermediate revisions by 50 users not shown)
Line 1: Line 1:
These '''Development Tools''' can help you develop homebrew applications and games for the Wii. The most important tool for Wii development is [[DevkitPro]], a port of the GCC toolchain along with supporting system libraries. The development tools listed below make development easier or to add additional functionality.
+
These '''Development Tools''' can help you develop homebrew applications and games for the Wii. The most important tool for Wii development is [[DevkitPPC]], a port of the GCC toolchain along with supporting system libraries. The development tools listed below make development easier or to add additional functionality.
  
==Libraries==
+
== Core development ==
{| class="wikitable" style="margin-left:auto; margin-right:auto; width:100%; text-align:center; font-size:90%;"
+
 
 +
{| class="apptable sortable"
 
|-
 
|-
! Title
+
! width="25%" | Title
! Version
 
 
! Description
 
! Description
! Creator
+
! width="20%" | Author
! DL
 
! Source
 
 
|-
 
|-
| [[EasyIOS]]
+
| [[devkitPPC]]
|
+
| GCC/MSys and associated utilities, standard C libraries based on newlib
| An app for browsing the device tree and trying out quick IOS commands without doing builds.
+
| WinterMute
| Beardface
+
|-
| [[:Image:EasyIOS.tgz|EasyIOS]] [http://ostsoft.net/go/?to=wiidl&dl=3 Mirror]
+
| [[libogc]]
| Available
+
| Low-level libraries for interacting with Wii-specific sub-systems
 +
| shagkur
 +
|}
 +
 
 +
== Framework libraries ==
 +
 
 +
{| class="apptable sortable"
 +
|-
 +
! width="25%" | Title
 +
! Description
 +
! width="20%" | Author
 +
|-
 +
| [[GameFramework|Game Framework]]
 +
| This is a basic framework to guide programmers in things like XML, Fonts, Images & the C++ Standard Template Library.
 +
| [[User:Titmouse|Titmouse]]
 
|-
 
|-
 
| [[GRRLIB]]
 
| [[GRRLIB]]
| 3.0.1
+
| GRRLib For GX Rgb Renderer Library, a simple C graphics library
| GRRLIB For GX Rgb Renderer Library, a simple C graphics library.
 
 
| NoNameNo
 
| NoNameNo
| [[GRRLIB]]
+
|-
| Available
+
| [[libwiigui]]
 +
| A GUI-making library, with a template included
 +
| [[User:Tantric|Tantric]]
 
|-
 
|-
 
| [[libwiisprite]]
 
| [[libwiisprite]]
| 0.3.0b
+
| A C++ sprite library which uses GX as its underlying rendering engine
| A sprite library which uses GX as it's underlying rendering engine.
+
| Chaosteil, (Feesh!)
| Chaosteil, (Feesh!)  
 
| [[libwiisprite]]
 
| On Request
 
 
|-
 
|-
| [[User:Cboomf/libusbkbd|libusbkbd]]
+
| [[MLlib]]
| 1
+
| Framework for graphics, input, audio, and so on. Friendly, easy coding
| Easy access to the USB keyboard interface.
+
| [[User:Minishlink|Minishlink]]
| Cboomf
 
| [[User:Cboomf/libusbkbd|download]]
 
| Included
 
 
|-
 
|-
| [[User:Davyg/libwiikeyboard|libwiikeyboard]]
+
| [[MTek-GDL]]
| 0.2b
+
| An easy to use object-oriented game development library ideal for simple and advanced Wii game projects
| A USB keyboard interface library.
+
| [[User:TheCodingBrony|TheCodingBrony]]
| Davyg
 
| [[Image:Libwiikeyboard.tar.bz2 | download]]
 
| [[Image:Libwiikeyboard-src.tar.bz2 | download]]
 
 
|-
 
|-
| [[PNGU]]
+
| [[SDL Wii]]
| 0.2b
+
| SDL port with SDL Mixer, Image, gfx, and ttf
| A collection of functions for handling .png files.
+
| Numerous
| frontier
 
| [http://frontier-dev.net]
 
| Available
 
 
|-
 
|-
| [[Sndlib]]
+
| [[WiiLÖVE]]
| BETA 1.0
+
| Framework for making 2D Nintendo Wii homebrew games in Lua
| A Sound library for the Wii.
+
| [[User:HTV04|HTV04]]
| Hermes
 
| [http://www.entuwii.net/foro/viewtopic.php?f=6&t=24&start=0&st=0&sk=t&sd=a Release notes]
 
| Available
 
 
|-
 
|-
| [[USB mass storage device tester]]
+
| [[Wire3D]]
| Version 3
+
| Object oriented multiplatform 3D engine for Wii and Windows (DirectX)
| Tests USB mass storage device reading and writing.
+
| [[User:Antibyte|antibyte]]
| svpe
 
| [http://www.megaupload.com/?d=1U91X0XO]
 
| Available
 
 
|-
 
|-
| [[VFSlib]]
+
| [[wit]]
| 0.1a
+
| A C++ development toolkit for event-driven programming
| A simple library to read from different sources, like KDE's KIO.
+
| [[User:Ahigerd|ahigerd]]
| frontier
+
|}
| [http://frontier-dev.net/2008/05/virtual-file-system.html frontier's blog]
+
 
| Available
+
== Libraries ==
 +
{| class="apptable sortable"
 
|-
 
|-
| [[libosk]]
+
! width="25%" | Title
| 0.4.4
+
! Description
| An on screen keyboard.
+
! width="20%" | Author
| beardface
 
| [http://wiichat.googlecode.com/files/libosk-0.4.4.zip libosk-0.4.4]
 
| Request
 
 
|-
 
|-
| [[VKeyboard]]
+
| [[FreeTypeGX]]
| 0.1
+
| A wrapper class for libFreeType which renders a compiled FreeType parsable font into a GX texture
| Easy-to-Use Virtual Keyboard using the Wiimote.
+
| [[User:ArminTamzarian|Armin Tamzarian]]
| pho
 
| [http://www.megaupload.com/es/?d=L8UKN5O5 VKey 0.1]
 
| Available
 
 
|-
 
|-
| [[Wiifuse server]]
+
| [[GEMS Wifi]]
|
+
| A library to help with the initialization of wifi related stuff for Wii and DS.
| Server for [[Wiifuse|wiifuse]] to remotely mount the Wii's nand file system.
+
| [[User:GEMISIS|GEMISIS]]
| dhewg
 
| [[Development Tools/Wiifuse server|wiifuse server]]
 
| Available
 
 
|-
 
|-
 
| [[gl2gx]]
 
| [[gl2gx]]
| alpha 1.4
 
 
| OpenGL for the Wii and/or Gamecube.
 
| OpenGL for the Wii and/or Gamecube.
 
| noeska
 
| noeska
| [http://code.google.com/p/gl2gx/downloads/list gl2gx]
 
| Available
 
 
|-
 
|-
| [[gxtexconv]]
+
| [http://www.plaatsoft.nl/wiibrew/grrlib-4-2-x-freetype-support GRRLIB-FreeType]
| beta 1
+
| A easy extension on [[GRRLIB]] to support FreeType. Note: GRRLIB version 4.3.0 is supporting FreeType natively.
| GX Texture Converter for Win32 and Linux.
+
| [[User:wplaat|wplaat]]
| shagkur
+
|-
| [http://www.megaupload.com/?d=6O0Y5DX5]
+
| [[The HOMEbrew Menu Standard Library]]
| No
+
| Quickly enable a HOME menu in your programs
 +
| [[User:Arikado|Arikado]], [[User:pinball_wizard|Pinball Wizard]], [[User:Warpedflash|WarpedFlash]]
 +
|-
 +
| [[HomeMenu]]
 +
| A graphics library independent Home Menu library written in C
 +
| [[User:MetaFight|MetaFight]]
 +
|-
 +
| [[libCanvas]]
 +
| Minimum runtime image drawing extension for [[libwiisprite]]
 +
| [[User:henke37|henke37]]
 +
|-
 +
| [[libdolfs]]
 +
| A read-only .dol-attached Ramdisk.
 +
| [[User:Hornpipe2|Hornpipe2]]
 +
|-
 +
| [[Libmii]]
 +
| Retrieves Mii data
 +
| [[User:Mdbrim|mdbrim]]
 +
|-
 +
| [[libnfs]]
 +
| NFS driver for the Wii
 +
| [[User:r-win|r-win]]
 +
|-
 +
| [[libNoise]]
 +
| Noise generation library. Useful for terrain, and textures, among others.
 +
| [[User:myrkr|myrkr]]
 +
|-
 +
| [[LibProfile]]
 +
| Code Profiler
 +
| [[User:nuke|nuke]]
 +
|-
 +
| [[libsicksaxis]]
 +
| PS3 controllers to the Wii
 +
| [[User:Xerpi|xerpi]]
 +
|-
 +
| [[libosk]]
 +
| An on screen keyboard
 +
| [[User:Beardface|Beardface]]
 +
|-
 +
| [[User:Cboomf/libusbkbd|libusbkbd]]
 +
| Easy access to the USB keyboard interface
 +
| [[User:Cboomf|Cboomf]]
 +
|-
 +
| [[libwc24]]
 +
| Library for WiiConnect24.
 +
| [[User:Yellows8|Yellows8]]
 
|-
 
|-
| [[Libwiilight|libwiilight]]
+
| [[libwiilight]]
| beta 1
 
 
| Wii Disc slot light library
 
| Wii Disc slot light library
| Cboomf
+
| [[User:Cboomf|Cboomf]]
| [[Libwiilight|libwiilight]]
+
|-
| Yes
+
| [[Metaphrasis]]
 +
| A static conversion class for transforming RGBA image buffers into various GX texture formats
 +
| [[User:ArminTamzarian|Armin Tamzarian]]
 +
|-
 +
| [[PNGU]]
 +
| A collection of functions for handling .png files
 +
| [[User:frontier|frontier]]
 +
|-
 +
| [[SpriteManager]]
 +
| A easy to use sprite handler for libwiisprite (allow freetype text rendering)
 +
| [[User:Untitled|Untitled]]
 +
|-
 +
| [https://web.archive.org/web/20100430061620/http://frontier-dev.net/2008/05/virtual-file-system.html]
 +
| A simple library to read from different sources, like KDE's KIO
 +
| [[User:frontier|frontier]]
 +
|-
 +
| [http://www.megaupload.com/es/?d=L8UKN5O5 VKeyboard]
 +
| Easy-to-Use Virtual Keyboard using the Wiimote.
 +
| pho
 
|-
 
|-
| [[libwiiupdate|libwiiupdate]]
+
| [http://www.plaatsoft.nl/wiibrew/wii-network-library WiiNetwork]
| 1.0a
+
| Wii network threaded tcp/http library
| Library for easy updating of your apps.
+
| [[User:dhewg|dhewg]] and [[User:wplaat|wplaat]] 
| wackysystems (AlexLH)
 
| [http://wiibrew.exofire.net/blog4.php/2008/09/08/libupdate-tested-and-ready-for-release]
 
| Available upon request
 
 
|-
 
|-
| [[dirent.h|dirent.h wrapper]]
+
| [http://www.plaatsoft.nl/wiibrew/wii-trace-module Tracing]
| 1.0
+
| A simple C++ library to trace logs event to file
| Wrapper for POSIX calls to libfat
+
| [[User:wplaat|wplaat]]
| nerdfortress.com (dotbatman)
 
|
 
| [http://nerdfortress.wordpress.com/2008/09/17/wii-that-was-a-fun-ride-with-direnth/ Yes]
 
 
|}
 
|}
  
==Ported Libraries ==
+
== Ported Libraries ==
{| class="wikitable" style="margin-left:auto; margin-right:auto; width:100%; text-align:center; font-size:90%;"
+
{| class="apptable sortable"
 
|-
 
|-
! Title
+
! width="25%" | Title
! Version
 
 
! Description
 
! Description
! Ported by
+
! width="20%" | Ported by
! DL
 
! Source
 
! Example
 
 
|-
 
|-
| [http://www.box2d.org Box2D]
+
| [https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/wiichat/box2d-wii.zip Box2D]
| SVN (6/28/2008)
+
| 2d physics library
| 2d physics library for the wii.
+
| [[User:Beardface|Beardface]]
| Beardface
 
| [http://wiichat.googlecode.com/files/box2d-wii.zip box2d-wii.zip]
 
| [http://www.box2d.org here]
 
| Included
 
 
|-
 
|-
| [http://www.minixml.org libmxml]
+
| [https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/melpo/FreeImage-Wii.zip FreeImage]
| mxml-2.5
+
| Popular image library
| xml library for loading/saving xml configuration files to the Wii.
+
| melpo
| Beardface
+
|-
| [http://wiichat.googlecode.com/files/mxml-wii.tgz libmxml]
+
| [[LibELM]]
| [http://www.minixml.org here]
+
| A FAT driver using ELM FatFs
| Included
+
| [[User:SquidMan|SquidMan]]
 +
|-
 +
| [[libntfs]]
 +
| NTFS driver using NTFS-3G
 +
| shareese
 
|-
 
|-
 
| [[Lua for Wii]]
 
| [[Lua for Wii]]
| 5.1.3 port
+
| Extensible scripting language
| Lua is an extensible scripting language.
 
 
| Feesh!
 
| Feesh!
| [http://feesh.braingravy.co.uk/archives/lua-wii.tar.bz2]
 
| Available
 
| Included
 
 
|-
 
|-
| [[SDL-Port]]
+
| [[Media:Minizip.zip|Minizip]]
| 1.2.8
+
| Simple unzip implementation using zlib
| SDL port to wii with SDl Mixer, Image, gfx, and ttf
+
| [[User:Tantric|Tantric]]
| mindcry, devildante
+
|-
| [http://mindcry.cpl.de/wii/bin_SDL-Port.7z SDL, Mixer, Image]<br>[http://code.google.com/p/sdl-wii-ports/downloads/list Image with libjpeg, tff with freetype, and gfx]
+
| [[SDL_draw]]
| [http://mindcry.cpl.de/wii/src_SDL-Port.7z SDL, Mixer, Image]
+
| SDL_draw port to wii
| google "SDL examples"
+
| GCSX
 +
|-
 +
| [[SpiderMonkey]]
 +
| Port of Mozilla's C implementation of JavaScript
 +
| [[User:Mjbauer95|Mjbauer95]]
 +
|-
 +
| [http://wiimp.googlecode.com/files/sqlite3.6.11_wii.zip SQLite]
 +
| SQLite database library
 +
| [[User:DrTwox|DrTwox]]
 +
|-
 +
| [[TinyXML]]
 +
| Simple C++ parser for XML files (Wii port)
 +
| [[User:Slappy|Slappy]]
 
|-
 
|-
 
| [[WiiPy]]
 
| [[WiiPy]]
| alpha 2
 
 
| Python for the Wii
 
| Python for the Wii
| comex, tehpola
+
| [[User:Comex|Comex]], [[User:tehpola|tehpola]]
| [http://serv.qoid.us/wiipy_a2.elf wiipy_a2.elf]
+
|-
| Available
+
| [http://www.greenmaw.com/ahigerd/bullet-2.77-wii.zip Bullet-2.77] ([http://bulletphysics.org/ Homepage])
| Included
+
| Professional 3D physics library
 +
| [[User:ahigerd|ahigerd]]
 
|-
 
|-
| [http://freeimage.sourceforge.net FreeImage]
+
| [[libext2fs]]
| 3.10.0 port
+
| EXT2/EXT3 and EXT4 file systems driver
| Popular image library
+
| [[User:Dimok|Dimok]]
| melpo
 
| [http://melpo.googlecode.com/files/FreeImage-Wii.zip FreeImage]
 
| [http://freeimage.sourceforge.net/download.html here]
 
| Included
 
 
|}
 
|}
  
==Resources==
+
== Resources ==
{| class="wikitable" style="margin-left:auto; margin-right:auto; width:100%; text-align:center; font-size:90%;"
+
{| class="apptable sortable"
 
|-
 
|-
! Title
+
! width="25%" | Title
! Version
 
 
! Description
 
! Description
! Creator
+
! width="20%" | Author
! DL
 
! Source
 
 
|-
 
|-
| [[Wii Homebrew Cursors]]
+
| [[BCX-BASIC]]
| 1.1a
+
| Using BCX Basic to develop applications for the WII
| Cursor images for Wii homebrew software
+
| [[User:georgp24|georgp24]]
| drmr
+
|-
| [[Wii Homebrew Cursors|from Wiibrew page]]
+
| [[BmpToZlibGC]]
| n/a
+
| Compress BMPs into includable header files
 +
| [[User:Cthulhu32|Cthulhu32]]
 +
|-
 +
| [[Code::Blocks]]
 +
| Code::Blocks is an IDE that can be used for cross compiling.
 +
| [http://www.codeblocks.org/ website]
 +
|-
 +
| [[Colorhelper]]
 +
| A short .h file which defines 19 colours and their hex codes
 +
| [[User:Pinecone|Pinecone]]
 
|-
 
|-
| [[User:Link of Hyrule/Dollz3|Dollz3]]
+
| [[Dollz]]
| v3.0
 
 
| Compress DOL files
 
| Compress DOL files
 
| softdev
 
| softdev
| [[:Image:Dollz3.zip|Download]]
 
| Unknown
 
 
|-
 
|-
| [[GRRLIB Converter]]
+
| [[EasyIOS]]
| 0.4
+
| An app for browsing the device tree and trying out quick IOS commands without doing builds
| Software for Windows to use with [[GRRLIB]] (Convert files and generate images from fonts)
+
| Beardface
 +
|-
 +
| [[gxtexconv]]
 +
| GX Texture Converter for Win32 and Linux
 +
| shagkur
 +
|-
 +
| [[HBCXMLGen]]
 +
| App to aid creation of XML files for HBC
 +
| [[User:Pinecone|Pinecone]]
 +
|-
 +
| [[Title Lister]]
 +
| Lists version info for all titles stored on the Wii's internal NAND flash
 +
| [[User:bushing|bushing]]
 +
|-
 +
| [[USB mass storage device tester]]
 +
| Tests USB mass storage device reading and writing
 +
| svpe
 +
|-
 +
| [[Wii Homebrew Cursors]]
 +
| Cursor images for Wii homebrew software
 +
| [[User:drmr|drmr]]
 +
|-
 +
| [[WiiBuilder]]
 +
| Windows software to use for Wii homebrew development
 
| [[User:Crayon|Crayon]]
 
| [[User:Crayon|Crayon]]
| [http://pages.videotron.com/crayon/grrlib/grrlib-converter.rar Download]
 
| N/A
 
|-
 
| [[BmpToZlibGC]]
 
| 1.1
 
| Compress BMPs into includable header files
 
| [[User:Cthulhu32|Cthulhu32]]
 
| [http://wiibrew.org/w/images/9/96/BmpToZlibGc.1.1.zip Download]
 
| [http://wiibrew.org/w/images/4/4a/BmpToZlibGC.1.1src.zip Source]
 
 
|-
 
|-
 +
| [[Wiifuse server]]
 +
| Server for [[wiifuse]] to remotely mount the Wii's nand file system
 +
| [[User:dhewg|dhewg]]
 +
 
|}
 
|}
  
{{Navbox devtools}}
 
 
[[Category:Development]]
 
[[Category:Development]]

Latest revision as of 06:14, 18 April 2022

These Development Tools can help you develop homebrew applications and games for the Wii. The most important tool for Wii development is DevkitPPC, a port of the GCC toolchain along with supporting system libraries. The development tools listed below make development easier or to add additional functionality.

Core development

Title Description Author
devkitPPC GCC/MSys and associated utilities, standard C libraries based on newlib WinterMute
libogc Low-level libraries for interacting with Wii-specific sub-systems shagkur

Framework libraries

Title Description Author
Game Framework This is a basic framework to guide programmers in things like XML, Fonts, Images & the C++ Standard Template Library. Titmouse
GRRLIB GRRLib For GX Rgb Renderer Library, a simple C graphics library NoNameNo
libwiigui A GUI-making library, with a template included Tantric
libwiisprite A C++ sprite library which uses GX as its underlying rendering engine Chaosteil, (Feesh!)
MLlib Framework for graphics, input, audio, and so on. Friendly, easy coding Minishlink
MTek-GDL An easy to use object-oriented game development library ideal for simple and advanced Wii game projects TheCodingBrony
SDL Wii SDL port with SDL Mixer, Image, gfx, and ttf Numerous
WiiLÖVE Framework for making 2D Nintendo Wii homebrew games in Lua HTV04
Wire3D Object oriented multiplatform 3D engine for Wii and Windows (DirectX) antibyte
wit A C++ development toolkit for event-driven programming ahigerd

Libraries

Title Description Author
FreeTypeGX A wrapper class for libFreeType which renders a compiled FreeType parsable font into a GX texture Armin Tamzarian
GEMS Wifi A library to help with the initialization of wifi related stuff for Wii and DS. GEMISIS
gl2gx OpenGL for the Wii and/or Gamecube. noeska
GRRLIB-FreeType A easy extension on GRRLIB to support FreeType. Note: GRRLIB version 4.3.0 is supporting FreeType natively. wplaat
The HOMEbrew Menu Standard Library Quickly enable a HOME menu in your programs Arikado, Pinball Wizard, WarpedFlash
HomeMenu A graphics library independent Home Menu library written in C MetaFight
libCanvas Minimum runtime image drawing extension for libwiisprite henke37
libdolfs A read-only .dol-attached Ramdisk. Hornpipe2
Libmii Retrieves Mii data mdbrim
libnfs NFS driver for the Wii r-win
libNoise Noise generation library. Useful for terrain, and textures, among others. myrkr
LibProfile Code Profiler nuke
libsicksaxis PS3 controllers to the Wii xerpi
libosk An on screen keyboard Beardface
libusbkbd Easy access to the USB keyboard interface Cboomf
libwc24 Library for WiiConnect24. Yellows8
libwiilight Wii Disc slot light library Cboomf
Metaphrasis A static conversion class for transforming RGBA image buffers into various GX texture formats Armin Tamzarian
PNGU A collection of functions for handling .png files frontier
SpriteManager A easy to use sprite handler for libwiisprite (allow freetype text rendering) Untitled
[1] A simple library to read from different sources, like KDE's KIO frontier
VKeyboard Easy-to-Use Virtual Keyboard using the Wiimote. pho
WiiNetwork Wii network threaded tcp/http library dhewg and wplaat
Tracing A simple C++ library to trace logs event to file wplaat

Ported Libraries

Title Description Ported by
Box2D 2d physics library Beardface
FreeImage Popular image library melpo
LibELM A FAT driver using ELM FatFs SquidMan
libntfs NTFS driver using NTFS-3G shareese
Lua for Wii Extensible scripting language Feesh!
Minizip Simple unzip implementation using zlib Tantric
SDL_draw SDL_draw port to wii GCSX
SpiderMonkey Port of Mozilla's C implementation of JavaScript Mjbauer95
SQLite SQLite database library DrTwox
TinyXML Simple C++ parser for XML files (Wii port) Slappy
WiiPy Python for the Wii Comex, tehpola
Bullet-2.77 (Homepage) Professional 3D physics library ahigerd
libext2fs EXT2/EXT3 and EXT4 file systems driver Dimok

Resources

Title Description Author
BCX-BASIC Using BCX Basic to develop applications for the WII georgp24
BmpToZlibGC Compress BMPs into includable header files Cthulhu32
Code::Blocks Code::Blocks is an IDE that can be used for cross compiling. website
Colorhelper A short .h file which defines 19 colours and their hex codes Pinecone
Dollz Compress DOL files softdev
EasyIOS An app for browsing the device tree and trying out quick IOS commands without doing builds Beardface
gxtexconv GX Texture Converter for Win32 and Linux shagkur
HBCXMLGen App to aid creation of XML files for HBC Pinecone
Title Lister Lists version info for all titles stored on the Wii's internal NAND flash bushing
USB mass storage device tester Tests USB mass storage device reading and writing svpe
Wii Homebrew Cursors Cursor images for Wii homebrew software drmr
WiiBuilder Windows software to use for Wii homebrew development Crayon
Wiifuse server Server for wiifuse to remotely mount the Wii's nand file system dhewg