[comp.sys.amiga.programmer] 2.0 Screens

chucks@pnet51.orb.mn.org (Erik Funkenbusch) (04/04/91)

I've started on my trek to program 2.0 specific programs.  I am using Manx
5.0d with the Manx 2.0 Include files.  I was looking through some of the
source code to the 2.0 term program by Olaf Barthel (or however it's spelled)
and find a call to a library routine (Amiga.lib?) called OpenScreenTags ().  I
am trying to open a full blown newlook screen and for the life of me can't get
anything but an unknown screen type guru.  I can't find any reference to this
OpenScreenTags () call in any of my pragmas and can't find it in any of Olaf's
files.  any help from anyone out there?  the guru is 8500 0009, which
according to my RKM's is an unknown screen type.  here is a fragment.

struct TagItem scrtags[7] = {{SA_Overscan, OSCAN_TEXT},{SA_Pens, ~0},
                            {SA_FullPalette, TRUE},{SA_Type, CUSTOMSCREEN},  
                            {SA_Title, "BBS Screen"},{SA_Width, 640},        
                            {TAG_END, NULL}};                                
                                                                             
struct NewScreen myscreen  = {0, 0, 640, 200,3,1,0,HIRES,CUSTOMSCREEN,NULL,  
                                "BBS Screen", NULL, NULL};                   
                                                                             
if ((scr = OpenScreenTagList (myscreen, &scrtags)) == NULL)

So does anyone have any ideas?  this is a headache.

UUCP: {amdahl!tcnet, crash}!orbit!pnet51!chucks
ARPA: crash!orbit!pnet51!chucks@nosc.mil
INET: chucks@pnet51.orb.mn.org

peter@cbmvax.commodore.com (Peter Cherna) (04/05/91)

In article <4503@orbit.cts.com> chucks@pnet51.orb.mn.org (Erik Funkenbusch) writes:
>files.  any help from anyone out there?  the guru is 8500 0009, which
>according to my RKM's is an unknown screen type.  here is a fragment.

I presume you mean 8400 0009.

>struct TagItem scrtags[7] = {{SA_Overscan, OSCAN_TEXT},{SA_Pens, ~0},
>                            {SA_FullPalette, TRUE},{SA_Type, CUSTOMSCREEN},  
>                            {SA_Title, "BBS Screen"},{SA_Width, 640},        
>                            {TAG_END, NULL}};                                

SA_Pens takes a pointer to an array of UWORDs, which must be terminated
in ~0.  Do not pass it a ~0.  You want:

UWORD mypens[] =
{
	/* set up your pen choices if any, here */
	~0,	/* terminator */
};

Then later, {SA_Pens, mypens},
                                                                             
>So does anyone have any ideas?  this is a headache.

This guru usually appears if you have a bad NewWindow.Type.  Check
that.

     Peter
--
Peter Cherna, Operating Systems Development Group, Commodore-Amiga, Inc.
{uunet|rutgers}!cbmvax!peter    peter@cbmvax.commodore.com
My opinions do not necessarily represent the opinions of my employer.
"If all you have is a hammer, everything looks like a nail."

jep@mtiame.mtia.oz (Jesper Peterson) (04/05/91)

In article <4503@orbit.cts.com> chucks@pnet51.orb.mn.org (Erik Funkenbusch) writes:
|[re: unknown screen type guru]
|
|struct TagItem scrtags[7] = {{SA_Overscan, OSCAN_TEXT},{SA_Pens, ~0},
|                            {SA_FullPalette, TRUE},{SA_Type, CUSTOMSCREEN},  
|                            {SA_Title, "BBS Screen"},{SA_Width, 640},        
|                            {TAG_END, NULL}};                                
|                                                                             
|struct NewScreen myscreen  = {0, 0, 640, 200,3,1,0,HIRES,CUSTOMSCREEN,NULL,  
|                                "BBS Screen", NULL, NULL};                   
|                                                                             
|if ((scr = OpenScreenTagList (myscreen, &scrtags)) == NULL)
                               ^&
Is the ampersand missing from myscreen a typo in this message or is this
included directly from your code? I'm not sure that scrtags requires
an ampersand  since it is an array but I'm not familiar with the new 2.0
calls. Try this anyway (assuming this is not the way you are actually doing
it already):
	if ((scr = OpenScreenTagList (&myscreen, scrtags)) == NULL)

Jesper Peterson.
-- 
------------------------------------------------------------------------
USEnet: jep@mtiame.mtia.oz.au      UUCP: ...!uunet!munnari!mtiame.oz!jep
90% of everything is IBM compatible - Paraphrased From Theodore Sturgeon

stefanb@cip-s02.informatik.rwth-aachen.de (Stefan Becker) (04/08/91)

chucks@pnet51.orb.mn.org (Erik Funkenbusch) writes:

>struct TagItem scrtags[7] = {{SA_Overscan, OSCAN_TEXT},{SA_Pens, ~0},
								 ^^^^^

This must be a pointer to array of UWORD's!

>                            {SA_FullPalette, TRUE},{SA_Type, CUSTOMSCREEN},  
>                            {SA_Title, "BBS Screen"},{SA_Width, 640},        
>                            {TAG_END, NULL}};                                
>                                                                             
>struct NewScreen myscreen  = {0, 0, 640, 200,3,1,0,HIRES,CUSTOMSCREEN,NULL,  
>                                "BBS Screen", NULL, NULL};                   

How about this:

struct NewScreen myscreen  = {0, 0, STDSCREENWIDTH, STDSCREENHEIGHT, 3,1,0,
			      HIRES,CUSTOMSCREEN,NULL,  
                              "BBS Screen", NULL, NULL};                   

/* look into intuition/screens.h for more info on pens */
UWORD screenpens[]={0,1,3,2,3,2,3,2,3,~0};


  if (!(s=OpenScreenTags(&myscreen,
			 SA_Overscan,OSCAN_TEXT,
			 SA_FullPalette,TRUE,
			 SA_Pens,screenpens,
			 TAG_DONE)))


Hope this helps...

	Stefan

Mail  : Stefan Becker, Holsteinstrasse 9, D-5100 Aachen  ///    Only
Phone : +49-241-505705   FIDO: 2:242/7.6    Germany     ///  Amiga makes
Domain: stefanb@informatik.rwth-aachen.de           \\\///  it possible..
Bang  : ..mcvax!unido!rwthinf!stefanb                \XX/  -->A3000/25<--

chucks@pnet51.orb.mn.org (Erik Funkenbusch) (04/10/91)

stefanb@cip-s02.informatik.rwth-aachen.de (Stefan Becker) writes:
>
>How about this:
>
>struct NewScreen myscreen  = {0, 0, STDSCREENWIDTH, STDSCREENHEIGHT, 3,1,0,
>			      HIRES,CUSTOMSCREEN,NULL,  
>                              "BBS Screen", NULL, NULL};                   
>
>/* look into intuition/screens.h for more info on pens */
>UWORD screenpens[]={0,1,3,2,3,2,3,2,3,~0};
>
>
>  if (!(s=OpenScreenTags(&myscreen,
>			 SA_Overscan,OSCAN_TEXT,
>			 SA_FullPalette,TRUE,
>			 SA_Pens,screenpens,
>			 TAG_DONE)))
>
>
>Hope this helps...
>
>	Stefan
>
>Mail  : Stefan Becker, Holsteinstrasse 9, D-5100 Aachen  ///    Only
>Phone : +49-241-505705   FIDO: 2:242/7.6    Germany     ///  Amiga makes
>Domain: stefanb@informatik.rwth-aachen.de           \\\///  it possible..
>Bang  : ..mcvax!unido!rwthinf!stefanb                \XX/  -->A3000/25<--


Actually, i had figured this out, my only problem now is that i can't get the
text in the window bar to render into any pen but pen 0, this is anoying. 
i've tried every pen in every index position there is.  and it always renders
the window bar text in color 0.  also, the dark portion of 3d gadgets always
renders in color 0.. it's starting to annoy me.  it has to be something with
the screen since when i open the window on a workbench screen it works fine.

UUCP: {amdahl!tcnet, crash}!orbit!pnet51!chucks
ARPA: crash!orbit!pnet51!chucks@nosc.mil
INET: chucks@pnet51.orb.mn.org

peter@cbmvax.commodore.com (Peter Cherna) (04/10/91)

In article <4558@orbit.cts.com> chucks@pnet51.orb.mn.org (Erik Funkenbusch) writes:
>Actually, i had figured this out, my only problem now is that i can't get the
>text in the window bar to render into any pen but pen 0, this is anoying. 
>i've tried every pen in every index position there is.  and it always renders
>the window bar text in color 0.  also, the dark portion of 3d gadgets always
>renders in color 0.. it's starting to annoy me.  it has to be something with
>the screen since when i open the window on a workbench screen it works fine.

I've tried to email you the answer, but the mail keeps bouncing.
pnet51 has no idea who you are :-(.  Anyways, here's the answer:

You've pointed your SA_Pens at an array of ULONGs, but it's supposed
to point to an array of UWORDs.  Every second pen will come out zero,
the way you have it.

>INET: chucks@pnet51.orb.mn.org

     Peter
--
Peter Cherna, Operating Systems Development Group, Commodore-Amiga, Inc.
{uunet|rutgers}!cbmvax!peter    peter@cbmvax.commodore.com
My opinions do not necessarily represent the opinions of my employer.
"If all you have is a hammer, everything looks like a nail."

chucks@pnet51.orb.mn.org (Erik Funkenbusch) (04/13/91)

peter@cbmvax.commodore.com (Peter Cherna) writes:
>I've tried to email you the answer, but the mail keeps bouncing.
>pnet51 has no idea who you are :-(.  Anyways, here's the answer:
>
>You've pointed your SA_Pens at an array of ULONGs, but it's supposed
>to point to an array of UWORDs.  Every second pen will come out zero,
>the way you have it.
>
>>INET: chucks@pnet51.orb.mn.org
>
>     Peter
>--
>Peter Cherna, Operating Systems Development Group, Commodore-Amiga, Inc.
>{uunet|rutgers}!cbmvax!peter    peter@cbmvax.commodore.com
>My opinions do not necessarily represent the opinions of my employer.
>"If all you have is a hammer, everything looks like a nail."


DUH! (slap across the face!) of course, what was i thinking?  of course..
thank you so very much.  Yes, we have (in the last week) had problem at our
site recieving mail.  no-one has gotten any mail in.  thank you for posting
this publicly (thank you all who put up with it being posted publicly).  I
should go get a lobotomy or something, it might help the brain flow. again,
thanks

UUCP: {amdahl!tcnet, crash}!orbit!pnet51!chucks
ARPA: crash!orbit!pnet51!chucks@nosc.mil
INET: chucks@pnet51.orb.mn.org