Animations

A file with the J2A extension is a Jazz Jackrabbit 2 Animation Library, copyrighted by Epic Megagames.
Analysed by Dr. Eggman of Jazz2Online.

Technicals

J2A Header

Header of animation library contains:

Offset Data and meaning
0000 1st identifier: ALIB
0004 2nd, hexadecimal identifier: 00 BA BE 00
0008 probably a pointer to the files table
000C unknown dword value
0010 j2a file size
0014 another unknown dword value
0018 number of ANIM chunks (ZLIB-compressed) inside the library

At offset 001C there are pointers to ANIM chunks, size of the table is (number of ANIM chunks)*4 bytes.

ANIM chunk Header and structure

JJ2 animation library is a pack of ZLIB-compressed files, called ANIM chunks.

Offset* Data and meaning
0000 1st identifier: ANIM
0004 two unknown dword values
000C 1st anim file compressed data size
0010 1st anim file original data size
0014 2nd anim file compressed data size
0018 2nd anim file original data size
001C 3rd anim file compressed data size
0020 3rd anim file original data size
0024 4th anim file compressed data size
0028 4th anim file original data size

* – Keep in mind that is a relative offset.

At offset 002C there are the anim files put in order.

Each ANIM chunk, after decompression of the four files contains (in ANIM header order):
animXY 0: a number of animation images and some other yet unknown data
animXY 1: the animation sequences information with animXY 2 pointers and so on
animXY 2: graphics and some yet unknown data
animXY 3: (if exists) identified sound effects that belongs to animation sequence

XY is an ID of extracted animation info file, 0 - 3 is an identifier of data type it has (my custom file naming concept).

Please note that: information about some values and how images are stored is not yet fully analysed. More data will be added soon…
Dr. Eggman

See also