Hi,

On Sat, 20 May 2000, Lars Skovlund wrote:

> I think most of the changes here were niceties... the only difference I
> found so far (because I was mucking around in those parts) is that they
> got rid of some ugly, self-modifying code in the callk implementation.
> Also, there may be some priority-related differences - the IV in the
> King's Quest logo appears in front of the banner, instead of behind it.

Similar problems can be found encountered in my 0.000.683 SQ3.
It's probably a generic problem.

> And there's the "usual" RestartGame() call after the intro - is it still
> there in your KQ4? 

Yes.

> Maybe I ought to check RestartGame() for implementation differences. It
> seems they stopped using that trick somewhere in the 0.000.5?? series. 

That sounds as if RestartGame() doesn't work for your KQ4...?

> BTW, there's some madness regarding &rest in Hoyle's Book of Games. I have
> made some fixes for that (as well as for the list functionality). Seems to
> work, but I am hesitant about posting this before I can verify it more
> thoroughly.

OK.

> > I'll set the number of kernel functions to 0x6e for games older than
> > 0.000.297, and call the default functions. That should fix this problem.
> That's another way of doing it... please read my reply to Chris. I think
> the main problem with this solution is that we end up with a lot of
> version-related kludges (UNKNOWN_KERNEL_FUNCTION_STRING and now
> this) instead of the obvious (IMHO), config-based customization of kernel
> functions.

The changes I committed half an hour ago put
UNKNOWN_KERNEL_FUNCTION_STRINGS all over the place without checking for
the version.
kUnknown() is then used to map those functions according to their number.
Function numbers which don't have a fixed target function
(TimesTan/SinDiv) are caught and reported.

The problem with fixing kernel names in the config file is that it
requires user interaction. I'm not against it, but it shouldn't be
neccessary unless there is no safe way to do this automagically (which,
for most kernel functions, there is).

> The unknown kernel function (in the latest SCI's that have only
> one of those) is called Joystick. It is called regularly with subfunction
> 12 (the only one supported on PC's, probably more on Amigas etc.) and the
> parameter 30. It sets some sort of (positioning-related) value in the
> joystick driver.
> I guess support for this call is very low priority. Who would use a
> joystick with FreeSCI, anyway? 

If there really is someone who does, that person is free to implement
Joystick (can be found in kevent.c). I'm not considering it to be relevant
for 'interpreter completeness', which, IMHO, we have reached now (thus
finishing the 0.2.x series).

As for GRAPH_REDRAW_BOX: It's possible (and likely) that the problems here
(encountered in The Colonel's Bequest) will either be fixed or reappear in
a very different way once the new graphics system is in place.

> Good work with the debugger, BTW! It was a great help during my latest
> FreeSCI hacks (and before that, as well)!

Thanks!

llap,
 Christoph


Reply via email to