Difference between revisions of "List of development tools"

From WiiBrew
Jump to navigation Jump to search
(changed devkitPRO to devkitPPC)
 
(161 intermediate revisions by 57 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.
==Development==
+
 
{| class="wikitable" style="margin-left:auto; margin-right:auto; width:100%; text-align:center; font-size:90%;"
+
== Core development ==
 +
 
 +
{| class="apptable sortable"
 
|-
 
|-
! Title
+
! width="25%" | Title
! Version
 
 
! Description
 
! Description
! Creator
+
! width="20%" | Author
! DL
 
! Source
 
 
|-
 
|-
| [[:Image:EasyIOS.tgz|EasyIOS]]
+
| [[devkitPPC]]
|
+
| GCC/MSys and associated utilities, standard C libraries based on newlib
| This app is for browsing the device tree, and trying out quick IOS commands w/out 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, some very very nice function for the noob coder
 
 
| NoNameNo
 
| NoNameNo
| [[GRRLIB]]
+
|-
| Available
+
| [[libwiigui]]
 +
| A GUI-making library, with a template included
 +
| [[User:Tantric|Tantric]]
 
|-
 
|-
 
| [[libwiisprite]]
 
| [[libwiisprite]]
| 0.3.0a
+
| A C++ sprite library which uses GX as its underlying rendering engine
| libwiisprite is a new sprite library which uses GX as it's underlying rendering engine.
+
| Chaosteil, (Feesh!)
| Chaosteil, Feesh!  
+
|-
| [[libwiisprite]]
+
| [[MLlib]]
| On Request
+
| Framework for graphics, input, audio, and so on. Friendly, easy coding
 +
| [[User:Minishlink|Minishlink]]
 +
|-
 +
| [[MTek-GDL]]
 +
| An easy to use object-oriented game development library ideal for simple and advanced Wii game projects
 +
| [[User:TheCodingBrony|TheCodingBrony]]
 +
|-
 +
| [[SDL Wii]]
 +
| SDL port with SDL Mixer, Image, gfx, and ttf
 +
| Numerous
 +
|-
 +
| [[Wire3D]]
 +
| Object oriented multiplatform 3D engine for Wii and Windows (DirectX)
 +
| [[User:Antibyte|antibyte]]
 +
|-
 +
| [[wit]]
 +
| A C++ development toolkit for event-driven programming
 +
| [[User:Ahigerd|ahigerd]]
 +
|}
 +
 
 +
== Libraries ==
 +
{| class="apptable sortable"
 +
|-
 +
! width="25%" | Title
 +
! Description
 +
! width="20%" | Author
 +
|-
 +
| [[FreeTypeGX]]
 +
| A wrapper class for libFreeType which renders a compiled FreeType parsable font into a GX texture
 +
| [[User:ArminTamzarian|Armin Tamzarian]]
 +
|-
 +
| [[GEMS Wifi]]
 +
| A library to help with the initialization of wifi related stuff for Wii and DS.
 +
| [[User:GEMISIS|GEMISIS]]
 +
|-
 +
| [[gl2gx]]
 +
| OpenGL for the Wii and/or Gamecube.
 +
| noeska
 +
|-
 +
| [http://www.plaatsoft.nl/wiibrew/grrlib-4-2-x-freetype-support GRRLIB-FreeType]
 +
| A easy extension on [[GRRLIB]] to support FreeType. Note: GRRLIB version 4.3.0 is supporting FreeType natively.
 +
| [[User:wplaat|wplaat]]
 +
|-
 +
| [[The HOMEbrew Menu Standard Library]]
 +
| 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]]
 
| [[User:Cboomf/libusbkbd|libusbkbd]]
| 1
+
| Easy access to the USB keyboard interface
| Easy access to the usb keyboard interface
+
| [[User:Cboomf|Cboomf]]
| Cboomf
 
| [[User:Cboomf/libusbkbd|download]]
 
| Included
 
 
|-
 
|-
| [[User:Davyg/libwiikeyboard|libwiikeyboard]]
+
| [[libwc24]]
| 0.2b
+
| Library for WiiConnect24.
| Usb keyboard interface
+
| [[User:Yellows8|Yellows8]]
| Davyg
+
|-
| [[Image:Libwiikeyboard.tar.bz2 | download]]
+
| [[libwiilight]]
| [[Image:Libwiikeyboard-src.tar.bz2 | download]]
+
| Wii Disc slot light library
 +
| [[User:Cboomf|Cboomf]]
 +
|-
 +
| [[Metaphrasis]]
 +
| A static conversion class for transforming RGBA image buffers into various GX texture formats
 +
| [[User:ArminTamzarian|Armin Tamzarian]]
 
|-
 
|-
 
| [[PNGU]]
 
| [[PNGU]]
| 0.2b
+
| A collection of functions for handling .png files
| Collection of functions for handling .png files.
+
| [[User:frontier|frontier]]
| frontier  
 
| [http://frontier-dev.net]
 
| Available
 
 
|-
 
|-
| [[Sndlib]]
+
| [[SpriteManager]]
| BETA 1.0
+
| A easy to use sprite handler for libwiisprite (allow freetype text rendering)
| Sound library for Wii
+
| [[User:Untitled|Untitled]]
| 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]]
+
| [https://web.archive.org/web/20100430061620/http://frontier-dev.net/2008/05/virtual-file-system.html]
| Version 3
 
| Tests USB MSD reading and writing.
 
| svpe
 
| [http://www.megaupload.com/?d=1U91X0XO]
 
| Available
 
|-
 
| [[VFSlib]]
 
| 0.1a
 
 
| A simple library to read from different sources, like KDE's KIO
 
| A simple library to read from different sources, like KDE's KIO
| frontier
+
| [[User:frontier|frontier]]
| [http://frontier-dev.net/2008/05/virtual-file-system.html frontier's blog]
 
| Available
 
|-
 
| [[libosk]]
 
| 0.4.4
 
| On Screen Keyboard
 
| beardface
 
| [http://wiichat.googlecode.com/files/libosk-0.4.4.zip libosk-0.4.4]
 
| Request
 
 
|-
 
|-
| [[VKeyboard]]
+
| [http://www.megaupload.com/es/?d=L8UKN5O5 VKeyboard]
| 0.1
+
| Easy-to-Use Virtual Keyboard using the Wiimote.
| Virtual Keyboard using Wiimote (DEMO)
 
 
| pho
 
| pho
| [http://www.megaupload.com/es/?d=FDE093LR VKeyboard 0.1]
 
| Soon
 
 
|-
 
|-
| [[Wiifuse server]]
+
| [http://www.plaatsoft.nl/wiibrew/wii-network-library WiiNetwork]
|
+
| Wii network threaded tcp/http library
| Server for [[Wiifuse|wiifuse]] to remotely mount the wii's nand filesystem
+
| [[User:dhewg|dhewg]] and [[User:wplaat|wplaat]]
| dhewg
 
| [[Development Tools/Wiifuse server|wiifuse server]]
 
| Available
 
 
|-
 
|-
| [[gl2gx]]
+
| [http://www.plaatsoft.nl/wiibrew/wii-trace-module Tracing]
| alpha 1.4
+
| A simple C++ library to trace logs event to file
| OpenGL for the wii and/or gamecube
+
| [[User:wplaat|wplaat]]
| noeska
 
| [http://code.google.com/p/gl2gx/downloads/list gl2gx]
 
| Available
 
|-
 
| [[gxtexconv]]
 
| beta 1
 
| GX Texture Converter (Win32/Linux)
 
| shagkur
 
| [http://www.megaupload.com/?d=6O0Y5DX5]
 
| No
 
 
|}
 
|}
  
==Development Libraries (Ported)==
+
== 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
+
| [https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/wiichat/box2d-wii.zip Box2D]
! Example
+
| 2d physics library
 +
| [[User:Beardface|Beardface]]
 +
|-
 +
| [https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/melpo/FreeImage-Wii.zip FreeImage]
 +
| Popular image library
 +
| melpo
 
|-
 
|-
| [http://www.box2d.org Box2D]
+
| [[LibELM]]
| SVN (6/28/2008)
+
| A FAT driver using ELM FatFs
| 2d physics library for the wii.
+
| [[User:SquidMan|SquidMan]]
| Beardface
 
| [http://wiichat.googlecode.com/files/box2d-wii.zip box2d-wii.zip]
 
| [http://www.box2d.org here]
 
| Included
 
 
|-
 
|-
| [http://www.minixml.org libmxml]
+
| [[libntfs]]
| mxml-2.5
+
| NTFS driver using NTFS-3G
| xml library for loading/saving xml configuration files to the wii.
+
| shareese
| Beardface
 
| [http://wiichat.googlecode.com/files/mxml-wii.tgz libmxml]
 
| [http://www.minixml.org here]
 
| Included
 
 
|-
 
|-
 
| [[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] [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
 
 
|}
 
|}
  
==Miscellaneous==
+
== 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
+
| [[BCX-BASIC]]
 +
| Using BCX Basic to develop applications for the WII
 +
| [[User:georgp24|georgp24]]
 +
|-
 +
| [[BmpToZlibGC]]
 +
| 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]]
 +
|-
 +
| [[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
 +
| [[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]]
 
| [[Wii Homebrew Cursors]]
| 1.1
 
 
| Cursor images for Wii homebrew software
 
| Cursor images for Wii homebrew software
| drmr
+
| [[User:drmr|drmr]]
| [[Wii Homebrew Cursors|from Wiibrew page]]
 
| n/a
 
 
|-
 
|-
 +
| [[WiiBuilder]]
 +
| Windows software to use for Wii homebrew development
 +
| [[User:Crayon|Crayon]]
 +
|-
 +
| [[Wiifuse server]]
 +
| Server for [[wiifuse]] to remotely mount the Wii's nand file system
 +
| [[User:dhewg|dhewg]]
 +
 
|}
 
|}
 +
 
[[Category:Development]]
 
[[Category:Development]]

Latest revision as of 12:35, 30 June 2018

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
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