List of development tools: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
m Added WiiLÖVE |
||
(162 intermediate revisions by 58 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. | ||
== | |||
{| class=" | == Core development == | ||
{| 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. | |||
| This | | [[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 | ||
| Chaosteil, (Feesh!) | |||
| Chaosteil, Feesh! | |||
|- | |- | ||
| [[ | | [[MLlib]] | ||
| | | Framework for graphics, input, audio, and so on. Friendly, easy coding | ||
| [[User:Minishlink|Minishlink]] | |||
| [[User: | |||
|- | |- | ||
| [[ | | [[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 | |||
| 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. | ||
| GX | | [[User:wplaat|wplaat]] | ||
| | |- | ||
| [http://www.megaupload.com/?d= | | [[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. | |||
| [[User:Yellows8|Yellows8]] | |||
|- | |||
| [[libwiilight]] | |||
| 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]] | |||
| 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 | |||
|- | |||
| [http://www.plaatsoft.nl/wiibrew/wii-network-library WiiNetwork] | |||
| Wii network threaded tcp/http library | |||
| [[User:dhewg|dhewg]] and [[User:wplaat|wplaat]] | |||
|- | |||
| [http://www.plaatsoft.nl/wiibrew/wii-trace-module Tracing] | |||
| A simple C++ library to trace logs event to file | |||
| [[User:wplaat|wplaat]] | |||
|} | |} | ||
== | == 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:// | |- | ||
| | | [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 == | ||
{| 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]] | |||
|- | |||
| [[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]] | ||
| Cursor images for Wii homebrew software | | Cursor images for Wii homebrew software | ||
| [[User:drmr|drmr]] | |||
| [[ | |||
|- | |- | ||
| [[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 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 |