mirror of
https://github.com/UberGames/rpgxEF.git
synced 2024-11-14 17:01:21 +00:00
528 lines
13 KiB
C
528 lines
13 KiB
C
// Copyright (C) 1999-2000 Id Software, Inc.
|
|
//
|
|
/*
|
|
=======================================================================
|
|
|
|
CD KEY MENU
|
|
|
|
=======================================================================
|
|
*/
|
|
|
|
|
|
#include "ui_local.h"
|
|
#include "ui_logger.h"
|
|
|
|
enum ui_cdleyIDs_e {
|
|
ID_CDKEY = 10,
|
|
ID_ACCEPT,
|
|
ID_ACCEPTLATER
|
|
};
|
|
|
|
|
|
typedef struct {
|
|
menuframework_s menu;
|
|
|
|
menufield_s cdkey;
|
|
|
|
menubitmap_s accept;
|
|
menubitmap_s acceptlater;
|
|
int32_t keyResult;
|
|
|
|
qhandle_t halfround;
|
|
int32_t fromMenu;
|
|
} cdkeyMenuInfo_t;
|
|
|
|
static cdkeyMenuInfo_t cdkeyMenuInfo;
|
|
|
|
/*
|
|
=================
|
|
UI_CDKeyMenu_PreValidateKey
|
|
=================
|
|
*/
|
|
static int32_t UI_CDKeyMenu_PreValidateKey(const char *key)
|
|
{
|
|
UI_LogFuncBegin();
|
|
int32_t cnt, i;
|
|
|
|
// With dashes can't be more than 21 long
|
|
if (strlen(key) > 22)
|
|
{
|
|
UI_LogFuncEnd();
|
|
return -1;
|
|
}
|
|
|
|
cnt = 0;
|
|
for (i = 0; i < strlen(key) && key[i]; i++)
|
|
{
|
|
if ((key[i] >= '0' && key[i] <= '9')
|
|
|| (key[i] >= 'a' && key[i] <= 'z')
|
|
|| (key[i] >= 'A' && key[i] <= 'Z')
|
|
)
|
|
{
|
|
cnt++;
|
|
}
|
|
}
|
|
|
|
// Count without dashes (Should be 18 but 0's at the end weren't printed on the documentation so we're allowing 16 and adding the 0's in the keycheck)
|
|
if ((cnt < 16) || (cnt > 18))
|
|
{
|
|
UI_LogFuncEnd();
|
|
return -1;
|
|
}
|
|
UI_LogFuncEnd();
|
|
return 0;
|
|
}
|
|
|
|
|
|
/*
|
|
===============
|
|
UI_CDKeyMenu_Event
|
|
===============
|
|
*/
|
|
static void UI_CDKeyMenu_Event(void *ptr, int32_t event)
|
|
{
|
|
UI_LogFuncBegin();
|
|
if (event != QM_ACTIVATED)
|
|
{
|
|
UI_LogFuncEnd();
|
|
return;
|
|
}
|
|
|
|
switch (((menucommon_s*)ptr)->id)
|
|
{
|
|
case ID_ACCEPT:
|
|
|
|
cdkeyMenuInfo.keyResult = UI_CDKeyMenu_PreValidateKey(cdkeyMenuInfo.cdkey.field.buffer);
|
|
|
|
if (cdkeyMenuInfo.keyResult == 0)
|
|
{//passed quick check, now check for real
|
|
if (trap_SetCDKey(cdkeyMenuInfo.cdkey.field.buffer))
|
|
{//success
|
|
trap_Cvar_Set("ui_cdkeychecked", "1");
|
|
if (cdkeyMenuInfo.fromMenu)
|
|
{
|
|
UI_PopMenu();
|
|
}
|
|
}
|
|
else
|
|
{//failed real check
|
|
cdkeyMenuInfo.keyResult = -1;
|
|
trap_S_StartLocalSound(menu_buzz_sound, CHAN_MENU1); // WRONG!!!! sound
|
|
}
|
|
}
|
|
else if (cdkeyMenuInfo.keyResult < 0)
|
|
{//failed ui quick check
|
|
trap_S_StartLocalSound(menu_buzz_sound, CHAN_MENU1); // WRONG!!!! sound
|
|
}
|
|
break;
|
|
|
|
case ID_ACCEPTLATER:
|
|
if (cdkeyMenuInfo.keyResult != 0) { //not valid or not entered
|
|
trap_Cvar_Set("ui_cdkeychecked", "-1");
|
|
}
|
|
UI_PopMenu();
|
|
break;
|
|
|
|
}
|
|
UI_LogFuncEnd();
|
|
}
|
|
|
|
|
|
/*
|
|
=================
|
|
UI_CDKeyMenu_DrawKey
|
|
=================
|
|
*/
|
|
static void UI_CDKeyMenu_DrawKey(void *self)
|
|
{
|
|
UI_LogFuncBegin();
|
|
menufield_s *f;
|
|
qboolean focus;
|
|
int32_t style;
|
|
float *color;
|
|
int32_t x, y;
|
|
|
|
f = (menufield_s *)self;
|
|
|
|
focus = (f->generic.parent->cursor == f->generic.menuPosition);
|
|
|
|
style = UI_LEFT;
|
|
if (focus)
|
|
{
|
|
color = colorTable[CT_LTGOLD1];
|
|
}
|
|
else
|
|
{
|
|
color = colorTable[CT_DKGOLD1];
|
|
}
|
|
|
|
x = cdkeyMenuInfo.cdkey.generic.x;
|
|
y = cdkeyMenuInfo.cdkey.generic.y;
|
|
|
|
UI_FillRect(x, y, cdkeyMenuInfo.cdkey.field.widthInChars * SMALLCHAR_WIDTH, SMALLCHAR_HEIGHT, colorTable[CT_BLACK]);
|
|
UI_FillRect(x, y, cdkeyMenuInfo.cdkey.field.widthInChars * SMALLCHAR_WIDTH, SMALLCHAR_HEIGHT, listbar_color);
|
|
UI_DrawString(x, y, f->field.buffer, style, color, qtrue);
|
|
|
|
// draw cursor if we have focus
|
|
if (focus)
|
|
{
|
|
char c;
|
|
if (trap_Key_GetOverstrikeMode())
|
|
{
|
|
c = 11;
|
|
}
|
|
else
|
|
{
|
|
c = 10;
|
|
}
|
|
|
|
style &= ~UI_PULSE;
|
|
style |= UI_BLINK;
|
|
|
|
UI_DrawChar(x + f->field.cursor * SMALLCHAR_WIDTH, y, c, style, color_white);
|
|
}
|
|
UI_LogFuncEnd();
|
|
}
|
|
|
|
/*
|
|
=================
|
|
CDKeyMenu_Graphics
|
|
=================
|
|
*/
|
|
void CDKeyMenu_Graphics(void)
|
|
{
|
|
UI_LogFuncBegin();
|
|
int32_t x, y;
|
|
|
|
// Draw the basic screen layout
|
|
UI_MenuFrame(&cdkeyMenuInfo.menu);
|
|
|
|
trap_R_SetColor(colorTable[CT_LTBROWN1]);
|
|
UI_DrawHandlePic(30, 203, 47, 186, uis.whiteShader); // Middle left line of frame
|
|
|
|
trap_R_SetColor(colorTable[CT_DKPURPLE1]);
|
|
UI_DrawHandlePic(246, 238, 197, 24, uis.whiteShader);
|
|
UI_DrawHandlePic(227, 238, -16, 32, cdkeyMenuInfo.halfround); // Left round
|
|
UI_DrawHandlePic(446, 238, 16, 32, cdkeyMenuInfo.halfround); // Right round
|
|
|
|
UI_DrawProportionalString(74, 66, "557", UI_RIGHT | UI_TINYFONT, colorTable[CT_BLACK]);
|
|
UI_DrawProportionalString(74, 84, "2344", UI_RIGHT | UI_TINYFONT, colorTable[CT_BLACK]);
|
|
UI_DrawProportionalString(74, 188, "89-35", UI_RIGHT | UI_TINYFONT, colorTable[CT_BLACK]);
|
|
UI_DrawProportionalString(74, 206, "32906", UI_RIGHT | UI_TINYFONT, colorTable[CT_BLACK]);
|
|
UI_DrawProportionalString(74, 395, "30-1789", UI_RIGHT | UI_TINYFONT, colorTable[CT_BLACK]);
|
|
|
|
x = 344;
|
|
y = 279;
|
|
if (cdkeyMenuInfo.keyResult == 0)
|
|
{
|
|
UI_DrawProportionalString(x, y, menu_normal_text[MNT_VALID_CDKEY], UI_CENTER | UI_SMALLFONT, colorTable[CT_WHITE]);
|
|
}
|
|
else if (cdkeyMenuInfo.keyResult == 1)
|
|
{
|
|
UI_DrawProportionalString(x, y, menu_normal_text[MNT_ENTER_CDKEY], UI_CENTER | UI_SMALLFONT, colorTable[CT_LTGOLD1]);
|
|
}
|
|
else
|
|
{
|
|
UI_DrawProportionalString(x, y, menu_normal_text[MNT_CDKEY_INVALID], UI_CENTER | UI_SMALLFONT, colorTable[CT_RED]);
|
|
}
|
|
|
|
UI_Setup_MenuButtons();
|
|
UI_LogFuncEnd();
|
|
}
|
|
|
|
/*
|
|
=================
|
|
CDKey_MenuDraw
|
|
=================
|
|
*/
|
|
static void CDKey_MenuDraw(void)
|
|
{
|
|
UI_LogFuncBegin();
|
|
CDKeyMenu_Graphics();
|
|
Menu_Draw(&cdkeyMenuInfo.menu);
|
|
UI_LogFuncEnd();
|
|
}
|
|
|
|
/*
|
|
===============
|
|
UI_CDKeyMenu_Init
|
|
===============
|
|
*/
|
|
static void UI_CDKeyMenu_Init(void)
|
|
{
|
|
UI_LogFuncBegin();
|
|
memset(&cdkeyMenuInfo, 0, sizeof(cdkeyMenuInfo));
|
|
|
|
UI_CDKeyMenu_Cache();
|
|
|
|
cdkeyMenuInfo.menu.wrapAround = qtrue;
|
|
cdkeyMenuInfo.menu.fullscreen = qtrue;
|
|
cdkeyMenuInfo.menu.draw = CDKey_MenuDraw;
|
|
cdkeyMenuInfo.menu.descX = MENU_DESC_X;
|
|
cdkeyMenuInfo.menu.descY = MENU_DESC_Y;
|
|
cdkeyMenuInfo.menu.titleX = MENU_TITLE_X;
|
|
cdkeyMenuInfo.menu.titleY = MENU_TITLE_Y;
|
|
cdkeyMenuInfo.menu.titleI = MNT_CDKEYMENU_TITLE;
|
|
cdkeyMenuInfo.menu.footNoteEnum = MNT_CDKEY;
|
|
|
|
cdkeyMenuInfo.cdkey.generic.type = MTYPE_FIELD;
|
|
cdkeyMenuInfo.cdkey.generic.flags = QMF_UPPERCASE;
|
|
cdkeyMenuInfo.cdkey.generic.x = 256;
|
|
cdkeyMenuInfo.cdkey.generic.y = 242;
|
|
cdkeyMenuInfo.cdkey.field.style = UI_SMALLFONT;
|
|
cdkeyMenuInfo.cdkey.field.widthInChars = 22;
|
|
cdkeyMenuInfo.cdkey.field.maxchars = 22;
|
|
cdkeyMenuInfo.cdkey.generic.ownerdraw = UI_CDKeyMenu_DrawKey;
|
|
cdkeyMenuInfo.cdkey.field.titleEnum = MNT_CDKEY;
|
|
cdkeyMenuInfo.cdkey.field.titlecolor = CT_LTGOLD1;
|
|
cdkeyMenuInfo.cdkey.field.textcolor = CT_DKGOLD1;
|
|
cdkeyMenuInfo.cdkey.field.textcolor2 = CT_LTGOLD1;
|
|
|
|
|
|
cdkeyMenuInfo.accept.generic.type = MTYPE_BITMAP;
|
|
cdkeyMenuInfo.accept.generic.name = GRAPHIC_SQUARE;
|
|
cdkeyMenuInfo.accept.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
|
|
cdkeyMenuInfo.accept.generic.id = ID_ACCEPT;
|
|
cdkeyMenuInfo.accept.generic.callback = UI_CDKeyMenu_Event;
|
|
cdkeyMenuInfo.accept.generic.x = 279;
|
|
cdkeyMenuInfo.accept.generic.y = 391;
|
|
cdkeyMenuInfo.accept.width = MENU_BUTTON_MED_WIDTH;
|
|
cdkeyMenuInfo.accept.height = 42;
|
|
cdkeyMenuInfo.accept.color = CT_DKPURPLE1;
|
|
cdkeyMenuInfo.accept.color2 = CT_LTPURPLE1;
|
|
cdkeyMenuInfo.accept.textX = MENU_BUTTON_TEXT_X;
|
|
cdkeyMenuInfo.accept.textY = MENU_BUTTON_TEXT_Y;
|
|
cdkeyMenuInfo.accept.textEnum = MBT_ACCEPT;
|
|
cdkeyMenuInfo.accept.textcolor = CT_BLACK;
|
|
cdkeyMenuInfo.accept.textcolor2 = CT_WHITE;
|
|
|
|
|
|
SetupMenu_TopButtons(&cdkeyMenuInfo.menu, MENU_CDKEY, NULL);
|
|
|
|
Menu_AddItem(&cdkeyMenuInfo.menu, &cdkeyMenuInfo.cdkey);
|
|
Menu_AddItem(&cdkeyMenuInfo.menu, &cdkeyMenuInfo.accept);
|
|
|
|
if (ui_cdkeychecked.integer == 1) {
|
|
cdkeyMenuInfo.keyResult = 0; //already got a good one once
|
|
}
|
|
else {
|
|
cdkeyMenuInfo.keyResult = 1;
|
|
}
|
|
UI_LogFuncEnd();
|
|
}
|
|
|
|
|
|
/*
|
|
=================
|
|
UI_CDKeyMenu_Cache
|
|
=================
|
|
*/
|
|
void UI_CDKeyMenu_Cache(void)
|
|
{
|
|
UI_LogFuncBegin();
|
|
cdkeyMenuInfo.halfround = trap_R_RegisterShaderNoMip("menu/common/halfround_r_24.tga");
|
|
UI_LogFuncEnd();
|
|
}
|
|
|
|
|
|
/*
|
|
===============
|
|
UI_CDKeyMenu
|
|
===============
|
|
*/
|
|
void UI_CDKeyMenu(void)
|
|
{
|
|
UI_LogFuncBegin();
|
|
UI_CDKeyMenu_Init();
|
|
UI_PushMenu(&cdkeyMenuInfo.menu);
|
|
UI_LogFuncEnd();
|
|
}
|
|
|
|
|
|
/*
|
|
=================
|
|
M_CDKey2Menu_Key
|
|
=================
|
|
*/
|
|
sfxHandle_t M_CDKey2Menu_Key(int32_t key)
|
|
{
|
|
UI_LogFuncBegin();
|
|
if (key == K_ESCAPE)
|
|
{
|
|
UI_LogFuncEnd();
|
|
return(0);
|
|
}
|
|
|
|
UI_LogFuncEnd();
|
|
return (Menu_DefaultKey(&cdkeyMenuInfo.menu, key));
|
|
}
|
|
|
|
/*
|
|
=================
|
|
CDKeyMenu2_Graphics
|
|
=================
|
|
*/
|
|
void CDKeyMenu2_Graphics(void)
|
|
{
|
|
UI_LogFuncBegin();
|
|
int32_t x, y;
|
|
|
|
// Draw the basic screen layout
|
|
UI_MenuFrame2(&cdkeyMenuInfo.menu);
|
|
|
|
trap_R_SetColor(colorTable[CT_LTBROWN1]);
|
|
UI_DrawHandlePic(30, 203, 47, 186, uis.whiteShader); // Middle left line of frame
|
|
|
|
// Background for CD Key data
|
|
trap_R_SetColor(colorTable[CT_DKPURPLE1]);
|
|
UI_DrawHandlePic(246, 168, 197, 24, uis.whiteShader);
|
|
UI_DrawHandlePic(227, 168, -16, 32, cdkeyMenuInfo.halfround); // Left round
|
|
UI_DrawHandlePic(446, 168, 16, 32, cdkeyMenuInfo.halfround); // Right round
|
|
|
|
|
|
UI_DrawProportionalString(74, 36, "755", UI_RIGHT | UI_TINYFONT, colorTable[CT_BLACK]);
|
|
UI_DrawProportionalString(74, 132, "4423", UI_RIGHT | UI_TINYFONT, colorTable[CT_BLACK]);
|
|
UI_DrawProportionalString(74, 188, "35-89", UI_RIGHT | UI_TINYFONT, colorTable[CT_BLACK]);
|
|
UI_DrawProportionalString(74, 206, "60932", UI_RIGHT | UI_TINYFONT, colorTable[CT_BLACK]);
|
|
UI_DrawProportionalString(74, 395, "1789-30", UI_RIGHT | UI_TINYFONT, colorTable[CT_BLACK]);
|
|
|
|
x = 344;
|
|
y = 228;
|
|
if (cdkeyMenuInfo.keyResult == 0)
|
|
{
|
|
UI_DrawProportionalString(x, y, menu_normal_text[MNT_VALID_CDKEY], UI_CENTER | UI_SMALLFONT, colorTable[CT_WHITE]);
|
|
}
|
|
else if (cdkeyMenuInfo.keyResult == 1)
|
|
{
|
|
UI_DrawProportionalString(x, y, menu_normal_text[MNT_ENTER_CDKEY], UI_CENTER | UI_SMALLFONT, colorTable[CT_LTGOLD1]);
|
|
}
|
|
else
|
|
{
|
|
UI_DrawProportionalString(x, y, menu_normal_text[MNT_CDKEY_INVALID], UI_CENTER | UI_SMALLFONT, colorTable[CT_RED]);
|
|
}
|
|
UI_LogFuncEnd();
|
|
}
|
|
|
|
/*
|
|
=================
|
|
CDKey2_MenuDraw
|
|
=================
|
|
*/
|
|
static void CDKey2_MenuDraw(void)
|
|
{
|
|
UI_LogFuncBegin();
|
|
CDKeyMenu2_Graphics();
|
|
Menu_Draw(&cdkeyMenuInfo.menu);
|
|
UI_LogFuncEnd();
|
|
}
|
|
|
|
|
|
/*
|
|
===============
|
|
UI_CDKeyMenu2_Init
|
|
===============
|
|
*/
|
|
static void UI_CDKeyMenu2_Init(void)
|
|
{//initial first time menu
|
|
UI_LogFuncBegin();
|
|
memset(&cdkeyMenuInfo, 0, sizeof(cdkeyMenuInfo));
|
|
|
|
cdkeyMenuInfo.fromMenu = 1;
|
|
|
|
UI_CDKeyMenu_Cache();
|
|
|
|
cdkeyMenuInfo.menu.wrapAround = qtrue;
|
|
cdkeyMenuInfo.menu.fullscreen = qtrue;
|
|
cdkeyMenuInfo.menu.draw = CDKey2_MenuDraw;
|
|
cdkeyMenuInfo.menu.key = M_CDKey2Menu_Key;
|
|
cdkeyMenuInfo.menu.descX = MENU_DESC_X;
|
|
cdkeyMenuInfo.menu.descY = MENU_DESC_Y;
|
|
cdkeyMenuInfo.menu.titleX = MENU_TITLE_X;
|
|
cdkeyMenuInfo.menu.titleY = MENU_TITLE_Y;
|
|
cdkeyMenuInfo.menu.titleI = MNT_CDKEYMENU_TITLE;
|
|
cdkeyMenuInfo.menu.footNoteEnum = MNT_CDKEY;
|
|
|
|
cdkeyMenuInfo.cdkey.generic.type = MTYPE_FIELD;
|
|
cdkeyMenuInfo.cdkey.generic.flags = QMF_UPPERCASE;
|
|
cdkeyMenuInfo.cdkey.generic.x = 260;
|
|
cdkeyMenuInfo.cdkey.generic.y = 172;
|
|
cdkeyMenuInfo.cdkey.field.style = UI_SMALLFONT;
|
|
cdkeyMenuInfo.cdkey.field.widthInChars = 22;
|
|
cdkeyMenuInfo.cdkey.field.maxchars = 22;
|
|
cdkeyMenuInfo.cdkey.generic.ownerdraw = UI_CDKeyMenu_DrawKey;
|
|
cdkeyMenuInfo.cdkey.field.titleEnum = MNT_CDKEY;
|
|
cdkeyMenuInfo.cdkey.field.titlecolor = CT_LTGOLD1;
|
|
cdkeyMenuInfo.cdkey.field.textcolor = CT_DKGOLD1;
|
|
cdkeyMenuInfo.cdkey.field.textcolor2 = CT_LTGOLD1;
|
|
|
|
cdkeyMenuInfo.accept.generic.type = MTYPE_BITMAP;
|
|
cdkeyMenuInfo.accept.generic.name = GRAPHIC_SQUARE;
|
|
cdkeyMenuInfo.accept.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
|
|
cdkeyMenuInfo.accept.generic.id = ID_ACCEPT;
|
|
cdkeyMenuInfo.accept.generic.callback = UI_CDKeyMenu_Event;
|
|
cdkeyMenuInfo.accept.generic.x = 96;
|
|
cdkeyMenuInfo.accept.generic.y = 347;
|
|
cdkeyMenuInfo.accept.width = MENU_BUTTON_MED_WIDTH;
|
|
cdkeyMenuInfo.accept.height = 42;
|
|
cdkeyMenuInfo.accept.color = CT_DKPURPLE1;
|
|
cdkeyMenuInfo.accept.color2 = CT_LTPURPLE1;
|
|
cdkeyMenuInfo.accept.textX = MENU_BUTTON_TEXT_X;
|
|
cdkeyMenuInfo.accept.textY = MENU_BUTTON_TEXT_Y;
|
|
cdkeyMenuInfo.accept.textEnum = MBT_ACCEPT;
|
|
cdkeyMenuInfo.accept.textcolor = CT_BLACK;
|
|
cdkeyMenuInfo.accept.textcolor2 = CT_WHITE;
|
|
|
|
cdkeyMenuInfo.acceptlater.generic.type = MTYPE_BITMAP;
|
|
cdkeyMenuInfo.acceptlater.generic.name = GRAPHIC_SQUARE;
|
|
cdkeyMenuInfo.acceptlater.generic.flags = QMF_HIGHLIGHT_IF_FOCUS;
|
|
cdkeyMenuInfo.acceptlater.generic.id = ID_ACCEPTLATER;
|
|
cdkeyMenuInfo.acceptlater.generic.callback = UI_CDKeyMenu_Event;
|
|
cdkeyMenuInfo.acceptlater.generic.x = 482;
|
|
cdkeyMenuInfo.acceptlater.generic.y = 347;
|
|
cdkeyMenuInfo.acceptlater.width = MENU_BUTTON_MED_WIDTH + 20;
|
|
cdkeyMenuInfo.acceptlater.height = 42;
|
|
cdkeyMenuInfo.acceptlater.color = CT_DKPURPLE1;
|
|
cdkeyMenuInfo.acceptlater.color2 = CT_LTPURPLE1;
|
|
cdkeyMenuInfo.acceptlater.textX = MENU_BUTTON_TEXT_X;
|
|
cdkeyMenuInfo.acceptlater.textY = MENU_BUTTON_TEXT_Y;
|
|
cdkeyMenuInfo.acceptlater.textEnum = MBT_CHECKKEYLATER;
|
|
cdkeyMenuInfo.acceptlater.textcolor = CT_BLACK;
|
|
cdkeyMenuInfo.acceptlater.textcolor2 = CT_WHITE;
|
|
|
|
Menu_AddItem(&cdkeyMenuInfo.menu, &cdkeyMenuInfo.cdkey);
|
|
Menu_AddItem(&cdkeyMenuInfo.menu, &cdkeyMenuInfo.accept);
|
|
Menu_AddItem(&cdkeyMenuInfo.menu, &cdkeyMenuInfo.acceptlater);
|
|
|
|
if (ui_cdkeychecked.integer == 1) {
|
|
cdkeyMenuInfo.keyResult = 0; //already got a good one once
|
|
}
|
|
else {
|
|
cdkeyMenuInfo.keyResult = 1;
|
|
}
|
|
UI_LogFuncEnd();
|
|
}
|
|
|
|
/*
|
|
===============
|
|
UI_CDKeyMenu
|
|
===============
|
|
*/
|
|
void UI_CDKeyMenu2(void)
|
|
{
|
|
UI_LogFuncBegin();
|
|
UI_CDKeyMenu2_Init();
|
|
UI_PushMenu(&cdkeyMenuInfo.menu);
|
|
UI_LogFuncEnd();
|
|
}
|
|
|
|
/*
|
|
===============
|
|
UI_CDKeyMenu_f
|
|
===============
|
|
*/
|
|
void UI_CDKeyMenu_f(void)
|
|
{
|
|
UI_LogFuncBegin();
|
|
UI_CDKeyMenu2();
|
|
UI_LogFuncEnd();
|
|
}
|