/*
** Name:      Double Buffer Demo
** Author:    Paul Manias
** Copyright: DreamWorld Productions © 1996-1997.
** Doc:       This simple demo shows how to double buffer the screen.
**
** SAS/C:     1> sc DoubleBuffer.c link startup=LIB:gms.o data=far nostackcheck
**  Dice:     1> dcc -l0 -mD gms.o DoubleBuffer.c -o DoubleBuffer
**
*/

#include <proto/games.h>

extern struct GMSBase *GMSBase;
ULONG  PREFSNAME = DEFAULT;

void main(void)
{
  struct Picture *picture;
  struct GameScreen *screen;

  if (picture = LoadPicFile("GMS:demos/data/PIC.Green",GETPALETTE|VIDEOMEM)) {

     screen = GetScreen();
     CopyStructure(picture,screen);
     screen->MemPtr1 = picture->Data;
     screen->Attrib  = DBLBUFFER|CENTRE;

     if (screen = AddScreen(screen)) {

        ShowScreen(screen);
        while (!(ReadJoyPort(JPORT1,JT_ZBXY)&MB_LMB)) {
          WaitVBL();
          SwapBuffers(screen);
        }

     FreePic(picture);
     }
  DeleteScreen(screen);
  }
}

