anim.datatype Reference

BOOPSI datatype class reference for anim.datatype, synthesised from the AmigaOS NDK 3.2 Release 4 (Autodocs/anim).

Class properties

Property Value
Display name anim.datatype
Group ID GID_MOVIE = MAKE_ID('m','o','v','i') (movie)
Superclass movie.datatype
File format ANIM (5-8 bit grayscale animation)
Methods declared 5
Parent class movie.datatype (no dedicated NDK page)

Description

The anim data type, a sub-class of the movie.datatype, is used to load ANIM files.

Methods

Each method is declared in the autodoc METHODS block. Method implementations are inherited from the superclass unless noted otherwise in the parent's autodoc.

Method Purpose
OM_NEW Create a new movie object from an ANIM. The source must be a file.
ADTM_LOADFRAME Load a specific frame of the ANIM. The frame is specified in the alf_Frame member of the adtFrame structure, see (V44).
ADTM_UNLOADFRAME forcibly unload all the data of the current frame and release its resources. (V44).
ADTM_START Start playing an animation.
OM_DISPOSE dispose all resources.

See also

  • animation.datatype

Release history (NDK 3.2 R4)

Excerpted from ReleaseNotes/anim-dt-RelNotes in the NDK 3.2 R4 distribution.

-------------------- AmigaOS 3.5/3.9 project -------------------------

anim 44.14 (9.3.1999)

- The library init code is now written in `C'.

- The library was compiled for use with '020 CPUs.

- The autodocs now state correctly that the source must
  be a file; clipboard input was never supported, not
  even in the initial V40 release.

- The IFF-ILBM BODY unpacker now checks whether the compression
  methods used are either cmpNone or cmpByteRun1.

- The method used for counting the number of frames in an
  anim file now takes the BODY-less storage formats into
  account and properly uses the iffparse scanner rather
  than reading and seeking through the raw file.

- The technique used for "rewinding" an IFF file now does
  proper error checking.

- The object setup code now makes sure that input comes
  from a file and does a whole lot more error checking.

- The key frame no longer needs to be stored in an IFF-ILBM
  BODY chunk; IFF-ILBM DLTA chunks are now supported, too.

- The frame loader now supports anim types 0,1,2,3,4,5,7,8,
  'J' and 'l'.

- Per-frame palette changes are now supported, too.

- The delta decoding routines are now written in `C' and
  perform extensive error checking on the input data.

- The frame decoder no longer assumes that 64000 bytes are
  sufficient to decode every BODY and DLTA data chunk.
  It reallocates a larger buffer if necessary.

anim 44.15 (14.3.1999)

- The frame loader now honours the "colour map is really 8 bits
  wide" flag proposed for use in the BitMapHeader.

anim 44.16 (27.3.1999)

- Per frame colour maps are no longer reused. They get released
  and reallocated when necessary.

anim 44.17 (27.3.1999)

- Now stores both bitmap data and colour map information
  with each frame allocated and loaded.

-------------------- AmigaOS 3.1.4.(1) project -----------------------

anim 45.1 (22.7.2018)

- Backported to 68K.

- If the library init failed, the code leaked memory
  and forgot to close the already open libraries. Fixed.

anim 45.2 (27.7.2018)

- Due to a mismatch in the assembler and C header files,
  the anim base was allocated incorrectly.

anim 45.3 (14.8.2018)

- Fixed a race condition in the library base lifetime
  handling.

anim 45.4 (17.8.2018)

- Double-buffer handling of anims was just broken, such
  that rendering on separate screens showed artefacts.
  Delta was applied to an incorrect key frame.

anim 45.5 (1.9.2018)

- In case the anim contains a DPAN chunk of version 3
  or 4, the number of frames is taken from there.

anim 45.6 (10.9.2018)

- Fixed another race condition on LibOpen.

----------------------- AmigaOS 3.2 project --------------------------

anim 47.1 (01.04.2020)

- Now computes required FPS based on frame time.
  Still does not support animations with variable frame time.

anim 47.2 (11.04.2020)

- Limit max FPS for slower machines to prevent frame skipping
  classes/datatypes/animation/anim/fpslimit

- Force user defined FPS for playing the file at given speed
  classes/datatypes/animation/anim/fps
  overrides fpslimit

Cross-references

Source: AmigaOS NDK 3.2 Release 4, Autodocs/anim_dtc.doc, Include_H/datatypes/datatypes.h, ReleaseNotes/anim-dt-RelNotes.