Thanks to FreeSCI, I'm regularly encountering new binary formats no man has ever encountered before (or something like that). My descriptive attempts for them have been pretty informal so far; but now I'm starting to wonder if there is a good formal machine and human readable description language for binary data (Yes, I know it's pretty late in the game, but there are still a few data formats used in later games we don't support, and lots of other formats that haven't been properly described yet). Of course, using a declarative attempt for binary languages has one disadvantage: While creating efficient reader programs from the declarations should be possible, creating writer programs may be either be NP-complete, result in programs that use NP-complete algorithms, or will require the language to be restricted beyond usability (compare this to the problem of creating "good" MPEG encoders).
Still, the ability to automatically generate reader programs from platform (meaning processor, OS, and programming language) agnostic description files (including automated checking) should easily make up for this...
So, has anybody heard of anything like this?
FreeSCI
Moving slowly... I've been re-working part of the widget
system from a flag-based to a function variable based
system. This is relatively straightforward work, but I don't
seem to be able to find the time to work on it very much
lately... Still, it's almost done now, so there's a real
chance the whole thing will be released to CVS in the next
10 days or so- this way I can finally focus on fixing bugs
once again (Woo-hoo... I guess..).
A new contributor popped up, and, with some minor
assistance, managed to describe an algorithm for the
deflate-based decompression algorithm required for later SCI
games.
With some luck, we may soon have implementations for all SCI
compression algorithms.
Exult
As a long-time Ultima fan, I took the recent alpha release
as an excuse to finally try Exult. It's based on SDL,
multithreading and C++, i.e. mostly stuff I'm not really
familiar with, so that's another good excuse to play with it
:-) Unfortunately, it turns out that it doesn't work on the
Alpha, so I'll have to whack it in the head a few times. Now
I'm finally experiencing the joys of debugging multithreaded
code...
However, DrCode appears to be very willing
to help me with the port, so I'm not quite left out in the
cold there.
(Yeah, I know, this is heresy, but don't worry, I'm not
abandoning FreeSCI quite yet ;-)
US elections
For those of you fearing that the rest of the world might be
making fun of the US because of this: Rest assured, we are.
EU council vs. patents
So they decided against patentability of software (with
Luxembourg, Switzerland, and Austria being the bad ones this
time). This is one of the rare moments where we have to be
grateful that the concept of deregulation (patenting
computer programs is explicitly disallowed) is something the
council has yet to grasp.