[comp.sys.mac.programmer] Living with After Dark - Compat Probs

united@kuhub.cc.ukans.edu (06/03/91)

I found I have three compatibility problems with After Dark:

1) If you are switched into AD with a sound channel open and AD's sounds are
turned on, HANG!  I noticed Vette had this problem.

2) The cursor is un-hidden if you move the cursor to the lower right corner
even if the hot spots are turned off.

3) Clicking in the lower right corner = crash if you don't call GNE or WNE.

I write games so it isn't unusual that the cursor is hidden for long periods of
time or that long stretches elapse where WNE or GNE are not called (I know, but
in the interests of arcade speed some things have to be dispensed with).

How does one reckon with these?  Anyone know work arounds?  I ended up calling
HideCursor every loop through the game (a sleezy fix) to remedy the re-Initted
cursor problem.  But how is one to know remedy the other two?  My impression is
that AD patches QuickDraw and I can't very well avoid calling QD.  Do I need to
post dummy events every pass through the loop?  Does AD post some kind of event
that would tell my program to kill it's sound channel?  Or does someone have
Berkeley Systems number?

If you don't mind posting, mail isn't getting through to me - I apologize for
the bandnoise.

Minor flame - I don't have anything against AD, but popular INITs can be as bad
as new System versions on us programmers.  Has anyone considered an INIT
committee to hold these INITs accountable to?

john calhoun

d88-jwa@byse.nada.kth.se (Jon W{tte) (06/03/91)

.edu> united@kuhub.cc.ukans.edu writes:

   I found I have three compatibility problems with After Dark:

   1) If you are switched into AD with a sound channel open and AD's sounds are
   turned on, HANG!  I noticed Vette had this problem.

Not AD's problem... you should not have open sound channels
when switched out.

   2) The cursor is un-hidden if you move the cursor to the lower right corner
   even if the hot spots are turned off.

ADs problem. You shouldn't have to "fix" this, but include a note
saying "AD is a piece of crap with this program because..." (No
slander, I think AD looks great)

   How does one reckon with these?  Anyone know work arounds?  I ended up
   calling HideCursor every loop through the game (a sleezy fix) to remedy

Why not define an empty cursor (no bits set) and SetCursor to that ?
Sure beats calling HideCursor all the time... more compatible.

--
						Jon W{tte
						h+@nada.kth.se
						- Speed !