* fxInt.FOR                                                                 *
* Copyright (c) Genus Microprogramming, Inc. 1988-89  All Rights Reserved.  *

*****************************************************************************
*                                                                           *
* Function declarations for PCX Effects, MS Fortran 4.1.                    *
*                                                                           *
*                                                                           *
*                                                                           *
* Microsoft Fortran 4.1                   Programmer: Chris Howard  5/09/89 *
*                                                                           *
*****************************************************************************

$NOTRUNCATE

* Function Declarations

* fxSE.asm

      INTERFACE TO INTEGER*2 FUNCTION fxSetEffect
     +[PASCAL,ALIAS: 'FXSETEFFECT']
     +(effect)
      INTEGER*2     effect
      END

      INTERFACE TO INTEGER*2 FUNCTION fxGetEffect
     +[PASCAL,ALIAS: 'FXGETEFFECT']
      END

      INTERFACE TO INTEGER*2 FUNCTION fxSetGrain
     +[PASCAL,ALIAS: 'FXSETGRAIN']
     +(grain)
      INTEGER*2     grain
      END

      INTERFACE TO INTEGER*2 FUNCTION fxGetGrain
     +[PASCAL,ALIAS: 'FXGETGRAIN']
      END

      INTERFACE TO INTEGER*2 FUNCTION fxSetDelay
     +[PASCAL,ALIAS: 'FXSETDELAY']
     +(delay)
      INTEGER*2     delay
      END

      INTERFACE TO INTEGER*2 FUNCTION fxGetDelay
     +[PASCAL,ALIAS: 'FXGETDELAY']
      END

      INTERFACE TO INTEGER*2 FUNCTION fxGetVersion
     +[PASCAL,ALIAS: 'FXGETVERSION']
     +(verbuf [REFERENCE])
      CHARACTER     verbuf
      END

* fxVE.asm

      INTERFACE TO INTEGER*2 FUNCTION fxVirtualEffect
     +[PASCAL,ALIAS: 'FXVIRTUALEFFECT']
     +(vptr,x,y,dir)
      INTEGER*4     vptr
      INTEGER*2     x,y,dir
      END

* fxDK.asm

      INTERFACE TO INTEGER*2 FUNCTION fxLoopDelay
     +[PASCAL,ALIAS: 'FXLOOPDELAY']
     +(delay)
      INTEGER*2     delay
      END

      INTERFACE TO INTEGER*2 FUNCTION fxCalibrateDelay
     +[PASCAL,ALIAS: 'FXCALIBRATEDELAY']
      END

      INTERFACE TO INTEGER*2 FUNCTION fxEffectDelay
     +[PASCAL,ALIAS: 'FXEFFECTDELAY']
     +(delay)
      INTEGER*2     delay
      END

      INTERFACE TO INTEGER*2 FUNCTION fxKeyCheck
     +[PASCAL,ALIAS: 'FXKEYCHECK']
     +(flag)
      INTEGER*2     flag
      END

* fxTP.asm

      INTERFACE TO INTEGER*2 FUNCTION fxSetSpeaker
     +[PASCAL,ALIAS: 'FXSETSPEAKER']
     +(flag)
      INTEGER*2     flag
      END

      INTERFACE TO INTEGER*2 FUNCTION fxSetFrequency
     +[PASCAL,ALIAS: 'FXSETFREQUENCY']
     +(freq)
      INTEGER*2     freq
      END

      INTERFACE TO INTEGER*2 FUNCTION fxTone
     +[PASCAL,ALIAS: 'FXTONE']
     +(freq,dur)
      INTEGER*2     freq,dur
      END

      INTERFACE TO INTEGER*2 FUNCTION fxPlay
     +[PASCAL,ALIAS: 'FXPLAY']
     +(playstr [REFERENCE])
      CHARACTER     playstr
      END

      INTERFACE TO INTEGER*2 FUNCTION fxPlayLeft
     +[PASCAL,ALIAS: 'FXPLAYLEFT']
      END

      INTERFACE TO INTEGER*2 FUNCTION fxPlayKill
     +[PASCAL,ALIAS: 'FXPLAYKILL']
      END

      INTERFACE TO INTEGER*2 FUNCTION fxPlayLoop
     +[PASCAL,ALIAS: 'FXPLAYLOOP']
     +(loopnum)
      INTEGER*2     loopnum
      END

* fxPC.asm

      INTERFACE TO INTEGER*2 FUNCTION fxPaletteCycle
     +[PASCAL,ALIAS: 'FXPALETTECYCLE']
     +(pal [REFERENCE],start,total,rep,delay)
      CHARACTER     pal
      INTEGER*2     start,total,rep,delay
      END

      INTERFACE TO INTEGER*2 FUNCTION fxPaletteFade
     +[PASCAL,ALIAS: 'FXPALETTEFADE']
     +(pal [REFERENCE],start,total,inc,rep,delay)
      CHARACTER     pal
      INTEGER*2     start,total,inc,rep,delay
      END

* fxSR.asm

      INTERFACE TO INTEGER*2 FUNCTION fxSetRand
     +[PASCAL,ALIAS: 'FXSETRAND']
     +(seed)
      INTEGER*2     seed
      END

      INTERFACE TO INTEGER*2 FUNCTION fxGetRand
     +[PASCAL,ALIAS: 'FXGETRAND']
     +(range)
      INTEGER*2     range
      END

* fxFI.asm

      INTERFACE TO INTEGER*2 FUNCTION fxFileImage
     +[PASCAL,ALIAS: 'FXFILEIMAGE']
     +(vtype,vptr [REFERENCE],filename [REFERENCE])
      INTEGER*2     vtype
      INTEGER*4     vptr
      CHARACTER     filename
      END

      INTERFACE TO INTEGER*2 FUNCTION fxLibImage
     +[PASCAL,ALIAS: 'FXLIBIMAGE']
     +(vtype,vptr [REFERENCE],libname [REFERENCE],filename [REFERENCE])
      INTEGER*2     vtype
      INTEGER*4     vptr
      CHARACTER     libname,filename
      END

      INTERFACE TO INTEGER*2 FUNCTION fxFreeImage
     +[PASCAL,ALIAS: 'FXFREEIMAGE']
     +(vptr)
      INTEGER*4     vptr
      END
