Quick update: Milestone hit

This afternoon I’ve hit a pretty important milestone on my project:

Milestone 1

(Editor’s notice: unfortunately, the image that was included here is lost and not available on archive.org)

Wait a second, didn’t I show a screenshot that looked just like that 2 weeks ago? Well, it turns out that in this case, the actual rendering is 100% defined from an external XML file.

So that’s basically what I wanted to show. The parser for theme looks is finished (and it’s able to do more powerful stuff than rounded squares, by the way), so the parser for theme layouts is coming up next.

Also, don’t watch The Ruins. It’s not scary but plain disgusting. And try not to live in Spain, either: It’s 4 in the morning and we are at 38 degrees Celsius. I obviously cannot sleep.

Here’s an update on my status: I’m free, again.

Good news everyone: I just wanted to let you know that I’m free again – free from my exams, that is. Actually, this post is just a replacement for my previous one; it turns out that the overall tone of my last post wasn’t really appropriate, something which I quite understand. Sometimes I tend to forget that this is a development blog and not my personal one and I go quite a bit off-topic. Also, while I’m at it, I’d like to apologize to the development team for “messing up” like that – specially to my mentor.

Anyways, I really don’t have anything else regarding progress to report, so I’ll just cut it here with the promise of a proper progress update tomorrow night, as soon as I get some more work done.

Tanoku, out.

This week we present: An homicidal rampage and some progress.

Welcome once more to my weekly progress update. You must be wondering what is it that afflicts me so much as to make me randomly murder people. It turns out that my roommates decided it would be awesome if we moved to another flat for the next year. And it turns out that they went straight ahead and looked for our new place without even asking me first. This would surely piss off the average man, but I myself hate switching places with such a deep passion that I’m starting to feel homicidal instincts towards my roommates or the humanity in general. So that’s basically it. If I trash my 24′ LCD or my computer rig while moving you’ll probably see me on the newspapers.

Let’s talk now about more interesting stuff: from the coding front I’ve got bad news and good news. The good news is that this week I’ve made massive progress. Actually, I wouldn’t call it massive, but I have finished several things which I expected to take much, much longer.

The overall integration of the new Graphical User Interface system in the current code base, for example, was one of my biggest concerns. Fortunately I did have many chances to spam my mentor with questions, and with a deeper understanding of ScummVM’s code comes a much more mature design for the new GUI, which can already be seen in my SVN branch and in my mind. Actually, I don’t think you could read my mind, but whatever.

My second concern was the parser: I was afraid that the format for Theme Description files was so complicated that I would be unable to parse it without an external parser generator, but I ended up making a good (I hope) design choice and changed theme descriptions to use a clean, XML-like syntax. It turned out to be a breeze to parse, and in fact theme description files are already being parsed in the SVN branch; this last week I implemented the parser for description files from scratch and so far it’s passing the few unit tests I have prepared.

…and this leads me to the next due point in this update and, oh dear, the bad news: What’s coming up next week? Basically, very little coding-wise. My realistic goal would be to finish the parser and write all the documentation on the new Theme Description file format together with a healthy suite of unit tests. That’s because the real life front, on the other hand, will be extremely busy. Next week I have the 2 most important exams of this semester -and by important I mean hard as fuck, so you unluckily you won’t see me much online.

Now the question is: how does this leave my schedule? Right, so you must be thinking “what schedule, you moron have no schedules”, which is not completely true. According to my mental schedule soon-to-be-written-in-paper, thanks to this last week of work I’m all good and on track for the first evaluation.

However, after this following (and last) week and a half of exams, I’ll obviously fall a tad behind. Fortunately, I’m 100% confident I’ll be able to catch up in less than 4 days after my exams are over -right in time for another weekly update. You still haven’t seen me coding seriously, when I don’t even bother on changing my underwear.

Yes, I know what you are thinking now. “What underwear?”

Week two, and I still haven’t died.

Excuse the one-day delay on my weekly update. I’ve got good news, though. I got beveled squares working, just like I promised last week.

I know what you are thinking. Only one week to implement the drawing of beveled squares? You must be like the fastest-est coder alive.

Right. Amazingly enough, I did even more than those squares. LordHoto suggested that drawing triangles would be a nice -and obvious- addition to the vector renderer.

I had to agree, so now the Vector Renderer has optimized algorithms for drawing triangles. I bet that will come in handy for scrollbars and dropdown menus.

Next thing, the InterfaceManager class. I expanded it quite a bit, and after some design considerations, it turns out that the class replicates a lot of the functionality of the Theme class. This last class, however, will be scrapped on the final GUI, which leads me to a small design problem that will hopefully be solved soon.

Talking about soon; let’s sum up what’s coming next week. To start off, exams. Yes, exams are still coming and there are two more weeks until this burden is over. That was a dramatization, by the way. It’s not that bad.

Also, the usual routine of answering death threats from my numerous enemies and overall staying alive. This always keeps me busy.

And lastly, but not leastly (look, I made up a word), more code. The code week will start off with a development meeting with my mentor this afternoon, where hopefully we’ll point down the design of the Interface Manager so I can keep hacking on it. In case you are wondering, the parser is delayed until the IM class is finished.

Oh, and it’s raining over here. It’s raining a lot. And that’s not the usual thing in summer. I’m running out of clean clothes.