home *** CD-ROM | disk | FTP | other *** search
/ Amiga GigaPD 3 / Amiga_GigaPD_v3_3of3.iso / fred_fish / fish_601-700_lha / fish_674.lha / IFFLIB / CHANGES.DOC next >
Text File  |  1993-06-02  |  10KB  |  284 lines

  1. **
  2. **    $Id: CHANGES.DOC,v 22.2 92/06/03 23:52:06 chris Exp $
  3. **
  4. **    $Author: chris $
  5. **    $Release: 22.2 $
  6. **    $Date: 92/06/03 23:52:06 $
  7. **
  8.  
  9.  
  10.  
  11.  
  12. CHANGES FOR V22.2
  13. -----------------
  14.  
  15. * Superfluous seeking in OpenIFF() removed (occurred only if the file was
  16.   compressed with xpk)
  17.  
  18. * On popular demand, the MoviePRO ANIM player (plays Sculpt MOVIE and ANIM5)
  19.   is now included. It's still a BETA version, so use with care...
  20.  
  21.  
  22. CHANGES FOR V22.1
  23. -----------------
  24.  
  25. * iff.library now makes use of the powerful "xpk" data compression standard
  26.   for the Amiga. If xpkmaster.library is installed, the IFFL_OpenIFF()
  27.   function (in read mode) will automatically recognize and decompress all
  28.   IFF files which are compressed with one of the xpk compression schemes.
  29.   This is totally transparent, and no changes whatsoever are needed.
  30.  
  31.  
  32. CHANGES FOR V21.2
  33. -----------------
  34.  
  35. * IFFL_SaveClip() and IFFL_SaveBitMap() are now MUCH faster, and use
  36.   less stack.
  37.  
  38. * Decompression is a tad faster, and won't corrupt memory even if
  39.   the input file was corrupt.
  40.  
  41.  
  42. CHANGES FOR V21.1
  43. -----------------
  44.  
  45. This is a major upgrade. Although old binaries are 100% compatible, the
  46. programmer's interface changed. Here's what's new:
  47.  
  48. * New names for library functions, to avoid conflicts with Commodore's
  49.   "iffparse.library". Basically, each function of iff.library has
  50.   IFFL_ prepended to its name (IFFL_OpenIFF ...).
  51.  
  52. * OpenIFF() and NewOpenIFF() are both obsolete now. The former had this
  53.   design stupidity which would load 8SVX files into CHIP RAM; the latter
  54.   was added to remedy this situation, but actually the memory attribute
  55.   parameter of NewOpenIFF() was very rarely needed.
  56.   Now there's just one IFFL_OpenIFF() function, which behaves like
  57.   OpenIFF() except that it does NOT load 8SVX files to CHIP RAM.
  58.   It also has an additional parameter which lets you specify a mode
  59.   (Read or write).
  60.  
  61. * A set of powerful IFF writing functions has been added. With these
  62.   functions, you can create any type of IFF FORM (not just ILBM).
  63.   Look at the autodocs and example programs for more information.
  64.  
  65. * If you define the symbol IFFLIB_PRE21NAMES in your source codes, you
  66.   still can compile them using the old naming conventions. However,
  67.   you will lose the ability to use iffparse.library in the same files
  68.   because of the name clashes.
  69.  
  70. * In IFFL_SaveClip() and IFFL_SaveBitMap(), the color values are now
  71.   calculated correctly (multiplied, not shifted).
  72.  
  73.  
  74. CHANGES FOR V20.1
  75. -----------------
  76.  
  77. * No changes to the library, it's still 19.1
  78.  
  79. * Lots of new features and bug fixes for ShowIFF (COMMAND option,
  80.   AppIcon mode under Kickstart 2.x, ...), see ShowIFF/ShowIFF.doc
  81.   for details!
  82.  
  83.  
  84.  
  85. CHANGES FOR V19.1
  86. -----------------
  87.  
  88. * SaveClip() and SaveBitMap() now correctly write 24 bitplane pictures.
  89.  
  90. * ShowIFF correctly handles scroll boundaries under Kickstart 2.0, this
  91.   seems to be a 2.0 bug and so it may break again with new 2.0 releases.
  92.  
  93.  
  94. CHANGES FOR V18.8
  95. -----------------
  96.  
  97. * Modula-2 definition module and example program added, (contributed by
  98.   Oliver Schraner, thanx!).
  99.  
  100. * ShowIFF now adjusts the screen size according to the "normal" values
  101.   stored in GfxBase, for users of MoreRows or Kickstart 2.0.
  102.  
  103. * ShowIFF no longer crashes if started from WorkBench under Kickstart 2.0.
  104.   This was actually a bug in my startup code.
  105.  
  106. * Minor rearrangements in iff.h, iff.i, IFFGlue.asm and example files
  107.  
  108. * No functional changes to the library (except new version number ;-)
  109.  
  110.  
  111. CHANGES FOR V18.7
  112. -----------------
  113.  
  114. * You can now use DecodePic() to decode pictures with as many as 24
  115.   bitplanes. Although the original BitMap structure has only 8 pointers,
  116.   you can simply add more plane-pointers at the end of the structure.
  117.   Note that these pictures must be in a normal bit-plane format (i.e.
  118.   not the format for 'Deep ILBMs' specified by Commodore).
  119.   This feature enables my ShowIFF tool to directly display 24-bit pictures
  120.   scanned with the ASDG color scanner (with limited colors, of course).
  121.  
  122.  
  123. CHANGES FOR V18.6
  124. -----------------
  125.  
  126. * DecodePic() can deal with pictures which have more planes than the
  127.   destination BitMap. It will decode as many planes as the BitMap.Depth
  128.   field of your BitMap structure specifies, all other planes will be
  129.   discarded. As a result of this, the error message IFF_TOOMANYPLANES
  130.   is now obsolete.
  131.  
  132.  
  133. CHANGES FOR V18.5
  134. -----------------
  135.  
  136. * OpenIFF() no longer trashes memory if a corrupt FORM (with some random
  137.   bytes at the end of file, as generated by old DPaint) is loaded.
  138.  
  139. * SHAM pictures (HAM with palette changes at each line) are now fully
  140.   supported by ShowIFF.
  141.  
  142.  
  143. CHANGES FOR V18.4
  144. -----------------
  145.  
  146. * The library now handles poorly written BODY chunks correctly (such as
  147.   written by old DPaint versions). It can now deal with pictures with
  148.   a height or depth of 0.
  149.  
  150.  
  151. CHANGES FOR V18.2
  152. -----------------
  153.  
  154. * The type IFFFILE has been redefined from 'CPTR' to 'void *'. This allows
  155.   you to use pointers to ULONG as your IFF file handles (which are easier
  156.   to use, see AnimExample.c), and the compiler won't generate warnings if
  157.   you pass these variables to the IFF library functions.
  158.  
  159. * FindChunk() can be called with a chunk ID of 0. It then returns a pointer
  160.   to the first byte after the end of the current FORM. This can be used
  161.   by ANIM readers for jumping from FORM to FORM (see example program).
  162.  
  163.  
  164. CHANGES FOR V18.1
  165. -----------------
  166.  
  167. * New function ModifyFrame(). This functions takes a bitmap and modifies
  168.   its planes according to a supplied DLTA chunk. This allows you to
  169.   easily display DPaint III and compatible animations.
  170.  
  171. * GetViewModes() now correctly masks out the forbidden bits (SPRITES,
  172.   VP_HIDE and genlock). This bug caused pictures with the VP_HIDE bit
  173.   set not to be displayed at all!
  174.   It is now safe to put the result of GetViewModes() directly to the
  175.   NewScreen.ViewModes field, as it was supposed to.
  176.   Note that GetViewModes() now returns the full 32 bit CAMG entry, so
  177.   the prototype for GetViewModes() has changed from UWORD to ULONG.
  178.   The upper 16 bits of the view modes are reserved for future use by CBM.
  179.  
  180. * GetColorTab() now correctly masks out the lower 4 bits of the color
  181.   bytes (These bits are used by some converted Sun rasterfiles).
  182.  
  183. * The DecodePic() decruncher is more robust, it does not write past the
  184.   end of the bitmap anymore (remember those nasty 81000007/9 gurus?)
  185.   If you have pictures which can't be displayed, PLEASE let me know!
  186.  
  187. * The library base format has changed. Since this structure was never
  188.   documented, this should not cause any compatibility problems. It is
  189.   very likely that this structure changes from release to release, so
  190.   don't use it!
  191.  
  192. * The name for IffError() in the Assembler include file has changed to
  193.   IFFError() (IFF in caps) to be compatible with the C names. This
  194.   requires a global search-and-replace operation on your asm source
  195.   files.
  196.  
  197. * The ShowIFF.c example program has been debugged. It should now handle
  198.   Overscan pictures correctly (in V16.4, it sometimes switched to
  199.   scrolling-mode if the picture was 480 rows high).
  200.   The file scanner is no longer recursive, it uses ARP's 'ALL' features.
  201.   ShowIFF now always returns the memory it allocates.
  202.  
  203. * There is a new example program 'AnimExample.c'. It loads and displays
  204.   a DPaint animation, the user can set the speed and number of loops.
  205.   This example shows how to use the new ModifyFrame() routine.
  206.  
  207.  
  208. CHANGES FOR V17.x
  209. -----------------
  210.  
  211. This version never existed (the IFFLIB17.ZOO release contained iff.lib 16.4).
  212. To avoid confusion, the new version number is now 18.
  213.  
  214.  
  215. CHANGES FOR V16.4
  216. -----------------
  217.  
  218. * The ShowIFF.c example program was completely rewritten. It now uses the
  219.   ARP library for command line parsing and directory searching. A powerful
  220.   WorkBench handler has been added which lets you display the pictures in
  221.   a drawer or an entire disk by selecting the drawer or disk icon and acti-
  222.   vating the ShowIFF icon with extended selection.
  223.   If a picture is larger than the screen, you can use the mouse to scroll
  224.   the screen. (I have some scanned pictures with a resolution of
  225.   2048x2048 pixels, which can be displayed with 1MB chip ram!)
  226.  
  227. * The Play8SVX demo has been added. It plays sampled sounds from CLI and
  228.   WorkBench.
  229.  
  230. * Internal changes to the library code (I now use the DevPac assembler V2
  231.   by HiSoft instead of the Manx 3.6  assembler)
  232.  
  233.  
  234. CHANGES FOR V16.3
  235. -----------------
  236.  
  237. * The BMHD property chunks can now be in any order (which worked for V16.1,
  238.   but was broken in 16.2).
  239.  
  240.  
  241. CHANGES FOR V16.2
  242. -----------------
  243.  
  244. * The SaveBitMap/SaveClip() routines sometimes generated a wrong CAMG chunk.
  245.   This is fixed now.
  246.  
  247. * There are no more decruncher overruns corrupting the memory list
  248.  
  249.  
  250. CHANGES FOR V16.1
  251. -----------------
  252.  
  253. Since V15.3 I got lots of suggestions, so I made the following changes.
  254. Note that this version is fully downward-compatible to V15.3.
  255.  
  256. * There was a bug in the DecodePic() routine which called the guru if the
  257.   width of the picture was not a multiple of 16. It's fixed now.
  258.  
  259. * The GetViewModes() routines now calculates the viewmodes correctly for
  260.   all picture sizes, including Super-Overscan (produced by DigiView 3.0).
  261.  
  262. * When you open an IFF file with the OpenIFF() call, memory is allocated
  263.   and the file is read into that memory. Normally, all files are loaded
  264.   into whatever memory is available, but '8SVX' files are always loaded to
  265.   CHIP memory (the memory which is accessable by the Amiga's custom chips).
  266.   This solution is good for playing IFF sounds, but it is not satisfactory
  267.   for some other applications. The solution of this problem is quite easy:
  268.   I added a new routine called 'NewOpenIFF', which allows you to specify
  269.   the type of memory for the file.
  270.   So if you want to load an IFF instrument into any RAM, the right command
  271.   is: 'f=NewOpenIFF(filename,0L)' or 'f=OpenIFF(filename,MEMF_PUBLIC)'.
  272.   You can use any memory attributes you want (PUBLIC,CHIP,FAST...).
  273.  
  274. * The file 'iff.h' is now split into two files: 'iff.h', which contains the
  275.   structure definitions and function declarations, and 'IffGlue.asm',
  276.   which contains the C to Assembler interface routines. These routines are
  277.   needed for the Manx C compilere V3.6.
  278.  
  279. * The file 'IFFPragmas.h" is added to support the Lattice C compiler. It
  280.   was taken from an usenet article by Lyle E. Levine. (Thanks!)
  281.  
  282. * The demo file 'ShowIFF.c' now correctly handles overscan pictures.
  283.  
  284.