Woopsi 0.30 Released

About time for a new release. First, a few changes since the last post:

  • Gadgets previously noted for needing resize() methods now have them;
  • There’s a new ScrollbarHorizontal class.

Now onto the new release:

Woopsi Sourceforge Page

Those of you keeping up with the SVN repository won’t find anything in version 0.30 that you haven’t seen before. For those of you who are following the release packages, the changes are summarised here:

  • Lots of bugfixes;
  • Scrollbars;
  • Scrolling panels;
  • Reduced memory footprint;
  • New STL-less container classes;
  • A makefile that will produce a Woopsi library file (.a);
  • Various other bits and bobs.

The full list of changes is in the changelog. There are two additions to the sourcecode archive that haven’t been in there before. First of all, Woopsi now has a folder of Doxygen-generated documentation. It’s not complete by any means, but it is definitely better than nothing.

Secondly, there’s a new “Upgrading” textfile. I strongly urge you to read this if you’re upgrading your Woopsi project from a previous version. It’s important. It’s so important, in fact, that I’ll re-iterate it here.

Woopsi is currently in a pre-alpha state. Its structure and API is subject to change. Until Woopsi is in at least beta, no effort is being made to ensure that backwards-compatibility is retained between versions. Similarly, no effort is being made to track which changes are likely to break current code. If you are upgrading your project from a previous version of Woopsi, please make a complete backup of your project first. That way, you will be able to revert back if you find that your code is completely broken by the upgrade. I don’t expect the upgrades to create major problems that can’t be resolved by some minor tinkering or refactoring. However, I am aware that several people are using Woopsi for projects that aren’t trivial in importance and that have non-negotiable deadlines. Please don’t let a GUI library be the undoing of your hard work.

This is, of course, aimed at everyone, and it’s sound advice. However, I’ll be honest - it’s mainly aimed at the university projects using Woopsi. If version 0.29 is working for you, and you haven’t got time to muck around with code you’ve already written to make it work with the new version, stick with what you’ve got. Don’t waste what little time you have. At least make sure you’ve got backups before you attempt to upgrade.


Cid2Mizard on 2008-03-26 at 20:59 said:

Where is the changelog ?

ant on 2008-03-26 at 22:24 said:

It’s in the source archive.

Jeff on 2008-03-27 at 08:12 said:

I have uploaded a newer version of makefile.lib


It contains a target that builds the Woopsi library, and installs it (with header files) into a $(DEVKITPRO)/libwoopsi/ directory structure similiar to that used by libnds, etc.

“make -f makefile.lib install” is the magic incantation.

I’m now at the point where I have a working copy of the woopsi trunk here, I type

$ cd /projects/Woopsi $ svn update $ make -f makefile.lib install

It builds the latest version and puts it into the right place so that all my other projects just work (because they have makefiles pointing to $(DEVKITPRO)/libwoopsi/

Its tempting to suggest that you should split the demo project away from the library so that the library makefile can be the default, rather than the exception.

Jeff on 2008-03-27 at 09:51 said:

Actually, ignore that previous link. Use this one instead.


That gives you ‘makefile.app’ as well which seperates the build of the demo application from the library. Its use should be pretty self-explanatory, take a look.

The use of $(DEVKITPRO)/libwoopsi/ is a step towards putting in the plumbing to support dswifi, etc. I expect to put an arm7 directory in there as well with source code that can be conditionally compiled based on what you specify in the main applications makefile.

Jeff on 2008-03-27 at 09:54 said:

Ah, crap. Wrong link - forgot that I renamed the .zip file before I uploaded.


Archive: makefile.zip Length Date Time Name

13218  03-27-08 20:49   makefile.app
 8931  03-27-08 19:06   makefile.lib

22149                   2 files

ant on 2008-03-27 at 10:07 said:

Great stuff, I’ll have a look at that later. The demo’s currently entwined with the main code simply because it’s easier for me. As soon as Woopsi’s in alpha (as soon as the feature list on SourceForge is empty) I’ll split it up.

Jeff on 2008-03-27 at 10:59 said:

One last go for tonight.


I have split the application rules into a seperate file (which should be put into $DEVKITPRO

It has a lot more comments, support for libefs and all the plumbing in place so that I can add wifi and a custom woopsi.arm7 - the makefile it contains is for the demo application.