home *** CD-ROM | disk | FTP | other *** search
/ World of Graphics / WOGRAPH.BIN / 908.WHATSNEW.DMO < prev    next >
Text File  |  1993-07-12  |  20KB  |  373 lines

  1. DMORF Revision History
  2.  
  3. Rel 1.1, 07/12/93 -
  4.   o  Added a /GO command-line option, which you can use like this:
  5.        dmorf bla.msh /go
  6.      it'll make DMorf load the BLA.MSH mesh file, process the morph,
  7.      and then exit to DOS when it's done.  Useful if you want to
  8.      run a morph from batch file.
  9.   o  Built a new executable, DMORFNC.EXE, for folks without math
  10.      coprocessors.  It uses Borland Pascal's 6-byte Real data type
  11.      instead of the 4-byte Single-Precision floating point numbers
  12.      used in DMORF.EXE.  Borland Pascal's built-in support for
  13.      Reals is quite a bit faster than its coprocessor emulation.
  14.      On a machine without a coprocessor, DMORFNC.EXE should only be
  15.      2 or 3 times slower instead of 10 or 20 times slower.
  16.   o  Changed the picture and spline display during morphing...
  17.      now it shows the results from both passes of the "two-pass
  18.      mesh warp".
  19.   o  Moved "Morph Switches" and "Frame" controls to a new
  20.      dialog available with "Settings" button on both
  21.      main and Max views.
  22.   o  Added "Before" and "After" selection radio buttons
  23.      ... which decide which window some of the other
  24.      functions operate on, like Edit, Max, FlipH, Scale,
  25.      and Move.  So there's no need for two buttons for each.
  26.   o  Shrunk the main menu so there's only two rows of buttons,
  27.      and the picture windows can be larger.
  28.   o  Added a button for deleting lines from the meshes.
  29.   o  Found some new spline code from George Wolberg in Dr. Dobb's
  30.      Journal... so I adapted it and replaced the previous spline
  31.      code.  The new splines are a *lot* less prone to going
  32.      nuts.
  33.   o  Because of the stabler spline code, I put back some old
  34.      disabled code for remapping intervals between mesh lines
  35.      using splines instead of linear interpolation...
  36.      I may change this so that splined intervals are a default
  37.      that you can turn off.
  38.      The result is a more natural looking warp, but I suspect
  39.      there are some circumstances where linear interpolation
  40.      of intervals would look better.
  41.   o  Renamed fatpixels to "Zoom".  Also added a Zoom button to
  42.      the Maximized screen, for fine-tuning mesh control points.
  43. Rel 1.04, 05/23/93 - (beta release, limited distribution)
  44.   o  Finally "add mesh points" works right... even if you've
  45.      moved the points on the borders, the new lines will get put
  46.      in the right place.
  47. Rel 1.03, 05/09/93 - (beta release, limited distribution)
  48.   o  DMorf wasn't saving the Gamma correction values in mesh
  49.      files.  Now it does.
  50.   o  Changed "Spline Always" option... now it continues
  51.      displaying splines even while editing control points.
  52.      Ideally this'd be automatic whenever "Spline Mesh" is
  53.      selected, but it works way too slowly except on the fastest
  54.      of machines.
  55.   o  Added "Save As" to Edit screen.  Now Save just saves to the
  56.      current filename for the picture.  Save As prompts you for
  57.      a new filename.
  58.      When you do Save As, DMorf will change the filename in
  59.      the Pictures dialog, too.
  60.   o  Now if you Edit picture 2 when only one picture is loaded,
  61.      DMorf will load in a copy of picture 1... make sure to
  62.      use "Save As" when saving it back.  Otherwise you'll mess
  63.      up the file for picture 1.
  64.   o  Added a new screen, "FatPixels", which can be accessed from
  65.      the Edit screen.  It gives a magnified view of a portion
  66.      of the picture and lets you edit the transparency mask for
  67.      individual pixels.
  68.      (Now pixel editing only works on the FatPixels screen,
  69.      and area editing only works on the edit screen... it 1.02
  70.      you could fiddle with pixels on the regular edit screen,
  71.      but it didn't work well except with a tiny picture.)
  72.   o  Added "ABlur" (Alpha-Blur) button on the Edit screen.  It
  73.      performs a weighted blur filter against just the alpha
  74.      channel... this helps a bit since DMorf's rudimentary alpha
  75.      editing doesn't support fractional values.
  76.   o  Renamed "Zoom" to "Maximize"... since that's what it's really
  77.      doing.
  78.   o  Renamed "Mirror" to "FlipH" (Flip Horizontal)... 'cause I'll
  79.      probably add vertical flipping one of these days.
  80.   o  Added "Show In-between" and "Verbose Status" checkboxes
  81.      to the morph switches menu panel.  If you turn off
  82.      "Show In-between", then DMorf won't update the screen
  83.      while it's morphing... resulting in a speed increase.
  84.      If you turn off "Verbose Status", then DMorf will display
  85.      fewer messages while morphing... no percentages.  I thought
  86.      this would produce an okay speed increase, too, but it
  87.      didn't really.
  88.   o  I'm thinking of turning "Smooth Resample" off in the defaults...
  89.      so that the defaults would represent the fastest options, even
  90.      if it looks terrible.  Any thoughts, anybody?
  91.   o  Adding points didn't work right if you used the bottom or right
  92.      borders of a picture.  Fixed.
  93. Rel 1.02, 05/03/93 - (beta release, limited distribution)
  94.   o  Fixed message box placement.
  95.   o  When you edit a control point, DMorf now draws a little
  96.      circle around the corresponding point in the other picture.
  97.   o  DMorf no longer dumps you out to DOS if you type in an
  98.      incorrect picture filename.
  99.   o  Added "Spline Always" checkbox... if it's checked off,
  100.      DMorf always displays meshes as splines instead of lines.
  101.      ... except while editing control points.
  102.   o  Gamma-correction (for picture display only) works now.
  103.      (if your picture looks murky, try File=1.0, Disp=2.0.)
  104.   o  Fixed some message box glitches.
  105.   o  No locked mesh points yet, sorry.
  106.   o  Split "Save" button to "Save" and "Save As".  Save will save
  107.      to the current mesh-file name if there is one.  Save As
  108.      will prompt for a new mesh-file name.
  109.   o  Split "Load" button into "Load" and "Reload".  Load prompts
  110.      for a mesh-file name.  Reload re-reads the current mesh-file.
  111.   o  Area alpha-editing now works (Select the "area" radio-button
  112.      object).
  113.   o  Pixel alpha-editing now works better (Select the "pixel"
  114.      radio-button object).
  115.   o  The Save button on the alpha-editing screens now works.
  116.      ... even if you're using a GIF or IMG file, it always saves
  117.      the picture as a 32-bit TGA file (so that the alpha information
  118.      gets saved), and changes the filename in the Pictures dialog.
  119.      No Save As for pictures yet.
  120.   o  Added a "Mirror" button to the Edit screen... so you can flip
  121.      a picture horizontally.  Useful for symmetric morphs.
  122. Rel 1.01, 04/25/93 - (beta release, limited distribution)
  123.   o  Added VESA 1024x768x256 and 800x600x256 graphics modes.
  124.      You have to request these modes with the /1024 or /800
  125.      command-line switches
  126.      (I would have made /1024 the default, but I don't want folks
  127.      to accidentally get that mode if it's not supported by their
  128.      monitors...  I've heard that that this could damage a monitor)
  129.   o  Changed the mesh file format... it's now a text file
  130.      instead of a binary file.
  131.      This should make it a bit easier for folks (including me) to
  132.      build compatible files in external programs, if they're so
  133.      inclined.
  134.      Of course DMorf still reads all the old binary mesh files
  135.      from earlier versions.
  136.   o  Added a Hide button, which will make the control mesh
  137.      invisible for as long as you keep it pressed.
  138.   o  If you load a 32-bit TGA file that contains transparency
  139.      information, DMorf will display all transparent pixels
  140.      (also partially transparent pixels) in a different color.
  141.      You can change this color with the Alpha R,G,B controls.
  142.   o  Moved some of the controls (screen colors, output file
  143.      options) off of the main menu and onto popup dialogs.
  144.      Changed "Zoom 1" and "Zoom 2" buttons to little Maximize
  145.      buttons on the top-right corner of the picture windows.
  146.      These changes allow the menu panels to use up less of the
  147.      screen, freeing up more of the screen for displaying pictures.
  148.   o  Added Alpha color controls (in the Screen colors dialog).
  149.      This lets you control what color transparent pixels are
  150.      displayed in.
  151.   o  Added controls for gamma correction controls for picture
  152.      display (in the Screen colors dialog).  Haven't actually
  153.      implemented gamma correction, though.
  154.   o  When saving a mesh, DMorf now appends a '.MSH' to the
  155.      filename if you don't specify one, just as it does when
  156.      loading one in.
  157.   o  Added Input filename controls (in the Pictures dialog) for
  158.      specifying before & after pictures, and background picture
  159.      so you can change pictures without leaving dmorf.
  160.      (The background picture feature isn't implemented yet, though)
  161.      Input picture filenames are no longer required on the
  162.      command-line.  If you want, you can start up DMorf
  163.      with just the "dmorf" command, and then specify the pictures
  164.      in the Pictures dialog.
  165.      DMorf also saves the picture filenames into the mesh file.
  166.   o  DMorf no longer aborts when two pictures are specified
  167.      which don't have the same dimensions.  But, it will
  168.      still refuse to morph two pictures if they are differently
  169.      sized.  I'm planning on building in scaling so that you
  170.      can morph differently-sized pictures, but haven't done it
  171.      yet.
  172.   o  You no longer have to do a '/C' or '/M' to load in a
  173.      mesh file... DMorf will assume you're specifying a mesh
  174.      based on the '.MSH' extension.  You can just type
  175.      "dmorf xxx.msh" to load in a mesh, along with the pictures
  176.      named in the mesh file.  Or you can specify filenames and
  177.      mesh with a command like "dmorf xxx.msh file1.tga file2.tga"
  178.      or "dmorf file1.tga file2.tga xxx.msh".  Of course the
  179.      "/C" and "/M" switches are still recognized.
  180.   o  Moved Message windows so that they cover the menu panels
  181.      instead of the pictures.  This way it's easier to see what's
  182.      going on during the morph.  Also, since there's no more
  183.      need to store what's underneath the popup (it's easy to
  184.      recreate the menus), DMorf uses a tad less memory.
  185.   o  Added Edit windows... which let you modify the transparency
  186.      values of pixels in the pictures.
  187.      Still have to add a way to make an area transparent...
  188.      with a rubber-band box or something.
  189.      The Save button doesn't work yet, unfortunately... so
  190.      the transparency only stays in effect if you've "preload"ed
  191.      the pictures.
  192. Rel 1.0, 04/08/93 -
  193.   o  There's only one version of the program now, running in
  194.      Protected mode.
  195.   o  DMorf displays pictures in 640x480x256 mode if your hardware
  196.      can do it (and your hardware is compatible with DMorf's
  197.      VESA graphics driver).  Otherwise, it will switch to 16-color
  198.      mode.
  199.      If DMorf doesn't work properly with your VESA board or VESA
  200.      driver, you can tell it to use regular VGA mode with the
  201.      /NOSVGA command-line parameter.
  202.   o  Instead of listing the current row or column while morphing,
  203.      it just displays what percent of the job it has completed.
  204.   o  Fixed some bugs in TGA output file header.
  205.   o  Added some controls for selectively turning off nonstandard
  206.      features in TGA files.  (Well, they're standard according
  207.      to the specification, but not all programs support them).
  208.      These features include run-length encoding, 32-bit
  209.      pictures, and top-to-bottom scanline order.
  210.   o  Added "Mirror" buttons, which flip meshes horizontally.
  211.   o  DMorf used to leave a temporary file called "WARP.TGA" on
  212.      the disk when it was done morphing... it now deletes this
  213.      file.
  214.   o  (An otherwise undocumented features which might disappear in
  215.      the future:  Alt-P captures the screen to a grayscale TGA
  216.      file.)
  217.   o  (A last-minute addition... if you use the /QUICK command-line
  218.      option, DMorf won't keep updating the screen as it morphs...
  219.      this can save quite a bit of time.  In the future I'll make
  220.      this a setting that you can change on the DMorf screen.)
  221.   o  (Another last-minute addition... if you use the /PRELOAD
  222.      command-line option, DMorf will load each of the pictures
  223.      into memory once at startup instead of constantly re-reading
  224.      them during the morphing process.  This should adds a lot of
  225.      speed, especially in SVGA mode, but requires a hunk of
  226.      additional memory.)
  227.   o  Fixed a bug that prevented DMorf from reading Vivid IMG files
  228.      without crashing.
  229.   o  Fixed a bug that caused DMorf to allocate too much memory
  230.      while morphing.
  231. Rel 0.12, 12/26/92 -
  232.   o  Okay, I messed up.  Too much "holiday cheer" I guess.
  233.      Anyway, in 0.11 I did fix the bugs mentioned below, but
  234.      added several others while I was at it.  Fixed.
  235.   o  Added buttons on the zoom screens for switching between
  236.      zooms.
  237.   o  Changed the way keyboard control works... if you press a
  238.      letter it'll activate the screen control in question instead
  239.      of just selecting it.
  240. Rel 0.11, 12/24/92 -
  241.   o  Fixed some bugs: (1) there was some garbage in the headers
  242.      of TGA files because of uninitialized variables.
  243.      (2) Dmorf wasn't able to read mesh files from 0.09 and earlier
  244.      which were saved when the meshes were "locked".
  245.   o  Fiddled with mouse stuff so it behaves more smoothly in
  246.      protected mode.
  247. Rel 0.10, 12/21/92 -
  248.   o  Changed the name of the program to Dmorf (short for "Dave's
  249.      Morphing program" ... it seems that "Morph" was already taken
  250.      by a Macintosh commercial morphing program).
  251.   o  Fiddled with the UI some more.  You can now click on a number
  252.      field and type the number in instead of using the arrows to
  253.      increment and decrement them.
  254.   o  Added a "swap" button... it swaps meshes between the two
  255.      pictures.
  256.   o  Added "copy 1->2" and "copy 2->1" buttons... which make
  257.      duplicate the mesh from one window in the other.
  258.      These are replacements for the old "locked" setting.
  259.   o  Dmorf no long exits to DOS when it's done morphing.  It just
  260.      returns to edit mode.  Use the "quit" button or the <Esc> key
  261.      to exit the program.
  262.      If you press the ESC key while a morph is in progress,
  263.      it returns you to edit mode.
  264.   o  Dmorf doesn't need to load a whole picture into RAM just
  265.      do display it anymore... so you can display pictures and edit
  266.      meshes even with the real mode version (DMORF.EXE), and that
  267.      means you can use the SVGA mode (with the /S option) which
  268.      still doesn't work in protected mode.
  269.      For large pictures (or actually, anything but TINY pictures)
  270.      you'll need to use the protected mode version to do the
  271.      actual morphing.
  272.   o  You can now select UI controls with the tab key and space bar
  273.      instead of the mouse.  You can't control meshes with the
  274.      keyboard, but any other screen items should work fine.
  275.      Also, you can select a control by typing the letter that's
  276.      highlighted in its label... for instance, the G in the Go
  277.      button is highlighted.  If you press the G key, the Go
  278.      button will be selected... then just press the space bar
  279.      to actually select the button.
  280.   o  Got rid of "Spline intervals" option.  It almost always
  281.      produces "pixel rot" (thanks to Eric Kachelhofer for coming
  282.      up with that term), and the results were hardly ever
  283.      any better than without.
  284.   o  Dmorf now displays the intermediate meshes while it warps.
  285. Rel 0.09, 12/09/92 -
  286.   o  Added /C command-line parameter, which lets you preload a
  287.      mesh/control file.  "morph before.tga after.tga /cbla.msh"
  288.      preloads a control file called "bla.msh".
  289.   o  The maximum value for the "last frame" control wasn't
  290.      getting reset properly when Morph read in a control file.
  291.      Fixed.
  292.   o  Added /S command-line parameter, which tells MORPH to use
  293.      SVGA (640*480*256) instead of VGA (640*480*16).
  294.      Unfortunately, this only works in the real mode version,
  295.      because the SVGA256.BGI driver dies in protected mode,
  296.      so you'll only be able to use it on tiny pictures.
  297.      Hopefully this'll be corrected in a future version.
  298. Rel 0.08, 12/06/92 -
  299.   o  Fixed two more bugs which in some circumstances caused
  300.      runtime errors.
  301.   o  Changed some of the on/off-type controls to checkboxes.
  302.   o  Added controls to change the color of the mesh... sometimes
  303.      the default red color doesn't stand out too well.
  304.   o  Some of the on/off-type control values weren't getting saved
  305.      in the control file correctly.  Fixed.
  306.   o  Cleaned up the line-adding code... now Morph only pays attention
  307.      to the right button if the cursor is in a picture border.
  308.      In fact, if you try to use the right button anywhere else, it
  309.      lets off an irritating sound.  It also sounds a tone if you
  310.      try to add a line where there already is one.
  311.   o  Morph now pays attention to the escape key in zoom mode.
  312. Rel 0.07, 12/03/92 -
  313.   o  Fixed another memory allocation problem, which was sometimes
  314.      generating page-fault errors (runtime error 216).
  315. Rel 0.06, 12/01/92 -
  316.   o  MORPH wasn't deallocating some memory correctly, resulting
  317.      in out of memory errors after a while.
  318. Rel 0.05, 11/30/92 -
  319.   o  You can halt MORPH at pretty much any time with the <Esc> key.
  320.   o  the Warp 1/2 and Fade 1/2 controls weren't working right... no
  321.      matter what value was selected, MORPH would use the 50% for Warp
  322.      and 75% for Fade.  Fixed.
  323.   o  got rid of all the EMS/XMS/virtual memory stuff... there are
  324.      now two versions of the program: MORPH, which runs in real mode
  325.      and should work on pictures that are 320x240 or less; and
  326.      MORPHX, which runs in 286 Protected mode and should work on
  327.      pictures that are up to around 2000*2000 (if you've got 16MB
  328.      of memory... even if you've got more than 16M, MORPH can't access
  329.      any more.)
  330.      I will rework this so it stores only one channel at a time
  331.      (red, green, blue, alpha) and can work with pictures four
  332.      times larger. This'll make it slower, but I think that's a
  333.      fair trade.
  334.      Or maybe I'll rework MORPH so it operates on chunks instead
  335.      of a whole picture.
  336.      Note: to get the protected mode version working, you must have
  337.      a copy of RTM.EXE and DPMI16BI.OVL (and maybe DPMIINST.EXE if
  338.      you've got an unrecognized 286 processor).  These files are
  339.      available in another archive, DTAMEM.ZIP.  They're in a separate
  340.      archive so you won't have to redownload them each time MORPH
  341.      (or my other programs, DTA and PDOTS) gets updated.
  342.   o  MORPH now updates the screen as it's performing a morph.
  343.      In each pass of the warping process, for each picture, it
  344.      updates the picture in question with the interim results.
  345.      It then updates both screens with the actual merged morph
  346.      frame.
  347.   o  I discovered that the cause of a lot of streaking on the screen,
  348.      (and probably some crashes) was caused by a routine I was trying
  349.      out for figuring out the resampling intervals between mesh
  350.      curves using splines.
  351.      An earlier version of the routine, which uses linear
  352.      interpolation method, is stabler and faster.  The linear
  353.      method is now the default.  You can still switch back to
  354.      the spline method if you want (sometimes it produces more
  355.      convincing results).  This option is called "Spline intervals".
  356.   o  MORPH will no longer abort if you start it up without a
  357.      mouse driver loaded.  Instead, it will allow you to type a
  358.      few keystrokes.  The keystrokes it recognizes are <Esc>
  359.      or "A" to abort, "L" for load mesh file, and "G" for "Go".
  360. Rel 0.04, 11/26/92 -
  361.   o  Fixed another bug with upside-down TGAs (in zoom mode)
  362.   o  Fixed a minor interface bug.
  363.   o  Linked the bgi driver into the executable... so there
  364.      shouldn't be "initgraph" errors when you don't have
  365.      "egavga.bgi" in the morph directory.
  366. Rel 0.03, 11/23/92 -
  367.   o  Fixed run-time error that was all that you got from
  368.      pressing the Zoom buttons.
  369.   o  When dealing with upside-down TGAs (first line
  370.      at the bottom), MORPH flipped the picture upside down but didn't
  371.      flip the control mesh along with it.  Oops.
  372.   o  Copied a bit of interface gunk from PDOTS.
  373.