Merge branch 'master' into terencehill/misc_bugfixes
authorterencehill <piuntn@gmail.com>
Sun, 4 Jul 2010 23:08:29 +0000 (01:08 +0200)
committerterencehill <piuntn@gmail.com>
Sun, 4 Jul 2010 23:08:29 +0000 (01:08 +0200)
13 files changed:
defaultXonotic.cfg
qcsrc/menu/item/button.c
qcsrc/menu/item/listbox.c
qcsrc/menu/item/nexposee.c
qcsrc/menu/xonotic/campaign.c
qcsrc/menu/xonotic/charmap.c
qcsrc/menu/xonotic/demolist.c
qcsrc/menu/xonotic/inputbox.c
qcsrc/menu/xonotic/keybinder.c
qcsrc/menu/xonotic/maplist.c
qcsrc/menu/xonotic/serverlist.c
qcsrc/menu/xonotic/skinlist.c
qcsrc/server/vote.qc

index 307f58f..b42917b 100644 (file)
@@ -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"
 
index 7284131..3d91229 100644 (file)
@@ -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;
index 4d6174c..ba3fa6a 100644 (file)
@@ -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;
index c43f44f..2369a41 100644 (file)
@@ -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:
index bd31f43..e7667f6 100644 (file)
@@ -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);
index a448e35..0e375c9 100644 (file)
@@ -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));
index 0882a3e..c16e4ae 100644 (file)
@@ -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;
     }
index 26dc453..e457414 100644 (file)
@@ -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)
                {
index 2eb5175..01ed3a5 100644 (file)
@@ -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;
index 7a5a4ba..8b5ce6d 100644 (file)
@@ -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);
index c205fba..d721c25 100644 (file)
@@ -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)
index bcb6225..864b305 100644 (file)
@@ -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;
        }
index 338d984..07b71d9 100644 (file)
@@ -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")) {