Original Strife Dialog Format "long" is defined to unsigned little endian 4 byte integer. The following is for a page. They are numbered automatically per actor. The lump is just these pages repeated until the end of the lump. 0 long Actor's conversation ID 4 long Conversation ID of thing to be given to the player. 8 long Conversation ID of thing to check in player's inventory. 12 long Second inventory item to check. IIRC this and the next are not used by Strife. 16 long Third inventory item to check. 20 long Page to go to if inventory item is found. 24 string(16) Name of the actor speaking (this is shown on the top left of the page). 40 string(8) Lump name of the voice file to play. 48 string(8) Lump name of the background image. 56 string(320) Text to display. 376 ... Choices. There are always 5 of them (308 bytes of 0x00 if choice is not present. A choice is defined as the following: 0 long Converstaion ID of the item to give if the choice is selected. 4 long Conversation ID of the item that is required for this choice. 8 long Conversation ID of the item that is required for this choice, if if the previous was 0 and this has a value then this is used. The The difference is the cost will be displayed if this is used. 12 long Conversation ID of an alternate item that can be used to pay for this option. IIRC this is also not used by Strife. 16 long Amount of the first item needed to pick this choice. 20 long Amount of the second item needed to pick this choice. I don't think this can be combined with the previous field so set one of them to 0. 24 long Amount of the third item needed to pick this choice. 28 string(32) Text of the choice. 60 string(80) Short message to print to the screen on success. 140 signed long Page to go to when this choice is selected. If this is greater than 0 then the page specified in not shown until the dialog is initiated again. 144 long LOG lump to put to the communicator on success. 228 string(80) Short message to print to the screen on failure.