/*
** Name:      Object Demo
** Author:    Paul Manias
** Copyright: DreamWorld Productions (c) 1997.
** SAS/C:     1> sc OBJScreen.c link startup=LIB:gms.o data=far nostackcheck
**
** Doc:       Opens a screen according to the settings in an object file.  See
**            GMS:Source/Asm/UsingObjects/OBJScreen.s for object definitions.
**
*/

#include <proto/games.h>

extern struct GMSBase *GMSBase;
ULONG  PREFSNAME = DEFAULT;

void main(void)
{
  struct GameScreen *GameScreen;
  struct Picture *Picture;
  APTR OBJBase;

  if (OBJBase = LoadObjectFile("GMS:demos/data/OBJ.Screen")) {
   if (Picture = GetObject(OBJBase,"Picture")) {
    if (LoadPic(Picture)) {
     if (GameScreen = (struct GameScreen *) GetScreen()) {
        CopyStructure(Picture,GameScreen);
        GameScreen->MemPtr1 =    Picture->Data;
        GameScreen->Attrib =     CENTRE;
 
        if (AddScreen(GameScreen)) {
           ShowScreen(GameScreen);
           WaitLMB();
        }
     DeleteScreen(GameScreen);
     }
    FreePic(Picture);
    }
   }
  FreeObjectFile(OBJBase);
  }
}

