Скачать XLIB v2.02 - Graphics Library for Turbo Pascal 7.0

26.01.1995
Скачать файл (355,68 Кб)




+---------------------------------------------------------------+
|                                                               |
|  XLIB v2.02 - Graphics Library for Borland/Turbo Pascal 7.0   |
|                                                               |
|           Tristan Tarrant - tristant@cogs.susx.ac.uk          |
|                                                               |
+---------------------------------------------------------------+
|                                                               |
|                                 Credits                       |
|                                                               |
|                             Themie Gouthas                    |
|                                                               |
|                            Matthew MacKenzie                  |
|                                                               |
|                             Tore Bastiansen                   |
|                                                               |
|                                 Andy Tam                      |
|                                                               |
|                               Douglas Webb                    |
|                                                               |
|                              John  Schlagel                   |
|                                                               |
+---------------------------------------------------------------+
|                                                               |
|      I informally reserve all rights to the code in XLIB      |
| Rights to contributed code is also assumed to be reserved by  |
|                          the original authors.                |
|                                                               |
+---------------------------------------------------------------+

+---------------------------------------------------------------+
| DISCLAIMER                                                    |
+---------------------------------------------------------------+

        This library is distributed AS IS. The author/s
        specifically disclaim any responsibility for any loss of
        profit or any incidental, consequential or other damages.

+---------------------------------------------------------------+
| IMPORTANT NOTICE                                              |
+---------------------------------------------------------------+

        Hi Xlib users, this is v2.02 of my port of XLib to
        Turbo/Borland Pascal.  I would like to state a few things
        before you start using this package :

        I have ported all the useful stuff from Xlib for C v6.0,
        and added a few things of my own, apart from cleaning up
        the code and making it more Pascal-friendly.

        If there is any code you have written that you think is
        worth including in the next release, don't hesitate to
        send it to me and you will receive due credit.

        I have had a look at the new Xlib for C (6.11+) and the
        only addition it has is support for Windoze. What a pile
        o' shit. I am not going to add that feature (bug?) in
        Xlib for TP/BP.

        Sorry if this isn't up to your expectations but, hey,
        don't forget : XLIB is a user supported library, so send
        me your code and let's write the ultimate XMode game !!!

	Share and enjoy.

+----------------------------------------------------------------+
| INTRODUCTION                                                   |
+----------------------------------------------------------------+

        XLIB is a "user supported freeware" graphics library
        specifically designed with game programming in mind.

        It has been placed in the public domain for the benefit
        of all, and represents *MANY* hours of work so it is
        requested that all users comply with the the wishes of
        the author/s as specified in the individual modules and:

	a) To leave the code in the public domain
        b) Not distribute any modified or incomplete versions of
           this library

        New contribution and comments are welcome and hopefully
        there will be more releases as the code evolves.

        Finally, do not trust this excuse for a manual if in
        doubt, as this code has undergone several revisions. The
        place to get the answers is in the code itself.

+----------------------------------------------------------------+
| REQUIREMENTS                                                   |
+----------------------------------------------------------------+

	Minimum requirements
	386 processor,
	VGA,
	Borland/Turbo Pascal v7.0

+----------------------------------------------------------------+
| GENERAL FEATURES                                               |
+----------------------------------------------------------------+

        Support for a number of 256 colour tweaked graphics mode
        resolutions :

        320x200 320x240 360x200 360x240 376x282 320x400 320x480
        360x400 360x480 360x360 376x308 376x564 256x200 256x240
        256x224 256x256 360x270 400x300

        Please note that some of these resolutions best suit
        monitors with adjustable vertical height.

        Virtual screens larger than the physical screen (memory
        permitting) that can be panned at pixel resolution in all
        directions

	A split screen capability

        Text functions supporting 8x8 and 8x14 ROM fonts and user
        defined fonts

	Support for page flipping

        Graphics primitives such as line and rectangle drawing
        functions and of course bit block manipulation functions

	Virtual VSync Handler

	Compression and archiving

	GIF/BMP loading and saving

