Skip to content

Alice Media Binder

RadiantDerg edited this page Feb 18, 2022 · 19 revisions

Alice Media Binders (AMB Files)

Binders are usually a hard-coded file archive, meaning the game will ONLY reference the file data inside of these binders by their pre-defined IDs¹ (The ID itself is the order in which the said file appears).

This means that while you can freely edit whatever file they contain, the order of those files or the formats themselves must NOT be changed as this will confuse the game and cause it to crash or hang.

  • For example: You cannot replace a .ZNO(Model) file with a .ZNM(Model animation) file, OR a .ZNO(Original model format) file with an .LNO(Different model format) file.

Binders also support zlib compression. Only certain games feature these and as such, they are the only games that will support them. Once decompressed the AMB can be read normally.. however, while compressed the subheader, index, and data portions of the binder are replaced with a new value specifying the original file size in bytes, followed by the compressed data.

There are also several bytes within the binder that tend to go unused by the actual game. These bytes are actually meant for an internal tool Dimps used to describe the binder files and their contents. The tool would spit out a header file containing all the necessary information, which would then be compiled into the final game's code.

Console versions are big-endian. PC and mobile are little-endian.

¹ The exception to this is binders that have NOT been defined by the internal tool. They cannot reference the contents directly, so the game will instead rely on the Name Table to find what it's looking for.

Alice Media Binders generally contain these components:

  • A header
  • A subheader
  • A file index
  • The File data
  • A name table (Ignored by AMBs that have had their contents hard-coded. Hard-coded binders can omit this table completely for simple masking.)

Specifications (Improved readability)

Current media binder specificaton, including Revision #2 (AMBv3), can be found in OSA413's repository.

Clone this wiki locally