[comp.sys.amiga.tech] VSprites don't show

dwi@manta.NOSC.MIL (Steve Stamper) (07/07/89)

I am using the standard Amiga GEL system to animate 3 BOB's
and 1 VSprite on a 320X200 64 color ExtraHalfbrite, double
buffered display.  I have done this a lot with BOB's and have
done programs with VSprites before but for some reason the
VSPrite in this program does not get drawn.  When I traverse
the GELSINFO structure I see it on the list, but it is not
being drawn.  
All BOB's behave normally but the VSprite is not there.
To set up the VSprite I basically do the same things I do to
the VSprite structures for the BOB's except:
1) Set the VSprite->Flags structure to VSPRITE for the Vsprite
   and to SAVEBACK|OVERLAY for the BOB's
2) set the VSprite->SprColors field to point to a 3 word array
   containing {0xfff,0xfff,0xfff} so that it will be all white.
   (of course I have tried other colors too, just to see if
    it was somehow blending into the brown background, but no go)
3) Set the VSprite->Width to 1 the VSprite->Depth to 2 and the
   VSprite->Height to 16 (I have Imagedata, and the masks set up
   for this size as well).  The Bob's have depth of 6 and differing
   widths and heights but they are all fine.
4) For the VSprite, PlanePick and Planeonoff are set to 0
   the VSprite->VSBob field is set to null.

I do not use Morerows or any overscan, The program seems to run fine
except for the VSprite is not there.
I add the bobs using AddBob(Bobptr,rp) and add the
VSprite using AddVSprite(Vsp,rp).  
Am I missing something, must I set up my GELSINFO structure any
differently?  I tried inserting the ON_DISPLAY ON_SPRITE macros
in the redraw section, it made no difference (they are unnecesary
with SortGList()DrawGList()MakeScreen()RethinkDisplay() since
ON_SPRITE is the default for the system).

Any ideas why a VSprite could be added to the GEL List and not
drawn?

-Roger

rap@peck.ardent.com (Rob Peck) (07/08/89)

In article <866@manta.NOSC.MIL> dwi@manta.nosc.mil.UUCP (Roger Uzun) writes:
>I am using the standard Amiga GEL system to animate 3 BOB's
>   [other details omitted]
>and 1 VSprite on a 320X200 64 color ExtraHalfbrite, double
>with SortGList()DrawGList()MakeScreen()RethinkDisplay() since
>ON_SPRITE is the default for the system).
>
>Any ideas why a VSprite could be added to the GEL List and not
>drawn?
>

See the sample program in the Programmer's Guide To The Amiga on VSprites.
If I remember right, it does the DrawGList, (which creates a sprite copper
list) and a MrgCop among other things.  But then, RethinkDisplay I believe
does a MrgCop too. HMMM.  (Programmer's Guide To The Amiga is from SYBEX,
author: ME.)


The other thing that would DEFINITELY prevent vsprites from being allocated
is the sprite-reserved fields (I forget their names) in the GfxBase and
the GelsInfo structures.  If these fields say there are no sprites available
to the vsprite engine, no vsprites are drawn.

Hope this helps


Rob Peck

scott@ssgp32.UU.NET (Scott Evernden) (07/08/89)

In article <866@manta.NOSC.MIL>, dwi@manta.NOSC.MIL (Steve Stamper) writes:
...
> All BOB's behave normally but the VSprite is not there.
...
What's your GelsInfo->sprRsrvd field set to? 

-scott
-- 
Scott Evernden            PRIME Computer Inc.
scott@ssgp32.Prime.COM    Commercial Systems Group
uunet!ssgp32!scott        Technology Drive
(508) 478-8600 x2984      Milford, MA 01757

dwi@manta.NOSC.MIL (Steve Stamper) (07/09/89)

In article <7162@ardent.UUCP> rap@peck.ardent.com (Rob Peck) writes:
>
>See the sample program in the Programmer's Guide To The Amiga on VSprites.
>
>The other thing that would DEFINITELY prevent vsprites from being allocated
>is the sprite-reserved fields (I forget their names) in the GfxBase and
>the GelsInfo structures.  If these fields say there are no sprites available
>to the vsprite engine, no vsprites are drawn.
>
>Rob Peck
I bought your book a couple of years ago and have used it a lot.  It has
been a GREAT help.  Unfortunately for some reason, this program does not
want to show VSprites for any reason (I checked above ones), so I 
punted and am using simple sprites now, actually they are working
out a lot better for me anyway.  Funny because i have other
64 color EHB programs using VSprites with no problems.

Thanks for a great book, it has helped me many times.

-Roger Uzun

dwi@manta.NOSC.MIL (Steve Stamper) (07/09/89)

In my VSprite/BOB program my 
GelsInfo->SprRsrvd = 0xfc & (~(GfxBase->SpriteReserved));
This works for all my other programs.

-Roger Uzuun