﻿New Features in 20.4.X

This is a developer's "incremental" release. These incremental releases
typically have a short life and are updated frequently. They may have
bug fixes, and thus be more stable, but they may also have new features
which very likely have new bugs. 

Version 20.4.16 is an update of Fractint 20.0 based on the developer's
  version 20.4.15.  New features include:

Patch 16 to Version 20.4.0

Minor changes to XFractint Makefile to clean up Gentoo compile.

Patch 15 to Version 20.4.0

Minor changes to XFractint source to clean up Gentoo compile.
Other minor cleanup of buffer overflow conditions.

Patch 14 to Version 20.4.0

Re-fixed the formula type buffer overflow in Xfractint.

Fixed savetime=y to work with Xfractint.

Patch 13 to Version 20.4.0

Fixed buffer overflow in Xfractint which was causing a segmentation fault
  when the formula parser tried to load a formula that was too large.

Updated formula parser in Xfractint to use the long double type.
  
Fixed sqrt_bf() function.

Patch 12 to Version 20.4.0

Fixed buffer overflow in disk video mode when savename was too long.

Patch 11 to Version 20.4.0

Fixed creation of sound PARs so that the sound= parameter appears after any
  other sound related parameters.  Fixed sound related PARs in fract200.par.

Fixed turning off sound when an image with sound is completed.

Marcus Pallinger provided changes to allow compiling Xfractint on an Intel Mac.

Fixed Xfractint version DivideBrot5 fractal type broken with patch 10.

Fixed Xfractint ncurses interface broken with patch 10.

Added a pause to the sound options via the use of the scalemap feature.
  Allowed scalemap value of 0 in PAR entries.

Patch 10 to Version 20.4.0

Fixed WinFract resetting palette when parameters are changed with the
  <X>, <Y>, <Z>, or <G> screens.

Fixed usage of shift and control keys in Xfractint.

Added sanity checks in Xfractint parser functions.

Fixed long standing bug in Xfractint that occurred when a PAR was
  invoked from the command line.

Increased the WinFract maximum image size to 4096x4096 pixels.  Your mileage
  may vary depending upon how much memory Windows can allocate.  But remember
  that above 2048x2048 passes=1 is forced.

Fixed bug in the cvtcentermagbf() routine that was introduced some time
  prior to version 19.6.  This fixes the problem that was occurring when
  rotating ap math images by 90 degrees.

Fixed buffer overflow in Xfractint that occurred when changing directories.

Patch 9 to Version 20.4.0

Added new Fractal type DivideBrot5 by Jim Muth.  This Fractal type
  has AP math support.  Note that image skewing and inversion are not
  supported by the AP math routines. See {Arbitrary Precision and Deep Zooming}
  for other features not supported.

  Fixed several obscure bugs in the AP math.

  Added MakeFile changes from Michal Januszewski (xfractint maintainer
  in Gentoo Linux) to increase distribution compatibility.

Patch 8 to Version 20.4.0

Fixed a bug in the virtual video code where the screen width was being
  reduced when going from a text screen back to the graphics screen.

  Revised logic that calculates the maximum X and Y resolutions possible
  with a given initial virtual screen size.  Because of the variable type being
  used, the maximum size is 32767 even if sufficient video memory is available
  to support higher resolutions.

  Added back in code that forces passes=1 when either the X or Y
  resolution is greater than 2048.  This was inadvertently removed with
  patch 5, and is needed because other passes= options are hard coded to
  use arrays of this size.

Xfractint changes:
  Jean-Pierre Demailly provided extensive changes to eliminate the use of
  ncurses with Xfractint and also updated the MakeFile.

  Included a patch from Andrew Church and the people at Gentoo that fixes a
  filename buffer overflow that affected the help compiler.  Also included
  their xioerror patch.

  Fixed a seg fault in Xfractint caused by not unstacking all the screens before
  exiting.

  Removed the shell-to-DOS option in Xfractint.

