Actions

Woopsi

From GameBrew - a wiki dedicated to Video Game Homebrew.

Woopsi
Woopsids.jpg
General
Author(s)Ant 512 (Antony Dzeryn)
TypeOperating systems
Version1.3
LicenceMixed
Links
[DS demo Woopsi Download]
Website
Source
Advertisements


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 ...).

Installation

It requires the latest devkitPro and do one of the following things as operating system:

Windows have two options: Use the Install.bat found in the folder or copy the folder Woopsi libwoopsi to C:\devkitPro.

Linux: second option of Windows, copy the folder libwoopsi to C:\devkitPro.

MacOSX: compile what in the folder Woopsi.

User guide

To test the installation:

  1. Open a command prompt and CD to the "template" folder
     (relative to this document).
  1. Type "make".
  2. Open the "template/Release/template.nds" ROM file in a DS emulator or copy it to your flash cart and load it up.

Media

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