Difference between revisions of "List of development tools"
Jump to navigation
Jump to search
m (Added WiiLÖVE) |
|||
(69 intermediate revisions by 38 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 [[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 == | |
− | ==Libraries== | + | {| 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" | ||
+ | |- | ||
+ | ! 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 For GX Rgb Renderer Library, a simple C graphics library | ||
+ | | NoNameNo | ||
+ | |- | ||
+ | | [[libwiigui]] | ||
+ | | A GUI-making library, with a template included | ||
+ | | [[User:Tantric|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 | ||
+ | | [[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 | ||
+ | | [[User:Ahigerd|ahigerd]] | ||
+ | |} | ||
+ | |||
+ | == Libraries == | ||
{| class="apptable sortable" | {| class="apptable sortable" | ||
|- | |- | ||
Line 13: | Line 77: | ||
| A wrapper class for libFreeType which renders a compiled FreeType parsable font into a GX texture | | A wrapper class for libFreeType which renders a compiled FreeType parsable font into a GX texture | ||
| [[User:ArminTamzarian|Armin Tamzarian]] | | [[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]] | ||
Line 18: | Line 86: | ||
| noeska | | noeska | ||
|- | |- | ||
− | | [[GRRLIB]] | + | | [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]] | | [[The HOMEbrew Menu Standard Library]] | ||
Line 33: | Line 101: | ||
| Minimum runtime image drawing extension for [[libwiisprite]] | | Minimum runtime image drawing extension for [[libwiisprite]] | ||
| [[User:henke37|henke37]] | | [[User:henke37|henke37]] | ||
+ | |- | ||
+ | | [[libdolfs]] | ||
+ | | A read-only .dol-attached Ramdisk. | ||
+ | | [[User:Hornpipe2|Hornpipe2]] | ||
|- | |- | ||
| [[Libmii]] | | [[Libmii]] | ||
| Retrieves Mii data | | Retrieves Mii data | ||
− | | [[User: | + | | [[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]] | | [[libosk]] | ||
| An on screen keyboard | | An on screen keyboard | ||
− | | | + | | [[User:Beardface|Beardface]] |
|- | |- | ||
| [[User:Cboomf/libusbkbd|libusbkbd]] | | [[User:Cboomf/libusbkbd|libusbkbd]] | ||
| Easy access to the USB keyboard interface | | Easy access to the USB keyboard interface | ||
− | | Cboomf | + | | [[User:Cboomf|Cboomf]] |
|- | |- | ||
− | | [[ | + | | [[libwc24]] |
− | | | + | | Library for WiiConnect24. |
− | | | + | | [[User:Yellows8|Yellows8]] |
|- | |- | ||
− | | [[ | + | | [[libwiilight]] |
| Wii Disc slot light library | | Wii Disc slot light library | ||
− | + | | [[User:Cboomf|Cboomf]] | |
− | |||
− | | [[ | ||
− | | | ||
− | |||
− | |||
− | |||
− | |||
− | |||
|- | |- | ||
| [[Metaphrasis]] | | [[Metaphrasis]] | ||
Line 68: | Line 148: | ||
| [[PNGU]] | | [[PNGU]] | ||
| A collection of functions for handling .png files | | A collection of functions for handling .png files | ||
− | | frontier | + | | [[User:frontier|frontier]] |
− | | | ||
− | |||
− | |||
− | |||
|- | |- | ||
| [[SpriteManager]] | | [[SpriteManager]] | ||
Line 78: | Line 154: | ||
| [[User:Untitled|Untitled]] | | [[User:Untitled|Untitled]] | ||
|- | |- | ||
− | | [http://frontier-dev.net/2008/05/virtual-file-system.html | + | | [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 | | A simple library to read from different sources, like KDE's KIO | ||
− | | frontier | + | | [[User:frontier|frontier]] |
|- | |- | ||
| [http://www.megaupload.com/es/?d=L8UKN5O5 VKeyboard] | | [http://www.megaupload.com/es/?d=L8UKN5O5 VKeyboard] | ||
Line 86: | Line 162: | ||
| pho | | 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/wii-trace-module Tracing] | ||
+ | | A simple C++ library to trace logs event to file | ||
+ | | [[User:wplaat|wplaat]] | ||
|} | |} | ||
− | ==Ported Libraries == | + | == Ported Libraries == |
{| class="apptable sortable" | {| class="apptable sortable" | ||
|- | |- | ||
Line 98: | Line 178: | ||
! width="20%" | 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]] | ||
Line 122: | Line 198: | ||
| 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:// | + | | [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]] |
− | | | + | | Python for the Wii |
− | | | + | | [[User:Comex|Comex]], [[User:tehpola|tehpola]] |
|- | |- | ||
− | | [[ | + | | [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: | + | | [[User:Dimok|Dimok]] |
|} | |} | ||
− | ==Resources== | + | == Resources == |
{| class="apptable sortable" | {| class="apptable sortable" | ||
|- | |- | ||
Line 165: | Line 245: | ||
| Compress BMPs into includable header files | | Compress BMPs into includable header files | ||
| [[User:Cthulhu32|Cthulhu32]] | | [[User:Cthulhu32|Cthulhu32]] | ||
+ | |- | ||
+ | | [[Code::Blocks]] | ||
+ | | Code::Blocks is an IDE that can be used for cross compiling. | ||
+ | | [http://www.codeblocks.org/ website] | ||
|- | |- | ||
| [[Colorhelper]] | | [[Colorhelper]] | ||
Line 170: | Line 254: | ||
| [[User:Pinecone|Pinecone]] | | [[User:Pinecone|Pinecone]] | ||
|- | |- | ||
− | | [[ | + | | [[Dollz]] |
| Compress DOL files | | Compress DOL files | ||
| softdev | | softdev | ||
Line 185: | Line 269: | ||
| 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]] | | [[USB mass storage device tester]] | ||
Line 192: | Line 280: | ||
| [[Wii Homebrew Cursors]] | | [[Wii Homebrew Cursors]] | ||
| Cursor images for Wii homebrew software | | Cursor images for Wii homebrew software | ||
− | | drmr | + | | [[User:drmr|drmr]] |
|- | |- | ||
| [[WiiBuilder]] | | [[WiiBuilder]] | ||
Line 199: | Line 287: | ||
|- | |- | ||
| [[Wiifuse server]] | | [[Wiifuse server]] | ||
− | | Server for [[ | + | | Server for [[wiifuse]] to remotely mount the Wii's nand file system |
− | | dhewg | + | | [[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 |