Patch 7 to Version 20.4.0

Added feature to write the base map name to the first line of the file when
  a map file is saved and the only change has been a rotation of the palette.
  The base map name is then read in and used as the current map name when the
  new map file is restored.

  The recordcolors=comment command line option has been modified to not
  create a comment line in PARs.  Two colors= entries are now created with
  the first one in the format colors=@fname.map and the second in the format
  colors=000<24>0n0...010.  When a PAR entry is read, the first colors= sets
  the map name, and the second colors= effectively rotates the colors.

  Updated the Xfractint Makefile to install using sudo instead of as root.

Patch 6 to Version 20.4.0
Added Per Image Settings to the formula parser.
  When initially selected from the fractal type formula screen, the symmetry and
  any per image settings are enforced.  The per image settings will be saved to
  PARs and GIFs, and can be changed from the appropriate screen.
  The possible values for per image settings are the same as the parameters
  that appear in PAR files, with the exception of 'params='.  Params can't
  be set in the per image settings section, because they get set to
  zero when the formula is parsed.

Patch 5 to Version 20.4.0

Tim's changes (5/29/2006)
  Moved version 20.0 change history to revision history to make room
  in help.src.
  
  Changed help screen to show just two main authors - decided
  better not to show inactive authors.
  
  Removed commented out complex macros in fractals.c.
  
  Added commented out bf version of Mandelbrot in fractalp.c. Giving 
  thought to offerring bfmath as an option to bnmath, but if we fix the 
  current bignum problems, this may be moot.
  
  Added interation to <tab> screen.

Jonathan's changes
  Fixed the logic for calculating when to switch from using a grid to using
  the on-the-fly calculation of an image's pixels.  The logic was not
  handling disk video images sized above 2048x2048 with floating point enabled.

  Added the savename to the disk video status screen.

  Fixed bug in the compare routine of bn_math that fixes long standing problem
  with periodicity checking in deep zoomed images.

  Resurrected the documentation for ap_math that was at the beginning of bignum.c.

  Added code to force periodicity=0 when the inside=atan feature is used.

Patch 4 to Version 20.4.0
Added minor changes so that Xfractint would compile under Cygwin.

  Added lines to the Xfractint makefile (commented out) for compiling in a
  64-bit environment.

  Fixed Xfractint so that built in calls to a different map file would
  work.

  Modified the logic for calculating when to switch from using a grid
  to using the on-the-fly calculation of an image's pixels.  This affects
  how large an image can be made when using integer math.  The switch is
  now made when (xdots + ydots) * sizeof(long) > 32768.

  Pulled the WinFract version 18.21 source into the CVS repository source
  tree.  This code now runs but still has many many bugs.

Patch 3 to Version 20.4.0
Started the cleanup of the docs.  Cleaned up the map directory.

  Fixed the Xfractint Makefile so that install would run.  Added an
  uninstall.

  Fixed Xfractint so that it can be run from an arbitrary directory and
  still use the directory settings in sstools.ini.

Patch 2 to Version 20.4.0
Fixed the display coordinates so they won't change, after an image had been
  zoomed, when the maintain screen coordinates parameter is set to yes.

  Fixed the corner parameter screen and image parameter screen so that
  rotating and/or skewing now doesn't get reset when changes are made.

Patch 1 to Version 20.4.0
Added the mathtolerance and orbit_delay parameters to values written
  to PARs and GIFs.

  Fixed how a mathtolerance parameter with a slash and a second number, but
  no first number is read in.  The slash was being interpreted as a double.

  Stole the <p> key for use by passes options.  If you are brave enough to
  try it, printing is still available using <ctl-p>.

  Put periodicity and orbit delay on the new <p> screen.  There are currently
  two drawing modes available for the passes=orbits option.  The rect(angle)
  method plots the orbits in a rectangle that can be zoomed, rotated, and
  skewed using the <F6> corner parameter screen, and the straight line method
  plots the orbits between two points specified on the <F6> corner parameter
  screen.  The orbit interval parameter plots every nth orbit.  The maintain
  screen coordinates parameter lets you zoom into an image changing the
  coordinates of the line or rectangle used to generate the image, but keeps
  the display coordinates, set on the <F2> screen, the same.

  Updated the docs for center-mag and corners because center-mag is now the
  default.

  Restructured the source to make it easier to maintain.
  
