Thursday 6 August 2009

Call for playtesters...

We need more people to play The 7th Guest! ScummVM is aiming for it's 1.0.0 release, so we need everyone to test all games, to check that no bugs have recently been added. In particular to this blog, we (well, ST) just fixed a big bug in the music (that was present in the Win95 beta player too, but not in the DOS exe), and no-one has played through the whole game since, to make sure it didn't break anything.
So if you have a bit of time, download a daily build of ScummVM, and play through the game, looking out for bugs. If you complete it, post a comment here saying which operating system you played it on and whether you found any bugs.

Tuesday 21 July 2009

The game just got longer

Just a quick note, as I'm at work. The 7th Guest just got much harder to complete in ScummVM:

http://scummvm.svn.sourceforge.net/viewvc/scummvm?view=rev&revision=42634

Please give it a test if you can and report back!

ION, I'm in the midst of a house move, so won't be doing anything ScummVM-related for some time.

Sunday 21 June 2009

I'm not saying Apple are evil, but...

I don't use the word "hate". It is too strong for most of my emotions. If I did, however, I would most likely be using it right about now, with regard to HFS.
When copying the files for the disc (with hfsutils, see previous post), there are several modes that can be used to copy the files: raw, binhex, macbinaryii, text. There is also an auto mode, which tries to make an intelligent guess as to which mode should be used. Unfortunately, it doesn't get it right for the T7G data files: it tries to copy them as text. They need to be copied with the raw mode, but the binary (which also, helpfully, contains another selection of required files) cannot be copied in raw mode. That can be copied with auto (which guesses correctly that it should be copied with the macbinaryii mode).
I think before I dig too deeply into support for the Mac version I'm going to have to learn a little more about how HFS works, and why this confusion arises. I remember a Mac-based friend trying to explain to me (about 15 years ago) all about resource forks, data forks, etc. I just sat there thinking "surely a file is a file? it start, has binary data in, then ends, and different files are interpreted in different ways". I wish I was still in contact with that friend so I could phone him and get him to repeat the conversation...

Edit: It seems I'm not alone in my view of HFS: http://www.engadget.com/2008/02/05/linus-torvalds-calls-apples-file-system-utter-crap/

Saturday 20 June 2009

HFS 2: The Revenge

When I originally got my copy of T7G for Mac, I diligently copied all the files off it (twice, in fact). However, I now need to do it again (for reasons that I won't go in to), but this time I have an ISO image file (I ripped it when I was faffing with the disc last time). I have since completely reinstalled my OS and I couldn't for the life of me remember how I did it the first time round.
The ScummVM HFS wiki page is rather Windows-centric, so I had to figure out (again) how to do it on Linux (specifically Kubuntu Jaunty). I was surprised at how easy it was, but as it might be useful for others (that might be willing to play test in future ;-), I figured I'd post it here.
Once I'd installed hfsutils (e.g. sudo aptitude install hfsutils), a simple call to "hmount hfsimage.iso" does a virtual mount of the image, so any future calls to the hfsutils commands (hls, hcd, hcopy) will be referring to that disc / image.
Now, which file was it that I wanted... I knew I should have written it down...

Tuesday 16 June 2009

Mac attack!

Well, free time has been sparse for all of us. My work has gotten much more hectic (partly thanks to a promotion a couple of months back, so I can't really complain), but I'm trying to make more time over the next few weeks for some ScummVMing. Though I will also be moving house, so we'll see how it goes.

Anyway, my plan is to get back into it by working on T7G Mac to begin with (sighs all round, I'm sure, but 11H will come at some stage no doubt). It's filled with little tricksy problems, not even including getting the files off the disc in the first place. In approximate order of difficulty:
  • Some files need to be renamed to work
  • Files are squashed into a single data archive (jvprat has written an extractor)
  • Fonts are not included, as in the DOS version: native Mac system fonts were used
  • Music was not MIDI, but Special Mac Fancy Format™
This last one is the real biggie, so don't expect lovely Mac music anytime soon. I'll probably have got distracted into 11H before I manage to get Mac music sorted.

PS Btw, if anyone wants to follow me on Twitter, you can find me here: http://www.twitter.com/hjsb. Though it's mostly just bitching about how the artists at work don't do what the pipeline guys tell them to.

Wednesday 11 March 2009

The future is bright

Well, for those that haven't read jvprat's comment on my previous note, the list of major problems looks a little different now:

  1. The engine is currently designed to play just one game - jvprat has committed changes that let us use two separate opcode lists. May need changes in future (apparently), but not holding us back anymore.
  2. 11H uses > 8 bit graphics (i.e. more than 256 colour images) - Well, technically this is still an issue, but we can view everything in greyscale / dithered for the time being
  3. 11H uses a completely different video format - Might need some changes later, but basically working
  4. The script opcodes have changed - The only one left, and Scott is having fun working on it. I only wish I had a bit of time to join in!

Monday 2 March 2009

Past, present and future

Well it finally happened. The new version of ScummVM contains the Groovie engine, capable of playing The 7th Guest. It's quite exciting really. But now I'm just thinking about where to go from here.
It's not like T7G is completely finished: see the ScummVM wiki for more info on known issues. But it's close enough for now: I'll come back and look into them at some point in the future, as for now I have bigger fish to fry.
I'm sure there are a lot of people out there who are thinking that adding support for The 11th Hour will be easy, as it uses the same engine. However, let me explain to you why that's not the case:

  1. The engine is currently designed to play just one game.
  2. 11H uses > 8 bit graphics (i.e. more than 256 colour images).
  3. 11H uses a completely different video format.
  4. The script opcodes have changed.
    Those are just the big things that are obvious from the outset: I'm sure there are other smaller things (have you noticed the animated cursors blend together?).

Number 1 will involve refactoring the entire engine: no real changes, but involves difficult design decisions.
Number 2 is the real biggie. It's going to involve even bigger design decisions that will affect the whole of ScummVM, not just the Groovie engine. If ScummVM is accepted into the 2009 summer of code, it's one of the possible tasks, so we're going to wait and see if it gets taken up before even thinking of undertaking it.
Number 3 isn't as big as you might think: jvprat has already implemented a basic player from format descriptions on tinternet.
Number 4 will involve lots of fun reversing. We know a bit better what we're looking for this time tho!

Lots to do then, and very little free time to do it in. But there's no hurry :-)