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