DS homebrew – Woopsi v0.40

DS - Image 1A 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.

woopsi - Image 1 woopsi - Image 2 woopsi - Image 3 

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

Add a Comment

Your email address will not be published. Required fields are marked *