80 lines
1.9 KiB
Plaintext
80 lines
1.9 KiB
Plaintext
*** EXPLANATION ***
|
|
|
|
BMA is merely a container. It is very expandable, though the
|
|
file table could definately use a facelift. Have fun.
|
|
|
|
Anything not specified in the file is considered null, and can
|
|
be used for any purpose (considering those area are not read,
|
|
so custom tags could be added after the main header but before
|
|
the file table.)
|
|
|
|
|
|
|
|
*** SOURCE HEADERS AND DEFINITIONS ***
|
|
|
|
Make sure you use these typedefs:
|
|
TypeDef Unsigned Char Int8;
|
|
TypeDef Signed Short Int16;
|
|
TypeDef Signed Int Int32;
|
|
|
|
And constants:
|
|
Const BlockSize = 4096;
|
|
|
|
And these libraries:
|
|
ZLib
|
|
|
|
|
|
|
|
*** HEADER ***
|
|
|
|
(hex)
|
|
Location Type Desc
|
|
---------------------------------------------------------------
|
|
00 String(6) "BAMarc"
|
|
06 Int16 0xFFFF, identifier
|
|
08 Int16 Version #, always 1 for now
|
|
0A Int16 Entry count
|
|
0C Int8 Entry Table Block
|
|
0D Int8 First File Block
|
|
0E Int16 Reserved
|
|
10 Int8 Creator's name length
|
|
11 String(31) Creator's name
|
|
30 Int8 Description length
|
|
31 String(63) Description
|
|
|
|
|
|
*** FILE TABLE ***
|
|
(at file offset: EntryTableBlock*BlockSize)
|
|
|
|
(hex)
|
|
Location Type Desc
|
|
---------------------------------------------------------------
|
|
00 Int32 File length, in bytes
|
|
04 Int16 File offset, in blocks
|
|
06 Int8 Filename length
|
|
07 Int8 File flags:
|
|
& 0x01 = unused
|
|
& 0x02 = unused
|
|
& 0x04 = unused
|
|
& 0x08 = unused
|
|
& 0x10 = unused
|
|
& 0x20 = ZLib compressed
|
|
& 0x40 = unused
|
|
& 0x80 = unused
|
|
08 String(24) Filename
|
|
|
|
|
|
*** FILE ***
|
|
|
|
The file's true offset is at (FileOffsetBlock*BlockSize) in the
|
|
file. If a file is ZLIB compressed, there will be an extra
|
|
string at the end of the chunk, in ASCII, that contains the
|
|
uncompressed file size in bytes.
|
|
|
|
OGG audio is not compressed in these files because they can be
|
|
loaded directly into memory and played by a sound library.
|
|
|
|
|
|
|
|
-=- Created by SaxxonPike, 2004-2005 -=-
|