New project – Smart Fpg Editor

January 3, 2009

Hi all, long time without a post, but I’m trying to make this work again…

Here there are some news. This was posted in the bennu forum (I just copied-pasted):

For some time I’ve being working (underground) in a project that now has grown enough so as I can present it. Its name is Smart Fpg Editor and, as the name suggest it’s an FPG editor, for windows.

The overall goal of the project is to develop an FPG editor as user-friendly as possible, what I call “Painless FPG Editing”.

Project page is available at:

And here there are some screenshots:
screen shot 1
screen shot 2

As for the features of the program, they are listed below:

Current features:

  • Fully in English
  • Load FPGs of 8, 16 and 32 bits
  • Create new FPGs of 16 and 32 bits
  • Save any of the created or loaded FPGs
  • Clean and simple user interface.
  • Create instant copies of your FPG in new windows
  • Add MAP and PNG graphics
  • When adding PNG graphics:
    • Authomatic depth conversion (81632)
    • Color quantization to the FPG palette when working with 8bpp FPGs (i.e. when you try to add a graphic of more than 8bpp to a 8bpp-fpg, the program calculates graphic colors so as the resulting graphic fits as well as possible the palette of the FPG).
  • Adding multiple files at the same time

Next-releases features:

  • Create new 8bpp FPGs
  • Control point editing
  • View graphics of the FPG
  • Export to PNG and MAP (extraction)
  • Drag&Drop support from other Smart Fpg Editor windows
  • Drag&Drop support from windows explorer
  • Support clipboard (within the program as well as windows clipboard)
  • Editing of the graphics contained in the FPG
  • Depth conversion when adding MAP files
  • Configure the editor (p.g. the grid)
  • Associate known file extensions
  • Improve usability
  • Improve interface

An installer version is available and also the souce code. There is also an explanation of how to compile the sources.

Keep in mind that to install the program you must have admin permissions.

Available version is labeled as Unstable. This does not mean that the program is going to crash all the time, it just points out the fact that it is a non-bug-free version and you should keep that in mind if you want to work with it.

In particular, limitations (situations which could cause the program to crash) of the current version are:

  • When loading FPGs, do not try to load non-valid FPG files (i.e., do not try to load a PDF as an FPG or things like this…)
  • When adding PNGs, do not load non-valid PNG files
  • When adding MAPs, do not load non-valid MAP files
  • IMPORTANT: When adding MAPs, depth of the MAP being added and depth of the FPG must match. Otherwise an error will occurr. This does not happen with PNGs because depth conversion is authomatically performed.

I know some people does not particulary like to use installers, however, since the program has been developed in VB6 and depends on several additional components it is much easier for the end-user to have an installer.

For those who are worried about what the installer does, it just copies all the required files to the installation folder and registers the required activeX components on which the program depends. Non of the files is copied to system folder o other locations (with the exception of the shortcuts such as that in the desktop, of course). The uninstaller, when executed, will unregister properly the dlls before deleting all the files. If anyone wish to have more information on this, I won’t mind to upload the installation script so as you can see what it exactly does.

Since I don’t have any operative system rather than Windows XP, I haven’t being able to test the program in other OS. However, I would expect it to work in Windows Vista. If anyone is interested in making it work in older OS, I can prepare a list of the requirements.

Hope you like it,



Flamebird. Rising from ashes (again)

May 2, 2007

Flamebird is one of the longer programming projects in which I’ve taken part. It is a powerfull integrated development environment for the Fenix language. It’s open source and it’s developed in the ~#@@#| (but “easy”) Visual Basic.

The history of Flamebird starts between year 2003 and 2004. JaViS, a well-known member of the Fenix Spanish comunity started a project called “Firebird 2” encouraged by the popularity of its previous IDE and the willing of making a more stable IDE (Firebird 1 had some bugs which made it quite unstable). One day, JaViS offered me the possibility to cooperate in its development and I accepted with pleasure :). The project moved it’s name to Flamebird due to some name conflict with another opensource project.

The first official release of Flamebird was made public in December of 2004. The Flamebird 0.11 beta (sometimes known as Flamebird 2.11 beta, but since there is no Flamebird 1, this makes no sense) came up with powerfull editing tools and, from my pont of view, more intuitive and modern interface that other Fenix IDEs. However, it had some bugs, things to pulish up and also some lacks, which made Flamebird an IDE on the good path but not still good enough.

After the first release, development was soon freezed. As usual, lack of time was the main reason. Although there were four the members of the “Flamebird Team” at that moment, actually JaViS and I carried the most important part, and we found impossible to continue developing Flamebird for a long time.

During that period, we decided to abandon the project, but this wasn’t officially anounced ever cause I wanted to prepare Flamebird for a final release. But I actually didn’t do it, so time gone by.

One day (May 2006), reading the Spanish Fenix forum I found this post with news from JaViS: he was making some changes to the IDE. I couldn’t resist the temptation and I decided to retake the project again. So development continued for about two months, but after that, the project was again freezed.

However, this time I had no plans to abandon the project. After my period of exams, I re-retake the project and continue adding features and fixing some bugs, this time on my own. I had to restructure a big part of the code so as it wasn’t so difficult to add new features. Since that, development has continued, quite slowly, but continued anyway. At the begining of this year, some people offered its help: Imanol (Eledthamion) joined the project and he has already contributed by adding some interesting features, others (Quiest and Coptroner) are contributing by betatesting FB (this is indeed for me a great help) and some others (GINO) contributed by handing some code on to us.

