Halloween Harry Dialogue Format
Halloween Harry Dialogue Format is a simple text file used to control the dialogue between the main characters in the cutscenes. The files are stored in harry.-0.
The file consists of a series of commands, one per line. The first character of each line control what type of command to use. Each line must end with a semicolon and CRLF. Multiple commands cannot appear on the same line.
All filenames are fixed length strings, and must be padded with spaces to 12 characters (8.3) before the closing square bracket. Failing to do this will crash the game.
Here are all known commands:
- Text for Diane to say (red), while Diane's face animates.
- Text for Diane to say (red), without any face animation. Unused in the original game.
- Text for Harry to say (blue), while Harry's face animates.
- Text for Harry to say (blue) but without animating his face (used to put his text under a different image.)
- Text for alien leader to say (green). No facial animation.
- Text for unknown character to say (white). No facial animation. Unused in the original game.
- Play an animation.
- Draw a picture overlay at the given location. x and y may need to have leading-zeros to pad them up to three digits. Example:
- Draw a single frame from the face animations on Diane's mouth. Only 5 is ever used for x in the original game, which is her smiling animation, but one of the other values could be used for effect (e.g. 6 is an open mouth which could indicate shock.) 3 is Diane's mouth closed. Larger values put Harry's chin on Diane's face which just looks scary. Valid values are 0 to 17 inclusive.
- Animate face to say this text, without printing it on the screen. Must follow a command that animates a face, otherwise it will just cause a delay without any speaking animation. Unused in the original game.
- Pause for t seconds.
- Load a new picture. The filename of a .pcx image is placed in square brackets immediately after the S.
- Indicate the end of the story sequence.
Each of the text commands replaces any text currently on the screen. The delay between text lines is calculated based on the length of the text - longer text will delay for longer before showing the next line. This only applies to commands that provide facial animations however - the non-animating text commands do not wait at all and should be followed by a manual pause command.
This file format was reverse engineered by Malvineous. If you find this information helpful in a project you're working on, please give credit where credit is due. (A link back to this wiki would be nice too!)