Universal Strife Dialog Compiler Readme
Last updated for version 1.0

This program compiles scripts in a format agreed upon by multiple parties known
as Universal Strife Dialog Format.  There are a few minor deviations from the 
USDF spec done for simplicity.  Below is the outline from the USDF 1.2 spec 
adjusted for this program.

conversation // Starts a dialog.
{
    actor = <integer>; // mobj for this conversation's actor.  If previously 
                       // used, this will override the previous conversation.

    page // Starts a new page.  Pages are automatically numbered starting at 0.
    {
        name   = <string>;  // Name that goes in the upper left hand corner
        panel  = <string>;  // Name of lump to render as the background.
        voice  = <string>;  // Narration sound lump.
        dialog = <string>;  // Dialog of the page.
        drop   = <integer>; // mobj for the object to drop if the actor is 
                            // killed.

        voicenumber = <integer>; // Voice number for old format dialogs.

        // jumps to the specified page if the chater has the specified amount 
        // or mofre of item in their inventory.  This can be repeated up to
        // three times.
        ifitem
        {
            item   = <integer>; // mobj of item to check.
            page   = <integer>; // page to jump to.
        }

        // Choices shall be automatically numbered.  (Up to 5)
        choice
        {
            text            = <string>;  // Name of the choice.

            // The amount of an item needed to successfully pick this option.
            // This can be repeated, but only the first will be shown (provided 
            // diaplaycost is true).  First to evaluate to true determines 
            // success.  (Up to 3)
            cost
            {
                item   = <integer>; // Item that is required for this option.
                amount = <integer>; // Minimum amount of the item needed.
            }

            displaycost     = <bool>;    // Weather the cost should be
                                         // displayed with the option.
                                         // Default: true
            yesmessage      = <string>;  // Text to add to console when choice
                                         // is accepted.
            nomessage       = <string>;  // Text to add to console when choice
                                         // is denied.

            log             = <integer>; // LOG entry to use on success.
            giveitem        = <integer>; // Gives the specified item upon
                                         // success.

            nextpage        = <integer>; // Sets the next page.
            closedialog     = <bool>;    // Should the dialog be closed upon
                                         // selecting this choice?
                                         // Default: false
        }
    }
}

If any port develop support for USDF natively then the scripts designed for 
this program should be compatible with little effort.  If I'm not mistaken it 
should just be a matter of making log a string which looks like "LOG01234".

This compiler supports compiling to the old teaser dialog format, however the 
use of this format is not recommended and is more limited.  A voicenumber 
property is provided for this format, but should not be used otherwise.

- Blzut3

USDF Specs can be found at: http://maniacsvault.net/usdf/
