[net.micro.mac] SKEL for megamax 2.0

tepj@osu-eddie.UUCP (Tom Phillips) (03/21/85)

*** REPLACE THIS LINE WITH YOUR CARNAGE ***

Dear friends...

A short note pertaining to the use of SKEL.C (posted in net.sources.mac)
with the new (v2.0) Megamax-C compiler.

The qdvars.h file now is structured so there is one global, "qdvars", that
contains all of the qdvars.

You will have to fix the references to white, black, dkgray, and screenbits.
They will now read qdvars.white, qdvars.black, etc...

-- 
		Tom (Flip) Phillips
    		The Ohio State University
		osu-eddie!tepj

jww@bonnie.UUCP (Joel West) (03/21/85)

> The qdvars.h file now is structured so there is one global, "qdvars", that
> contains all of the qdvars.
> 
> You will have to fix the references to white, black, dkgray, and screenbits.
> They will now read qdvars.white, qdvars.black, etc...
> 
> -- 
> 		Tom (Flip) Phillips
>     		The Ohio State University
> 		osu-eddie!tepj

NO NO NO NO NO!!!

I have already converted the qdvars.h file for use under 2.0.  For whatever
reason, the changes made by the Megamax folks put the burden back on you.
They force you to learn a non-standard toolbox interface.  (***FLAME WARNING***)
This is wrong.

If you look at your <qdvars.h> you will note that even they know this.
Look at "theport" which is used all the time.  Instead they declare it as

	typedef struct {
		   ...
	  grafptr qdtheport;
	} qdvar;

	#define theport (qdvars.qdtheport)

So instead, when you use the standard QuickDraw terminology "theport" that's 
what you'll get.  DO the same for the standard patterns, screenbits, and 
randseed:

	typdef struct {
		   ...
	   long qdrandseed;
	   bitmap qdscrnbits;
		   ...
	   pattern qddkgray;
	   pattern qdltgray;
	   pattern qdgray;
	   pattern qdblack;
	   pattern qdwhite;

	#define randseed (qdvars.qdrandseed)
	#define screenbits (qdvars.qdscrnbits)
	#define dkgray (qdvars.qddkgray)
		and so on

This way, the skel.c will almost work (except for the previously
noted C-string problem) without any mucking of the source.  More
importantly, standard Pascal and C examples from other systems --
including Apple's own demos -- will port with much less hassle.

And if Megamax knows what they're doing, that's what the <qdvars.h>
will look like in 2.1.
-- 
	Joel West				     (619) 457-9681
	CACI, Inc. - Federal 3344 N. Torrey Pines Ct La Jolla 92037
	jww@bonnie.UUCP (ihnp4!bonnie!jww)
	westjw@nosc.ARPA

   "The best is the enemy of the good" - A. Mullarney

tepj@osu-eddie.UUCP (Tom Phillips) (03/25/85)

> > The qdvars.h file now is structured so there is one global, "qdvars", that
> > contains all of the qdvars.
> > 
> > You will have to fix the references to white, black, dkgray, and screenbits.
> > They will now read qdvars.white, qdvars.black, etc...
> > 
> > -- 
> 
> NO NO NO NO NO!!!
> 
> This is wrong.
> 
> If you look at your <qdvars.h> you will note that even they know this.
> Look at "theport" which is used all the time.  Instead they declare it as
> 
> 	typedef struct {
> 		   ...
> 	  grafptr qdtheport;
>   ...
> 
> And if Megamax knows what they're doing, that's what the <qdvars.h>
> will look like in 2.1.
> -- 
> 	Joel West				     (619) 457-9681
> 	CACI, Inc. - Federal 3344 N. Torrey Pines Ct La Jolla 92037
> 	jww@bonnie.UUCP (ihnp4!bonnie!jww)> 	westjw@nosc.ARPA
> 

ok, so I'm sorry.   I didnt write it... I was just advising as to a needed
fix.  I sent a flame off to megemax for you...

Granted, the solution was not an optimal solution, just a solution.

		flip

-- 
		Tom (Flip) Phillips
    		The Ohio State University
		osu-eddie!tepj