+----------------------------------------------------------------+
| BUILDING THE LIBRARIES                                         |
+----------------------------------------------------------------+

        To compile XLIB use the provided makefile. Just put all
        of the XLIB files in the same directory and type MAKE at
        the DOS prompt. This will build all the libraries and
        examples. If Borland Pascal isn't in your path just edit
        the makefile where indicated. BP 7.0 and TASM are
        required to compile the libraries.

        If you want to make units with full debug information,
        compile with MAKE -DDEBUG

        To make the DPMI versions of the units, compile with
        MAKE -DDPMI

        To make the help (XLIB2.TPH) file you need ScanHelp. I
        used version 3.26.  MAKE HELP

+----------------------------------------------------------------+
| USING THE LIBARY WITH YOUR PROGRAMS                            |
+----------------------------------------------------------------+

        Using the XLIB library in your programs is simple. Just
        include the XLIB units in the uses statement at the
        beginning of your program which will make all the
        procedures and functions composing the XLIB library
        available.

+---------------------------------------------------------------+
| BUGS AND REVISIONS                                            |
+---------------------------------------------------------------+

        The SplitScreen routines weren't handled by the Virtual
        VSync handler, sometime resulting in the program waiting
        twice for a vsync, and causing a choppy effect when
        scrolling the split screen.

        Now the mouse handler uses the VVH to redraw the pointer
        when necessary. Unfortunately it takes a bit too long
        and, if you are updating the whole palette AND using the
        mouse at the same time, you'll notice that the tip of the
        pointer disappears for an instant when it's at the top of
        the screen.

        The palette-updating part of the VVH has been sped up a
        bit.

        I have implemented 32-bit compiled bitmaps, even though
        they are bigger and (on my machine) slightly slower than
        normal CBMs. Maybe on VLB/PCI machines this isn't the
        case.

        Protected mode is still at an experimental stage, but it
        can do quite a few things already.  Things that don't
        work (or are a bit odd) in protected mode are :

        - The Virtual VSync handler (self-modification works, but
          the rest doesn't)
        - VBM's on my machine are faster in pmode (??!?!?!)
        - I assume that the ROM font is at segment 0C000h because
          that's where the Video BIOS usually is. I have tested
          it on a Paradise (WD90c30), a Cirrus Logic (CL-54xx)
          and a Trident (9000i) with no problems.  If you find
          some board that doesn't work please report it (though I
          don't know why you'd want to use ROM BIOS fonts anyway
          :-)

        - The palette scrolling in the XLIBDEMO is tooooooo
          slow...

        If you find a way of fixing these, or if you find more
        routines that don't like protected mode, email me please.

Release v2.01

	XConvert was broken. Fixed.
	XLArc and XLA2 were broken in DPMI. Fixed.
	Added file viewing in XLArc.
        If you want to know how to do CBMs in DPMI, read
        BLITDEMO.PAS.
        Makefile fixed.
        Bugfixes here and there.

Release v2.02

        Fixed clipping code. Now all clipping routines should not
        crash when displaying bitmaps that were allocated in
        areas of memory other than the data segment.

+---------------------------------------------------------------+
| NOTES                                                         |
+---------------------------------------------------------------+

        A good idea for debugging programs that use XLib is to
        use Colin Buckley's UNCHAIN v2.1 program. The code for
        saving the screen information is built in the xsetmode
        function, but if you don't use UNCHAIN it should not make
        any difference.

+---------------------------------------------------------------+
| APPLICATIONS THAT USE XLIB FOR TP/BP                          |
+---------------------------------------------------------------+

        I have decided to start a list of applications that have
        been written using a version of XLibPas, and where they
        can be found. Please mail me any additions.


        Chromatiks - The world's first multi-group music disk.
        Coordinated by Trixter (Jim Leonard).

			Site      : wasp.eng.ufl.edu
			Directory : /pub/msdos/demos/music/disks
			Filename  : chromat*.zip

        WadManager v1.50 - A GUI WAD manager for DOOM. Written by
        Tristan Tarrant.

			Site      : infant2.sphs.indiana.edu
			Directory : /pub/doom/misc
			Filename  : wm150.zip