Mouse-over tooltips, mostly teamplay and network ones

git-svn-id: https://svn.code.sf.net/p/fteqw/code/trunk@3883 fc73d0e0-1445-4013-8a0c-d673dee63da5
This commit is contained in:
Lance 2011-07-22 15:05:40 +00:00
parent f28726af74
commit d309c3338a
3 changed files with 132 additions and 119 deletions

View file

@ -1898,23 +1898,28 @@ void M_Menu_Main_f (void)
#ifndef CLIENTONLY #ifndef CLIENTONLY
b = MC_AddConsoleCommand (mainm, 68, 13, "", "menu_single\n"); b = MC_AddConsoleCommand (mainm, 68, 13, "", "menu_single\n");
b->common.tooltip = "Singleplayer.";
mainm->selecteditem = (menuoption_t *)b; mainm->selecteditem = (menuoption_t *)b;
b->common.width = 12*20; b->common.width = 12*20;
b->common.height = 20; b->common.height = 20;
#endif #endif
b = MC_AddConsoleCommand (mainm, 68, 53, "", "menu_multi\n"); b = MC_AddConsoleCommand (mainm, 68, 53, "", "menu_multi\n");
b->common.tooltip = "Multiplayer.";
#ifdef CLIENTONLY #ifdef CLIENTONLY
mainm->selecteditem = (menuoption_t *)b; mainm->selecteditem = (menuoption_t *)b;
#endif #endif
b->common.width = 12*20; b->common.width = 12*20;
b->common.height = 20; b->common.height = 20;
b = MC_AddConsoleCommand (mainm, 68, 93, "", "menu_options\n"); b = MC_AddConsoleCommand (mainm, 68, 93, "", "menu_options\n");
b->common.tooltip = "Options.";
b->common.width = 12*20; b->common.width = 12*20;
b->common.height = 20; b->common.height = 20;
b = MC_AddConsoleCommand (mainm, 68, 133, "", "menu_video\n"); b = MC_AddConsoleCommand (mainm, 68, 133, "", "menu_video\n");
b->common.tooltip = "Video Options.";
b->common.width = 12*20; b->common.width = 12*20;
b->common.height = 20; b->common.height = 20;
b = MC_AddConsoleCommand (mainm, 68, 173, "", "menu_quit\n"); b = MC_AddConsoleCommand (mainm, 68, 173, "", "menu_quit\n");
b->common.tooltip = "Quit to DOS.";
b->common.width = 12*20; b->common.width = 12*20;
b->common.height = 20; b->common.height = 20;
@ -2023,26 +2028,32 @@ void M_Menu_Main_f (void)
p = R2D_SafeCachePic("gfx/mainmenu.lmp"); p = R2D_SafeCachePic("gfx/mainmenu.lmp");
b=MC_AddConsoleCommand (mainm, 72, 32, "", "menu_single\n"); b=MC_AddConsoleCommand (mainm, 72, 32, "", "menu_single\n");
b->common.tooltip = "Start singleplayer Quake game.";
mainm->selecteditem = (menuoption_t *)b; mainm->selecteditem = (menuoption_t *)b;
b->common.width = p->width; b->common.width = p->width;
b->common.height = 20; b->common.height = 20;
b=MC_AddConsoleCommand (mainm, 72, 52, "", "menu_multi\n"); b=MC_AddConsoleCommand (mainm, 72, 52, "", "menu_multi\n");
b->common.tooltip = "Multiplayer menu.";
b->common.width = p->width; b->common.width = p->width;
b->common.height = 20; b->common.height = 20;
b=MC_AddConsoleCommand (mainm, 72, 72, "", "menu_options\n"); b=MC_AddConsoleCommand (mainm, 72, 72, "", "menu_options\n");
b->common.tooltip = "Options menu.";
b->common.width = p->width; b->common.width = p->width;
b->common.height = 20; b->common.height = 20;
if (m_helpismedia.value) if (m_helpismedia.value)
{ {
b=MC_AddConsoleCommand(mainm, 72, 92, "", "menu_media\n"); b=MC_AddConsoleCommand(mainm, 72, 92, "", "menu_media\n");
b->common.tooltip = "Media menu.";
} }
else else
{ {
b=MC_AddConsoleCommand(mainm, 72, 92, "", "help\n"); b=MC_AddConsoleCommand(mainm, 72, 92, "", "help\n");
b->common.tooltip = "Help menu.";
} }
b->common.width = p->width; b->common.width = p->width;
b->common.height = 20; b->common.height = 20;
b=MC_AddConsoleCommand (mainm, 72, 112, "", "menu_quit\n"); b=MC_AddConsoleCommand (mainm, 72, 112, "", "menu_quit\n");
b->common.tooltip = "Exit to DOS.";
b->common.width = p->width; b->common.width = p->width;
b->common.height = 20; b->common.height = 20;
@ -2061,7 +2072,7 @@ int MC_AddBulk(struct menu_s *menu, menubulk_t *bulk, int xstart, int xtextend,
int x = xtextend; int x = xtextend;
int xleft; int xleft;
int spacing = 8; int spacing = 8;
if (bulk->text) if (bulk->text)
x -= strlen(bulk->text) * 8; x -= strlen(bulk->text) * 8;
xleft = x - xstart; xleft = x - xstart;

View file

@ -685,17 +685,17 @@ void M_Menu_Teamplay_f (void)
MB_REDTEXT("Teamplay Options", false), MB_REDTEXT("Teamplay Options", false),
MB_TEXT("\x80\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x82", false), MB_TEXT("\x80\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x82", false),
MB_COMBOCVAR("Skins", noskins, noskinsoptions, noskinsvalues, "Enable or disable player skin usage. No download will use skins but will not download them from the server."), MB_COMBOCVAR("Skins", noskins, noskinsoptions, noskinsvalues, "Enable or disable player skin usage. No download will use skins but will not download them from the server."),
MB_EDITCVAR("Enemy Skin", "cl_enemyskin"), MB_EDITCVARTIP("Enemy Skin", "cl_enemyskin", "Override enemy skin with this."),
MB_EDITCVAR("Team Skin", "cl_teamskin"), MB_EDITCVARTIP("Team Skin", "cl_teamskin", "Override teammate skin with this."),
MB_EDITCVAR("Fake Name", "cl_fakename"), MB_EDITCVARTIP("Fake Name", "cl_fakename", "Name that appears in teamplay messages"),
MB_CHECKBOXCVAR("Parse Fun Chars", cl_parseFunChars, 0), MB_CHECKBOXCVARTIP("Parse Fun Chars", cl_parseFunChars, 0, "Whether to parse fun characters"),
MB_CHECKBOXCVAR("Parse Macros", cl_parseSay, 0), MB_CHECKBOXCVARTIP("Parse Macros", cl_parseSay, 0, "Whether to parse teamplay macros like %l etc."),
MB_CHECKBOXCVAR("Load Locs", tp_loadlocs, 0), MB_CHECKBOXCVARTIP("Load Locs", tp_loadlocs, 0, "Whether to load teamplay locations from .loc files"),
MB_CHECKBOXCVAR("No Blink", cl_noblink, 0), MB_CHECKBOXCVARTIP("No Blink", cl_noblink, 0, "No blinking characters"),
MB_EDITCVAR("Sound Trigger", "tp_soundtrigger"), MB_EDITCVARTIP("Sound Trigger", "tp_soundtrigger", "Character that indicates the following text is a wav file.\nExample:\nsay_team ~location.wav$\me: I'm at %l #a"),
MB_EDITCVAR("Weapon Order", "tp_weapon_order"), MB_EDITCVARTIP("Weapon Order", "tp_weapon_order","Weapon preference order:\n8 = Lightning Gun\n7 = Rocket Launcher\n6 = Grenade Launcher\n5 = Super Nailgun\n4 = Nailgun\n3 = Super Shotgun\n2 = Shotgun\n1 = Axe"),
MB_CHECKBOXCVAR("Teamplay Triggers", cl_triggers, 0), MB_CHECKBOXCVARTIP("Teamplay Triggers", cl_triggers, 0, "Enable or disable teamplay triggers"),
MB_CHECKBOXCVAR("Force Triggers", tp_forceTriggers, 0), MB_CHECKBOXCVARTIP("Force Triggers", tp_forceTriggers, 0, "Whether to force teamplay triggers in non-teamplay play like in a 1 on 1 situation"),
MB_SPACING(4), MB_SPACING(4),
MB_CONSOLECMD("Location Names", "menu_teamplay_locations\n", "Modify team play location settings."), MB_CONSOLECMD("Location Names", "menu_teamplay_locations\n", "Modify team play location settings."),
MB_CONSOLECMD("Item Needs", "menu_teamplay_needs\n", "Modify messages for item needs in team play macros."), MB_CONSOLECMD("Item Needs", "menu_teamplay_needs\n", "Modify messages for item needs in team play macros."),
@ -714,23 +714,23 @@ void M_Menu_Teamplay_Locations_f (void)
{ {
MB_REDTEXT("Teamplay Location Names", false), MB_REDTEXT("Teamplay Location Names", false),
MB_TEXT("\x80\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x82", false), MB_TEXT("\x80\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x82", false),
MB_EDITCVARSLIM("Separator", "loc_name_separator"), MB_EDITCVARSLIM("Separator", "loc_name_separator", "Location name seperator character(s)"),
MB_SPACING(4), MB_SPACING(4),
MB_EDITCVARSLIM("Super Shotgun", "loc_name_ssg"), MB_EDITCVARSLIM("Super Shotgun", "loc_name_ssg", "Short name for Super Shotgun in teamplay location 'reports'"),
MB_EDITCVARSLIM("Nailgun", "loc_name_ng"), MB_EDITCVARSLIM("Nailgun", "loc_name_ng", "Short name for Nailgun in teamplay location 'reports'"),
MB_EDITCVARSLIM("Super Nailgun", "loc_name_sng"), MB_EDITCVARSLIM("Super Nailgun", "loc_name_sng", "Short name for Super Nailgun in teamplay location 'reports'"),
MB_EDITCVARSLIM("Grenade Launcher", "loc_name_gl"), MB_EDITCVARSLIM("Grenade Launcher", "loc_name_gl", "Short name for Grenade Launcher in teamplay location 'reports'"),
MB_EDITCVARSLIM("Rocket Launcher", "loc_name_rl"), MB_EDITCVARSLIM("Rocket Launcher", "loc_name_rl", "Short name for Rocket Launcher in teamplay location 'reports'"),
MB_EDITCVARSLIM("Lightning Gun", "loc_name_lg"), MB_EDITCVARSLIM("Lightning Gun", "loc_name_lg", "Short name for Lightning Gun in teamplay location 'reports'"),
MB_SPACING(4), MB_SPACING(4),
MB_EDITCVARSLIM("Quad Damage", "loc_name_quad"), MB_EDITCVARSLIM("Quad Damage", "loc_name_quad", "Short name for Quad Damage in teamplay location 'reports'"),
MB_EDITCVARSLIM("Pentagram", "loc_name_pent"), MB_EDITCVARSLIM("Pentagram", "loc_name_pent", "Short name for Pentagram of Protection in teamplay location 'reports'"),
MB_EDITCVARSLIM("Ring of Invis", "loc_name_ring"), MB_EDITCVARSLIM("Ring of Invis", "loc_name_ring", "Short name for Ring of Invisibility in teamplay location 'reports'"),
MB_EDITCVARSLIM("Suit", "loc_name_suit"), MB_EDITCVARSLIM("Suit", "loc_name_suit", "Short name for Environment Suit in teamplay location 'reports'"),
MB_SPACING(4), MB_SPACING(4),
MB_EDITCVARSLIM("Green Armor", "loc_name_ga"), MB_EDITCVARSLIM("Green Armor", "loc_name_ga", "Short name for Green Armor in teamplay location 'reports'"),
MB_EDITCVARSLIM("Yellow Armor", "loc_name_ya"), MB_EDITCVARSLIM("Yellow Armor", "loc_name_ya", "Short name for Yellow Armor in teamplay location 'reports'" ),
MB_EDITCVARSLIM("Red Armor", "loc_name_ra"), MB_EDITCVARSLIM("Red Armor", "loc_name_ra", "Short name for Red Armor in teamplay location 'reports'"),
// TODO: we probably need an actual back button or some such // TODO: we probably need an actual back button or some such
//MB_SPACING(4), //MB_SPACING(4),
//MB_CONSOLECMD("\x7f Teamplay", "menu_teamplay\n", "Return to the teamplay menu."), //MB_CONSOLECMD("\x7f Teamplay", "menu_teamplay\n", "Return to the teamplay menu."),
@ -748,18 +748,18 @@ void M_Menu_Teamplay_Needs_f (void)
{ {
MB_REDTEXT("Teamplay Needed Items", false), MB_REDTEXT("Teamplay Needed Items", false),
MB_TEXT("\x80\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x82", false), MB_TEXT("\x80\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x82", false),
MB_EDITCVARSLIM("Shells", "tp_need_shells"), MB_EDITCVARSLIM("Shells", "tp_need_shells", "Short name for Shotgun Shells in teamplay 'need' reports"),
MB_EDITCVARSLIM("Nails", "tp_need_nails"), MB_EDITCVARSLIM("Nails", "tp_need_nails", "Short name for Nails in teamplay 'need' reports"),
MB_EDITCVARSLIM("Rockets", "tp_need_rockets"), MB_EDITCVARSLIM("Rockets", "tp_need_rockets", "Short name for Rockets/Grenades in teamplay 'need' reports"),
MB_EDITCVARSLIM("Cells", "tp_need_cells"), MB_EDITCVARSLIM("Cells", "tp_need_cells", "Short name for Power Cells in teamplay 'need' reports"),
MB_EDITCVARSLIM("Rocket Launcher", "tp_need_rl"), MB_EDITCVARSLIM("Rocket Launcher", "tp_need_rl", "Short name for Rocket Launcher in teamplay 'need' reports"),
MB_SPACING(4), MB_SPACING(4),
MB_EDITCVARSLIM("Green Armor", "tp_need_ga"), MB_EDITCVARSLIM("Green Armor", "tp_need_ga", "Short name for Green Armor in teamplay 'need' reports"),
MB_EDITCVARSLIM("Yellow Armor", "tp_need_ya"), MB_EDITCVARSLIM("Yellow Armor", "tp_need_ya", "Short name for Yellow Armor in teamplay 'need' reports"),
MB_EDITCVARSLIM("Red Armor", "tp_need_ra"), MB_EDITCVARSLIM("Red Armor", "tp_need_ra", "Short name for Red Armor in teamplay 'need' reports"),
MB_SPACING(4), MB_SPACING(4),
MB_EDITCVARSLIM("Health", "tp_need_health"), MB_EDITCVARSLIM("Health", "tp_need_health", "Short name for Health in teamplay 'need' reports"),
MB_EDITCVARSLIM("Weapon", "tp_need_weapon"), MB_EDITCVARSLIM("Weapon", "tp_need_weapon", "Need weapon preference order:\n8 = Lightning Gun\n7 = Rocket Launcher\n6 = Grenade Launcher\n5 = Super Nailgun\n4 = Nailgun\n3 = Super Shotgun\n2 = Shotgun\n1 = Axe"),
MB_END() MB_END()
}; };
menu = M_Options_Title(&y, 0); menu = M_Options_Title(&y, 0);
@ -794,14 +794,14 @@ void M_Menu_Teamplay_Items_Armor_f (void)
{ {
MB_REDTEXT("Teamplay Armor Names", false), MB_REDTEXT("Teamplay Armor Names", false),
MB_TEXT("\x80\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x82", false), MB_TEXT("\x80\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x82", false),
MB_EDITCVARSLIM("Armor", "tp_name_armor"), MB_EDITCVARSLIM("Armor", "tp_name_armor", "Short name for Armor type"),
MB_EDITCVARSLIM("Green Type -", "tp_name_armortype_ga"), MB_EDITCVARSLIM("Green Type -", "tp_name_armortype_ga", "Short name for Green Armor type"),
MB_EDITCVARSLIM("Yellow Type -", "tp_name_armortype_ya"), MB_EDITCVARSLIM("Yellow Type -", "tp_name_armortype_ya", "Short name for Yellow Armor type"),
MB_EDITCVARSLIM("Red Type -", "tp_name_armortype_ra"), MB_EDITCVARSLIM("Red Type -", "tp_name_armortype_ra", "Short name for Red Armor type"),
MB_SPACING(4), MB_SPACING(4),
MB_EDITCVARSLIM("Green Armor", "tp_name_ga"), MB_EDITCVARSLIM("Green Armor", "tp_name_ga", "Short name for Green Armor"),
MB_EDITCVARSLIM("Yellow Armor", "tp_name_ya"), MB_EDITCVARSLIM("Yellow Armor", "tp_name_ya", "Short name for Yellow Armor"),
MB_EDITCVARSLIM("Red Armor", "tp_name_ra"), MB_EDITCVARSLIM("Red Armor", "tp_name_ra", "Short name for Red Armor"),
MB_END() MB_END()
}; };
menu = M_Options_Title(&y, 0); menu = M_Options_Title(&y, 0);
@ -816,16 +816,16 @@ void M_Menu_Teamplay_Items_Weapons_f (void)
{ {
MB_REDTEXT("Teamplay Weapon Names", false), MB_REDTEXT("Teamplay Weapon Names", false),
MB_TEXT("\x80\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x82", false), MB_TEXT("\x80\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x82", false),
MB_EDITCVARSLIM("Weapon", "tp_name_weapon"), MB_EDITCVARSLIM("Weapon", "tp_name_weapon", "Short name for Weapon"),
MB_SPACING(4), MB_SPACING(4),
MB_EDITCVARSLIM("Axe", "tp_name_axe"), MB_EDITCVARSLIM("Axe", "tp_name_axe", "Short name for Weapon"),
MB_EDITCVARSLIM("Shotgun", "tp_name_sg"), MB_EDITCVARSLIM("Shotgun", "tp_name_sg", "Short name for Shotgun"),
MB_EDITCVARSLIM("Super Shotgun", "tp_name_ssg"), MB_EDITCVARSLIM("Super Shotgun", "tp_name_ssg", "Short name for Super Shotgun"),
MB_EDITCVARSLIM("Nailgun", "tp_name_ng"), MB_EDITCVARSLIM("Nailgun", "tp_name_ng", "Short name for Nailgun"),
MB_EDITCVARSLIM("Super Nailgun", "tp_name_sng"), MB_EDITCVARSLIM("Super Nailgun", "tp_name_sng", "Short name for Super Nailgun"),
MB_EDITCVARSLIM("Grenade Launcher", "tp_name_gl"), MB_EDITCVARSLIM("Grenade Launcher", "tp_name_gl", "Short name for Grenade Launcher"),
MB_EDITCVARSLIM("Rocket Launcher", "tp_name_rl"), MB_EDITCVARSLIM("Rocket Launcher", "tp_name_rl", "Short name for Rocket Launcher"),
MB_EDITCVARSLIM("Lightning Gun", "tp_name_lg"), MB_EDITCVARSLIM("Lightning Gun", "tp_name_lg", "Short name for Lightning Gun"),
MB_END() MB_END()
}; };
menu = M_Options_Title(&y, 0); menu = M_Options_Title(&y, 0);
@ -840,19 +840,19 @@ void M_Menu_Teamplay_Items_Powerups_f (void)
{ {
MB_REDTEXT("Teamplay Powerup Names", false), MB_REDTEXT("Teamplay Powerup Names", false),
MB_TEXT("\x80\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x82", false), MB_TEXT("\x80\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x82", false),
MB_EDITCVARSLIM("Quad Damage", "tp_name_quad"), MB_EDITCVARSLIM("Quad Damage", "tp_name_quad", "Short name for Quad Damage"),
MB_EDITCVARSLIM("Pentagram", "tp_name_pent"), MB_EDITCVARSLIM("Pentagram", "tp_name_pent", "Short name for Pentgram of Protection"),
MB_EDITCVARSLIM("Ring of Invis", "tp_name_ring"), MB_EDITCVARSLIM("Ring of Invis", "tp_name_ring", "Short name for Ring Of Invisibilty"),
MB_EDITCVARSLIM("Suit", "tp_name_suit"), MB_EDITCVARSLIM("Suit", "tp_name_suit", "Short name for Environment Suit"),
MB_SPACING(4), MB_SPACING(4),
MB_EDITCVARSLIM("Quaded", "tp_name_quaded"), MB_EDITCVARSLIM("Quaded", "tp_name_quaded", "Short name for reporting being 'Quaded'. Dying by another player who has Quad Damage"),
MB_EDITCVARSLIM("Pented", "tp_name_pented"), MB_EDITCVARSLIM("Pented", "tp_name_pented", "Short name for reporting being 'Pented'. Dying by another player who has the Pentagram"),
MB_EDITCVARSLIM("Eyes (Ringed)", "tp_name_eyes"), MB_EDITCVARSLIM("Eyes (Ringed)", "tp_name_eyes", "Short name for reporting being 'Ringed', Dying by another player who has Eyes (Invisibility)"),
MB_SPACING(4), MB_SPACING(4),
MB_EDITCVARSLIM("Resistance Rune", "tp_name_rune_1"), MB_EDITCVARSLIM("Resistance Rune", "tp_name_rune_1", "Short name for Resistance Rune"),
MB_EDITCVARSLIM("Strength Rune", "tp_name_rune_2"), MB_EDITCVARSLIM("Strength Rune", "tp_name_rune_2", "Short name for Strength Rune"),
MB_EDITCVARSLIM("Haste Rune", "tp_name_rune_3"), MB_EDITCVARSLIM("Haste Rune", "tp_name_rune_3", "Short name for Haste Rune"),
MB_EDITCVARSLIM("Regen Rune", "tp_name_rune_4"), MB_EDITCVARSLIM("Regen Rune", "tp_name_rune_4", "Short name for Regeneration Rune"),
MB_END() MB_END()
}; };
menu = M_Options_Title(&y, 0); menu = M_Options_Title(&y, 0);
@ -863,18 +863,18 @@ void M_Menu_Teamplay_Items_Ammo_Health_f (void)
{ {
menu_t *menu; menu_t *menu;
int y; int y;
menubulk_t bulk[] = menubulk_t bulk[] =
{ {
MB_REDTEXT("Teamplay Ammo/Health", false), MB_REDTEXT("Teamplay Ammo/Health", false),
MB_TEXT("\x80\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x82", false), MB_TEXT("\x80\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x82", false),
MB_EDITCVARSLIM("Shells", "tp_name_shells"), MB_EDITCVARSLIM("Shells", "tp_name_shells", "Short name for Shells"),
MB_EDITCVARSLIM("Nails", "tp_name_nails"), MB_EDITCVARSLIM("Nails", "tp_name_nails", "Short name for Nails"),
MB_EDITCVARSLIM("Rockets", "tp_name_rockets"), MB_EDITCVARSLIM("Rockets", "tp_name_rockets", "Short name for Rockets"),
MB_EDITCVARSLIM("Cells", "tp_name_cells"), MB_EDITCVARSLIM("Cells", "tp_name_cells", "Short name for Cells"),
MB_SPACING(4), MB_SPACING(4),
MB_EDITCVARSLIM("Backpack", "tp_name_backpack"), MB_EDITCVARSLIM("Backpack", "tp_name_backpack", "Short name for Backpack"),
MB_EDITCVARSLIM("Health", "tp_name_health"), MB_EDITCVARSLIM("Health", "tp_name_health", "Short name for Health"),
MB_EDITCVARSLIM("Mega Health", "tp_name_mh"), MB_EDITCVARSLIM("Mega Health", "tp_name_mh", "Short name for Mega Health"),
MB_END() MB_END()
}; };
menu = M_Options_Title(&y, 0); menu = M_Options_Title(&y, 0);
@ -889,9 +889,9 @@ void M_Menu_Teamplay_Items_Team_Fortress_f (void)
{ {
MB_REDTEXT("Teamplay Team Fortress", false), MB_REDTEXT("Teamplay Team Fortress", false),
MB_TEXT("\x80\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x82", false), MB_TEXT("\x80\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x82", false),
MB_EDITCVARSLIM("Sentry Gun", "tp_name_sentry"), MB_EDITCVARSLIM("Sentry Gun", "tp_name_sentry", "Short name for the Engineer's Sentry Gun"),
MB_EDITCVARSLIM("Dispenser", "tp_name_disp"), MB_EDITCVARSLIM("Dispenser", "tp_name_disp", "Short name for the Engineer's Ammo Dispenser"),
MB_EDITCVARSLIM("Flag", "tp_name_flag"), MB_EDITCVARSLIM("Flag", "tp_name_flag", "Short name for Flag"),
MB_END() MB_END()
}; };
menu = M_Options_Title(&y, 0); menu = M_Options_Title(&y, 0);
@ -906,19 +906,19 @@ void M_Menu_Teamplay_Items_Status_Location_Misc_f (void)
{ {
MB_REDTEXT("Teamplay Misc", false), MB_REDTEXT("Teamplay Misc", false),
MB_TEXT("\x80\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x82", false), MB_TEXT("\x80\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x82", false),
MB_EDITCVARSLIM("Enemy", "tp_name_enemy"), MB_EDITCVARSLIM("Enemy", "tp_name_enemy", "Short for Enemy in teamplay 'status' & 'location' reports"),
MB_EDITCVARSLIM("Teammate", "tp_name_teammate"), MB_EDITCVARSLIM("Teammate", "tp_name_teammate", "Short for Enemy in teamplay 'status' & 'location' reports"),
MB_SPACING(4), MB_SPACING(4),
MB_EDITCVARSLIM("At (Location)", "tp_name_at"), MB_EDITCVARSLIM("At (Location)", "tp_name_at", "Short for @ (Location) in teamplay 'status' & 'location' reports"),
MB_EDITCVARSLIM("None", "tp_name_none"), MB_EDITCVARSLIM("None", "tp_name_none", "Short for None in teamplay 'status' & 'location' reports"),
MB_EDITCVARSLIM("Nothing", "tp_name_nothing"), MB_EDITCVARSLIM("Nothing", "tp_name_nothing", "Short for Nothing in teamplay 'status' & 'location' reports"),
MB_EDITCVARSLIM("Separator", "tp_name_separator"), MB_EDITCVARSLIM("Separator", "tp_name_separator", "Seperator character(s) in teamplay 'status' & 'location' reports"),
MB_EDITCVARSLIM("Some place", "tp_name_someplace"), MB_EDITCVARSLIM("Some place", "tp_name_someplace", "Short for Someplace in teamplay 'status' & 'location' reports"),
MB_SPACING(4), MB_SPACING(4),
MB_EDITCVARSLIM("Red Status", "tp_name_status_red"), MB_EDITCVARSLIM("Red Status", "tp_name_status_red", "Macro for Status Red in teamplay 'status' & 'location' reports"),
MB_EDITCVARSLIM("Green Status", "tp_name_status_green"), MB_EDITCVARSLIM("Green Status", "tp_name_status_green", "Macro for Status Green in teamplay 'status' & 'location' reports"),
MB_EDITCVARSLIM("Blue Status", "tp_name_status_blue"), MB_EDITCVARSLIM("Blue Status", "tp_name_status_blue", "Macro for Status Blue in teamplay 'status' & 'location' reports"),
MB_EDITCVARSLIM("Yellow Status", "tp_name_status_yellow"), MB_EDITCVARSLIM("Yellow Status", "tp_name_status_yellow", "Macro for Status Yellow in teamplay 'status' & 'location' reports"),
MB_END() MB_END()
}; };
menu = M_Options_Title(&y, 0); menu = M_Options_Title(&y, 0);
@ -943,16 +943,16 @@ void M_Menu_Network_f (void)
{ {
MB_REDTEXT("Network Settings", false), MB_REDTEXT("Network Settings", false),
MB_TEXT("\x80\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x82", false), MB_TEXT("\x80\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x82", false),
MB_EDITCVARSLIM("Network FPS", "cl_netfps"), MB_EDITCVARSLIM("Network FPS", "cl_netfps", "Sets ammount of FPS used to communicate with server (sent and received)"),
MB_EDITCVARSLIM("Rate", "rate"), MB_EDITCVARSLIM("Rate", "rate", "Maximum bytes per second that the server should send to the client"),
MB_EDITCVARSLIM("Download Rate", "drate"), MB_EDITCVARSLIM("Download Rate", "drate", "Maximum bytes per second that the server should send maps and demos to the client"),
MB_SPACING(4), MB_SPACING(4),
MB_CHECKBOXCVAR("Require Download", requiredownloads, 0), MB_CHECKBOXCVARTIP("Require Download", requiredownloads, 0, "Ignore downloaded content sent to the client and connect immediatly"),
MB_CHECKBOXCVAR("Redirect Download", allow_download_redirection, 0), MB_CHECKBOXCVARTIP("Redirect Download", allow_download_redirection, 0, "Whether the client will ignore download redirection from servers"),
MB_CHECKBOXCVAR("Download CSQC", allow_download_redirection, 0), MB_CHECKBOXCVARTIP("Download CSQC", allow_download_csprogs, 0, "Whether to allow the client to download CSQC (client-side QuakeC) progs from servers"),
MB_SPACING(4), MB_SPACING(4),
MB_CHECKBOXCVAR("Predict Players", cl_predict_players, 0), MB_CHECKBOXCVARTIP("Predict Players", cl_predict_players, 0, "Toggle player prediction"),
MB_CHECKBOXCVAR("Solid Players", cl_solid_players, 0), MB_CHECKBOXCVARTIP("Solid Players", cl_solid_players, 0, "When running/clipping into other players, ON make it appear they are solid, OFF will make it appear like running into a marshmellon."),
MB_COMBOCVAR("Split-screen", cl_splitscreen, splitopts, splitvalues, "Enables split screen with a number of clients. This feature requires server support."), MB_COMBOCVAR("Split-screen", cl_splitscreen, splitopts, splitvalues, "Enables split screen with a number of clients. This feature requires server support."),
MB_END() MB_END()
}; };

View file

@ -8,7 +8,7 @@ of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
See the GNU General Public License for more details. See the GNU General Public License for more details.
@ -40,7 +40,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
//If you're creating your own quake menu, there should be little need to go in there. //If you're creating your own quake menu, there should be little need to go in there.
//These are the item types: //These are the item types:
//mt_childwindow - //mt_childwindow -
//mt_button - Executes a console command or callback on enter. Uses conchars. //mt_button - Executes a console command or callback on enter. Uses conchars.
//mt_buttonbigfont - Used by hexen2's menus. Uses gfx/menu/bigfont.lmp as it's characters. //mt_buttonbigfont - Used by hexen2's menus. Uses gfx/menu/bigfont.lmp as it's characters.
//mt_box - A 2d box. The same one as the quit dialog from q1, but resized. //mt_box - A 2d box. The same one as the quit dialog from q1, but resized.
@ -119,21 +119,21 @@ typedef enum {m_none, m_complex, m_help, m_slist, m_media, m_plugin, m_menu_dat}
extern m_state_t m_state; extern m_state_t m_state;
typedef enum { typedef enum {
mt_childwindow, mt_childwindow,
mt_button, mt_button,
mt_qbuttonbigfont, mt_qbuttonbigfont,
mt_hexen2buttonbigfont, mt_hexen2buttonbigfont,
mt_box, mt_box,
mt_colouredbox, mt_colouredbox,
mt_line, mt_line,
mt_edit, mt_edit,
mt_text, mt_text,
mt_slider, mt_slider,
mt_combo, mt_combo,
mt_bind, mt_bind,
mt_checkbox, mt_checkbox,
mt_picture, mt_picture,
mt_picturesel, mt_picturesel,
mt_menudot, mt_menudot,
mt_custom mt_custom
} menutype_t; } menutype_t;
@ -274,7 +274,7 @@ typedef struct menu_s {
menutooltip_t *tooltip; menutooltip_t *tooltip;
double tooltiptime; double tooltiptime;
struct menu_s *child; struct menu_s *child;
struct menu_s *parent; struct menu_s *parent;
@ -330,22 +330,24 @@ typedef struct menubulk_s {
int spacing; // spacing int spacing; // spacing
} menubulk_t; } menubulk_t;
#define MB_CONSOLECMD(text, cmd, tip) {mt_button, 0, text, tip, cmd} #define MB_CONSOLECMD(text, cmd, tip) {mt_button, 0, text, tip, cmd}
#define MB_CHECKBOXCVAR(text, cvar, flags) {mt_checkbox, 0, text, NULL, NULL, &cvar, flags} #define MB_CHECKBOXCVAR(text, cvar, flags) {mt_checkbox, 0, text, NULL, NULL, &cvar, flags}
#define MB_CHECKBOXCVARRETURN(text, cvar, flags, ret) {mt_checkbox, 0, text, NULL, NULL, &cvar, flags, NULL, 0, 0, 0, false, NULL, NULL, NULL, NULL, 0, (union menuoption_s **)&ret} #define MB_CHECKBOXCVARTIP(text, cvar, flags, tip) {mt_checkbox, 0, text, tip, NULL, &cvar, flags}
#define MB_CHECKBOXFUNC(text, func, flags, tip) {mt_checkbox, 0, text, tip, NULL, NULL, flags, func} #define MB_CHECKBOXCVARRETURN(text, cvar, flags, ret) {mt_checkbox, 0, text, NULL, NULL, &cvar, flags, NULL, 0, 0, 0, false, NULL, NULL, NULL, NULL, 0, (union menuoption_s **)&ret}
#define MB_SLIDER(text, cvar, min, max, delta, tip) {mt_slider, 0, text, tip, NULL, &cvar, 0, NULL, min, max, delta} #define MB_CHECKBOXFUNC(text, func, flags, tip) {mt_checkbox, 0, text, tip, NULL, NULL, flags, func}
#define MB_TEXT(text, align) {mt_text, 0, text, NULL, NULL, NULL, 0, NULL, 0, 0, 0, align} #define MB_SLIDER(text, cvar, min, max, delta, tip) {mt_slider, 0, text, tip, NULL, &cvar, 0, NULL, min, max, delta}
#define MB_REDTEXT(text, align) {mt_text, 1, text, NULL, NULL, NULL, 0, NULL, 0, 0, 0, align} #define MB_TEXT(text, align) {mt_text, 0, text, NULL, NULL, NULL, 0, NULL, 0, 0, 0, align}
#define MB_CMD(text, cmdfunc, tip) {mt_button, 1, text, tip, NULL, NULL, 0, NULL, 0, 0, 0, false, cmdfunc} #define MB_REDTEXT(text, align) {mt_text, 1, text, NULL, NULL, NULL, 0, NULL, 0, 0, 0, align}
#define MB_EDITCVAR(text, cvarname) {mt_edit, 0, text, NULL, NULL, NULL, 0, NULL, 0, 0, 0, false, NULL, cvarname} #define MB_CMD(text, cmdfunc, tip) {mt_button, 1, text, tip, NULL, NULL, 0, NULL, 0, 0, 0, false, cmdfunc}
#define MB_EDITCVARSLIM(text, cvarname) {mt_edit, 1, text, NULL, NULL, NULL, 0, NULL, 0, 0, 0, false, NULL, cvarname} #define MB_EDITCVARTIP(text, cvarname, tip) {mt_edit, 0, text, tip, NULL, NULL, 0, NULL, 0, 0, 0, false, NULL, cvarname}
#define MB_EDITCVARSLIMRETURN(text, cvarname, ret) {mt_edit, 1, text, NULL, NULL, NULL, 0, NULL, 0, 0, 0, false, NULL, cvarname, NULL, NULL, 0, (union menuoption_s **)&ret} #define MB_EDITCVAR(text, cvarname, tip) {mt_edit, 0, text, NULL, NULL, NULL, 0, NULL, 0, 0, 0, false, NULL, cvarname}
#define MB_COMBOCVAR(text, cvar, options, values, tip) {mt_combo, 0, text, tip, NULL, &cvar, 0, NULL, 0, 0, 0, false, NULL, NULL, options, values} #define MB_EDITCVARSLIM(text, cvarname, tip) {mt_edit, 1, text, tip, NULL, NULL, 0, NULL, 0, 0, 0, false, NULL, cvarname}
#define MB_COMBORETURN(text, options, selected, ret, tip) {mt_combo, 1, text, tip, NULL, NULL, 0, NULL, 0, 0, 0, false, NULL, NULL, options, NULL, selected, (union menuoption_s **)&ret} #define MB_EDITCVARSLIMRETURN(text, cvarname, ret) {mt_edit, 1, text, NULL, NULL, NULL, 0, NULL, 0, 0, 0, false, NULL, cvarname, NULL, NULL, 0, (union menuoption_s **)&ret}
#define MB_COMBOCVARRETURN(text, cvar, options, values, ret, tip) {mt_combo, 0, text, tip, NULL, &cvar, 0, NULL, 0, 0, 0, false, NULL, NULL, options, values, 0, (union menuoption_s **)&ret} #define MB_COMBOCVAR(text, cvar, options, values, tip) {mt_combo, 0, text, tip, NULL, &cvar, 0, NULL, 0, 0, 0, false, NULL, NULL, options, values}
#define MB_SPACING(space) {mt_text, 2, NULL, NULL, NULL, NULL, 0, NULL, 0, 0, 0, false, NULL, NULL, NULL, NULL, 0, NULL, space} #define MB_COMBORETURN(text, options, selected, ret, tip) {mt_combo, 1, text, tip, NULL, NULL, 0, NULL, 0, 0, 0, false, NULL, NULL, options, NULL, selected, (union menuoption_s **)&ret}
#define MB_END() {mt_text, -1} #define MB_COMBOCVARRETURN(text, cvar, options, values, ret, tip) {mt_combo, 0, text, tip, NULL, &cvar, 0, NULL, 0, 0, 0, false, NULL, NULL, options, values, 0, (union menuoption_s **)&ret}
#define MB_SPACING(space) {mt_text, 2, NULL, NULL, NULL, NULL, 0, NULL, 0, 0, 0, false, NULL, NULL, NULL, NULL, 0, NULL, space}
#define MB_END() {mt_text, -1}
int MC_AddBulk(struct menu_s *menu, menubulk_t *bulk, int xstart, int xtextend, int y); int MC_AddBulk(struct menu_s *menu, menubulk_t *bulk, int xstart, int xtextend, int y);