Hi,
On Sun, 28 Nov 1999, Lars Skovlund wrote:
> I think I have found the _reason_: for bug #14 (text boxes in Camelot,
> CB1, KQ1). As I probably said in my teet about windows, the ornate
> windows are drawn by SetPort'ing to the window manager port, then
> drawing the relevant views.
[...]
> I think the bug occurs because the WM is never redrawn due
> to the port changing quickly without any kernel calls in
> between.
Well, they have to call SetPort() or NewWindow(). I'd suggest trying to
graph_update_port() to the port that we're leaving when either of those
calls is invoked; this would require fewer updates (Impl.d).
(Yes, only updating the dirty rectangles would be even better, but
those games use Graph() as well to do some custom drawing that isn't
updated automagically).
> Anyway, I've tried putting a call to graph_update_port inside
> kDrawCel, and though it may have helped, it still wasn't perfect.
Hmm... A possibly related question: How does DrawCel() handle it if view
and loop are correct, but if cel is too high?
llap,
Christoph