DS homebrew – Woopsi v0.40
A new update of Woopsi is now available courtesy of homebrew coder ant512. In case you’re not familiar with the Woopsi, this AmigaOS system-based app is a handy GUI library for creating homebrews for the NIntendo DS. The latest update is the first alpha version of the homebrew that includes a number of new features, bug fixes and various other improvements.
Download: Woopsi v0.40
A new update of Woopsi is now available courtesy of homebrew coder ant512. In case you’re not familiar with the Woopsi, this AmigaOS system-based app is a handy GUI library for creating homebrews for the NIntendo DS. The latest update is the first alpha version of the homebrew that includes a number of new features, bug fixes and various other improvements.
Version 0.40 changelog:
Fixes:
- PALib support removed.
- Pointer to selected day button in calendar resets to NULL when new month selected; prevents day button incorrectly popping up if same button is clicked in new month.
- Calendar::getPreferredSize() returns valid values.
- Label text is greyed out when disabled.
- Huge speed increase in Calendar::resize().
- Calendar’s child controls correctly fill entire available space.
- Calendar correctly selects date if new day is the same as old day but in a different month.
- Gadget drag event only raised if stylus is actually moved whilst dragging mode active.
- ScrollingPanel drag and scroll events only raised if stylus is actually moved whilst dragging mode active.
- MultiLineTextBox greys out text when disabled.
- MultiLineTextBox::removeText() correctly repositions cursor.
- TextBox greys out text when disabled.
- Scrolltest compiles correctly.
- SimpleScreen and SimpleWindow helper gadgets removed.
- Renamed LinkedList to WoopsiLinkedList and LinkedListIterator to WoopsiLinkedListIterator to avoid type clashing with LinkedList in devkit.
- Tidied up woopsifuncs.h.
- SuperBitmap::getBitmap() returns a pointer to the Bitmap object instead of the Bitmap object’s raw pixel data.
- Moved skinned gadgets out of main library and into bonus folder.
- Removed fatInitDefault() stub method for SDL out of individual .cpp files and into nds.h.
- dimmedscreen.h includes woopsi.h.
- Graphics::drawBitmap() clips correctly if bitmap destination co-ords are greater than the size of the destination bitmap.
- GraphicsPort::drawPixel() clips correctly.
- GraphicsPort::drawXORPixel() clips correctly.
- Replaced DMA_Force and DMA_Copy with woopsiDmaForce() and woopsiDmaCopy() to fix ancient problems with DMA not seeing latest RAM state.
New Features:
- Calendar test added.
- MultiLineTextBox test added.
- TextBox test added.
- Added an overload to GraphicsPort to print a length of a string in a specific colour.
- Restructured directories into traditional library layout.
- Upgraded main project to VC++ 2008.
- Added libwoopsi.a to SVN.
- Added template example that uses libwoopsi.
- Reorganised demo code into new demo directory.
- BitmapIO class can load 16-bit BMP images with any pixel encoding.
- BitmapIO class can load V3, V4 and V5 DIB headers.
- BitmapLoader example illustrates loading of most supported BMP types.
- Added skinned gadget example.
- Added SkinIO class to bonus folder – loads skins from disk.
- Added BitmapBase class to define basic interface for a bitmap.
- Added BitmapWrapper to enable included (not loaded) bitmap data to be used as a read-only Bitmap object.
- Moved drawing code out of Bitmap class into new Graphics class.
- Added MutableBitmapBase class to define basic interface for an editable bitmap.
- Added FrameBuffer class to wrap framebuffer inside a bitmap class.
- All references to DrawBg array now work with frameBuffer array.
- Added GraphicsUnclipped to perform raw unclipped bitmap drawing.
- GraphicsPort inherits from GraphicsUnclipped in order to reduce code repetition.
- Font system uses new Bitmap object hierarchy.
- System fonts available as global objects.
- Rewritten clipping routine in Font and MonoFont.
- Reorganised VC++ project with more filters.
- Rect struct moved out of Gadget class and into separate header.
- SuperBitmap no longer includes drawing functions; instead it exposes a non-const pointer to its bitmap and a non-const pointer to a Graphics object that can draw to the bitmap.
- Added bitmapdrawing example.
- Added gadgetdrawing example.
- Added blit() and blitFill() methods to Bitmap and FrameBuffer, and signatures to MutableBitmapBase.
- Added getData(x, y) method to all bitmap classes.
Download: Woopsi v0.40
Previous article:
Via Woopsi