Preparing for yet another year

It’s almost over. Time flies even faster as we get closer to the end of 2010, and apparently there’s a lot to summarize despite we’re not in the finish line yet!

This has been a particularly difficult year for me in a more personal sense, and I’ve faced some trials I won’t speak about and then some, but I’ve also learned new things in the road — things that may be of greater use to me in the future. There’s really a lot that could be said about this year but I’ll restrict it to computer stuff to avoid boring the audience too much bore the audience as much as possible.

Continue reading

Coming soon in Wesnoth RCX 0.2

Long ago, Jetrel from the Battle for Wesnoth Project contacted me regarding possible extensions to the image path functors module of the game engine.

One of those extensions, which I implemented just in time for Wesnoth 1.6, and later gave it a separate syntax of its own was palette-switching using the same secondary algorithm used by the game’s color range-based team-coloring code. The ~PAL() functor, originally implemented as an extension to ~RC(), was thus born.

Wesnoth RCX 0.2 is not out yet due to some heavy refactoring that’s in progress, but a major feature that it’s going to sport in this opportunity is the ability to define custom color ranges and palettes.

The aforementioned extension to the game engine, which I shortly merged into the command-line based Wesnoth-TC tool, was originated by a possibility Jetrel discussed with me on IRC, namely randomizing individual units’ hair colors (and other compatible traits) on recruit. This sure doesn’t sound like a major task from the C++ side, and in fact the only thing missing right now is a transparent mechanism for defining these variations in [unit_type] nodes. However, it involves heavy revisions in the art department, to clear any traces of paintbrush strokes and sprites using excessive shades of a single color.

WIP elves

The goal: defining strict palette sets for recoloring. Above: Jetrel’s WIP revised baseframes for some of the elves.

Since trying artwork transforms like this in the game can easily become a tedious task (and not just because of the WML coding), Wesnoth RCX is soon going to step forward and provide artists with the ability to try out their own color ranges and palette sets and tweak them as required until achieving the wanted result. I hope that Wesnoth RCX will not just become the artists’ favorite tool, but more like an essential item for the mainline art development workflow.

Another couple of features are also going to feature in 0.2: zooming (suggested by artisticdude in the forums), and compete drag-n-drop support, so users can drag the transformed image into their favorite image editing application for further tinkering. I’m sure Mac users will especially like this new addition. 😉

Wesnoth RCX 0.1.3

Release early, release often, they say.

The source code, and a brand-new Windows binary for a new bugfix release of Wesnoth RCX are now available!

  • Source code: wesnoth-rcx-0.1.3.tar.gz (Gzip tarball, 64 KiB)
    SHA1 checksum: 8da029389cda28adde02d51d054be7c1108a20d2
  • Windows package: wesnoth-rcx-0.1.3-win32.zip (Zip archive, 5.2 MiB)
    SHA1 checksum: bb35cf5c11daaa9de16d67f512ca7bdd6292a0c5
  • Mac OS X binary: morningstar.app.zip (Bundle, 12.7 MiB)
    SHA1 checksum: 66f9f0b4fdf447564a9fb3f73898ba8479402694
    This binary is kindly provided by Alarantalara from the forums.

The only important change in this version fixes a bug in 0.1.2 and earlier causing job output to be created out of sequence — file #1 and #2 would be red TC, #3 blue, #4 green, and so on.

As my Twitter followers can tell, I downloaded and installed the Qt4 SDK for Windows and successfully compiled and ran Wesnoth RCX on a virtual machine with Windows XP SP3. Some additional DLLs are included in the package, so it’s necessary to run the included morningstar.exe from the original folder after extraction. I don’t think I’ll bother with an installer this soon, since this is after all a work-in-progress and I can’t concentrate on programming and packaging at the same time.<

I do hope however that the existence of a Windows (2000/XP and later) version of RCX will help spread the word and attract more testers and artists to it. 😉

As with the last time, the instructions for building the source are in the included INSTALL file in the distribution archive. This file is not present in the Win32 distribution for obvious reasons.

Don’t hesitate to comment on RCX’s development, usability, bugs, or suggest new features! The only way things can get fixed or improved is that you make sure I am aware of what needs to be changed. If you think you can help with something else, please tell me!

