Delayed spiders…

Well, it took longer than I’d have thought (I don’t have as much time to dedicate to this project as Scott does, ok?), but I finally got the spider door puzzle working. Turns out that the engine uses two surfaces, a foreground and a background, and the front one is partially transparent. Here’s me thinking i wouldn’t have to worry about sprites and the like. Still, done now. Probably not the most efficient way, but hey it works. Cake next? Nah, telescope I think 🙂

Uncle Henry

Well, jvprat found an auction of what is probably* the last groovie game: Uncle Henry’s Playhouse. Astonishingly, the person selling had three shrinkwrapped copies (and it doesn’t look like Butterfly-ware, before anyone asks!). I had looked everywhere for this, so I was willing to pay the (quite high, but not FM-Towns high) price. There’s still one copy left, if anyone wants it:
http://cgi.ebay.co.uk/ws/eBayISAPI.dll?ViewItem&rd=1&item=380019732447&ssPageName=STRK:MEWN:IT&ih=025
ION: I have no internet at home. Which makes work on t7gre awkward (and means I have to post this from work). But I’m getting some stuff done. Hopefully I’ll get internet back start of next week, and be able to commit it.

* I say probably because we’re just assuming it’s a groovie engine game. Seems likely, as it is just a collection of puzzles from the earlier groovie engine games, but you never know till you see a file list!

Error in the original?

I think I found an error in the original (well, windows re-release) of T7G… I can’t explain it any other way. If you don’t understand assembly, this will probably be lost on you, but I’m going to paste it in anyway:

.text:00404B5A                 mov     eax, [ebp+var_C]
.text:00404B5D                 imul    eax, 3
.text:00404B60                 mov     ecx, [ebp+cursor_file]
.text:00404B63                 mov     dl, [ecx+eax]
.text:00404B66                 mov     byte ptr [ebp+var_1C], dl
.text:00404B69                 mov     eax, [ebp+var_C]
.text:00404B6C                 imul    eax, 3
.text:00404B6F                 mov     ecx, [ebp+cursor_file]
.text:00404B72                 mov     dl, [ecx+eax+1]
.text:00404B76                 mov     byte ptr [ebp+var_1C+1], dl
.text:00404B79                 mov     eax, [ebp+var_C]
.text:00404B7C                 imul    eax, 3
.text:00404B7F                 mov     ecx, [ebp+cursor_file]
.text:00404B82                 mov     dl, [ecx+eax+1]
.text:00404B86                 mov     byte ptr [ebp+var_1C+2], dl

Can it be true? It accidentally uses the green channel twice instead of the blue one. In something as important as the cursor handling it seems unlikely that it would go unnoticed. But then, this is in a fairly obscure part and wouldn’t affect all colours in the cursor. Interesting.

Mobility

Wow. Courtesy of jvprat, the mansion is now navigable. This is not *that* big a step from where we were before, but it feels enormous because it actually makes the game at least partially playable (whereas before we essentially just had a movie player). As you can see, the engine also compiled on Windows CE with no changes at all.

There is still plenty left for us to do: the MIDI music, save games and, well, the puzzles. But this is so exciting!

Employment

OK, so i got a job. Which is good for me, but not for this project. It’s likely to be mostly on ice for a while, which is a shame given the huge burst of progress recently.

If anyone figures out anything about transparency, do let me know…

Ballcocks

I’ve lost my programs to extract vdx files from gjd files. This is rubbish. All the details of the file format are on the web (see the links section), and we can already play back vdx files. But the vdx playback is incomplete (can anyone say “transparency”?), so I’m trying to figure out what the exe file is doing at that point, and damn it it would be really helpful if I had them. Why didn’t I put them in svn?!

Progress. Like *real* progress.

Wow. Given that this time last week we had absolutely no idea about the file formats of the .grv files, we have come a loooong way. Our opcode list is now more complete than not, and jvprat has implemented a skeleton script interpreter which we can now go about adding opcodes to one by one.

It’s still going to be quite some time before anything is playable, but it’s on its way! In the meantime, here’s a photo of some of my working…

Excitement

It’s got to the exciting bit of the disassembly where stuff starts to make sense! Almost. And thanks to coding and words of wisdom from jvprat, we’re really starting to get somewhere. Here’s the proof:

http://code.google.com/p/t7gre/wiki/Opcodes

There’s still a long way to go (there are 88 opcodes in all), but at least now I feel like I’m getting somewhere when I’m doing it. And it certainly helps to bat ideas around with someone!

Text

It’s been a while. A lot has been going on in RL, but little in t7gre world.

But things change. Yesterday I had a play with reversing some of the font code, and actually got somewhere. I now have a (very) basic idea what the format of the font file is. Here’s a picture, which proves nothing (I could have figured this bit out just from looking at the file in a hex editor).

It’s an “A”, in case you can’t quite figure it out.

Caring and sharing

I’m find it difficult to completely separate myself from the project. I guess that’s the problem with stuff you do out of interest. I don’t have as much time as I used to though, so progress will be even slower than it was before.

By request, and because I may find myself dragged away from the project completely at some point, I’ve put the code that I’ve managed to get working on Google Code. Not intended for general consumption though.