Ok, this is what I figured out so far:
ARMYMEN_ATL_ANM.png
OBJECTS.DAT
byte[4] maybe checksum?
byte[1024] color palette (256 colors)
uint32 number of objects
// object index table
for each object {
byte[4] unknown
uint32 offset
}
// actual objects
for each object {
byte[24] header
uint32 size of section1
<section1>
uint32 size of section2
<section2>
uint32 size of section3
<section3>
}
<section1>
uint16 sprite_width
uint16 sprite_height
for (sprite_height) {
uint16 line_offset
}
<run-length encoded pixel data>
<num_transparent_pixels><num_opaque_pixels><opaque_pixels[]>
e.g.
55 00 -> 0x55 transparent pixels, no opaque pixels
45 01 20 0F 00 -> 0x45 tr., 1 opaque (index: 0x20), 0xF tr.
<section2>
same structure as section1 (maybe semi-transparent pixels?)
<section3>
looks like a monochrome bitmap (each byte represents 8 pixels)
maybe the shadow of the object?
size of section3:
(sprite_width/8) round up to the next even number
e.g. sprite_width = 85, sprite_height = 80
85 / 8 = 10.625 -> 12 (=line width)
size of section3 = 12*80 = 960
You do not have the required permissions to view the files attached to this post.