home *** CD-ROM | disk | FTP | other *** search
- {* fxlib.PAS *}
- {* Copyright (c) Genus Microprogramming, Inc. 1988-89 All Rights Reserved. *}
-
- {****************************************************************************
-
- This file contains the MS Pascal 4.0 interface for PCX Effects.
-
-
-
-
- Microsoft Pascal 4.0 Programmer: Chris Howard 12/10/89
-
- *****************************************************************************}
-
- interface;
-
- unit fxlib(fxMINEFFECT,
- fxWIPE,
- fxSPLIT,
- fxCRUSH,
- fxSLIDE,
- fxSAND,
- fxDRIP,
- fxEXPLODE,
- fxDIAGONAL,
- fxSPIRAL,
- fxRANDOM,
- fxMAXEFFECT,
-
- fxFADEOUT,
- fxFADEIN,
-
- fxNONE,
- fxLEFT,
- fxRIGHT,
- fxUP,
- fxDOWN,
- fxHORIZ,
- fxVERT,
- fxOUT,
- fxIN,
-
- fxMINGRAIN,
- fxMAXGRAIN,
-
- fxMINDELAY,
- fxMAXDELAY,
-
- fxTRUE,
- fxFALSE,
- fxON,
- fxOFF,
-
- fxSUCCESS,
- fxERR_ESCAPE,
- fxERR_BADEFFECT,
- fxERR_BADGRAIN,
- fxERR_BADDELAY,
-
- fxSetEffect,
- fxGetEffect,
- fxSetGrain,
- fxGetGrain,
- fxSetDelay,
- fxGetDelay,
- fxGetVersion,
- fxVirtualEffect,
- fxCalibrateDelay,
- fxEffectDelay,
- fxKeyCheck,
- fxSetSpeaker,
- fxSetFrequency,
- fxTone,
- fxPlay,
- fxPlayLeft,
- fxPlayKill,
- fxPlayLoop,
- fxPaletteCycle,
- fxPaletteFade,
- fxSetRand,
- fxGetRand,
- fxFileImage,
- fxLibImage,
- fxFreeImage
-
- );
-
- const
-
- { Effects }
- fxMINEFFECT = 0;
- fxWIPE = 0; { Wipe }
- fxSPLIT = 1; { Split }
- fxCRUSH = 2; { Crush }
- fxSLIDE = 3; { Slide }
- fxSAND = 4; { Sand }
- fxDRIP = 5; { Drip }
- fxEXPLODE = 6; { Explode }
- fxDIAGONAL = 7; { Spiral }
- fxSPIRAL = 8; { Diagonal }
- fxRANDOM = 9; { Random }
- fxMAXEFFECT = 9;
-
- { Palette }
- fxFADEOUT = 1000; { Fade out }
- fxFADEIN = 1001; { Fade in }
-
- { Directions }
- fxNONE = 0; { No direction }
- fxLEFT = 1; { Left }
- fxRIGHT = 2; { Right }
- fxUP = 4; { Up }
- fxDOWN = 8; { Down }
- fxHORIZ = 1; { Horizontal }
- fxVERT = 2; { Vertical }
- fxOUT = 1; { Out }
- fxIN = 2; { In }
-
- { Grain }
- fxMINGRAIN = 2; { Minimum grain }
- fxMAXGRAIN = 64; { Maximum grain }
-
- { Delay }
- fxMINDELAY = 0; { Minimum delay }
- fxMAXDELAY = 500; { Maximum delay }
-
- { Miscellaneous }
- fxTRUE = 1; { True }
- fxFALSE = 0; { False }
- fxON = fxTRUE; { On }
- fxOFF = fxFALSE; { Off }
-
- { Error codes }
- fxSUCCESS = 0; { Successful }
- fxERR_ESCAPE = -20; { Escape key was pressed }
- fxERR_BADEFFECT = -1000; { Effect not defined/invalid }
- fxERR_BADGRAIN = -1001; { Grain not defined/invalid }
- fxERR_BADDELAY = -1002; { Delay not defined/invalid }
-
- {fxSE.asm}
- function fxSetEffect (effect:integer):integer;
- function fxGetEffect :integer;
- function fxSetGrain (grain:integer):integer;
- function fxGetGrain :integer;
- function fxSetDelay (delay:integer):integer;
- function fxGetDelay :integer;
- function fxGetVersion (verbuf:adsmem):integer;
-
- {fxVE.asm}
- function fxVirtualEffect (vptr:integer4;x,y,dir:integer):integer;
-
- {fxDK.asm}
- function fxLoopDelay (delay:integer):integer;
- function fxCalibrateDelay :integer;
- function fxEffectDelay (delay:integer):integer;
- function fxKeyCheck (flag:integer):integer;
-
- {fxTP.asm}
- function fxSetSpeaker (flag:integer):integer;
- function fxSetFrequency (freq:integer):integer;
- function fxTone (freq,dur:integer):integer;
- function fxPlay (playstr:adsmem):integer;
- function fxPlayLeft :integer;
- function fxPlayKill :integer;
- function fxPlayLoop (loopnum:integer):integer;
-
- {fxPC.asm}
- function fxPaletteCycle (palptr:adsmem;start,total,rep,delay:integer):integer;
- function fxPaletteFade (palptr:adsmem;start,total,inc,rep,delay:integer):integer;
-
- {fxSR.asm}
- function fxSetRand (seed:integer):integer;
- function fxGetRand (range:integer):integer;
-
- {fxFI.asm}
- function fxFileImage (vtype:integer;vptr:adsmem;filename:adsmem):integer;
- function fxLibImage (vtype:integer;vptr:adsmem;libname,filename:adsmem):integer;
- function fxFreeImage (vptr:integer4):integer;
-
- end;
-
-
-