From d309c3338ad5d0564996c21f5b86dd33851c926a Mon Sep 17 00:00:00 2001 From: Lance Date: Fri, 22 Jul 2011 15:05:40 +0000 Subject: [PATCH] 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 --- engine/client/m_items.c | 13 ++- engine/client/m_multi.c | 184 ++++++++++++++++++++-------------------- engine/client/menu.h | 54 ++++++------ 3 files changed, 132 insertions(+), 119 deletions(-) diff --git a/engine/client/m_items.c b/engine/client/m_items.c index b86276267..67c266368 100644 --- a/engine/client/m_items.c +++ b/engine/client/m_items.c @@ -1898,23 +1898,28 @@ void M_Menu_Main_f (void) #ifndef CLIENTONLY b = MC_AddConsoleCommand (mainm, 68, 13, "", "menu_single\n"); + b->common.tooltip = "Singleplayer."; mainm->selecteditem = (menuoption_t *)b; b->common.width = 12*20; b->common.height = 20; #endif b = MC_AddConsoleCommand (mainm, 68, 53, "", "menu_multi\n"); + b->common.tooltip = "Multiplayer."; #ifdef CLIENTONLY mainm->selecteditem = (menuoption_t *)b; #endif b->common.width = 12*20; b->common.height = 20; b = MC_AddConsoleCommand (mainm, 68, 93, "", "menu_options\n"); + b->common.tooltip = "Options."; b->common.width = 12*20; b->common.height = 20; b = MC_AddConsoleCommand (mainm, 68, 133, "", "menu_video\n"); + b->common.tooltip = "Video Options."; b->common.width = 12*20; b->common.height = 20; b = MC_AddConsoleCommand (mainm, 68, 173, "", "menu_quit\n"); + b->common.tooltip = "Quit to DOS."; b->common.width = 12*20; b->common.height = 20; @@ -2023,26 +2028,32 @@ void M_Menu_Main_f (void) p = R2D_SafeCachePic("gfx/mainmenu.lmp"); b=MC_AddConsoleCommand (mainm, 72, 32, "", "menu_single\n"); + b->common.tooltip = "Start singleplayer Quake game."; mainm->selecteditem = (menuoption_t *)b; b->common.width = p->width; b->common.height = 20; b=MC_AddConsoleCommand (mainm, 72, 52, "", "menu_multi\n"); + b->common.tooltip = "Multiplayer menu."; b->common.width = p->width; b->common.height = 20; b=MC_AddConsoleCommand (mainm, 72, 72, "", "menu_options\n"); + b->common.tooltip = "Options menu."; b->common.width = p->width; b->common.height = 20; if (m_helpismedia.value) { b=MC_AddConsoleCommand(mainm, 72, 92, "", "menu_media\n"); + b->common.tooltip = "Media menu."; } else { b=MC_AddConsoleCommand(mainm, 72, 92, "", "help\n"); + b->common.tooltip = "Help menu."; } b->common.width = p->width; b->common.height = 20; b=MC_AddConsoleCommand (mainm, 72, 112, "", "menu_quit\n"); + b->common.tooltip = "Exit to DOS."; b->common.width = p->width; 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 xleft; int spacing = 8; - + if (bulk->text) x -= strlen(bulk->text) * 8; xleft = x - xstart; diff --git a/engine/client/m_multi.c b/engine/client/m_multi.c index ce6e27464..1fc5ccb54 100644 --- a/engine/client/m_multi.c +++ b/engine/client/m_multi.c @@ -685,17 +685,17 @@ void M_Menu_Teamplay_f (void) 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_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_EDITCVAR("Team Skin", "cl_teamskin"), - MB_EDITCVAR("Fake Name", "cl_fakename"), - MB_CHECKBOXCVAR("Parse Fun Chars", cl_parseFunChars, 0), - MB_CHECKBOXCVAR("Parse Macros", cl_parseSay, 0), - MB_CHECKBOXCVAR("Load Locs", tp_loadlocs, 0), - MB_CHECKBOXCVAR("No Blink", cl_noblink, 0), - MB_EDITCVAR("Sound Trigger", "tp_soundtrigger"), - MB_EDITCVAR("Weapon Order", "tp_weapon_order"), - MB_CHECKBOXCVAR("Teamplay Triggers", cl_triggers, 0), - MB_CHECKBOXCVAR("Force Triggers", tp_forceTriggers, 0), + MB_EDITCVARTIP("Enemy Skin", "cl_enemyskin", "Override enemy skin with this."), + MB_EDITCVARTIP("Team Skin", "cl_teamskin", "Override teammate skin with this."), + MB_EDITCVARTIP("Fake Name", "cl_fakename", "Name that appears in teamplay messages"), + MB_CHECKBOXCVARTIP("Parse Fun Chars", cl_parseFunChars, 0, "Whether to parse fun characters"), + MB_CHECKBOXCVARTIP("Parse Macros", cl_parseSay, 0, "Whether to parse teamplay macros like %l etc."), + MB_CHECKBOXCVARTIP("Load Locs", tp_loadlocs, 0, "Whether to load teamplay locations from .loc files"), + MB_CHECKBOXCVARTIP("No Blink", cl_noblink, 0, "No blinking characters"), + 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_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_CHECKBOXCVARTIP("Teamplay Triggers", cl_triggers, 0, "Enable or disable teamplay triggers"), + 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_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."), @@ -714,23 +714,23 @@ void M_Menu_Teamplay_Locations_f (void) { 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_EDITCVARSLIM("Separator", "loc_name_separator"), + MB_EDITCVARSLIM("Separator", "loc_name_separator", "Location name seperator character(s)"), MB_SPACING(4), - MB_EDITCVARSLIM("Super Shotgun", "loc_name_ssg"), - MB_EDITCVARSLIM("Nailgun", "loc_name_ng"), - MB_EDITCVARSLIM("Super Nailgun", "loc_name_sng"), - MB_EDITCVARSLIM("Grenade Launcher", "loc_name_gl"), - MB_EDITCVARSLIM("Rocket Launcher", "loc_name_rl"), - MB_EDITCVARSLIM("Lightning Gun", "loc_name_lg"), + MB_EDITCVARSLIM("Super Shotgun", "loc_name_ssg", "Short name for Super Shotgun in teamplay location 'reports'"), + MB_EDITCVARSLIM("Nailgun", "loc_name_ng", "Short name for Nailgun in teamplay location 'reports'"), + MB_EDITCVARSLIM("Super Nailgun", "loc_name_sng", "Short name for Super Nailgun in teamplay location 'reports'"), + MB_EDITCVARSLIM("Grenade Launcher", "loc_name_gl", "Short name for Grenade Launcher in teamplay location 'reports'"), + MB_EDITCVARSLIM("Rocket Launcher", "loc_name_rl", "Short name for Rocket Launcher in teamplay location 'reports'"), + MB_EDITCVARSLIM("Lightning Gun", "loc_name_lg", "Short name for Lightning Gun in teamplay location 'reports'"), MB_SPACING(4), - MB_EDITCVARSLIM("Quad Damage", "loc_name_quad"), - MB_EDITCVARSLIM("Pentagram", "loc_name_pent"), - MB_EDITCVARSLIM("Ring of Invis", "loc_name_ring"), - MB_EDITCVARSLIM("Suit", "loc_name_suit"), + MB_EDITCVARSLIM("Quad Damage", "loc_name_quad", "Short name for Quad Damage in teamplay location 'reports'"), + MB_EDITCVARSLIM("Pentagram", "loc_name_pent", "Short name for Pentagram of Protection in teamplay location 'reports'"), + MB_EDITCVARSLIM("Ring of Invis", "loc_name_ring", "Short name for Ring of Invisibility in teamplay location 'reports'"), + MB_EDITCVARSLIM("Suit", "loc_name_suit", "Short name for Environment Suit in teamplay location 'reports'"), MB_SPACING(4), - MB_EDITCVARSLIM("Green Armor", "loc_name_ga"), - MB_EDITCVARSLIM("Yellow Armor", "loc_name_ya"), - MB_EDITCVARSLIM("Red Armor", "loc_name_ra"), + MB_EDITCVARSLIM("Green Armor", "loc_name_ga", "Short name for Green Armor in teamplay location 'reports'"), + MB_EDITCVARSLIM("Yellow Armor", "loc_name_ya", "Short name for Yellow Armor in teamplay location 'reports'" ), + 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 //MB_SPACING(4), //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_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("Nails", "tp_need_nails"), - MB_EDITCVARSLIM("Rockets", "tp_need_rockets"), - MB_EDITCVARSLIM("Cells", "tp_need_cells"), - MB_EDITCVARSLIM("Rocket Launcher", "tp_need_rl"), + MB_EDITCVARSLIM("Shells", "tp_need_shells", "Short name for Shotgun Shells in teamplay 'need' reports"), + MB_EDITCVARSLIM("Nails", "tp_need_nails", "Short name for Nails in teamplay 'need' reports"), + MB_EDITCVARSLIM("Rockets", "tp_need_rockets", "Short name for Rockets/Grenades in teamplay 'need' reports"), + MB_EDITCVARSLIM("Cells", "tp_need_cells", "Short name for Power Cells in teamplay 'need' reports"), + MB_EDITCVARSLIM("Rocket Launcher", "tp_need_rl", "Short name for Rocket Launcher in teamplay 'need' reports"), MB_SPACING(4), - MB_EDITCVARSLIM("Green Armor", "tp_need_ga"), - MB_EDITCVARSLIM("Yellow Armor", "tp_need_ya"), - MB_EDITCVARSLIM("Red Armor", "tp_need_ra"), + MB_EDITCVARSLIM("Green Armor", "tp_need_ga", "Short name for Green Armor in teamplay 'need' reports"), + MB_EDITCVARSLIM("Yellow Armor", "tp_need_ya", "Short name for Yellow Armor in teamplay 'need' reports"), + MB_EDITCVARSLIM("Red Armor", "tp_need_ra", "Short name for Red Armor in teamplay 'need' reports"), MB_SPACING(4), - MB_EDITCVARSLIM("Health", "tp_need_health"), - MB_EDITCVARSLIM("Weapon", "tp_need_weapon"), + MB_EDITCVARSLIM("Health", "tp_need_health", "Short name for Health in teamplay 'need' reports"), + 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() }; 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_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("Green Type -", "tp_name_armortype_ga"), - MB_EDITCVARSLIM("Yellow Type -", "tp_name_armortype_ya"), - MB_EDITCVARSLIM("Red Type -", "tp_name_armortype_ra"), + MB_EDITCVARSLIM("Armor", "tp_name_armor", "Short name for Armor type"), + MB_EDITCVARSLIM("Green Type -", "tp_name_armortype_ga", "Short name for Green Armor type"), + MB_EDITCVARSLIM("Yellow Type -", "tp_name_armortype_ya", "Short name for Yellow Armor type"), + MB_EDITCVARSLIM("Red Type -", "tp_name_armortype_ra", "Short name for Red Armor type"), MB_SPACING(4), - MB_EDITCVARSLIM("Green Armor", "tp_name_ga"), - MB_EDITCVARSLIM("Yellow Armor", "tp_name_ya"), - MB_EDITCVARSLIM("Red Armor", "tp_name_ra"), + MB_EDITCVARSLIM("Green Armor", "tp_name_ga", "Short name for Green Armor"), + MB_EDITCVARSLIM("Yellow Armor", "tp_name_ya", "Short name for Yellow Armor"), + MB_EDITCVARSLIM("Red Armor", "tp_name_ra", "Short name for Red Armor"), MB_END() }; 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_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_EDITCVARSLIM("Axe", "tp_name_axe"), - MB_EDITCVARSLIM("Shotgun", "tp_name_sg"), - MB_EDITCVARSLIM("Super Shotgun", "tp_name_ssg"), - MB_EDITCVARSLIM("Nailgun", "tp_name_ng"), - MB_EDITCVARSLIM("Super Nailgun", "tp_name_sng"), - MB_EDITCVARSLIM("Grenade Launcher", "tp_name_gl"), - MB_EDITCVARSLIM("Rocket Launcher", "tp_name_rl"), - MB_EDITCVARSLIM("Lightning Gun", "tp_name_lg"), + MB_EDITCVARSLIM("Axe", "tp_name_axe", "Short name for Weapon"), + MB_EDITCVARSLIM("Shotgun", "tp_name_sg", "Short name for Shotgun"), + MB_EDITCVARSLIM("Super Shotgun", "tp_name_ssg", "Short name for Super Shotgun"), + MB_EDITCVARSLIM("Nailgun", "tp_name_ng", "Short name for Nailgun"), + MB_EDITCVARSLIM("Super Nailgun", "tp_name_sng", "Short name for Super Nailgun"), + MB_EDITCVARSLIM("Grenade Launcher", "tp_name_gl", "Short name for Grenade Launcher"), + MB_EDITCVARSLIM("Rocket Launcher", "tp_name_rl", "Short name for Rocket Launcher"), + MB_EDITCVARSLIM("Lightning Gun", "tp_name_lg", "Short name for Lightning Gun"), MB_END() }; 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_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("Pentagram", "tp_name_pent"), - MB_EDITCVARSLIM("Ring of Invis", "tp_name_ring"), - MB_EDITCVARSLIM("Suit", "tp_name_suit"), + MB_EDITCVARSLIM("Quad Damage", "tp_name_quad", "Short name for Quad Damage"), + MB_EDITCVARSLIM("Pentagram", "tp_name_pent", "Short name for Pentgram of Protection"), + MB_EDITCVARSLIM("Ring of Invis", "tp_name_ring", "Short name for Ring Of Invisibilty"), + MB_EDITCVARSLIM("Suit", "tp_name_suit", "Short name for Environment Suit"), MB_SPACING(4), - MB_EDITCVARSLIM("Quaded", "tp_name_quaded"), - MB_EDITCVARSLIM("Pented", "tp_name_pented"), - MB_EDITCVARSLIM("Eyes (Ringed)", "tp_name_eyes"), + 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", "Short name for reporting being 'Pented'. Dying by another player who has the Pentagram"), + 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_EDITCVARSLIM("Resistance Rune", "tp_name_rune_1"), - MB_EDITCVARSLIM("Strength Rune", "tp_name_rune_2"), - MB_EDITCVARSLIM("Haste Rune", "tp_name_rune_3"), - MB_EDITCVARSLIM("Regen Rune", "tp_name_rune_4"), + MB_EDITCVARSLIM("Resistance Rune", "tp_name_rune_1", "Short name for Resistance Rune"), + MB_EDITCVARSLIM("Strength Rune", "tp_name_rune_2", "Short name for Strength Rune"), + MB_EDITCVARSLIM("Haste Rune", "tp_name_rune_3", "Short name for Haste Rune"), + MB_EDITCVARSLIM("Regen Rune", "tp_name_rune_4", "Short name for Regeneration Rune"), MB_END() }; menu = M_Options_Title(&y, 0); @@ -863,18 +863,18 @@ void M_Menu_Teamplay_Items_Ammo_Health_f (void) { menu_t *menu; int y; - menubulk_t bulk[] = + menubulk_t bulk[] = { 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_EDITCVARSLIM("Shells", "tp_name_shells"), - MB_EDITCVARSLIM("Nails", "tp_name_nails"), - MB_EDITCVARSLIM("Rockets", "tp_name_rockets"), - MB_EDITCVARSLIM("Cells", "tp_name_cells"), + MB_EDITCVARSLIM("Shells", "tp_name_shells", "Short name for Shells"), + MB_EDITCVARSLIM("Nails", "tp_name_nails", "Short name for Nails"), + MB_EDITCVARSLIM("Rockets", "tp_name_rockets", "Short name for Rockets"), + MB_EDITCVARSLIM("Cells", "tp_name_cells", "Short name for Cells"), MB_SPACING(4), - MB_EDITCVARSLIM("Backpack", "tp_name_backpack"), - MB_EDITCVARSLIM("Health", "tp_name_health"), - MB_EDITCVARSLIM("Mega Health", "tp_name_mh"), + MB_EDITCVARSLIM("Backpack", "tp_name_backpack", "Short name for Backpack"), + MB_EDITCVARSLIM("Health", "tp_name_health", "Short name for Health"), + MB_EDITCVARSLIM("Mega Health", "tp_name_mh", "Short name for Mega Health"), MB_END() }; 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_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("Dispenser", "tp_name_disp"), - MB_EDITCVARSLIM("Flag", "tp_name_flag"), + MB_EDITCVARSLIM("Sentry Gun", "tp_name_sentry", "Short name for the Engineer's Sentry Gun"), + MB_EDITCVARSLIM("Dispenser", "tp_name_disp", "Short name for the Engineer's Ammo Dispenser"), + MB_EDITCVARSLIM("Flag", "tp_name_flag", "Short name for Flag"), MB_END() }; 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_TEXT("\x80\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x81\x82", false), - MB_EDITCVARSLIM("Enemy", "tp_name_enemy"), - MB_EDITCVARSLIM("Teammate", "tp_name_teammate"), + MB_EDITCVARSLIM("Enemy", "tp_name_enemy", "Short for Enemy in teamplay 'status' & 'location' reports"), + MB_EDITCVARSLIM("Teammate", "tp_name_teammate", "Short for Enemy in teamplay 'status' & 'location' reports"), MB_SPACING(4), - MB_EDITCVARSLIM("At (Location)", "tp_name_at"), - MB_EDITCVARSLIM("None", "tp_name_none"), - MB_EDITCVARSLIM("Nothing", "tp_name_nothing"), - MB_EDITCVARSLIM("Separator", "tp_name_separator"), - MB_EDITCVARSLIM("Some place", "tp_name_someplace"), + MB_EDITCVARSLIM("At (Location)", "tp_name_at", "Short for @ (Location) in teamplay 'status' & 'location' reports"), + MB_EDITCVARSLIM("None", "tp_name_none", "Short for None in teamplay 'status' & 'location' reports"), + MB_EDITCVARSLIM("Nothing", "tp_name_nothing", "Short for Nothing in teamplay 'status' & 'location' reports"), + MB_EDITCVARSLIM("Separator", "tp_name_separator", "Seperator character(s) in teamplay 'status' & 'location' reports"), + MB_EDITCVARSLIM("Some place", "tp_name_someplace", "Short for Someplace in teamplay 'status' & 'location' reports"), MB_SPACING(4), - MB_EDITCVARSLIM("Red Status", "tp_name_status_red"), - MB_EDITCVARSLIM("Green Status", "tp_name_status_green"), - MB_EDITCVARSLIM("Blue Status", "tp_name_status_blue"), - MB_EDITCVARSLIM("Yellow Status", "tp_name_status_yellow"), + 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", "Macro for Status Green in teamplay 'status' & 'location' reports"), + 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", "Macro for Status Yellow in teamplay 'status' & 'location' reports"), MB_END() }; menu = M_Options_Title(&y, 0); @@ -943,16 +943,16 @@ void M_Menu_Network_f (void) { 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_EDITCVARSLIM("Network FPS", "cl_netfps"), - MB_EDITCVARSLIM("Rate", "rate"), - MB_EDITCVARSLIM("Download Rate", "drate"), + MB_EDITCVARSLIM("Network FPS", "cl_netfps", "Sets ammount of FPS used to communicate with server (sent and received)"), + MB_EDITCVARSLIM("Rate", "rate", "Maximum bytes per second that the server should send to the client"), + MB_EDITCVARSLIM("Download Rate", "drate", "Maximum bytes per second that the server should send maps and demos to the client"), MB_SPACING(4), - MB_CHECKBOXCVAR("Require Download", requiredownloads, 0), - MB_CHECKBOXCVAR("Redirect Download", allow_download_redirection, 0), - MB_CHECKBOXCVAR("Download CSQC", allow_download_redirection, 0), + MB_CHECKBOXCVARTIP("Require Download", requiredownloads, 0, "Ignore downloaded content sent to the client and connect immediatly"), + MB_CHECKBOXCVARTIP("Redirect Download", allow_download_redirection, 0, "Whether the client will ignore download redirection from servers"), + 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_CHECKBOXCVAR("Predict Players", cl_predict_players, 0), - MB_CHECKBOXCVAR("Solid Players", cl_solid_players, 0), + MB_CHECKBOXCVARTIP("Predict Players", cl_predict_players, 0, "Toggle player prediction"), + 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_END() }; diff --git a/engine/client/menu.h b/engine/client/menu.h index e843251f0..971ff64f5 100644 --- a/engine/client/menu.h +++ b/engine/client/menu.h @@ -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, 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. @@ -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. //These are the item types: -//mt_childwindow - +//mt_childwindow - //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_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; typedef enum { - mt_childwindow, - mt_button, + mt_childwindow, + mt_button, mt_qbuttonbigfont, mt_hexen2buttonbigfont, mt_box, mt_colouredbox, mt_line, mt_edit, - mt_text, + mt_text, mt_slider, - mt_combo, - mt_bind, + mt_combo, + mt_bind, mt_checkbox, - mt_picture, - mt_picturesel, + mt_picture, + mt_picturesel, mt_menudot, mt_custom } menutype_t; @@ -274,7 +274,7 @@ typedef struct menu_s { menutooltip_t *tooltip; double tooltiptime; - + struct menu_s *child; struct menu_s *parent; @@ -330,22 +330,24 @@ typedef struct menubulk_s { int spacing; // spacing } menubulk_t; -#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_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_CHECKBOXFUNC(text, func, flags, tip) {mt_checkbox, 0, text, tip, NULL, NULL, flags, func} -#define MB_SLIDER(text, cvar, min, max, delta, tip) {mt_slider, 0, text, tip, NULL, &cvar, 0, NULL, min, max, delta} -#define MB_TEXT(text, align) {mt_text, 0, text, NULL, NULL, NULL, 0, NULL, 0, 0, 0, align} -#define MB_REDTEXT(text, align) {mt_text, 1, 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_EDITCVAR(text, cvarname) {mt_edit, 0, text, NULL, NULL, NULL, 0, NULL, 0, 0, 0, false, NULL, cvarname} -#define MB_EDITCVARSLIM(text, cvarname) {mt_edit, 1, text, NULL, 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_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_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_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} +#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_CHECKBOXCVARTIP(text, cvar, flags, tip) {mt_checkbox, 0, text, tip, 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_CHECKBOXFUNC(text, func, flags, tip) {mt_checkbox, 0, text, tip, NULL, NULL, flags, func} +#define MB_SLIDER(text, cvar, min, max, delta, tip) {mt_slider, 0, text, tip, NULL, &cvar, 0, NULL, min, max, delta} +#define MB_TEXT(text, align) {mt_text, 0, text, NULL, NULL, NULL, 0, NULL, 0, 0, 0, align} +#define MB_REDTEXT(text, align) {mt_text, 1, 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_EDITCVARTIP(text, cvarname, tip) {mt_edit, 0, text, tip, NULL, NULL, 0, NULL, 0, 0, 0, false, NULL, cvarname} +#define MB_EDITCVAR(text, cvarname, tip) {mt_edit, 0, text, NULL, NULL, NULL, 0, NULL, 0, 0, 0, false, NULL, cvarname} +#define MB_EDITCVARSLIM(text, cvarname, tip) {mt_edit, 1, 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_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_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_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);