/* ================= UI_Message hacked over from Confirm stuff ================= */ void UI_Message( const char **lines ) { uiClientState_t cstate; int n1, l1; // zero set all our globals memset( &s_confirm, 0, sizeof(s_confirm) ); ConfirmMenu_Cache(); n1 = UI_ProportionalStringWidth( "OK" ); l1 = 320 - ( n1 / 2 ); s_confirm.lines = lines; s_confirm.style = UI_CENTER|UI_INVERSE|UI_SMALLFONT; s_confirm.menu.draw = MessageMenu_Draw; s_confirm.menu.key = ConfirmMenu_Key; s_confirm.menu.wrapAround = qtrue; trap_GetClientState( &cstate ); if ( cstate.connState >= CA_CONNECTED ) { s_confirm.menu.fullscreen = qfalse; } else { s_confirm.menu.fullscreen = qtrue; } s_confirm.yes.generic.type = MTYPE_PTEXT; s_confirm.yes.generic.flags = QMF_LEFT_JUSTIFY|QMF_PULSEIFFOCUS; s_confirm.yes.generic.callback = ConfirmMenu_Event; s_confirm.yes.generic.id = ID_CONFIRM_YES; s_confirm.yes.generic.x = l1; s_confirm.yes.generic.y = 280; s_confirm.yes.string = "OK"; s_confirm.yes.color = color_red; s_confirm.yes.style = UI_LEFT; Menu_AddItem( &s_confirm.menu, &s_confirm.yes ); UI_PushMenu( &s_confirm.menu ); Menu_SetCursorToItem( &s_confirm.menu, &s_confirm.yes ); }
/* ================= UI_ConfirmMenu_Stlye ================= */ void UI_ConfirmMenu_Style( const char *question, int style, void (*draw)( void ), void (*action)( qboolean result ) ) { uiClientState_t cstate; int n1, n2, n3; int l1, l2, l3; // zero set all our globals memset( &s_confirm, 0, sizeof(s_confirm) ); ConfirmMenu_Cache(); n1 = UI_ProportionalStringWidth( "YES/NO" ); n2 = UI_ProportionalStringWidth( "YES" ) + PROP_GAP_WIDTH; n3 = UI_ProportionalStringWidth( "/" ) + PROP_GAP_WIDTH; l1 = 320 - ( n1 / 2 ); l2 = l1 + n2; l3 = l2 + n3; s_confirm.slashX = l2; s_confirm.question = question; s_confirm.draw = draw; s_confirm.action = action; s_confirm.style = style; s_confirm.menu.draw = ConfirmMenu_Draw; s_confirm.menu.key = ConfirmMenu_Key; s_confirm.menu.wrapAround = qtrue; trap_GetClientState( &cstate ); if ( cstate.connState >= CA_CONNECTED ) { s_confirm.menu.fullscreen = qfalse; } else { s_confirm.menu.fullscreen = qtrue; } s_confirm.yes.generic.type = MTYPE_PTEXT; s_confirm.yes.generic.flags = QMF_LEFT_JUSTIFY|QMF_PULSEIFFOCUS; s_confirm.yes.generic.callback = ConfirmMenu_Event; s_confirm.yes.generic.id = ID_CONFIRM_YES; s_confirm.yes.generic.x = l1; s_confirm.yes.generic.y = 264; s_confirm.yes.string = "YES"; s_confirm.yes.color = color_red; s_confirm.yes.style = UI_LEFT; s_confirm.no.generic.type = MTYPE_PTEXT; s_confirm.no.generic.flags = QMF_LEFT_JUSTIFY|QMF_PULSEIFFOCUS; s_confirm.no.generic.callback = ConfirmMenu_Event; s_confirm.no.generic.id = ID_CONFIRM_NO; s_confirm.no.generic.x = l3; s_confirm.no.generic.y = 264; s_confirm.no.string = "NO"; s_confirm.no.color = color_red; s_confirm.no.style = UI_LEFT; Menu_AddItem( &s_confirm.menu, &s_confirm.yes ); Menu_AddItem( &s_confirm.menu, &s_confirm.no ); UI_PushMenu( &s_confirm.menu ); Menu_SetCursorToItem( &s_confirm.menu, &s_confirm.no ); }
void UI_ConfirmMenu( const char *question, void (*draw)( void ), void (*action)( qboolean result ) ) { // uiClientState_t cstate; int n1, n2, n3; int l1, l2, l3; // zero set all our globals memset( &s_confirm, 0, sizeof(s_confirm) ); ConfirmMenu_Cache(); Mouse_Show(); n1 = UI_ProportionalStringWidth( "YES/NO",UI_SMALLFONT ); n2 = UI_ProportionalStringWidth( "YES",UI_SMALLFONT ) + PROP_GAP_WIDTH; n3 = UI_ProportionalStringWidth( "/",UI_SMALLFONT ) + PROP_GAP_WIDTH; l1 = 320 - ( n1 / 2 ); l2 = l1 + n2; l3 = l2 + n3; s_confirm.slashX = l2; s_confirm.question = question; s_confirm.draw = draw; s_confirm.action = action; s_confirm.menu.draw = ConfirmMenu_Draw; s_confirm.menu.key = ConfirmMenu_Key; s_confirm.menu.wrapAround = qtrue; s_confirm.menu.fullscreen = qtrue; s_confirm.menu.descX = MENU_DESC_X; s_confirm.menu.descY = MENU_DESC_Y; s_confirm.menu.titleX = MENU_TITLE_X; s_confirm.menu.titleY = MENU_TITLE_Y; s_confirm.menu.titleI = MNT_CONFIRMATIONMENU_TITLE; s_confirm.menu.footNoteEnum = MNT_CONFIRMATION; s_confirm.yes.generic.type = MTYPE_BITMAP; s_confirm.yes.generic.flags = QMF_HIGHLIGHT_IF_FOCUS; s_confirm.yes.generic.x = 215; s_confirm.yes.generic.y = 365; s_confirm.yes.generic.callback = ConfirmMenu_Event; s_confirm.yes.generic.id = ID_CONFIRM_YES; s_confirm.yes.generic.name = GRAPHIC_SQUARE; s_confirm.yes.width = MENU_BUTTON_MED_WIDTH; s_confirm.yes.height = MENU_BUTTON_MED_HEIGHT; s_confirm.yes.color = CT_DKPURPLE1; s_confirm.yes.color2 = CT_LTPURPLE1; s_confirm.yes.textX = MENU_BUTTON_TEXT_X; s_confirm.yes.textY = MENU_BUTTON_TEXT_Y; s_confirm.yes.textEnum = MBT_GENERIC_YES; s_confirm.yes.textcolor = CT_BLACK; s_confirm.yes.textcolor2 = CT_WHITE; s_confirm.no.generic.type = MTYPE_BITMAP; s_confirm.no.generic.flags = QMF_HIGHLIGHT_IF_FOCUS; s_confirm.no.generic.x = 371; s_confirm.no.generic.y = 365; s_confirm.no.generic.callback = ConfirmMenu_Event; s_confirm.no.generic.id = ID_CONFIRM_NO; s_confirm.no.generic.name = GRAPHIC_SQUARE; s_confirm.no.width = 103; s_confirm.no.height = MENU_BUTTON_MED_HEIGHT; s_confirm.no.color = CT_DKPURPLE1; s_confirm.no.color2 = CT_LTPURPLE1; s_confirm.no.textX = MENU_BUTTON_TEXT_X; s_confirm.no.textY = MENU_BUTTON_TEXT_Y; s_confirm.no.textEnum = MBT_GENERIC_NO; s_confirm.no.textcolor = CT_BLACK; s_confirm.no.textcolor2 = CT_WHITE; Menu_AddItem( &s_confirm.menu, &s_confirm.yes ); Menu_AddItem( &s_confirm.menu, &s_confirm.no ); UI_PushMenu( &s_confirm.menu ); // Menu_SetCursorToItem( &s_confirm.menu, &s_confirm.no ); }