So, what is the current state? Lot of work has been done. New features have been and are being added: an fpg editor, and improved palette editor, code autoindentation, possibility to configure editor, a full screen mode or a song module player, to mention some. Nevertheless, as I see it, most important changes are those related to interface improvements. Now you will not get stuck with the environment: behaviour is just the expected behaviour. This is for me a very difficult-to-explain idea, but you’ll notice when using it. New versions will be called Flamebird MX.

For the moment there is not a release date, cause I’m working on FB from time to time and there are some things that need to be finished:

  • Some things related to the MAP and FPG editor
  • The control point editor
  • The Program Inspector is being rewritten, and this is going to take some time
  • Incorporate new Fenix sintax

I promise to post some screenshots. I had some prepared but they have become outdated. This is a good thing though :).

And for the future of FBMX, as the current project lead, I only plan two more releases. The first one containing all the already described features and the last one (final release) with bug fixes, a better integrated help system, and some secondary features.

I do not plan to add support for FGC, FBM, FPL or FNT files in Flamebird. This would require too many time and I have actually other projects which will cover this. The reason is that I’m actually a bit tired, not enough to abandon the project, but enough to have defined the goals of Flamebird MX to a reasonable reacheable ones. Anyway, I’m pretty sure that the new version, when it comes up, will satisfy a wide public of Fenix developers :).

Full support for FBM files in fenixlib

April 11, 2007

These days I’ve been working hard to give support for all kind of FBM files, which means that the library is able to load and save fbm -animated or not- files.
I had some problems when testing the fbm generated because Fenix didn’t load them correctly but I reported the problem to Juan (the unique current developer of Fenix) and he fixed it.
I also add support for 1bpp files but this files do not worky properly in Fenix so I disabled it.

On the other hand, the project was finally accepted in BerliOS and now the project page is available. There aren’t many things yet but I’ve set up an SVN repository so you can now download fenixlib more recent sources.

Finally, thanks to my brother now I have a logo for the project


I really like it ^.^. You can also see his other desings in his personal page.

More on fenixlib

April 4, 2007

Today I’ve been working a little more on the fenixlib library. I finished some design aspects related to animated graphics and worked in a test program to see if everything went well:

fenixlib test program

Nothing special on this picture… well, that’s not true. In fact, the screenshot reveals that fenixlib succeded in reading FBM file format, generated from a simple fenix program. MAP reading was succesful aswell :).

The next step is to make FBM writing available, which has been completed for about a 90 % an tomorrow I expect to finish. I’m eager to see the results when writing more than one frame: it will be my first oportunity to see how animated FBMs work in Fenix :D.

I think usage of fenixlib is looking nice. Here is an example of code needed to open an FBM:

FbmReader fr = new FbmReader( new File("./myfile.fbm"));
AnimatedGraphic ag =;
BufferedImage bi = ag.getFrame(0);
/* Now you can use the buffered image for painting in a Graphic object or wherever you want. */

Easy, ¿isn’t it?

GalaxyGen – Simple Open GL application

April 1, 2007

Last friday I had to make a simple free animation using OpenGL and C++ and I chase to make a kind of Solar System with basic glut primitives. I’ve uploaded the code (sorry, this time comments and source code are in Spanish) cause it’s very simple and understandable and could be useful for people learning Open GL.

Here is it an screenshot:

Galaxy Gen

Note: in the capture the planets seem to collide but they do not in fact.

fenixlib and the Ring IDE project

April 1, 2007

Some months ago I developed a Java program to manipulate Fenix Map, Pal and Fpl files. It allowed to edit, load and save pal and fpl files aswell as loading Map files and editing its properties and ControlPoints. The program was indeed a project for one subject in the university, so I decided no to continue its development.
But the idea of creating a multiplaform IDE in Java for Fenix is something I had on my mind since I first met Java so I’ve decided to retake the project (well, not the project but the idea) and that is how the Ring IDE borned.

Ring IDE, described as an Open Source pluggable, multiplatform and stable integrated development environment has the main goal of integrating a set of tools to make easier developing games in Fenix.
One of the main goals that distingish this from other IDEs is that Ring IDE will focus mainly in supporting as many fenix file formats as possible, delegating to a second place the code editor. The reason for that is that one can write code more or less confortable in any code editor but there are no similar tools for Fenix file formats. Ring Ide is built under the phylosophy of “One IDE to rule them all”, an idea partially taken from the project Flamebird (another Open Source project for creating a Fenix IDE in which I participated)

And what about fenixlib? fenixlib is a class library (writen in Java) whose aim is to support Fenix File formats in java in an easy way. With these library, any Java programmer can manipulate easily Map, Fbm, Fpl, etc. files. The purpose is to encourage Fenix users with Java knoweldedges to write its own GUI tools as well as providing a separated library to be used in Ring IDE.

Currently the project is in an alpha state: fenixlib is completed for about a 35% (Map, Fpl, Pal, and Fbm support is included) and the Ring IDE is still in an envision phase. Ring IDE development will not start until fenixlib is in a mature state – say 70% – however, simple (but helpful) tools are being developed at the same time as the fenixlib.

I’ve just asked BerliOS to give host for my project so let’s hope this project arrives far: Long life the Ring!

Change in the direction of SII

April 1, 2007

For more than one month this site have remained without changes so It’s clear to me that there is something wrong with the initial approach of the weblog. That’s the reason I’ve decided to change to SII purpose to convert it into a place where I can inform people about my projects and other stuff that interest to me. You might be wondering if that was not the initial idea – well, more or less. SII pretended to be a place for me to write entire articles about programming, engineering, etc. but this purpose failed when I found I didn’t have enough time to do so.

So two main changes have taken place:

  • The blog has become -mainly- a kind of worklog or personal developer blog.
  • As I use English as the language for my projects, it makes sense to use the same language here (of course I’m limited for my English knowledges

I hope this way I can mantain a more updated blog.