Jump to content

Agent Character Definition (file format)

From Agentpedia, the Microsoft Agent encyclopedia
Agent Character Definition
Screenshot of Chica's ACD file loaded in MACE 2.0.
NameAgent Character Definition
Extension.ACD
Initial releaseSeptember 8th, 1997 (28 years ago)
Operating systemMicrosoft Windows


An Agent Character Definiton (ACD) is a file created by the Microsoft Agent Character Editor which is the non-compiled code of a Microsoft Agent character. Unlike the other Microsoft Agent file types, ACD files are only used for creating Microsoft Agent characters, not for loading them unlike ACS and ACF files.

Usage

ACD files are the non-compiled source code of Microsoft Agents. They are used in MACE for saving characters which will be able to be compiled or modified later. They can be compiled into either an ACS or ACF file with each animation being an ACA for 2.0 characters or AAF for 1.5 characters. Since they are also stored in plain text, that means they can also be edited with a basic text editor such as Notepad.

Structure (2.0)

Since ACD files are stored in plain text, their file structure is pretty simple to understand.

DefineCharacter

The DefineCharacter section defines the character and contains metadata about them. It contains the general information about the character, the GUID of the character, the system tray icon of the character, the size of the character, the index of the transparency color of the character, the default frame duration of the character, some text-to-speech metadata, and the palette file for the character.

DefineInfo <LanguageID>

The DefineInfo section is a subsection of the DefineCharacter section. It sets the name of the character for the specific language ID, the description of the character, and the extra data for the character. While most characters only have one DefineInfo section, some characters, like Peedy, have multiple DefineInfo sections for supporting different languages.

DefineBalloon

The DefineBalloon section defines how the character's balloon looks. It defines the amount of lines the balloon displays, the maximum amount of characters that can fit into each line, the font name for the balloon, the size of the font; and the fore-color, back-color, and border color of the balloon.

DefineAnimation "<AnimationName>"

The DefineAnimation section defines an animation with the name that is put inside of the quotes. It contains all frames in the animation, the transition type of the animation, and the return animation if there's any.

DefineFrame

The DefineFrame section defines a frame in the animation. It contains the duration of the frame (100 being one second), the frame number to branch to when exit branching, any branching logic within the frame, all images in the frame, and also the sound effect to play with the frame.

DefineImage

The DefineImage section defines an image used in a frame. It contains the file location for the image as well as the offset of the image.

DefineMouth

The DefineMouth section defines a mouth for a frame. It is similar to DefineImage as it also contains the file location for the mouth image and the offset for the image, but it also contains the type of mouth it is, and also whenever to replace the base frame.

DefineBranching

The DefineBranching section defines the branching logic used in the frame. It contains the number of the frame to branch to, and also the probability that the current frame will branch to that frame (in percentage). MACE only allows three branching logics for each frame, so most characters will only have a maximum of three branching logics in the frame.

DefineState "<State>"

The DefineState section adds a group of animations to a specific state. This includes adding all Idle1 animations in a character to the IdlingLevel1 state, or the Show animation to the Show state. States are important for a character as without the Show state, characters will not be able to even show unless an animation is played, and without the Move states, the characters will slide across the screen instead of playing a specified move animation.

Trivia

  • There is no other Microsoft Agent related file type similar to ACD files, which is why they are an irreplaceable file type.
  • Even when compiled, the user can get an ACD from an ACS by using the Microsoft Agent Decompiler. This works on almost all ACS file besides for the ones that were compiled in MACE 1.5, and for the 4 main La Cantoche characters.
  • Loading an ACD that was originally created in MACE 1.5 and saving it in MACE 2.0 will automatically convert the character to a 2.0 Microsoft Agent.
  • Since ACD files are plain text, this makes it super easy to copy and paste multiple frames since the ability is lacked to do so in MACE.