DS homebrew – Woopsi v0.44
Homebrew coder ant512 is back to release a new version of Woopsi, a handy GUI library for creating homebrew user interfaces for the Nintendo DS. The latest release of the brew is another feature pack update that includes a number of new features, tons of bug fixes and various other improvements.
Download: Woopsi v0.44
Homebrew coder ant512 is back to release a new version of Woopsi, a handy GUI library for creating homebrew user interfaces for the Nintendo DS. The latest release of the brew is another feature pack update that includes a number of new features, tons of bug fixes and various other improvements.
Changelog:
Fixes:
- Moved fatInitDefault() SDL function into woopsifuncs.cpp (Quirky).
- ScrollingPanel::raiseScrollEvent() only fires if events are enabled.
- Gadget::raisesEvents() retrieves its value from the GadgetEventHandlerList object.
- Gadget::setRaisesEvents() alters the GadgetEventHandlerList object.
- Removed the raisesEvents flag from the Gadget class.
- Bmp2Font produces working Font classes.
- Deleted badly-converted fonts:
- Latha;
- Lucida10;
- Roman 10;
- Trebuchet8.
- FileRequester no longer has transparent regions.
- FileRequester sorts correctly.
- FileRequester does not attempt to draw when drawing is disabled.
- FilePath uses WoopsiString::lastIndexOf() to change to parse path string.
- Dragging a screen that isn’t the top screen so that it is not visible no longer causes a crash.
- Removed glyphs from NewTopaz and Topaz fonts.
- Changed NewTopaz font to PackedFont1 from PackedFont16.
- Changed Topaz font to MonoFont from Font.
- Fixed memory leak when enumerating directories in FileListBox.
- FileListBox shows dummy file list when in SDL mode.
- Graphical corruption in GraphicsPort::clipScroll() fixed.
- Fixed FileRequester layout.
- Replaced magic number double click time with define in woopsifuncs.cpp.
- TestPanel class in scrolltest example draws its border correctly.
- Fixed a crash in GraphicsPort::drawText() when trying to draw text outside the clipRect with a PackedFont1 font; should provide a minor speedup.
- ScrollingPanel draws its border correctly.
- Removed Text::getLinePointer().
- MultiLineTextBox::drawCursor() uses a StringIterator to locate the cursor position.
- MultiLineTextBox::drawCursor() does not read past the end of the string when the cursor is positioned beyond the string.
- Text::wrap() does not perform an invalid comparison between line index and char index when truncating the line positions array.
- Text::wrap() correctly appends the string end position in all scenarios.
- Text::wrap() always assumes text height is at least one row.
- Text::getLineContainingCharIndex() returns the correct value if the character is in the last row.
- WoopsiString::insert() explicitly calls its own setText() and append() methods to prevent the Text class from wrapping twice.
- Added WoopsiString::encodeCodePoint().
- PackedFontBase::isCharBlank() returns correct value if character not present in font (fixes horizontal alignment in MulitLineTextBox).
- Key repeat values stored in defines.h.
- FileListBox does not show “.” directory.
- Minor optimisation when building the FileListBox contents.
- Split Label::calculateTextPosition() split into horizontal and vertical methods.
- TextBox switches to left-aligned automatically if contents exceeds size of box.
- Fixed memory leak and logic problems when deleting gadgets.
New features:
- Added FontBase::getCharHeight().
- WoopsiString supports UTF-8 (Lakedaemon).
- Split glyphs into separate GlyphFont.
- GadgetStyle includes a glyph font.
- All gadgets converted to use WoopsiStrings instead of raw chars/char arrays, meaning they support UTF-8.
- Various changes in Text class to support UTF-8.
- Changed parameters to GraphicsUnclipped::drawText() (and subclasses).
- Added StringIterator class, for efficient iteration over a UTF-8 string.
- Removed dependence on WoopsiString::getCharArray().
- Promoted FileRequester gadget from bonus folder to main library.
- libfat enabled by default in test projects and template.
- Added WoopsiString::lastIndexOf().
- Added WoopsiString::subString().
- Added WoopsiString::indexOf().
- TextBox implements key repeats when left or right d-pad is held down; cursor moves repeatedly until end of string reached or d-pad released.
- MultiLineTextBox implements key repeats when left or right d-pad is held down; cursor moves repeatedly until end of string reached or d-pad released.
- Textbox contents scrolls horizontally as cursor is moved.
- Added key repeat event handling to the entire system.
Download: Woopsi v0.44
Via [GBA Dev]