home *** CD-ROM | disk | FTP | other *** search
/ The CDPD Public Domain Collection for CDTV 4 / CDPD_IV.bin / e / mailinglists / binaries / iff.library232.lha / CHANGES.DOC next >
Text File  |  1993-05-24  |  11KB  |  323 lines

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