/* Structure for the data block passed to DarkLord when a module is called. The data should include: */ typedef struct dkl_info { short dk_xres; /* the screen width in pixels */ short dk_yres; /* the screen height in pixels */ short dk_handle; /* the VDI virtual workstation handle */ short dk_pens; /* the maximum number of available colour pens (e.g. ST high=2, ST low=16, Falcon True colour=256) */ short dk_colsloaded; /* the number of colours present in the palette contained in the currently loaded DKL file (0 if there is no DKL file loaded) */ short dk_planes; /* the number of bitplanes in this screen resolution (True Colour returns 16) */ int tc_flag; /* set to 1 if True Colour mode, 0 otherwise */ int *dklord_flag; /* the exit flag, set to non-zero on entry to the module */ int *counter; /* pointer to the countdown flag available to the module */ short *loaded_palette; /* pointer to the colour palette loaded when the DKL file was loaded (or to a copy of the existing colour palette if no DKL file was loaded) */ void *screen_ram; /* pointer to the start of screen RAM */ unsigned long gdos; /* flag for the presence of GDOS and which GDOS type */ int dk_flag1; /* the chosen state for flag 1, ranges from 1-6 */ int dk_flag2; /* as for flag 1 */ int dk_flag3; /* as for flag 1 */ int dk_min1; /* the minimum value of variable 1 (this is not user-changeable) */ int dk_max1; /* the maximum value of variable 1 (this is not user-changeable) */ int dk_start1; /* the value set by the user for variable 1 */ int dk_min2; /* as for variable 1 */ int dk_max2; /* as for variable 1 */ int dk_start2; /* as for variable 1 */ int dk_min3; /* as for variable 1 */ int dk_max3; /* as for variable 1 */ int dk_start3; /* as for variable 1 */ char *dk_line1; /* pointer to the first line of the message the user wishes to be displayed */ char *dk_line2; /* pointer to the second line of the message the user wishes to be displayed */ char *dk_line3; /* pointer to the third line of the message the user wishes to be displayed */ char dk_errmes[35]; /* holder for the message the module can pass back to DarkLord */ char *dk_fontname; /* pointer to the chosen font name */ } DKL_INFO; /* GDOS codes - one of these is passed in the GDOS flag of the above structure on entry to the module */ /* These codes are provided in vdi.h for Lattice users (version 5.6) and are therefore commented out here */ /* #define GDOS_NONE 0xfffffffe /* no GDOS */ #define GDOS_FSM 0x5f46534d /* _FSM */ #define GDOS_FNT 0x5f464e54 /* _FNT */ */ /* Function prototype for main() */ int main(DKL_INFO *);