Woopsi: Difference between revisions

From GameBrew
(Created page with "{{Infobox homebrew | title = Woopsi | image = File:Woopsids.jpg | type = Operating systems | version = 1.3 | licence = Mixed | author = Ant...")
 
m (Text replacement - "Category:DS homebrew applications" to "")
 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Infobox homebrew
{{Infobox DS Homebrews
| title       = Woopsi
|title=Woopsi
| image       = [[File:Woopsids.jpg]]
|image=Woopsi.jpg
| type        = Operating systems
|description=Nintendo DS GUI library.
| version    = 1.3
|author=Ant 512 (Antony Dzeryn)
| licence    = Mixed
|lastupdated=2011/07/21
| author     = Ant 512 (Antony Dzeryn)
|type=Operating systems
| website    = http://woopsi.org/
|version=1.3
| download   = [http://gamebrew.org/wiki/File:Woopsidsdemo13.zip DS demo] [http://gamebrew.org/wiki/File:Woopsinds13.zip Woopsi]
|license=Mixed
| source     = https://bitbucket.org/ant512/woopsi
|download=https://dlhb.gamebrew.org/dshomebrew/woopsi.7z?k33p0fil35 1.3 & Demo
|website=http://woopsi.org
|source=https://bitbucket.org/ant512/woopsi
}}
}}
Woopsi is a Nintendo DS GUI library for rapidly creating user interfaces for homebrew software. Modelled after the AmigaOS windowing system.
Woopsi is a Nintendo DS GUI library for rapidly creating user interfaces for homebrew software. Modelled after the AmigaOS windowing system.


Line 16: Line 17:


==Features==
==Features==
*Support for multiple windows.
* Support for multiple windows.
*Full set of components of the user interface.
* Full set of components of the user interface.
*The elements (windows) can be dragged.
* The elements (windows) can be dragged.
*Windows without frames.
* Windows without frames.
*Debug mode.
* Debug mode.
*Optimized application to draw and erase.
* Optimized application to draw and erase.
*System events.
* System events.
*Automatic application to collect "garbage".
* Automatic application to collect garbage.
*Complete API to build new applications.
* Complete API to build new applications.
*Different types of fonts supported.
* Different types of fonts supported.
*Oriented design to easily adapt to other programs in C + +.
* Oriented design to easily adapt to other programs in C++.
*Simple API for rapid creation of a graphical user interface.
* Simple API for rapid creation of a graphical user interface.
*FIFO multitasking, each application runs at a time.
* FIFO multitasking, each application runs at a time.
*Unicode strings encoded with UTF-8.
* Unicode strings encoded with UTF-8.
*Support for Windows applications (font2font, bmp2font ...).
* Support for Windows applications (font2font, bmp2font, etc).


==Installation==
==Installation==
It requires the latest [[devkitPro|devkitPro]] and do one of the following things as operating system:
It requires the latest [[devkitPro|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.
* 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.


'''Linux:''' second option of Windows, copy the folder libwoopsi to C:\devkitPro.
==User guide==
'''To test the installation:'''


'''MacOSX:''' compile what in the folder Woopsi.
Open a command prompt and CD to the template folder (relative to the document) and type:


==User guide==
make
'''To test the installation:'''
#Open a command prompt and CD to the "template" folder
Open the /template/Release/template.nds ROM file in a DS emulator or copy it to your flash cart and load it up.
      (relative to this document).
#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==
==Media==
'''Woopsi demo v0.99.3''' ([https://www.youtube.com/watch?v=aOA650uKf8s Cid2Mizard]) <br>
<youtube>aOA650uKf8s</youtube>
<youtube>aOA650uKf8s</youtube>


Line 55: Line 57:


Fixes:
Fixes:
*Label and TextBox are more efficient when rendering text changes.
* Label and TextBox are more efficient when rendering text changes.
*Removed unused GLYPH_MAP_SIZE constant from fontbase.h.
* Removed unused GLYPH_MAP_SIZE constant from fontbase.h.
*Header file in template moved into include directory.
* Header file in template moved into include directory.
*Animation::play() stops if there are no frames to play.
* Animation::play() stops if there are no frames to play.
*Animation::getCurrentFrame() returns NULL if there are no frames.
* Animation::getCurrentFrame() returns NULL if there are no frames.
*Animation::getCurrentBitmap() returns NULL if there are no bitmaps.
* Animation::getCurrentBitmap() returns NULL if there are no bitmaps.
*Fixed memory leak when deleting SDL framebuffer.
* Fixed memory leak when deleting SDL framebuffer.
*Removed extraneous globals from woopsifuncs.cpp.
* Removed extraneous globals from woopsifuncs.cpp.
*WoopsiString::subString() passes the correct arguments to the WoopsiString constructor.
* WoopsiString::subString() passes the correct arguments to the WoopsiString constructor.
*StringIterator::moveTo() ignores attempts to move to negative indices.
* StringIterator::moveTo() ignores attempts to move to negative indices.
*Improved use of DMA hardware.
* Improved use of DMA hardware.
*Updated C# tools.
* Updated C# tools.
*Removed Visual Studio files.
* Removed Visual Studio files.
    
    
New Features:
New Features:
*Added WoopsiTimer::isRunning().
* Added WoopsiTimer::isRunning().
*Added SuperBitmap::setX().
* Added SuperBitmap::setX().
*Added SuperBitmap::setY().
* Added SuperBitmap::setY().
*Added SuperBitmap::getX().
* Added SuperBitmap::getX().
*Added SuperBitmap::getY().
* Added SuperBitmap::getY().
*Added FontConverter, a winforms UI for font2font.
* Added FontConverter, a winforms UI for font2font.


==Credits==
==Credits==
Coding and design - Antony Dzeryn
Coding and design - Antony Dzeryn.
 
Testing, technical advice, other contributions - Jeff Laing.


Testing, technical advice, other contributions - Jeff Laing
PALib independence - Steven Harrison.


PALib independence - Steven Harrison
Testing and suggestions - John Buxton, Chase, Leonelhs, Carpfish.


Testing and suggestions - John Buxton, Chase, Leonelhs, Carpfish
Unicode work and libfreetype integration  - Olivier Binda (Lakedaemon).


Unicode work and libfreetype integration  - Olivier Binda (Lakedaemon)
Testing and gadget contributions - Mark Adamson.


Testing and gadget contributions - Mark Adamson
Simian Zombie logo - John Clay.


Simian Zombie logo - John Clay
Thanks to - The devKitPro team.


Thanks to - The devKitPro team
==External links==
* Official website - http://woopsi.org
* Bitbucket - https://bitbucket.org/ant512/woopsi




[[Category:Homebrew applications]]
[[Category:Operating systems on DS]]

Latest revision as of 02:27, 3 May 2024

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: