News
Woopsi v0.99.5 (Beta) (NDS misc)

Woopsi is a Nintendo DS GUI library for rapidly creating user interfaces for homebrew software. Modelled after the AmigaOS windowing system.

Release notes:

Woopsi 0.99.5 is now out. It is available from the Woopsi website:

http://woopsi.org

The big change this time around is the rendering system. Instead of each gadget needing to redraw itself when its appearance changes, gadgets now push their damaged rectangles to a queue that is redrawn every VBL.

In short – redrawing the screen is faster and the code is simpler.

The FreeType library and associated classes are no longer being distributed as part of Woopsi. Instead, Lakedaemon has put together a distribution of Woopsi that includes ported libraries and extra classes. These provide Woopsi with a wealth of extra functionality. His distribution can be found here:

http://bitbucket.org/Lakedaemon/ndstoolkit/overview

On top of the FreeType library, Woopsi font classes and an “XmlBox” gadget, it includes DS ports of:

– libjpeg
– libmxml
– libpng
– libsqlite3
– libz

The full changelog is below.

Fixes:
– Removed freetype classes, library and example (Lakedaemon’s distro will provide this functionality).
– Examples build script uses for loop instead of explicitly named folders.
– Gadget::checkCollision(Gadget) works correctly.
– Tests build script uses for loop instead of explicitly named folders.
– Fixed memory leaks in Text::getLineTrimmedLength().
– Rewrote RectCache::splitRectangles() for speed and clarity.
– Increased delays for SDL double click and key repeat times.
– Fixed memory leak in demo.
– Fixed memory leak in PackedFontBase::getStringWidth().
– Fixed memory leak in MultiLineTextBox::moveCursorToPosition().
– ScrollingPanel::scroll() redraws correctly on top screen.
– Renamed Text class to Document.
– Document class contains a WoopsiString instead of inheriting from it.
– Removed DimmedScreen class (not compatible with new rendering system).
– Removed erased flag from Gadget.
– Removed Gadget::erase().
– Removed Gadget::eraseGadget().
– Removed Gadget::redraw().
– Removed Gadget::redrawDirty().
– Removed Gadget::drawChildren().
– Removed Gadget::redrawDirtyChildren().
– ListData destructor does not fire list changed events.
– Removed AmigaWindow::redrawBorder().
– Removed Woopsi::eraseRect().
– Gadget::getChild() no longer returns a const gadget.
– Removed visibleRegionCacheInvalid flag from gadget.
– Removed Gadget::enableDrawing().
– Removed Gadget::disableDrawing().
– Removed drawingEnabled flag from Gadget.
– Gadget::remove() and removeChild() will trigger a redraw of the gadget’s visible regions (ie. erase it) automatically.
– Pong uses a SuperBitmap as its display.
– WoopsiArray doubles in size each time it needs to grow instead of increasing by 100.
– ScrollingPanel::scroll() uses the new rendering system.
– Fixed FileRequester border.
– FileListBox re-raises ListBox value changed events.
– ListBox no longer raises events when deselecting options when double-clicked (correctly raised when selecting the correct option).
– Fixed horizontal position of text in left-aligned text box.
– ScrollingTextBox scrolls line-by-line when scrollbar is dragged instead of smooth-scrolling (easier to read).
– Added virtual destructor to ListBoxBase.
– Moved border size defines from window.h to amigawindow.h and made them consts.
– Changed DYNAMIC_ARRAY_SIZE define in woopsiarray.h to a const.
– Changed GLYPH_MAP_SIZE define in fontbase.h to a const.
– Changed defines in glyphs.h to consts.
– Moved SCREEN_WIDTH and SCREEN_HEIGHT defines into sdl/nds.h.
– Changed defines in defines.h to consts.
– Woopsi::handleKey() expects an s32 instead of a u32 as the heldTime argument.
– PadHeldTime struct stores values as s32 instead of u32.
– Gadget::getCloseType() is const.
– ScrollingTextBox and ScrollingListBox scrollbars move in steps instead of smoothly as their lists are scrolled.
– Rewritten slider logic again.
– ScrollingListBox scrollbar updates correctly as list changes or gadget is resized.
– ScrollingTextBox scrollbar updates correctly if gadget is resized.