Version 20.4.0
Incremented the version number to accommodate backwards compatibility for
  the mandel based per-pixel routines that were not setting the Y variable.

  Added a passes=o option that draws an image by plotting the orbits of the
  escape time fractals and leaving them on the screen.  This technique uses
  the same coordinates to draw an image as the other passes options, sets
  "passes=1" and no symmetry, and then plots the orbits for each pixel.
  See {Drawing Method}.

  Cleaned up panning logic.

  Cleaned up docs.

Xfractint fixes:
  Fixed the newton and newtbasin types in Xfractint so they would work
  without using the FPU=387 option.

  Fixed the Xfractint mandelbrot code in calmanfp.c so that the image
  generated matched the one produced by the StandardFractal() routine.

  Fixed the outside=sum option when used with the mandel fractal type.

  Fixed the command line option -geometry, which broke at 20.2.05.

Patch 2 to Version 20.3.0
Fixed the inability to reload a PAR created from an arbitrary precision
  fractal with a large magnification. 

  Fixed the problem with a left mouse click not bringing up the zoom box
  after an image is completed.

  Incorporated Gerald Dobiasovsky's fix for the julibrot type when used
  with quat and hypercomplex.

  Fixed the display of subdirectories in Xfractint.

  Replaced control characters in realdos.c with the equivalent ascii values
  to quiet complaints by CVS.

Patch 1
Fixed the float bailout for the lambdafn fractal type when the EXP function
  is used so the float and integer images match.
  
  Jan Andres contributed Xfractint fixes that allow compiling with newer
  versions of gcc because varargs.h is no longer supported.  Enabled the
  use of the long double type on Solaris.  Moved the getwd() macro definition
  in prompts1.c after the #include lines, to avoid the mess that happens when
  the prototype for getwd() is included but it's already defined as a macro.
  Added some Solaris-specific comments to the Makefile.

  Fixed the sound in Xfractint so the beep turns off now.

  Changed lsys.c to use inline1 instead of the reserved word inline.

Version 20.3.0
Incremented the version number to accommodate backwards compatibility for
  the inside=atan and outside=atan options.
  
  Fixed inside=atan and outside=atan to use the full color palette instead
  of limiting to 180 colors.

  Added Charlie Chernohorsky's virtual screen zoombox fix.  See {View Window}.

  Added Gerald Dobiasovsky's fixes for the demo key files needed because
  of menu prompt changes and pan/zoom size changes.

  Fixed evolver parameter entry.

  Fixed hypercomplex fractal type to turn off symmetry when a cj parameter
  is used.

  Fixed the plasma type to show the value of the parameter that is actually
  used in the image genaration.

  Fixed the plasma type so that a parameter file uses the colors included
  in the parameter entry instead of the default colors.

  Revised the plasma type prompt to reflect the values that can actually be
  used.

  Increased the Lsystem line length from 160 characters to 255 characters.

  Fixed the browser so that it recognized the fractal type stored in images.

  Fixed the Xfractint FPUcplxdiv and FPUcplxlog routines in fpu087.c to
  match the Fractint assembler code.

  Modified the Xfractint resume code to remove the Xfractint specific
  sections since they are no longer needed (gcc macros match MSC macros).

