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 |
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¶
datatypes.libraryReference — DataType API,NewDTObjectA(),DisposeDTObject(),DTA_*tags- Superclass:
movie.datatype(no dedicated NDK page; this is an internal helper class) iffparse.libraryReference — IFF file format primitives (FORM/LIST/PROP/CAT chunks)
Source: AmigaOS NDK 3.2 Release 4, Autodocs/anim_dtc.doc, Include_H/datatypes/datatypes.h, ReleaseNotes/anim-dt-RelNotes.