New Features:
– Added makefile for demo – can now be built from command line.
– Added Rect::splitIntersection().
– Gadget rendering re-written to use damaged rects.
– Added equality and inequality operator overloads to Rect class.
– WoopsiArray accepts an initial reserved size parameter in its constructor.
– FileRequester includes filename textbox.
– Added FileRequester::getTextBoxFileName().
– Added Range class.

http://forum.gbadev.org/viewtopic.php?t=14332&start=90

By with 0 comments
DiiLC v1.2.1 (Wii Application misc)

DiiLC is a simple application to download and insert the DLC (downloadable content) or HDLC (hacked downloadable content) into Animal Crossing City Folk savegame file (use Waninkoko’s savegame extractor for extracting savegame file). This application searches the DLC and HDLC files from the distributing servers. It could download and insert four DLCs (for US, EU, JP, and KR regions) and one HDLC that are available at the time when the application is running.

Changes:

Fix a bug for non built-in item trigger
Allow non-Nintendo sender name in DLC letter

http://wiibrew.org/wiki/DiiLC

By with 0 comments
Crimson Fields v0.5.3 Pandora v0.2.1 (Pandora Game Port)

Crimson Fields is a turn-based tactical war game. It can be played against a human opponent in hot-seat mode, passing the Pandora.

http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,29,203

By with 0 comments
GemRB v0.6.1 (Pandora misc Port)

This Game Engine is a port of the original Infinity Engine (the one of Baldur’s Gate, Icewind Dale, Planescape: Torment, etc…) to Linux/Unix, Mac OS X and Windows with some enhancements.

http://dl.openhandhelds.org/cgi-bin/pandora.cgi?0,0,0,0,5,204

By with 0 comments
BattleJewels v1.05 (Beta) (Caanoo Game)

BattleJewels is a Puzzle-Action-RPG. Plays like popular jewel games, but is played head to head against a never-ending sequence of enemies. Experience points are gained towards levelling up, and gear may be purchased, and skills and spells may be learned.

Thanks to http://lostsite.altervista.org/wiz/?p=2220 for the news.

http://www.gp32x.com/board/index.php?/topic/56555-battlejewels-105-for-caanoo

By with 0 comments
Caanoo Firmware Full Flash v1.0.1 (Caanoo OS)

This is the full version of Caanoo’s 1.0.1 firmware.

To flash it, follow these instructions:
1. Extract and copy files to root folder of your SD
2. Insert SD and turn on your Caanoo with pressing R button
3. You can release R button after upgrade screeen appeared
4. Upgrade will take about 15 minutes

Be sure to use a full battery!

http://dl.openhandhelds.org/cgi-bin/caanoo.cgi?0,0,0,0,42,507

By with 0 comments
OhBoy v1.0.0 (GBC emu for Caanoo)

Here is a quick port of UBYTE’s Gameboy / Gameboy Color emulator for the Caanoo. Extract the OhBoy folder and .ini file to the “game” directory on your SD.

http://dl.openhandhelds.org/cgi-bin/caanoo.cgi?0,0,0,0,71,505

By with 0 comments
Brainstorm Annual 2010 (NDS Musicdisk)

bpoint ported their original PC-based musicdisk “Brainstorm Annual 2010” to the NDS. The musicdisk features 26 songs in a mixture of streaming (.ogg) and various module (.mod/.xm) formats, with nifty visualizers running at a full 60fps. Sound quality is extremely good when using headphones or earphones (the internal speakers are OK, but not great).

Discussion: http://forum.gbadev.org/viewtopic.php?t=17382

http://pouet.net/prod.php?which=54489

By with 0 comments
MasterSO v1.0 (NDS Application)

MasterSO is a English/Spanish language shell application for Nintendo DS.

Thanks to http://www.nintendomax.com/viewtopic.php?t=12412&f=19 for the news.

http://nds.scenebeta.com/noticia/masterso

By with 0 comments
Carnet D Adresse v0.3 (NDS Lua Application)

“Carnet d’adresse v0.3” keeps track of your contacts and is an application completly in French language.

Thanks to http://www.nintendomax.com/viewtopic.php?t=12429&f=19 for the news.

http://microlua.xooit.fr/t656-Application-bureautique-Carnet-d-adresse.htm

By with 0 comments