From: terencehill Date: Sun, 4 Jul 2010 23:08:29 +0000 (+0200) Subject: Merge branch 'master' into terencehill/misc_bugfixes X-Git-Tag: xonotic-v0.1.0preview~465^2 X-Git-Url: https://git.xonotic.org/?a=commitdiff_plain;h=84f2a6cddce774e25f31050e71992c00a755e171;hp=b746cdda7924959dbf1b6790cfd7bf6b84eaaeb8;p=xonotic%2Fxonotic-data.pk3dir.git Merge branch 'master' into terencehill/misc_bugfixes --- diff --git a/defaultXonotic.cfg b/defaultXonotic.cfg index 307f58fa7..b42917ba0 100644 --- a/defaultXonotic.cfg +++ b/defaultXonotic.cfg @@ -1375,7 +1375,7 @@ set timelimit_increment 5 set timelimit_decrement 5 set timelimit_min 5 set timelimit_max 60 -alias extendmatchtime "sv_cmd rpn /timelimit timelimit timelimit_max timelimit timelimit_increment add bound def" +alias extendmatchtime "sv_cmd rpn /timelimit timelimit timelimit_max 0 timelimit when timelimit timelimit_increment add bound def" alias reducematchtime "sv_cmd rpn /timelimit timelimit timelimit_decrement sub timelimit_min timelimit bound def" alias endmatch "timelimit -1" diff --git a/qcsrc/menu/item/button.c b/qcsrc/menu/item/button.c index 728413135..3d91229ec 100644 --- a/qcsrc/menu/item/button.c +++ b/qcsrc/menu/item/button.c @@ -50,7 +50,7 @@ void Button_configureButton(entity me, string txt, float sz, string gfx) } float Button_keyDown(entity me, float key, float ascii, float shift) { - if(key == K_ENTER || key == K_SPACE) + if(key == K_ENTER || key == K_SPACE || key == K_KP_ENTER) { me.clickTime = 0.1; // delayed for effect return 1; diff --git a/qcsrc/menu/item/listbox.c b/qcsrc/menu/item/listbox.c index 4d6174cc5..ba3fa6a9f 100644 --- a/qcsrc/menu/item/listbox.c +++ b/qcsrc/menu/item/listbox.c @@ -7,6 +7,7 @@ CLASS(ListBox) EXTENDS(Item) METHOD(ListBox, mousePress, float(entity, vector)) METHOD(ListBox, mouseDrag, float(entity, vector)) METHOD(ListBox, mouseRelease, float(entity, vector)) + METHOD(ListBox, focusLeave, void(entity)) ATTRIB(ListBox, focusable, float, 1) ATTRIB(ListBox, selectedItem, float, 0) ATTRIB(ListBox, size, vector, '0 0 0') @@ -188,6 +189,13 @@ float ListBox_mouseRelease(entity me, vector pos) me.pressed = 0; return 1; } +void ListBox_focusLeave(entity me) +{ + // Reset the var pressed in case listbox loses focus + // by a mouse click on an item of the list + // for example showing a dialog on right click + me.pressed = 0; +} void ListBox_updateControlTopBottom(entity me) { float f; diff --git a/qcsrc/menu/item/nexposee.c b/qcsrc/menu/item/nexposee.c index c43f44f50..2369a4107 100644 --- a/qcsrc/menu/item/nexposee.c +++ b/qcsrc/menu/item/nexposee.c @@ -309,7 +309,7 @@ float Nexposee_keyDown(entity me, float scan, float ascii, float shift) { case 0: case 3: - nexposeeKey = ((scan == K_SPACE) || (scan == K_ENTER)); + nexposeeKey = ((scan == K_SPACE) || (scan == K_ENTER) || (scan == K_KP_ENTER)); break; case 1: case 2: diff --git a/qcsrc/menu/xonotic/campaign.c b/qcsrc/menu/xonotic/campaign.c index bd31f435e..e7667f69c 100644 --- a/qcsrc/menu/xonotic/campaign.c +++ b/qcsrc/menu/xonotic/campaign.c @@ -315,7 +315,7 @@ void XonoticCampaignList_setSelected(entity me, float i) float XonoticCampaignList_keyDown(entity me, float scan, float ascii, float shift) { - if(scan == K_ENTER || scan == K_SPACE) + if(scan == K_ENTER || scan == K_SPACE || scan == K_KP_ENTER) CampaignList_LoadMap(me, me); else return SUPER(XonoticCampaignList).keyDown(me, scan, ascii, shift); diff --git a/qcsrc/menu/xonotic/charmap.c b/qcsrc/menu/xonotic/charmap.c index a448e3547..0e375c9cc 100644 --- a/qcsrc/menu/xonotic/charmap.c +++ b/qcsrc/menu/xonotic/charmap.c @@ -122,6 +122,7 @@ float XonoticCharmap_keyDown(entity me, float key, float ascii, float shift) return 1; case K_SPACE: case K_ENTER: + case K_KP_ENTER: case K_INS: case K_KP_INS: me.controlledTextbox.enterText(me.controlledTextbox, CharMap_CellToChar(me.selectedCharacterCell)); diff --git a/qcsrc/menu/xonotic/demolist.c b/qcsrc/menu/xonotic/demolist.c index 0882a3ed4..c16e4ae00 100644 --- a/qcsrc/menu/xonotic/demolist.c +++ b/qcsrc/menu/xonotic/demolist.c @@ -155,7 +155,7 @@ void XonoticDemoList_clickListBoxItem(entity me, float i, vector where) float XonoticDemoList_keyDown(entity me, float scan, float ascii, float shift) { - if(scan == K_ENTER) { + if(scan == K_ENTER || scan == K_KP_ENTER) { me.startDemo(me); return 1; } diff --git a/qcsrc/menu/xonotic/inputbox.c b/qcsrc/menu/xonotic/inputbox.c index 26dc4536c..e457414b4 100644 --- a/qcsrc/menu/xonotic/inputbox.c +++ b/qcsrc/menu/xonotic/inputbox.c @@ -74,7 +74,7 @@ float XonoticInputBox_keyDown(entity me, float key, float ascii, float shift) { float r; r = 0; - if(key == K_ENTER) + if(key == K_ENTER || key == K_KP_ENTER) { if(me.cvarName) { diff --git a/qcsrc/menu/xonotic/keybinder.c b/qcsrc/menu/xonotic/keybinder.c index 2eb51755d..01ed3a553 100644 --- a/qcsrc/menu/xonotic/keybinder.c +++ b/qcsrc/menu/xonotic/keybinder.c @@ -240,10 +240,12 @@ float XonoticKeyBinder_keyDown(entity me, float key, float ascii, float shift) switch(key) { case K_ENTER: + case K_KP_ENTER: case K_SPACE: KeyBinder_Bind_Change(me, me); break; case K_DEL: + case K_KP_DEL: case K_BACKSPACE: KeyBinder_Bind_Clear(me, me); break; diff --git a/qcsrc/menu/xonotic/maplist.c b/qcsrc/menu/xonotic/maplist.c index 7a5a4ba15..8b5ce6d6a 100644 --- a/qcsrc/menu/xonotic/maplist.c +++ b/qcsrc/menu/xonotic/maplist.c @@ -295,7 +295,7 @@ void MapList_LoadMap(entity btn, entity me) float XonoticMapList_keyDown(entity me, float scan, float ascii, float shift) { string ch, save; - if(scan == K_ENTER) + if(scan == K_ENTER || scan == K_KP_ENTER) { // pop up map info screen main.mapInfoDialog.loadMapInfo(main.mapInfoDialog, me.selectedItem, me); diff --git a/qcsrc/menu/xonotic/serverlist.c b/qcsrc/menu/xonotic/serverlist.c index c205fba70..d721c2555 100644 --- a/qcsrc/menu/xonotic/serverlist.c +++ b/qcsrc/menu/xonotic/serverlist.c @@ -582,7 +582,7 @@ float XonoticServerList_keyDown(entity me, float scan, float ascii, float shift) org = boxToGlobal(eY * (me.selectedItem * me.itemHeight - me.scrollPos), me.origin, me.size); sz = boxToGlobalSize(eY * me.itemHeight + eX * (1 - me.controlWidth), me.size); - if(scan == K_ENTER) + if(scan == K_ENTER || scan == K_KP_ENTER) { ServerList_Connect_Click(NULL, me); return 1; @@ -592,7 +592,7 @@ float XonoticServerList_keyDown(entity me, float scan, float ascii, float shift) main.serverInfoDialog.loadServerInfo(main.serverInfoDialog, me.selectedItem); DialogOpenButton_Click_withCoords(me, main.serverInfoDialog, org, sz); } - else if(scan == K_INS || scan == K_MOUSE3) + else if(scan == K_INS || scan == K_MOUSE3 || scan == K_KP_INS) { i = me.selectedItem; if(i < me.nItems) diff --git a/qcsrc/menu/xonotic/skinlist.c b/qcsrc/menu/xonotic/skinlist.c index bcb62251a..864b3054a 100644 --- a/qcsrc/menu/xonotic/skinlist.c +++ b/qcsrc/menu/xonotic/skinlist.c @@ -195,7 +195,7 @@ void XonoticSkinList_clickListBoxItem(entity me, float i, vector where) float XonoticSkinList_keyDown(entity me, float scan, float ascii, float shift) { - if(scan == K_ENTER) { + if(scan == K_ENTER || scan == K_KP_ENTER) { me.setSkin(me); return 1; } diff --git a/qcsrc/server/vote.qc b/qcsrc/server/vote.qc index 338d98476..07b71d999 100644 --- a/qcsrc/server/vote.qc +++ b/qcsrc/server/vote.qc @@ -165,6 +165,8 @@ float GameCommand_Vote(string s, entity e) { print_to(e, strcat("^1You have to wait ^2", ftos(ceil(e.vote_next - time)), "^1 seconds before you can again call a vote.")); } else if(VoteCheckNasty(vote)) { print_to(e, "Syntax error in command. See 'vhelp' for more info."); + } else if(cvar("timelimit") == 0 && (vote == "extendmatchtime" || vote == "reducematchtime")) { + print_to(e, "^1Match time can not be reduced or extended as it is infinite. See 'vhelp' for more info."); } else if(RemapVote(vote, "vcall", e)) { votecalledvote = strzone(RemapVote_vote); votecalledvote_display = strzone(RemapVote_display); @@ -203,7 +205,7 @@ float GameCommand_Vote(string s, entity e) { VoteDialog_Reset(); VoteStop(e); } else { - print_to(e, "^1You are not allowed to stop that Vote."); + print_to(e, "^1You are not allowed to stop that vote."); } } else if(argv(1) == "master") { if(cvar("sv_vote_master")) {