UPDATE (2010-10-27): added direct link for the Mac OS X bundle download provided by Alarantalara.

UPDATE (2010-12-06): migrated files to SourceForge.net

Wesnoth RCX (codename “Morning Star”) 0.1.2

The source code for a new revision release of Wesnoth RCX is now available.

  • Version 0.1.2 (Gzip tarball, 60 KiB)
    SHA1 checksum: 060e45725711a4f4dca284af1ceec2a144042fe4

The main changes in this version include adding support for dropping files into the application’s window or shortcut, and allowing to open more compatible file formats: Windows Bitmap (BMP), and depending on Qt4’s configuration, Photoshop PSD and GIMP XCF — note that output is still solely in the PNG format for simplicity and it’ll remain so.

I sort of promised support for dragging images from RCX, but that won’t be possible yet because it’s not as trivial as drop support and I’m too lazy at the moment. I also made a few minor revisions in the UI, but you probably don’t care about that or any of this until I can offer Windows and Mac OS X binaries — unfortunately, we’re not quite there yet because I need your help for that. It’s not magic. I can’t make it work without an adequate development environment for each platform and, as you should know at this point, I don’t own any Mac machines.

The instructions for using the source code don’t follow this time. I know what you think 🥱 , so it’s up to you to read the included INSTALL file in the distribution archive.

Don’t hesitate to comment on RCX’s development, usability, bugs, or suggest new features! The only way things can get fixed or improved is that you make sure I am aware of what needs to be changed. If you think you can help with something else, please tell me!

UPDATE (2010-12-06): migrated files to SourceForge.net

Wesnoth RCX Drag-n-Drop support

Screenshot

Now working on drag-and-drop support for Wesnoth RCX. Dropping image files and actual image data already works with some simple and quickly crafted code thanks to Qt4’s power and simplicity. The next logical step is enabling RCX to drag the original and generated image data to other applications.

After that, RCX 0.1.2!

Wesnoth RCX (codename “Morning Star”) 0.1.1

A new revision of codename “Morning Star” is available, this time with a preliminary production name — meet Wesnoth RCX 0.1.1.

  • Version 0.1.1 (Gzip tarball, 32 KiB)
    SHA1 checksum: bdb9c31e6e43ca1bf985e1e4d390d96dbab19e1a
Wesnoth RCX screenshot

The main changes in this version include fixing the glitches with dragging the selection in the color ranges list view, making the window resizable again (this time the contents adjust to its size), and a few minor revisions here and there.

Since I’ve got no packagers to help at the moment, the only way to install for now is from source. Since I’ve been working only with Qt Creator so far, there’s no specific build recipe other than the project file (morningstar.pro), which you are expected to use to generate a Makefile using QMake.

To do this, just make sure you have Qt4’s development files and QMake installed (package qt4-qmake on Debian and Ubuntu), and type the command as follows:

$ qmake morningstar.pro

Note: If you have Qt3’s version of QMake installed, you may have to explicitly use qmake-qt4 instead to avoid confusing the generator and messing up the sources.

Once QMake generates the Makefile, just issue make and wait for compilation to finish. The binary morningstar will appear in the source dir, and you can now run it from there — no installation is required.

There’s also a Git repository hosted at Gitorious.org, from which you can download the latest source code, follow the history, and switch releases according to tags.

  • Morningstar in Wesnoth-TC
  • Git clone (git):
    git clone git://gitorious.org/wesnoth-tc/morningstar.git
  • Git clone (HTTP):
    git clone http://git.gitorious.org/wesnoth-tc/morningstar.git

Don’t hesitate to comment on RCX’s development, usability, bugs, or suggest new features! The only way things can get fixed or improved is that you make sure I am aware of what needs to be changed. If you think you can help with something else, please tell me!

UPDATE (2010-12-06): migrated files to SourceForge.net

Codename Morning Star 0.1.0 released!

UPDATE: the bugs in 0.1.0 were so annoying I uploaded a fixed version 0.1.0.1 shortly afterwards. Enjoy!

