Difference between revisions of "List of development tools"
Jump to navigation
Jump to search
m (Added WiiLÖVE) |
|||
(93 intermediate revisions by 41 users not shown) | |||
Line 1: | Line 1: | ||
− | These '''Development Tools''' can help you develop homebrew applications and games for the Wii. | + | 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 == |
− | {| class=" | + | |
+ | {| class="apptable sortable" | ||
+ | |- | ||
+ | ! width="25%" | Title | ||
+ | ! Description | ||
+ | ! width="20%" | 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 == | ||
+ | |||
+ | {| class="apptable sortable" | ||
|- | |- | ||
− | ! Title | + | ! width="25%" | Title |
− | |||
! Description | ! 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]] | ||
− | | | + | | GRRLib For GX Rgb Renderer Library, a simple C graphics library |
− | |||
| NoNameNo | | NoNameNo | ||
− | | [[ | + | |- |
− | | | + | | [[libwiigui]] |
+ | | A GUI-making library, with a template included | ||
+ | | [[User:Tantric|Tantric]] | ||
|- | |- | ||
| [[libwiisprite]] | | [[libwiisprite]] | ||
− | + | | A C++ sprite library which uses GX as its underlying rendering engine | |
− | | A C++ sprite library which uses GX as its underlying rendering engine | + | | Chaosteil, (Feesh!) |
− | | Chaosteil, (Feesh!) | + | |- |
− | | [[ | + | | [[MLlib]] |
− | | | + | | 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 | |
− | |||
− | |||
− | | | ||
|- | |- | ||
− | | [[ | + | | [[WiiLÖVE]] |
− | | | + | | Framework for making 2D Nintendo Wii homebrew games in Lua |
− | + | | [[User:HTV04|HTV04]] | |
− | |||
− | | [[ | ||
− | |||
|- | |- | ||
− | | [[ | + | | [[Wire3D]] |
− | | | + | | Object oriented multiplatform 3D engine for Wii and Windows (DirectX) |
− | + | | [[User:Antibyte|antibyte]] | |
− | |||
− | | [ | ||
− | |||
|- | |- | ||
− | | [[ | + | | [[wit]] |
− | + | | A C++ development toolkit for event-driven programming | |
− | | A | + | | [[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]] | | [[gl2gx]] | ||
− | |||
| OpenGL for the Wii and/or Gamecube. | | OpenGL for the Wii and/or Gamecube. | ||
| noeska | | 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. |
− | | Wii | + | | [[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]] | ||
+ | | Easy access to the USB keyboard interface | ||
+ | | [[User:Cboomf|Cboomf]] | ||
|- | |- | ||
− | | [[ | + | | [[libwc24]] |
− | + | | Library for WiiConnect24. | |
− | | Library for | + | | [[User:Yellows8|Yellows8]] |
− | | | ||
− | |||
− | |||
|- | |- | ||
− | | [[ | + | | [[libwiilight]] |
− | | | + | | Wii Disc slot light library |
− | + | | [[User:Cboomf|Cboomf]] | |
− | | [[User: | ||
− | |||
− | |||
|- | |- | ||
| [[Metaphrasis]] | | [[Metaphrasis]] | ||
− | + | | A static conversion class for transforming RGBA image buffers into various GX texture formats | |
− | | A static conversion class for transforming RGBA image buffers into various GX texture formats | ||
| [[User:ArminTamzarian|Armin Tamzarian]] | | [[User:ArminTamzarian|Armin Tamzarian]] | ||
− | | [ | + | |- |
− | | | + | | [[PNGU]] |
+ | | A collection of functions for handling .png files | ||
+ | | [[User:frontier|frontier]] | ||
|- | |- | ||
| [[SpriteManager]] | | [[SpriteManager]] | ||
− | |||
| A easy to use sprite handler for libwiisprite (allow freetype text rendering) | | A easy to use sprite handler for libwiisprite (allow freetype text rendering) | ||
| [[User:Untitled|Untitled]] | | [[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 | ||
+ | |- | ||
+ | | [http://www.plaatsoft.nl/wiibrew/wii-network-library WiiNetwork] | ||
| Wii network threaded tcp/http library | | Wii network threaded tcp/http library | ||
| [[User:dhewg|dhewg]] and [[User:wplaat|wplaat]] | | [[User:dhewg|dhewg]] and [[User:wplaat|wplaat]] | ||
− | | [http://www.plaatsoft.nl/wiibrew/ | + | |- |
− | | | + | | [http://www.plaatsoft.nl/wiibrew/wii-trace-module Tracing] |
+ | | A simple C++ library to trace logs event to file | ||
+ | | [[User:wplaat|wplaat]] | ||
|} | |} | ||
− | ==Ported Libraries == | + | == Ported Libraries == |
− | {| class=" | + | {| class="apptable sortable" |
|- | |- | ||
− | ! Title | + | ! width="25%" | Title |
− | |||
! Description | ! Description | ||
− | ! Ported by | + | ! width="20%" | Ported by |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
− | | [ | + | | [https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/wiichat/box2d-wii.zip Box2D] |
− | + | | 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 | |
− | |||
− | |||
− | | | ||
− | | | ||
|- | |- | ||
− | | [ | + | | [[LibELM]] |
− | | | + | | A FAT driver using ELM FatFs |
− | + | | [[User:SquidMan|SquidMan]] | |
− | |||
− | | [ | ||
− | |||
− | |||
|- | |- | ||
− | | [ | + | | [[libntfs]] |
− | | | + | | NTFS driver using NTFS-3G |
− | + | | shareese | |
− | |||
− | |||
− | |||
− | | | ||
|- | |- | ||
| [[Lua for Wii]] | | [[Lua for Wii]] | ||
− | | | + | | Extensible scripting language |
− | |||
| Feesh! | | Feesh! | ||
− | |||
− | |||
− | |||
|- | |- | ||
− | | [[ | + | | [[Media:Minizip.zip|Minizip]] |
− | | | + | | Simple unzip implementation using zlib |
− | | | + | | [[User:Tantric|Tantric]] |
− | | | + | |- |
− | | [ | + | | [[SDL_draw]] |
− | | [ | + | | SDL_draw port to wii |
− | | | + | | 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]] | ||
− | |||
| Python for the Wii | | Python for the Wii | ||
− | | | + | | [[User:Comex|Comex]], [[User:tehpola|tehpola]] |
− | |||
− | |||
− | |||
− | |||
− | |||
− | | | ||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
− | | [http://www. | + | | [http://www.greenmaw.com/ahigerd/bullet-2.77-wii.zip Bullet-2.77] ([http://bulletphysics.org/ Homepage]) |
− | + | | Professional 3D physics library | |
− | + | | [[User:ahigerd|ahigerd]] | |
− | |||
− | |||
− | | [ | ||
− | |||
|- | |- | ||
− | + | | [[libext2fs]] | |
− | + | | EXT2/EXT3 and EXT4 file systems driver | |
− | + | | [[User:Dimok|Dimok]] | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | | [[ | ||
− | | | ||
− | |||
− | |||
− | | [[ | ||
− | | | ||
− | |||
|} | |} | ||
− | ==Resources== | + | == Resources == |
− | {| class=" | + | {| class="apptable sortable" |
|- | |- | ||
− | ! Title | + | ! width="25%" | Title |
− | |||
! Description | ! Description | ||
− | ! | + | ! width="20%" | Author |
− | |||
− | |||
|- | |- | ||
− | | [[ | + | | [[BCX-BASIC]] |
− | | | + | | Using BCX Basic to develop applications for the WII |
− | | | + | | [[User:georgp24|georgp24]] |
− | + | |- | |
− | | [http://www. | + | | [[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]] | | [[EasyIOS]] | ||
− | + | | An app for browsing the device tree and trying out quick IOS commands without doing builds | |
− | | An app for browsing the device tree and trying out quick IOS commands without doing builds | + | | Beardface |
− | | Beardface | ||
− | |||
− | |||
|- | |- | ||
− | | [[ | + | | [[gxtexconv]] |
− | | | + | | GX Texture Converter for Win32 and Linux |
− | + | | shagkur | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | | | ||
|- | |- | ||
| [[HBCXMLGen]] | | [[HBCXMLGen]] | ||
− | |||
| App to aid creation of XML files for HBC | | App to aid creation of XML files for HBC | ||
| [[User:Pinecone|Pinecone]] | | [[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]] | ||
− | |||
| Cursor images for Wii homebrew software | | Cursor images for Wii homebrew software | ||
− | + | | [[User:drmr|drmr]] | |
− | |||
− | |||
− | |||
− | | [[User: | ||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| [[WiiBuilder]] | | [[WiiBuilder]] | ||
− | + | | Windows software to use for Wii homebrew development | |
− | | Windows software to use for Wii homebrew development | ||
| [[User:Crayon|Crayon]] | | [[User:Crayon|Crayon]] | ||
− | |||
− | |||
|- | |- | ||
− | | [[ | + | | [[Wiifuse server]] |
− | | | + | | Server for [[wiifuse]] to remotely mount the Wii's nand file system |
− | + | | [[User:dhewg|dhewg]] | |
− | + | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | | [[User: | ||
− | |||
− | |||
|} | |} | ||
− | |||
[[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 |