Patch 5 to Version 20.2.0
Made changes to allow Xfractint to find files that use upper case letters.

  Fixed a problem with the Cellular type that prevented entering an initial
  row of greater than 32767 from working.  Added a message about not being
  able to resume after interrupting prior to rows being displayed on screen.

  Fixed an evolver bug which caused setting evolver parameters to turn
  evolving on, even though evolving was actually turned off.

  Added Charlie Chernohorsky's truecolor speed up and his implementation
  of virtual screen sizes for the VESA modes (dotmode=28).  This feature
  does not work consistently between different video cards, so it may be
  turned off by using the startup command "virtual=n".
  Use the <V> screen to set the desired virtual screen size.  See
  {View Window}.  Please remember that if either X or Y is greater than 2048,
  solid guessing is turned off.  This is for multiple reasons, so it is
  likely it will NOT get fixed soon.  There is also a problem with the
  colorbars that appear when saving an image leaving bits of corruption
  on the screen.  This occurs in all the VESA truecolor modes.

  Added Charlie to the scrolling list of contributors.

  Added Charlie's fix for the l-system type which occurred when a push-pop
  combination was on two different lines.

  Fixed the PAGE-UP/PAGE-DN zoombox in Xfractint so that it now appears on
  the screen.  Fixed ranges= in Xfractint so GIFs save correctly and
  program doesn't end abruptly.

Patch 4
Updated Paul de Leeuw's contact information.

  Modified the Xfractint makefile and source files to allow compiling
  without an assembler.

Patch 3
This patch ran the Xfractint code through -Wall to clear up most of the
  warnings.  Updated the Xfractint man page.  Turned on compiler
  optimizations.

  Fixed the documentation for the Latoocarfian fractal type thanks to
  comments by Pierre Desjardins on the Fractint Bug List.

Patch 2
This patch adds the assembly language version of the mandelbrot code to
  Xfractint.  To use it, it is necessary to place the command line switch
  fpu=387 in your sstools.ini file.  The NASM assembler was used, but if you
  don't have it available, not to worry, the object file is included.

  Modified the Xfractint C mandelbrot code to match the assembly version.

Patch 1
Made a small change to the quickcalc logic used to recalculate the inside
  pixels only when the iteration count is increased with a completed image.
  Interrupting and resuming the calculation was leaving extra pixels on the
  screen.

  Patched the Xfractint fractint.h file to match the DOS version.

  Fixed an Xfractint problem with color depths greater than 16 bits per pixel.

Version 20.2.0
Incremented the version number to accommodate backwards compatibility for
  the logmap option.

  Modified the logmap routine so that the color with index # 2 would be
  displayed.

  Added a logmode=auto command line option that causes the logmap to adjust
  automatically when zooming.  Changing almost anything will turn this
  feature off.  It is best set using the <g> screen prompt.

  Edited the help docs to document the move of the development area from
  Compuserve to the web.
 
Patch 13 to Version 20.1.0
Added parameters p4 and p5 to the evolver.  This required splitting the
  tweak central screen into two pages.

  Fixed an evolver bug that was causing the evolver to not exit cleanly.

  Changed the compile options on evolve.c to eliminate aliasing, which
  started to cause problems with this patch.

Patch 12
Fixed a problem with a finished image not redrawing if the maxiter was
  increased and another parameter was changed.

  Added checks for p3, p4, and p5 to the browser for determining similar
  images.

  Updated Scott Boyd's email address.

Xfractint fixes:
  Fixed the command line -disk segmentation fault.

  Fixed the Shell to Linux/Unix segmentation fault and the displayed prompt.

  Fixed the bug causing colors= data to be incorrect when in a truecolor mode.

  Removed or commented out extra lines of code and some experimental
  routines.  Some of this code was stealing key strokes.

  Changed the prompt for getting to the second <TAB> screen.

Patch 11
Fixed a bug that caused a panned image to miss part of a line when the
  image was panned while the first row was being generated.

  Adjusted the time for keyboard checks when the showdot feature is used.  Now
  the iterations stop much quicker when a key is pressed.

  Fixed a problem with the float-only version that appeared when an incomplete
  image was saved and restarted in the standard version.

  Fixed a problem in Xfractint pointed out by Ken on the Fractint bug list.

