Скачать VGA2 Graphics Library

02.07.1997
Скачать файл (24,23 Кб)

VGA2 Graphics Library

==================================================================
     This is the documentation for the VGA2 graphics library.
This library is extremely fast, it has everything you could
possibly need to write a realy fast graphical game. Most of the
Code is my own, but, the rest I just found floating around the
internet.
==================================================================
procedure initvga;
     Simply intiates screen mode 13. Be Sure to call this before
     using Anything below. You computer may freeze up if you
     don't.

==================================================================
procedure closevga;
     Returns the VGA mode to the Dos text mode.

==================================================================
PROCEDURE SetClip(X1, Y1, X2, Y2 : INTEGER);
     Sets the clipping region of the screen. Default is
     0,0,319,199.

==================================================================
procedure PutPixel(x,y:word;color:byte);
     Puts a Pixel of a certain color at X,Y.

==================================================================
procedure PutPixel_C(x,y:word;color:byte);
     Same as PutPixel, but clips it to the region specified by
     SetClip.

==================================================================
function GetPixel(x,y:integer):byte;
     Returns a Pixel colors from the active screen.

==================================================================
procedure Cls(col:byte);
     Clears the Active screen to the specified color.

==================================================================
procedure LoadFont(FileName:string);
     Loads a custom font made with, font.exe.

==================================================================
procedure ShowChar(x,y:integer;num:byte;clip:boolean);
     Puts a character of a custom font, at location x,y, num is
     the character to display, set clip to true to have it
     clipped;

==================================================================
procedure Print_F(x,y:integer;text:string;clip:boolean);
     Prints a string to the screen, uses a custom font. Uses the
     font's default colors. Set clip to true to clip the string.

==================================================================
procedure Print_FC(x,y,col:integer;text:string;clip:boolean);
     Prints a string to the screen, uses a custom font. You
     specify the color to write it in with col. Set clip to true
     to clip the string.

==================================================================
procedure Print(x,y,col:word;txt:string;clip:boolean);
     Prints a string to the screen, uses a Large ROM font.

==================================================================
procedure Vsinc;
     Waits for Vertical retrace to occour, good for smooth
     animations.

==================================================================
Procedure Circle(X, Y, Radius:Word; Color:Byte);
     Draws a circle at X,Y. The radius is how big the circle will
     be.

     EXAMPLE: circle(150,100,30);

==================================================================
PROCEDURE HLine(X1, Y, X2 : INTEGER; Color : BYTE);
     Draws a Horizontal line at X1,Y. ANd draws it to X2.

==================================================================
PROCEDURE VLine(X, Y1, Y2 : INTEGER; Color : BYTE);
     Draws a Vertical Line at x,Y1. And draws it to Y2.

==================================================================
procedure line(x, y, x2, y2 : integer;col:byte;clip:boolean);
     draws a line from X,Y to X2,Y2. set clip to true to clip it
     to the specified CLipping range.

     EXAMPLE: line(0,0,319,199,2,true); - draws a green line from
     the top-left corner to the Bottom-Right corner.

==================================================================
procedure box(x,y,x1,y1:word;col:byte);
     Just draws a Box at X,Y and goes to X1,Y1. And fills it with
     col.

     EXAMPLE: Box(150,100,200,150,15); - Draws a white Box on the
     screen.

==================================================================
procedure Square(x,y,x1,y1:word;col:byte);
     Draws a square at X,Y and goes to X1,Y1.

     EXAMPLE: Square(0,0,319,199,1); - draws a blue square around
     the screen

==================================================================
procedure Disk(xc,yc,a,b: integer; col:byte);
     Draws a filled circle ar XC,YC. A is how high it will be and
     b if how wide it will be.

==================================================================
PROCEDURE KillSprite(VAR Sprite : SpriteType);
     Erases a Sprite from Memory.

==================================================================
PROCEDURE CreateSprite(VAR Sprite : SpriteType;
                       Width, Height : INTEGER);
     Sets up the sprite pointer. YOU DO NOT NEED TO USE THIS.
     GetSprite does this for you.

==================================================================
PROCEDURE Get(VAR Sprite : SpriteType; X1, Y1, X2, Y2 : INTEGER);
     Gets a Sprite from the Active Screen.

==================================================================
PROCEDURE Put(VAR Sprite : SpriteType; X, Y : INTEGER);
     Puts a sprite that was gotten by getsprite on the screen.
     FAST!!!!!

==================================================================
PROCEDURE Put_c(VAR Sprite : SpriteType; X, Y : INTEGER);
     Puts a sprite that was gotten with GetSprite and clips it to
     the screen. FAST!!!!

==================================================================
PROCEDURE MakeRLE(VAR Sprite : SpriteType);
     Converts a Sprite that was gotten with GetSprite to An RLE
     sprite.  This type of sprite is alot better because it
     compresses the data, therefore saving alot more memory. An
     RLE sprite is a little slower than a normal sprite but it is
     hardly noticable, unless you have something like a 286. It
     also makes color 0 transparent, so you dont have an annoying
     black background on your sprite.

==================================================================
PROCEDURE PutRLE(VAR Sprite : SpriteType; X, Y : INTEGER);
     Puts a sprite converted with MakeRLE to the screen. FAST!!!!

==================================================================
PROCEDURE PutRLE_C(VAR Sprite : SpriteType; X, Y : INTEGER);
     Puts a sprite converted with MakeRLE to the screen, and it
     clips it to the screen clip range. FAST!!!!!

==================================================================
PROCEDURE SaveSprite(Sprite : SpriteType; Filename : STRING);
     Saves a sprite to disk.
==================================================================
PROCEDURE LoadSprite(VAR Sprite : SpriteType; Filename : STRING);
     Loads a sprite from disk.
==================================================================
PROCEDURE CopySprite(Source : SpriteType; VAR Dest : SpriteType);
     Copies source to dest.

==================================================================
procedure Use(what:byte);
     Lets you use either the virtual screen or the VGA screen.
     Have "what" = VGA to write to the vga screen.
     HAve "what" = Virt to write to the Virtual screen.

     EXAMPLE: use(Virt); - make all graphics goto the virtual
     screen.

==================================================================
PROCEDURE Flip;
     Copies the Virtual Screen to the VGA screen. - this is great
     for No Flicker Programs. FAST!!!!!!

==================================================================
PROCEDURE LoadPCX(x,y : WORD; name : STRING);
     Loads a PCX file at location X,Y. FAST!!!!!  NOTE: This
     Automaticly loads the PCX's Palette, with the picture.

==================================================================
procedure setpal(VAR colors:paltype);
     Sets the Palette.

==================================================================
PROCEDURE SetColor(Index, R, G, B : BYTE);
     Sets the RGB values of a certain color.

==================================================================
PROCEDURE ReadColor(Index : BYTE; VAR R, G, B : BYTE);
     Gets the RGB VAlues of a color.

==================================================================
Procedure SetBlack;
     Sets the entire pallette to black. This is VERY usefull.

==================================================================
Procedure GetPal(var pal:paltype);
     Gets the colors from the VGA screen and puts them into
     "pal".

==================================================================
procedure savepal(var colors:paltype;filename:string);
     Saves a Palette to disk.

==================================================================
procedure loadpal(var colors:paltype;filename:string);
     Loads a Palette from disk.

==================================================================
procedure intensity(intensity : byte;var pal:paltype);
     Sets the Brightness of the palette.

==================================================================
procedure fadeout(t : integer;pal:paltype);
     Fades the Screen out.

==================================================================
procedure fadein(t : integer;pal:paltype);
     Fades the screen in. You should Call "SetBlack: before
     calling this, but you don't have to.