do_dialog - Basic dialog manager function. Allegro game programming library.
int do_dialog(DIALOG *dialog, int focus_obj);
The basic dialog manager function. This displays a dialog (an array of dialog
objects, terminated by one with a NULL dialog procedure), and sets the input
focus to the focus_obj (-1 if you don't want anything to have the focus). It
interprets user input and dispatches messages as they are required, until one
of the dialog procedures tells it to close the dialog, at which point it
returns the index of the object that caused it to exit, or until ESC is
pressed, at which point it returns -1.