Patch 10
Took out a sanity check in the VESA detection routines that certain graphics
  cards don't pass, but work fine anyway.

Patch 9
Fixed evolver bug that occurred when some formula functions were evolved
  and others were not being evolved.

  Fixed a bug in the float-only version which truncated the image
  coordinates when saved to a PAR.
 
Patch 8
Added truecolor support to Fractint thanks to Bert Tyler.  While in a
  truecolor mode, the following features are disabled/changed:\
    Color Cycling\
    Palette Editor brings up the contents of the MAP directory\
    Saving the image still only produces a 256 color GIF\

  Removed Bert's truecolor test code used with the test fractal type.

  Updated Paul de Leeuw's contact information.

Patch 7
Fixed a bug which caused the float only version to omit the name of the
  formula/lsystem/ifs in saved GIFs.  Fixed the julia_inverse fractal type
  broken with the first patch to version 20.0.

  Incorporated Gerald Dobiasovsky's fix to make the background= command work.

  Added truecolor support to Xfractint thanks to Rich Thomson and Jean-Pierre
  Demailly.

  Additional Xfractint fixes include the mandelcloud type and outside=atan
  when used with type=mandel.

Patch 6
Once again fixed the assignment of hotkeys to video modes so that the
  fractint.cfg file is no longer corrupted.  This problem was caused by
  the section of code dealing with the true-color video modes.

Patch 5
Updated the disk video help docs.  The limit of disk video has been
  32767x32767 since version 20.0.

  Fixed the tab and evolver screens so that not using formula parameters
  consecutively starting with p1 now displays the parameters properly.
  The p4 and p5 parameters have still not been added to the evolver.

  Setting directories in sstools.ini can now be done relative to the
  current directory.  For example: .\frm\fract200.frm

Patch 4
Modified the per image startup code for the circle type to turn off the
  inside= option if startrail is used.  Since the inside=startrail option
  was locking up Fractint, no backwards compatibility is available.

  Fixed the cellular type in Xfractint.

  Fixed a problem with the Xfractint parameter, formula, and lsystem screens.

Patch 3
Fixed the incremental redraw so that interrupting the redraw no longer sets
  passes=1.

  Added a command line option, nobof=yes, which allows the inside=bof60 and
  bof61 options to function like the rest of the inside options.  With
  nobof=yes the images in "The Beauty of Fractals" are no longer reproduced.

  Increased the usable bailout values when using arbitrary precision math.

Patch 2
Updated Bret Mulvey's email address.

Patch 1
Fixed the <TAB> display screen so the video memory doesn't get overwritten.
  This clears up the problem with extraneous dots with some fractal types.

  Added Iain Stirling to the scrolling credits screen for his contribution
  of the inside=fmod and outside=fmod options.

  The background= parameter, for 3D TGA files, is now saved to a PAR entry.

Version 20.1.0
Incremented the version number to accommodate backwards compatibility for
  the inside=fmod option.

  Fixed the assignment of hotkeys to video modes so that the fractint.cfg
  file is no longer corrupted.  Made the showdot= feature reset with <INS>
  if it is entered using the <g> screen.  Added a check for the video size
  before invoking the palette editor.  Too small a size would crash Fractint.

  Fixed an extraseg conflict which occurred with arbitrary precision when
  the <tab> key was used with various screens open (x,y,b).  This conflict
  also occurred when loading an ap math image at the video selection screen.
  Cleaned up some of the ap math initialization code.

  Added outside=fmod option.  This is an extension of the inside=fmod option.
  The magnitude used for the comparison is now based on the same calculation as
  is used for the bailout test.  This feature was contributed by Iain Stirling.
  There is a problem with the mandel fractal type when outside=fmod is used
  with inside=bof6x and bailoutest=real, imag, or manr.  This is likely due
  to changes made in the code so that bof images could be reproduced.  Select
  a different fractal type that produces the default mandel image to explore
  using these parameters.

  Added outside=tdis option.  This colors the pixels according to the total
  distance traveled by the orbit.  This feature was suggested by Steve Robinson
  on the Fractint Wish List.

  Modified the inside and outside prompts on the <x> screen.  They are now
  split into two separate prompts.  One for entering a color number and the
  other for changing the option.  The left and right arrow keys can now be
  used to change the inside and outside options.

Patch 15 to Version 20.0.0
Added a prompt for the periodicity= option to the <y> Extended Options
  screen.

  Fixed another prompt problem with the stereogram prompt screen.
  Put back in the evolver grid size limit based on screen resolution.

  Fixed an evolver save problem when a zoom box was present just prior to
  the save.  Note that the center image cannot be recreated once the
  zoom box has been activated.  This is not a problem if you are working
  from a saved image, just restore it.

  Modified the routine that reports a view window that is too large so that
  along with the full screen being used, the X and Y dimensions on the <v>
  screen reflect the full screen dimensions.

  The <v> screen can now be used to set the resolution of disk video
  modes.  The limit is 32767x32767.  First select a disk video mode using
  <del>.  Then on the <v> screen enter both an X and a Y value.  If you go
  back to the <del> screen to see if the entry has been modified (it hasn't),
  you will get strange results if you don't select a video mode.

Patch 14
Fixed the generation of random numbers used by the evolver subimages.
  Fixed the bug causing completed evolver images to regenerate when
  restored.

Patch 13
Added parameters p4 and p5 to the formula parser.  Fixed the symmetry
  for cases where XAXIS_NOREAL and XAXIS_NOIMAG are used with the formula
  parser and multiple parameters are used.  Each parameter is now checked.

Patch 12
Fixed a 3D error introduced with patch 11.  Fixed the stereogram screen
  prompts to prevent out of bounds array accesses.

Patch 11
Fixed an off by one error in the Xfractint type=julia code.  Fixed the case
  where the second image would not finish generating when the 3D parameter
  Stereo=photo or stereo pair was used with an orbit type such as Lorenz.

Patch 10
Fixed some user interface prompts that were wrong in Xfractint. Merged the
  Xfractint version system with Fractint's. Thanks to Scott Boyd for 
  these changes.

Patch 9
Fixed a bug that occurred when maxhistory=0 was used.  Fixed a bug that
  occurred when ismand was used in a formula and ctrl <o> was pressed.
  Updated Jonathan's email address.

Patch 8
Fixed a bug causing a lock up with lsystem and ifs fractal types when using
  a disk video mode with an X or Y resolution greater than 2048.

Patch 7
Updated Xfractint, copyright notice.

Patch 6
Fixed fractint.cfg problems with extra commas or long lines. This allows
  the output of makefcfg from certain video boards to be used without
  editing.

Added center, magxmag, and rotskew constants to parser. See 
  Center-Mag Predefined Variables

Patch 5
Added new command truemode=iter, which is used to switch the ouput to the
  truecolor Targa file to the number of iterates for each pixel.

Made selecting the evolver feature turn off truecolor=yes.  Each subimage was
  being generated as a separate blank Targa file.

Patch 4
Fixed the type=test bug.

Removed Tim's compuserve email address.

Patch 3
Fixed a bug in the pentium mandelbrot code that affected periodicity
  checking.  Fixed a problem with skewed zoom boxes leaving dots on the
  screen.  This also fixed browser boxes with the same problem.  Fixed
  the zoom box so it is visible in 2-color modes.

Patch 2
Fixed a bug in the formula parser.  Updated Tim Wegner's email address.

Patch 1
Fixed the 2 and 16 color disk-video modes.  Using truecolor=yes now
  results in writing a fractxxx.tga file instead of iterates.tga.  This
  is not the same thing, so if somebody wants the output of the iterates.tga
  file, let us know.  Fixed the 3D targa modes.

