Yearly Update, Part I: ScummVM

Well, it’s been a year since you’ve last heard from me, so I thought an update on what I’ve been doing is in order.
As this will be a tad longer, I’ll do that in two parts: This here first post will cover ScummVM-related things, while the next post will talk about eos (which you might not have heard about yet).

Continue reading

More Beauties to Dither

This is just a quick follow-up to the dithering post.

Firstly: Yeah, it’s kinda late. Unfortunately, I have been busy with RL and didn’t have much time to work on Gob.

Secondly: Sorry Seldon, but I didn’t get much out of your posts. As far as I understood, it’ll only lead to a lookup that’s far too complex for my needs. The point is a bit moot now anyways, as you can see below. But thanks all the same! 🙂

The actual reason reason for this blog entry is that I did fiddle with the code a bit, though. In some spare minutes, I’ve asked my coworkers/bosses about my problem and they’ve suggested using a more crude approximation of the distance function, namely
ABS(x1 – x2) + ABS(y1 – y2) + ABS(z1 – z2)
This would remove the need for the costly multiplication. Whether it still looks good is a thing to try out. Which I did, and it does. Continue reading

Dithering Beauty

As a start, I’d like to talk a bit about dithering.
When I found out that Urban Runner’s VMD use the Indeo 3 codec for video frame data, I was a bit crushed: The resulting frames are in true color (in the YUV colorspace) and ScummVM doesn’t (yet?) support a true color mode for game graphics — only paletted 8-bit colors.

So at first, to test the Indeo 3 decoder (copied from the great FFmpeg project), I just wrote the frame to files. The results looked, after fiddling a bit, like that: Continue reading