Woopsi

From GameBrew
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Woopsi
Woopsi.jpg
General
AuthorAnt 512 (Antony Dzeryn)
TypeOperating systems
Version1.3
LicenseMixed
Last Updated2011/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).

Installation

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.

User guide

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

Advertising: