(********************************************************************************

Name         : SimpleSprites.DEF
Version      : 1.0
Purpose      : Interface to hardware sprites
Author       : ms
Modified     : 2.4.86  15:35  ms

********************************************************************************)

DEFINITION MODULE SimpleSprites;

FROM SYSTEM IMPORT ADDRESS;

CONST anySprite    = -1;
TYPE  SpriteImage  = RECORD
                       posctl: ARRAY [0..1] OF CARDINAL;
                       data: ARRAY [0..31 (* SimpleSprite.height *)] OF LONGCARD;
                       (* last long word set to FFFF FFFFH ! *)
                     END;
      SimpleSprite = RECORD
                       posctldata: ADDRESS;
                       height: CARDINAL;
                       x, y: CARDINAL; (* current position *)
                       num: CARDINAL;
                     END;

PROCEDURE GetSprite(VAR sp: SimpleSprite; pick: CARDINAL): LONGINT;

PROCEDURE ChangeSprite(vp: ADDRESS; VAR s: SimpleSprite; VAR data: SpriteImage);

PROCEDURE MoveSprite(vp: ADDRESS; VAR s: SimpleSprite; x, y: LONGINT);

PROCEDURE FreeSprite(pick: CARDINAL);

END SimpleSprites.
