home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Hack-Phreak Scene Programs
/
cleanhpvac.zip
/
cleanhpvac
/
FGL402A.ZIP
/
FGLIGHT.ARJ
/
WHATS.NEW
< prev
Wrap
Text File
|
1995-02-06
|
18KB
|
342 lines
Release Notes
Fastgraph (tm) V4.0
Ted Gruber Software
PO Box 13408
Las Vegas, NV 89112
(702) 735-1980 voice
(702) 735-4603 FAX
(702) 796-7134 BBS
72000,1642 CIS
Copyright (c) 1989-1995 Ted Gruber Software.
All Rights Reserved.
------------------------------------------------------------------------------
Introduction
------------------------------------------------------------------------------
The Fastgraph 4.0 release notes describe the new features added in Fastgraph
4.0. The release notes will be of interest to customers who are already
familiar with Fastgraph so they can get an overview of the new version. Among
the many new features in Fastgraph 4.0 are:
* 16-bit protected mode libraries
* 32-bit protected mode libraries
* Virtual buffers
* Support for Autodesk Animator FLI/FLC files
* Bitmap scaling and shearing capabilities
* Split screen support
* Viewports
* Support for new SVGA chipsets
* Additional PCX and GIF support routines
* Total of 56 new Fastgraph routines
* Support for additional compilers
The release notes provide an overview of most of these new features. For
details, refer to the Fastgraph User's Guide and Reference Manual.
Please be sure to read the last two sections of this document, which discuss
important compatibility considerations when migrating Fastgraph 2.x and 3.x
programs to version 4.0.
------------------------------------------------------------------------------
Summary of New Routines in Fastgraph 4.0
------------------------------------------------------------------------------
The following routines are new to Fastgraph 4.0. Please see the Fastgraph
Reference Manual for full descriptions, including their parameters, return
values, and restrictions.
FG_CLIPMAP Version of FG_DRAWMAP that performs clipping
FG_COLORS Return number of colors available in the current video mode
FG_FINDPAGE Find an available page number for virtual/logical pages
FG_FLICDONE Close an FLI or FLC file
FG_FLICHEAD Read an FLI or FLC file header
FG_FLICMODE Determine optimal video mode for an FLI or FLC file
FG_FLICOPEN Open an FLI or FLC file
FG_FLICPLAY Play one or more frames from an FLI or FLC file
FG_FLICSIZE Return FLI or FLC image dimensions
FG_FLICSKIP Advance one or more frames in an FLI or FLC file
FG_GETBANKS Return current SVGA read and write bank numbers
FG_GETCLIP Return current clipping limits
FG_GETVIEW Return current viewport extremes
FG_GETXBOX Return FG_BOX left and right edge width
FG_GETXJUST Return FG_PRINT and FG_PRINTC horizontal justification setting
FG_GETYBOX Return FG_BOX top and bottom edge width
FG_GETYJUST Return FG_PRINT and FG_PRINTC vertical justification setting
FG_GIFHEAD Read a GIF file global header and first local header
FG_GIFMODE Determine optimal video mode for a GIF file
FG_GIFPAL Retrieve palette information from a GIF file
FG_GIFRANGE Return GIF image dimensions
FG_INITPM Initialize Fastgraph's protected mode kernel
FG_INVERT Invert orientation of a bitmapped image array
FG_KBLAST Return scan code of most recent keypress
FG_KBRESET Reset Fastgraph's low-level keyboard handler
FG_LOADPCX Load a PCX image into a virtual buffer
FG_MOUSE256 Define 256-color mouse cursor
FG_PACK Translate "one pixel per byte" bitmap to mode-specific format
FG_PCXPAL Retrieve palette information from a PCX file
FG_PCXRANGE Return PCX image dimensions
FG_POLYEDGE Specify FG_POLYFILL right and bottom edge inclusion
FG_PRINTC Version of FG_PRINT that performs clipping
FG_SCALE Scale a bitmapped image
FG_SETBANKS Define SVGA read and write bank numbers
FG_SETVIEW Define viewport extremes and position
FG_SHEAR Shear a bitmapped image
FG_SHOWFLIC Play an FLI or FLC file
FG_SPLIT Enable or disable a split screen environment
FG_TEXTC Version of FG_TEXT that supports clipping
FG_UNPACK Translate mode-specific bitmap to "one pixel per byte" format
FG_VBADDR Return address of a virtual buffer
FG_VBALLOC Create a virtual buffer (allocate memory internally)
FG_VBCLOSE Close the active virtual buffer
FG_VBCOPY Copy rectangular region from one virtual buffer to another
FG_VBCUT Copy rectangular region from active video page to virtual buffer
FG_VBDEFINE Create a virtual buffer (from previously allocated memory)
FG_VBFREE Release virtual buffer memory allocated with FG_VBALLOC
FG_VBHANDLE Return handle of the active virtual buffer
FG_VBINIT Initialize Fastgraph's virtual buffer environment
FG_VBOPEN Make an existing virtual buffer the active virtual buffer
FG_VBPASTE Copy rectangular region from virtual buffer to active video page
FG_VBTCXFER Version of FG_VBPASTE that supports transparent colors
FG_VBUNDEF Release a virtual buffer handle
FG_VGASTATE Save or restore the internal VGA state
FG_XVIEW Translate horizontal viewport coordinate to screen space
FG_YVIEW Translate vertical viewport coordinate to screen space
Fastgraph/Light 4.0 does not include the new GIF support routines (FG_GIFHEAD,
FG_GIFMODE, FG_GIFPAL, and FG_GIFRANGE). Further, the new FG_INITPM routine is
present in the Fastgraph/Light libraries but is not meaningful.
------------------------------------------------------------------------------
Protected Mode Libraries
------------------------------------------------------------------------------
Fastgraph 4.0 includes protected mode libraries for most popular DOS extenders
and protected mode compilers. The protected mode libraries include a new
routine, FG_INITPM, to set up features specific to each supported DOS
extender. It must be called before any other Fastgraph routine when building
protected mode executables. Failure to do this will result in a protection
fault and termination of your program (usually before it sets the video mode).
Note that in many cases, FG_INITPM resides in an extender-specific library
such as FG16PHAR.LIB or FG32DPMI.LIB that must be specified when linking your
program.
To build an EXE file from the 16-bit protected mode libraries, you must have
a compiler capable of generating 80286 protected mode instructions, as well
as a 16-bit DOS extender (Borland Pascal 7 does not require a separate DOS
extender). Fastgraph 4.0 supports the following 16-bit compilers and DOS
extenders:
Borland C++ (version 3.0 or later)
Borland Pascal (version 7.0 or later)
Microsoft C/C++ (version 6.0 or later)
Microsoft Visual C++ (version 1.0 or later)
Borland PowerPack for DOS
Phar Lap 286|Dos-Extender SDK
Phar Lap 286|Dos-Extender Lite
Rational Systems DOS/16M
To build an EXE file from the 32-bit protected mode libraries, you must have a
compiler capable of generating 80386 protected mode instructions, as well as a
32-bit DOS extender. Fastgraph 4.0 supports the following 32-bit compilers and
DOS extenders:
Borland C++ (version 4.02 or later)
MetaWare High C/C++ (version 3.0 or later)
Microsoft Visual C++ 32-bit Edition (version 1.0 or later)
WATCOM C/C++ 32 (version 9.5 or later)
WATCOM C32 for DOS
Microsoft FORTRAN PowerStation (version 1.0 or later)
Borland PowerPack for DOS
DOSXMSF (subset of Phar Lap extender supplied with MSF PowerStation)
Phar Lap TNT Dos-Extender SDK (formerly 386|Dos-Extender SDK)
Phar Lap TNT Dos-Extender Lite
Rational Systems DOS/4G
Rational Systems DOS/4GW (supplied with WATCOM C/C++ 32)
Rational Systems DOS/4GW Professional
See Chapter 1 of the Fastgraph User's Guide for information about building
protected mode programs with each supported compiler and DOS extender. For
other important details regarding conversion of real mode Fastgraph programs
to protected mode, please read Appendix G of the Fastgraph User's Guide.
------------------------------------------------------------------------------
Virtual Buffers
------------------------------------------------------------------------------
Virtual buffers are blocks of conventional memory that you can treat as video
memory. They are much more general than virtual pages, as they are supported
in all graphics video modes and can be smaller or larger than the actual page
size. An application may have up to 32 virtual buffers open simultaneously.
Virtual buffers are supported in both real and protected mode, but the memory
requirements for creating large virtual buffers (especially in SVGA graphics
modes) makes protected mode the best platform for virtual buffers. Real mode
virtual buffers must reside in conventional memory. A future version of
Fastgraph may add EMS/XMS virtual buffer support.
See pages 185-194 in Chapter 8 of the Fastgraph User's Guide for additional
information about virtual buffers.
------------------------------------------------------------------------------
FLI and FLC Files
------------------------------------------------------------------------------
FLI and FLC files (collectively called "flic files") contain sequences of
image frames that can be displayed in rapid succession to achieve the illusion
of movement. FLI files are produced by Autodesk Animator and always have a
320x200 resolution, while FLC files are produced by Autodesk Animator Pro and
can have any resolution. Fastgraph's flic file routines work with both FLI and
FLC files, but they are restricted to 256-color graphics modes because flic
files always contain 256-color images.
Fastgraph 4.0 includes both high-level and low-level routines for working with
flic files. See pages 208-212 in Chapter 9 of the Fastgraph User's Guide for
additional information about Fastgraph's flic file support.
------------------------------------------------------------------------------
Bitmap Scaling and Shearing
------------------------------------------------------------------------------
Fastgraph 4.0 includes a new routine, FG_SCALE, for horizontal and vertical
scaling of bitmapped images. FG_SCALE expects a source bitmap stored in the
"one pixel per byte" format of Fastgraph's 256-color modes, and it returns an
expanded or reduced bitmap in the same format. To scale images in graphics
modes with fewer than 256 colors, you must first use the FG_UNPACK routine to
convert the bitmap to the format expected by FG_SCALE, perform the scaling,
and finally use FG_PACK to convert the scaled image back to the mode-specific
format. Note that because Fastgraph's virtual buffers also use the one pixel
per byte format, you can also use FG_SCALE to scale images stored in virtual
buffers.
The new FG_SHEAR routine shears bitmapped images. Shearing can be thought of
as anchoring one corner of a rectangular region and stretching the opposite
corner horizontally or vertically. For example, bitmaps containing text or
other characters could be sheared horizontally to the right for an italic
effect. A sheared image will always be larger than the original image, and it
will contain empty triangular areas at its corners. The empty areas will be
filled with color 0 pixels, meaning they will be transparent when you display
a sheared image with FG_DRWIMAGE or related routines. Like FG_SCALE, FG_SHEAR
expects bitmaps in the "one pixel per byte" format and can likewise be used
with images stored in virtual buffers.
See pages 259-265 in Chapter 10 of the Fastgraph User's Guide for additional
information about bitmap scaling and shearing.
------------------------------------------------------------------------------
Split Screen Support
------------------------------------------------------------------------------
Fastgraph 4.0 provides split screen support for EGA, VGA, and XVGA graphics
modes (modes 13 through 23) through the FG_SPLIT routine. When a split screen
is enabled, the top portion of the screen (rows 0 through n-1, where n is the
pixel row at which the split screen takes effect) will contain a subset of the
visual video page. The bottom portion (starting at row n) will contain the
first maxy-n+1 rows of video page 0. A split screen environment is useful for
maintaining a static image, such as a scoreboard or status box, at the bottom
of the screen while scrolling the top portion.
See pages 320-322 in Chapter 13 of the Fastgraph User's Guide for additional
information about Fastgraph's split screen support.
------------------------------------------------------------------------------
Viewports
------------------------------------------------------------------------------
Viewports provide an alternate integer-based coordinate system for referencing
pixels in video memory or virtual buffers. Fastgraph 4.0 includes routines to
create a viewport, return the viewport limits, and scale viewport coordinates.
See pages 67-69 in Chapter 4 of the Fastgraph User's Guide for more details
about viewports.
------------------------------------------------------------------------------
Support for New SVGA Chipsets
------------------------------------------------------------------------------
Fastgraph 4.0 adds support for these SVGA chipsets:
Avance Logic 2000 series
Cirrus Logic 6400 series
NCR 77C22/77C32
Oak OTI-077
Oak OTI-087
------------------------------------------------------------------------------
New Turbo Pascal Unit Files
------------------------------------------------------------------------------
The Fastgraph 4.0 Pascal distribution includes two new unit files, FGFLIC and
FGVB, containing the new FLI/FLC and virtual buffer routines. Because of size
constraints, it was necessary to move four routines (FG_DRAWMAP, FG_GETMAP,
FG_PRINT, and FG_TEXT) from the Fastgraph 3.x FGMAIN unit file to the FGBITMAP
unit in Fastgraph 4.0. Any Fastgraph program that uses these four routines
must now include the FGBITMAP unit in its uses statement.
Real mode Fastgraph unit files use a TPU file extension; their protected mode
counterparts use a TPP extension. For instance, FGMAIN.TPU is the real mode
version of the FGMAIN unit, and FGMAIN.TPP is the protected mode version. If
you install Fastgraph for Borland Pascal, the TPU and TPP files will be copied
to your unit file directory. Installing Fastgraph for Turbo Pascal copies only
the TPU files.
Refer to Appendix E of the Fastgraph User's Guide for a list of the Fastgraph
routines in each Pascal unit file.
------------------------------------------------------------------------------
Converting Applications from Fastgraph 3.x to Fastgraph 4.0
------------------------------------------------------------------------------
Real mode C/C++, BASIC, and FORTRAN applications written with Fastgraph 3.x
should require no changes to link with Fastgraph 4.0.
As described in the previous section, real mode Pascal programs will need to
add the FGBITMAP unit to their uses statement if they call the FG_DRAWMAP,
FG_GETMAP, FG_PRINT, or FG_TEXT routines.
The issues involved in converting real mode Fastgraph 3.x programs to run in
protected mode are addressed in Appendix G of the Fastgraph User's Guide.
------------------------------------------------------------------------------
Converting Applications from Fastgraph 2.x to Fastgraph 4.0
------------------------------------------------------------------------------
Only two features in Fastgraph 2.x are not upwardly compatible with version
4.0. The first applies only to Borland Pascal and Turbo Pascal, while the
second applies to all supported compilers.
In Fastgraph 2.x, all Fastgraph routines resided in the FGTP unit file. In
Fastgraph 3.x and 4.0, the Fastgraph routines are split among several unit
files. To convert a Pascal program from Fastgraph 2.x to Fastgraph 4.0, you
must replace the FGTP unit reference with FGMAIN in the program's uses
statement, and then add any other unit file names that contain other routines
used in your program. Appendix E of the Fastgraph User's Guide lists the
Fastgraph routines in each Pascal unit file.
The other change pertains to the FG_SHOWPCX routine introduced in Fastgraph
3.0, which replaces the FG_DISPPCX routine of earlier versions (the routine
was renamed to avoid confusion with the pixel run display routines, which all
have names of the form FG_DISPxxxx). PCX image positioning will generally not
be an issue for full-screen PCX files because the PCX header typically defines
their upper left corner at the screen origin, which is where you'd move to
display a full-screen image anyway. However, if a PCX file is smaller than the
screen resolution and you want to override the image positioning in the PCX
header, you must define a new FG_SHOWPCX flags argument in which bit 1 is set.
That is, the Fastgraph 2.x call FG_DISPPCX(filename,0) is equivalent to
FG_SHOWPCX(filename,2). Similarly, FG_DISPPCX(filename,1) is equivalent to
FG_SHOWPCX(filename,3). Note that C and C++ programmers can use the following
preprocessor directive to make an old FG_DISPPCX call compatible with the new
FG_SHOWPCX routine.
#define fg_disppcx(a,b) fg_showpcx(a,b|2)