home *** CD-ROM | disk | FTP | other *** search
-
- Surfmodl 3.00C Release Notes.
-
- These notes discuss the differences between SURFMODL 2.00c and 3.00C.
-
- NEW FEATURES:
-
- Version 3.00C has the following changes:
-
- -- Support for the full palette of the VGA and Super VGA adapters,
- and several resolution modes. Many thanks go to Jordan Hargrave,
- who wrote the SVGA256 support now used. (His contribution is
- shareware, however, so users are encouraged to register with him -
- see SVGA256.REG for details.)
- -- Fully dynamic memory allocation, so SURFMODL only uses as much
- memory as it needs. This also means there is no longer a need
- for two versions of the program; everyone can use the big memory
- version, regardless of how much memory their system has.
- -- Automated installation utility (SURFINST).
- -- Global configuration file (SURFMODL.CFG), created by SURFINST.
- -- A new symbolic command format in the .INI files, which makes them
- easy to manually modify.
- -- Interactive file selector, so you don't have to type in file names
- anymore.
- -- You can now save and play back screens in any graphics mode
- (previously this did not work with screens that required more than
- 64 KBytes of memory to store).
- -- The PLAYBACK utility now supports extended memory (using XMS, alias
- HIMEM.SYS), so it is possible to do very long animations. (For some
- of the high resolution Super VGA modes, you MUST have extended memory
- because there isn't enough conventional memory to load even a single
- screen.) A job well done by Yuval Tal, wrote the XMS unit I used to
- implement this.
- -- New looping options in PLAYBACK.
- -- Support for screen dumps to a color printer (using the shareware
- utility Colour Snap).
- -- Support for the Amiga IFF format for saving SURFMODL images.
- -- Option to show surface borders.
- -- Support for an optional environment variable, SURFDIR, where SURFMODL
- will look for all data files (default is the current directory).
- -- Performance statistics window.
- -- Saved screens are sequentially numbered, to avoid overwriting them.
- -- Several miscellaneous bugs tracked down and SQUASHED!
- -- Third optional command-line parameter, to allow automated scripts
- that save the screen to disk.
-
- COMPATIBILITY:
-
- Version 3.00C is written in Turbo Pascal 6.0. It may still compile
- under versions 5.0 and 5.5, but definitely nothing earlier. PLAYBACK
- requires version 6.0 because of the XMS unit.
-
- Version 3.00C reads all the old data files, but not the old .INI files.
- You must use the utility INICVT to convert your old-format .INI files
- into the new format. The new format has symbolic commands, so it is
- very easy to read and modify.
-
- Whereas I used to name all of the SURFMODL data files with no file
- name extension, SURFMODL now requires that you use the extension of .SRF
- if you want to use the interactive file selector. I recommend you use
- this extension for all your new data files, and rename your old data
- files to this extension.
-
-
- KNOWN BUGS:
-
- Much as I hate to admit it, there are still a few bugs in SURFMODL:
-
- -- Shadowing still doesn't work quite right (it never did).
- -- If PLAYBACK encounters an error allocating memory, on some
- systems it leaves you in a graphics mode and you can not
- read the error message. You have to blindly type "MODE CO80"
- to restore your screen to normal, but you may not know why
- PLAYBACK kicked you out. If you have extended memory available,
- and HIMEM.SYS is loaded, a memory allocation can fail for two
- reasons: (1) Not enough memory left; and (2) Ran out of handles.
- This is why you will now get an extensive memory usage report at
- the end of each PLAYBACK run if you use extended memory. If you
- have the above problem, I recommend you reduce the number of files
- that are used in your animation until you get something to work.
- Then you should have a readable memory report when the animation
- finishes, and you will be able to tell whether you are closer to
- running out of memory or out of handles. Unfortunately, the copy
- of HIMEM.SYS that I have does not allow you to increase the number
- of handles. If someone else knows how to, please let me know.
- -- The IBM 8514 has been removed from the system selection menu,
- because the new VGA driver (SVGA256.BGI and VGA256.BGI) use the
- same system number. I don't know anyone who has an 8514, but I
- would like to hear comments: Can you use the VGA drivers?
- -- IFF files generated by SURFIFF are not readable by all IFF file
- viewers (see SURFIFF.DOC for details).
- -- PREPROC's EXTRUDE function mis-orders surfaces (not always following
- the counter-clockwise rule), so you must use Nsides=2 if you use this
- feature.
-
-
- FUTURE DIRECTIONS:
-
- -- I am currently involved in a joint programming effort with Daniel
- Hudgins, the author of DANCAD3D (a popular shareware CAD program).
- We are trying to create an automated conversion utility to create
- SURFMODL data files from DANCAD3D. If we are successful, this will
- make a very simple way to create new SURFMODL data files.
- -- GIF support for file saving. I have actually already pretty much
- got this working, but the files are not displayed properly by all
- GIF viewers. I don't want to release this unless it's working 100%.
- -- An option to over-ride SURFMODL's autoscaling of images. I have
- been planning to do this for quite some time, but just haven't found
- the time.
-
-
- Notes for Programmers:
- ~~~~~~~~~~~~~~~~~~~~~
- The program comes as a number of include files, several units, and the main
- program:
-
- *.BGI - Borland Graphics Interface device drivers.
-
- COMPILE.BAT - Uses the Turbo Pascal line mode to compile the program.
-
- BGI2OBJ.BAT - Converts .BGI files into .OBJ files suitable for linking
- into the final SURFMODL.EXE file.
-
- *.INC - Include files for the program and units
-
- SURFMODL.PAS - The SURFMODL program
-
- ANSICRT.PAS - A unit to emulate the CRT unit using ANSI.SYS escape
- sequences on machines which are not IBM compatible.
- It's emulation is incomplete, and some CRT
- unit functions are still used, especially WINDOW,
- KEYPRESSED, and READKEY. You may have to modify
- this unit further to work on your system. Normally the
- Borland CRT unit is used and this unit is ignored.
-
- SURFBGI.PAS - A unit to provide Borland Graphics Interface support
- for VAXmate (and eventually other) computers. It uses
- the Borland GRAPH unit, but also supplies equivalent
- BGI routines for devices not supported by the GRAPH
- unit. It does not emulate the entire BGI system, just
- the parts which SURFMODL needs. It is supplied in
- this version to demonstrate how to integrate other
- graphics systems, but you should not need to use it.
-
- SURFGRAF.PAS - Surfmodl Graphics primitives, implemented in BGI graphics.
- If a non BGI graphics device is being used (like the
- VAXmate) then this unit uses the SURFBGI unit.
- Otherwise SURFBGI is never used.
-
- PLAYBACK.PAS - A program to play back images saved with surfmodl.
-
- SURFINST.PAS - Automated installation utility.
-
- PLAYPAL.PAS - A program to allow you to experiment with the full
- palette of the VGA, to see what your SURFMODL files
- will look like before you run them.
-
- See also the file FILES.IDX for a more complete list of files.
-
-
- Customizing the Program:
- ~~~~~~~~~~~~~~~~~~~~~~~
-
- The file DEFINES.INC is used to customize your program. It contains all
- the definitions for the built in Turbo Pascal pre-processor. This file is
- included at the beginning of all the programs and units, so a change in
- this file forces the entire system to be re-compiled.
-
- Some of the options included are support of the 80x87 chip, control over
- linking .BGI files into the .EXE file, use of the large memory model,
- generation of debugging code, generation of shadow processing code,
- and generation of code for "external" graphics devices (the VAXmate and
- Amiga IFF).
-
- See the DEFINES.INC file for details.
-
- ..Ken Van Camp
-