At last, the first working version of codename “Morning Star” is available — this is the new Qt4 GUI for team-colorization and palette switching for Wesnoth sprites.

After a day or so of working on it, distributed amongst 4 days, version 0.1.0 is now ready for downloading from this very site for testing purposes, although it should be usable for production from now on as well. Just don’t blame me if it eats your precious input.

  • Version 0.1.0.1 (Gzip tarball, 24 KiB)
    SHA1 checksum: 132d326d265b61ae7441a599f7dc10537c13bc8e

In all seriousness though, I want this application to become usable by the general audience after reaching version 1.0. Artists are naturally the intended target audience, although users who just want to recolor Wesnoth sprites to use as their forum avatar may also find a use in this tool. 😉 However, to achieve this, I need your feedback. Please try Morning Star out, report bugs, suggest features (within the scope of the project’s goal), and if you think you can help with anything else, tell me!

Don’t forget that Morning Star is also in need of a definitive name!

Since I’ve got no packagers to help at the moment, the only way to install for now is from source. Since I’ve been working only with Qt Creator so far, there’s no specific build recipe other than the project file (morningstar.pro), which you are expected to use to generate a Makefile using QMake.

To do this, just make sure you have Qt4’s development files and QMake installed (package qt4-qmake on Debian and Ubuntu), and type the command as follows:

$ qmake morningstar.pro

Note: If you have Qt3’s version of QMake installed, you may have to explicitly use qmake-qt4 instead to avoid confusing the generator and messing up the sources.

Once QMake generates the Makefile, just issue make and wait for compilation to finish. The binary morningstar will appear in the source dir, and you can now run it from there — no installation is required.

There’s also a Git repository hosted at Gitorious.org, from which you can download the latest source code, follow the history, and switch releases according to tags.

  • Morningstar in Wesnoth-TC
  • Git clone (git):
    git clone git://gitorious.org/wesnoth-tc/morningstar.git
  • Git clone (HTTP):
    git clone http://git.gitorious.org/wesnoth-tc/morningstar.git

*Note: most of these issues have been fixed in version 0.1.0.1, uploaded around an hour after 0.1.0 for your convenience.

  • Closing the Open dialog without selecting anything once an image is already loaded produces a bogus error message.
  • The Open dialog doesn’t track the last visited directory path as it should, so it’ll always revert to the My Pictures location.
  • Dragging the selection in the color ranges listbox doesn’t update the preview as it should.
  • Image previews are not centered, and are not scrollable either.
  • The main window may be resized but the contents won’t adapt to the new size.

UPDATE (2010-12-06): migrated files to SourceForge.net

Morning Star can recolor now!

After a burst of inspiration, I managed to finish implementing Morning Star’s most basic functionality: recoloring images!

Screenshot

Thanks to Qt4’s awesome high-level interface to images (using QImage objects), the recoloring logic turned out to be much shorter and easier to understand than Wesnoth-TC’s, which had to deal with libpng and all the storage format details with PNG files. Instead, Morning Star just needs to care about reading, comparing and writing 32-bit ARGB values.

The interface design is pretty much set in stone now for version 1.0, but there’s still a lot of functionality missing. Nonetheless, this is starting to look good and I should have a working version for releasing to the public very soon. Hopefully this time artists will like this tool.

Morning Star

Thanks to the power of Qt4, my long-delayed sister project to Wesnoth-TC, codenamed “Morning Star”, is finally commencing to materialize.

Morning Star screenshot

While I’m progressing slowly on this as always, partly due to my parallel work on Rei 2 IRC bot, this project is very likely to get completed soon thanks to Qt Creator, an awesome IDE designed for the development of Qt4-based software applications — with a familiar feel akin to Microsoft Visual Studio, which was incidentally involved in my early learning process with C#.

Morning Star is not a front-end to Wesnoth-TC as I initially planned. Instead, it is a whole new application built upon the same logic which will be oriented to the general audience so that artists can take advantage of its preview features, and even export recolored images, all without the need to use a command prompt, which is the main limitation of Wesnoth-TC right now. 😉

I have not decided upon a name for Morning Star, so if anyone can propose an adequate formal name for this project, I’d appreciate suggestions.