}
}
-static void DrawCursorAndText_Main(int nr, boolean active)
+static void DrawCursorAndText_Main_Ext(int nr, boolean active_text,
+ boolean active_input)
{
int i;
int font_text = mci->font_text;
int font_input = mci->font_input;
- if (active)
+ if (active_text)
{
button_graphic = BUTTON_GRAPHIC_ACTIVE(button_graphic);
font_text = FONT_ACTIVE(font_text);
}
+ if (active_input)
+ {
+ font_input = FONT_ACTIVE(font_input);
+ }
+
if (pos_button != NULL)
{
struct MenuPosInfo *pos = pos_button;
}
}
+static void DrawCursorAndText_Main(int nr, boolean active_text)
+{
+ DrawCursorAndText_Main_Ext(nr, active_text, FALSE);
+}
+
+#if 0
+static void DrawCursorAndText_Main_Input(int nr, boolean active_text)
+{
+ DrawCursorAndText_Main_Ext(nr, active_text, TRUE);
+}
+#endif
+
static struct MainControlInfo *getMainControlInfo(int nr)
{
int i;
{
struct MainControlInfo *mci= getMainControlInfo(MAIN_CONTROL_CURRENT_LEVEL);
+ PlaySound(SND_MENU_ITEM_SELECTING);
+
level_nr = new_level_nr;
#if 1
{
if (pos != choice)
{
+ PlaySound(SND_MENU_ITEM_ACTIVATING);
+
DrawCursorAndText_Main(choice, FALSE);
DrawCursorAndText_Main(pos, TRUE);
}
else
{
+ PlaySound(SND_MENU_ITEM_SELECTING);
+
if (pos == MAIN_CONTROL_NAME)
{
game_status = GAME_MODE_PSEUDO_TYPENAME;
{
if (y != choice)
{
+ PlaySound(SND_MENU_ITEM_ACTIVATING);
+
#if 1
DrawCursorAndText_Info(choice, FALSE);
DrawCursorAndText_Info(y, TRUE);
}
else if (!(info_info[y].type & TYPE_GHOSTED))
{
+ PlaySound(SND_MENU_ITEM_SELECTING);
+
if (info_info[y].type & TYPE_ENTER_OR_LEAVE)
{
void (*menu_callback_function)(void) = info_info[choice].value;
if (button == MB_MENU_LEAVE)
{
+ PlaySound(SND_MENU_ITEM_SELECTING);
+
info_mode = INFO_MODE_MAIN;
DrawInfoScreen();
else if (button == MB_MENU_CHOICE || button == MB_MENU_INITIALIZE)
{
if (button != MB_MENU_INITIALIZE)
+ {
+ PlaySound(SND_MENU_ITEM_SELECTING);
+
page++;
+ }
if (page >= num_pages)
{
if (button == MB_MENU_LEAVE)
{
+ PlaySound(SND_MENU_ITEM_SELECTING);
+
+ FadeSoundsAndMusic();
+
info_mode = INFO_MODE_MAIN;
DrawInfoScreen();
int y = 0;
if (button != MB_MENU_INITIALIZE)
+ {
+ PlaySound(SND_MENU_ITEM_SELECTING);
+
if (list != NULL)
list = list->next;
+ }
if (list == NULL)
{
}
else if (button == MB_MENU_LEAVE)
{
+ PlaySound(SND_MENU_ITEM_SELECTING);
+
info_mode = INFO_MODE_MAIN;
DrawInfoScreen();
{
boolean show_screen;
+ PlaySound(SND_MENU_ITEM_SELECTING);
+
screen_nr++;
FadeCrossSaveBackbuffer();
{
if (button == MB_MENU_LEAVE)
{
+ PlaySound(SND_MENU_ITEM_SELECTING);
+
info_mode = INFO_MODE_MAIN;
DrawInfoScreen();
}
else if (button == MB_MENU_CHOICE)
{
+ PlaySound(SND_MENU_ITEM_SELECTING);
+
FadeSoundsAndMusic();
FadeOut(REDRAW_FIELD);
{
if (button == MB_MENU_LEAVE)
{
+ PlaySound(SND_MENU_ITEM_SELECTING);
+
info_mode = INFO_MODE_MAIN;
DrawInfoScreen();
}
else if (button == MB_MENU_CHOICE)
{
+ PlaySound(SND_MENU_ITEM_SELECTING);
+
FadeSoundsAndMusic();
FadeOut(REDRAW_FIELD);
void HandleTypeName(int newxpos, Key key)
{
struct MainControlInfo *mci = getMainControlInfo(MAIN_CONTROL_NAME);
+#if 1
+ struct MenuPosInfo *pos = mci->pos_input;
+ int startx = mSX + ALIGNED_XPOS(pos->x, pos->width, pos->align);
+ int starty = mSY + pos->y;
+#endif
#if 1
static int xpos = 0;
#else
int font_active_nr = FONT_ACTIVE(font_nr);
int font_width = getFontWidth(font_active_nr);
#if 1
+#if 0
int startx = mSX + mci->pos_input->x;
int starty = mSY + mci->pos_input->y;
+#endif
#else
int name_width = getFontWidth(FONT_MENU_1) * strlen("Name:");
int startx = mSX + 32 + name_width;
}
else if (button == MB_MENU_LEAVE)
{
+ PlaySound(SND_MENU_ITEM_SELECTING);
+
if (ti->node_parent)
{
*ti_ptr = ti->node_parent;
if (node_cursor->node_group)
{
+ PlaySound(SND_MENU_ITEM_SELECTING);
+
node_cursor->cl_first = ti->cl_first;
node_cursor->cl_cursor = ti->cl_cursor;
*ti_ptr = node_cursor->node_group;
}
else if (dx == -1 && ti->node_parent)
{
+ PlaySound(SND_MENU_ITEM_SELECTING);
+
*ti_ptr = ti->node_parent;
DrawChooseTree(ti_ptr);
{
if (y != ti->cl_cursor)
{
+ PlaySound(SND_MENU_ITEM_ACTIVATING);
+
drawChooseTreeCursor(ti->cl_cursor, FALSE);
drawChooseTreeCursor(y, TRUE);
drawChooseTreeInfo(ti->cl_first + y, ti);
TreeInfo *node_first, *node_cursor;
int entry_pos = ti->cl_first + y;
+ PlaySound(SND_MENU_ITEM_SELECTING);
+
node_first = getTreeInfoFirstGroupEntry(ti);
node_cursor = getTreeInfoFromPos(node_first, entry_pos);
}
else if (button == MB_MENU_LEAVE)
{
+ PlaySound(SND_MENU_ITEM_SELECTING);
+
FadeSound(SND_BACKGROUND_SCORES);
game_status = GAME_MODE_MAIN;
}
else if (button == MB_MENU_CHOICE)
{
+ PlaySound(SND_MENU_ITEM_SELECTING);
+
FadeSound(SND_BACKGROUND_SCORES);
FadeOut(REDRAW_FIELD);
}
else if (button == MB_MENU_LEAVE)
{
+ PlaySound(SND_MENU_ITEM_SELECTING);
+
for (y = 0; y < num_setup_info; y++)
{
if (setup_info[y].type & TYPE_LEAVE_MENU)
{
if (y != choice && setup_info[y].type & ~TYPE_SKIP_ENTRY)
{
+ PlaySound(SND_MENU_ITEM_ACTIVATING);
+
#if 1
DrawCursorAndText_Setup(choice, FALSE);
DrawCursorAndText_Setup(y, TRUE);
}
else if (!(setup_info[y].type & TYPE_GHOSTED))
{
+ PlaySound(SND_MENU_ITEM_SELECTING);
+
/* when selecting key headline, execute function for key value change */
if (setup_info[y].type & TYPE_KEYTEXT &&
setup_info[y + 1].type & TYPE_KEY)