More actions
(Created page with "{{Infobox homebrew | title = Woopsi | image = File:Woopsids.jpg | type = Operating systems | version = 1.3 | licence = Mixed | author = Ant...") |
(Update repository link (the bitbucket one points to GitHub).) |
||
(24 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
{{Infobox | {{Infobox DS Homebrews | ||
| title | |title=Woopsi | ||
| image | |image=Woopsi.png | ||
| | |description=Nintendo DS GUI library. | ||
|author=Ant 512 (Antony Dzeryn) | |||
|lastupdated=2011/07/21 | |||
| author | |type=Development | ||
| | |version=1.3 | ||
| download | |license=Mixed | ||
| source | |download=https://dlhb.gamebrew.org/dshomebrew2/woopsi.7z?k33p0fil35 1.3 & Demo | ||
|website=http://woopsi.org | |||
|source=https://github.com/ant512/Woopsi | |||
}} | }} | ||
Woopsi is a Nintendo DS GUI library for rapidly creating user interfaces for homebrew software. Modelled after the AmigaOS windowing system. | Woopsi is a Nintendo DS GUI library for rapidly creating user interfaces for homebrew software. Modelled after the AmigaOS windowing system. | ||
Line 16: | Line 17: | ||
==Features== | ==Features== | ||
*Support for multiple windows. | * Support for multiple windows. | ||
*Full set of components of the user interface. | * Full set of components of the user interface. | ||
*The elements (windows) can be dragged. | * The elements (windows) can be dragged. | ||
*Windows without frames. | * Windows without frames. | ||
*Debug mode. | * Debug mode. | ||
*Optimized application to draw and erase. | * Optimized application to draw and erase. | ||
*System events. | * System events. | ||
*Automatic application to collect | * Automatic application to collect garbage. | ||
*Complete API to build new applications. | * Complete API to build new applications. | ||
*Different types of fonts supported. | * Different types of fonts supported. | ||
*Oriented design to easily adapt to other programs in C + +. | * Oriented design to easily adapt to other programs in C++. | ||
*Simple API for rapid creation of a graphical user interface. | * Simple API for rapid creation of a graphical user interface. | ||
*FIFO multitasking, each application runs at a time. | * FIFO multitasking, each application runs at a time. | ||
*Unicode strings encoded with UTF-8. | * Unicode strings encoded with UTF-8. | ||
*Support for Windows applications (font2font, bmp2font | * Support for Windows applications (font2font, bmp2font, etc). | ||
== | ==User guide== | ||
It requires the latest | It requires the latest devkitPro and do one of the following things as operating system: | ||
* Windows - 2 methods available. Use the Install.bat found in the folder or copy the folder Woopsi libwoopsi to C:\devkitPro. | |||
* Linux - Same as the second option of Windows, copy the folder libwoopsi to C:\devkitPro. | |||
* MacOSX - Compile what is in the folder Woopsi. | |||
To test the installation: | |||
* Open a command prompt and CD to the template folder (relative to the document) and type <code>make</code> | |||
* Open the /template/Release/template.nds ROM file in a DS emulator or copy it to your flash cart and load it up. | |||
==Media== | ==Media== | ||
'''Woopsi demo v0.99.3''' ([https://www.youtube.com/watch?v=aOA650uKf8s Cid2Mizard]) <br> | |||
<youtube>aOA650uKf8s</youtube> | <youtube>aOA650uKf8s</youtube> | ||
Line 55: | Line 52: | ||
Fixes: | Fixes: | ||
*Label and TextBox are more efficient when rendering text changes. | * Label and TextBox are more efficient when rendering text changes. | ||
*Removed unused GLYPH_MAP_SIZE constant from fontbase.h. | * Removed unused GLYPH_MAP_SIZE constant from fontbase.h. | ||
*Header file in template moved into include directory. | * Header file in template moved into include directory. | ||
*Animation::play() stops if there are no frames to play. | * Animation::play() stops if there are no frames to play. | ||
*Animation::getCurrentFrame() returns NULL if there are no frames. | * Animation::getCurrentFrame() returns NULL if there are no frames. | ||
*Animation::getCurrentBitmap() returns NULL if there are no bitmaps. | * Animation::getCurrentBitmap() returns NULL if there are no bitmaps. | ||
*Fixed memory leak when deleting SDL framebuffer. | * Fixed memory leak when deleting SDL framebuffer. | ||
*Removed extraneous globals from woopsifuncs.cpp. | * Removed extraneous globals from woopsifuncs.cpp. | ||
*WoopsiString::subString() passes the correct arguments to the WoopsiString constructor. | * WoopsiString::subString() passes the correct arguments to the WoopsiString constructor. | ||
*StringIterator::moveTo() ignores attempts to move to negative indices. | * StringIterator::moveTo() ignores attempts to move to negative indices. | ||
*Improved use of DMA hardware. | * Improved use of DMA hardware. | ||
*Updated C# tools. | * Updated C# tools. | ||
*Removed Visual Studio files. | * Removed Visual Studio files. | ||
New Features: | New Features: | ||
*Added WoopsiTimer::isRunning(). | * Added WoopsiTimer::isRunning(). | ||
*Added SuperBitmap::setX(). | * Added SuperBitmap::setX(). | ||
*Added SuperBitmap::setY(). | * Added SuperBitmap::setY(). | ||
*Added SuperBitmap::getX(). | * Added SuperBitmap::getX(). | ||
*Added SuperBitmap::getY(). | * Added SuperBitmap::getY(). | ||
*Added FontConverter, a winforms UI for font2font. | * Added FontConverter, a winforms UI for font2font. | ||
==Credits== | ==Credits== | ||
Coding and design - Antony Dzeryn | Coding and design - Antony Dzeryn. | ||
Testing, technical advice, other contributions - Jeff Laing. | |||
PALib independence - Steven Harrison. | |||
Testing and suggestions - John Buxton, Chase, Leonelhs, Carpfish. | |||
Unicode work and libfreetype integration - Olivier Binda (Lakedaemon). | |||
Testing and gadget contributions - Mark Adamson. | |||
Simian Zombie logo - John Clay. | |||
Thanks to - The devKitPro team. | |||
==External links== | |||
* Official website - http://woopsi.org | |||
* Bitbucket - https://bitbucket.org/ant512/woopsi |
Latest revision as of 13:31, 2 November 2024
Woopsi | |
---|---|
General | |
Author | Ant 512 (Antony Dzeryn) |
Type | Development |
Version | 1.3 |
License | Mixed |
Last Updated | 2011/07/21 |
Links | |
1.3 & Demo Download | |
Website | |
Source | |
Woopsi is a Nintendo DS GUI library for rapidly creating user interfaces for homebrew software. Modelled after the AmigaOS windowing system.
It is a BSD-licenced GUI toolkit for the Nintendo DS, written in C++. It features a 2D graphics library with fast clipping routines and a full suite of UI components, including text boxes, scrolling lists, buttons, windows, etc. It can be used to produce everything from simple GUIs to full-blown window managers.
Features
- Support for multiple windows.
- Full set of components of the user interface.
- The elements (windows) can be dragged.
- Windows without frames.
- Debug mode.
- Optimized application to draw and erase.
- System events.
- Automatic application to collect garbage.
- Complete API to build new applications.
- Different types of fonts supported.
- Oriented design to easily adapt to other programs in C++.
- Simple API for rapid creation of a graphical user interface.
- FIFO multitasking, each application runs at a time.
- Unicode strings encoded with UTF-8.
- Support for Windows applications (font2font, bmp2font, etc).
User guide
It requires the latest devkitPro and do one of the following things as operating system:
- Windows - 2 methods available. Use the Install.bat found in the folder or copy the folder Woopsi libwoopsi to C:\devkitPro.
- Linux - Same as the second option of Windows, copy the folder libwoopsi to C:\devkitPro.
- MacOSX - Compile what is in the folder Woopsi.
To test the installation:
- Open a command prompt and CD to the template folder (relative to the document) and type
make
- Open the /template/Release/template.nds ROM file in a DS emulator or copy it to your flash cart and load it up.
Media
Woopsi demo v0.99.3 (Cid2Mizard)
Changelog
V1.3
Fixes:
- Label and TextBox are more efficient when rendering text changes.
- Removed unused GLYPH_MAP_SIZE constant from fontbase.h.
- Header file in template moved into include directory.
- Animation::play() stops if there are no frames to play.
- Animation::getCurrentFrame() returns NULL if there are no frames.
- Animation::getCurrentBitmap() returns NULL if there are no bitmaps.
- Fixed memory leak when deleting SDL framebuffer.
- Removed extraneous globals from woopsifuncs.cpp.
- WoopsiString::subString() passes the correct arguments to the WoopsiString constructor.
- StringIterator::moveTo() ignores attempts to move to negative indices.
- Improved use of DMA hardware.
- Updated C# tools.
- Removed Visual Studio files.
New Features:
- Added WoopsiTimer::isRunning().
- Added SuperBitmap::setX().
- Added SuperBitmap::setY().
- Added SuperBitmap::getX().
- Added SuperBitmap::getY().
- Added FontConverter, a winforms UI for font2font.
Credits
Coding and design - Antony Dzeryn.
Testing, technical advice, other contributions - Jeff Laing.
PALib independence - Steven Harrison.
Testing and suggestions - John Buxton, Chase, Leonelhs, Carpfish.
Unicode work and libfreetype integration - Olivier Binda (Lakedaemon).
Testing and gadget contributions - Mark Adamson.
Simian Zombie logo - John Clay.
Thanks to - The devKitPro team.
External links
- Official website - http://woopsi.org
- Bitbucket - https://bitbucket.org/ant512/woopsi