Completed Lab/main.c

#include <MacWindows.h>
#include <ImageCompression.h>
#include <QuickTimeComponents.h>
 
#ifndef _MAININCLUDES_
#include "main.h"
#endif
 
 
SpriteWorld                     gSpriteWorld = NULL;
GWorldPtr                       gSpritePlane = NULL;
Sprite                          gSprites[kNumSprites];
Handle                          gCompressedPictures[kNumSpaceShipImages];
ImageDescriptionHandle          gImageDescriptions[kNumSpaceShipImages];
Rect                            gBounceBox;
Rect                            gDestRects[kNumSprites];
Point                           gDeltas[kNumSprites];
short                           gCurrentImages[kNumSprites];
Handle                          gCompressedPictures[kNumSpaceShipImages];
RGBColor                        gBackgroundColor;
 
#define kWNEDefaultSleep            0               // WaitNextEvent sleep time
 
 
int main( void );
 
int main( void )
{
    OSErr err = noErr;
    Rect bounds = {50,50,400,400};
    WindowPtr window = nil;
 
    InitCursor();
 
    err = EnterMovies();
    
    // Create a window to display our sprites
    window = NewCWindow( nil, &bounds, "\pDesktop Sprites", true, documentProc, 
                        (WindowPtr)-1, true, 0);
    if (window != nil)
    {
        SetPortWindowPort(window);
    }
    
    // Create our sprite world & sprites
    CreateSpriteStuff (&bounds, GetWindowPort(window));
    
    while (!Button())
    {
        // Animate the sprites
        MyMoveSprites();
 
        SpriteWorldIdle(gSpriteWorld,   /* the sprite world for this operation */
                        0,              /* Contains flags describing actions that may take place during the idle. */
                        0);             /* On return, contains a pointer to flags describing actions that
                                        took place during the idle. */
    }
    
    MyDisposeEverything();
    
    return (0);
}