home *** CD-ROM | disk | FTP | other *** search
- MOVIE! a ram animation system
-
- by
-
- Eric Graham
-
- Version 1.00
-
-
-
- The MOVIE! ram animation system consists of three programs that must be
- run from CLI. You will need to be familiar with CLI and with the use of
- a text editor, such as ED, because you will need to write text files to
- control the animation. The three programs are:
-
- DILBM Calculates the difference between two image files.
- PILBM Packs several difference files into a single animation
- file.
- MOVIE Plays back the animation.
-
- This system differs from other similar programs in several important
- ways:
-
- 1) It is in the public domain. It may be freely copied and
- distributed for non commercial purposes. Upgrades and enhancements may
- be provided from time to time.
-
- 2) It employs J-type animation compression. This is an adaptive
- algorithm that employs numerous different strategies to achieve the best
- compression and fastest playback. Additional strategies will probably
- be added to improve performance still further.
-
- 3) It works with HAM and non-HAM images, either full screen or
- overscan. It also works with European PAL Amigas.
-
-
-
- DILBM
- -----
-
- This program calculates the differences between two images and stores
- the result as a delta file. The program is called with the names of
- three files:
-
- dilbm image1 image2 delta
-
- The two image files must exist. The delta file will be created. The
- delta file represents the data required to convert image1 into image2.
- It is not reversible.
-
- There is an alternate delta format that is reversible, to generate it,
- add an 'x' at the end of the command:
-
- dilbm image1 image2 delta x
-
- Normally, dilbm will display a picture of the differences between the
- images. To suppress this picture, add a 'q' at the end of the command,
- this will make dilbm run slightly faster.
-
-
- PILBM
- -----
-
- This program packs delta files together to create an animation. It
- takes a single argument that is the name of a text file that contains a
- description of the animation. The following format must be followed:
-
- line
- 1 a The name of the animation that is to be produced.
- 2 i The name of the initial image.
- 3 d0 The name of the initial delta file.
- 4 d1 The name of the first delta file.
- 5 d2 The name of the second delta file.
- ...
- n+3 dn The name of the last delta file.
- n+4 * An asterisk to denote the start of sequence control
- n+5 m t m is a delta number and t is a time delay
- n+6 m t
- ...
- m t
-
- The animation works by double buffering, so you must specify two images.
- The file 'i' specifies the first image. The delta file 'd0' defines the
- second image in terms of the first.
-
- The delta file 'd0' is discarded after the second image file is
- constructed. The remaining delta files, d1 to dn are stored in memory.
- When the animation is replayed, the following actions take place:
-
- The first image is displayed on the screen. Then the second image is
- displayed. While the second image is displayed, the first image is
- changed with a delta file. Then it is displayed while the second image
- is modified with another delta file. This process is repeated.
-
- The sequence control determines the order in which the delta files are
- used. The value 'm' determines which delta file is to be used. The
- value t specifies how much time (in jiffies) is to be used for the
- change. If t is negative, then m is used to indicate a transfer to the
- m'th m-t pair. Thus the following sequence
-
- *
- 3 2
- 5 2
- 9 2
- 12 2
- 2 -1
-
- would stand for the following sequence of delta files:
-
- d3 d5 d9 d12 d5 d9 d12 d5 d9 d12 d5 d9 d12 etc.
-
- Not all delta files need to be used (although that would be wasteful)
- and some may be used many times, if the sequence control specifies a
- loop.
-
- Deciding which images to use to construct delta files, and the correct
- sequence of delta files is complicated because of the nature of double
- buffering. Here is an example, suppose that we wish to display images
- in the following sequence:
-
- 15 14 13 12 11 10 9 8 7 8 9 10 11 12 13 14 15 14 13 12 11 etc
-
- then we can use the 'x' type of reversible deltas and compute the
- following files (it is a good idea to place the dilbm commands in a text
- file and use an 'execute' command).
-
- dilbm pic15.image pic14.image dx15-14 x q
- dilbm pic15.image pic13.image dx15-13 x q
- dilbm pic14.image pic12.image dx14-12 x q
- dilbm pic13.image pic11.image dx13-11 x q
- dilbm pic12.image pic10.image dx12-10 x q
- dilbm pic11.image pic9.image dx11-9 x q
- dilbm pic10.image pic8.image dx10-8 x q
- dilbm pic9.image pic7.image dx9-7 x q
- dilbm pic8.image pic8.image dx8-8 x q
- pilbm buildx.script
-
- The file buildx.script contains the following:
-
-
- picx.anim
- phongm15.image
- dx15-14
-
- dx15-13
- dx14-12
- dx13-11
- dx12-10
- dx11-9
- dx10-8
- dx9-7
- dx8-8
- *
- 1 2
- 2 2
- 3 2
- 4 2
- 5 2
- 6 2
- 7 2
- 8 2
- 7 2
- 6 2
- 5 2
- 4 2
- 3 2
- 2 2
- 1 2
- 8 2
- 1 -1
-
-
- Note that the delta file dx8-8 causes no action to take place, so it is
- also used in place of dx14-14.
-
-
- MOVIE
- -----
-
- The movie playback program is particularly simple. Give it the name of
- an animation file. Press the 'escape' key to stop an animation that is
- looping.
-
- The program may also be run from workbench, set the default tool of the
- project (the animation file) to be 'movie'. Alternatively, hold down
- the shift key and click on the project and then while still holding
- down the shift key, double click on the movie icon.
-